{"version":3,"file":"main.fd45586af860a361.js","mappings":"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IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAC//CC,EAAI,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,KAG//CC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAG1/FC,GAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,YAG1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,W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,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAClf,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACvf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACxf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACxf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,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,EACXtrC,OAAOvnB,KAAO,GACdoid,EAAcx9c,OAAS,CACzB,EAQA25F,UACS,iBAAoBh3E,QAAU,iBAAoBA,OAAOvnB,OA9FpE,SAASylH,IACP,GAAK28V,EAAc7jX,UAEnB,KAEI9pD,EAFA70C,EAAO2nB,OAAOvnB,KACd4E,EAAS,EAOb,IAAK6vC,KAJLoe,EAdW,SAcDjzD,EAAKmoB,OAAO,GAClBo9X,EAAG/0Y,MAAMxQ,EAAKs1C,MAAM,IACpB,CAAC,EAGC7I,EAAI2vB,KAAKnJ,EAASpe,IAAM7vC,IAG9Bw9c,EAAcx9c,OAASA,EACzB,CAqFA6gH,oBCjHA,IAAAplH,EAAA,CACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,eACA,kBACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,YACA,eACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,sBACA,mBACA,sBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,iBACA,oBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,WACA,cACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,cACA,kBACA,qBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,WACA,kBACA,qBACA,cACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,oBAIA,SAAAgid,EAAAz1a,GACA,IAAA5xC,EAAAsnd,EAAA11a,GACA,OAAA46C,EAAAxsF,EACA,CACA,SAAAsnd,EAAA11a,GACA,IAAA46C,EAAA+C,EAAAlqF,EAAAusC,GAAA,CACA,IAAAmG,EAAA,IAAAmI,MAAA,uBAAAtO,EAAA,KACA,MAAAmG,EAAAh0C,KAAA,mBACAg0C,CACA,CACA,OAAA1yC,EAAAusC,EACA,CACAy1a,EAAArgb,KAAA,WACA,OAAAD,OAAAC,KAAA3hC,EACA,EACAgid,EAAAx6Z,QAAAy6Z,EACAp1H,EAAA9oI,QAAAi+P,EACAA,EAAArnd,GAAA,8NCrRI4rL,EACH,SAAUA,IAKPA,UAAsBA,GAAsBrqL,MAAW,GAAK,QAK5DqqL,GAAsBA,GAAsBI,WAAgB,GAAK,aAKjEJ,GAAsBA,GAAsBjqG,SAAc,GAAK,WAK/DiqG,GAA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pllB,KAAOkllB,GAAe9kV,UACnCglV,GAAaxllB,MAAQsllB,GAAe5kV,UACxC,CACA6kV,SAAWnllB,KAAOollB,GAAapllB,IAC/BmllB,EAAW1yd,QAAU2yd,GAAapllB,IAClCmllB,EAAWvllB,MAAQwllB,GAAaxllB,KAChCullB,EAAW35hB,OAAS45hB,GAAaxllB,KAC7BC,IACAsllB,EAAWnllB,IAAMxjB,KAAKqjB,MAAMsllB,EAAWnllB,KACvCmllB,EAAW1yd,OAASj2I,KAAKqjB,MAAMsllB,EAAW1yd,QAC1C0yd,EAAWvllB,KAAOpjB,KAAKqjB,MAAMsllB,EAAWvllB,MACxCullB,EAAW35hB,MAAQhvE,KAAKqjB,MAAMsllB,EAAW35hB,QAEtC25hB,CACX,CACAlne,OAAO9+H,GAAS0gB,GAAQ,GACpB,MAAMwllB,EAAQlmmB,GAAQg/H,wBAChBmne,OACGrhnB,OAAOkrd,QAAU5yd,SAASuyB,gBAAgBsxQ,UAD7CklV,QAEIrhnB,OAAOmrd,QAAU7yd,SAASuyB,gBAAgBwxQ,WAEpD,IAAIilV,GAAW,CACXxllB,OAAQsllB,EAAMtllB,QAAU5gB,GAAQipb,aAChC1oa,MAAO2llB,EAAM3llB,OAASvgB,GAAQ8iR,YAC9BjiQ,IAAKqllB,EAAMrllB,IAAMsllB,OACjB7yd,OAAQ4yd,EAAM5yd,OAAS6yd,OACvB1llB,KAAMyllB,EAAMzllB,KAAO0llB,QACnB95hB,MAAO65hB,EAAM75hB,MAAQ85hB,SAEzB,OAAIzllB,IACA0llB,GAASxllB,OAASvjB,KAAKqjB,MAAM0llB,GAASxllB,QACtCwllB,GAAS7llB,MAAQljB,KAAKqjB,MAAM0llB,GAAS7llB,OACrC6llB,GAASvllB,IAAMxjB,KAAKqjB,MAAM0llB,GAASvllB,KACnCullB,GAAS9yd,OAASj2I,KAAKqjB,MAAM0llB,GAAS9yd,QACtC8yd,GAAS3llB,KAAOpjB,KAAKqjB,MAAM0llB,GAAS3llB,MACpC2llB,GAAS/5hB,MAAQhvE,KAAKqjB,MAAM0llB,GAAS/5hB,QAElC+5hB,EACX,CAIAC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AAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,C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","names":["AppActions","loadAppLanguage","createAction","props","loadAppLanguageSuccess","loadAppLanguageFailure","setActiveLanguage","runCheckChangeEmailRequest","HeaderActions","setVisibility","loadProfiles","getAuthenticatorUri","getRecoveryCodes","updatePhoneDetails","twoFaEnableSuccess","updatePhoneTemp","setResidence","restoreResidence","removeStoredResidence","getProfile","getProfileSuccess","getProfileFailed","getConsent","getConsentSuccess","getMarketingConsentsCheckedSuccess","getConsentFailed","consentOnchanges","clearConsentPayload","AddInvalidMyProfileFormFields","ProfileActions","RemoveInvalidMyProfileFormFields","ResetInvalidMyProfileFormFields","reset","loadRegisterProfile","loadRegisterProfileSuccess","loadRegisterProfileFailure","loadExistingPTProfile","loadExistingPTProfileSuccess","loadExistingPTProfileFailure","submitRegisterProfile","submitRegisterProfileSuccess","submitRegisterProfileFailure","updatePtExistingProfile","updatePtExistingProfileSuccess","updatePtExistingProfileFailure","signupToTaraClicked","signupToTaraClickedSuccess","signupToTaraClickedFailure","loadRegistrationClaims","loadRegistrationClaimSuccess","loadRegistrationClaimFailed","loadExternalAuthProviders","loadExternalAuthProviderSuccess","loadExternalAuthProviderFailed","setUserPassword","setUserPasswordSuccess","setUserPasswordFailed","loadTaraUserInfo","loadTaraUserInfoSuccess","loadTaraUserInfoFailed","taraResendEmailActivation","taraResendEmailActivationSuccess","taraResendEmailActivationFailed","activateUserAccount","activateTaraUserSuccess","activateTaraUserFailed","updatePhoneNumber","updatePhoneNumberSuccess","updatePhoneNumberFailed","verifyPhoneNumber","verifyPhoneNumberSuccess","verifyPhoneNumberFailed","enableMFA","enableMFASuccess","enableMFAFailed","enableMFAVerify","enableMFAVerifySuccess","enableMFAVerifyFailed","resetMFAInProgress","setAuthenticatorAppData","loadExistingUserClaims","RegisterActions","acceptPrivacyPolicy","loadStss","loadStssSuccess","loadStssFailure","loadConfigSuccess","addUserInfo","checkLoginStatus","loadProfileSuccess","loadProfileFailed","loadCountry","loadCountryFailed","loadCountrySuccess","setClaims","STSActions","setProfileEmail","setHasGeneplanetOrders","fetchHasGeneplanetOrders","setGeneplanetEnrolled","validateMFAResetLink","validateMFAResetLinkSuccess","validateMFAResetLinkFailed","changePhone","changePhoneSuccess","changePhoneFailed","verifyChangePhone","verifyChangePhoneSuccess","verifyChangePhoneFailed","set2FA","set2FASuccess","set2FAFailed","verifySet2FA","verifySet2FASuccess","verifySet2FAFailed","DkMfaResetAction","getMFAResetClaims","getMFAResetClaimsSuccess","getMFAResetClaimsFailed","dkMfaResetFeatureKey","reducer","createReducer","id","seqId","isMFAResetLinkValid","mfaResetClaims","activityInProgress","activityName","initialState","on","state","payload","EResetMFAActivity","RESET_ISVALID","RESET_CLAIMS","claims","CHANGE_PHONE","VERIFY_PHONE","body","twoFactorProvider","E2FAProvider","SMS","SET_2FA_SMS","SET_2FA_AUTH_APP","VERIFY_2FA","State","getLoadingComponent","createSelector","getPhone","phone","getPhoneVerified","phone_verified","toLowerCase","claimValues","TRUE","DKMFAResetSelector","getCountry","country","getQueryParams","searchLegalDocumentsAction","searchLegalDocumentsSuccessAction","searchLegalDocumentsVersionsAction","searchLegalDocumentsVersionsSuccessAction","legalDocumentFeatureKey","documents","isLoading","list","versions","searchLegalDocumentsReducer","searchLegalDocumentsSuccessReducer","action","legalDocuments","searchLegalDocumentsVersionsReducer","searchLegalDocumentsVersionsSuccessReducer","legalDocumentsReducer","appFeatureKey","appReducer","activeLanguage","loadingJSON","language","formatLocale","profileFeatureKey","profile_data","user_type","authenticator_uri","code","number","country_phone","country_residence","phone_temp","two_factor_enabled","residenceCountryCode","profile","consents","consents_payload","consentLoading","isMarketingConsentChecked","invalidProfileFormFields","data","countryCode","value","getConsentPayload","name","concat","filter","invalidField","consent","map","d","ConsentId","consentId","Allowed","allowed","featureKey","registerProfile","undefined","registerProfileLoadError","registerProfileLoadErrorObject","registerProfileSubmitted","registerProfileLoading","submitRegisterProfileLoading","submitRegisterProfileError","submitConsentLoading","RegisterProfileActions","error","errorObject","registrationFeatureKey","getClaimsLoading","externalAuthProviders","setPasswordInProgress","activationEmail","resendActivationLoading","activated","editPhoneLoading","smsCodeMFALoading","authAppData","privacyPolicyAccepted","items","email","stsFeatureKey","synlabId","role","config","token","userInfo","loginStatus","idp","countryInfo","status","hasGeneplanetOrders","isGenePlanetEnrolled","isGeneplanetEnrolled","ssnRegex","alphanumeric","hasOrders","isEnrolled","TaraRegisterProfileActions","AppSelector","isLanguageLoading","getActiveLanguage","profileReducer","getCurrentPhoneDetails","getTwoFactorEnabled","isTeacher","Array","isArray","some","n","getTempPhoneDetails","getUserCountryRequireMFA","initialMultiFactorAuthCountries","indexOf","getLocale","locale","getConsentsLoading","getConsentsPayload","ProfileSelectors","hasInvalidFormFields","length","RegisterProfileReducer","s","registerProfileErrorObject","registerSynlabAccessUser","c","claimType","claimTypes","USER_TYPE","claimValue","userTypes","SYNLAB_ACCESS_USER","registerProfileLinkInvalid","registerProfileLinkUsed","registerSubmittedSuccessfully","submitted","submitting","RegistrationReducer","getRegisterClaimUserId","userId","getTaraRegistrationEmail","getResendActivationLoading","getIsTaraUserActivated","getRegistrationPhoneNumber","getEditPhoneLoading","getTwoFactorEnabledClaim","getLoadClaimsLoading","getSMSMFACodeLoading","authenticatorUri","getAuthenticatorAppCode","getPrivacyAccepted","getRegistrationUserType","RegistrationSelectors","getRegistrationIsPatient","VALUE_TRUE","stsReducer","getName","getAppLogo","appLogo","SYNLAB","LOADING","isAppWhiteLabeled","getConfig","WHITE_LABEL_ENABLED","getSynlabId","isSynlabAccessUser","isAnonymousUser","find","ANONYMOUS_USER","toLocaleLowerCase","isUkDfpAdminUser","UK_DFP_ADMIN","isUkShfyAdminUser","UK_SHFY_ADMIN","isGenePlanetElligibleUser","COUNTRY_STORAGE","countries","ESTONIA","NATIONALITY","hasEmail","EMAIL","NO_EMAIL","isWardProfile","WARD_PROFILE","getBaseBookingUrl","BaseBookingUrl","getBasePlasmaUrl","BasePlasmaUrl","getBookingAdminUrl","BaseBookingAdminUrl","getAdminUrl","BaseAdminUrl","getWebreqAdminUrl","BaseWebreqAdminUrl","getCheckResultUrl","path","checkTenant","whiteLabelNames","UK_DFP","UK_SHFY","getBookingLinkEnabled","isAppAccessUser","hideBookingLinkOnThisRoles","SCHOOL_ADMIN","SCHOOL_TEACHER","LOLLI_SUPER_ADMIN","LOLLI_LAB_USER","BCP","WEBREQ_USER","isPTCountry","PORTUGAL","isEETenant","isHUTenant","HUNGARY","isDfpTenant","isShfytenant","hidden","includes","getWardLimit","isNaN","WardLimit","isSchoolAdmin","a","isMassCompanyUser","MASS_COMPANY","getVersion","Version","getUserInfo","isLoggedIn","getClaims","isMFARequired","isMFAEnabled","TWO_FACTOR_ENABLED","isTaraLogin","ELoginMethod","EE_TARA","isTeliaLogin","FI_TELIA","isBankIdLogin","CZ_BANKID","requireMfa","showPreventionWellnessMenu","COUNTRY_RESIDENCE","getPreventionWellnessLink","getPetProfileEnabled","PET_PROFILE_ENABLED","getEnablePreventionWellness","ENABLE_PREVENTION_WELLNESS","isEstoniaInstance","isSpainInstance","SPAIN","isHungaryInstance","isUkShfyInstance","isUkDfpInstance","isPtInstance","INIT","isITTenant","ITALY","isBETenant","BELGIUM","isESTenant","isESTCTenant","SPAIN_TELECOUNSELING","isFITenant","FINLAND","isCzechRepublic","CZECH_REPUBLIC","checkIfTaraLoginMethod","checkIfTeliaLoginMethod","checkBankIdLoginMethod","getRoles","getUserHeader","givenName","GIVEN_NAME","familyName","FAMILY_NAME","getGpEnrolleeInfo","sex","GENDER","dateOfBirth","DATE_OF_BIRTH","getWhiteLabelName","WhiteLabelName","getEnableOpenReplay","OPEN_REPLAY_ENABLE","getOpenReplayProjectKey","OPEN_REPLAY_PROJECT_KEY","getOpenReplayIngestPoint","OPEN_REPLAY_INGEST_API","getAppEnvironment","ENVIRONMENT","getUserUserId","getUserSub","sub","getSSN","ssn","getUserActiveEmail","stsCountrySSNRegex","isSTSCountryLoading","isEEWithNoEmail","isEE","result","claim","JSON","parse","FALSE","getAccountsBaseUrl","BaseProfileUrl","isSuperSupportUser","accessPerTenant","EE_ADMIN","userTypesToCheck","PT_ADMIN","isClaimTrue","x","ALLOW_DELETE_USER","getBaseProfileUrl","useNewUI","useNewNav","useNewUiResult","isEstoniaInstanceResult","wardProfileAddEnabled","WardProfileAddEnabled","wardProfileEditEnabled","WardProfileEditEnabled","wardProfileDeleteEnabled","WardProfileDeleteEnabled","keyName","tenantName","isWhiteLabeled","whiteLabelName","WHITE_LABEL_NAME","StsSelectors","getContactEmail","CONTACT_EMAIL","AppCommonServices","constructor","router","store","transloco","logger","toastr","auth","this","i0","i1","i2","i3","i4","i5","i6","i7","factory","ɵfac","providedIn","GLOBAL","EXPERT","BOOKING_ADMIN_BCP_COORDINATOR","BOOKING_ADMIN_BCP_CLERK","BOOKING_ADMIN","WEBREQ_ADMIN","WEBREQ_SUPERADMIN","DOCTOR","WEBREQ_ADMIN_USER_TYPES","BOOKING_ADMIN_USER_TYPES","ShfyRoles","SHFY_ROLES","PHONE","PHONE_VERIFIED","COUNTRY_PHONE","COUNTRY_ADDRESS","SSN","IS_SELF_REGISTERED","IS_TARA_PROVIDER","TARA_ID","ACTIVE","CAPTURE_FROM_BOOKING_INTEGRATION","EMAIL_TURNED_OFF","PET_PROFILE","PET_CATEGORY_NAME","PET_CATEGORY","EE_MIGRATION_ACCEPTED","EE_NOTIFICATION_LANGUAGE","EE_MESSAGE_TYPE","EE_NOTIFICATION_TWO_DAYS_BEFORE","EE_NOTIFICATION_WHEN_READY","EE_NOTIFICATION_NEWS_LETTER","EE_GP_AGREE_TERMS_AND_CONDITIONS","EE_GP_AGREE_PRIVACY_POLICY","EE_GP_AGREE_DATA_PRIVACY","PASSPORT_NUMBER","USERID","LOGIN_METHOD","GENEPLANET_USER","COOKIE_BOT_API_KEY","REQUIRE_MFA","COUNTRY_CONTACT","LOCALE","SYNLAB_ID","EMAIL_VERIFIED","PROFILE_TOS_ENABLED","TWO_FACTOR_PROVIDER","COLOMBIA","petCategories","DOG","CAT","HORSE","MONKEY","OTHER","externalLink","TARA_PRIVACY_POLICY_LINK","GP_TERMS_AND_CONDITIONS","GP_PRIVACY_POLICY","GP_DATA_PRIVACY","registerV2Enum","ACTIVE_STEPPER","DATE_OF_BIRTH_FORMAT","AUTH_PROVIDER_TYPE","LOCAL","queryParamKey","REGID","SEQID","SEQUENCE_ID","TARA_CREATED","USER_ID","BANK_ID","FINLAND_ADMIN_SIGNUP","EMAIL_ADDRESS_FROM_RESULT","defaultTaraLocale","taraPrefilledClaims","ACCOUNT_ACTIVATION","VERIFICATION_FAILED","EMAIL_ACTIVATED","ACTIVATION_LINK_USED","SYNLAB_ACCESS","EPageTitle","DEFAULT","localeMap","et","ru","en","GTM_PLACEHOLDER_VALUE","CONSENTS","NEWSLETTER_CONSENT_NAME","ErrorCode","USER_DEACTIVATED","AUTH_METHOD","TELIA","TARA","DatePickerModule","CommonModule","ReactiveFormsModule","TranslocoModule","MatDatepickerModule","MatNativeDateModule","MatMomentDateModule","MatInputModule","MatButtonModule","MatIconModule","t1_r3","_r1","ctx_r1","toggleEditSmsOnclick","RegisterMfaSmsComponent_div_0_div_11_span_6_Template","RegisterMfaSmsComponent_div_0_div_11_ng_template_7_Template","enableSMSLoading","showEnableText_r4","_r5","resetView","_r6","RegisterMfaSmsComponent_div_0_div_17_span_9_Template","RegisterMfaSmsComponent_div_0_div_17_ng_template_11_Template","smsCodeEnableMfaFC","invalid","getSMSMFACodeLoading$","showText1_r7","$event","_r8","validatePhoneFormGroupValues","RegisterMfaSmsComponent_div_0_ng_template_19_div_1_span_8_Template","RegisterMfaSmsComponent_div_0_ng_template_19_div_1_ng_template_10_Template","form","get","tmp_12_0","getRawValue","isValid","editPhoneLoading$","showText2_r9","_r10","verifyPhone","RegisterMfaSmsComponent_div_0_ng_template_19_div_4_span_9_Template","RegisterMfaSmsComponent_div_0_ng_template_19_div_4_ng_template_11_Template","smsCodeFC","showText3_r11","RegisterMfaSmsComponent_div_0_ng_template_19_div_1_Template","RegisterMfaSmsComponent_div_0_ng_template_19_div_4_Template","editPhoneToggle$","smsCodePhoneUpdateToggle$","RegisterMfaSmsComponent_div_0_div_11_Template","RegisterMfaSmsComponent_div_0_ng_template_14_Template","RegisterMfaSmsComponent_div_0_div_17_Template","RegisterMfaSmsComponent_div_0_ng_template_19_Template","phoneNumber$","smsCodeEnableMFAToggle$","showCancel_r12","showUpdatePhoneContainer_r13","EAuthenticationType","AUTHENTICATOR","RegisterMfaSmsComponent","_store","_actRoute","_actions$","_transloco","_toastr","formBuilder","myAccountSvc","tkey1","pipe","select","ReplaySubject","phoneNumberFC","UntypedFormControl","Validators","required","countryISO","phoneNumber","_subs","Subscription","event","values","e164Number","phoneValidator","isValidNumber","ngOnInit","group","add","tap","phoneTemp","parsePhoneNumber","setValue","nationalNumber","subscribe","snapshot","queryParams","userid","dispatch","ofType","next","mess","translate","twoFactorAuthenticatorScopeKey","success","setTimeout","document","getElementById","focus","params","sequenceId","sequence_id","combineLatest","take","isCz","objClaims","claimsToObject","merge","ErrorMessage","generalScopeKey","authType","m","type","ngOnDestroy","unsubscribe","p","replace","countryPhone","t","btoa","twoFactorEnabled","tokenProvider","selectors","decls","vars","consts","template","rf","ctx","RegisterMfaSmsComponent_div_0_Template","FI_CONFIG","completeProfile","Name","Required","Type","Order","Readonly","Hide","CustomValidators","pattern","emailPattern","fiveDigitsPattern","roles","adminCompleteProfile","personalInfo","contact","adminContact","dummyDOBValue","_c1","forceMFA$","checkResultLink$","t_r4","isSHFYInstance$","plasmaLink$","plasmaLabel$","bookingLink$","preventionWellnessLink$","HeaderComponent_ng_container_0_div_8_li_6_Template","HeaderComponent_ng_container_0_div_8_li_8_Template","HeaderComponent_ng_container_0_div_8_li_9_Template","HeaderComponent_ng_container_0_div_8_li_11_Template","_r3","startSignoutMainWindow","isSuperSupportUser$","isTara","bookingLinkEnabled$","showPreventionWellnessLink$","c_r6","$implicit","changeActiveLanguage","_c2","activeLang$","flag","navigateLink","HeaderComponent_ng_container_0_div_8_Template","HeaderComponent_ng_container_0_li_18_Template","logo$","_c0","initial","HeaderComponent","i18n","activeRoute","usertype","showDropdown","envConfig$","isAdminUser","isCountryAdmin","isUserAdmin","isWebreqAdminUser","isWebreqUser","BaseWebreqUrl","isUefaUser","BaseUefaUrl","isPatient","isAppUser","isSchoolTeacher","isLolliSuperAdmin","isCustomerCare","isSynlabAccessUser$","isUkDfpAdminUser$","isUkShfyAdminUser$","availableLangs","getAvailableLanguages","lang","Countries","langChanges$","withLatestFrom","isDenmarkAdmin","headerScopeKey","of","isEEInstance$","isHUTenant$","defLanguage","getActiveLang","firstChild","console","log","isHU","window","location","href","basePlasmaUrl","navigate","family_name","trim","given_name","charAt","substring","setStoredLanguage","updateQueryParam","relativeTo","langCode","queryParamsHandling","inputs","HeaderComponent_ng_container_0_Template","EPassForm","AUTH_PROVIDER","SCHEME_PROVIDER","CURRENT_PASS","NEW_PASS","CONFIRM_PASS","LocalStorageKeys","needReloadForCookiebot","EStorageKeys","REDIRECT_URL","REGISTER_USER_ID","REGISTER_REDIRECT_URL","CountryService","countriesAsObj$","BehaviorSubject","countries$","smallCodeCountries$","SmallName","Code","getCountryText$","bind","filterCountries$","query","DxpBackgroundComponent","DxpBackgroundModule","alphanumericUnicode","fiAlphanumericUnicode","passwordPattern","passwordValidation","SharedModule","RouterModule","MatSelectModule","MatProgressSpinnerModule","MatDialogModule","ScrollingModule","MatTooltipModule","FormsModule","NgbModule","ClaimService","upsert","index","findIndex","item","MyAccountService","i18nService","claimService","anon$","synlabAccessUser$","isHungaryTenant$","isFITenant$","isCzechRepublic$","disabledFields$","isAnon","getProfileSection$","isContactSectionVisible$","getFieldsForPersonalInfo$","getFieldsForContactInfo$","isVisible","personalFields","contactFields","personal","visible","fields","anon","isHu","formConfig","disabled","field","Disabled","f","isFi","HeaderConfigService","_cfg","BaseBigCommerceUrl","EeBaseBookingUrl","WhiteLabelEnabled","EnableCheckResults","_envConfig","baseAdminUrl","baseBookingUrl","baseBookingAdminUrl","baseWebreqAdminUrl","eeBaseBookingUrl","baseWebreqUrl","baseBigcommerceUrl","baseProfileUrl","EnablePreventionWellness","FullCatalogueViewEnabled","applicationId","configSubject","enrolled","canEnroll","res","config$","asObservable","HeaderUsertypeService","_auth","usertypes$","userInfo$","u","profile$","ManagedPrivacyPolicyComponent","route","agreement","sanitizer","changeRef","localeClaim$","isLoggedIn$","firstLoad$","detectChanges","fn","isLoggedOut","loading","langCode$","getLocales","queryParamMap","userLocale","locales","qsLang","translocoLang","l","getValue","activeLang","getPreferredSupportedLanguage","cultureCode","shareReplay","refCount","bufferSize","html$","page","flatMap","getPublishedAgreementByLocale","files","htmlFile","html","purified","DOMPurify","sanitize","ADD_TAGS","ADD_ATTR","FORCE_BODY","bypassSecurityTrustHtml","addTargetBlankToAnchors","finalize","inAvailableLang","isInAvailableLocale","getAvailableLangs","setActiveLang","takeWhile","ManagedPrivacyPolicyComponent_div_2_Template","PrivacyPolicyModule","ManagedTermsOfUseComponent","AgreementType","TermsAndCondition","ManagedTermsOfUseComponent_div_2_Template","TermsOfUseModule","UserType","SuperAdmin","ApiAdmin","ClientAdmin","IdentityResourceAdmin","Bcp","UefaAdmin","UefaLaboratory","UefaTeam","UefaOfficial","UefaUser","UefaMlo","UefaManagement","UefaTeammloLab","UefaMloLab","Doctor","WebreqUser","SynlabAccessUser","WebreqAdmin","WebreqSuperAdmin","Patient","CustomerCare","DeAdmin","EsAdmin","ItAdmin","CoAdmin","DkAdmin","PtAdmin","EeAdmin","AirAdmin","UkDfpAdmin","UkShfyAdmin","UserAdmin","SchoolAdmin","MassCompany","SchoolTeacher","LolliSuperAdmin","UserRoleService","patient_users","customer_care","de_admin","es_admin","it_admin","co_admin","dk_admin","pt_admin","ee_admin","air_admin","uk_dfp_admin","uk_shfy_admin","useradmin","synlab_access_users","bcp_user","school_admin","mass_company","school_teacher","lolli_superadmin","webreq_users","webreqadmin_users","admintypes","uefa_users","admin_users","setUser","user","currentUser","checkUserAccess","types","isColombiaAdmin","isPortugalAdmin","isAirAdmin","isBCP","isMassCompany","ConfigService","CoreModule","MIN_DESKTOP_WIDTH","PATIENT_WEB_LOCALE_STORAGE_KEY","ACCOUNTS_LOCALE_STORAGE_KEY","RANDOM_NONCE","HeaderVisibilityService","visible$","ProfileService","UsertypeService","LoggerService","SpinnerComponent","SpinnerModule","MatMenuItem_Conditional_4_Template","_c3","MatMenu_ng_template_0_Template","_handleKeydown","closed","emit","_onAnimationStart","_onAnimationDone","_classList","panelId","_panelAnimationState","ariaLabel","ariaLabelledby","ariaDescribedby","MAT_MENU_PANEL","InjectionToken","MatMenuItem","_elementRef","_document","_focusMonitor","_parentMenu","_changeDetectorRef","disableRipple","_hovered","Subject","_focused","_highlighted","_triggersSubmenu","addItem","origin","options","focusVia","_getHostElement","ngAfterViewInit","monitor","stopMonitoring","removeItem","complete","_getTabIndex","nativeElement","_checkDisabled","preventDefault","stopPropagation","_handleMouseEnter","getLabel","clone","cloneNode","icons","querySelectorAll","i","remove","textContent","_setHighlighted","isHighlighted","markForCheck","_setTriggersSubmenu","triggersSubmenu","_hasFocus","activeElement","DOCUMENT","ɵcmp","hostAttrs","hostVars","hostBindings","HasDecoratorInputTransform","booleanAttribute","exportAs","standalone","features","attrs","ngContentSelectors","dependencies","MatRipple","encapsulation","changeDetection","MAT_MENU_CONTENT","matMenuAnimations","transformMenu","trigger","style","opacity","transform","transition","animate","fadeInItems","menuPanelUid","MAT_MENU_DEFAULT_OPTIONS","MAT_MENU_DEFAULT_OPTIONS_FACTORY","overlapTrigger","xPosition","yPosition","backdropClass","MatMenu","_xPosition","setPositionClasses","_yPosition","panelClass","classes","previousPanelClass","_previousPanelClass","newClassList","split","forEach","className","classList","_ngZone","defaultOptions","_elevationPrefix","_baseElevation","_directDescendantItems","QueryList","_animationDone","EventEmitter","close","overlayPanelClass","hasBackdrop","ngAfterContentInit","_updateDirectDescendants","_keyManager","FocusKeyManager","withWrap","withTypeAhead","withHomeAndEnd","tabOut","changes","startWith","switchMap","focusedItem","updateActiveItem","itemsList","manager","activeItem","toArray","Math","max","min","activeItemIndex","setActiveItem","setNextItemActive","destroy","_firstItemFocusSubscription","_item","keyCode","ESCAPE","hasModifierKey","LEFT_ARROW","parentMenu","direction","RIGHT_ARROW","UP_ARROW","DOWN_ARROW","setFocusOrigin","onKeydown","focusFirstItem","onStable","menuPanel","first","closest","contains","setFirstItemActive","resetActiveItem","setElevation","depth","elevation","newElevation","customElevation","Object","keys","startsWith","_previousElevation","posX","posY","_startAnimation","_resetAnimation","_isAnimating","toState","element","scrollTop","_allItems","notifyOnChanges","contentQueries","dirIndex","_t","lazyContent","viewQuery","TemplateRef","templateRef","None","outputs","provide","useExisting","styles","animation","MAT_MENU_SCROLL_STRATEGY","overlay","inject","Overlay","scrollStrategies","reposition","MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER","deps","useFactory","MAT_MENU_SCROLL_STRATEGY_FACTORY","passiveEventListenerOptions","normalizePassiveListenerOptions","passive","MatMenuTrigger","_deprecatedMatMenuTriggerFor","menu","v","_menu","_menuCloseSubscription","reason","_destroyMenu","_parentMaterialMenu","_menuItemInstance","_overlay","_element","_viewContainerRef","scrollStrategy","_dir","_overlayRef","_menuOpen","_closingActionsSubscription","EMPTY","_hoverSubscription","ChangeDetectorRef","_handleTouchStart","isFakeTouchstartFromScreenReader","_openedBy","restoreFocus","menuOpened","onMenuOpen","menuClosed","onMenuClose","_scrollStrategy","addEventListener","_handleHover","dispose","removeEventListener","menuOpen","dir","toggleMenu","closeMenu","openMenu","overlayRef","_createOverlay","overlayConfig","positionStrategy","_setPosition","attach","_getPortal","menuData","_menuClosingActions","_initMenu","takeUntil","withLockedPosition","reapplyLastPosition","updatePosition","detach","_attached","_setIsMenuOpen","_setMenuElevation","isOpen","_getOverlayConfig","_subscribeToPositions","create","keydownEvents","OverlayConfig","position","flexibleConnectedTo","withGrowAfterOpen","withTransformOriginOn","positionChanges","change","connectionPair","overlayX","overlayY","run","originX","originFallbackX","overlayFallbackY","originY","originFallbackY","overlayFallbackX","offsetY","_parentInnerPadding","firstItem","offsetTop","withPositions","backdrop","backdropClick","detachments","parentClose","hover","active","_handleMousedown","isFakeMousedownFromScreenReader","button","ENTER","SPACE","_handleClick","delay","asapScheduler","_portal","TemplatePortal","i1$1","ɵdir","MatMenuModule","ɵmod","ɵinj","providers","imports","MatRippleModule","MatCommonModule","OverlayModule","CdkScrollableModule","defaultCountryPerLang","de","fr","pt","it","lt","uk","el","hu","es","lookupCountry","setLangCode","url","URL","searchParams","has","hasLangCodeParam","appendLangCode","urlObj","set","toString","hasAny","req","ut","every","r","hasTrueClaim","formatLangCode","langCodeQueryStr","link","toUpperCase","countryPerLang","sv","fi","SynlabHeaderService","usertypeService","configService","profileService","headerVisibilityService","translocoService","logr","links$","linkCondition","lc","condition","urlGenerator","user$","myAccountLink$","brandLogoLink$","label","icon","isMenuLinkNotHidden","linksPerLang","inputLang","isSpain","locale_r2","config_r3","ngIf","ctx_r3","changeLang","activeLocale$","getDisplayLocale","LocalePickerComponent_ng_container_0_div_2_a_1_Template","availableLocale","LocalePickerComponent_ng_container_0_div_2_Template","locale_r6","config_r7","LocalePickerComponent_ng_template_1_div_0_ng_container_10_span_7_Template","useFlags","LocalePickerComponent_ng_template_1_div_0_mat_icon_6_Template","LocalePickerComponent_ng_template_1_div_0_mat_icon_7_Template","LocalePickerComponent_ng_template_1_div_0_ng_container_10_Template","localeMenu_r10","open_r9","LocalePickerComponent_ng_template_1_div_0_Template","LocalePickerComponent","headerService","activatedRoute","mode","sessionStorage","setItem","localStorage","part1","LocalePickerComponent_ng_container_0_Template","LocalePickerComponent_ng_template_1_Template","dropdownView_r11","LocalePickerModule","disableLinks","l_r3","HeaderComponent_ng_container_0_li_14_a_1_Template","HeaderComponent_ng_container_0_li_14_a_2_Template","HeaderComponent_ng_container_0_div_17_img_3_Template","HeaderComponent_ng_container_0_div_17_mat_icon_5_Template","logout","menu_r7","isMobile$","myAccountLink","HeaderComponent_ng_container_0_mat_icon_10_Template","HeaderComponent_ng_container_0_mat_icon_12_Template","HeaderComponent_ng_container_0_li_14_Template","HeaderComponent_ng_container_0_div_17_Template","HeaderComponent_ng_container_0_div_18_Template","links","brandLogoLink","brandLogo","isMobileMenuOpen$","getDisplayedLinks","_router","onLogout","onMyAccount","documentElement","clientWidth","destroy$","resize$","fromEvent","auditTime","events","HeaderModule","HIDDEN_LINK_ROUTES","SynlabHeaderComponent","destory$","e","NavigationEnd","tmp_0_0","SynlabHeaderModule","htmlString","allowNull","DefaultLanguage","tenant","localeCode","firstnameClaimType","lastnameClaimType","activeClaimType","userIdClaimType","userTypeClaimType","linkedAccountsClaimType","localeClaimType","countryResidenceClaimType","addressClaimType","cityClaimType","zipCodeClaimType","synlabIdClaimType","petCategoryClaimType","petCategoryNameClaimType","wardVerifiedClaimType","objectToClaims","obj","key","getClaimValueWithType","hasClaimWithTypeAndValue","claimIsTrue","CheckIfTrueString","updateClaims","oldClaims","newClaims","resultingClaims","slice","indexlist","push","removeNullClaims","removeClaimsForPtEe","isClaim","getNameFromClaims","fname","str","getPetName","getPetCategory","getPetCategoryName","petCategoryName","category","getWardVerifiedClaimValue","externalProviderValue","countryClaimType","emailClaimType","allowedDuplicateClaimTypes","removeDuplicateClaims","claimsMap","Map","distinctClaims","k","duplicableClaims","AccountsService","api","updateConsentEndpoint","latestAccountInfo","latestAccountInfo$","latestAccountInfoObj$","latestAccountLocaleCode$","latestAccountAuthProvider$","country$","isSynlabAccount$","isSynlabAccount","deactivated$","checkFinlandRedirectToCompleteProfile","reduce","acc","val","categoryName","checkIfMarketingConsentIsChecked","emailAddress","updateConsent","cons","put","getBySynlabId","users","throwError","post","latest","wardPut","sendDeleteEmail","responseType","confirmDelete","getDeleteValidity","fetchPendingBooking","endsWith","fetchInitialUserClaims","info","getByEmail","resendActivationEmail","getUserProperties","_this","_asyncToGenerator","request","response","firstValueFrom","PasswordIsSet","Active","TermsAndConditionFIProfessionals","PrivacyPolicyFIProfessionals","PrivacyPolicy","TermsOfService","ADDITIONAL_INFO_COLLECTED_DATA","AgreementService","getUserAgreements","agreementType","getPublishedAgreement","getPublishedByUniqueId","uniqueId","getAgreementFile","ApiService","http","endpoint","baseAuthUrl","headers","baseProfileApiUrl","getHttp","opts","postAccounts","baseAccountUrl","delete","formatAcceptLanguage","InvalidTokenError","Error","prototype","level","Log2","nopLogger","debug","warn","Log","NONE","ERROR","WARN","INFO","DEBUG","setLevel","setLogger","Logger","_Logger","_name","args","_format","_method","throw","err","method","methodLogger","createStatic","staticMethod","staticLogger","prefix","JwtUtils","decode","jwtDecode","pos","header","part","decoded","base64UrlDecode","output","b64DecodeUnicode","decodeURIComponent","atob","charCodeAt","message","generateSignedJwt","privateKey","encodedToken","CryptoUtils","encodeBase64Url","TextEncoder","encode","stringify","signature","crypto","subtle","sign","hash","Uint8Array","toBase64","chr","String","fromCharCode","join","_CryptoUtils","_randomWord","arr","Uint32Array","getRandomValues","generateUUIDv4","generateCodeVerifier","generateCodeChallenge","code_verifier","hashed","digest","generateBasicAuth","client_id","client_secret","alg","msgUint8","hashBuffer","customCalculateJwkThumbprint","jwk","jsonObject","kty","crv","y","utf8encodedAndHashed","generateDPoPProof","accessToken","httpMethod","keyPair","nonce","hashedToken","encodedHash","jti","randomUUID","htm","htu","iat","floor","Date","now","ath","publicJwk","exportKey","publicKey","typ","TypeError","generateDPoPJkt","generateDPoPKeys","generateKey","namedCurve","input","Event","_callbacks","_logger","addHandler","cb","removeHandler","idx","lastIndexOf","splice","raise","ev","PopupUtils","center","_a","width","outerWidth","left","round","screenX","height","top","screenY","outerHeight","serialize","entries","Timer","_Timer","super","arguments","_timerHandle","_expiration","_callback","diff","getEpochTime","cancel","init","durationInSeconds","logger2","expiration","timerDurationInSeconds","setInterval","clearInterval","UrlUtils","readParams","responseMode","URLSearchParams","ErrorResponse","_b","_c","error_description","error_uri","userState","session_state","url_state","ErrorTimeout","AccessTokenEvents","_expiringTimer","_expiredTimer","_expiringNotificationTimeInSeconds","expiringNotificationTimeInSeconds","load","container","_this2","access_token","expires_in","duration","expiring","expired","unload","_this3","addAccessTokenExpiring","removeAccessTokenExpiring","addAccessTokenExpired","removeAccessTokenExpired","CheckSessionIFrame","_client_id","_intervalInSeconds","_stopOnError","_timer","_session_state","_message","_frame_origin","source","_frame","contentWindow","stop","parsedUrl","createElement","visibility","src","Promise","resolve","onload","appendChild","start","send","postMessage","InMemoryWebStorage","_data","clear","getItem","getOwnPropertyNames","ErrorDPoPNonce","JsonService","additionalContentTypes","_jwtHandler","_extraHeaders","_contentTypes","fetchWithTimeout","timeoutInSeconds","initFetch","fetch","controller","AbortController","timeoutId","abort","signal","DOMException","clearTimeout","getJson","credentials","_this4","Accept","Authorization","_appendExtraHeaders","contentType","ok","text","json","statusText","postForm","basicAuth","initCredentials","extraHeaders","_this5","responseText","customKeys","protectedHeaders","preventOverride","headerName","content","MetadataService","_settings","_signingKeys","_metadata","_metadataUrl","metadataUrl","_jsonService","signingKeys","metadata","fetchRequestCredentials","_fetchRequestCredentials","resetSigningKeys","getMetadata","_this6","requestTimeoutInSeconds","assign","metadataSeed","getIssuer","_getMetadataProperty","getAuthorizationEndpoint","getUserInfoEndpoint","getTokenEndpoint","optional","getCheckSessionIframe","getEndSessionEndpoint","getRevocationEndpoint","getKeysEndpoint","_this7","getSigningKeys","_this8","jwks_uri","keySet","WebStorageStateStore","_prefix","_this9","_this10","_this11","getAllKeys","_this12","len","substr","OidcClientSettingsStore","authority","response_type","scope","redirect_uri","post_logout_redirect_uri","client_authentication","prompt","display","max_age","ui_locales","acr_values","resource","response_mode","filterProtocolClaims","loadUserInfo","staleStateAgeInSeconds","mergeClaimsStrategy","array","disablePKCE","stateStore","revokeTokenAdditionalContentTypes","refreshTokenAllowedScope","extraQueryParams","extraTokenParams","dpop","omitScopeWhenRequesting","UserInfoService","_metadataService","_this13","_getClaimsFromJwt","_ref","_x","apply","_this14","TokenClient","exchangeCode","grant_type","_this15","append","exchangeCredentials","_this16","exchangeRefreshToken","_this17","refresh_token","param","revoke","_this18","token_type_hint","ResponseValidator","_claimsService","_userInfoService","_tokenClient","validateSigninResponse","_this19","_processSigninState","_processCode","isOpenId","_validateIdTokenAttributes","_processClaims","skipUserInfo","validateCredentialsResponse","_this20","id_token","validateRefreshResponse","_this21","hasIdToken","validateSignoutResponse","validateSub","_this22","mergeClaims","_this23","tokenResponse","existingToken","incoming","existing","auth_time","azp","_State","created","request_type","toStorageString","fromStorageString","storageString","clearStaleState","storage","age","cutoff","SigninState","_SigninState","code_challenge","_SigninRequest","state_data","dpopJkt","optionalParams","_this24","stateParam","SigninRequest","SigninResponse","token_type","splitState","expires_at","Number","SignoutRequest","id_token_hint","SignoutResponse","DefaultProtocolClaims","InternalRequiredProtocolClaims","ClaimsService","protocolClaims","claims1","claims2","mergedValues","DPoPState","OidcClient","settings","metadataService","_validator","createSigninRequest","request_uri","login_hint","_this25","signinRequest","signinState","readSigninResponseState","removeState","_this26","storedStateString","processSigninResponse","_this27","dpopProof","getDpopProof","DPoP","dpopStore","_this28","dpopState","processResourceOwnerPasswordCredentials","username","password","_this29","signinResponse","useRefreshToken","_this30","allowableScopes","createSignoutRequest","_this31","signoutState","readSignoutResponseState","_this32","processSignoutResponse","_this33","revokeToken","_this34","SessionMonitor","_userManager","_this35","_start","_ref2","_sub","_checkSessionIFrame","checkSessionIFrame","checkSessionIntervalInSeconds","stopCheckSessionOnError","_x2","_stop","monitorAnonymousSession","timerHandle","session","querySessionStatus","raiseEvent","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","addUserLoaded","addUserUnloaded","_init","catch","_this36","getUser","User","_User","scopes","messageSource","AbstractChildWindow","_abort","_disposeHandlers","Set","_window","_this37","keepOpen","reject","listener","scriptOrigin","_dispose","_notifyParent","parent","targetOrigin","DefaultPopupWindowFeatures","toolbar","closePopupWindowAfterInSeconds","DefaultPopupTarget","DefaultAccessTokenExpiringNotificationTimeInSeconds","DefaultCheckSessionIntervalInSeconds","UserManagerSettingsStore","popup_redirect_uri","popup_post_logout_redirect_uri","popupWindowFeatures","popupWindowTarget","redirectMethod","redirectTarget","iframeNotifyParentOrigin","iframeScriptOrigin","silent_redirect_uri","silentRequestTimeoutInSeconds","automaticSilentRenew","validateSubOnSilentRenew","includeIdTokenInSilentRenew","monitorSession","query_status_response_type","revokeTokenTypes","revokeTokensOnSignout","includeIdTokenInSilentSignout","accessTokenExpiringNotificationTimeInSeconds","userStore","IFrameWindow","_IFrameWindow","_timeoutInSeconds","createHiddenIframe","iframe","_superprop_getNavigate","_this38","timer","call","parentNode","_a2","frame","target","removeChild","notifyParent","IFrameNavigator","prepare","callback","_this39","PopupWindow","popupSignal","centeredPopup","open","_superprop_getNavigate2","_this40","popupClosedInterval","notifyOpener","opener","PopupNavigator","_this41","RedirectNavigator","_this42","targetWindow","self","redirect","_ref5","promise","_x3","UserManagerEvents","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","_superprop_getLoad","_this43","_superprop_getUnload","_this44","removeUserLoaded","removeUserUnloaded","addSilentRenewError","removeSilentRenewError","_raiseSilentRenewError","_this45","addUserSignedIn","removeUserSignedIn","_this46","addUserSignedOut","removeUserSignedOut","_this47","addUserSessionChanged","removeUserSessionChanged","_this48","SilentRenewService","_this49","_isStarted","_retryTimer","_tokenExpiring","signinSilent","_this50","RefreshState","UserManager","redirectNavigator","popupNavigator","iframeNavigator","_client","_redirectNavigator","_popupNavigator","_iframeNavigator","_events","_silentRenewService","startSilentRenew","_sessionMonitor","_this51","_loadUser","removeUser","_this52","storeUser","signinRedirect","_this53","requestArgs","bind_authorization_code","handle","_signinStart","signinRedirectCallback","_this54","_signinEnd","signinResourceOwnerCredentials","_this55","_buildUser","signinPopup","_this56","_signin","signinPopupCallback","_this57","_this58","_useRefreshToken","verifySub","_this59","signinSilentCallback","_this60","signinCallback","_this61","signoutCallback","_this62","signoutRedirectCallback","signoutPopupCallback","signoutSilentCallback","_this63","navResponse","_this64","_this65","_this66","_this67","signoutRedirect","_this68","_signoutStart","_this69","_signoutEnd","signoutPopup","_this70","_signout","_this71","_this72","_this73","_revokeInternal","signoutRequest","_this74","signoutResponse","signoutSilent","_this75","_this76","revokeTokens","_this77","_this78","typesPresent","stopSilentRenew","_userStoreKey","_this79","_this80","_this81","_this82","dpopSettings","_this83","dpopKeys","JWT_OPTIONS","JwtHelperService","tokenGetter","urlBase64Decode","b64decode","bs","buffer","bc","decodeToken","then","_decodeToken","parts","getTokenExpirationDate","_getTokenExpirationDate","hasOwnProperty","date","setUTCSeconds","exp","isTokenExpired","offsetSeconds","_isTokenExpired","valueOf","getAuthScheme","authScheme","ɵprov","UserClaimsService","accountsService","userClaimsIsLoaded","claims$","getUserClaims","toPromise","rawClaims","getUserClaimsAsObject","usertypes","setAppLanguageFromJwtToken","getLang","availableLanguages","getDefaultLang","fromStorage","getLangCodeFromLocalStorage","fromQString","getLangCodeFromQueryString","fromJwtLangCode","languageFromToken","langToSet","AvailableLanguage","AuthService","userClaim","jwt","_user","userLoadededEvent","profileInfo","signinRedirectTrigger$","signinRedirectCallbackTrigger$","_manager","getClientSettings","initializeUser","registerUserEvents","takeUntilDestroyed","Boolean","addSignInEvents","throttleTime","saveUserInformation","OIDC","envJson","BaseAuthUrl","ClientId","ResponseType","Scope","getExtraQueryParams","returnTo","search","return_to","setUserLoggedIn","isPrivateRoute","checkSavedUserInfo","saveToState","showCookieBot","redirectParams","webreqAdminUrl","bookingAdminUrl","isFinland","isWebreqAdmin","isBookingAdmin","checkLogin","from","isLoggedInObs","handleSigninRedirect","handleSigninRedirectCallback","catchError","querySelector","initialRoute","getInitialRoute","navigateByUrl","done","redirectURL","additionalUserClaims","synlab_id","AuthGuard","authService","canActivate","getLangCodeBeforeSigninCallback","sessionTransferObj","loggedin","configLanguages","formattedLocale","ChangeEmailService","sendChangeEmailRequest","resendChangeEmailRequest","cancelChangeEmailRequest","checkPendingChangeEmailRequest","verifyEmailLink","BE_CONFIG","CustomLabelTranslationKey","CZ_CONFIG","FORM_CONFIG","completeProfileExpert","Options","FetchFromUrl","Url","Items","Value","Label","completeProfileExpertAdditionalInfo","AddNewItemEnabled","expertPersonalInfo","expertContact","cz","be","countryService","_envConfigError","_envConfig$","authUrl","getCountries","computed","sort","b","loadEnvJson","env","_checkEmptyConfig","baseClientUrl","BaseProfileApiUrl","environment","Environment","version","twilioEnabled","TwilioEnabled","UseProfileAPI","shfyDxpBaseURL","ShfyDxpBaseURL","shfyRegistrationURL","ShfyRegistrationURL","shfyCompleteProfileURL","ShfyCompleteProfileURL","isWardProfileEnabled","WardProfileEnabled","isWardProfileAddEnabled","isWardProfileEditEnabled","isWardProfileDeleteEnabled","consentCategoryName","ConsentCategoryName","bookingProfessionalUrl","BookingProfessionalUrl","UserTypeGuard","errorScopeKey","myAccountScopeKey","securityScopeKey","verifyProfileScopeKey","completeProfileScopeKey","registrationSecureScopeKey","deleteScopeKey","sessionTransferKey","petProfileScopeKey","langCodeStorageKey","I18nService","browserLocale","getBrowserLanguages","translateIfExists","translated","detectBrowserLocale","getFromLocalStorage","moment","navigator","languages","preferredLanguages","supportedLanguages","pl","sl","getLangCode","match","shift","formatDate","isoDateTime","momentFormat","outputAsUTCTimezone","mom","local","format","formatTime","time","getMomentDateFormatToken","localeData","longDateFormat","errorHandler","consoleLog","isProduction","handleError","rest","getLine","exec","stack","PhoneValidationService","inputNumber","phoneUtil","libphonenumber","getInstance","valid","RegisterProfileApiService","registerProfileEndpoint","rollbackInactivatedUserEndpoint","getPtProfileEndpoint","updatePtProfileEndpoint","getRegistrationClaimsForCzech","mapDataForCzech","nclaims","getRegisterProfile","regId","getRegisterProfileForCzechRepublic","bankId","bankidtoken","validateRegistrationDocument","submitRegisterProfileForBankId","addBankIds","BankIdToken","getPtExisitngProfile","updateConsents","rollBackUser","CustomNgbDateParserFormatterService","year","month","day","CustomNgbDatepickeri18nService","NgbDatepickerI18n","getWeekdayLabel","weekday","getWeekdayShortName","momentWeekdayIndex","getMonthShortName","momentMonthIndex","getMonthFullName","getDayAriaLabel","jsDate","getDayNumerals","_","getWeekNumerals","weekNumber","getYearNumerals","TranslocoHttpLoader","getTranslation","memoizee","TranslocoRootModule","NgbDateParserFormatter","useClass","TRANSLOCO_CONFIG","useValue","translocoConfig","defaultLang","missingHandler","logMissingKey","useFallbackTranslation","fallbackLang","reRenderOnLangChange","prodMode","production","TRANSLOCO_LOADER","APP_INITIALIZER","multi","TranslocoService","allAvailableLanguages","defaultL","setAvailableLangs","setDefaultLang","setFallbackLangForMissingTranslation","localeFromUrl","localeFromStorage","localeFromConfig","formattedLocaleFromUrl","fromTranslocoRoot","removeAttribute","available","accumulator","urlSearchParams","nullable","delayInMilliseconds","trimUrl","host","getRedirectUrl","pathname","routes","firstPath","PNF","parseAndKeepRawInput","getRegionCodeForNumber","dialCode","getCountryCode","E164","internationalNumber","INTERNATIONAL","NATIONAL","getNationalNumber","getErrorStatuscode","isBadRequest","isConflict","getErrorMessage","HAS_GENEPLANET_RESULTS_API","isGeneplanetAllowed","baseUrl$","baseUrl","isGeneplanetEnabled","cfg","EReset","AUTH_APP","InitComponent","conf","SiginCallbackComponent","redirectToContactSynlab","t_r3","ForgotPasswordComponent_ng_container_0_div_6_ng_container_1_Template","ForgotPasswordComponent_ng_container_0_div_6_ng_template_3_Template","useNewNav$","oldWarning_r4","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_2_ng_container_1_Template","passwordHelpBlock_r6","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_15_ng_container_1_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_2_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_label_5_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_label_10_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_small_14_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_15_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_i_19_Template","fp_r7","errors","dirty","confirmPassword","setAccountPassword","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_Template","passwordFormG","ForgotPasswordComponent_ng_container_0_div_7_p_8_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_Template","ForgotPasswordComponent_ng_container_0_div_1_Template","ForgotPasswordComponent_ng_container_0_ng_container_3_Template","ForgotPasswordComponent_ng_container_0_div_5_Template","ForgotPasswordComponent_ng_container_0_div_6_Template","ForgotPasswordComponent_ng_container_0_div_7_Template","ForgotPasswordComponent_ng_container_0_ng_template_8_Template","showSpin","showForm","ForgotPasswordComponent","toast","isMatched","returnUrl","showError","passwordFormatInvalid","UntypedFormGroup","authenticationProvider","schemeProvider","newPassword","checkPasswords","pass","confirmPass","setValidators","seq","loadClaims","UserId","NewPassword","Sequence","markAsPristine","errMessage","Window","ForgotPasswordComponent_ng_container_0_Template","RenewtokenComponent","SelfSamplingInstructionComponent","ParentSelfSamplingInstructionComponent","t_r1","GeneralTermsComponent","GeneralTermsComponent_div_5_Template","_r4","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_6_ng_container_1_Template","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_6_ng_template_3_Template","oldWarning_r5","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_5_Template","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_6_Template","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_7_Template","isValidDeleteAccountLink$","DeleteAccountComponent_ng_container_0_ng_template_6_div_3_Template","DeleteAccountComponent_ng_container_0_ng_template_6_ng_template_5_Template","invalidLink_r7","DeleteAccountComponent_ng_container_0_ng_container_1_Template","DeleteAccountComponent_ng_container_0_ng_container_4_Template","DeleteAccountComponent_ng_container_0_ng_template_6_Template","shfy_r8","DeleteAccountComponent","actRoute","accountService","cnfg","UserCode","SequenceCode","title","onHidden","clearStorageAfterSuccessfulDelete","sessionLangCode","localLangCode","DeleteAccountComponent_ng_container_0_Template","SessionTransferErrorCode","AccessTokenParseFailed","CreateDecryptorFailed","DecryptionFailed","DtoValueToBytesFailed","GetSessionTransferFailed","HashKeyToBytesFailed","InvalidValueBytes","JsonParseFailed","ParsedObjectInvalid","RemovePaddingFailed","TrimJsonFailed","UTF8DecodeFailed","SessionTransferError","errorCode","AuthSessionTransferService","getSessionTransfer$","sessionId","resp","dtoToModel","hashKey","dto","valueBytes","base64","ErrCode","ivBytes","subarray","encryptedBytes","hashKeyBytes","aesCbcDecryptor","decryptedBytesWithPadding","decryptedBytes","aesjs","cbc","decrypt","removePadding","TextDecoder","trimJson","idToken","paddingValue","reversed","reverse","firstNonPaddingEntry","nonPaddingIndex","firstIndex","lastIndex","LoaderComponent","InitSessionComponent","sessionTransferService","toastrConfig","disableTimeOut","queryArgs","replaceSpaceWithPlus","WindowRefService","nativeWindow","onClear","formatSuccessMessage","onSubmit","DxpSendForgotPasswordComponent_div_1_span_9_Template","onCancel","DxpSendForgotPasswordComponent_div_1_div_16_Template","touched","showMessage","DxpSendForgotPasswordComponent","RegExp","buildForm","encodeURIComponent","DxpSendForgotPasswordComponent_div_1_Template","deactivatedMessage","SendForgotPasswordComponent_ng_template_2_ng_container_0_span_9_Template","SendForgotPasswordComponent_ng_template_2_ng_container_0_div_15_Template","SendForgotPasswordComponent_ng_template_2_ng_container_0_div_16_Template","isUserDeactivated","SendForgotPasswordComponent_ng_template_2_ng_container_0_Template","SendForgotPasswordComponent","fb","windowRef","isUkShfyInstance$","valueChanges","errorMessage","controlName","SendForgotPasswordComponent_ng_container_0_Template","SendForgotPasswordComponent_ng_template_2_Template","originalForgotPasswordPage_r5","CheckLogin","check$","EePrivacyTermsComponent","redirectToLogin","ActivateAccountComponent_div_2_div_3_ng_container_1_Template","loading$","error$","ActivateAccountComponent_div_2_ng_template_5_div_0_Template","ActivateAccountComponent_div_2_ng_template_5_div_2_Template","ActivateAccountComponent_div_2_ng_template_5_div_4_Template","ActivateAccountComponent_div_2_ng_template_5_div_6_Template","isActiveUser","isLinkExpired","isDuplicateError","ActivateAccountComponent_div_2_mat_spinner_1_Template","ActivateAccountComponent_div_2_div_3_Template","ActivateAccountComponent_div_2_ng_template_5_Template","success$","notSuccessful_r5","ActivateAccountComponent","activeRt","changeEmail","share","putConfirmEmail","isShfy","shfyActivationRedirect","hasRedirected","loginLink$","isChangeEmail","ActivateAccountComponent_div_2_Template","PreventShfyGuard","registerProfileApiService","getUrlParam","navigateToDxp","isTwoFAEnabled","isActive","navigateToUrl","isLoggedInUserAllowed","isAllowed","infoUserTypes","isEmailVerified","shfyRoles","isGuestUserAllowed","MedioService","urlParams","medioUrl","MedioRedirectComponent","medio","RedirectGuard","routesFactory","loadChildren","__webpack_require__","NotFoundPageModule","component","pathMatch","redirectTo","all","IndexModule","ProfileV3Module","loadComponent","SsnVerificationComponent","canProceedToNewUI","isTaraActivation","getQueryParameter","UseNewUI","Registerv2Module","ProfileModule","TaraRegisterModule","MfaResetModule","AppRoutingModule","ROUTES","forRoot","UNDEFINED","Constructor","Prototype","strFunction","DynInstFuncTable","DynProxyTag","DynClassName","DynInstChkTag","DynAllowInstChkTag","DynProtoDefaultOptions","UnknownValue","str__Proto","DynProtoBaseProto","DynProtoGlobalSettings","DynProtoCurrent","strUseBaseInst","strSetInstFuncs","Obj","_objGetPrototypeOf","getPrototypeOf","_objGetOwnProps","_gbl","_getGlobal","globalThis","global","_gblInst","o","_hasOwnProperty","prop","_isObjectOrArrayPrototype","_isObjectArrayOrFunctionPrototype","Function","_getObjProto","newProto","curProto","_forEachProp","func","name_1","lp","_isDynamicCandidate","funcName","skipOwn","_throwTypeError","_newObject","_hasVisited","_populatePrototype","proto","baseInstFuncs","setInstanceFunc","instFuncTable","instFuncs_1","_createDynamicPrototype","dynProtoProxy","instFunc","_getInstFunc","currentDynProtoProxy","canAddInst","objProto","visited","protoFunc","_getProtoFunc","_getObjName","unknownValue","dynamicProto","theClass","delegateFunc","classProto","_checkPrototype","thisTarget","thisProto","perfOptions","useBaseInst","instFuncs","_getInstanceFuncs","baseFuncs","_getBaseFuncs","_instFuncProxy","funcHost","theFunc","baseProto","strShimFunction","strShimObject","strShimUndefined","strShimPrototype","strShimHasOwnProperty","ObjClass","ObjProto","ObjAssign","ObjCreate","ObjDefineProperty","defineProperty","ObjHasOwnProperty","_cachedGlobal","getGlobal","useCached","throwTypeError","objCreateFn","tmpFunc","__assignFn","extendStaticsFn","setPrototypeOf","__proto__","__extendsFn","__","__spreadArrayFn","to","il","j","_DYN_INITIALIZE","_DYN_NAME","_DYN_GET_NOTIFY_MGR","_DYN_IDENTIFIER","_DYN_PUSH","_DYN_IS_INITIALIZED","_DYN_CONFIG","_DYN_INSTRUMENTATION_KEY","_DYN_LOGGER","_DYN_LENGTH","_DYN_TIME","_DYN_PROCESS_NEXT","_DYN_GET_PROCESS_TEL_CONT0","_DYN_ADD_NOTIFICATION_LIS1","_DYN_REMOVE_NOTIFICATION_2","_DYN_STOP_POLLING_INTERNA3","_DYN_ON_COMPLETE","_DYN_GET_PLUGIN","_DYN_FLUSH","_DYN__EXTENSIONS","_DYN_SPLICE","_DYN_TEARDOWN","_DYN_MESSAGE_ID","_DYN_MESSAGE","_DYN_IS_ASYNC","_DYN__DO_TEARDOWN","_DYN_UPDATE","_DYN_GET_NEXT","_DYN_DIAG_LOG","_DYN_SET_NEXT_PLUGIN","_DYN_CREATE_NEW","_DYN_COOKIE_CFG","_DYN_INDEX_OF","_DYN_SUBSTRING","_DYN_USER_AGENT","_DYN_SPLIT","_DYN_SET_ENABLED","_DYN_SUBSTR","_DYN_NODE_TYPE","_DYN_APPLY","_DYN_REPLACE","_DYN_ENABLE_DEBUG_EXCEPTI4","_DYN_LOG_INTERNAL_MESSAGE","_DYN_TO_LOWER_CASE","_DYN_CALL","_DYN_TYPE","_DYN_HANDLER","_DYN_LISTENERS","_DYN_IS_CHILD_EVT","_DYN_GET_CTX","_DYN_SET_CTX","_DYN_COMPLETE","_DYN_TRACE_ID","_DYN_TRACE_FLAGS","_DYN_VERSION","STR_EMPTY","STR_CHANNELS","STR_CORE","STR_CREATE_PERF_MGR","STR_DISABLED","STR_EXTENSION_CONFIG","STR_PROCESS_TELEMETRY","STR_PRIORITY","STR_EVENTS_SENT","STR_EVENTS_DISCARDED","STR_EVENTS_SEND_REQUEST","STR_PERF_EVENT","STR_ERROR_TO_CONSOLE","STR_WARN_TO_CONSOLE","STR_GET_PERF_MGR","strToISOString","cStrEndsWith","strIndexOf","strReduce","cStrTrim","strToString","strConstructor","_objDefineProperty","_objFreeze","freeze","_objKeys","StringProto","_strTrim","_strEndsWith","_dataToISOString","_isArray","_objToString","_fnToString","_objFunctionString","rCamelCase","rNormalizeInvalid","rLeadingNumeric","isUndefined","isNullOrUndefined","isNotNullOrUndefined","isObject","isFunction","normalizeJsName","isString","_all","letter","objForEachKey","callbackfn","strEndsWith","_strEndsWithPoly","searchLen","valLen","strContains","_isArrayPoly","isError","isNumber","isPlainObject","toISOString","_toISOStringPoly","getUTCFullYear","pad","num","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","arrForEach","thisArg","arrIndexOf","searchElement","fromIndex","abs","arrMap","results","strTrim","_objKeysHasDontEnumBug","propertyIsEnumerable","_objKeysDontEnums","objKeys","objType","dontEnumsLength","objDefineAccessors","getProp","setProp","descriptor","enumerable","configurable","deepFreeze","objFreeze","_doNothing","dateNow","dt","getTime","getExceptionName","object","valChk","srcChk","theValue","getSetValue","defValue","getCfgValue","defaultValue","isTruthy","_createProxyFunction","srcFunc","originalArguments","proxyFunctionAs","overwriteTarget","proxyFunctions","functionsToProxy","theFuncName","optimizeObject","theObject","objExtend","obj1","obj2","obj3","obj4","obj5","obj6","theArgs","extended","argLen","deep","isBoolean","arg","isArgArray","isArgObj","newValue","isNewArray","_DYN_INGESTIONENDPOINT","_DYN_TO_STRING","_DYN_REMOVE_ITEM","_DYN_STRINGIFY","_DYN_PATHNAME","_DYN_CORRELATION_HEADER_E0","_DYN_EXCEPTIONS","_DYN_PARSED_STACK","_DYN_PROPERTIES","_DYN_MEASUREMENTS","_DYN_SIZE_IN_BYTES","_DYN_TYPE_NAME","_DYN_SEVERITY_LEVEL","_DYN_PROBLEM_GROUP","_DYN_IS_MANUAL","_DYN__CREATE_FROM_INTERFA1","_DYN_ASSEMBLY","_DYN_FILE_NAME","_DYN_HAS_FULL_STACK","_DYN_LEVEL","_DYN_METHOD","_DYN_LINE","_DYN_DURATION","_DYN_RECEIVED_RESPONSE","strEmpty","stringToBoolOrDefault","msToTimeSpan","totalms","ms","sec","hour","days","strWindow","strDocument","strNavigator","strLocation","strPerformance","strJSON","strCrypto","strMsCrypto","strMsie","strTrident","strXMLHttpRequest","_isTrident","_navUserAgentCheck","_enableMocks","_useXDomainRequest","_beaconsSupported","_hasProperty","property","supported","getGlobalInst","gbl","hasWindow","getWindow","hasDocument","getDocument","hasNavigator","getNavigator","hasHistory","history","getLocation","checkForMock","mockLocation","getPerformance","hasJSON","getJSON","isIE","nav","userAgent","getIEVersion","userAgentStr","navigator_1","ua","doc","parseInt","tridentVer","dumpObj","objectTypeDump","propertyValueDump","isBeaconsSupported","sendBeacon","isFetchSupported","withKeepAlive","isSupported","useXDomainRequest","XDomainRequest","isXhrSupported","_debugListener","listenerFuncs","_aiNamespace","_listenerProxyFunc","dbgExt","getDebugExt","ns","disableDbgExt","_getExtensionNamespace","ApplicationInsights","ChromeDbgExt","_sanitizeDiagnosticText","_logToConsole","theConsole","getConsole","logFunc","_InternalLogMessage","msgId","msg","isUserAct","properties","_self","strProps","diagnosticText","dataType","safeGetLogger","core","DiagnosticLogger","identifier","queue","_loggingLevelConsole","_loggingLevelTelemetry","_maxInternalMessageLimit","_enableDebug","_messageCount","_messageLogged","_logInternalMessage","severity","_areInternalMessagesThrottled","logMessage","messageKey","_debugExtMsg","throttleLimitMessage","throttleMessage","_setDefaultsFromConfig","loggingLevelConsole","loggingLevelTelemetry","maxMessageLimit","enableDebug","consoleLoggingLevel","telemetryLoggingLevel","maxInternalMessageLimit","throwInternal","resetInternalMessageCount","__ieDyn","_getLogger","_throwInternal","_warnToConsole","createEnumStyle","enumClass","StorageType","LocalStorage","SessionStorage","_canUseLocalStorage","AI","AI_AND_W3C","W3C","_canUseSessionStorage","_storagePrefix","_getLocalStorageObject","utlCanUseLocalStorage","_getVerifiedStorageObject","storageType","uid","fail","_getSessionStorageObject","utlCanUseSessionStorage","utlSetStoragePrefix","storagePrefix","utlGetSessionStorage","exception","utlSetSessionStorage","PropertiesPluginIdentifier","BreezeChannelIdentifier","DisabledPropertyName","SampleRate","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","DEFAULT_BREEZE_PATH","strNotSpecified","strIkey","dataSanitizeKeyAndAddUniqueness","origLength","dataSanitizeKey","uniqueField","dsPadNumber","nameTrunc","dataSanitizeString","maxLength","valueTrunc","dataSanitizeUrl","dataSanitizeInput","dataSanitizeMessage","messageTrunc","dataSanitizeException","exceptionTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","measurements","tempMeasurements_1","measure","dataSanitizeId","_msgId","inputTrunc","createTelemetryItem","baseType","envelopeName","customProperties","systemProperties","iKey","telemetryItem","ext","tags","baseData","MAX_NAME_LENGTH","MAX_ID_LENGTH","MAX_PROPERTY_LENGTH","MAX_STRING_LENGTH","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_EXCEPTION_LENGTH","sanitizeKey","sanitizeString","sanitizeUrl","sanitizeMessage","sanitizeId","sanitizeInput","padNumber","aiDataContract","ver","envelopeType","Trace","severityLevel","DataPoint","kind","count","stdDev","Metric","metrics","dataPoint","PageView","durationMs","PageViewPerformance","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","filename","lineno","colno","_isStackDetails","details","_convertStackObj","errorStack","_getStackFromErrorObj","errorObj","opera","_getOperaStack","lines","entry","_getErrorType","typeName","_formatErrorCode","Exception","exceptions","_isExceptionInternal","_ExceptionDetails","CreateAutoException","lineNumber","columnNumber","evt","errorSrc","stackDetails","CreateFromInterface","ex","__assign","toInterface","problemGroup","isManual","exceptionDetailsInterface","CreateSimpleException","assembly","fileName","line","formatError","outerId","hasFullStack","parsedStack","_isExceptionDetailsInternal","_parseStack","frames","level_1","totalSizeInBytes_1","theFrame","_StackFrame","regex","test","parsedFrame","right","size","acceptedLeft","acceptedRight","_formatStackTrace","sourceFrame","matches","sizeInBytes","baseSize","strToGMTString","strToUTCString","strCookie","strExpires","strEnabled","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_doc","_cookieCache","_globalCookieConfig","_isMgrEnabled","cookieMgr","isEnabled","_isIgnoredCookie","cookieMgrCfg","ignoreCookies","safeGetCookieMgr","getCookieMgr","cookieCfg","createCookieMgr","_gblCookieMgr","inst","rootConfig","cookieMgrConfig","_createCookieMgrConfig","cookieDomain","cookiePath","cookieEnabled","_path","_domain","domain","_enabled","enabled","areCookiesSupported","gblManager","maxAgeSec","_isBlockedCookie","blockedCookies","_extractParts","_isIE","expireMs","expiry","setTime","_formatDate","location_1","protocol","uaDisallowsSameSiteNone","setCookie","_setCookieValue","_formatCookieValue","getCookie","_getCookieValue","del","purge","delCookie","thePart","theDate","cookieValue","theCookie","UInt32Mask","MaxUInt32","_mwcSeeded","_mwcW","_mwcZ","_autoSeedMwc","_mwcSeed","seedValue","random","random32","signed","getCrypto","getMsCrypto","mwcRandom32","newId","chars","instanceName","_dataUid","_canAcceptData","createUniqueNamespace","includeVersion","createElmNodeData","accept","addDefault","theCache","_getCache","_createAccessor","kill","strOnPrefix","strAttachEvent","strAddEventHelper","strDetachEvent","strRemoveEventListener","strEvents","strVisibilityChangeEvt","strPageHide","strBeforeUnload","strPageHideNamespace","rRemoveEmptyNs","rRemoveTrailingEmptyNs","_guid","elmNodeData","eventNamespace","_normalizeNamespace","_getEvtNamespace","eventName","evtNamespace","theNamespace_1","parsedEvent","_getRegisteredEvents","evtName","aiEvts","registeredEvents","_doDetach","handlerRef","useCapture","_doUnregister","unRegFn","capture","mergeEvtNamespace","theNamespace","namespaces","eventOn","_doAttach","registeredEvent","guid","eventOff","evtName_1","found_1","_unregisterEvents","eventCache","evtType","regEvent","_addEventListeners","excludeEvents","added","addEventHandler","w","removeEventListeners","removeEventHandler","addPageHideEventListener","newNamespaces","pageUnloadAdded","_handlePageVisibility","visibilityState","generateW3CId","tmp","hexValues","oct","clockSequenceHi","INVALID_TRACE_ID","INVALID_SPAN_ID","_isValid","invalidValue","_formatValue","createTraceParent","traceId","spanId","flags","isValidTraceId","isValidSpanId","traceFlags","formatTraceParent","_formatFlags","createDomEvent","createEvent","initEvent","RequestHeaders","createValueMap","mapClass","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","urlParseHost","inclPort","fullHost","urlParseFullHost","port","_internalEndpoints","isInternalApplicationInsightsEndpoint","endpointUrl","CorrelationIdHelper","correlationIdPrefix","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","correlationHeaderExcludePatterns","requestHost","enableCorsCorrelation","matchExists_1","includedDomains","correlationHeaderDomains","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","correlationId","getCorrelationContextValue","keyValues","keyValue","dateTimeUtilsNow","perf","timing","navigationStart","dateTimeUtilsDuration","end","createDistributedTraceContextFromTrace","telemetryTrace","parentCtx","trace","setName","getTraceId","traceID","setTraceId","getSpanId","parentID","setSpanId","getTraceFlags","setTraceFlags","newTraceFlags","RemoteDependencyData","absoluteUrl","commandName","resultCode","requestAPI","correlationContext","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","AjaxHelperParseDependencyPath","pathName","strExecutionContextKey","strParentContextKey","strChildrenContextKey","PerfEvent","payloadDetails","isAsync","theDetails_1","accessorDefined","childTime","childEvts","childEvt","exTime","ParentContextKey","ChildrenContextKey","PerfManager","fire","perfEvent","doPerfActiveKey","doPerf","mgrSource","getSource","perfMgr","perfEvt","currentActive","children","pluginStateData","_getPluginState","plugin","initializePlugins","processContext","extensions","pluginState","initPlugins","lastPlugin","proxy","thePlugin","getCfg","sortPlugins","plugins","extA","extB","bHasProcess","strTelemetryPluginChain","strHasRunFlags","strGetTelCtx","_chainId","_createInternalContext","telemetryChain","startAt","_nextProxy","_onComplete","_getNextProxyStart","createTelemetryProxyChain","context","_next","_moveNext","nextProxy","completeDetails","diagLog","getExtCfg","_getExtCfg","_getConfig","extConfig","hasNext","getNext","setNext","nextPlugin","iterate","_iterateChain","onComplete","_addOnComplete","that","_i","mergeDefault","theConfig","newConfig_1","cfgValue","createProcessTelemetryContext","internalContext","_processNext","_createNew","createProcessTelemetryUnloadContext","unloadState","createProcessTelemetryUpdateContext","updateState","firstProxy","lastProxy_1","newProxy","createTelemetryPluginProxy","chainId","hasProcessTelemetry","hasSetNext","proxyChain","getPlugin","processTelemetry","_processTelemetry","itemCtx","_processChain","_getTelCtx","_callProcessTelemetry","sync","_unloadPlugin","unloadCtx","_callTeardown","hasRun","pluginCore","update","_updatePlugin","updateCtx","_callUpdate","_id","_setNext","processPluginFn","hasRunContext","nextId","hasNextRun","aiInstrumentHooks","cbNames","_arrLoop","_doCallbacks","hooks","callDetails","cbArgs","hookCtx","hook","cbks","orgEx","hookErrorCb","_getOwner","checkPrototype","checkParentProto","owner","_createInstrumentHook","callbacks","aiHook","newFunc","_createFunctionHook","orgArgs","h","funcArgs","_replaceArg","_createArgs","rslt","theHook","rm","InstrumentFunc","InstrumentEvent","createUnloadHandlerContainer","handlers","_addHandler","handler","_runHandlers","strGetPlugin","BaseTelemetryPlugin","_isinitialized","_rootCtx","_nextPlugin","_unloadHandlerContainer","_hooks","currentCtx","_setDefaults","pluginChain","_initDefaults","unloadDone","theUnloadCtx","theUnloadState","_unloadCallback","oldHooks","updateDone","theUpdateCtx","_doUpdate","_updateCallback","_addHook","setInitialized","isInitialized","_DYN_DISABLE_EXCEPTION_TR0","_DYN_AUTO_TRACK_PAGE_VISI1","_DYN_OVERRIDE_PAGE_VIEW_D2","_DYN_ENABLE_UNHANDLED_PRO3","_DYN_SAMPLING_PERCENTAGE","_DYN_IS_STORAGE_USE_DISAB4","_DYN_IS_BROWSER_LINK_TRAC5","_DYN_ENABLE_AUTO_ROUTE_TR6","_DYN_NAME_PREFIX","_DYN_DISABLE_FLUSH_ON_BEF7","_DYN_CORE","_DYN_DATA_TYPE","_DYN_ENVELOPE_TYPE","_DYN_TRACK","_DYN_TRACK_PAGE_VIEW","_DYN_TRACK_PREVIOUS_PAGE_9","_DYN_SEND_PAGE_VIEW_INTER10","_DYN_SEND_PAGE_VIEW_PERFO11","_DYN_POPULATE_PAGE_VIEW_P12","_DYN_HREF","_DYN_SEND_EXCEPTION_INTER13","_DYN_EXCEPTION","_DYN_ERROR","_DYN__ONERROR","_DYN_ERROR_SRC","_DYN_LINE_NUMBER","_DYN_COLUMN_NUMBER","_DYN__CREATE_AUTO_EXCEPTI14","_DYN_ADD_TELEMETRY_INITIA15","_DYN_IS_PERFORMANCE_TIMIN16","_DYN_GET_PERFORMANCE_TIMI17","_DYN_NAVIGATION_START","_DYN_SHOULD_COLLECT_DURAT18","_DYN_IS_PERFORMANCE_TIMIN19","_DYN_RESPONSE_START","_DYN_LOAD_EVENT_END","_DYN_RESPONSE_END","_DYN_CONNECT_END","_DYN_PAGE_VISIT_START_TIM20","_isWebWorker","PageViewManager","appInsights","overridePageViewDuration","pageViewPerformanceManager","queueTimer","itemQueue","pageViewPerformanceSent","_flushChannels","flush","_startTimer","allItems","doFlush","_addQueue","pageView","uri","isWebWorker","WorkerGlobalScope","customDuration","pageViewSent","processed","pageViewPerformance","teardown","botAgentNames","_isPerformanceTimingSupported","_isPerformanceTimingDataReady","domainLookupStart","domLoading","_getPerformanceTiming","_shouldCollectDuration","durations","isGoogleBot","PageViewPerformanceManager","navigationTiming","_getPerformanceNavigationTiming","_isPerformanceNavigationTimingSupported","getEntriesByType","total","network","dom","startTime","requestStart","responseEnd","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","currentPageName","currentPageUrl","prevPageVisitTimeData","restartPageVisitTimer","pageName","pageUrl","prevPageVisitData","stopPageVisitTimer","pageVisitEndTime","pageVisitDataJsonStr","pageVisitTime","utlRemoveSessionStorage","startPageVisitTimer","currPageVisitData","PageVisitData","currPageVisitDataStr","Timing","_dispatchEvent","evnt","dispatchEvent","MinMilliSeconds","_configMilliseconds","_getDefaultConfig","sessionRenewalMs","sessionExpirationMs","disableFlushOnUnload","_updateStorageUsage","utlDisableStorage","utlEnableStorage","AnalyticsPlugin","_super","_eventTracking","_pageTracking","_pageViewManager","_pageViewPerformanceManager","_pageVisitTimeManager","_preInitTelemetryInitializers","_isBrowserLinkTrackingEnabled","_browserLinkInitializerAdded","_enableAutoRouteTracking","_historyListenerAdded","_disableExceptionTracking","_autoExceptionInstrumented","_enableUnhandledPromiseRejectionTracking","_autoUnhandledPromiseInstrumented","_prevUri","_currUri","_evtNamespace","priority","autoRoutePVDelay","_base","processNext","trackEvent","EventTelemetry","startTrackEvent","stopTrackEvent","trackTrace","trackMetric","metric","inPv","refUri","referrer","trackPageViewPerformance","inPvp","startTrackPage","stopTrackPage","measurement","loc","theError","trackException","isCrossOriginError","_sendCORSException","errorString","telemetryInitializer","initialize","initializer","_populateDefaults","defaults","trackPageVisitTime","average","sampleCount","PageName","PageUrl","_updateBrowserLinkTracking","_addDefaultTelemetryInitializers","browserLinkPaths_1","envelope","remoteData","_updateExceptionTracking","locn","autoExceptionInstrumented","rsp","_addUnhandledPromiseRejectionTracking","_location","_getReason","autoUnhandledPromiseInstrumented","_updateLocationChange","win","_history","getHistory","pushState","replaceState","strUndefined","_addHistoryListener","namePrefix","_popstateHandler","_locationChangeHandler","distributedTraceCtx","_getDistributedTraceCtx","getTraceCtx","traceLocationName","_doTeardown","__extends","getDefaultConfig","_aiNameFunc","baseName","aiName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","ContextTagKeys","createClassFromInterface","class_1","_this_1","applicationVersion","applicationBuild","applicationTypeId","applicationLayer","deviceId","deviceIp","deviceLanguage","deviceLocale","deviceModel","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOS","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","deviceBrowser","deviceBrowserVersion","locationIp","locationCountry","locationProvince","locationCity","operationId","operationName","operationParentId","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userStoreRegion","userAuthUserId","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalSdkVersion","internalAgentVersion","internalSnippet","internalSdkSrc","Extensions","CtxTagKeys","Envelope","sampleRate","Data","STR_DURATION","_DYN_TAGS","_DYN_DEVICE_TYPE","_DYN_DATA","_DYN_ON_LINE","_DYN_IS_ONLINE","_DYN_ENQUEUE","_DYN_COUNT","_DYN_EVENTS_LIMIT_IN_MEM","_DYN_EMIT_LINE_DELIMITED_0","_DYN_CLEAR","_DYN_BATCH_PAYLOADS","_DYN_MARK_AS_SENT","_DYN_CLEAR_SENT","_DYN_BUFFER_OVERRIDE","_DYN__BUFFER__KEY","_DYN__SENT__BUFFER__KEY","_DYN__MAX__BUFFER__SIZE","_DYN_MAX_BATCH_SIZE_IN_BY1","_DYN_TRIGGER_SEND","_DYN_ONUNLOAD_DISABLE_BEA2","_DYN_IS_BEACON_API_DISABL3","_DYN__SENDER","_DYN__SENDER_CONFIG","_DYN_ENABLE_SESSION_STORA4","_DYN__BUFFER","_DYN_ENDPOINT_URL","_DYN_CUSTOM_HEADERS","_DYN_DISABLE_XHR","_DYN_ONUNLOAD_DISABLE_FET5","_DYN_DISABLE_TELEMETRY","_DYN_BASE_TYPE","_DYN_SAMPLE_RATE","_DYN_CONVERT_UNDEFINED","_DYN__ON_ERROR","_DYN__ON_PARTIAL_SUCCESS","_DYN__ON_SUCCESS","_DYN_ITEMS_ACCEPTED","_DYN_IS_RETRY_DISABLED","_DYN_SET_REQUEST_HEADER","_DYN_MAX_BATCH_INTERVAL","_DYN_EVENTS_SEND_REQUEST","_DYN_DISABLE_INSTRUMENTAT7","_DYN_GET_SAMPLING_SCORE","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","_extractPropsAndMeasurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","iKeyNoDashes","_extractPartAExtensions","envTags","itmExt","itmTags","extUser","authId","localId","extApp","app","sesId","extDevice","device","deviceClass","ip","model","web","browserLang","browserVer","browser","envData","envBaseData","envProps","screenRes","userConsent","extOs","os","extTrace","tgs","tg","theTags","EnvelopeCreator","EnvelopeCreatorInit","EventEnvelopeCreator","customMeasurements","baseTypeSource","eventData","_disableEvents","BaseSendBuffer","_buffer","_bufferFullMessageSent","_get","_set","getItems","ArraySendBuffer","SessionStorageSendBuffer","bufferItems","_getBuffer","notDeliveredItems","_removePayloadsFromBuffer","payloads","remaining","prefixedKey","bufferJson","buffer_1","_setBuffer","sentElements","BUFFER_KEY","SENT_BUFFER_KEY","MAX_BUFFER_SIZE","Serializer","_serializeObject","circularReferenceCheck","_serializeStringMap","_serializeArray","contract","isRequired","isHidden","isPresent","isObj","sources","expectedType","parseFloat","HashCodeScoreGenerator","getHashCodeScore","getHashCode","INT_MAX_VALUE","SamplingScoreGenerator","hashCodeGenerator","Sample","samplingRate","samplingScoreGenerator","isSampledIn","samplingPercentage","_getResponseText","xhr","_getDefaultAppInsightsChannelConfig","retryCodes","EnvelopeTypeCreator","TraceEnvelopeCreator","PageViewEnvelopeCreator","currentContextId","bd","pageType","pageViewData","PageViewPerformanceEnvelopeCreator","ExceptionEnvelopeCreator","exData","MetricEnvelopeCreator","baseMetricData","DependencyEnvelopeCreator","remoteDepData","responseCode","Sender","_senderConfig","_consecutiveErrors","_retryAt","_paused","_timeoutHandle","_serializer","_stamp_specific_redirects","_headers","_fallbackSender","_syncUnloadSender","_offlineListener","_retryCodes","_syncFetchPayload","_checkResponsStatus","responseUrl","countOfItemsInPayload","_appId","_parseResponse","appId","_checkAndUpdateEndPointUrl","_isRetriable","_resendPayload","isOnline","_doUnloadSend","_beaconSender","_doBeaconSend","batch","plainTextBatch","Blob","queued","_onSuccess","droppedPayload","thePayload","_xhrSender","XMLHttpRequest","endPointUrl","onreadystatechange","_xhrReadyStateChange","onerror","_formatErrorMessageXhr","_fetchKeepAliveSender","payloadSize","_doFetchSender","_fetchSender","requestHeaders","Headers","batchLength","ignoreResponse","responseHandled","keepalive","Request","itemsReceived","itemsAccepted","linearFactor","payload_1","_setRetryTime","delayInSeconds","backOffSlot","pow","backOffDelay","retryAfterTimeSpan","_setupTimer","retryInterval","timerValue","_clearScheduledTimer","statusCode","_xdrSender","xdr","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","_sample","pause","resume","callBack","sendReason","onunloadFlush","addHeader","createOfflineListener","parentEvtNamespace","_navigator","_isListening","_onlineStatus","_enableEvents","ononline","_setOnline","_setOffline","_isOnline","isListening","_unload","useSessionStorage","_validateInstrumentationKey","customHeaders","customHeader","senderConfig","sendPostFunc","diagLogger","_isSampledIn","convertUndefined","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","doNotSendItem_1","readyState","responseURL","async","forcedSender","_notifySendRequest","sendRequest","_getNotifyMgr","_notificationManager","ieVer","failed","retry","errors_1","extracted","orig","parseConnectionString","connectionString","arrReduce","initialValue","kv","kvParts","endpointsuffix","Verbose","Information","Warning","Critical","_addChannelQueue","channelQueue","queueItem","chain","TelemetryInitializerPlugin","_initializers","addTelemetryInitializer","theInitializer","doNotSendItem","telemetryInitializersCount","strValidationError","strNotificationManager","strSdkUnloadingError","defaultInitConfig","_createPerfManager","notificationMgr","_isPluginPresent","exists","BaseCore","_config","_isInitialized","_eventQueue","_perfManager","_cfgPerfManager","_cookieManager","_pluginChain","_configExtensions","_coreExtensions","_channelControl","_channelConfig","_channelQueue","_isUnloading","_telemetryInitializerPlugin","_internalLogsEventName","_unloadHandlers","_traceCtx","_internalLogPoller","_forceStopInternalLogPoller","_startInternalLogTimer","alwaysStart","interval","diagnosticLogInterval","_flushInternalLogs","_createTelCtx","theCtx","_getPluginChain","_initPluginChain","theExtensions","_validateExtensions","channelPriority","allExtensions","coreExtensions","extPriorities","extPriority","createChannelQueues","channels","extensionQueue_1","_setQueue","createChannelControllerPlugin","_processChannelQueue","theChannels","processFn","waiting","_runChainOnComplete","chainCtx","theUpdateState","getChannel","_getChannel","pluginIdentifier","cbTimeout","doneIterating","cbTimer","doCallback","handled_1","_updateHook","_getPlugin","theExt","removeCb","pluginsToRemove","_removePlugins","removed","thePlugins","removeComplete","newConfigExtensions","newChannelConfig","newQueue","channel","track","_logOrThrowError","notificationManager","_initDebugListener","getDebugListener","_initPerfManager","enablePerfMgr","_initExtConfig","NotificationManager","cfgExtensions","__spreadArray","releaseQueue","getTransmissionControls","controls","_createDummyNotificationManager","setCookieMgr","createPerfMgr","setPerfMgr","eventCnt","eventQueue","pollInternalLogs","unloadComplete","flushComplete","processUnloadCtx","_doUnload","addPlugin","replaceExisting","addCb","existingPlugin","_addPlugin","removedPlugins_1","createNew","createDistributedTraceContext","setTraceCtx","traceCtx","_runListeners","listeners","perfEvtsSendAll","AppInsightsCore","_notifyInvalidEvent","_validateTelemetryItem","STR_PROPERTIES","_DYN_REQUEST_URL","_DYN_INST","_DYN_SPAN_ID","_DYN_CONTEXT","_DYN_ABORTED","_DYN_TRACE_ID0","_DYN_SPAN_ID1","_DYN_INCLUDE_CORRELATION_2","_DYN_CAN_INCLUDE_CORRELAT3","_DYN_GET_ABSOLUTE_URL","_DYN_HEADERS","_DYN_REQUEST_HEADERS","_DYN_APP_ID","_DYN_TRACK_DEPENDENCY_DAT4","_DYN_DISTRIBUTED_TRACING_5","_DYN_START_TIME","_DYN_STATUS","_DYN_STATUS_TEXT","_DYN_HEADER_MAP","_DYN_OPEN_DONE","_DYN_SEND_DONE","_DYN_REQUEST_SENT_TIME","_DYN_ABORT_DONE","_DYN_GET_TRACE_ID","_DYN_GET_TRACE_FLAGS","_DYN_ERROR_STATUS_TEXT","_DYN_STATE_CHANGE_ATTACHE14","_DYN_RESPONSE_FINISHED_TI15","_DYN__CREATE_TRACK_ITEM","_DYN_RESPONSE","_DYN_GET_ALL_RESPONSE_HEA16","_DYN_GET_PART_APROPS","_DYN_GET_CORRELATION_CONT17","_DYN_PERF_MARK","_DYN_PERF_TIMING","_DYN_AJAX_TOTAL_DURATION","_DYN_EVENT_TRACE_CTX","_calcPerfDuration","resourceEntry","_setPerfDuration","_setPerfValue","strPerf","XHRMonitoringState","setRequestHeaderDone","ajaxRecord","completed","requestHeadersSize","responseReceivingDuration","callbackDuration","requestSize","responseStartedTime","callbackFinishedTime","endTime","xhrMonitoringState","clientFailure","getAbsoluteUrl","urlGetAbsoluteUrl","getPathName","urlGetCompleteUrl","ajaxType","enableRequestHeaderTracking","getResponse","ajaxTotalDuration","requestSentTime","responseFinishedTime","dependency","_populatePerfData","ajaxData","propsSet","strName","strStart","strEnd","strDomainLookup","strConnect","strRedirect","strRequest","strResponse","strStartTime","strDomainLookupStart","strDomainLookupEnd","strConnectStart","strConnectEnd","strRequestStart","strRequestEnd","strResponseStart","strResponseEnd","strRedirectStart","strRedirectEnd","strTransferSize","strEncodedBodySize","strDecodedBodySize","strServerTiming","serverTiming","server_1","perfAttempts","headerMap","responseHeaders","partA","traceExt","AJAX_MONITOR_PREFIX","strDiagLog","AJAX_DATA_CONTAINER","STR_FETCH","ERROR_HEADER","ERROR_PREFIX","ERROR_POSTFIX","ERROR_NOT_SENT","CORRELATION_HEADER_ERROR","CUSTOM_REQUEST_CONTEXT_ERROR","FAILED_TO_CALCULATE_DURATION_ERROR","_markCount","_getAjaxData","ajaxDataId","_isHeaderSet","xh","_getFailedAjaxDiagnosticsMessage","_throwInternalCritical","ajaxMonitorInstance","_throwInternalWarning","_createErrorCallbackFunc","internalMessage","ajaxDiagnosticsMessage","_ajaxDataId","_indexOf","theHandler","_processDependencyContainer","BLOB_CORE","DfltAjaxCorrelationHeaderExDomains","_internalExcludeEndpoints","maxAjaxCallsPerView","disableAjaxTracking","disableFetchTracking","excludeRequestFromAutoTrackingPatterns","distributedTracingMode","enableResponseHeaderTracking","enableAjaxErrorStatusText","enableAjaxPerfTracking","maxAjaxPerfLookupAttempts","ajaxPerfLookupDelay","ignoreHeaders","addRequestContext","addIntEndpoints","_getEmptyConfig","emptyConfig","AjaxMonitor","_fetchInitialized","_xhrInitialized","_currentWindowHost","_enableRequestHeaderTracking","_enableAjaxErrorStatusText","_trackAjaxAttempts","_context","_isUsingW3CHeaders","_isUsingAIHeaders","_markPrefix","_enableAjaxPerfTracking","_maxAjaxCallsPerView","_enableResponseHeaderTracking","_disabledUrls","_disableAjaxTracking","_disableFetchTracking","_excludeRequestFromAutoTrackingPatterns","_addRequestContext","_dependencyHandlerId","_dependencyListeners","_dependencyInitializers","getEmptyConfig","_canIncludeHeaders","rlt","_hookProto","InstrumentProto","_isDisabledRequest","isDisabled","theUrl","theRegex","idx2","_isMonitoredXhrInstance","excludeAjaxDataValidation","ajaxValidation","initialized","_getAjaxCorrelationContext","responseHeadersString","getResponseHeader","_createMarkId","performance_1","mark","markId","getEntriesByName","_findPerfResourceEntry","initiatorType","trackCallback","reportError","perfMark","performance","maxAttempts","retryDelay","attempt","locateResourceTiming","perfTiming","getEntries","entryType","clearMarks","_getFailedFetchDiagnosticsMessage","_reportFetchMetrics","_reportFetchError","failedProps","errorProps","fetchDiagnosticsMessage","sysProperties","_reportDependencyInternal","_getFetchCorrelationContext","initializers","aborted","instrumentationKey","_instrumentXhr","_supportsAjaxMonitoring","strPrototype","xhrData","theOpen","_openHandler","spanID","xhrRequestData","ajaxDataCntr","_attachToOnReadyStateChange","_onAjaxComplete","_reportXhrError","ajaxResponse","responseHeaderMap_2","exceptionText","hkErr","_addSharedXhrHeaders","_instrumentFetch","_supportsFetch","_global","isPolyfill","polyfill","fetchData","_createFetchRecord","newInit","fetchData_1","responseHeaderMap_1","_populateContext","propExt","trackDependencyData","currentWindowHost","_processDependencyListeners","traceParent","addDependencyListener","dependencyListener","addDependencyInitializer","dependencyInitializer","Application","Device","_DYN_SESSION_MANAGER","_DYN_IS_USER_COOKIE_SET","_DYN_IS_NEW_USER","_DYN_GET_TRACE_CTX","_DYN_TELEMETRY_TRACE","_DYN_APPLY_SESSION_CONTEX0","_DYN_APPLY_APPLICATION_CO1","_DYN_APPLY_DEVICE_CONTEXT","_DYN_APPLY_OPERATION_CONT2","_DYN_APPLY_USER_CONTEXT","_DYN_APPLY_OPERATING_SYST3","_DYN_APPLY_LOCATION_CONTE4","_DYN_APPLY_INTERNAL_CONTE5","_DYN_ACCOUNT_ID","_DYN_SDK_EXTENSION","_DYN_GET_SESSION_ID","_DYN_SESSION_COOKIE_POSTF6","_DYN_USER_COOKIE_POSTFIX","_DYN_ID_LENGTH","_DYN_GET_NEW_ID","_DYN_AUTOMATIC_SESSION","_DYN_AUTHENTICATED_ID","_DYN_SESSION_EXPIRATION_M7","_DYN_SESSION_RENEWAL_MS","_DYN_ACQUISITION_DATE","_DYN_RENEWAL_DATE","_DYN_COOKIE_DOMAIN","_DYN_JOIN","_DYN_COOKIE_SEPARATOR","_DYN_AUTH_USER_COOKIE_NAM8","Internal","sdkVersion","Location","Session","_SessionManager","_storageNamePrefix","_cookieUpdatedTimestamp","acquisitionSpan","renewalSpan","sessionCookiePostfix","_initializeAutomaticSessionWithData","sessionData","sessionReset","tokens","acqMs","renewalMs","_setCookie","nowMs","acq","renewalPeriodMs","acqTimeLeftMs","cookie","isExpired","_initializeAutomaticSession","storageValue","utlGetLocalStorage","timeSinceAcqMs","timeSinceRenewalMs","_renew","getNewId","automaticSession","cookieUpdateInterval","backup","_setStorage","renewal","utlSetLocalStorage","TelemetryTrace","parentId","_validateUserInput","isNewUser","isUserCookieSet","userCookiePostfix","userCookieName","_generateNewId","_generateNewCookie","acqStr","accountAcquisitionDate","_setUserCookie","utlRemoveStorage","authCookie","authCookieString","decodeURI","setAuthenticatedUserContext","authenticatedUserId","accountId","storeInCookie","encodeURI","clearAuthenticatedUserContext","cookieSeparator","authUserCookieName","strExt","strTags","_removeEmpty","TelemetryContext","defaultConfig","previousTraceCtx","application","internal","autoSession","build","agentVersion","snippetVer","sdkSrc","applyWebContext","cleanUp","dist_esm_PropertiesPlugin","PropertiesPlugin","_extensionConfig","_distributedTraceCtx","_previousTraceCtx","breezeChannel","_extConfig","theContext","userCtx","_processTelemetryInternal","nullValue","isBrowserLinkTrackingEnabled","_internalSdkSrc","_AUTHENTICATED_USER_CONTEXT","_TRACK","STR_SNIPPET","STR_FLUSH","STR_POLL_INTERNAL_LOGS","STR_GET_PLUGIN","STR_EVT_NAMESPACE","STR_TRACK_EVENT","STR_TRACK_TRACE","STR_TRACK_METRIC","STR_TRACK_PAGE_VIEW","STR_TRACK_EXCEPTION","STR_TRACK_DEPENDENCY_DATA","STR_SET_AUTHENTICATED_USER_CONTEXT","STR_CLEAR_AUTHENTICATED_USER_CONTEXT","_DYN_DIAGNOSTIC_LOG_INTER4","_DYN_QUEUE","_DYN_CONNECTION_STRING","_DYN_APP_INSIGHTS","_DYN_DISABLE_IKEY_DEPRECA18","_DYN_GET_TRANSMISSION_CON19","_DYN_ONUNLOAD_FLUSH","_DYN_ADD_HOUSEKEEPING_BEF20","_ignoreUpdateSnippetProperties","Initialization","snippet","_sender","_snippetVersion","_houseKeepingNamespace","_core","cs","ingest","ingestionendpoint","instrumentationkey","DependenciesPlugin","isErrMessageDisabled","_getSKUDefaults","legacyMode","_updateSnippetProperties","emptyQueue","proxyAssign","chkSet","_loop_1","length_1","appInsightsInstance","performHousekeeping","loadedPlugin","propertiesPlugin","_sessionManager","excludePageUnloadEvents","disablePageUnloadEvents","addPageUnloadEventListener","addEventListeners","isReactNative","product","getSender","removePageUnloadEventListener","removePageHideEventListener","_getCurrentDependencies","cdns","scrpt","currentScript","MonitoringService","httpClient","envSetting","InstrumentationKey","ApplicationMonitoring","ApplicationName","enableAutoRouteTracking","Enabled","loadAppInsights","trackPageView","logPageView","logEvent","logMetric","logException","logTrace","Interrupt","onInterrupt","IdleExpiry","idValue","idlingValue","idling","last","AlternativeStorage","storageMap","getStorage","_wrapped","LocalStorageExpiry","idleName","setExpiry","getExpiry","setIdling","getIdling","getIdleName","setIdleName","KeepaliveSvc","AutoResume","idle","notIdle","Idle","zone","keepaliveSvc","platformId","timeoutVal","autoResume","interrupts","running","keepaliveEnabled","onIdleStart","onIdleEnd","onTimeoutWarning","onTimeout","getKeepaliveEnabled","setKeepaliveEnabled","getTimeout","seconds","getIdle","setIdle","getAutoResume","setAutoResume","setInterrupts","clearInterrupts","interrupt","force","innerArgs","getInterrupts","isRunning","isIdling","watch","skipExpiry","safeClearInterval","timeout","toggleState","startKeepalive","toggleInterrupts","watchFn","getExpiryDiff","setIdleIntervalOutsideOfZone","frequency","runOutsideAngular","idleHandle","stopKeepalive","countdown","eventArgs","doCountdown","setTimeoutIntervalOutsideZone","doCountdownInZone","intervalFn","timeoutHandle","handleName","ping","PLATFORM_ID","InterruptArgs","InterruptSource","attachFn","detachFn","isAttached","Zone","current","EventTargetInterruptSource","eventSubscription","throttleDelay","isPlatformServer","eventTarget","fromEvents","eventSrc","filterEvent","DocumentInterruptSource","originalEvent","movementX","movementY","WindowInterruptSource","StorageInterruptSource","NgIdleModule","ngModule","DEFAULT_INTERRUPTSOURCES","createDefaultInterruptSources","SetNodeAttribute","RemoveNodeAttribute","SetInputChecked","checked","Metadata","ResourceTiming","timestamp","ttfb","headerSize","encodedBodySize","decodedBodySize","initiator","LoadFontFace","family","descriptors","SetNodeFocus","SetNodeAttributeURLBased","baseURL","CreateIFrameDocument","frameID","AdoptedSSReplaceURLBased","sheetID","AdoptedSSInsertRuleURLBased","rule","AdoptedSSDeleteRule","AdoptedSSAddOwner","AdoptedSSRemoveOwner","JSException","DEPRECATED_ATTRS","htmlmasked","masked","IN_BROWSER","IS_FIREFOX","timeOrigin","stars","repeat","normSpaces","isURL","DOCS_HOST","warnedFeatures","deprecationWarn","nameOfFeature","useInstead","docsPath","getLabelAttribute","getAttribute","hasOpenreplayAttribute","attr","newName","hasAttribute","Nodes","node_id","nodes","nodeCallbacks","elementListeners","attachNodeCallback","nodeCallback","attachNodeListener","node","getID","registerNode","isNew","unregisterNode","cleanTree","callNodeCallbacks","isStart","getNode","isNode","sth","nodeType","isSVGElement","namespaceURI","isElementNode","Node","ELEMENT_NODE","isTextNode","TEXT_NODE","isDocument","DOCUMENT_NODE","isRootNode","DOCUMENT_FRAGMENT_NODE","hasTag","tagName","nodeName","isIgnored","tag","rel","as","isObservable","RecentsType","New","Removed","Changed","Observer","isTopContext","commited","recents","indexes","attributesMap","textSet","observer","MutationObserver","safe","mutations","mutation","removedNodes","bindNode","addedNodes","bindTree","attributeName","commitNodes","sendNodeAttribute","getBaseHref","sendNodeData","parentElement","SetCSSDataURLBased","SetNodeData","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","acceptNode","FILTER_REJECT","FILTER_ACCEPT","nextNode","currentNode","unbindTree","RemoveNode","_commitNode","commitNode","handleNode","sibling","previousSibling","siblingID","recentsType","clientHeight","CreateElementNode","svg","attributes","CreateTextNode","MoveNode","cmt","observeRoot","beforeCommit","nodeToBind","observe","childList","characterData","subtree","attributeOldValue","characterDataOldValue","disconnect","IFrameObserver","contentDocument","hostID","docID","ShadowRootObserver","shRoot","shadowRoot","rootID","IFrameOffsets","states","calcOffset","parLeft","parTop","offset","iFrame","getBoundingClientRect","getDocumentOffset","parentDoc","ownerDocument","invalidateOffset","defaultView","attachShadowNativeFn","Element","attachShadow","ShadowRoot","TopObserver","iframeOffsets","contextCallbacks","contextsSet","iframeObservers","shadowRootObservers","captureIFrames","handleIframe","handleShadowRoot","attachContextCallback","currentWin","currentDoc","shadow","SanitizeLevel","Plain","Obscured","Hidden","Sanitizer","obscured","obscureTextEmails","obscureTextNumbers","domSanitizer","sanitizeLevel","isObscured","getInnerTextSecure","innerText","Ticker","useSafe","unshift","wrap","IsCustomLevel","userID","attachUpdateCallback","handleUpdate","newInfo","sessionID","projectID","setMetadata","setUserID","getPageNumber","pageNoStr","session_pageno_key","incPageNo","pageNo","getSessionToken","session_token_key","setSessionToken","applySessionHash","hashParts","getSessionHash","getInfo","memory","deviceMemory","jsHeapSizeLimit","CANCELED","UnsuccessfulStart","ActivityState","NotActive","Starting","DEFAULT_INGEST_POINT","App","projectKey","sessionToken","messages","startCallbacks","stopCallbacks","commitCallbacks","activityState","revID","session_reset_key","local_uuid_key","ingestPoint","resourceBaseHref","verbose","__is_snippet","__debug_report_edp","ticker","commit","__debug__","notify","UserID","worker","Worker","createObjectURL","_debug","onmessage","alertWorker","attachEventListener","urgent","Timestamp","attachCommitCallback","attachStartCallback","attachStopCallback","checkRequiredVersion","reqVer","getTrackerInfo","userUUID","trackerVersion","isSnippet","getSessionInfo","getSessionID","getSessionURL","getHost","getProjectKey","baseURI","head","getElementsByTagName","resolveResourceURL","resourceURL","base","isServiceURL","resetNextPageSession","startOpts","resetByWorker","adjustTimeOrigin","sessionHash","forceNew","connAttemptCount","connAttemptGap","lsReset","needNewSessionID","beaconSizeLimit","startTimestamp","onStartInfo","onStart","onVisibilityChange","stopWorker","printError","printString","printObject","consoleMethods","getDefaultStack","functionName","getExceptionMessage","fallbackStack","ErrorStackParser","getExceptionMessageFromEvent","ErrorEvent","PromiseRejectionEvent","resolveURL","INPUT_TYPES","isTextEditable","isCheckable","labelElementFor","HTMLInputElement","labels","getInputLabel","labelElement","placeholder","isClickable","onclick","getTarget","_getTarget","ownerSVGElement","getDocumentScroll","pageXOffset","scrollLeft","pageYOffset","hasAdoptedSS","adoptedStyleSheets","nextID","styleSheetIDMap","DOCS_SETUP","API","processOptions","__OPENREPLAY__","__DISABLE_SECURE_MODE","doNotTrack","respectDoNotTrack","viewport","sendSetPageLocation","SetPageLocation","sendSetViewportSize","innerWidth","innerHeight","SetViewportSize","sendSetPageVisibility","SetPageVisibility","getTimeOrigin","Viewport","cssrules","CSSStyleSheet","TechnicalInfo","sendInsertDeleteRule","sheet","sendReplaceGroupingRule","topmostRule","parentRule","parentStyleSheet","cssText","cssRules","patchContext","insertRule","deleteRule","groupInsertRule","groupDeleteRule","CSSGroupingRule","nodeID","rules","CSSRules","constructedStyleSheets","adoptedStyleSheetsOwnings","sendAdoptedStyleSheetsUpdate","root","pastOwning","nowOwning","styleSheets","patchAdoptedStyleSheets","nativeAdoptedStyleSheetsDescriptor","getOwnPropertyDescriptor","retVal","__openreplay_adpss_patched__","Document","replaceSync","ConstructedStyleSheets","connection","mozConnection","webkitConnection","sendConnectionInformation","ConnectionInformation","downlink","Connection","modules_console","consoleThrottling","sendConsoleLog","ConsoleLog","printf","printFloat","printInt","patchConsole","Console","captureExceptions","img","sendPlaceholder","sendSrcset","srcset","resolvedSrcset","sendSrc","sendImgError","resolvedSrc","sendImgAttrs","naturalHeight","naturalWidth","isSVGInFireFox","attributeFilter","Img","obscureInputNumbers","obscureInputEmails","defaultInputMode","obscureInputDates","sendInputValue","inputMode","mask","SetInputValue","inputValues","checkableValues","registeredTargets","sendInputTarget","SetInputTarget","Input","mouse","mousePositionX","mousePositionY","mousePositionChanged","mouseTarget","mouseTargetTime","selectorMap","sendMouseMove","MouseMove","patchDocument","topframe","attachListener","clientX","clientY","MouseClick","hesitationTime","selector","getTargetLabel","dl","HTMLElement","getSelector","_getSelector","cn","sel","Mouse","captureResourceTimings","capturePageLoadTimings","capturePageRenderTimings","resources","resourceTiming","responseStart","transferSize","PerformanceObserver","prevSessionID","entryTypes","firstPaint","firstContentfulPaint","pageLoadTimingSent","loadEventEnd","domContentLoadedEventStart","domContentLoadedEventEnd","loadEventStart","PageLoadTiming","visuallyComplete","interactiveWindowStartTime","interactiveWindowTickTime","paintBlocks","pageRenderTimingSent","getPaintBlocks","elements","styleURL","currentSrc","backgroundImage","getComputedStyle","getPropertyValue","rect","bottom","area","speedIndex","calculateSpeedIndex","timeToInteractive","PageRenderTiming","modules_performance","capturePerformance","ticks","nextFrame","requestAnimationFrame","sendPerformanceTrack","PerformanceTrack","totalJSHeapSize","usedJSHeapSize","Performance","modules_scroll","documentScroll","nodeScroll","setNodeScroll","sendSetViewportScroll","SetViewportScroll","sendSetNodeScroll","SetNodeScroll","Scroll","modules_focus","sendSetNodeFocus","blurred","relatedTarget","elem","Focus","fonts","FontFace","docFonts","patchWindow","wnd","FontFaceInterceptor","desc","ffData","ffDataArr","Fonts","autoResetOnWindowOpen","wOpen","use","setUserAnonymousID","UserAnonymousID","userAnonymousID","issue","RawCustomEvent","CustomIssue","Keepalive","pingInterval","onPing","onPingResponse","pingRequest","HttpRequest","pingHandle","hasPingHandle","NgIdleKeepaliveModule","GoogleTagManagerConfigService","GoogleTagManagerConfiguration","googleTagManagerConfig","_googleTagManagerConfig","gtm_auth","gtm_preview","GoogleTagManagerModule","GoogleTagManagerService","googleTagManagerConfiguration","googleTagManagerId","googleTagManagerMode","googleTagManagerAuth","googleTagManagerPreview","googleTagManagerResourcePath","googleTagManagerCSPNonce","isLoaded","browserGlobals","documentRef","gtm_resource_path","checkForId","getDataLayer","dataLayer","pushOnDataLayer","addGtmToDom","gtmScript","applyGtmQueryParams","setAttribute","insertBefore","pushTag","InactivityService","ngZone","inactivityTime","setupActivityListeners","resetTimer","signOut","signout","AppComponent","renderer2","commonService","loggerService","gtmService","inactivityService","imgs","isFiTenant$","cookieBotDetailToggled","setPageClass","setTitle","_fetchFreshToken","isNewUI","idleTime","eeIdleTimeOutInSeconds","_enableIdleTimer","subscribeToLangChanges","setCountries","EnableGoogleTag","pload","openReplayEnabled","OpenReplayProjectKey","OpenReplayIngestPoint","tracker","OpenReplay","isLangLoading$","Image","addClass","NavigationStart","prevurl","removeClass","currentUrlSlug","privateRoute","idleTimerInSeconds","createIframes","changes$","CookieBotEnabled","cookieBotFrame","iFrameContainer","reload","expandElementSelector","onIframeReady","onMoreDetails","mergeAll","onAcceptClick","onDeclineClick","click","i8","AppComponent_ng_container_0_Template","AppComponent_div_3_Template","UnauthorizedComponent","UnauthorizedComponent_div_0_Template","ErrorHandlerService","matDialog","toastrService","Status","errorResponse","handleUnauthorized","handleForbidden","handleNotFound","handleServerError","handleGenericError","Message","timeOut","disableClose","TokenInterceptor","dialog","errorHandlerService","localSession","intercept","tokenJson","setHeaders","errorStatus","isNewErrorSchema","inputError","preventDuplicates","originalFn","invalidTimingValue","ɵRuntimeError","ngDevMode","optimizeGroupPlayer","players","NoopAnimationPlayer","ɵAnimationGroupPlayer","normalizeKeyframes$1","normalizer","keyframes","preStyles","postStyles","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","normalizedProp","normalizedValue","normalizePropertyName","ɵPRE_STYLE","AUTO_STYLE","normalizeStyleValue","animationFailed","listenOnPlayer","player","copyAnimationEvent","onDone","onDestroy","phaseName","makeAnimationEvent","triggerName","fromState","totalTime","getOrSetDefaultValue","parseTimelineCommand","command","separatorPos","getParentElement","_CACHED_BODY","_IS_WEBKIT","containsElement","elm1","elm2","invokeQuery","NoopAnimationDriver","validateStyleProperty","getBodyNode","containsVendorPrefix","matchesElement","_selector","computeStyle","easing","previousPlayers","scrubberAccessRequested","AnimationDriver","NOOP","AnimationStyleNormalizer","ONE_SECOND","ENTER_CLASSNAME","LEAVE_CLASSNAME","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","_convertTimeValueToMS","unit","resolveTiming","timings","allowNegativeValues","parseTimeExpression","delayMatch","easingVal","containsErrors","startIndex","negativeStepValue","negativeDelayValue","setStyles","formerStyles","camelProp","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","steps","sequence","PARAM_REGEX","extractStyleParams","interpolateParams","original","varName","localVal","invalidParamValue","DASH_CASE_REGEXP","visitDslNode","visitor","AnimationMetadataType","Trigger","visitTrigger","visitState","Transition","visitTransition","visitSequence","Group","visitGroup","Animate","visitAnimate","Keyframes","visitKeyframes","Style","visitStyle","Reference","visitReference","AnimateChild","visitAnimateChild","AnimateRef","visitAnimateRef","Query","visitQuery","Stagger","visitStagger","invalidNodeType","DIMENSIONAL_PROP_SET","WebAnimationsStyleNormalizer","propertyName","userProvidedProperty","normalizedProperty","strVal","valAndSuffixMatch","invalidCssUnitValue","ANY_STATE","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","makeLambdaFromStates","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN_REGEX","buildAnimationAst","driver","warnings","AnimationAstBuilderVisitor","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","transitions","invalidTrigger","definitions","def","stateDef","invalidDefinition","styleAst","astParams","containsDynamicStyles","missingSubs","invalidState","metadataName","matchers","parseTransitionExpr","transitionValue","expressions","parseInnerTransitionStr","eventStr","parseAnimationAlias","alias","invalidTransitionAlias","invalidExpression","expr","separator","normalizeAnimationOptions","furthestTime","step","innerAst","timingAst","constructTimingAst","makeTimingAst","strValue","ast","dynamic","currentAnimateTimings","styleMetadata","isEmpty","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","metadataStyles","styleTuple","collectedEasing","styleData","tuple","collectedEntry","updateCollectedStyle","invalidParallelAnimation","firstStart","firstEnd","secondStart","secondEnd","validateStyleParams","invalidStyleParams","invalidKeyframes","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","consumeOffset","invalidOffset","keyframeOffsetsOutOfOrder","generatedOffset","keyframesMissingOffsets","limit","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","includeSelf","normalizeSelector","hasAmpersand","originalSelector","invalidStagger","currentTransition","unsupportedCSSPropertiesFound","normalizeParams","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","instructions","existingInstructions","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","delayNextStep","timelines","timeline","containsAnimation","lastRootTimeline","allowOnlyTimelineStyles","elementInstructions","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","previousNode","_applyAnimationRefDelays","animationsRefsOptions","animationRefOptions","animationDelay","animationDelayValue","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","hasCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","currentQueryIndex","parentContext","tl","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","_copyOptions","oldParams","newTime","fork","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","invalidQuery","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_localTimelineStyles","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","_updateStyle","flattenStyles","allStyles","allProperties","getFinalKeyframe","details1","details0","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","oldOffset","decimalPoints","mult","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","oneOrMoreTransitionsMatch","matchFns","buildStyles","stateName","styler","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","applyParamDefaults","elm","userParams","AnimationStateStyles","defaultParams","combinedParams","AnimationTrigger","_normalizer","transitionFactories","balanceProperties","fallbackTransition","createFallbackTransition","containsQueries","matchTransition","matchStyles","stateMap","key1","key2","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","bodyNode","_animations","_playersById","register","registerFailed","_buildPlayer","autoStylesMap","missingOrDestroyedAnimation","createAnimationFailed","_getPlayer","missingPlayer","listen","baseEvent","play","restart","finish","setPosition","QUEUED_CLASSNAME","DISABLED_CLASSNAME","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","setForMove","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","normalizeTriggerValue","absorbOptions","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","hostElement","_engine","_triggers","_queue","_elementListeners","_hostClassName","phase","missingTrigger","missingEvent","isTriggerEventValid","unsupportedTriggerEvent","triggersWithStates","statesByElement","afterFlush","_getTrigger","unregisteredTrigger","defaultToFallback","TransitionAnimationPlayer","objEquals","k1","k2","playersOnElement","playersByElement","isFallbackTransition","totalQueuedPlayers","deregister","clearElementCache","elementPlayers","_signalRemovalForInnerTriggers","fetchNamespacesByElement","triggerLeaveAnimation","afterFlushAnimationsDone","destroyAfterComplete","triggerStates","previousTriggersValues","markElementAsRemoved","processLeaveNode","prepareLeaveAnimationListeners","elementStates","visitedTriggers","removeNode","engine","childElementCount","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","removalFlag","destroyInnerAnimations","_onRemovalComplete","insertNode","drainQueuedTransitions","microtaskId","destroyed","markedForDestroy","d0","d1","TransitionAnimationEngine","onRemovalComplete","scheduler","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","queuedPlayers","createNamespace","_balanceNamespaceList","collectEnterElement","namespaceList","found","ancestor","ancestorNs","registerTrigger","_fetchNamespace","stateValue","markElementAsDisabled","hostNS","_buildInstruction","subTimelines","skipBuildAst","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","whenRenderingDone","cleanupFns","_flushAnimations","quietFns","triggerTransitionsFailed","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","previousValue","nodeIsOrphaned","stringMap","setVal","transitionFailed","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","overrideTotalTime","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","parentPlayer","playersForElement","syncPlayerEvents","queriedPlayerResults","queriedInnerElements","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","getRealPlayer","beforeDestroy","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","flattenGroupPlayers","finalPlayers","_flattenGroupPlayersRecur","wrappedPlayer","deleteOrUnsetInMap","currentValues","_player","_containsRealPlayer","_queuedCallbacks","triggerCallback","_queueEvent","hasStarted","getPosition","cloakElement","oldValue","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","nodeSet","localRootMap","getRoot","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","cacheKey","triggerBuildFailed","buildTrigger","onInsert","onRemove","disableAnimations","disable","process","eventPhase","SpecialCasedStyles","initialStylesByElement","WeakMap","_startStyles","_endStyles","_state","initialStyles","_initialStyles","filterNonAnimatableStyles","isNonAnimatableStyle","WebAnimationsPlayer","_specialStyles","_onDoneFns","_onStartFns","_onDestroyFns","_initialized","_finished","_started","_destroyed","_originalOnDoneFns","_originalOnStartFns","currentSnapshot","_duration","_delay","_onFinish","_preparePlayerBeforeStart","domPlayer","_triggerWebAnimation","_finalKeyframe","onFinish","_resetDomPlayerState","_convertKeyframesToObject","kfs","fromEntries","methods","WebAnimationsDriver","validateAnimatableStyleProperty","playerOptions","fill","previousStyles","previousWebAnimationPlayers","allowPreviousPlayerStylesMerge","normalizeKeyframes","balancePreviousStylesIntoKeyframes","startingKeyframe","missingStyleProps","specialStyles","packageNonAnimatableStyles","startStyles","endStyles","DISABLE_ANIMATIONS_FLAG","BaseAnimationRenderer","delegate","_onDestroy","ɵtype","destroyNode","queueMicrotask","namespace","createComment","createText","newChild","refChild","isMove","oldChild","isHostElement","selectRootElement","selectorOrNode","preserveContent","nextSibling","setStyle","removeStyle","setProperty","AnimationRenderer","resolveElementFromTarget","parseTriggerCallbackName","dotIndex","scheduleListenerCallback","AnimationRendererFactory","_zone","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","createRenderer","cache","renderer","onRendererDestroy","animationTriggers","begin","_scheduleCountTask","animationCallbacksBuffer","SHARED_ANIMATION_PROVIDERS","ɵAnimationStyleNormalizer","instantiateDefaultStyleNormalizer","ɵWebAnimationsStyleNormalizer","ɵAnimationEngine","InjectableAnimationEngine","ɵChangeDetectionScheduler","RendererFactory2","instantiateRendererFactory","ɵAnimationRendererFactory","ɵDomRendererFactory2","NgZone","BROWSER_ANIMATIONS_PROVIDERS","ɵWebAnimationsDriver","ANIMATION_MODULE_TYPE","BROWSER_NOOP_ANIMATIONS_PROVIDERS","BrowserAnimationsModule","withConfig","BrowserModule","ForgotPasswordModule","DeleteAccountModule","TermsOfUseMobileModule","reducers","AppReducer","sts","STSReducer","ProfileReducer","registration","taraRegisterProfile","TaraRegisterProfileReducer","HeaderReducer","dkMfaReset","DKMFAResetReducer","REDUCER_TOKEN","getReducers","residenceCountryCodeKey","storageAvailable","getFromStorage","stringToBoolean","ProfileEffects","actions$","saveResidenceCountryCode$","createEffect","saveToStorage","caught","removeStoredResidence$","removeFromStorage","getProfile$","getConsents$","getConsentSuccess$","AppEffects","setAppLanguage$","RegistrationEffects","_api","_activatedRoute","registerProfileApi","bookingUrl$","plasmaUrl$","bookingAdminUrl$","adminUrl$","webreqAdminUrl$","isCZTenant$","isBETenant$","isPatient$","registrationUserType$","isForBooking$","isForBookingQuery","paramMap$","userId$","loadRegistrationClaims$","getClaimsAsObject","loadExistsRegistrationClaims$","loadExternalAuthProviders$","setUserPassword$","bookingUrl","isBe","isCZ","adminUrl","userType","arrUserType","isFIAdmin","loadTaraUserInfo$","taraResendEmailActivation$","activateUserAccount$","accountType","updatePhoneNumber$","updatePhoneNumberFailure$","verifyPhoneNumber$","verifyPhoneNumberSuccess$","enableMFA$","enableMFASuccess$","enableMFAVerify$","enableMFAVerifySuccess$","enableMFAVerifyFailed$","RegisterProfileEffects","isFinland$","loadRegisterProfile$","mergeMap","loadExistingPTProfile$","userIdEncoded","submitRegisterProfile$","updatePtExisitingProfile$","signupToTaraCLicked$","TaraRegisterProfileApiService","taraRegisterGetEndpoint","taraRegisterUpdateEndpoint","taraUniqueId","TaraMigrateApiService","taraResultMigrateEndpoint","taraOrderMigrateEndpoint","migrateResults","migrateOrders","TaraRegisterProfileEffects","taraRegisterProfileApi","taraMigrateApi","Ssn","Email","SynlabId","CreatedDate","migrate$","loadRegisterProfileSuccess$","registrationDone","apiService","getByCode","StsEffects","loadCountry$","fetchGeneplanetHasOrders","isSAuser","DkMfaResetEffects","_st","_tostr","_rt","_lang","phone$","validateMFAResetLink$","getMFAResetClaims$","changePhone$","verifyChangePhone$","set2FA$","mfaType","verifySet2FA$","LegalDocumentsService","searchLegalDocuments","searchLegalDocumentsVersions","effects","LegalDocumentsEffects","legalDocumentsService","searchLegalDocuments$","createSearchLegalDocumentsEffect","searchLegalDocumentsVersions$","createSearchLegalDocumentsVersionsEffect","exhaustMap","docType","TimeoutError","createErrorClass","timeoutErrorFactory","PERFORM_ACTION","ROLLBACK","TOGGLE_ACTION","JUMP_TO_STATE","JUMP_TO_ACTION","IMPORT_STATE","LOCK_CHANGES","PAUSE_RECORDING","PerformAction","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","JumpToState","JumpToAction","actionId","ImportState","nextLiftedState","LockChanges","PauseRecording","STORE_DEVTOOLS_CONFIG","INITIAL_OPTIONS","noMonitor","DEFAULT_NAME","createConfig","optionsInput","DEFAULT_OPTIONS","maxAge","actionSanitizer","stateSanitizer","logOnly","autoPause","traceLimit","lock","persist","export","import","jump","skip","reorder","connectInZone","difference","second","unliftState","liftedState","computedStates","currentStateIndex","liftAction","sanitizeActions","actions","sanitizedActions","actionIdx","sanitizeAction","sanitizeStates","computedState","sanitizeState","stateIdx","shouldFilterActions","predicate","actionsSafelist","actionsBlocklist","isActionFiltered","safelist","blockedlist","predicateMatch","safelistMatch","escapeRegExp","blocklistMatch","injectZoneConfig","DevtoolsDispatcher","ActionsSubject","ɵDevtoolsDispatcher_BaseFactory","REDUX_DEVTOOLS_EXTENSION","DevtoolsExtension","devtoolsExtension","dispatcher","zoneConfig","createActionStreams","isLocked","isPaused","sanitizedState","sanitizedAction","nextActionId","sendToReduxDevtools","extensionConnection","sanitizedLiftedState","stagedActionIds","actionsById","getExtensionConfig","createChangesObservable","Observable","subscriber","connect","start$","stop$","liftedActions$","unwrapAction","concatMap","UPDATE","schedulerArg","each","with","_with","asyncScheduler","meta","isValidDate","operate","originalSourceSubscription","timerSubscription","lastValue","seen","startTimer","executeSchedule","innerFrom","createOperatorSubscriber","debounceTime","actionsUntilStop$","liftedUntilStop$","eval","extensionOptions","INIT_ACTION","RECOMPUTE_ACTION","computeNextEntry","nextError","recomputeStates","minInvalidatedStateIndex","committedState","skippedActionIds","nextComputedStates","lastIncludedActionId","previousEntry","previousState","previousError","StoreDevtools","reducers$","extension","scannedActions","liftedInitialState","liftInitialState","initialCommittedState","monitorReducer","monitorState","liftReducer","liftReducerWith","initialLiftedState","liftedAction","commitExcessActions","excess","idsToDelete","commitChanges","Infinity","actionIds","lastState","cmp","liftedAction$","observeOn","queueScheduler","liftedReducer$","liftedStateSubject","liftedStateSubscription","emitInZone","scan","reducedLiftedState","filterLiftedState","blocklist","filteredStagedActionIds","filteredActionsById","filteredComputedStates","extensionStartSubscription","refresh","liftedState$","state$","toSignal","manualCleanup","requireSync","performAction","rollback","sweep","toggleAction","jumpToAction","jumpToState","importState","lockChanges","pauseRecording","INITIAL_STATE","IS_EXTENSION_OR_MONITOR_PRESENT","createIsExtensionOrMonitorPresent","createReduxDevtoolsExtension","extensionKey","provideStoreDevtools","makeEnvironmentProviders","StateObservable","createStateObservable","ReducerManagerDispatcher","devtools","StoreDevtoolsModule","instrument","StoreService","exports","definition","__webpack_exports__","pdfjsLib","AbortException","AnnotationEditorLayer","AnnotationEditorParamsType","AnnotationEditorType","AnnotationEditorUIManager","AnnotationLayer","AnnotationMode","ColorPicker","DOMSVGFactory","DrawLayer","FeatureTest","GlobalWorkerOptions","ImageKind","InvalidPDFException","MissingPDFException","OPS","OutputScale","PDFDataRangeTransport","PDFDateString","PDFWorker","PasswordResponses","PermissionFlag","PixelsPerInch","RenderingCancelledException","TextLayer","UnexpectedResponseException","Util","VerbosityLevel","XfaLayer","createValidAbsoluteUrl","getFilenameFromUrl","getPdfFilenameFromUrl","getXfaPageViewport","isDataScheme","isPdfFile","noContextMenu","normalizeUnicode","setLayerDimensions","isNodeJS","nw","electron","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","FREETEXT","HIGHLIGHT","STAMP","INK","RESIZE","CREATE","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","HIGHLIGHT_COLOR","HIGHLIGHT_DEFAULT_COLOR","HIGHLIGHT_THICKNESS","HIGHLIGHT_FREE","HIGHLIGHT_SHOW_ALL","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","util_ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","ERRORS","WARNINGS","INFOS","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","setStrokeTransparent","setFillTransparent","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","getVerbosityLevel","unreachable","assert","cond","addDefaultProtocol","tryConvertEncoding","stringToUTF8String","escape","_isValidProtocol","nonSerializable","writable","BaseException","PasswordException","UnknownErrorException","FormatError","bytesToString","bytes","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","chunk","stringToBytes","objectFromMap","util_FeatureTest","isLittleEndian","buffer8","isEvalSupported","isOffscreenCanvasSupported","OffscreenCanvas","platform","isMac","isWindows","isFirefox","isCSSRoundSupported","CSS","supports","hexNumbers","padStart","makeHexColor","g","scaleMinMax","minMax","temp","m1","m2","applyTransform","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","inverseTransform","singularValueDecompose2dScale","transpose","sqrt","sy","normalizeRect","intersect","rect1","rect2","xLow","xHigh","yLow","yHigh","#getExtremumOnCurve","x0","x1","x2","x3","y0","y1","y2","y3","mt","tt","ttt","#getExtremum","delta","sqrtDelta","a2","bezierBoundingBox","NormalizeRegex","NormalizationMap","replaceAll","normalize","AnnotationPrefix","SVG_NS","static","PDF","_fetchData","isValidFetchUrl","arrayBuffer","blob","DONE","PageViewport","viewBox","scale","rotation","offsetX","dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","rawDims","pageWidth","pageHeight","pageX","pageY","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","extraDelay","ii","defaultFilename","reFilename","splitURI","suggestedFilename","StatTimer","started","times","timeEnd","outBuf","longest","padEnd","deprecated","toDateObject","#regex","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","xfaPage","getRGB","color","colorRGB","getCurrentTransform","getTransform","getCurrentTransformInverse","invertSelf","div","mustFlip","mustRotate","useRound","widthStr","heightStr","pixelRatio","devicePixelRatio","sx","scaled","symmetric","EditorToolbar","#toolbar","#colorPicker","#editor","#buttons","#altText","editor","#l10nRemove","freetext","highlight","ink","stamp","render","editToolbar","_uiManager","_signal","#pointerDown","buttons","toolbarPosition","insetInlineEnd","#addDeleteButton","#focusIn","_focusEventsAllowed","#focusOut","#addListenersToElement","hide","hideDropdown","show","shown","editorType","tabIndex","#divider","divider","addAltText","altText","prepend","addColorPicker","colorPicker","renderButton","HighlightToolbar","#uiManager","uiManager","#render","#addHighlightButton","#getLastPoint","boxes","isLTR","lastY","lastX","box","span","highlightSelection","bindEvents","names","IdManager","#id","ImageManager","#baseId","getUuid","buf","#cache","_isSVGFittingCanvas","getContext","willReadFrequently","image","drawImage","getImageData","#get","rawData","bitmap","refCounter","isSvg","File","file","mustRemoveAspectRatioPromise","fileReader","FileReader","imageElement","imagePromise","svgUrl","readAsDataURL","createImageBitmap","getFromFile","lastModified","getFromUrl","getFromBlob","blobPromise","getFromId","getFromCanvas","canvas","offscreen","transferToImageBitmap","getSvgUrl","deleteId","transferFromImageBitmap","convertToBlob","isValidId","CommandManager","#commands","#locked","#maxSize","#position","maxSize","cmd","undo","mustExec","NaN","overwriteIfSameType","keepUndo","redo","hasSomethingToUndo","hasSomethingToRedo","KeyboardManager","allKeys","isMacKey","at","#serialize","altKey","ctrlKey","metaKey","shiftKey","bubbles","checker","ColorManager","_colors","colors","getColorValues","computedColor","convert","rgb","matchMedia","RGB","_colorsMapping","getHexCode","#abortController","#activeEditor","#allEditors","#allLayers","#altTextManager","#annotationStorage","#changedExistingAnnotations","#commandManager","#copyPasteAC","#currentPageIndex","#deletedAnnotationsElementIds","#draggingEditors","#editorTypes","#editorsToRescale","#enableHighlightFloatingButton","#enableUpdatedAddImage","#enableNewAltTextWhenAddingImage","#filterFactory","#focusMainContainerTimeoutId","#focusManagerAC","#highlightColors","#highlightWhenShiftUp","#highlightToolbar","#idManager","#isEnabled","#isWaiting","#keyboardManagerAC","#lastActiveElement","#mainHighlightColorPicker","#mlManager","#mode","#selectedEditors","#selectedTextNode","#pageColors","#showAllStates","#previousStates","isEditing","hasSelectedEditor","hasSelectedText","#translation","#translationTimeoutId","#container","#viewer","#updateModeCapability","_keyboardManager","arrowChecker","hasSomethingToControl","textInputChecker","small","TRANSLATE_SMALL","big","TRANSLATE_BIG","selectAll","addNewEditorFromKeyboard","HTMLButtonElement","isEnterHandled","unselectAll","translateSelectedEditors","viewer","altTextManager","eventBus","pdfDocument","pageColors","highlightColors","enableHighlightFloatingButton","enableUpdatedAddImage","enableNewAltTextWhenAddingImage","mlManager","_eventBus","_on","onEditingAction","onPageChanging","onScaleChanging","onRotationChanging","onSetPreference","updateParams","#addSelectionListener","#addDragAndDropListeners","#addKeyboardManager","annotationStorage","filterFactory","viewParameters","realScale","PDF_TO_CSS_UNITS","isShiftKeyDown","layer","combinedSignal","ac","AbortSignal","any","useNewAltTextFlow","useNewAltTextWhenAddingImage","hcmFilter","addHCMFilter","foreground","background","pair","highlightColorNames","setMainHighlightColorPicker","editAltText","firstTime","switchToMode","once","setPreference","pageNumber","focusMainContainer","findParent","layerX","layerY","disableUserSelect","toggle","addShouldRescale","removeShouldRescale","commitOrRemove","pagesRotation","#getAnchorElementForSelection","anchorNode","#getLayerForTextLayer","textLayer","currentLayer","hasTextLayer","methodOfCreation","selection","getSelection","isCollapsed","anchorOffset","focusNode","focusOffset","getSelectionBoxes","empty","isNoneMode","createAndAddNewEditor","showAllEditors","#displayHighlightToolbar","addToAnnotationStorage","#selectionChange","#dispatchUpdateStates","activeLayer","toggleDrawing","pointerup","#onSelectEnd","#addFocusManager","blur","#removeFocusManager","hasSelection","lastEditor","lastActiveElement","keydown","keyup","#removeKeyboardManager","#addCopyPasteListeners","copy","cut","paste","#removeCopyPasteListeners","dragOver","drop","addEditListeners","removeEditListeners","dataTransfer","isHandlingMimeForPasting","dropEffect","editors","serialized","clipboardData","setData","getData","newEditors","deserializedEditor","deserialize","#addEditorToLayer","#selectEditors","addCommands","isEditorHandlingKeyboard","#dispatchUpdateUI","setEditingState","#isEmpty","registerEditorTypes","defaultPropertiesToUpdate","getId","getLayer","pageIndex","currentPageIndex","addLayer","enable","removeLayer","updateMode","editId","isFromKeyboard","withResolvers","#disableAll","#enableAll","annotationElementId","setSelected","enterInEditMode","unselect","canCreateNewEmptyEditor","addNewEditor","updateToolbar","updateColor","updateDefaultParams","updateButton","enableWaiting","mustWait","disableClick","enableClick","promises","getEditors","getEditor","addEditor","removeEditor","addDeletedAnnotationElement","addChangedExistingAnnotation","deleted","isDeletedAnnotationElement","removeDeletedAnnotationElement","removeChangedExistingAnnotation","addOrRebuild","setActiveEditor","propertiesToUpdate","#lastSelectedEditor","ed","updateUI","toggleSelected","isSelected","firstSelectedEditor","noCommit","totalX","totalY","translateInPage","setUpDragSession","savedX","savedY","savedPageIndex","newX","newY","newPageIndex","endDragSession","mustBeAddedInUndoStack","move","_setParentAndPosition","dragSelectedEditors","tx","ty","drag","rebuild","changeParent","getActive","shouldGetKeyboardEvents","getMode","imageManager","rangeCount","getRangeAt","commonAncestorContainer","parentWidth","parentHeight","rotator","range","collapsed","getClientRects","renderAnnotationElement","annotation","editorId","hasBeenModified","AltText","#altTextDecorative","#altTextButton","#altTextButtonLabel","#altTextTooltip","#altTextTooltipTimeout","#altTextWasFromKeyBoard","#badge","#guessedText","#textWithDisclaimer","#useNewAltTextFlow","#l10nNewButton","missing","review","l10n","_l10n","onClick","_reportTelemetry","#label","#setState","guessedText","focusVisible","hasData","setGuessedText","generatedAltText","toggleAltTextBadge","badge","isForCopying","decorative","textWithDisclaimer","tooltip","DELAY_TO_SHOW_TOOLTIP","getImageForAltText","AnnotationEditor","#accessibilityData","#allResizerDivs","#disabled","#keepAspectRatio","#resizersDiv","#savedDimensions","#focusAC","#focusedResizerName","#hasBeenClicked","#initialPosition","#isEditing","#isInEditMode","#isResizerEnabledForKeyboard","#moveInDOMTimeout","#prevDragX","#prevDragY","#telemetryTimeouts","_editToolbar","_initialOptions","_initialData","_isVisible","#isDraggable","#zIndex","_zIndex","_resizerKeyboardManager","resize","_resizeWithKeyboard","_stopResizingWithKeyboard","parameters","_willKeepAspectRatio","isCentered","_structTreeParentId","pageRotation","pageDimensions","pageTranslation","parentDimensions","isAttachedToDOM","_type","_defaultLineColor","_colorManager","deleteAnnotationElement","fakeEditor","FakeEditor","getNextId","_l10nResizer","topMiddle","topRight","middleRight","bottomMiddle","bottomLeft","middleLeft","_borderLineWidth","_value","mime","_isDraggable","parentRotation","fixAndSetPosition","setInBackground","zIndex","setInForeground","setParent","#stopResizing","focusin","focusout","isMultipleSelection","setAt","screenToPageTranslation","#translate","scrollIntoView","block","findNewParent","bx","by","getBaseTranslation","_hasBeenMoved","_mustFixPosition","moveInDOM","#rotatePoint","angle","pageTranslationToScreen","#getRotationMatrix","parentScale","setDims","fixDims","widthPercent","heightPercent","getInitialTranslation","#createResizers","#resizerPointerdown","savedDraggable","togglePointerEvents","#resizerPointermove","savedWidth","savedHeight","savedParentCursor","cursor","savedCursor","pointerUpCallback","#addResizeToUndoStack","newWidth","newHeight","minWidth","MIN_SIZE","minHeight","rotationMatrix","transf","invRotationMatrix","getPoint","getOpposite","isDiagonal","isHorizontal","point","oppositePoint","transfOppositePoint","oppositeX","oppositeY","ratioX","ratioY","deltaX","deltaY","oldDiag","hypot","invTransf","altTextFinish","addEditToolbar","removeEditToolbar","addContainer","editToolbarDiv","before","getClientDimensions","addAltTextButton","altTextData","guessedAltText","setGuessedAltText","serializeAltText","hasAltText","hasAltTextData","#addFocusListeners","maxWidth","maxHeight","pointerdown","#setUpDragSession","#selectOnPointerEvent","moveEditorInDOM","getRect","shiftX","shiftY","getRectInCurrentCoords","onceAdded","enableEditMode","disableEditMode","isInEditMode","needsToBeRebuilt","rotate","_angle","serializeDeleted","popupRef","accessibilityData","isResizable","makeResizable","boundResizerKeydown","#resizerKeydown","boundResizerBlur","#resizerBlur","#resizerFocus","firstPosition","nextFirstPosition","lastChild","child","#setResizerTabIndex","stopImmediatePropagation","preventScroll","disableEditing","enableEditing","contentDiv","setAspectRatio","aspectRatio","telemetryInitialData","telemetryFinalData","_telemetryTimeout","resetAnnotationElement","SEED","MASK_HIGH","MASK_LOW","MurmurHash3_64","seed","h1","h2","ArrayBuffer","isView","byteLength","blockCounts","tailLength","dataUint32","C1","C2","hexdigest","SerializableEmpty","transfer","AnnotationStorage","#modified","#modifiedIds","#storage","onSetModified","onResetModified","onAnnotationEditor","resetModified","modified","#setModified","getAll","setAll","print","PrintAnnotationStorage","serializable","hasBitmap","editorStats","stats","typeToEditor","counters","computeTelemetryFinalData","resetModifiedIds","modifiedIds","ids","#serializable","structuredClone","FontLoader","#systemFonts","styleElement","nativeFontFaces","loadingRequests","loadTestFontId","addNativeFontFace","nativeFontFace","removeNativeFontFace","styleSheet","loadSystemFont","systemFontInfo","_inspectFont","loadedName","disableFontFace","isFontLoadingAPISupported","fontFace","baseFontName","font","attached","missingFile","createNativeFontFace","loaded","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","completeRequest","otherRequest","_loadTestFont","int32","spliceString","insert","called","XXXX_VALUE","checksum","string32","fontFamily","isFontReady","fillText","FontFaceObject","translatedData","inspectFont","compiledGlyphs","cssFontInfo","css","weight","fontWeight","italicAngle","mimetype","toBase64Util","getPathGenerator","objs","character","cmds","commands","bezierCurveTo","quadraticCurveTo","BaseCanvasFactory","#enableHWA","enableHWA","_createCanvas","canvasAndContext","BaseCMapReaderFactory","isCompressed","_fetch","cMapData","DOMCMapReaderFactory","BaseFilterFactory","addFilter","maps","fgColor","bgColor","addAlphaFilter","addLuminosityFilter","addHighlightHCMFilter","filterName","newFgColor","newBgColor","keepHCM","BaseStandardFontDataFactory","DOMStandardFontDataFactory","packageCapability","packageMap","fs","https","path2d","loadPackages","NodePackages","node_utils_fetchData","_node_utils_fetchData","readFile","applyBoundingBox","bbox","region","Path2D","BaseShadingPattern","getPattern","RadialAxialShadingPattern","IR","_bbox","_colorStops","_p0","_p1","_r0","matrix","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","inverse","pathType","ownerBBox","getClippedPathBoundingBox","ceil","tmpCanvas","cachedCanvases","getCanvas","tmpCtx","clearRect","beginPath","baseTransform","fillStyle","createPattern","domMatrix","DOMMatrix","setTransform","drawTriangle","c1","c2","c3","coords","rowSize","scaleX","scaleY","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","verticesPerRow","rows","cols","q","MeshShadingPattern","_coords","_figures","_bounds","_background","_createMeshCanvas","combinedScale","backgroundColor","boundsWidth","boundsHeight","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","createImageData","putImageData","matrixScale","temporaryPatternCanvas","DummyShadingPattern","TilingPattern","canvasGraphicsFactory","operatorList","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScaleX","combinedScaleY","canvasWidth","canvasHeight","redrawHorizontally","redrawVertically","xScaledStep","yScaledStep","dimx","getSizeAndScale","dimy","graphics","createCanvasGraphics","groupLevel","setFillAndStrokeStyleToContext","clipBbox","executeOperatorList","endDrawing","dimx2","dimy2","xSize","ySize","tmpCanvas2","tmpCtx2","jj","realOutputSize","updateRectMinMax","strokeStyle","fillColor","strokeColor","cssColor","convertBlackAndWhiteToRGBA","srcPos","dest","nonBlackColor","inverseDecode","black","zeroMapping","oneMapping","widthInSource","widthRemainder","srcLength","destPos","CachedCanvases","canvasFactory","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","rTlX","rTlY","rWidth","rHeight","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","setCurrentPoint","updatePathMinMax","minX","maxX","updateScalingPathMinMax","updateCurvePathMinMax","getPathBoundingBox","xStrokePad","yStrokePad","updateClipFromPath","isEmptyClip","putBinaryImageData","imgData","ImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","thisChunkHeight","elemsInThisChunk","dest32","dest32DataLength","fullSrcDiff","white","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","getImageSmoothingEnabled","interpolate","fround","actualScale","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","CanvasGraphics","canvasCtx","commonObjs","optionalContentConfig","markedContentStack","annotationCanvasMap","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransformStack","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","cachedPatterns","viewportScale","outputScaleX","outputScaleY","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","getObject","fallback","beginDrawing","transparency","savedFillStyle","fillRect","transparentCanvas","compositeCtx","executionStartIdx","continueCallback","stepper","argsArray","fnArray","argsArrayLen","chunkOperations","fnId","nextBreakPoint","breakIt","depObjId","objsPool","#restoreInitialState","inSMaskMode","HTMLCanvasElement","#drawFilter","hcmFilterId","savedFilter","_scaleImage","displayWidth","displayHeight","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","_createMaskCanvas","isPatternFill","currentTransform","maskCanvas","mainKey","cachedImage","maskToCanvas","drawnWidth","drawnHeight","fillCanvas","fillCtx","imageSmoothingEnabled","dashArray","dashPhase","intent","flatness","checkSMaskState","beginSMaskMode","endSMaskMode","scratchCanvas","mirrorContextOperations","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","cp1x","cp1y","cp2x","cp2y","compose","dirtyBox","composeSMask","smask","layerCtx","layerBox","layerOffsetX","layerOffsetY","layerWidth","layerHeight","genericComposeSMask","subtype","transferMap","maskCtx","maskOffsetX","maskOffsetY","maskX","maskY","backdropRGB","old","pop","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","typeface","fallbackName","bold","italic","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","getSinglePixelWidth","isInvalidPDFjsFont","glyph","unicode","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","remeasure","measuredWidth","measureText","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","_getPattern","objId","getShadingPattern","inv","isolated","knockout","bounds","cacheId","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","annotationCanvas","savedCtx","compiled","compileType3Glyph","POINT_TYPES","width1","j0","points","lineSize","sum","Int32Array","p0","pp","skewX","skewY","positions","trans","images","applyTransferMapsToCanvas","applyTransferMapsToBitmap","imgToPaint","isContentVisible","absDet","normX","normY","getScaleForStroking","scaledLineWidth","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","dashes","op","workerPort","#port","workerSrc","#src","wrapReason","MessageHandler","#messageAC","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","#onMessage","stream","#processStreamMessage","capability","#createStreamSink","actionName","ah","transfers","sendWithPromise","sendWithStream","queueingStrategy","ReadableStream","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","streamSink","enqueue","isCancelled","lastDesiredSize","sinkCapability","ready","onPull","streamController","#deleteStreamController","allSettled","#metadataMap","#data","parsedData","getRaw","INTERNAL","Symbol","OptionalContentGroup","#isDisplay","#isPrint","#userSet","#visible","renderingIntent","usage","rbGroups","view","viewState","printState","_setVisible","userSet","OptionalContentConfig","#cachedGetHash","#groups","#initialHash","#order","creator","order","groups","baseState","off","getHash","#evaluateVisibilityExpression","operator","expression","policy","preserveRB","rbGroup","otherId","setOCGState","hasInitialVisibility","getOrder","getGroups","getGroup","PDFDataTransportStream","pdfDataRangeTransport","disableRange","disableStream","initialData","progressiveDone","contentDispositionFilename","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","rangeReader","_begin","_progressiveDataLength","_loaded","onProgress","_removeRangeReader","reader","getFullReader","queuedChunks","PDFDataTransportStreamReader","getRangeReader","PDFDataTransportStreamRangeReader","requestDataRange","cancelAllRequests","_stream","_done","_filename","_requests","_headersReady","headersReady","isRangeSupported","isStreamingSupported","contentLength","read","requestCapability","_end","_queuedChunk","createHeaders","isHttp","httpHeaders","validateRangeRequestCapabilities","rangeChunkSize","returnValues","allowRangeRequests","suggestedLength","isInteger","extractFilenameFromHeader","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","unescape","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","contentDispositionStr","iter","quot","attributePattern","textdecode","encoding","decoder","fatal","quotindex","extvalue","encodingend","charset","hex","createResponseStatusError","validateResponseStatus","createFetchOptions","withCredentials","abortController","getArrayBuffer","PDFFetchStream","_rangeRequestReaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_reader","_withCredentials","_headersCapability","_disableRange","_rangeChunkSize","_abortController","getReader","_readCapability","NetworkManager","currXhrId","pendingRequests","requestRange","requestFull","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","xhrStatus","network_getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","abortRequest","PDFNetworkStream","_source","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onHeadersReceived","_onDone","_onError","_url","_fullRequestId","_cachedChunks","_storedError","fullRequestXhrId","fullRequestXhr","getAllResponseHeaders","lengthComputable","_requestId","_close","urlRegex","createRequest","PDFNodeStream","parseUrlOrPath","sourceUrl","pathToFileURL","isFsUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_readableStream","_error","_setReadableStream","readableStream","BaseRangeReader","_request","Range","lstat","stat","createReadStream","#capability","#disableProcessItems","#fontInspectorEnabled","FontInspector","#lang","#layoutTextParams","#pageHeight","#pageWidth","#reader","#rootContainer","#rotation","#scale","#styleCache","#textContentItemsStr","#textContentSource","#textDivs","#textDivProperties","#transform","textContentSource","#ensureMinFontSizeComputed","finally","#pendingTextLayers","fontFamilyMap","pump","#processItems","onBefore","#getCtx","#layout","abortEx","textDivs","textContentItemsStr","#appendText","geom","textDiv","textDivProperties","hasText","hasEOL","atan2","fontName","PI","fontSubstitution","fontHeight","fontAscent","#getAscent","sin","cos","scaleFactorStr","divStyle","#minFontSize","dataset","fontSubstitutionLoadedName","shouldScaleText","absScaleX","absScaleY","br","#ensureCtxFont","cleanup","#ascentCache","#canvasContexts","alpha","#canvasCtxFonts","cached","lineHeight","cachedAscent","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","XfaText","xfa","walk","shouldBuildText","DEFAULT_RANGE_CHUNK_SIZE","DefaultCanvasFactory","NodeCanvasFactory","createCanvas","DOMCanvasFactory","DefaultCMapReaderFactory","NodeCMapReaderFactory","DefaultFilterFactory","NodeFilterFactory","DOMFilterFactory","#baseUrl","#_cache","#_defs","#docId","#document","#_hcmCache","docId","#hcmCache","#defs","contain","createElementNS","#createTables","mapR","table","mapG","mapB","bufferR","bufferG","bufferB","#createUrl","tableR","tableG","tableB","#createFilter","#addTransferMapConversion","fgRGB","#getRGB","bgRGB","#addGrayConversion","getSteps","tableA","#addTransferMapAlphaConversion","#addLuminosityConversion","fgGray","bgGray","newFgRGB","newBgRGB","fg","bg","newStart","newStep","prev","feColorMatrix","#appendFeFunc","feComponentTransfer","feFunc","rTable","gTable","bTable","aTable","DefaultStandardFontDataFactory","NodeStandardFontDataFactory","task","PDFDocumentLoadingTask","getUrlProp","getDataProp","Buffer","rangeTransport","docBaseUrl","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","stopAtErrors","maxImageSize","isChrome","chrome","canvasMaxAreaInBytes","fontExtraProperties","enableXfa","disableAutoFetch","pdfBug","CanvasFactory","FilterFactory","useSystemFonts","useWorkerFetch","setVerbosityLevel","transportFactory","cMapReaderFactory","standardFontDataFactory","workerParams","fromPort","_worker","docParams","apiVersion","evaluatorOptions","transportParams","loadingParams","workerIdPromise","messageHandler","networkStream","NetworkStream","Response","workerId","transport","WorkerTransport","_transport","_capability","isRefProxy","ref","gen","onPassword","_pendingDestroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","onDataRange","onDataProgress","onDataProgressiveRead","onDataProgressiveDone","PDFDocumentProxy","pdfInfo","_pdfInfo","numPages","fingerprints","isPureXfa","_htmlForXfa","allXfaHtml","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJSActions","getDocJSActions","getOutline","getOptionalContentConfig","getRenderingIntent","getPermissions","getMarkInfo","saveDocument","getDownloadInfo","downloadInfoCapability","keepLoadedFonts","startCleanup","loadingTask","cachedPageNumber","getFieldObjects","hasJSActions","getCalculationOrderIds","PDFPageProxy","#delayedCleanupTimeout","#pendingCleanup","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","PDFObjects","_maybeCleanupAfterRender","_intentStates","userUnit","getViewport","getAnnotations","getPageJSActions","getXfa","canvasContext","annotationMode","optionalContentConfigPromise","printAnnotationStorage","intentArgs","#abortDelayedCleanup","intentState","streamReaderCancelTimeout","intentPrint","displayReadyCapability","lastChunk","separateAnnots","_pumpOperatorList","renderTasks","internalRenderTask","#tryCleanup","_abortOperatorList","Stats","InternalRenderTask","useRequestAnimationFrame","renderTask","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","streamTextContent","includeMarkedContent","disableNormalization","highWaterMark","TEXT_CONTENT_CHUNK_SIZE","getTextContent","getStructTree","_destroy","waitOn","resetStats","delayed","_startRenderPage","_renderPageChunk","operatorListChunk","annotationStorageSerializable","streamReader","curCacheKey","curIntentState","LoopbackPort","#listeners","#deferred","rmAbort","onAbort","terminate","#isWorkerDisabled","_isSameOrigin","otherUrl","other","_createCDNWrapper","_port","_webWorker","_messageHandler","#workerPorts","_initializeFromPort","_initialize","#resolve","#mainThreadWorkerMessageHandler","_setupFakeWorker","terminateEarly","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","#fakeWorkerId","workerHandler","setup","cachedPort","pdfjsWorker","_ref3","#methodPromises","#pageCache","#pagePromises","#pageRefCache","#passwordCapability","fontLoader","_params","destroyCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","#cacheSimpleMethod","cachedPromise","isOpList","modifiedIdsHash","terminated","sink","readyReason","_ref4","_numPages","htmlForXfa","updatePassword","exportedData","exportedError","fontAdded","imageRef","pageProxy","dataLen","imageData","_x4","_ref6","_x5","refStr","INITIAL_DATA","#objs","#ensureObj","iterator","RenderTask","#internalRenderTask","onContinue","#rAF","WeakSet","operatorListIdx","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_canvas","#canvasInUse","StepperManager","getNextBreakPoint","gfx","cancelAnimationFrame","updateOperatorList","makeColorComp","scaleAndClamp","ColorConverters","CMYK_G","G_CMYK","G_RGB","G_rgb","G_HTML","G","RGB_G","RGB_rgb","RGB_HTML","T_HTML","T_rgb","CMYK_RGB","CMYK_rgb","CMYK_HTML","components","RGB_CMYK","BaseSVGFactory","skipDimensions","_createSVG","setupStorage","storedData","xfaOn","xfaOff","option","selected","selectedIndex","setAttributes","linkService","isHTMLAnchorElement","HTMLAnchorElement","addLinkAttributes","newWindow","dataId","xfaHtml","rootHtml","isNotForRichText","rootDiv","createTextNode","childHtml","xmlns","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","SignatureWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","#updates","#hasBorder","#popupElement","isRenderable","ignoreBorder","createQuadrilaterals","downloadManager","imageResourcesPath","renderForms","svgFactory","enableScripting","_fieldObjects","fieldObjects","_createContainer","_createQuadrilaterals","_hasPopupData","titleObj","contentsObj","richText","_isEditable","isEditable","hasPopupData","updateEdited","#setRectEdited","popup","resetEdited","currentRect","setRotation","alternativeText","noRotate","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","borderRadius","borderBottomStyle","borderColor","elementWidth","elementHeight","_commonActions","setColor","jsName","styleName","detail","colorType","colorArray","noView","noPrint","userName","readonly","_setRequired","textColor","_dispatchEventFromSandbox","jsEvent","commonActions","_setDefaultPropertiesFromJS","quadPoints","rectBlX","rectBlY","rectTrX","rectTrY","trX","trY","blX","blY","svgBuffer","defs","clipPath","rectWidth","rectHeight","_createPopup","modificationDate","parentRect","_getElementsByName","skipId","fieldObj","exportValues","exportValue","domElement","getElementsByName","maybeShow","forceHide","getElementsToTriggerPopup","addHighlightArea","triggers","_editOnDoubleClick","annotationEditorType","isTooltipOnly","isBound","_bindNamedAction","attachment","#bindAttachment","attachmentDest","#bindSetOCGState","_bindLink","Action","_bindJSAction","resetForm","_bindResetFormAction","#setInternalLink","destination","getDestinationHash","goToDestination","getAnchorUrl","executeNamedAction","description","openOrDownloadData","executeSetOCGState","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","allIds","showElementAndHideCanvas","_getKeyModifier","_setEventListener","elementData","valueGetter","modifier","focused","_setEventListeners","getter","Blur","_setBackgroundColor","_setTextStyle","fontColor","defaultAppearanceData","computedFontSize","roundToOneDecimal","multiLine","numberOfLines","textAlignment","textAlign","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","maxLen","charLimit","fieldFormattedValues","formattedValue","comb","userValue","lastCommittedValue","commitKey","doNotScroll","overflowY","overflowX","readOnly","defaultFieldValue","blurListener","selRange","setSelectionRange","willCommit","selStart","selectionStart","selEnd","selectionEnd","_blurListener","Keystroke","inputType","combWidth","letterSpacing","verticalAlign","checkbox","curChecked","buttonValue","radio","pdfButtonValue","linkElement","selectElement","addAnEmptyEntry","combo","multiSelect","multiple","optionElement","displayValue","removeEmptyEntry","noneOptionElement","isExport","selectedValues","multipleSelection","selectChild","indices","editable","changeEx","keyDown","PopupElement","elementIds","ariaHasPopup","#boundKeyDown","#keyDown","#boundHide","#hide","#boundShow","#show","#boundToggle","#toggle","#color","#contentsObj","#dateObj","#elements","#parent","#parentRect","#pinned","#popup","#rect","#richText","#titleObj","#wasVisible","baseColor","outlineColor","BACKGROUND_ENLIGHT","dateObj","#html","contents","_formatContents","#fontSize","#fontColor","#makePopupContent","popupLines","popupContent","lineAttributes","#setPosition","useParentRect","normalizedRect","textPosition","lineSpan","#line","lineCoordinates","#square","square","#circle","circle","#polyline","containerClassName","svgElementName","vertices","polyline","#polylines","inkLists","inkList","#trigger","#download","#accessibilityManager","#annotationCanvasMap","#editableAnnotations","#structTreeLayer","accessibilityManager","annotationEditorUIManager","structTreeLayer","_annotationEditorUIManager","hasEditableAnnotations","#appendElement","contentElement","annotationId","ariaAttributes","getAriaAttributes","moveElementInDOM","annotations","popupToElements","elementParams","noHTML","isPopupAnnotation","rendered","#setAnnotationCanvasMap","replaceWith","after","getEditableAnnotations","getEditableAnnotation","EOL_PATTERN","FreeTextEditor","#content","#editorDivId","#editModeAC","_translateEmpty","_defaultColor","_defaultFontSize","_internalPadding","#updateFontSize","#updateColor","setFontsize","editorDiv","#setEditorDimensions","savedFontsize","col","savedColor","overlayDiv","contentEditable","editorDivKeydown","editorDivFocus","editorDivBlur","editorDivInput","editorDivPaste","#extractText","prevChild","childNodes","#getNodeContent","savedDisplay","savedVisibility","savedText","newText","trimEnd","setText","#setContent","dblclick","baseX","baseY","nodeValue","#deserializeContent","deleteFromDocument","collapseToStart","startContainer","startOffset","bufferBefore","bufferAfter","newRange","beforeLength","setStart","setEnd","removeAllRanges","addRange","replaceChildren","#serializeContent","_superprop_getDeserialize","padding","structTreeParentId","#hasElementChanged","Outline","toSVGPath","_rotation","classNamesForDrawing","classNamesForOutlining","mustRemoveSelfIntersections","FreeDrawOutliner","#box","#bottom","#innerMargin","#isLTR","#top","#last","Float64Array","#lastX","#lastY","#min","#min_dist","#scaleFactor","#thickness","#points","#MIN_DIST","#MIN_DIFF","scaleFactor","thickness","innerMargin","#MIN","#getLastCoords","lastTop","lastBottom","diffX","diffY","diffD","K","thX","thY","#toSVGPathTwoPoints","#toSVGPathEnd","#toSVGPathStart","lastTopX","lastTopY","lastBottomX","lastBottomY","newFreeDrawOutline","outline","FreeDrawOutline","getOutlines","#getOutlineTwoPoints","N","#getOutlineEnd","#getOutlineStart","#bbox","#outline","#computeMinMax","#rescale","#rescaleAndSwap","lastPointX","lastPointY","ltrCallback","lastPoint","newOutliner","getNewOutline","outliner","HighlightOutliner","#verticalEdges","#intervals","EPSILON","bboxWidth","bboxHeight","shiftedMinX","shiftedMinY","lastEdge","edge","outlineVerticalEdges","#breakEdge","#insert","#remove","#getOutlines","edges","allEdges","edge1","edge2","outlines","HighlightOutline","#binarySearch","middle","y4","#outlines","polygon","prevX","prevY","FreeHighlightOutliner","FreeHighlightOutline","#button","#buttonSwatch","#defaultColor","#dropdown","#dropdownWasFromKeyboard","#isMainColorPicker","#eventBus","#openDropdownAC","#type","_hideDropdownFromKeyboard","_colorSelectFromKeyboard","_moveToNext","_moveToPrevious","_moveToBeginning","_moveToEnd","#l10nColor","blue","green","pink","red","yellow","#openDropdown","swatch","renderMainDropdown","dropdown","#getDropdownRoot","#colorSelect","#isDropdownVisible","HighlightEditor","#anchorNode","#anchorOffset","#boxes","#clipPathId","#focusOutlines","#focusNode","#focusOffset","#highlightDiv","#highlightOutlines","#isFreeHighlight","#lastPoint","#opacity","#outlineId","#text","#methodOfCreation","_moveCaret","_defaultThickness","_defaultOpacity","highlightId","#createFreeOutlines","#addToDrawLayer","#createOutlines","numberOfColors","outlinerForOutline","highlightOutlines","clipPathId","drawLayer","finalizeLine","drawOutline","updateLine","updateBox","#rotateBbox","#updateThickness","setColorAndOpacity","opa","changeColor","changeOpacity","savedOpacity","savedThickness","setThickness","th","#changeThickness","_superprop_getAddEditToolbar","#getRotation","addUndoableEditor","#cleanDrawLayer","mustBeSelected","draw","#keydown","highlightDiv","pointerover","pointerleave","#setCaret","#serializeBoxes","Float32Array","#serializeOutlines","startHighlighting","#endHighlight","#highlightMove","_freeHighlight","_freeHighlightId","_freeHighlightClipId","updatePath","_superprop_getDeserialize2","rawWidth","InkEditor","#baseHeight","#baseWidth","#canvasContextMenuTimeoutId","#currentPath2D","#disableEditing","#drawingAC","#hasSomethingToDraw","#isCanvasInitialized","#observer","#pointerdownAC","#realWidth","#realHeight","#requestFrameCallback","bezierPath2D","allRawPaths","currentPath","translationX","translationY","#updateOpacity","#fitToContent","#redraw","setOpacity","#createCanvas","#createObserver","#setCanvasDims","setDimensions","#addPointerdownListener","#removePointerdownListener","#getInitialBBox","#setStroke","opacityToHex","#startDrawing","canvasPointerleave","canvasPointermove","canvasPointerup","#drawPoints","#draw","path2D","#makeBezierCurve","#endPath","#stopDrawing","bezier","#generateBezierPoints","xy","lastPoints","bezierPoints","#updateTransform","addInkEditorIfNeeded","canvasPointerdown","pointerdownAC","#endDrawing","ResizeObserver","contentRect","roundedWidth","roundedHeight","#setScaleFactor","#getPadding","scaleFactorW","scaleFactorH","#buildPath2D","control1","control2","#toPDFCoordinates","#fromPDFCoordinates","#serializePaths","p10","p11","p20","p21","p30","p31","p40","p41","#getBbox","xMin","xMax","yMin","yMax","prevTranslationX","prevTranslationY","unscaledPadding","_superprop_getDeserialize3","StampEditor","#bitmap","#bitmapId","#bitmapPromise","#bitmapUrl","#bitmapFile","#bitmapFileName","#canvas","#resizeTimeoutId","#isSvg","#hasBeenAddedInUndoStack","bitmapUrl","bitmapFile","supportedTypes","supportedTypesStr","pasteEditor","getAsFile","hasAltTextStats","hasNoAltText","#getBitmapFetched","fromId","#getBitmapDone","alt_text_modal","alt_text_type","mlGuessAltText","updateAltTextData","isEnabledFor","copyCanvas","guess","alt","#getBitmap","MAX_RATIO","factor","#drawBitmap","maxDataDimension","maxPreviewDimension","bitmapWidth","bitmapHeight","outputScale","scaledWidth","scaledHeight","#scaleBitmap","boxDim","boxDimWidth","boxDimHeight","patternCtx","dataWidth","dataHeight","offscreenCtx","#setDimensions","prevWidth","prevHeight","#serializeBitmap","toUrl","toDataURL","_superprop_getDeserialize4","structParent","_structTree","bitmapId","isSame","isSameAltText","stamps","prevData","isSameRect","isSamePageIndex","#allowClick","#annotationLayer","#clickAC","#editorFocusTimeoutId","#editors","#hadPointerDown","#isCleaningUp","#isDisabling","#textLayer","#textSelectionAC","_editorType","annotationLayer","editorTypes","isInvisible","#cleanup","disableTextSelection","toggleAnnotationLayerPointerEvents","enableTextSelection","isCommitting","annotationElementIds","editables","changedAnnotations","resetAnnotations","#textLayerPointerDown","removePointerInTextLayer","#currentEditorType","#createNewEditor","#getCenterPoint","tlX","tlY","oldRotation","#mapping","#toUpdate","_svgFactory","#setBox","#createSVG","#createClipPath","pathId","clipPathUse","isPathUpdatable","maskId","use1","use2","getSVGRoot","__webpack_exports__AbortException","__webpack_exports__AnnotationEditorLayer","__webpack_exports__AnnotationEditorParamsType","__webpack_exports__AnnotationEditorType","__webpack_exports__AnnotationEditorUIManager","__webpack_exports__AnnotationLayer","__webpack_exports__AnnotationMode","__webpack_exports__ColorPicker","__webpack_exports__DOMSVGFactory","__webpack_exports__DrawLayer","__webpack_exports__FeatureTest","__webpack_exports__GlobalWorkerOptions","__webpack_exports__ImageKind","__webpack_exports__InvalidPDFException","__webpack_exports__MissingPDFException","__webpack_exports__OPS","__webpack_exports__OutputScale","__webpack_exports__PDFDataRangeTransport","__webpack_exports__PDFDateString","__webpack_exports__PDFWorker","__webpack_exports__PasswordResponses","__webpack_exports__PermissionFlag","__webpack_exports__PixelsPerInch","__webpack_exports__RenderingCancelledException","__webpack_exports__TextLayer","__webpack_exports__UnexpectedResponseException","__webpack_exports__Util","__webpack_exports__VerbosityLevel","__webpack_exports__XfaLayer","__webpack_exports__build","__webpack_exports__createValidAbsoluteUrl","__webpack_exports__fetchData","__webpack_exports__getDocument","__webpack_exports__getFilenameFromUrl","__webpack_exports__getPdfFilenameFromUrl","__webpack_exports__getXfaPageViewport","__webpack_exports__isDataScheme","__webpack_exports__isPdfFile","__webpack_exports__noContextMenu","__webpack_exports__normalizeUnicode","__webpack_exports__setLayerDimensions","__webpack_exports__shadow","__webpack_exports__version","_OverloadYield","_awaitAsyncGenerator","_wrapAsyncGenerator","AsyncGenerator","settle","_invoke","return","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","asyncIterator","pdfjsViewer","AnnotationLayerBuilder","DownloadManager","EventBus","FindState","GenericL10n","LinkTarget","PDFFindController","PDFHistory","PDFLinkService","PDFPageView","PDFScriptingManager","PDFSinglePageViewer","PDFViewer","ProgressBar","RenderingStates","ScrollMode","SimpleLinkService","SpreadMode","StructTreeLayerBuilder","TextLayerBuilder","XfaLayerBuilder","parseQueryString","INITIAL","RUNNING","PAUSED","FINISHED","UNKNOWN","VERTICAL","HORIZONTAL","WRAPPED","PAGE","ODD","EVEN","spot","scrollMatches","offsetParent","clientTop","offsetLeft","clientLeft","scrollHeight","scrollWidth","overflow","InvisibleCharsRegExp","removeNullCharacters","replaceInvisible","binarySearchFirstItem","minIndex","maxIndex","currentIndex","approximateFraction","xinv","x_","floorToDivide","isValidRotation","isPortraitOrientation","docStyle","#classList","#disableAutoFetchTimeout","#percent","#style","bar","percent","clamp","setWidth","scrollbarWidth","offsetWidth","setDisableAutoFetch","calcRound","getCharacterType","charCode","isAlphabeticalScript","isAscii","isAsciiSpace","isAsciiAlpha","isAsciiDigit","isThai","isHan","isKatakana","isHiragana","isHalfwidthKatakana","NormalizeWithNFKC","FOUND","NOT_FOUND","PENDING","CHARACTERS_TO_NORMALIZE","DIACRITICS_EXCEPTION","DIACRITICS_EXCEPTION_STR","DIACRITICS_REG_EXP","SPECIAL_CHARS_REG_EXP","NOT_DIACRITIC_FROM_END_REG_EXP","NOT_DIACRITIC_FROM_START_REG_EXP","SYLLABLES_REG_EXP","SYLLABLES_LENGTHS","NFKC_CHARS_TO_NORMALIZE","noSyllablesRegExp","withSyllablesRegExp","syllablePositions","normalizationRegex","char","regexp","getNormalizeWithNFKC","rawDiacriticsPositions","normalized","rawDiacriticsIndex","syllableIndex","shiftOrigin","eol","hasDiacritics","p5","p6","p7","p8","p9","replacement","hasTrailingDashEOL","newCharLen","#state","#updateMatchesCountOnProgress","#visitedPagesCount","updateMatchesCountOnProgress","_linkService","onIsPageVisible","#reset","#onFind","#onFindBarClose","highlightMatches","_highlightMatches","pageMatches","_pageMatches","pageMatchesLength","_pageMatchesLength","_selected","setDocument","_pdfDocument","_firstPageCapability","#shouldDirtyMatch","_dirtyMatch","#updateUIState","findbarClosed","pendingTimeout","_findTimeout","#nextMatch","highlightAll","#updateAllPages","scrollMatchIntoView","selectedLeft","matchIndex","_scrollMatches","matchIdx","pageIdx","_offset","wrapped","_extractTextPromises","_pageContents","_pageDiffs","_hasDiacritics","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","#query","_rawQuery","_normalizedQuery","newQuery","prevQuery","newType","pagesCount","#isEntireWord","startIdx","#convertToRegExpString","matchDiacritics","isUnicode","trailingSpaces","#calculateMatch","matcherResult","matchesLength","diffs","matchPos","matchLen","getOriginalIndex","oldStart","#updatePage","#nextPageMatch","pageMatchesCount","#updateUIResultsCount","pageContent","isUnicodePart","queryPart","caseSensitive","entireWord","deferred","textOptions","pdfPage","textItem","previous","findPrevious","#updateMatch","#advanceOffsetPage","#matchesReady","numMatches","previousPage","#requestMatchesCount","matchesCount","rawQuery","SELF","BLANK","PARENT","TOP","externalLinkEnabled","externalLinkTarget","externalLinkRel","ignoreDestinationZoom","_ignoreDestinationZoom","pdfViewer","pdfHistory","setViewer","setHistory","currentPageNumber","isInPresentationMode","namedDest","explicitDest","destRef","pushCurrentPosition","scrollPageIntoView","destArray","goToPage","pageLabelToPageNumber","pushPage","targetStr","anchor","setHash","phrase","zoomArgs","zoomArg","zoomArgNumber","allowNegativeOffset","#isValidExplicitDest","back","forward","nextPage","zoom","argsLen","pdf_viewer_AbortException","pdf_viewer_AnnotationEditorLayer","pdf_viewer_AnnotationEditorType","pdf_viewer_AnnotationEditorUIManager","pdf_viewer_AnnotationLayer","pdf_viewer_AnnotationMode","pdf_viewer_createValidAbsoluteUrl","pdf_viewer_DrawLayer","pdf_viewer_fetchData","pdf_viewer_getPdfFilenameFromUrl","pdf_viewer_isPdfFile","pdf_viewer_normalizeUnicode","pdf_viewer_OutputScale","pdf_viewer_PermissionFlag","pdf_viewer_PixelsPerInch","pdf_viewer_RenderingCancelledException","pdf_viewer_setLayerDimensions","pdf_viewer_shadow","pdf_viewer_TextLayer","pdf_viewer_version","#onAppend","#eventAbortController","hasJSActionsPromise","fieldObjectsPromise","onAppend","_hasJSActionsPromise","_fieldObjectsPromise","_annotationCanvasMap","_accessibilityManager","_cancelled","#updatePresentationModeState","disableFormElements","section","inert","download","blobUrl","#openBlobUrls","downloadData","WaitOnType","_waitOnEventOrTimeout","external","_off","eventListeners","externalListeners","FluentType","FluentNone","FluentNumber","memoizeIntlObject","Intl","NumberFormat","FluentDateTime","DateTimeFormat","MAX_PLACEABLES","FSI","PDI","PluralRules","getDefault","variants","star","resolvePattern","RangeError","getArguments","positional","named","resolveExpression","minimumFractionDigits","precision","resolveVariableReference","ReferenceError","resolveMessageReference","bundle","_messages","attribute","resolveTermReference","term","_terms","resolved","resolveFunctionReference","_functions","resolveSelectExpression","variant","resolveComplexPattern","ptn","useIsolating","_useIsolating","placeables","_transform","ctor","_intls","unwrapped","opt","NUMBER_ALLOWED","NUMBER","DATETIME_ALLOWED","DATETIME","FluentBundle","functions","getMemoizerForLocale","stringLocale","memoizer","hasMessage","getMessage","addResource","allowOverrides","formatPattern","RE_MESSAGE_START","RE_ATTRIBUTE_START","RE_VARIANT_START","RE_NUMBER_LITERAL","RE_IDENTIFIER","RE_REFERENCE","RE_FUNCTION_NAME","RE_TEXT_RUN","RE_STRING_RUN","RE_STRING_ESCAPE","RE_UNICODE_ESCAPE","RE_LEADING_NEWLINES","RE_TRAILING_SPACES","RE_BLANK_LINES","RE_INDENT","TOKEN_BRACE_OPEN","TOKEN_BRACE_CLOSE","TOKEN_BRACKET_OPEN","TOKEN_BRACKET_CLOSE","TOKEN_PAREN_OPEN","TOKEN_ARROW","TOKEN_COLON","TOKEN_COMMA","TOKEN_BLANK","FluentResource","parseMessage","SyntaxError","re","consumeChar","errorClass","consumeToken","match1","parsePattern","parseAttributes","parsePatternElements","indent","parseIndent","commonIndent","parsePlaceable","lastElement","baked","Indent","parseInlineExpression","parseVariants","parseVariantKey","sigil","parseArguments","parseArgument","parseLiteral","parseNumberLiteral","parseStringLiteral","parseEscapeSequence","fraction","codepoint4","codepoint6","codepoint","fromCodePoint","makeIndent","blank","reOverlay","TEXT_LEVEL_ELEMENTS","LOCALIZABLE_ATTRIBUTES","menuitem","optgroup","textarea","textbox","translateElement","translation","localName","templateElement","innerHTML","overlayChildNodes","fromFragment","toElement","childNode","sanitized","getNodeForNamedElement","replaceChild","isElementAllowed","createSanitizedElement","createTextNodeFromTextContent","overlayAttributes","fromElement","explicitlyAllowed","isAttrNameLocalizable","sourceElement","translatedChild","childName","sourceChild","shallowPopulateUsing","attrName","elemName","CachedIterable","iterable","CachedAsyncIterable","cur","touchNext","Localization","resourceIds","generateBundles","onChange","addResourceIds","eager","removeResourceIds","formatWithFallback","translations","hasAtLeastOneBundle","_iteratorError","_iteratorAbruptCompletion","_didIteratorError","_step","_iterator","_asyncIterator","bundles","missingIds","keysFromBundle","formatMessages","messageFromBundle","formatValues","valueFromBundle","formatValue","handleEvent","formatted","attrNames","messageErrors","L10NID_ATTR_NAME","L10NARGS_ATTR_NAME","L10N_ELEMENT_QUERY","DOMLocalization","pendingrAF","pendingElements","windowElement","mutationObserver","observerConfig","translateRoots","getAttributes","connectRoot","newRoot","translateMutations","disconnectRoot","pauseObserving","resumeObserving","translateFragment","takeRecords","addedNode","getTranslatables","translateElements","frag","getKeysForElement","applyTranslations","L10n","#dir","#l10n","isRTL","#fixupLangCode","#isRTL","_setL10n","getLanguage","getDirection","translateOnce","fy","ga","gu","hi","hy","nb","ne","nn","pa","zh","shortCode","createBundle","genericl10n_GenericL10n","#generateBundles","#generateBundlesFallback","baseLang","#getPaths","langs","shortLang","#createBundle","#createBundleFallback","getCurrentHash","_fingerprint","_isPagesLoaded","fingerprint","resetHistory","updateUrl","reInitialized","_updateUrl","#bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","#isValidState","#parseCurrentHash","#pushOrReplaceState","#updateInternalState","_initialRotation","_initialBookmark","#pageHide","#unbindEvents","_updateViewareaTimeout","#isValidPage","forceReplace","isDestHashesEqual","destHash","pushHash","isDestArraysEqual","firstDest","secondDest","isEntryEqual","#tryPushCurrentPosition","popStateInProgress","initialBookmark","initialRotation","shouldReplace","newState","newUrl","temporary","checkReload","perfEntry","removeTemporary","checkNameddest","nameddest","#updateViewarea","pdfOpenParams","#popState","newHash","hashChanged","waitOnEventOrTimeout","AnnotationEditorLayerBuilder","#drawLayer","annotationEditorLayer","clonedViewport","compatParams","maxTouchPoints","isAndroid","BOOLEAN","OBJECT","STRING","allowedGlobalEvents","OptionKind","isInAutomation","localeProperties","nimbusDataStr","supportsCaretBrowsingMode","supportsDocumentFonts","supportsIntegratedFind","supportsMouseWheelZoomCtrlKey","supportsMouseWheelZoomMetaKey","supportsPinchToZoom","toolbarDensity","altTextLearnMoreUrl","annotationEditorMode","cursorToolOnLoad","debuggerSrc","defaultZoomDelay","defaultZoomValue","disableHistory","disablePageLabels","enableAltText","enableAltTextModelDownload","enableGuessAltText","enablePermissions","enablePrintAutoRotate","highlightEditorColors","historyUpdateUrl","maxCanvasPixels","forcePageColors","pageColorsBackground","pageColorsForeground","pdfBugEnabled","printResolution","sidebarViewOnLoad","scrollModeOnLoad","spreadModeOnLoad","textLayerMode","viewOnLoad","AppOptions","#opts","_hasInvokedSet","_checkDisablePreferences","defaultOnly","defaultOpt","prefs","userOpt","DrawLayerBuilder","getDrawLayer","PDF_ROLE_TO_HTML_ROLE","DocumentFragment","Part","Sect","Div","Aside","NonStruct","P","H","Title","FENote","Sub","Lbl","Span","Em","Strong","Link","Annot","Form","Ruby","RB","RT","RP","Warichu","WT","WP","L","LI","LBody","Table","TR","TH","TD","THead","TBody","TFoot","Caption","Figure","Formula","Artifact","HEADING_PATTERN","#promise","#treeDom","#treePromise","#elementAttributes","#rawDims","#elementsToAddToTextLayer","#walk","#setAttributes","structElement","htmlElement","#addImageInTextLayer","calc","addElementsToTextLayer","kid","TextAccessibilityManager","#enabled","#textChildren","#textNodes","#waitingElements","setTextMapping","#compareElementPositions","e1","e2","mid1","mid2","textChildren","nodeIndex","#addIdToAriaOwns","isRemovable","addPointerInTextLayer","owns","hasChildNodes","elementToCompare","TextHighlighter","findController","divs","texts","_updateMatches","_convertMatches","iIndex","mm","divIdx","_renderMatches","isSelectedPage","selectedMatchIdx","prevEnd","appendTextToDiv","fromOffset","toOffset","lastDivIdx","lastOffset","highlightSuffix","n0","n1","clearedUntilDivIdx","#enablePermissions","#renderingDone","highlighter","textContentParams","endOfContent","#bindMouse","#removeGlobalSelectionListener","#textLayers","#enableGlobalSelectionListener","textLayerDiv","#selectionChangeAbortController","isPointerDown","prevRange","activeTextLayers","intersectsNode","endDiv","modifyStart","compareBoundaryPoints","END_TO_END","START_TO_END","endContainer","parentTextLayer","cloneRange","DEFAULT_LAYER_PROPERTIES","LAYERS_ORDER","#annotationMode","#hasRestrictedScaling","#layerProperties","#loadingId","#previousRotation","#scaleRoundX","#scaleRoundY","#renderError","#renderingState","#textLayerMode","#useThumbnailCanvas","directDrawing","initialOptionalContent","regularAnnotations","#viewportMap","#layers","defaultViewport","renderingId","layerProperties","pageLabel","pdfPageRotate","_optionalContentConfigPromise","renderingQueue","_isStandalone","hasViewer","_container","zoomLayer","xfaLayer","#addLayer","oldDiv","renderingState","setPdfPage","_textHighlighter","#dispatchLayerRendered","#renderAnnotationLayer","#renderAnnotationEditorLayer","#renderDrawLayer","#renderXfaLayer","#buildXfaTextContentItems","#renderTextLayer","#renderStructTreeLayer","treeDom","_resetZoomLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotationLayer","keepAnnotationEditorLayer","keepXfaLayer","keepTextLayer","cancelRendering","zoomLayerNode","annotationLayerNode","annotationEditorLayerNode","xfaLayerNode","textLayerNode","layerIndex","toggleEditingMode","drawingDelay","onlyCssZoom","postponeDrawing","cancelExtraDelay","cssTransform","redrawAnnotationLayer","redrawAnnotationEditorLayer","redrawXfaLayer","redrawTextLayer","hideTextLayer","originalViewport","relativeRotation","absRotation","getPagePoint","#finishRenderTask","canvasWrapper","annotationLayerDiv","hasHCM","showCanvas","isLastShow","invScale","maxScale","sfx","sfy","renderContext","cont","isHighestPriority","resultPromise","annotationEditorLayerDiv","setPageLabel","thumbnailCanvas","_docProperties","filesize","authors","GenericScripting","sandboxBundleSrc","_ready","pdfjsSandbox","QuickJSSandbox","createSandbox","dispatchEventInSandbox","sandbox","destroySandbox","nukeSandbox","#closeCapability","#destroyCapability","#docProperties","#externalServices","#pdfDocument","#pdfViewer","#ready","#scripting","#willPrintCapability","externalServices","docProperties","#destroyScripting","objects","calculationOrder","docActions","#initScripting","#updateFromSandbox","#dispatchPageClose","#dispatchPageOpen","_pageOpenPending","appInfo","docInfo","dispatchWillSave","dispatchDidSave","dispatchWillPrint","dispatchDidPrint","destroyPromise","_visitedPages","isChangingPresentationMode","siblings","modes","apiPageLayoutToViewerModes","layout","scrollMode","spreadMode","pagesPromise","currentScaleValue","increaseScale","decreaseScale","elementId","CustomEvent","visitedPages","getPageView","actionsPromise","createScripting","race","PDFScriptingManagerComponents","PDFRenderingQueue","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","setThumbnailViewer","renderHighestPriority","currentlyVisiblePages","forceRendering","getHighestPriority","views","scrolledDown","preRenderExtra","visibleViews","numVisible","isViewFinished","firstId","lastId","visibleIds","holeId","holeView","preRenderIndex","preRenderView","renderView","isValidAnnotationEditorMode","PDFPageViewBuffer","#buf","#size","#destroyFirstView","newSize","idsToKeep","firstView","#buffer","#annotationEditorHighlightColors","#annotationEditorMode","#annotationEditorUIManager","#containerTopLeft","#switchAnnotationEditorModeAC","#switchAnnotationEditorModeTimeoutId","#getAllTextInProgress","#hiddenCopyElement","#interruptCopyCondition","#previousContainerHeight","#resizeObserver","#resizeObserverCallback","#scrollModePageState","#scaleTimeoutId","viewerVersion","firstElementChild","_getVisiblePages","_scriptingManager","scriptingManager","annotationEditorHighlightColors","removePageBorders","defaultRenderingQueue","abortSignal","scroll","watchScroll","viewAreaElement","debounceScroll","rAF","currentX","currentY","down","_eventHandler","_scrollUpdate","presentationModeState","_resetView","#updateContainerHeightCss","_pages","getCachedPageViews","pageViewsReady","_currentPageNumber","_setCurrentPageNumber","resetCurrentPageView","#resetCurrentPageView","_pageLabels","currentPageLabel","currentScale","_currentScale","#setScale","noScroll","_currentScaleValue","_pagesRotation","firstPagePromise","onePageRendered","_onePageRenderedCapability","_pagesCapability","_layerProperties","#initializePermissions","permissions","#onePageRenderedOrForceFetch","hiddenCapability","getAllText","pageNum","#copyCallback","containsNode","clipboard","writeText","_cancelRendering","permissionsPromise","_scrollMode","onAfterDraw","firstPdfPage","loadModel","viewerElement","#ensurePageViewVisible","_spreadMode","_updateSpreadMode","getPagesLeft","Language","setPageLabels","_previousScrollMode","previousPageNumber","scrollDown","pages","_updateScrollMode","#cleanupSwitchAnnotationEditorMode","pageIndexSet","parity","spread","dummyPage","#scrollIntoView","pageSpot","#isSameScale","newScale","#setScaleUpdatePages","preset","presetValue","previousScale","scaleDiff","containerTopLeft","#pageWidthScaleFactor","currentPage","hPadding","vPadding","pageWidthScale","pageHeightScale","horizontalScale","changeOrientation","boundingRect","_updateLocation","firstPage","normalizedScaleValue","intLeft","intTop","visiblePages","numVisiblePages","newCacheSize","isSimpleLayout","currentId","stillFullyVisible","#switchToEditAnnotationMode","pagesToRefresh","_isContainerRtl","isHorizontalScrollbarEnabled","isVerticalScrollbarEnabled","horizontal","getVisibleElements","scrollEl","sortByVisibility","rtl","numViews","firstVisibleElementInd","isElementNextAfterViewHorizontally","elementLeft","isElementBottomAfterViewTop","backtrackBeforeAllVisibleElements","elt","pageTop","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","fractionWidth","pc","#ensurePdfPageLoaded","#getScrollAhead","scrollAhead","hasEqualPageSizes","firstPageView","getPagesOverview","initialOrientation","orientation","isValidScrollMode","isValidSpreadMode","_getPageAdvance","pageLayout","yArray","expectedId","advance","updateScale","borderBoxSize","blockSize","updater","idsToRefresh","noUpdate","updateArgs","isSSR","PDFJS","rej","PdfViewerModule","SelfSamplingInstructionModule","ParentSelfSamplingInstructionModule","GeneralTermsModule","InitSessionModule","SendForgotPasswordModule","BrowserRedirectModule","HeaderSelectors","getVisibility","ActivateAccountModule","AppModule","bootstrap","gtms","enableGtms","tagId","GoogleTagId","HTTP_INTERCEPTORS","LibConfigService","LibLoggerService","LibHeaderVisibilityService","CSP_NONCE","HttpClientModule","ToastrModule","StoreModule","EffectsModule","getBaseUrl","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","checkInt","checkInts","arrayish","coerceArray","createArray","copyArray","sourceArray","targetArray","targetStart","sourceStart","sourceEnd","convertUtf8","toBytes","fromBytes","convertHex","Hex","numberOfRounds","rcon","S","Si","T1","T2","T3","T4","T5","T6","T7","T8","U1","U2","U3","U4","convertToInt32","AES","_prepare","rounds","_Ke","_Kd","roundKeyCount","KC","tk","rconpointer","encrypt","plaintext","ciphertext","ModeOfOperationECB","_aes","ModeOfOperationCBC","iv","_lastCipherblock","ModeOfOperationCFB","segmentSize","_shiftRegister","xorSegment","encrypted","ModeOfOperationOFB","_lastPrecipher","_lastPrecipherIndex","Counter","_counter","setBytes","MAX_SAFE_INTEGER","increment","ModeOfOperationCTR","counter","_remainingCounter","_remainingCounterIndex","module","ModeOfOperation","ecb","cfb","ofb","ctr","utils","utf8","pkcs7","pkcs7pad","padder","strip","pkcs7strip","_arrayTest","base64ToBytes","missingOctets","getBase64Code","base64codes","isValue","require","isPlainFunction","normalizeOpts","dscr","gs","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","define","StackFrame","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","stacktrace","parseOpera","parseV8OrIE","parseFFOrSafari","extractLocation","urlLike","sanitizedLine","locationParts","functionNameRegex","parseOpera9","parseOpera11","parseOpera10","lineRE","argsRaw","functionCall","numberIsNaN","toPosInt","objHasOwnProperty","iteratorSymbol","isArguments","callable","validValue","arrayLike","Context","getIterator","mapFn","captureStackTrace","generate","mixin","arg1","arg2","objToString","isFunctionStringTag","isFinite","toInteger","objPropertyIsEnumerable","defVal","compareFn","foo","trzy","function","_undefined","targetObj","getOwnPropertySymbols","sourceObject","symbol","opts1","ensureValue","stringifiable","isCallable","searchString","safeToString","reNewLine","string","validTypes","toPrimitive","toStringTag","objPrototype","ie11BugWorkaround","postfix","NativeSymbol","SymbolPolyfill","defineProperties","hasInstance","isConcatSpreadable","species","unscopables","validateSymbol","registry","for","keyFor","HiddenSymbol","isNativeSafe","generateName","setupStandardSymbols","setupSymbolRegistry","__description__","__name__","isSymbol","__eeOnceListener__","__ee__","candidate","naiveFallback","__global__","isBuffer","keyIdentity","flatten","delimiter","maxDepth","transformKey","currentDepth","isarray","isbuffer","isobject","newKey","unflatten","overwrite","getkey","parsedKey","addKeys","keyPrefix","recipient","$jscomp","createTemplateTagFirstArg","raw","createTemplateTagFirstArgWithRaw","arrayIteratorImpl","arrayIterator","makeIterator","arrayFromIterator","arrayFromIterable","checkStringArgs","ASSUME_ES5","ASSUME_NO_NATIVE_MAP","ASSUME_NO_NATIVE_SET","SIMPLE_FROUND_POLYFILL","ISOLATE_POLYFILLS","FORCE_POLYFILL_PROMISE","FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION","IS_SYMBOL_NATIVE","TRUST_ES6_POLYFILLS","polyfills","propertyToPolyfillSymbol","POLYFILL_PREFIX","$jscomp$lookupPolyfilledValue","polyfillIsolated","polyfillUnisolated","findInternal","initSymbol","$jscomp$symbol$id_","iteratorPrototype","iteratorFromArray","is","COMPILED","goog","module$contents$goog$debug$Error_DebugError","reportErrorToServer","exportPath_","execScript","CLOSURE_UNCOMPILED_DEFINES","CLOSURE_DEFINES","FEATURESET_YEAR","TRUSTED_SITE","DISALLOW_TEST_ONLY_CODE","ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING","isInModuleLoader_","isProvided_","constructNamespace_","implicitNamespaces_","getObjectByName","getScriptNonce","getScriptNonce_","cspNonce_","NONCE_PATTERN_","VALID_MODULE_RE_","isInGoogModuleLoader_","moduleLoaderState_","moduleName","getInternal_","loadedModules_","ModuleType","ES6","GOOG","isInEs6ModuleLoader_","getCurrentModulePath","declareLegacyNamespace","declareModuleId","moduleId","setTestOnly","forwardDeclare","addDependency","DEPENDENCIES_ENABLED","debugLoader_","ENABLE_DEBUG_LOADER","logToConsole_","requested","load_","requireType","basePath","nullFunction","abstractMethod","addSingletonGetter","instance_","instantiatedSingletons_","LOAD_MODULE_USING_EVAL","SEAL_MODULE_EXPORTS","TRANSPILE","ASSUME_ES_MODULES_TRANSPILED","TRANSPILE_TO_LANGUAGE","TRANSPILER","hasBadLetScoping","useSafari10Workaround","workaroundSafari10EvalBug","loadModule","loadModuleFromSource_","seal","normalizePath_","loadFileSync_","CLOSURE_LOAD_FILE_SYNC","transpile_","transpile","$gwtExport","typeOf","isArrayLike","isDateLike","getFullYear","getUid","UID_PROPERTY_","uidCounter_","hasUid","removeUid","cloneObject","bindNative_","bindJs_","partial","globalEval","getCssName","cssNameMapping_","cssNameMappingStyle_","CLOSURE_CSS_NAME_MAP_FN","setCssNameMapping","CLOSURE_CSS_NAME_MAPPING","getMsg","unescapeHtmlEntities","getMsgWithFallback","exportSymbol","exportProperty","inherits","superClass_","defineClass","statics","createSealingConstructor_","applyProperties_","SEAL_CLASS_INSTANCES","OBJECT_PROTOTYPE_FIELDS_","inHtmlDocument_","isDocumentLoading_","attachEvent","findBasePath_","CLOSURE_BASE_PATH","Transpiler","requiresTranspilation_","transpilationTarget_","createRequiresTranspilation_","es3","needsTranspile","transpiler_","protectScriptTag_","DebugLoader_","dependencies_","idToPath_","written_","loadingDeps_","depsToLoad_","paused_","factory_","DependencyFactory","deferredCallbacks_","deferredQueue_","getPathFromDeps_","onLoad","loadClosureDeps","createDependency","loadDeps_","areDepsLoaded_","requires","setDependencyFactory","loading_","resume_","loaded_","pending","setModuleState","registerEs6ModuleExports","registerGoogModuleExports","clearModuleState","defer","defer_","areDepsLoaded","pause_","LoadController","Dependency","relativePath","provides","loadFlags","loadCallbacks_","callbackMap_","registerCallback_","unregisterCallback_","callback_","CLOSURE_IMPORT_SCRIPT","write","TRUSTED_TYPES_POLICY_","createHTML","IS_OLD_IE_","createScriptURL","Es6ModuleDependency","createScript","TransformedDependency","contents_","lazyFetch_","ensure","TranspiledDependency","transpiler","PreTranspiledEs6ModuleDependency","GoogModuleDependency","needsTranspile_","TRUSTED_TYPES_POLICY_NAME","createTrustedTypesPolicy","CLOSURE_NO_DEPS","identity_","trustedTypes","createPolicy","NodeType","ELEMENT","ATTRIBUTE","TEXT","CDATA_SECTION","ENTITY_REFERENCE","ENTITY","PROCESSING_INSTRUCTION","COMMENT","DOCUMENT_TYPE","DOCUMENT_FRAGMENT","NOTATION","asserts","ENABLE_ASSERTS","AssertionError","subs_","messagePattern","DEFAULT_ERROR_HANDLER","errorHandler_","doAssertFailure_","setErrorHandler","assertExists","assertNumber","assertString","assertFunction","assertObject","assertArray","assertBoolean","assertElement","assertInstanceof","getType_","assertFinite","assertObjectPrototypeIsIntact","displayName","NATIVE_ARRAY_PROTOTYPES","module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS","module$contents$goog$array_peek","ASSUME_NATIVE_FUNCTIONS","peek","module$contents$goog$array_indexOf","module$contents$goog$array_lastIndexOf","module$contents$goog$array_forEach","module$contents$goog$array_forEachRight","forEachRight","module$contents$goog$array_filter","module$contents$goog$array_map","module$contents$goog$array_reduce","module$contents$goog$array_reduceRight","reduceRight","module$contents$goog$array_some","module$contents$goog$array_every","module$contents$goog$array_count","module$contents$goog$array_find","module$contents$goog$array_findIndex","module$contents$goog$array_findRight","module$contents$goog$array_findIndexRight","module$contents$goog$array_contains","module$contents$goog$array_isEmpty","module$contents$goog$array_clear","module$contents$goog$array_insert","module$contents$goog$array_insertAt","module$contents$goog$array_splice","module$contents$goog$array_insertArrayAt","module$contents$goog$array_insertBefore","module$contents$goog$array_remove","module$contents$goog$array_removeAt","module$contents$goog$array_removeLast","module$contents$goog$array_removeIf","module$contents$goog$array_removeAllIf","module$contents$goog$array_concat","module$contents$goog$array_join","module$contents$goog$array_toArray","findRight","findIndexRight","insertAt","insertArrayAt","removeLast","removeAt","removeIf","removeAllIf","module$contents$goog$array_clone","module$contents$goog$array_extend","module$contents$goog$array_slice","module$contents$goog$array_removeDuplicates","module$contents$goog$array_binarySearch","module$contents$goog$array_binarySearch_","module$contents$goog$array_defaultCompare","module$contents$goog$array_binarySelect","module$contents$goog$array_sort","module$contents$goog$array_stableSort","module$contents$goog$array_sortByKey","module$contents$goog$array_sortObjectsByKey","module$contents$goog$array_isSorted","module$contents$goog$array_equals","module$contents$goog$array_defaultCompareEquality","module$contents$goog$array_compare3","module$contents$goog$array_inverseDefaultCompare","module$contents$goog$array_binaryInsert","module$contents$goog$array_binaryRemove","module$contents$goog$array_bucket","module$contents$goog$array_toObject","module$contents$goog$array_range","module$contents$goog$array_repeat","module$contents$goog$array_flatten","module$contents$goog$array_rotate","module$contents$goog$array_moveItem","module$contents$goog$array_zip","module$contents$goog$array_shuffle","module$contents$goog$array_copyByIndex","module$contents$goog$array_concatMap","extend","removeDuplicates","binarySearch","binarySelect","stableSort","sortByKey","sortObjectsByKey","isSorted","equals","compare3","defaultCompare","inverseDefaultCompare","defaultCompareEquality","binaryInsert","binaryRemove","bucket","toObject","moveItem","zip","shuffle","copyByIndex","assertIsLocation","getWindow_","debugStringForType_","assertIsElementType_","assertIsHTMLAnchorElement","assertIsHTMLButtonElement","assertIsHTMLLinkElement","assertIsHTMLImageElement","assertIsHTMLAudioElement","assertIsHTMLVideoElement","assertIsHTMLInputElement","assertIsHTMLTextAreaElement","assertIsHTMLCanvasElement","assertIsHTMLEmbedElement","assertIsHTMLFormElement","assertIsHTMLFrameElement","assertIsHTMLIFrameElement","assertIsHTMLObjectElement","assertIsHTMLScriptElement","parentWindow","HtmlElement","constant","NULL","identity","nth","partialRight","withReturnValue","equalTo","and","or","not","CACHE_RETURN_VALUE","cacheReturnValue","debounce","throttle","rateLimit","TagName","cast","A","ABBR","ACRONYM","ADDRESS","APPLET","AREA","ARTICLE","ASIDE","AUDIO","B","BASE","BASEFONT","BDI","BDO","BIG","BLOCKQUOTE","BODY","BR","BUTTON","CANVAS","CAPTION","CENTER","CITE","CODE","COL","COLGROUP","COMMAND","DATA","DATALIST","DD","DEL","DETAILS","DFN","DIALOG","DIR","DIV","DL","DT","EM","EMBED","FIELDSET","FIGCAPTION","FIGURE","FONT","FOOTER","FORM","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HEAD","HEADER","HGROUP","HR","HTML","I","IFRAME","IMG","INPUT","INS","ISINDEX","KBD","KEYGEN","LABEL","LEGEND","LINK","MAIN","MAP","MARK","MATH","MENU","MENUITEM","META","METER","NAV","NOFRAMES","NOSCRIPT","OL","OPTGROUP","OPTION","OUTPUT","PARAM","PICTURE","PRE","PROGRESS","Q","RTC","RUBY","SAMP","SCRIPT","SECTION","SELECT","SMALL","SOURCE","SPAN","STRIKE","STRONG","STYLE","SUB","SUMMARY","SUP","SVG","TABLE","TBODY","TEMPLATE","TEXTAREA","TFOOT","THEAD","TIME","TITLE","TRACK","TT","U","UL","VAR","VIDEO","WBR","getCount","getAnyKey","getAnyValue","containsValue","getValues","getKeys","getValueByKeys","containsKey","findKey","findValue","setIfUndefined","setWithReturnValueIfNotSet","unsafeClone","DataView","PROTOTYPE_FIELDS_","createSet","createImmutableView","isFrozen","isImmutableView","getAllPropertyNames","getSuperClass","VOID_TAGS_","embed","hr","keygen","wbr","isVoidTag","TypedString","Const","stringConstValueWithSecurityContract__googStringSecurityPrivate_","GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_","STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_","TYPE_MARKER_","implementsGoogStringTypedString","getTypedStringValue","unwrap","trustedtypes","getPolicyPrivateDoNotAccessOrElse","cachedPolicy_","module$contents$goog$html$SafeScript_CONSTRUCTOR_TOKEN_PRIVATE","module$contents$goog$html$SafeScript_SafeScript","privateDoNotAccessOrElseSafeScriptWrappedValue_","fromConstant","createSafeScriptSecurityPrivateDoNotAccessOrElse","fromConstantAndArgs","stringify_","fromJson","unwrapTrustedScript","SafeScript","createObjectUrl","getUrlObject_","revokeObjectUrl","revokeObjectURL","UrlObject_","findUrlObject_","webkitURL","browserSupportsObjectUrls","getBlob","BlobBuilder","WebKitBlobBuilder","getBlobWithProperties","endings","bidi","FORCE_RTL","IS_RTL","Format","LRE","RLE","LRM","RLM","Dir","LTR","RTL","NEUTRAL","RIGHT","LEFT","I18N_RIGHT","I18N_LEFT","toDir","ltrChars_","rtlChars_","htmlSkipReg_","stripHtmlIfNeeded_","rtlCharReg_","ltrCharReg_","hasAnyRtl","hasRtlChar","hasAnyLtr","ltrRe_","rtlRe_","isRtlChar","isLtrChar","isNeutralChar","ltrDirCheckRe_","rtlDirCheckRe_","startsWithRtl","isRtlText","startsWithLtr","isLtrText","isRequiredLtrRe_","isNeutralText","ltrExitDirCheckRe_","rtlExitDirCheckRe_","endsWithLtr","isLtrExitText","endsWithRtl","isRtlExitText","rtlLocalesRe_","isRtlLanguage","bracketGuardTextRe_","guardBracketInText","enforceRtlInHtml","enforceRtlInText","enforceLtrInHtml","enforceLtrInText","dimensionsRe_","leftRe_","rightRe_","tempRe_","mirrorCSS","doubleQuoteSubstituteRe_","singleQuoteSubstituteRe_","normalizeHebrewQuote","wordSeparatorRe_","hasNumeralsRe_","rtlDetectionThreshold_","estimateDirection","detectRtlDirectionality","setElementDirAndAlign","setElementDirByTextDirectionality","DirectionalString","TrustedResourceUrl","privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_","CONSTRUCTOR_TOKEN_PRIVATE_","implementsGoogI18nBidiDirectionalString","cloneWithParams","URL_PARAM_PARSER_","createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse","stringifyParams_","unwrapTrustedScriptURL","BASE_URL_","FORMAT_MARKER_","formatWithParams","fromConstants","fromSafeScript","caseInsensitiveStartsWith","caseInsensitiveCompare","caseInsensitiveEndsWith","caseInsensitiveEquals","isEmptyOrWhitespace","newLineToBr","htmlEscape","AMP_RE_","LT_RE_","GT_RE_","QUOT_RE_","SINGLE_QUOTE_RE_","NULL_RE_","ALL_RE_","whitespaceEscape","caseInsensitiveContains","compareVersions","compareElements_","SafeUrl","privateDoNotAccessOrElseSafeUrlWrappedValue_","INNOCUOUS_STRING","createSafeUrlSecurityPrivateDoNotAccessOrElse","SAFE_MIME_TYPE_PATTERN_","isSafeMimeType","fromBlob","fromMediaSource","MediaSource","DATA_URL_PATTERN_","tryFromDataUrl","fromDataUrl","INNOCUOUS_URL","fromTelUrl","SIP_URL_PATTERN_","fromSipUrl","fromFacebookMessengerUrl","fromWhatsAppUrl","fromSmsUrl","isSmsUrlBodyValid_","fromSshUrl","sanitizeChromeExtensionUrl","sanitizeExtensionUrl_","sanitizeFirefoxExtensionUrl","sanitizeEdgeExtensionUrl","fromTrustedResourceUrl","SAFE_URL_PATTERN_","SAFE_URL_PATTERN","trySanitize","sanitizeAssertUnchanged","ABOUT_BLANK","SafeStyle","privateDoNotAccessOrElseSafeStyleWrappedValue_","createSafeStyleSecurityPrivateDoNotAccessOrElse","sanitizePropertyValue_","sanitizePropertyValueString_","FUNCTIONS_RE_","URL_RE_","VALUE_RE_","COMMENT_RE_","hasBalancedQuotes_","hasBalancedSquareBrackets_","sanitizeUrl_","VALUE_ALLOWED_CHARS_","ALLOWED_FUNCTIONS_","module$contents$goog$html$SafeStyleSheet_CONSTRUCTOR_TOKEN_PRIVATE","module$contents$goog$html$SafeStyleSheet_SafeStyleSheet","privateDoNotAccessOrElseSafeStyleSheetWrappedValue_","createRule","hasBalancedBrackets_","createSafeStyleSheetSecurityPrivateDoNotAccessOrElse","SafeStyleSheet","labs","util","getNativeUserAgentString_","getNavigator_","userAgent_","setUserAgent","getUserAgent","matchUserAgent","matchUserAgentIgnoreCase","extractVersionTuples","matchOpera_","matchIE_","matchEdgeHtml_","matchEdgeChromium_","matchOperaChromium_","matchFirefox_","matchSafari_","matchChrome_","matchCoast_","isSilk","matchIosWebview_","matchAndroidBrowser_","isOpera","isEdge","isEdgeChromium","isOperaChromium","isSafari","isCoast","isIosWebview","isAndroidBrowser","getIEVersion_","isVersionOrHigher","SafeHtml","privateDoNotAccessOrElseSafeHtmlWrappedValue_","dir_","ENABLE_ERROR_MESSAGES","SUPPORT_STYLE_ATTRIBUTE","unwrapTrustedHTML","createSafeHtmlSecurityPrivateDoNotAccessOrElse","htmlEscapePreservingNewlines","htmlEscapePreservingNewlinesAndSpaces","comment","VALID_NAMES_IN_TAG_","URL_ATTRIBUTES_","cite","formaction","manifest","poster","NOT_ALLOWED_TAG_NAMES_","verifyTagName","createSafeHtmlTagSecurityPrivateDoNotAccessOrElse","createIframe","srcdoc","combineAttributes","createSandboxIframe","canUseSandboxIframe","HTMLIFrameElement","createScriptSrc","createStyle","createMetaRefresh","getAttrNameAndValue_","getStyleValue_","createWithDir","concatWithDir","stringifyAttributes","DOCTYPE_HTML","emptyHTML","uncheckedconversions","safeHtmlFromStringKnownToSatisfyTypeContract","safeScriptFromStringKnownToSatisfyTypeContract","safeStyleFromStringKnownToSatisfyTypeContract","safeStyleSheetFromStringKnownToSatisfyTypeContract","safeUrlFromStringKnownToSatisfyTypeContract","trustedResourceUrlFromStringKnownToSatisfyTypeContract","InsertAdjacentHtmlPosition","AFTERBEGIN","AFTEREND","BEFOREBEGIN","BEFOREEND","insertAdjacentHtml","insertAdjacentHTML","SET_INNER_HTML_DISALLOWED_TAGS_","isInnerHtmlCleanupRecursive_","unsafeSetInnerHtmlDoNotUseOrElse","setInnerHtml","setInnerHtmlFromConstant","setOuterHtml","outerHTML","setFormElementAction","setButtonFormAction","formAction","setInputFormAction","documentWrite","setAnchorHref","setImageSrc","setAudioSrc","setVideoSrc","setEmbedSrc","setFrameSrc","setIframeSrc","setIframeSrcdoc","setLinkHrefAndRel","setObjectData","setScriptSrc","setNonceForScriptElement_","setScriptContent","setLocationHref","assignLocation","replaceLocation","openInWindow","parseFromStringHtml","parseFromString","createImageFromBlob","DETECT_DOUBLE_ESCAPING","FORCE_NON_DOM_HTML_UNESCAPING","Unicode","NBSP","subs","collapseWhitespace","isEmptyString","isEmptyOrWhitespaceSafe","makeSafe","isEmptySafe","isBreakingWhitespace","isAlpha","isNumeric","isAlphaNumeric","isUnicodeChar","stripNewlines","canonicalizeNewlines","normalizeWhitespace","normalizeSpaces","collapseBreakingSpaces","trimLeft","trimRight","numberAwareCompare_","intAwareCompare","floatAwareCompare","numerateCompare","urlEncode","urlDecode","E_RE_","unescapeEntities","unescapeEntitiesUsingDom_","unescapePureXmlEntities_","unescapeEntitiesWithDocument","HTML_ENTITY_PATTERN_","preserveSpaces","stripQuotes","truncate","truncateMiddle","specialEscapeChars_","jsEscapeCache_","quote","escapeChar","escapeString","countOf","removeAll","regExpEscape","buildString","getRandomString","hashCode","uniqueStringCounter_","createUniqueString","toNumber","isLowerCamelCase","isUpperCamelCase","toCamelCase","toSelectorCase","toTitleCase","capitalize","splitLimit","lastComponent","editDistance","proto2","Descriptor","messageType_","name_","fullName_","fullName","containingType_","containingType","fields_","getTag","getFullName","getContainingType","getDescriptor","getFields","getFieldsMap","findFieldByName","findFieldByTag","createMessageInstance","FieldDescriptor","parent_","tag_","isPacked_","packed","isRepeated_","repeated","isRequired_","fieldType_","nativeType_","deserializationConversionPermitted_","FieldType","INT64","UINT64","FIXED64","SFIXED64","SINT64","FLOAT","DOUBLE","defaultValue_","INT32","FIXED32","BOOL","GROUP","MESSAGE","BYTES","UINT32","ENUM","SFIXED32","SINT32","getDefaultValue","getFieldType","getNativeType","deserializationConversionPermitted","getFieldMessageType","isCompositeType","isPacked","isRepeated","isOptional","values_","deserializedFields_","lazyDeserializer_","initializeForLazyDeserializer","setUnknown","forEachUnknown","has$Value","arrayOf","array$Values","count$Values","get$Value","getOrDefault","get$ValueOrDefault","set$Value","add$Value","clear$Field","getValueForTag_","copyFrom","mergeFrom","initDefaults","deserializeField","checkFieldType_","createDescriptor","DECODE_SYMBOLIC_ENUMS","getSerializedValue","deserializeTo","getDeserializedValue","INTEGER_REGEX","LazyDeserializer","PbLiteSerializer","zeroIndexing_","setZeroIndexed","StringBuffer","buffer_","getLength","phonenumbers","descriptor_","getPatternOrDefault","setPattern","hasPattern","patternCount","clearPattern","getFormat","getFormatOrDefault","setFormat","hasFormat","formatCount","clearFormat","getLeadingDigitsPattern","getLeadingDigitsPatternOrDefault","addLeadingDigitsPattern","leadingDigitsPatternArray","hasLeadingDigitsPattern","leadingDigitsPatternCount","clearLeadingDigitsPattern","getNationalPrefixFormattingRule","getNationalPrefixFormattingRuleOrDefault","setNationalPrefixFormattingRule","hasNationalPrefixFormattingRule","nationalPrefixFormattingRuleCount","clearNationalPrefixFormattingRule","getNationalPrefixOptionalWhenFormatting","getNationalPrefixOptionalWhenFormattingOrDefault","setNationalPrefixOptionalWhenFormatting","hasNationalPrefixOptionalWhenFormatting","nationalPrefixOptionalWhenFormattingCount","clearNationalPrefixOptionalWhenFormatting","getDomesticCarrierCodeFormattingRule","getDomesticCarrierCodeFormattingRuleOrDefault","setDomesticCarrierCodeFormattingRule","hasDomesticCarrierCodeFormattingRule","domesticCarrierCodeFormattingRuleCount","clearDomesticCarrierCodeFormattingRule","PhoneNumberDesc","getNationalNumberPattern","getNationalNumberPatternOrDefault","setNationalNumberPattern","hasNationalNumberPattern","nationalNumberPatternCount","clearNationalNumberPattern","getPossibleLength","getPossibleLengthOrDefault","addPossibleLength","possibleLengthArray","hasPossibleLength","possibleLengthCount","clearPossibleLength","getPossibleLengthLocalOnly","getPossibleLengthLocalOnlyOrDefault","addPossibleLengthLocalOnly","possibleLengthLocalOnlyArray","hasPossibleLengthLocalOnly","possibleLengthLocalOnlyCount","clearPossibleLengthLocalOnly","getExampleNumber","getExampleNumberOrDefault","setExampleNumber","hasExampleNumber","exampleNumberCount","clearExampleNumber","PhoneMetadata","getGeneralDesc","getGeneralDescOrDefault","setGeneralDesc","hasGeneralDesc","generalDescCount","clearGeneralDesc","getFixedLine","getFixedLineOrDefault","setFixedLine","hasFixedLine","fixedLineCount","clearFixedLine","getMobile","getMobileOrDefault","setMobile","hasMobile","mobileCount","clearMobile","getTollFree","getTollFreeOrDefault","setTollFree","hasTollFree","tollFreeCount","clearTollFree","getPremiumRate","getPremiumRateOrDefault","setPremiumRate","hasPremiumRate","premiumRateCount","clearPremiumRate","getSharedCost","getSharedCostOrDefault","setSharedCost","hasSharedCost","sharedCostCount","clearSharedCost","getPersonalNumber","getPersonalNumberOrDefault","setPersonalNumber","hasPersonalNumber","personalNumberCount","clearPersonalNumber","getVoip","getVoipOrDefault","setVoip","hasVoip","voipCount","clearVoip","getPager","getPagerOrDefault","setPager","hasPager","pagerCount","clearPager","getUan","getUanOrDefault","setUan","hasUan","uanCount","clearUan","getEmergency","getEmergencyOrDefault","setEmergency","hasEmergency","emergencyCount","clearEmergency","getVoicemail","getVoicemailOrDefault","setVoicemail","hasVoicemail","voicemailCount","clearVoicemail","getShortCode","getShortCodeOrDefault","setShortCode","hasShortCode","shortCodeCount","clearShortCode","getStandardRate","getStandardRateOrDefault","setStandardRate","hasStandardRate","standardRateCount","clearStandardRate","getCarrierSpecific","getCarrierSpecificOrDefault","setCarrierSpecific","hasCarrierSpecific","carrierSpecificCount","clearCarrierSpecific","getSmsServices","getSmsServicesOrDefault","setSmsServices","hasSmsServices","smsServicesCount","clearSmsServices","getNoInternationalDialling","getNoInternationalDiallingOrDefault","setNoInternationalDialling","hasNoInternationalDialling","noInternationalDiallingCount","clearNoInternationalDialling","getIdOrDefault","setId","hasId","idCount","clearId","getCountryCodeOrDefault","setCountryCode","hasCountryCode","countryCodeCount","clearCountryCode","getInternationalPrefix","getInternationalPrefixOrDefault","setInternationalPrefix","hasInternationalPrefix","internationalPrefixCount","clearInternationalPrefix","getPreferredInternationalPrefix","getPreferredInternationalPrefixOrDefault","setPreferredInternationalPrefix","hasPreferredInternationalPrefix","preferredInternationalPrefixCount","clearPreferredInternationalPrefix","getNationalPrefix","getNationalPrefixOrDefault","setNationalPrefix","hasNationalPrefix","nationalPrefixCount","clearNationalPrefix","getPreferredExtnPrefix","getPreferredExtnPrefixOrDefault","setPreferredExtnPrefix","hasPreferredExtnPrefix","preferredExtnPrefixCount","clearPreferredExtnPrefix","getNationalPrefixForParsing","getNationalPrefixForParsingOrDefault","setNationalPrefixForParsing","hasNationalPrefixForParsing","nationalPrefixForParsingCount","clearNationalPrefixForParsing","getNationalPrefixTransformRule","getNationalPrefixTransformRuleOrDefault","setNationalPrefixTransformRule","hasNationalPrefixTransformRule","nationalPrefixTransformRuleCount","clearNationalPrefixTransformRule","getSameMobileAndFixedLinePattern","getSameMobileAndFixedLinePatternOrDefault","setSameMobileAndFixedLinePattern","hasSameMobileAndFixedLinePattern","sameMobileAndFixedLinePatternCount","clearSameMobileAndFixedLinePattern","getNumberFormat","getNumberFormatOrDefault","addNumberFormat","numberFormatArray","hasNumberFormat","numberFormatCount","clearNumberFormat","getIntlNumberFormat","getIntlNumberFormatOrDefault","addIntlNumberFormat","intlNumberFormatArray","hasIntlNumberFormat","intlNumberFormatCount","clearIntlNumberFormat","getMainCountryForCode","getMainCountryForCodeOrDefault","setMainCountryForCode","hasMainCountryForCode","mainCountryForCodeCount","clearMainCountryForCode","getLeadingDigits","getLeadingDigitsOrDefault","setLeadingDigits","hasLeadingDigits","leadingDigitsCount","clearLeadingDigits","PhoneMetadataCollection","getMetadataOrDefault","addMetadata","metadataArray","hasMetadata","metadataCount","clearMetadata","PhoneNumber","getNationalNumberOrDefault","setNationalNumber","hasNationalNumber","nationalNumberCount","clearNationalNumber","getExtension","getExtensionOrDefault","setExtension","hasExtension","extensionCount","clearExtension","getItalianLeadingZero","getItalianLeadingZeroOrDefault","setItalianLeadingZero","hasItalianLeadingZero","italianLeadingZeroCount","clearItalianLeadingZero","getNumberOfLeadingZeros","getNumberOfLeadingZerosOrDefault","setNumberOfLeadingZeros","hasNumberOfLeadingZeros","numberOfLeadingZerosCount","clearNumberOfLeadingZeros","getRawInput","getRawInputOrDefault","setRawInput","hasRawInput","rawInputCount","clearRawInput","getCountryCodeSource","getCountryCodeSourceOrDefault","setCountryCodeSource","hasCountryCodeSource","countryCodeSourceCount","clearCountryCodeSource","getPreferredDomesticCarrierCode","getPreferredDomesticCarrierCodeOrDefault","setPreferredDomesticCarrierCode","hasPreferredDomesticCarrierCode","preferredDomesticCarrierCodeCount","clearPreferredDomesticCarrierCode","CountryCodeSource","UNSPECIFIED","FROM_NUMBER_WITH_PLUS_SIGN","FROM_NUMBER_WITH_IDD","FROM_NUMBER_WITHOUT_PLUS_SIGN","FROM_DEFAULT_COUNTRY","countryCodeToRegionCodeMap","countryToMetadata","AC","AD","AE","AF","AG","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TG","TJ","TK","TL","TM","TN","TO","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","PhoneNumberUtil","regionToMetadataMap","INVALID_COUNTRY_CODE","NOT_A_NUMBER","TOO_SHORT_AFTER_IDD","TOO_SHORT_NSN","TOO_LONG","NANPA_COUNTRY_CODE_","MIN_LENGTH_FOR_NSN_","MAX_LENGTH_FOR_NSN_","MAX_LENGTH_COUNTRY_CODE_","MAX_INPUT_STRING_LENGTH_","UNKNOWN_REGION_","MOBILE_TOKEN_MAPPINGS_","GEO_MOBILE_COUNTRIES_","PLUS_SIGN","STAR_SIGN_","RFC3966_EXTN_PREFIX_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","DIGIT_MAPPINGS","DIALLABLE_CHAR_MAPPINGS_","ALPHA_MAPPINGS_","C","D","E","F","J","M","O","R","T","V","W","X","Y","Z","ALL_NORMALIZATION_MAPPINGS_","ALL_PLUS_NUMBER_GROUPING_SYMBOLS_","z","SINGLE_INTERNATIONAL_PREFIX_","VALID_PUNCTUATION","VALID_DIGITS_","VALID_ALPHA_","PLUS_CHARS_","PLUS_CHARS_PATTERN","LEADING_PLUS_CHARS_PATTERN","SEPARATOR_PATTERN_","CAPTURING_DIGIT_PATTERN","VALID_START_CHAR_PATTERN_","SECOND_NUMBER_START_PATTERN_","UNWANTED_END_CHAR_PATTERN_","VALID_ALPHA_PHONE_PATTERN_","MIN_LENGTH_PHONE_NUMBER_PATTERN_","VALID_PHONE_NUMBER_","DEFAULT_EXTN_PREFIX_","RFC3966_VISUAL_SEPARATOR_","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","ALPHANUM_","RFC3966_DOMAINLABEL_","RFC3966_TOPLABEL_","RFC3966_DOMAINNAME_","RFC3966_DOMAINNAME_PATTERN_","extnDigits_","createExtnPattern_","EXTN_PATTERN_","VALID_PHONE_NUMBER_PATTERN_","NON_DIGITS_PATTERN_","FIRST_GROUP_PATTERN_","NP_PATTERN_","FG_PATTERN_","CC_PATTERN_","FIRST_GROUP_ONLY_PREFIX_PATTERN_","REGION_CODE_FOR_NON_GEO_ENTITY","PhoneNumberFormat","RFC3966","PhoneNumberType","FIXED_LINE","MOBILE","FIXED_LINE_OR_MOBILE","TOLL_FREE","PREMIUM_RATE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL","MatchType","NO_MATCH","SHORT_NSN_MATCH","NSN_MATCH","EXACT_MATCH","ValidationResult","IS_POSSIBLE","IS_POSSIBLE_LOCAL_ONLY","TOO_SHORT","INVALID_LENGTH","extractPossibleNumber","isViablePhoneNumber","matchesEntirely","normalizeHelper_","normalizeDigitsOnly","normalizeSB_","normalizeDiallableCharsOnly","convertAlphaCharactersInNumber","getLengthOfGeographicalAreaCode","getMetadataForRegion","isNumberGeographical","getLengthOfNationalDestinationCode","getNumberType","getCountryMobileToken","getSupportedRegions","getSupportedGlobalNetworkCallingCodes","getSupportedCallingCodes","descHasPossibleNumberData_","descHasData_","getSupportedTypesForMetadata_","getNumberDescByType_","getSupportedTypesForRegion","isValidRegionCode_","getSupportedTypesForNonGeoEntity","getMetadataForNonGeographicalRegion","formattingRuleHasFirstGroupOnly","hasValidCountryCallingCode_","getNationalSignificantNumber","prefixNumberWithCountryCallingCode_","getRegionCodeForCountryCode","getMetadataForRegionOrCallingCode_","maybeGetFormattedExtension_","formatNsn_","formatByPattern","chooseFormattingPatternForNumber_","formatNsnUsingPattern_","formatNationalNumberWithCarrierCode","formatNationalNumberWithPreferredCarrierCode","formatNumberForMobileDialing","canBeInternationallyDialled","testNumberLength_","formatOutOfCountryCallingNumber","isNANPACountry","getCountryCodeForValidRegion_","formatInOriginalFormat","hasFormattingPatternForNumber_","getNddPrefixForRegion","rawInputContainsNationalPrefix_","formatOutOfCountryKeepingAlphaChars","getExampleNumberForType","getExampleNumberForNonGeoEntity","getNumberTypeHelper_","isNumberMatchingDesc_","isValidNumberForRegion","getRegionCodeForNumberFromRegionList_","getRegionCodesForCountryCode","getCountryCodeForRegion","isAlphaNumber","maybeStripExtension","isPossibleNumber","isPossibleNumberWithReason","isPossibleNumberForType","isPossibleNumberForTypeWithReason","testNumberLengthForType_","isPossibleNumberString","truncateTooLongNumber","extractCountryCode","maybeExtractCountryCode","maybeStripInternationalPrefixAndNormalize","maybeStripNationalPrefixAndCarrierCode","parsePrefixAsIdd_","checkRegionForParsing_","parseHelper_","setItalianLeadingZerosForPhoneNumber_","buildNationalNumberForParsing_","extractPhoneContext_","isPhoneContextValid_","copyCoreFieldsOnly_","isNumberMatch","isNationalNumberSuffixOfTheOther_","matchesPrefix","shortnumbermetadata","ShortNumberInfo","REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT_","ShortNumberCost","STANDARD_RATE","UNKNOWN_COST","getRegionCodesForCountryCode_","regionDialingFromMatchesNumber_","isPossibleShortNumberForRegion","getMetadataForRegion_","getNationalSignificantNumber_","isPossibleShortNumber","isValidShortNumberForRegion","matchesPossibleNumberAndNationalNumber_","isValidShortNumber","getRegionCodeForShortNumberFromRegionList_","getExpectedCostForRegion","isEmergencyNumber","getExpectedCost","getExampleShortNumber","getExampleShortNumberForCost","connectsToEmergencyNumber","matchesEmergencyNumberHelper_","isCarrierSpecific","isCarrierSpecificForRegion","isSmsServiceForRegion","AsYouTypeFormatter","DIGIT_PLACEHOLDER_","DIGIT_PATTERN_","currentOutput_","formattingTemplate_","currentFormattingPattern_","accruedInput_","accruedInputWithoutFormatting_","ableToFormat_","isExpectingCountryCallingCode_","isCompleteNumber_","inputHasFormatting_","phoneUtil_","positionToRemember_","originalPosition_","lastMatchPosition_","prefixBeforeNationalNumber_","shouldAddSpaceAfterNationalPrefix_","extractedNationalPrefix_","nationalNumber_","possibleFormats_","defaultCountry_","defaultMetadata_","currentMetadata_","SEPARATOR_BEFORE_NATIONAL_NUMBER_","EMPTY_METADATA_","ELIGIBLE_FORMAT_PATTERN_","NATIONAL_PREFIX_SEPARATORS_PATTERN_","MIN_LEADING_DIGITS_LENGTH_","maybeCreateNewTemplate_","createFormattingTemplate_","getAvailableFormats_","narrowDownPossibleFormats_","getFormattingTemplate_","inputDigit","inputDigitWithOptionToRememberPosition_","inputDigitAndRememberPosition","isDigitOrLeadingPlusSign_","normalizeAndAccrueDigitsAndPlusSign_","attemptToExtractIdd_","attemptToExtractCountryCallingCode_","attemptToChoosePatternWithPrefixExtracted_","ableToExtractLongerNdd_","removeNationalPrefixFromNationalNumber_","attemptToChooseFormattingPattern_","inputDigitHelper_","attemptToFormatAccruedDigits_","inputAccruedNationalNumber_","appendNationalNumber_","getExtractedNationalPrefix_","getRememberedPosition","isNanpaNumberWithNationalPrefix_","default","isPromise","cookiesSplat","newCookie","expires","secure","monster","qs","koekje","querystringify","pairs","querystring","parser","FUNC_ERROR_TEXT","HASH_UNDEFINED","PLACEHOLDER","INFINITY","MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrimStart","reWhitespace","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reForbiddenIdentifierChars","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","reIsUint","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboRange","rsComboMarksRange","rsDingbatRange","rsLowerRange","rsUpperRange","rsVarRange","rsBreakRange","rsMathOpRange","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsModifier","rsOptVar","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","contextProps","templateCounter","typedArrayTags","cloneableTags","stringEscapes","freeParseFloat","freeParseInt","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","binding","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","isDate","nodeIsMap","isMap","nodeIsRegExp","isRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","arrayAggregator","setter","iteratee","arrayEach","arrayEachRight","arrayEvery","arrayFilter","resIndex","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayPush","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiSize","baseProperty","baseFindKey","collection","eachFunc","baseFindIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseTimes","baseTrim","trimmedEndIndex","baseUnary","baseValues","cacheHas","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","deburrLetter","escapeHtmlChar","escapeStringChar","hasUnicode","mapToArray","overArg","replaceHolders","setToArray","stringSize","unicodeSize","stringToArray","unicodeToArray","asciiToArray","unescapeHtmlChar","runInContext","pick","arrayProto","objectProto","coreJsData","funcToString","idCounter","maskSrcKey","IE_PROTO","nativeObjectToString","objectCtorString","oldDash","reIsNative","allocUnsafe","getPrototype","objectCreate","spreadableSymbol","symIterator","symToStringTag","getNative","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeGetSymbols","nativeIsBuffer","nativeIsFinite","nativeJoin","nativeKeys","nativeMax","nativeMin","nativeNow","nativeParseInt","nativeRandom","nativeReverse","nativeCreate","metaMap","realNames","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","symbolToString","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseCreate","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","Hash","ListCache","MapCache","SetCache","__data__","Stack","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","isIndex","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","eq","baseAssignValue","assignValue","objValue","assocIndexOf","baseAggregator","baseEach","baseAssign","copyObject","baseAt","lower","upper","baseClone","bitmask","customizer","isDeep","isFlat","isFull","initCloneArray","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","getSymbolsIn","baseAssignIn","keysIn","copySymbols","getSymbols","initCloneByTag","Ctor","cloneArrayBuffer","cloneDataView","dataView","byteOffset","cloneTypedArray","cloneRegExp","cloneSymbol","stacked","subValue","getAllKeysIn","baseConformsTo","baseDelay","wait","baseDifference","isCommon","valuesLength","outer","valuesIndex","templateSettings","evaluate","variable","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","setCacheAdd","setCacheHas","stackClear","stackDelete","stackGet","stackHas","stackSet","LARGE_ARRAY_SIZE","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","baseFilter","baseFlatten","isStrict","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","baseGet","castPath","toKey","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","getRawTag","isOwn","unmasked","objectToString","baseGt","baseHas","baseHasIn","baseIntersection","arrays","othLength","othIndex","caches","baseInvoke","baseIsArguments","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","isPartial","objProps","objLength","objStacked","othStacked","skipCtor","othValue","compared","objCtor","othCtor","baseIsMatch","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","baseIsNative","isMasked","baseIteratee","baseMatchesProperty","baseMatches","baseKeys","isPrototype","baseLt","baseMap","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","baseMergeDeep","mergeFunc","safeGet","isTyped","isArrayLikeObject","toPlainObject","baseNth","baseOrderBy","iteratees","orders","getIteratee","baseSortBy","comparer","criteria","compareMultiple","objCriteria","othCriteria","ordersLength","compareAscending","basePickBy","baseSet","basePullAll","basePullAt","baseUnset","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","nested","baseSetData","baseSetToString","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","low","high","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","seenIndex","baseUpdate","baseWhile","isDrop","baseWrapperValue","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","typedArray","valIsDefined","valIsReflexive","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","createAggregator","createAssigner","assigner","guard","isIterateeCall","createCaseFirst","methodName","trailing","createCompounder","words","deburr","createCtor","thisBinding","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","wrapper","getFuncName","isLaziable","plant","createHybrid","partialsRight","holdersRight","argPos","ary","arity","isAry","isBind","isBindKey","isFlip","getHolder","holdersCount","countHolders","newHolders","createRecurry","arrLength","oldArray","createInverter","toIteratee","baseInverter","createMathOperation","createOver","arrayFunc","createPadding","charsLength","createRange","toFinite","baseRange","createRelationalOperation","wrapFunc","isCurry","newData","setWrapToString","createRound","noop","createToPairs","setToPairs","baseToPairs","createWrap","mergeData","srcBitmask","newBitmask","createCurry","createPartial","createBind","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","arrStacked","arrValue","otherFunc","isKeyable","stubArray","hasPath","hasFunc","isLength","ctorString","isMaskable","stubFalse","otherArgs","shortOut","reference","insertWrapDetails","updateWrapDetails","getWrapDetails","lastCalled","rand","memoizeCapped","memoize","subString","differenceBy","differenceWith","findLastIndex","intersection","mapped","intersectionBy","intersectionWith","pullAll","pullAt","union","unionBy","unionWith","unzip","unzipWith","without","xor","xorBy","xorWith","zipWith","interceptor","wrapperAt","countBy","findLast","groupBy","invokeMap","keyBy","partition","sortBy","bindKey","WRAP_BIND_FLAG","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","timeWaiting","debounced","isInvoking","leadingEdge","resolver","memoized","Cache","negate","overArgs","transforms","funcsLength","rearg","gt","gte","baseIsArrayBuffer","baseIsDate","baseIsMap","baseIsRegExp","baseIsSet","baseIsTypedArray","lte","iteratorToArray","remainder","toLength","isBinary","assignIn","assignInWith","assignWith","propsIndex","propsLength","defaultsDeep","mergeWith","invert","invertBy","invoke","baseKeysIn","nativeKeysIn","isProto","omit","CLONE_DEEP_FLAG","basePick","pickBy","toPairs","toPairsIn","camelCase","word","upperFirst","kebabCase","lowerCase","lowerFirst","snakeCase","startCase","upperCase","hasUnicodeWord","unicodeWords","asciiWords","bindAll","methodNames","flow","flowRight","methodOf","over","overEvery","overSome","basePropertyDeep","rangeRight","augend","addend","divide","dividend","divisor","multiply","multiplier","multiplicand","subtract","minuend","subtrahend","castArray","compact","conforms","baseConforms","curry","curryRight","dropRight","dropRightWhile","dropWhile","baseFill","flatMapDeep","flatMapDepth","flattenDeep","flattenDepth","flip","fromPairs","functionsIn","mapKeys","mapValues","matchesProperty","nthArg","omitBy","orderBy","propertyOf","pullAllBy","pullAllWith","sampleSize","setWith","sortedUniq","sortedUniqBy","tail","takeRight","takeRightWhile","toPath","isArrLike","unary","uniq","uniqBy","uniqWith","unset","updateWith","valuesIn","zipObject","zipObjectDeep","entriesIn","extendWith","cloneDeep","cloneDeepWith","cloneWith","conformsTo","defaultTo","findLastKey","forIn","forInRight","forOwn","forOwnRight","inRange","baseInRange","isElement","isEqual","isEqualWith","isMatch","isMatchWith","isNative","isNil","isNull","isSafeInteger","isWeakMap","isWeakSet","strictLastIndexOf","maxBy","mean","meanBy","minBy","stubObject","stubString","stubTrue","noConflict","strLength","radix","floating","sample","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sumBy","isEscaping","isEvaluating","importsKeys","importsValues","reDelimiters","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","toLower","toSafeInteger","toUpper","trimStart","omission","newEnd","eachRight","VERSION","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isUnwrapped","onlyLazy","chainName","lazyClone","lazyReverse","lazyValue","isRight","getView","iterLength","takeCount","iterIndex","wrapperChain","wrapperCommit","wrapperNext","wrapperPlant","wrapperReverse","toJSON","wrapperValue","wrapperToIterator","hit","oldIndex","nuIndex","aFrom","objectMap","defineLength","nextTick","tbi","currentCallback","currentContext","currentArgs","origCb","oldCache","resultArray","timeouts","preFetchAge","preFetchTimeouts","unref","preFetch","toPosInteger","lruQueue","primitiveSet","ensureString","toShortString","supportedModes","ignore","isFailed","onSuccess","onFailure","resolvedMode","nextTickFailure","deleteRef","getRefCount","resolveLength","plain","primitive","customError","ee","resolveResolve","resolveNormalize","memLength","extDel","extGet","extHas","getListeners","setListeners","deleteListeners","resolvers","profileName","updateEnv","__memoized__","_has","optsLength","fnLength","userNormalizer","resolveArgs","argsMap","currentLength","configure","extFn","__profiler__","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","hours","minutes","isLower","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","hh","dd","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","preparse","numberMap","suffixes","relativeTimeWithPlural","plural","forms","isFormat","period","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","softMutation","mutationTable","lastNumber","monthsParse","monthsRegex","minWeekdaysParse","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","specialMutationForYears","processRelativeTime","ll","lll","llll","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","ezafeNumSuffix","eifelerRegelAppliesToNumber","processFutureTime","processPastTime","units","translateSingular","special","translateSeconds","relativeTimeWithSingular","relativeSeconds","translator","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","numberNoun","numberAsNoun","hundred","ten","one","translateFuture","translatePast","hm","processHoursFunction","weekdaysCaseReplace","nominative","accusative","genitive","hookCallback","hasOwnProp","isObjectEmpty","arrLen","createUTC","strict","createLocalOrUTC","utc","getParsingFlags","_pf","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_f","_l","_tzm","_isUTC","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","deprecationHandler","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","zeroFill","targetLength","forceSign","absNumber","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","removeFormattingTokens","formatMoment","expandFormat","makeFormatFunction","replaceLongDateFormatTokens","aliases","dates","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","milliseconds","millisecond","quarters","quarter","gg","weekyears","weekyear","isoweekyears","isoweekyear","weeks","isoweeks","isoweek","years","normalizeUnits","normalizeObjectUnits","inputObject","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","regexes","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","getParseRegexForToken","unescapeFormat","regexEscape","matched","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","keepTime","set$1","isUTC","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getUTCDay","getDay","getMonth","setUTCMilliseconds","setMilliseconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","daysInMonth","modMonth","mod","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","llc","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","setUTCMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","createUTCDate","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","kFormat","kInput","_isPm","_meridiem","pos1","pos2","getSetHour","globalLocale","baseConfig","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","isLocaleNameSane","_abbr","aliasedRequire","getSetGlobalLocale","parentLocale","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","preprocessRFC2822","extractFromRFC2822Strings","monthStr","dayStr","hourStr","minuteStr","secondStr","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromArray","currentDate","expectedWeekday","yearToUse","currentDateArray","nowValue","_useUTC","dayOfYearFromWeekInfo","weekdayOverflow","curWeek","createLocal","_week","_dayOfYear","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","isPm","erasConvertYear","prepareConfig","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromInput","configFromString","createFromInputFallback","configFromObject","createFromConfig","prototypeMin","prototypeMax","moments","ordering","Duration","isDurationValid","unitHasDecimal","orderLen","_milliseconds","_days","_months","_bubble","isDuration","absRound","utcOffset","offsetFromString","chunkOffset","matcher","cloneWithOffset","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","momentsDifference","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","addSubtract","isAdding","createInvalid$1","isMomentInput","isNumberOrStringArray","arrayTest","dataTypeTest","isMomentInputObject","objectTest","propertyTest","propertyLen","monthDiff","wholeMonthDiff","newLocaleData","defaultFormat","defaultFormatUtc","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","matchEraName","erasNameRegex","matchEraNarrow","erasNarrowRegex","erasParse","matchEraYearOrdinal","_eraYearOrdinalRegex","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","preParsePostFormat","calendar$1","formats","isCalendarSpec","sod","startOf","calendarFormat","asFloat","zoneDelta","endOf","startOfDate","inputString","humanize","fromNow","toNow","stringGet","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","inputMs","isSameOrAfter","isSameOrBefore","isValid$2","parsingFlags","stringSet","prioritized","getPrioritizedUnits","unitsObj","prioritizedLen","toDate","keepOffset","inspect","isLocal","unix","creationData","eraName","getEraName","eraNarrow","getEraNarrow","eraAbbr","getEraAbbr","eraYear","getEraYear","getIsLeapYear","getSetWeekYear","getSetISOWeekYear","getSetQuarter","getDaysInMonth","getSetWeek","isoWeeks","getSetISOWeek","getWeeksInYear","weekInfo","weeksInWeekYear","getWeeksInWeekYear","isoWeeksInYear","getISOWeeksInYear","isoWeeksInISOWeekYear","getISOWeeksInISOWeekYear","getSetDayOfWeek","parseWeekday","getSetLocaleDayOfWeek","getSetISODayOfWeek","parseIsoWeekday","getSetDayOfYear","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","setOffsetToUTC","setOffsetToLocal","parseZone","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDST","isDaylightSavingTime","isUtcOffset","zoneAbbr","getZoneAbbr","zoneName","getZoneName","getSetZone","isDSTShifted","isDaylightSavingTimeShifted","_isDSTShifted","compareArrays","array1","array2","dontConvert","lengthDiff","proto$1","get$1","listMonthsImpl","out","listWeekdaysImpl","localeSorted","_calendar","_longDateFormat","formatUpper","tok","_invalidDate","_ordinal","_relativeTime","pastFuture","localeEras","_eras","localeErasParse","localeErasConvertYear","localeMonths","localeMonthsShort","_monthsShort","localeMonthsParse","_monthsParseExact","localeWeek","firstDayOfYear","localeFirstDayOfYear","firstDayOfWeek","localeFirstDayOfWeek","localeWeekdays","_weekdays","localeWeekdaysMin","_weekdaysMin","localeWeekdaysShort","_weekdaysShort","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","localeIsPM","localeMeridiem","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","isValid$1","add$1","subtract$1","bubble","monthsFromDays","clone$1","get$2","argWithSuffix","argThresholds","withSuffix","relativeTime$1","posNegDuration","toIsoString","setHookCallback","createUnix","listMonths","listWeekdays","createInZone","listMonthsShort","listWeekdaysMin","updateLocale","tmpLocale","listLocales","listWeekdaysShort","relativeTimeRounding","getSetRelativeTimeRounding","roundingFunction","relativeTimeThreshold","getSetRelativeTimeThreshold","threshold","getCalendarFormat","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME_SECONDS","TIME_MS","ensureCallable","byObserver","currentQueue","WebKitMutationObserver","setImmediate","clean","objStorage","_subscribe","subscription","hasError","thrownError","_throwIfClosed","lift","observable","observerOrNext","isSubscriber","Subscriber","isObserver","isSubscription","SafeSubscriber","errorContext","_trySubscribe","promiseCtor","getPromiseCtor","Symbol_observable","operations","pipeFromArray","_bufferSize","_windowTime","_timestampProvider","dateTimestampProvider","_infiniteTimeWindow","isStopped","_trimBuffer","_innerSubscribe","_checkFinalizedStatuses","adjustedBufferSize","ObjectUnsubscribedError","currentObservers","observers","subject","AnonymousSubject","observed","EMPTY_SUBSCRIPTION","arrRemove","COMPLETE_NOTIFICATION","createNotification","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","errorNotification","_complete","_bind","ConsumerObserver","partialObserver","handleUnhandledError","useDeprecatedNextContext","useDeprecatedSynchronousErrorHandling","captureError","reportUnhandledError","notification","onStoppedNotification","timeoutProvider","defaultErrorHandler","UnsubscriptionError","initialTeardown","_parentage","_finalizers","initialFinalizer","finalizer","execFinalizer","_hasParent","_addParent","_removeParent","onUnhandledError","hasConfig","EmptyError","popScheduler","resultSelector","popResultSelector","observables","argsArgArrayOrObject","combineLatestInit","valueTransform","maybeSchedule","remainingFirstValues","hasFirstValue","createObject","mapOneOrManyArgs","execute","concatAll","observableFactory","forkJoin","remainingCompletions","remainingEmissions","sourceIndex","hasValue","subscribeOn","schedule","scheduleAsyncIterable","scheduled","isInteropObservable","scheduleObservable","scheduleArray","schedulePromise","isAsyncIterable","isIterable","scheduleIterable","Symbol_iterator","isReadableStreamLike","scheduleReadableStreamLike","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","isEventTarget","isNodeStyleEventEmitter","addListener","removeListener","toCommonHandlerRegistry","isJQueryStyleEventEmitter","subTarget","fromInteropObservable","obs","fromArrayLike","fromPromise","fromAsyncIterable","fromIterable","fromReadableStreamLike","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","__awaiter","__asyncValues","e_1_1","concurrent","popNumber","errorOrErrorFactory","errorFactory","dueTime","intervalOrScheduler","intervalDuration","isScheduler","due","argsOrArgArray","buffers","onNext","onFinalize","OperatorSubscriber","shouldUnsubscribe","audit","durationSelector","durationSubscriber","isComplete","endDuration","cleanupDuration","handledResult","innerSub","syncUnsub","project","activeTask","lastTime","emitWhenIdle","targetTime","defaultIfEmpty","delayWhen","delayDurationSelector","subscriptionDelay","ignoreElements","mapTo","distinctUntilChanged","keySelector","previousKey","currentKey","outerValue","hasDefaultValue","throwIfEmpty","mergeInternals","onBeforeNext","expand","innerSubScheduler","additionalFinalizer","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","bufferedValue","configOrCount","resetOnSuccess","soFar","subscribeForRetry","resub","notifier","notifierSubscriber","scanInternals","hasSeed","emitOnNext","emitBeforeComplete","hasState","connector","resetOnError","resetOnComplete","resetOnRefCountZero","wrapperSource","resetConnection","hasCompleted","hasErrored","cancelReset","resetAndUnsubscribe","conn","handleReset","onSubscriber","configOrBufferSize","windowTime","innerSubscriber","innerIndex","outerIndex","inclusive","tapObserver","isUnsub","duration$","sendValue","throttled","endThrottling","cleanupThrottling","startThrottle","defaultErrorFactory","otherValues","work","intervalProvider","AsyncAction","recycleAsyncId","requestAsyncId","_scheduler","_execute","errorValue","errored","Scheduler","schedulerActionCtor","AsyncScheduler","SchedulerAction","_active","animationFrameProvider","animationFrameScheduler","AnimationFrameScheduler","flushId","_scheduled","AnimationFrameAction","nextHandle","activeHandles","findAndClearHandle","Immediate","clearImmediate","immediateProvider","AsapScheduler","AsapAction","QueueScheduler","QueueAction","getSymbolIterator","isPOJO","createImpl","ctorFunc","instance","isRoot","errorThrown","parentSubscription","scheduleSubscription","__asyncGenerator","__await","releaseLock","hasLift","liftedSource","callOrApply","fns","objstorage","_isNumber","_capitalize","_getter","booleanProps","numericProps","stringProps","getArgs","setArgs","getEvalOrigin","evalOrigin","setEvalOrigin","getFileName","getLineNumber","getColumnNumber","getFunctionName","getIsEval","fromString","argsStartIndex","argsEndIndex","locationString","maxTimeout","possibleTypes","classRe","functionToString","windowStorage","webpackContext","webpackContextResolve","stateChangeExpr","animateChild","AnimationBuilder","BrowserAnimationBuilder","AnimationFactory","rootRenderer","animationModuleType","_nextAnimationId","_renderer","ViewEncapsulation","isAnimationRenderer","issueAnimationCommand","BrowserAnimationFactory","RendererAnimationPlayer","_command","_listen","unwrapAnimationRenderer","animationRenderer","_onStart","triggerMicrotask","AnimationGroupPlayer","_players","doneCount","destroyCount","startCount","timeAtPosition","longestPlayer","longestSoFar","mediaQueriesForWebkitCompatibility","mediaQueryStyleNode","MediaMatcher","_platform","_nonce","_matchMedia","isBrowser","noopMatchMedia","WEBKIT","BLINK","createEmptyStyleRule","media","BreakpointObserver","_mediaMatcher","_queries","_destroySubject","splitQueries","mediaQuery","_registerQuery","mql","stateObservable","breakpointStates","breakpoints","queries","a1","ID_DELIMITER","addAriaReferencedId","getAriaReferenceIds","existingId","removeAriaReferencedId","filteredIds","CDK_DESCRIBEDBY_ID_PREFIX","CDK_DESCRIBEDBY_HOST_ATTRIBUTE","AriaDescriber","_messageRegistry","_messagesContainer","APP_ID","describe","_canBeDescribed","getKey","setMessageId","messageElement","referenceCount","_createMessageElement","_isElementDescribedByMessage","_addMessageReference","removeDescription","_isElementNode","_removeMessageReference","registeredMessage","_deleteMessageElement","describedElements","_removeCdkDescribedByReferenceIds","_createMessagesContainer","serverContainers","messagesContainer","originalReferenceIds","referenceIds","messageId","trimmedMessage","serviceId","ListKeyManager","_items","injector","_activeItemIndex","_activeItem","_wrap","_letterKeyStream","_typeaheadSubscription","_vertical","_allowedModifierKeys","_homeAndEnd","_pageUpAndDown","_skipPredicateFn","_pressedLetters","_itemChangesSubscription","newItems","_itemsChanged","isSignal","_effectRef","effect","skipPredicate","shouldWrap","withVerticalOrientation","withHorizontalOrientation","_horizontal","withAllowedModifierKeys","debounceInterval","_getItemsArray","cancelTypeahead","withPageUpDown","previousActiveItem","isModifierAllowed","TAB","setPreviousItemActive","HOME","END","setLastItemActive","PAGE_UP","targetIndex","_setActiveItemByIndex","PAGE_DOWN","itemsLength","toLocaleUpperCase","ZERO","NINE","isTyping","_setActiveItemByDelta","itemArray","_setActiveInWrapMode","_setActiveInDefaultMode","fallbackDelta","newIndex","ActiveDescendantKeyManager","setInactiveStyles","setActiveStyles","_origin","InteractivityChecker","hasGeometry","offsetHeight","isTabbable","frameElement","getFrameElement","getTabIndexValue","tabIndexValue","IOS","isPotentiallyTabbableIOS","FIREFOX","isFocusable","isPotentiallyFocusable","isHiddenInput","isInputElement","isNativeFormElement","isAnchorWithHref","isAnchorElement","hasValidTabIndex","ignoreVisibility","FocusTrap","_startAnchor","_endAnchor","_toggleAnchorTabIndex","_checker","deferAnchors","_hasAttached","startAnchorListener","focusLastTabbableElement","endAnchorListener","focusFirstTabbableElement","attachAnchors","startAnchor","endAnchor","_createAnchor","focusInitialElementWhenReady","_executeOnStable","focusInitialElement","focusFirstTabbableElementWhenReady","focusLastTabbableElementWhenReady","_getRegionBoundary","bound","markers","_getFirstTabbableElement","_getLastTabbableElement","redirectToElement","focusableChild","hasAttached","tabbableChild","toggleAnchors","isStable","FocusTrapFactory","deferCaptureElements","CdkTrapFocus","focusTrap","_focusTrapFactory","_previouslyFocusedElement","Platform","autoCapture","_captureFocus","ngDoCheck","ngOnChanges","autoCaptureChange","firstChange","_getFocusedElementPierceShadowDom","touch","touches","changedTouches","radiusX","radiusY","INPUT_MODALITY_DETECTOR_OPTIONS","INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS","ignoreKeys","ALT","CONTROL","MAC_META","SHIFT","modalityEventListenerOptions","InputModalityDetector","mostRecentModality","_modality","_mostRecentTarget","_lastTouchMs","_onKeydown","_options","_getEventTarget","_onMousedown","_onTouchstart","modalityDetected","modalityChanged","LIVE_ANNOUNCER_ELEMENT_TOKEN","LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY","LIVE_ANNOUNCER_DEFAULT_OPTIONS","uniqueIds","LiveAnnouncer","elementToken","_defaultOptions","_liveElement","_createLiveElement","announce","politeness","_previousTimeout","_exposeAnnouncerToModals","_currentPromise","_currentResolve","elementClass","previousElements","getElementsByClassName","liveEl","modals","modal","ariaOwns","FocusMonitorDetectionMode","IMMEDIATE","EVENTUAL","FOCUS_MONITOR_DEFAULT_OPTIONS","captureEventListenerOptions","FocusMonitor","_inputModalityDetector","_windowFocused","_originFromTouchInteraction","_elementInfo","_monitoredElementCount","_rootNodeFocusListenerCount","_windowFocusListener","_windowFocusTimeoutId","_stopInputModalityDetector","_rootNodeFocusAndBlurListener","_onFocus","_onBlur","_detectionMode","detectionMode","checkChildren","coerceElement","rootNode","_getShadowRoot","_getDocument","cachedInfo","_registerGlobalListeners","elementInfo","_setClasses","_removeGlobalListeners","_getClosestElementsInfo","currentElement","_originChanged","_setOrigin","_info","_getWindow","_getFocusOrigin","focusEventTarget","_shouldBeAttributedToTouch","_lastFocusOrigin","_isLastInteractionFromInputLabel","isFromInteraction","_originTimeoutId","_emitOrigin","rootNodeFocusListeners","modality","mostRecentTarget","CdkMonitorFocus","_focusOrigin","cdkFocusChange","focusOrigin","_monitorSubscription","HighContrastMode","BLACK_ON_WHITE","WHITE_ON_BLACK","BLACK_ON_WHITE_CSS_CLASS","WHITE_ON_BLACK_CSS_CLASS","HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS","HighContrastModeDetector","_breakpointSubscription","_hasCheckedHighContrastMode","_applyBodyHighContrastModeCssClasses","getHighContrastMode","testElement","documentWindow","computedStyle","bodyClasses","A11yModule","highContrastModeDetector","ObserversModule","DIR_DOCUMENT","DIR_DOCUMENT_FACTORY","RTL_LOCALE_PATTERN","Directionality","_resolveDirectionality","rawValue","BidiModule","coerceBooleanProperty","coerceNumberProperty","fallbackValue","_isNumberValue","coerceCssPixelValue","elementOrRef","ElementRef","coerceStringArray","sourceValues","sourceValue","trimmedString","SelectionModel","_selection","_multiple","initiallySelectedValues","_emitChanges","compareWith","_deselectedToEmit","_selectedToEmit","changed","_markSelected","_verifyValueAssignment","_hasQueuedChanges","_emitChangeEvent","deselect","_unmarkSelected","setSelection","oldValues","newSelectedSet","_getConcreteValue","flushEvent","_unmarkAll","inputValue","selectedValue","UniqueSelectionDispatcher","_listeners","registered","modifiers","MutationObserverFactory","scrollBehaviorSupported","supportsScrollBehavior","BlockScrollStrategy","_viewportRuler","_previousHTMLStyles","_isEnabled","_canBeEnabled","_previousScrollPosition","getViewportScrollPosition","htmlStyle","bodyStyle","previousHtmlScrollBehavior","scrollBehavior","previousBodyScrollBehavior","getViewportSize","CloseScrollStrategy","_scrollDispatcher","_scrollSubscription","_detach","scrolled","scrollable","overlayElement","getElementRef","_initialScrollPosition","scrollPosition","NoopScrollStrategy","isElementScrolledOutsideView","scrollContainers","containerBounds","isElementClippedByScrolling","scrollContainerRect","RepositionScrollStrategy","scrollThrottle","autoClose","overlayRect","ScrollStrategyOptions","disposeOnNavigation","configKeys","ConnectedOverlayPositionChange","scrollableViewProperties","BaseOverlayDispatcher","_attachedOverlays","OverlayKeyboardDispatcher","_keydownListener","overlays","_keydownEvents","_isAttached","OverlayOutsideClickDispatcher","_cursorStyleIsSet","_pointerDownListener","_pointerDownEventTarget","_clickListener","_outsidePointerEvents","outsidePointerEvents","_cursorOriginalValue","OverlayContainer","_containerElement","getContainerElement","containerClass","_isTestEnvironment","oppositePlatformContainers","OverlayRef","_portalOutlet","_host","_pane","_keyboardDispatcher","_outsideClickDispatcher","_animationsDisabled","_backdropElement","_backdropClick","_attachments","_detachments","_locationChanges","_backdropClickHandler","_backdropTransitionendHandler","_disposeBackdrop","_positionStrategy","backdropElement","portal","_previousHostParent","attachResult","_updateStackingOrder","_updateElementSize","_updateElementDirection","_togglePointerEvents","_attachBackdrop","_toggleClasses","detachBackdrop","detachmentResult","_detachContentWhenStable","_disposeScrollStrategy","attachments","updatePositionStrategy","strategy","updateSize","sizeConfig","setDirection","addPanelClass","removePanelClass","updateScrollStrategy","enablePointer","pointerEvents","showingClass","backdropToDetach","_backdropTimeout","cssClasses","isAdd","boundingBoxClass","cssUnitPattern","FlexibleConnectedPositionStrategy","_preferredPositions","connectedTo","_overlayContainer","_lastBoundingBoxSize","_isPushed","_canPush","_growAfterOpen","_hasFlexibleDimensions","_positionLocked","_viewportMargin","_scrollables","_positionChanges","_resizeSubscription","_offsetX","_offsetY","_appliedPanelClasses","setOrigin","_validatePositions","_boundingBox","_isDisposed","_isInitialRender","_lastPosition","_clearPanelClasses","_resetOverlayElementStyles","_resetBoundingBoxStyles","_viewportRect","_getNarrowedViewportRect","_originRect","_getOriginRect","_overlayRect","_containerRect","originRect","viewportRect","containerRect","flexibleFits","originPoint","_getOriginPoint","overlayPoint","_getOverlayPoint","overlayFit","_getOverlayFit","isCompletelyWithinViewport","_applyPosition","_canFitWithFlexibleDimensions","boundingBoxRect","_calculateBoundingBoxRect","visibleArea","bestFit","bestScore","fit","_previousPushAmount","extendStyles","alignItems","justifyContent","lastPosition","withScrollableContainers","scrollables","withViewportMargin","margin","withFlexibleDimensions","flexibleDimensions","growAfterOpen","withPush","canPush","withDefaultOffsetX","withDefaultOffsetY","_transformOriginSelector","_isRtl","endX","overlayStartX","overlayStartY","rawOverlayRect","getRoundedBoundingClientRect","_getOffset","topOverflow","bottomOverflow","visibleWidth","_subtractOverflows","visibleHeight","fitsInViewportVertically","fitsInViewportHorizontally","availableHeight","availableWidth","getPixelValue","_pushOverlayOnScreen","overflowRight","overflowBottom","overflowTop","overflowLeft","pushX","pushY","_setTransformOrigin","_setOverlayElementStyles","_setBoundingBoxStyles","_addPanelClasses","scrollVisibility","_getScrollVisibility","_lastScrollVisibility","compareScrollVisibility","isOriginClipped","isOriginOutsideView","isOverlayClipped","isOverlayOutsideView","changeEvent","xOrigin","yOrigin","transformOrigin","isRtl","smallestDistanceToViewportEdge","previousHeight","previousWidth","_hasExactPosition","hasExactPosition","hasFlexibleDimensions","_getExactOverlayY","_getExactOverlayX","transformString","horizontalStyleProperty","originBounds","overlayBounds","scrollContainerBounds","overflows","currentValue","currentOverflow","axis","cssClass","clientRect","wrapperClass","GlobalPositionStrategy","_cssPosition","_topOffset","_bottomOffset","_alignItems","_xOffset","_width","_height","centerHorizontally","centerVertically","parentStyles","shouldBeFlushHorizontally","shouldBeFlushVertically","xOffset","marginLeft","marginRight","marginTop","marginBottom","OverlayPositionBuilder","nextUniqueId","_componentFactoryResolver","_positionBuilder","_injector","_directionality","_animationsModuleType","_createHostElement","pane","_createPaneElement","portalOutlet","_createPortalOutlet","_appRef","ApplicationRef","DomPortalOutlet","defaultPositionList","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","CdkOverlayOrigin","elementRef","CdkConnectedOverlay","_updatePositionStrategy","_disposeOnNavigation","viewContainerRef","scrollStrategyFactory","_backdropSubscription","_attachSubscription","_detachSubscription","_positionSubscription","viewportMargin","lockPosition","positionChange","overlayKeydown","overlayOutsideClick","_templatePortal","_scrollStrategyFactory","_attachOverlay","_detachOverlay","_buildConfig","_getOriginElement","_createPositionStrategy","currentPosition","_getOrigin","transformOriginSelector","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","PortalModule","hasV8BreakIterator","v8BreakIterator","supportsPassiveEvents","_platformId","isPlatformBrowser","EDGE","TRIDENT","ANDROID","SAFARI","supportsPassiveEventListeners","RtlScrollAxisType","NORMAL","NEGATED","INVERTED","rtlScrollAxisType","shadowDomIsSupported","scrollToFunction","scrollTo","getRtlScrollAxisType","scrollContainer","containerStyle","contentStyle","_supportsShadowDom","createShadowRoot","getRootNode","newActiveElement","composedPath","__karma__","jasmine","jest","Mocha","Portal","_attachedHost","setAttachedHost","ComponentPortal","componentFactoryResolver","projectableNodes","DomPortal","BasePortalOutlet","attachDomPortal","_attachedPortal","attachComponentPortal","attachTemplatePortal","_invokeDisposeFn","setDisposeFn","_disposeFn","outletElement","_defaultInjector","componentFactory","resolveComponentFactory","componentRef","createComponent","Injector","attachView","hostView","viewCount","detachView","_getComponentRootNode","viewContainer","viewRef","createEmbeddedView","rootNodes","CdkPortalOutlet","_getRootNode","attachedRef","_attachedRef","ScrollDispatcher","_scrolled","_globalSubscription","_scrolledCount","elementScrolled","scrollableReference","auditTimeInMs","_addGlobalListener","_removeGlobalListener","ancestorScrolled","elementOrElementRef","ancestors","getAncestorScrollContainers","scrollingContainers","_subscription","_scrollableContainsElement","scrollableElement","CdkScrollable","scrollDispatcher","_elementScrolled","_applyScrollToOptions","measureScrollOffset","ViewportRuler","_change","_changeListener","_viewportSize","_updateViewportSize","getViewportRect","documentRect","scrollY","scrollX","_DOM","getDOM","setRootDomAdapter","adapter","DomAdapter","PlatformLocation","historyGo","relativePosition","BrowserPlatformLocation","LOCATION_INITIALIZED","getBaseHrefFromDOM","onPopState","getGlobalEventTarget","onHashChange","hostname","newPath","go","getState","joinWithSlash","slashes","stripTrailingSlash","pathEndIdx","normalizeQueryParams","LocationStrategy","PathLocationStrategy","APP_BASE_HREF","_platformLocation","_removeListenerFns","_baseHref","prepareExternalUrl","includeHash","externalUrl","HashLocationStrategy","locationStrategy","_subject","_urlChangeListeners","_urlChangeSubscription","_locationStrategy","baseHref","_basePath","_stripOrigin","_stripIndexHtml","isCurrentPathEqualTo","_stripBasePath","strippedUrl","_notifyUrlChangeListeners","onUrlChange","fnIndex","onThrow","onReturn","createLocation","ɵɵinject","FormStyle","Standalone","TranslationWidth","Narrow","Abbreviated","Wide","Short","FormatWidth","Medium","Long","Full","NumberSymbol","Decimal","List","PercentSign","PlusSign","MinusSign","Exponential","SuperscriptingExponent","PerMille","TimeSeparator","CurrencyDecimal","CurrencyGroup","getLocaleDayNames","formStyle","ɵfindLocaleData","getLastDefinedValue","ɵLocaleDataIndex","DaysFormat","DaysStandalone","getLocaleMonthNames","MonthsFormat","MonthsStandalone","getLocaleDateFormat","DateFormat","getLocaleTimeFormat","TimeFormat","getLocaleDateTimeFormat","dateTimeFormatData","getLocaleNumberSymbol","NumberSymbols","checkFullData","ExtraData","LocaleId","extractTime","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","ShortGMT","Extended","DateType","FullYear","Month","Hours","Minutes","Seconds","FractionalSeconds","Day","TranslationType","DayPeriods","Days","Months","Eras","timezone","parsedNb","isoStringToDate","tzHour","tzMin","dateSetter","timeSetter","getNamedFormat","dateTimezoneOffset","timezoneToOffset","convertTimezoneToLocal","reverseValue","addDateMinutes","dateFormatter","getDateFormatter","DATE_FORMATS","formatter","dateStrGetter","dateGetter","weekNumberingYearGetter","weekGetter","timeZoneGetter","newDate","localeId","getLocaleId","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","opt_values","digits","minusSign","negWrap","neg","strNum","getDatePart","formatFractionalSeconds","localeMinus","getDateTranslation","currentHours","currentMinutes","getLocaleExtraDayPeriodRules","dayPeriods","getLocaleExtraDayPeriods","afterFrom","beforeTo","getLocaleDayPeriods","amPm","DayPeriodsFormat","DayPeriodsStandalone","getLocaleEraNames","erasData","JANUARY","THURSDAY","getThursdayThisIsoWeek","datetime","currentDay","deltaToThursday","monthBased","nbDaysBefore1stDayOfMonth","today","thisThurs","firstThurs","getFirstThursdayOfYear","requestedTimezoneOffset","parseCookieValue","cookieStr","eqIndex","cookieName","WS_REGEXP","EMPTY_ARRAY","NgClass","_ngEl","initialClasses","klass","ngClass","rawClass","_updateState","_applyStateDiff","nextEnabled","stateEntry","_toggleClass","NgForOfContext","ngForOf","even","odd","NgForOf","_ngForOf","_ngForOfDirty","ngForTrackBy","_trackByFn","_viewContainer","_template","_differs","_differ","ngForTemplate","_applyChanges","forEachOperation","adjustedPreviousIndex","previousIndex","applyViewChange","ilen","forEachIdentityChange","record","ngTemplateContextGuard","NgIf","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","_updateView","ngIfThen","assertTemplate","ngIfElse","ɵstringify","SwitchView","_templateRef","_created","enforceState","NgSwitch","_defaultViews","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","ngSwitch","_ngSwitch","_updateDefaultCases","_addCase","_addDefault","_matchCase","useDefault","NgSwitchCase","_view","ngSwitchCase","NgSwitchDefault","NgStyle","_ngStyle","ngStyle","_setStyle","nameAndUnit","RendererStyleFlags2","DashCase","forEachRemovedItem","forEachAddedItem","forEachChangedItem","NgTemplateOutlet","_viewRef","ngTemplateOutletContext","ngTemplateOutlet","ngTemplateOutletInjector","_shouldRecreateView","viewContext","_createContextForwardProxy","Proxy","_target","Reflect","receiver","invalidPipeArgumentError","SubscribableStrategy","createSubscription","updateLatestValue","untracked","PromiseStrategy","_promiseStrategy","_subscribableStrategy","AsyncPipe","_latestValue","markForCheckOnValueUpdate","_obj","_strategy","_selectStrategy","_updateLatestValue","ɵisPromise","ɵisSubscribable","ɵpipe","pure","LowerCasePipe","unicodeWordMatch","TitleCasePipe","txt","UpperCasePipe","DATE_PIPE_DEFAULT_TIMEZONE","DATE_PIPE_DEFAULT_OPTIONS","DatePipe","defaultTimezone","LOCALE_ID","KeyValuePipe","differs","defaultComparator","differ","differChanges","compareFnChanged","forEachItem","makeKeyValuePair","keyValueA","keyValueB","aString","bString","SlicePipe","PLATFORM_BROWSER_ID","PLATFORM_SERVER_ID","ViewportScroller","ɵɵdefineInjectable","BrowserViewportScroller","NullViewportScroller","setOffset","getScrollPosition","scrollToPosition","scrollToAnchor","elSelected","findAnchorFromDocument","documentResult","treeWalker","scrollToElement","setHistoryScrollRestoration","scrollRestoration","XhrFactory","HttpHandler","HttpBackend","HttpHeaders","normalizedNames","lazyUpdate","lazyInit","maybeSetNormalizedName","setHeaderEntries","lcName","applyUpdate","toDelete","headerValues","HttpUrlEncodingCodec","encodeKey","standardEncoding","encodeValue","decodeKey","decodeValue","STANDARD_ENCODING_REGEX","STANDARD_ENCODING_REPLACEMENTS","valueToString","HttpParams","updates","cloneFrom","encoder","fromObject","paramParser","rawParams","codec","eqIdx","appendAll","eKey","HttpContext","isBlob","isFormData","FormData","third","fourth","reportProgress","mightHaveBody","transferCache","urlWithParams","qIdx","serializeBody","isUrlSearchParams","detectContentTypeHeader","setParams","HttpEventType","Sent","UploadProgress","ResponseHeader","DownloadProgress","HttpResponseBase","defaultStatus","HttpStatusCode","Ok","defaultStatusText","HttpHeaderResponse","HttpResponse","HttpErrorResponse","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","addBody","HttpClient","events$","res$","jsonp","callbackParam","patch","interceptorChainEndFn","finalHandlerFn","adaptLegacyInterceptorToChain","chainTailFn","initialRequest","downstreamRequest","HTTP_INTERCEPTOR_FNS","HTTP_ROOT_INTERCEPTOR_FNS","PRIMARY_HTTP_BACKEND","legacyInterceptorFnFactory","pendingTasks","ɵPendingTasks","taskId","HttpInterceptorHandler","backend","primaryHttpBackend","dedupedInterceptorFns","nextSequencedFn","interceptorFn","chainedInterceptorFn","runInInjectionContext","XSSI_PREFIX","HttpXhrBackend","xhrFactory","ɵloadImpl","detectedType","reqBody","headerResponse","partialFromXhr","getResponseUrl","originalBody","sentHeaders","onDownProgress","progressEvent","partialText","onUpProgress","progress","upload","XSRF_ENABLED","XSRF_COOKIE_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","lastCookieString","lastToken","parseCount","getToken","cookieString","ɵparseCookieValue","xsrfInterceptorFn","lcUrl","HttpFeatureKind","Interceptors","LegacyInterceptors","CustomXsrfConfiguration","NoXsrfProtection","JsonpSupport","RequestsMadeViaParent","Fetch","makeHttpFeature","ɵkind","ɵproviders","provideHttpClient","feature","LEGACY_INTERCEPTOR_FN","defaultEquals","activeConsumer","inNotificationPhase","epoch","SIGNAL","setActiveConsumer","consumer","REACTIVE_NODE","lastCleanEpoch","producerNode","producerLastReadVersion","producerIndexOfThis","nextProducerIndex","liveConsumerNode","liveConsumerIndexOfThis","consumerAllowSignalWrites","consumerIsAlwaysLive","producerMustRecompute","producerRecomputeValue","consumerMarkedDirty","consumerOnSignalRead","producerAccessed","assertConsumerNode","consumerIsLive","producerRemoveLiveConsumerAtIndex","producerAddLiveConsumer","producerUpdateValueVersion","consumerPollProducersForChange","producerNotifyConsumers","consumerMarkDirty","producerUpdatesAllowed","consumerBeforeComputation","consumerAfterComputation","prevConsumer","producer","seenVersion","consumerDestroy","indexOfThis","assertProducerNode","lastIdx","idxProducer","UNSET","COMPUTING","ERRORED","COMPUTED_NODE","equal","computation","throwInvalidWriteToSignalErrorFn","defaultThrowError","throwInvalidWriteToSignalError","postSignalSetFn","signalSetFn","signalValueChanged","producerIncrementEpoch","SIGNAL_NODE","NOOP_CLEANUP_FN","WATCH_NODE","cleanupFn","XSS_SECURITY_URL","RuntimeError","formatRuntimeError","noSideEffects","PARAMETERS","makeParamDecorator","parentClass","metaCtor","makeMetadataCtor","propName","ParamDecoratorFactory","annotationInstance","ParamDecorator","cls","unusedKey","ngMetadataName","annotationCls","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","overriddenName","newLineIndex","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","assertEqual","actual","expected","comparison","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","isInjectable","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ngInjectableDef","ngInjectorDef","_desc","__NG_ELEMENT_ID__","isEnvironmentProviders","NG_COMP_DEF","NG_DIR_DEF","NG_PIPE_DEF","NG_MOD_DEF","NG_FACTORY_DEF","NG_ELEMENT_ID","NG_ENV_ID","__NG_ENV_ID__","renderStringify","throwProviderNotFoundError","injectorName","InjectFlags","Default","Host","Self","SkipSelf","Optional","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","injectableDef","THROW_IF_NOT_FOUND","DI_DECORATOR_FLAG","NG_TEMP_TOKEN_PATH","NEW_LINE","_currentInjector","setCurrentInjector","former","injectInjectorOnly","convertToBitFlags","skipSelf","injectArgs","getInjectFlag","attachInjectFlag","decorator","Inject","getFactoryDef","throwNotFound","deepForEach","addToArray","removeFromArray","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","arrayInsert2","value1","value2","keyValueArrayGet","_arrayIndexOfSorted","EMPTY_OBJ","ENVIRONMENT_INITIALIZER","INJECTOR$1","INJECTOR_DEF_TYPES","NullInjector","ChangeDetectionStrategy","OnPush","ViewEncapsulation$1","Emulated","ShadowDom","InputFlags","SignalBased","classIndexOf","classToSearch","startingIndex","foundIndex","setUpAttributes","native","attrVal","isAnimationProp","isNameOnlyAttributeMarker","marker","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","markerInsertPosition","dstValue","NG_TEMPLATE_SELECTOR","isCssClassMatching","tNode","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","ɵɵdefineComponent","componentDefinition","baseDef","getNgDirectiveDef","onPush","directiveDefs","pipeDefs","getStandaloneInjector","signals","schemas","tView","initFeatures","extractDefListOrFactory","getComponentId","componentDef","hashSelectors","imul","extractDirectiveDef","getComponentDef","getDirectiveDef","nonNull","ɵɵdefineNgModule","declarations","transitiveCompileScopes","parseAndConvertBindingsForDefinition","declaredInputs","newLookup","minifiedKey","publicName","declaredName","inputFlags","ɵɵdefineDirective","directiveDefinition","ɵɵdefinePipe","pipeDef","getPipeDef$1","isStandalone","getNgModuleDef","ngModuleDef","providersResolver","inputTransforms","inputConfig","setInput","findHostDirectiveDefs","hostDirectives","debugInfo","defExtractor","dep","importProvidersFrom","internalImportProvidersFrom","ɵfromNgModule","checkForStandaloneCmp","providersOut","dedup","injectorTypesWithProviders","collectProviders","provider","internalSource","walkProviderTree","processInjectorTypesWithProviders","typesWithProviders","deepForEachProvider","parents","defType","injDef","cmpDef","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","USE_VALUE$1","isValueProvider","isTypeProvider","INJECTOR_SCOPE","NOT_YET","CIRCULAR","NULL_INJECTOR","getNullInjector","EnvironmentInjector","R3Injector","records","_ngOnDestroyHooks","_onDestroyHooks","forEachSingleProvider","processProvider","makeRecord","injectorDefTypes","assertNotDestroyed","setActiveConsumer$1","service","onDestroyHooks","removeOnDestroy","previousInjector","previousInjectImplementation","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","catchInjectorError","injectorErrorName","tokenPath","resolveInjectorInitializers","providerToRecord","providerToFactory","multiRecord","hasOnDestroy","destroyCBIdx","getUndecoratedInjectableFactory","inheritedInjectableDef","getInheritedInjectableDef","ngModuleType","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","prevInjector","isInInjectionContext","getCurrentInjector","assertInInjectionContext","debugFn","HOST","TVIEW","FLAGS","NEXT","T_HOST","HYDRATION","CLEANUP","CONTEXT","INJECTOR","RENDERER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","EMBEDDED_VIEW_INJECTOR","ON_DESTROY_HOOKS","EFFECTS_TO_SCHEDULE","REACTIVE_TEMPLATE_CONSUMER","HEADER_OFFSET","TYPE","NATIVE","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","LContainerFlags","HasTransplantedViews","isLView","isLContainer","isContentQueryHost","isComponentHost","componentOffset","isDirectiveHost","isComponentDef","isRootView","SimpleChange","isFirstChange","applyValueToInputField","inputSignalNode","privateName","applyValueToInputSignal","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","simpleChangesStore","getSimpleChangesStore","setSimpleChangesStore","SIMPLE_CHANGES_STORE","previousChange","ngInherit","profiler","hookOrListener","SVG_NAMESPACE","_ensureDirtyViewsAreAlwaysReachable","unwrapRNode","getNativeByIndex","lView","getNativeByTNode","getTNode","getComponentLViewByIndex","slotValue","viewAttachedToChangeDetector","getConstant","resetPreOrderHookFlags","markViewForRefresh","markAncestorsForTraversal","requiresRefreshOrTraversal","updateAncestorTraversalFlagsOnAttach","changeDetectionScheduler","getEnsureDirtyViewsAreAlwaysReachable","getLViewParent","storeLViewOnDestroy","onDestroyCallback","instructionState","lFrame","createLFrame","bindingsEnabled","skipHydrationRootTNode","getBindingsEnabled","isInSkipHydrationBlock$1","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","ɵɵresetView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","isParent","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","nextBindingIndex","incrementBindingIndex","setInI18nBlock","isInI18nBlock","inI18n","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","parentTNode","parentLView","allocLFrame","enterView","newView","newLFrame","currentLFrame","childLFrame","elementDepthCount","currentNamespace","leaveViewLight","oldLFrame","leaveDI","leaveView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceHTML","namespaceHTMLInternal","_wasLastNodeCreated","wasLastNodeCreated","lastNodeWasCreated","registerPostOrderHooks","directiveStart","directiveEnd","lifecycleHooks","ngAfterContentChecked","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentView","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","callHook","callHookInternal","directive","isInitHook","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorView","startView","viewOffset","getParentInjectorViewOffset","parentView","includeViewProviders","setIncludeViewProviders","BLOOM_MASK","BLOOM_BUCKET_BITS","nextNgElementId","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","firstCreatePass","injectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","getTNodeFromLView","diPublicInInjector","bloomAdd","bloomHash","notFoundValueOrThrow","lookupTokenUsingModuleInjector","moduleInjector","getOrCreateInjectable","embeddedInjectorValue","lookupTokenUsingEmbeddedInjector","currentLView","nodeInjectorValue","lookupTokenUsingNodeInjector","embeddedViewInjector","embeddedViewInjectorValue","bloomHashBitOrFactory","tokenId","createNodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","currentTView","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","canAccessViewProviders","isHostSpecialCase","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","endIndex","providerTokenOrDef","dirDef","isFactory","throwCyclicDependencyError","stringifyForError","previousIncludeViewProviders","registerPreOrderHooks","directiveIndex","directiveDef","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","injectorView","isFirstHostTNode","NodeInjector","_tNode","_lView","ɵɵgetInheritedFactory","ownConstructor","ownFactory","getFactoryOf","objectPrototype","tViewType","ɵɵinjectAttribute","attrNameToInject","injectAttributeImpl","attrsLength","createInjector","additionalProviders","createInjectorWithoutInjectorInstances","getOriginalError","ErrorHandler","_console","originalError","_findOriginalError","INTERNAL_APPLICATION_ERROR_HANDLER","DestroyRef","injectDestroyRef","NodeInjectorDestroyRef","removeLViewOnDestroy","injectElementRef","createElementRef","unwrapElementRef","_wrapInTimeout","EventEmitter_","destroyRef","__isAsync","nextFn","errorFn","completeFn","symbolIterator","_results","_changes","_emitDistinctChangesOnly","_onDirty","_changesDetected","resultsTree","identityAccessor","newResultFlat","flat","POSITIVE_INFINITY","arrayEquals","valueA","valueB","onDirty","setDirty","hasInSkipHydrationBlockFlag","TRACKED_LVIEWS","uniqueIdCounter","MONKEY_PATCH_KEY_NAME","attachPatchData","registerLView","getFirstLContainer","getNearestLContainer","getNextLContainer","viewOrContainer","DEFAULT_APP_ID","PLATFORM_INITIALIZER","_retrieveHydrationInfoImpl","retrieveHydrationInfo","rNode","PRESERVE_HOST_CONTENT","policy$1","getPolicy$1","trustedHTMLFromString","getPolicy","trustedHTMLFromStringBypass","trustedScriptURLFromStringBypass","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","getTypeName","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","inertDocumentHelper","InertDocumentHelper","isDOMParserAvailable","DOMParser","DOMParserHelper","getInertBodyElement","inertDocument","implementation","createHTMLDocument","templateEl","_sanitizeUrl","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","sanitizeChildren","traverseContent","parentNodes","startElement","getFirstChild","endElement","getNextSibling","getNodeName","elAttrs","elAttr","encodeEntities","clobberedElementError","isClobberedElement","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","inertBodyElement","unsafeHtml","mXSSAttempts","parsedHtml","getTemplateContent","isTemplateElement","SecurityContext","RESOURCE_URL","ɵɵsanitizeHtml","getSanitizer","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵtrustConstantResourceUrl","trustedScriptURLFromString","ɵɵsanitizeUrlOrResourceUrl","getUrlSanitizer","COMMENT_DISALLOWED","COMMENT_DELIMITER","COMMENT_DELIMITER_ESCAPED","ɵɵresolveWindow","ɵɵresolveDocument","maybeUnwrapFn","Important","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","applyToElementOrContainer","lNodeToHandle","beforeNode","lContainer","isComponent","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","applyContainer","parentRElement","applyView","updateTextNode","createCommentNode","escapeCommentText","createElementNode","detachViewFromDOM","detachMovedView","declarationContainer","movedViews","declarationViewIndex","removeIndex","indexInContainer","viewToDetach","declarationLContainer","removedLView","removeViewFromDOM","lQueries","destroyLView","destroyViewTree","rootView","lViewOrLContainer","cleanUpView","consumerDestroy$1","executeOnDestroys","toCall","callContext","processCleanups","tCleanup","lCleanup","targetIdx","destroyHooksFn","unregisterLView","getParentRElement","getClosestRElement","nativeAppendOrInsertBefore","nativeParentNode","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","projectionNodes","getProjectionNodes","projection","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","nativeRemoveChild","applyNodes","isProjection","rawSlotValue","nextRNode","applyProjectionRecursive","projectionNext","tProjectionNode","componentLView","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","writeDirectClass","setupStaticAttributes","mergedAttrs","writeDirectStyle","NO_CHANGE","ɵɵadvance","selectIndexInternal","checkNoChangesMode","ɵɵdirectiveInject","ɵɵinvalidFactory","writeToDirectiveInput","SIGNAL$1","transformFn","createLView","tHostNode","hydrationInfo","getUniqueLViewId","getOrCreateTNode","createTNodeAtIndex","createTNode","tParent","insertBeforeIndex","directiveStylingLast","propertyBindings","localNames","initialInputs","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","allocExpando","numSlotsToAlloc","allocIdx","executeTemplate","templateFn","prevSelectedIndex","isUpdatePhase","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","addComponentLogic","hostTNode","getOrCreateComponentTView","lViewFlags","componentView","addToViewTree","rendererFactory","setInputsFromAttrs","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","localIndex","incompleteFirstPass","createTView","directives","pipes","constsOrFactory","ssrId","initialViewLength","createViewBlueprint","expandoStartIndex","hostBindingOpCodes","firstUpdatePass","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","_applyRootElementTransformImpl","captureNodeBindings","aliasMap","bindingsResult","hostDirectiveAliasMap","internalName","finalPublicName","addPropertyBinding","bindings","elementPropertyInternal","nativeOnly","dataValue","inputData","setInputsForProperty","markDirtyIfOnPush","viewIndex","childComponentLView","mapPropName","resolveDirectives","localRefs","exportsMap","matchResult","findDirectiveDefMatches","hostDirectiveDefs","hostDirectiveMatches","markAsComponentHost","initializeDirectives","cacheMatchingLocalNames","initTNodeFlags","numberOfDirectives","preOrderHooksFound","preOrderCheckHooksFound","directiveIdx","configureViewWithDirective","saveNameToExportMap","lifeCycleHooks","initializeInputAndOutputAliases","hostDirectiveDefinitionMap","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","aliasData","aliasedOutputs","generateInitialInputs","elementIndex","getCurrentDirectiveIndex","invokeHostBindingsInCreationMode","directiveFactory","nodeInjectorFactory","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","setElementAttribute","initialInputData","inputsToStore","createLContainer","hostNative","refreshContentQueries","directiveDefIdx","executeViewQueryFn","viewQueryFn","getOrCreateLViewCleanup","getOrCreateTViewCleanup","loadComponentRenderer","currentDef","unwrapLView","textBindingInternal","renderComponent","hostLView","componentHostIdx","componentTView","syncViewWithBlueprint","hostRNode","finishViewCreation","renderChildComponents","createAndRenderEmbeddedLView","declarationLView","templateTNode","embeddedTView","embeddedLView","dehydratedView","declarationViewLQueries","getLViewFromLContainer","adjustedIndex","shouldAddViewToDom","addLViewToLContainer","addToDOM","insertView","containerLength","trackMovedView","addViewToDOM","parentNativeNode","removeLViewFromLContainer","collectNativeNodes","lNode","collectNativeNodesInLContainer","nodesInSlot","lViewInAContainer","lViewFirstChildTNode","freeConsumers","REACTIVE_LVIEW_CONSUMER_NODE","REACTIVE_NODE$1","MAXIMUM_REFRESH_RERUNS","detectChangesInternal","notifyErrorHandler","detectChangesInViewWhileDirty","detectChangesInView$1","retries","inlineEffectRunner","refreshView","currentConsumer","viewShouldHaveReactiveConsumer","getOrBorrowReactiveLViewConsumer","borrowReactiveLViewConsumer","consumerBeforeComputation$1","setBindingIndex","hooksInitPhaseCompleted","markTransplantedViewsForRefresh","detectChangesInEmbeddedViews","processHostBindingOpCodes","opCode","bindingRootIndx","hostBindingFn","detectChangesInChildComponents","notifyEffect","consumerAfterComputation$1","maybeReturnReactiveLViewConsumer","detectChangesInViewIfAttached","detectChangesInComponent","shouldRefreshView","consumerPollProducersForChange$1","markViewDirty","ViewRef$1","_cdRefInjectingView","_attachedToViewContainer","viewRefs","reattach","checkNoChanges","attachToViewContainerRef","detachFromAppRef","attachToAppRef","appRef","injectTemplateRef","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","createEmbeddedViewImpl","createTemplateRef","_findMatchingDehydratedViewImpl","findMatchingDehydratedView","ChangeDetectionScheduler","ComponentRef$1","ComponentFactory$1","_NullComponentFactoryResolver","noComponentFactoryError","ComponentFactoryResolver$1","Renderer2","injectRenderer2","nodeAtIndex","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","assertNotInReactiveContext","extraContext","getActiveConsumer","getActiveConsumer$1","markedFeatures","performanceMarkFeature","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","onUnstable","onMicrotaskEmpty","assertZonePatched","_nesting","_outer","_inner","TaskTrackingZoneSpec","longStackTraceZoneSpec","lastRequestAnimationFrameId","nativeRequestAnimationFrame","getNativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","forkInnerZoneWithAngularBehavior","delayChangeDetectionForEventsDelegate","delayChangeDetectionForEvents","isCheckStableRunning","fakeTopEventTask","scheduleEventTask","updateMicroTaskStatus","checkStable","isAngularZone","onInvokeTask","applyThis","applyArgs","shouldBeIgnoredByZone","__ignore_ng_zone__","invokeTask","onEnter","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","isInAngularZone","assertInAngularZone","assertNotInAngularZone","runTask","EMPTY_PAYLOAD","cancelTask","runGuarded","NoopNgZone","AfterRenderPhase","EarlyRead","Write","MixedReadWrite","Read","NOOP_AFTER_RENDER_REF","afterNextRender","afterRenderEventManager","AfterRenderEventManager","callbackHandler","AfterRenderCallbackHandlerImpl","unregister","unregisterFn","AfterRenderCallback","callbackFn","executingCallbacks","buckets","deferredCallbacks","internalCallbacks","executeInternalCallbacks","isNgModule","computeStaticStyling","writeToHost","ComponentFactoryResolver","ComponentFactory","toRefArray","templateName","ChainedInjector","parentInjector","refArray","componentType","stringifyCSSSelectorList","selectorList","isBoundToModule","rootSelectorOrNode","environmentInjector","realEnvironmentInjector","rootViewInjector","hostRenderer","elementName","locateHostElement","elementOrSelector","applyRootElementTransform","getNamespace","rootFlags","rootTView","rootLView","tElementNode","rootComponentDef","rootDirectives","createRootComponentTNode","createRootComponentView","applyRootComponentStyling","viewRenderer","setRootNodeAttributes","extractAttrsAndClassesFromSelector","projectNodes","nodesforSlot","createRootComponent","hostFeatures","rootTNode","LifecycleHooksFeature","ComponentRef","_rootLView","previousInputValues","changeDetectorRef","ViewContainerRef","injectViewContainerRef","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","indexOrOptions","insertImpl","componentFactoryOrType","isComponentFactory","ngModuleRef","contextInjector","viewAttachedToContainer","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","getOrCreateViewRefs","viewRefsArr","detachedView","_locateOrCreateAnchorNode","createAnchorNode","commentNode","insertAnchorNode","nativeNextSibling","_populateDehydratedViewsInLContainer","LQuery_","queryList","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","splitQueryMultiSelectors","locator","TQueries_","elementStart","elementEnd","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","tNodeIdx","createResultForNode","matchingIdx","createResultByTNodeType","createSpecialToken","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","createLQuery","storeCleanupWithContext","createTQuery","getQueryResults","signalFn","createSignal","createSignal$1","signalSetFn$1","updateFn","signalUpdateFn","signalUpdateFn$1","asReadonly","signalAsReadonlyFn","readonlyFn","isWritableSignal","ɵɵInheritDefinitionFeature","superType","getSuperType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","mergeInputsWithTransforms","defData","mergeHostAttrsAcrossInheritance","minifiedName","prevViewQuery","prevContentQueries","prevHostBindings","ɵɵInputTransformsFeature","NgModuleRef$1","NgModuleFactory$1","createNgModule","NgModuleRef","_parent","_bootstrapComponents","destroyCbs","_r3Injector","NgModuleFactory","moduleType","EnvironmentNgModuleRefAdapter","debugName","runEnvironmentInitializers","createEnvironmentInjector","PendingTasks","hasPendingTasks","_hasPendingTasks","isListLikeIterable","isJsObject","updateBinding","bindingUpdated","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","ɵɵtemplate","attrsIndex","localRefsIndex","templateFirstCreatePass","tViewConsts","_locateOrCreateContainerAnchor","populateDehydratedViewsInLContainer","createContainerAnchorImpl","ɵɵattribute","elementAttributeInternal","interpolation1","v0","suffix","toTStylingRange","getTStylingRangePrev","tStylingRange","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","setTStylingRangeNextDuplicate","markDuplicates","tStylingKey","isPrevDir","tStylingAtIndex","foundDuplicate","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","parseClassNameNext","consumeClassToken","consumeWhitespace","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","isClassBased","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵclassMap","checkStylingMap","classKeyValueArraySet","classStringParser","parseClassName","resetParserState","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","oldKeyValueArray","newKeyValueArray","oldKey","setKey","toStylingKeyValueArray","styleKeyValueArray","unwrappedValue","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","residual","collectStylingFromTAttrs","collectStylingFromDirectives","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","setTStylingRangePrev","markDuplicateOfResidualStyling","currentDirective","desiredMarker","currentMarker","stringKey","tRange","higherPriorityValue","getTStylingRangeNextDuplicate","findStylingValue","isStylingValuePresent","getTStylingRangePrevDuplicate","applyStyling","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵclassMapInterpolate1","LiveCollection","updateValue","swap","index1","index2","endIdx","endItem","startItem","prevIndex","newIdx","valuesMatching","liveIdx","liveValue","trackBy","attachPreviouslyDetached","prevCollection","detachedItems","createOrAttach","liveCollection","trackByFn","newItem","initLiveItemsInTheFuture","UniqueValueMultiKeyMap","kvMap","_vMap","prevValue","vMap","ɵɵconditional","containerIndex","matchingTemplateIndex","getLContainer","getExistingTNode","RepeaterContext","$index","$count","ɵɵrepeaterTrackByIdentity","RepeaterMetadata","hasEmptyBlock","ɵɵrepeaterCreate","trackByUsesComponentInstance","emptyTemplateFn","emptyDecls","emptyVars","emptyTagName","emptyAttrsIndex","boundTrackBy","LiveCollectionLContainerImpl","needsIndexUpdate","detachExistingView","updateIndexes","getExistingLViewFromLContainer","ɵɵrepeater","metadataSlotIdx","hostTView","itemTemplateTNode","reconcile","newCollection","liveKeysInTheFuture","liveStartIdx","liveEndIdx","newEndIdx","liveStartValue","newStartValue","isStartMatching","liveEndValue","newEndValue","isEndMatching","liveStartKey","liveEndKey","newStartKey","newEndKey","newCollectionIterator","newIterationResult","liveKey","isCollectionEmpty","emptyTemplateIndex","lContainerForEmpty","emptyTemplateTNode","ɵɵelementStart","elementStartFirstCreatePass","_locateOrCreateElementNode","hasDirectives","isDetachedByI18n","getElementDepthCount","increaseElementDepthCount","ɵɵelementEnd","isSkipHydrationRootTNode","leaveSkipHydrationBlock","decreaseElementDepthCount","hasClassInput","hasStyleInput","ɵɵelement","getNamespace$1","ɵɵelementContainerStart","elementContainerStartFirstCreatePass","_locateOrCreateElementContainerNode","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵhostProperty","ɵɵsyntheticHostProperty","localeEn","LOCALE_DATA","findLocaleData","normalizedLocale","getLocaleData","getLocalePluralCase","LocaleDataIndex","PluralCase","ng","common","FirstDayOfWeek","WeekendRange","NumberFormats","CurrencyCode","CurrencySymbol","CurrencyName","Currencies","pluralMapping","DEFAULT_LOCALE_ID","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","APPEND_EAGERLY","LOCALE_ID$1","tNodeInsertBeforeIndex","i18nParent","anchorRNode","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","createTNodePlaceholder","getCurrentICUCaseIndex","tIcu","currentCase","currentCaseLViewIndex","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","changeMask","changeMaskCounter","_locateOrCreateNode","textOrName","createNodeWithoutHydration","COMMENT_NODE","applyMutableOpCodes","mutableOpCodes","rootRNode","rootIdx","textNodeIndex","parentIdx","insertInFrontOf","refIdx","caseIndex","commentValue","commentNodeIndex","elementNodeIndex","applyUpdateOpCodes","updateOpCodes","bindingsStartIndex","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","activeCaseIndex","getCaseIndex","icuExpression","bindingValue","cases","resolvedCase","getPluralCase","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","loadIcuContainerVisitor","_stack","_removes","_index","enterIcu","icuContainerIteratorNext","removeOpCode","icuContainerIteratorStart","BINDING_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","createTNodeAndAddOpCode","existingTNodes","createOpCodes","isICU","i18nNodeIdx","ensureIcuContainerVisitorLoaded","loader","setTNodeInsertBeforeIndex","i18nStartFirstCreatePassProcessTextNode","hasBinding","generateBindingUpdateOpCodes","destinationNode","bindingStart","maskIndex","sizeIndex","textParts","textValue","toMaskBit","removeInnerTemplateTranslation","tagMatched","inTemplate","icuStart","bindingMask","addUpdateIcuSwitch","mainBinding","setTIcu","valueArr","nestedIcus","icuIndex","caseAst","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","icuType","i18nParseTextIntoPartsAndICU","blocks","prevPos","braceStack","braces","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","elementNode","addRemoveNode","isNestedIcu","addRemoveNestedIcu","appendToParentIdx","createAtIdx","icuCreateOpCode","ɵɵi18nStart","messageIndex","subTemplateIndex","i18nStartFirstCreatePass","parentTNodeIndex","existingTNodeStack","astStack","getTranslationForTemplate","isRootTemplateMessage","msgParts","replaceNgsp","isClosing","placeholderNode","icuNodeIndex","tI18n","applyCreateOpCodes","appendNow","ɵɵi18n","ɵɵi18nEnd","ɵɵi18nExp","setMaskBit","hasChange","ɵɵi18nApply","applyI18n","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","isTNodeDirectiveHost","processOutputs","lCleanupIndex","idxOrTargetGetter","existingListener","findExistingListener","cleanupEventName","listenerIdxInLCleanup","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","ɵɵnextContext","nextContextImpl","walkUpViews","nestingLevel","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","getProjectAsAttrValue","ngProjectAsAttrIdx","ɵɵprojectionDef","componentNode","projectionHeads","newArray","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","applyProjection","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","interpolatedValue","ɵɵcontentQuery","createContentQuery","saveContentQueryAndDirectiveIndex","tViewContentQueries","ɵɵviewQuery","createViewQuery","ɵɵqueryRefresh","isCreationMode","ɵɵloadQuery","loadQueryInternal","ɵɵreference","getContextLView","ɵɵtext","textNative","_locateOrCreateTextNode","ɵɵtextInterpolate","ɵɵtextInterpolate1","interpolated","ɵɵtextInterpolate2","v1","interpolation2","ɵɵtextInterpolate3","v2","interpolation3","ɵɵtwoWayProperty","ɵɵtwoWayBindingSet","canWrite","ɵɵtwoWayListener","resolveProvider","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesViewProvidersFactoryExist","multiFactory","factoryFn","componentProviders","multiFactoryAdd","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","contextIndex","indexInFactory","providerIsTypeProvider","providerIsClassProvider","isClassProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","ɵɵProvidersFeature","viewProviders","processProvidersFn","StandaloneService","cachedInjectors","getOrCreateStandaloneInjector","standaloneInjector","ɵɵStandaloneFeature","ɵɵsetComponentScope","ɵɵpureFunction0","slotOffset","pureFn","getBinding","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef","pipeFactory","pipeInstance","ɵɵpipeBind1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","v3","ɵɵtemplateRefExtractor","full","major","minor","TESTABILITY","TESTABILITY_GETTER","_testabilityGetter","Testability","testabilityGetter","_pendingCount","_isZoneStable","taskTrackingZone","setTestabilityGetter","addToWindow","_watchAngularEvents","_runCallbacksIfReady","increasePendingRequestCount","decreasePendingRequestCount","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","whenStable","getPendingRequestCount","registerApplication","unregisterApplication","findProviders","using","exactMatch","TestabilityRegistry","_applications","testability","unregisterAllApplications","getTestability","getAllTestabilities","getAllRootElements","findTestabilityInTree","findInAncestors","isSubscribable","ApplicationInitStatus","donePromise","appInits","runInitializers","asyncInitPromises","initResult","observableAsPromise","APP_BOOTSTRAP_LISTENER","optionsReducer","_bootstrapListeners","_runningTick","_destroyListeners","_views","internalErrorHandler","afterRenderEffectManager","externalTestViews","beforeRender","afterTick","componentTypes","componentOrFactory","cf","compRef","_loadComponent","tick","_tick","refreshViews","detectChangesInAttachedViews","runs","isFirstPass","detectChangesInViewIfRequired","shouldRecheckView","warnIfDestroyed","detectChangesInView","ModuleWithComponentFactories","ngModuleFactory","componentFactories","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","declaration","compileModuleAndAllComponentsAsync","clearCache","clearCacheFor","getModuleId","NgZoneChangeDetectionScheduler","applicationRef","_onMicrotaskEmptySubscription","ngZoneApplicationErrorHandlerFactory","userErrorHandler","ZoneStablePendingTask","getGlobalLocale","$localize","DEFAULT_CURRENCY_CODE","PLATFORM_DESTROY_LISTENERS","PlatformRef","_modules","bootstrapModuleFactory","moduleFactory","getNgZone","ngZoneToUse","getNgZoneOptions","eventCoalescing","runCoalescing","ngZoneEventCoalescing","ngZoneRunCoalescing","moduleRef","createNgModuleRefWithProviders","internalProvideZoneChangeDetection","ngZoneFactory","ngZoneChangeDetectionScheduler","exceptionHandler","_callAndReportToErrorHandler","initStatus","setLocaleId","_moduleDoBootstrap","compilerOptions","compileNgModuleFactory","ngDoBootstrap","destroyListeners","_platformInjector","ALLOW_MULTIPLE_PLATFORMS","createPlatformFactory","parentPlatformFactory","extraProviders","getPlatform","platformProviders","createPlatform","publishSignalConfiguration","setThrowInvalidWriteToSignalError","setThrowInvalidWriteToSignalError$1","runPlatformInitializers","createPlatformInjector","assertPlatform","requiredToken","isDevMode","injectChangeDetectorRef","createViewRef","isPipe","DefaultIterableDifferFactory","DefaultIterableDiffer","trackByIdentity","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","localMovePreviousIndex","localCurrentIndex","forEachPreviousItem","_nextPrevious","_nextAdded","forEachMovedItem","_nextMoved","_nextIdentityChange","check","_reset","itemTrackBy","mayBeDirty","trackById","_verifyReinsertion","_addIdentityChange","_mismatch","iterateListLike","_truncate","isDirty","previousRecord","_prev","_remove","_reinsertAfter","_moveAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_records","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","defaultIterableDiffersFactory","IterableDiffers","copied","defaultKeyValueDiffersFactory","KeyValueDiffers","platformCore","ApplicationModule","numberAttribute","createComputed","createComputed$1","nonReactiveReadsFn","APP_EFFECT_SCHEDULER","EffectScheduler","ZoneAwareEffectScheduler","queuedEffectCount","queues","scheduleEffect","creationZone","flushQueue","EffectHandle","effectFn","allowSignalWrites","watcher","createWatch","registerOnCleanup","isInNotificationPhase","destroyWatchNode","isWatchNodeDestroyed","createWatch$1","onCleanup","runEffect","unregisterOnDestroy","cdr","reflectComponentType","destroyed$","requiresCleanup","cleanupRef","rejectErrors","BaseControlValueAccessor","onTouched","registerOnTouched","registerOnChange","setDisabledState","BuiltInControlValueAccessor","ɵBuiltInControlValueAccessor_BaseFactory","NG_VALUE_ACCESSOR","CHECKBOX_VALUE_ACCESSOR","CheckboxControlValueAccessor","writeValue","ɵCheckboxControlValueAccessor_BaseFactory","DEFAULT_VALUE_ACCESSOR","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","_compositionMode","_composing","_isAndroid","ɵgetDOM","_handleInput","_compositionStart","_compositionEnd","isEmptyInputValue","hasValidLength","NG_VALIDATORS","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","minValidator","control","maxValidator","requiredValidator","requiredTrue","requiredTrueValidator","emailValidator","minLength","minLengthValidator","minlength","requiredLength","actualLength","maxLengthValidator","patternValidator","nullValidator","validators","composeAsync","maxlength","regexStr","requiredPattern","actualValue","toObservable","mergeErrors","arrayOfErrors","executeValidators","validator","normalizeValidators","isValidatorFn","validate","presentValidators","composeValidators","composeAsyncValidators","mergeValidators","controlValidators","dirValidator","getControlValidators","_rawValidators","getControlAsyncValidators","_rawAsyncValidators","makeValidatorsArray","hasValidator","addValidators","currentValidators","validatorsToAdd","removeValidators","AbstractControlDirective","_onDestroyCallbacks","pristine","untouched","statusChanges","_setValidators","_composedValidatorFn","_setAsyncValidators","_composedAsyncValidatorFn","asyncValidator","_registerOnDestroy","_invokeOnDestroyCallbacks","getError","ControlContainer","formDirective","NgControl","valueAccessor","AbstractControlStatus","cd","_cd","isTouched","isUntouched","isPristine","isInvalid","isPending","isSubmitted","NgControlStatus","NgControlStatusGroup","VALID","INVALID","DISABLED","pickValidators","validatorOrOpts","isOptionsObj","pickAsyncValidators","asyncValidators","assertControlPresent","isGroup","assertAllValuesPresent","_forEachChild","AbstractControl","_pendingDirty","_hasOwnPendingAsyncValidator","_pendingTouched","_onCollectionChange","_onDisabledChange","_assignValidators","_assignAsyncValidators","validatorFn","asyncValidatorFn","updateOn","_updateOn","setAsyncValidators","addAsyncValidators","removeAsyncValidators","hasAsyncValidator","clearValidators","clearAsyncValidators","markAsTouched","onlySelf","markAllAsTouched","markAsUntouched","_updateTouched","markAsDirty","_updatePristine","markAsPending","emitEvent","skipPristineCheck","_parentMarkedDirty","_updateValue","_updateAncestors","changeFn","updateValueAndValidity","_setInitialStatus","_cancelExistingSubscription","_runValidator","_calculateStatus","_runAsyncValidator","_updateTreeValidity","ctrl","_allControlsDisabled","_asyncValidationSubscription","setErrors","_updateControlsErrors","currPath","_find","_initObservables","_anyControlsHaveStatus","_anyControls","_anyControlsDirty","_anyControlsTouched","_registerOnCollectionChange","_setUpdateStrategy","coerceToValidator","coerceToAsyncValidator","FormGroup","_setUpControls","registerControl","addControl","removeControl","setControl","patchValue","_reduceChildren","_syncPendingControls","subtreeUpdated","updated","_reduceValue","initValue","FormRecord","CALL_SET_DISABLED_STATE","setDisabledStateDefault","controlPath","setUpControl","callSetDisabledState","setUpValidators","setUpViewChangePipeline","_pendingValue","_pendingChange","updateControl","setUpModelChangePipeline","emitModelEvent","viewToModelUpdate","_unregisterOnChange","setUpBlurPipeline","setUpDisabledChangeHandler","onDisabledChange","registerOnDisabledChange","_unregisterOnDisabledChange","cleanUpControl","validateControlPresenceOnChange","cleanUpValidators","registerOnValidatorChange","onValidatorChange","isControlUpdated","updatedValidators","updatedAsyncValidators","emitModelToViewChange","setUpFormContainer","isPropertyUpdated","viewModel","syncPendingControls","selectValueAccessor","valueAccessors","defaultAccessor","builtinAccessor","customAccessor","isBuiltInAccessor","formDirectiveProvider$1","NgForm","resolvedPromise$1","_directives","ngSubmit","_findContainer","getControl","addFormGroup","removeFormGroup","getFormGroup","updateModel","onReset","removeListItem","isFormControlState","formState","FormControl","_onChange","_applyFormState","nonNullable","initialValueIsDefault","emitViewToModelChange","AbstractFormGroupDirective","_checkParentType","ɵAbstractFormGroupDirective_BaseFactory","formControlBinding$1","NgModel","resolvedPromise","_registered","_checkForErrors","_checkName","oldName","_getPath","_setUpControl","_updateDisabled","_setUpStandalone","disabledValue","ɵNgNoValidate","NUMBER_VALUE_ACCESSOR","NumberValueAccessor","ɵNumberValueAccessor_BaseFactory","RADIO_VALUE_ACCESSOR","RadioControlValueAccessor","RadioControlRegistry","_accessors","accessor","_isSameGroup","fireUncheck","controlPair","_control","_registry","setDisabledStateFired","_fn","formControlName","NG_MODEL_WITH_FORM_CONTROL_WARNING","formControlBinding","FormControlDirective","_ngModelWarningSentOnce","_ngModelWarningConfig","_ngModelWarningSent","_isControlChanged","previousForm","formDirectiveProvider","FormGroupDirective","_updateDomValue","_checkFormPresent","_updateValidators","_updateRegistrations","_oldForm","removeListItem$1","_setUpFormContainer","_cleanUpFormContainer","addFormArray","removeFormArray","getFormArray","oldCtrl","newCtrl","isFormControl","cleanUpFormContainer","formGroupNameProvider","FormGroupName","_hasInvalidParent","formArrayNameProvider","FormArrayName","controlNameBinding","FormControlName","_added","AbstractValidatorDirective","inputName","normalizeInput","createValidator","REQUIRED_VALIDATOR","RequiredValidator","CHECKBOX_REQUIRED_VALIDATOR","CheckboxRequiredValidator","ɵRequiredValidator_BaseFactory","ɵCheckboxRequiredValidator_BaseFactory","EMAIL_VALIDATOR","EmailValidator","ɵEmailValidator_BaseFactory","MAX_LENGTH_VALIDATOR","MaxLengthValidator","ɵMaxLengthValidator_BaseFactory","PATTERN_VALIDATOR","PatternValidator","ɵPatternValidator_BaseFactory","ɵInternalFormsSharedModule","FormArray","_registerControl","UntypedFormArray","isAbstractControlOptions","FormBuilder","useNonNullable","nnfb","reducedControls","_reduceControls","createdControls","_createControl","UntypedFormBuilder","controlsConfig","ɵUntypedFormBuilder_BaseFactory","warnOnNgModelWithFormControl","_rollupMoment__default","_rollupMoment","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY","useUtc","valueFunction","valuesArray","MomentDateAdapter","DateAdapter","dateLocale","setLocale","momentLocaleData","_localeData","longMonths","shortMonths","longDaysOfWeek","shortDaysOfWeek","narrowDaysOfWeek","getYear","getDayOfWeek","getMonthNames","getDateNames","getDayOfWeekNames","getYearName","getFirstDayOfWeek","getNumDaysInMonth","_createMoment","parseFormat","displayFormat","addCalendarYears","addCalendarMonths","addCalendarDays","toIso8601","isDateInstance","MAT_DATE_LOCALE","MAT_MOMENT_DATE_FORMATS","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","provideMomentDateAdapter","MAT_DATE_FORMATS","_c6","_c8","_c9","MAT_BUTTON_CONFIG","HOST_SELECTOR_MDC_CLASS_PAIR","mdcClasses","MatButtonBase","ripple","_rippleLoader","getRipple","attachRipple","_disableRipple","_updateRippleDisabled","_disabled","_animationMode","MatRippleLoader","_isFab","disabledInteractive","configureRipple","destroyRipple","_getAriaDisabled","ariaDisabled","_getDisabledAttribute","setDisabled","MatButton","animationMode","MAT_FAB_DEFAULT_OPTIONS","MAT_FAB_DEFAULT_OPTIONS_FACTORY","MatMiniFabButton","MatIconButton","centered","_c4","MatOption_Conditional_0_Template","ctx_r0","MatOption_Conditional_5_Template","MatOption_Conditional_6_Template","_c5","MATERIAL_SANITY_CHECKS","MATERIAL_SANITY_CHECKS_FACTORY","_sanityChecks","_hasDoneGlobalChecks","_checkIsEnabled","_ErrorStateTracker","_defaultMatcher","ngControl","_parentFormGroup","_parentForm","_stateChanges","errorState","updateErrorState","oldState","isErrorState","MAT_DATE_LOCALE_FACTORY","_localeChanges","localeChanges","getValidDateOrNull","compareDate","sameDate","firstValid","secondValid","clampDate","ISO_8601_REGEX","NativeDateAdapter","matDateLocale","useUtcForDisplay","_matDateLocale","dtf","timeZone","_createDateWithOverflow","_2digit","MAT_NATIVE_DATE_FORMATS","provideNativeDateAdapter","ErrorStateMatcher","RippleState","FADING_IN","VISIBLE","FADING_OUT","HIDDEN","RippleRef","_animationForciblyDisabledThroughCss","fadeOut","fadeOutRipple","passiveCapturingEventOptions$1","RippleEventManager","_delegateEventHandler","handlersForEvent","handlersForElement","defaultRippleAnimationConfig","enterDuration","exitDuration","passiveCapturingEventOptions","pointerDownEvents","pointerUpEvents","RippleRenderer","_eventManager","_isPointerDown","_activeRipples","_pointerUpEventsRegistered","fadeInRipple","animationConfig","radius","distanceToFurthestCorner","distX","distY","transitionDuration","computedStyles","userTransitionDuration","animationForciblyDisabledThroughCss","transitionProperty","rippleRef","persistent","_mostRecentTransientRipple","onTransitionEnd","_finishRippleTransition","onTransitionCancel","_destroyRipple","rippleEl","fadeOutAll","_getActiveRipples","fadeOutAllNonPersistent","setupTriggerEvents","_triggerElement","_removeTriggerEvents","_onTouchStart","_onPointerUp","_startFadeOutTransition","isMostRecentTransientRipple","isFakeMousedown","isSyntheticEvent","_lastTouchStartEvent","rippleDisabled","rippleConfig","terminateOnPointerUp","MAT_RIPPLE_GLOBAL_OPTIONS","_setupTriggerEventsIfEnabled","_trigger","globalOptions","_globalOptions","_rippleRenderer","launch","configOrX","unbounded","MatPseudoCheckbox","appearance","MatPseudoCheckboxModule","MAT_OPTION_PARENT_COMPONENT","MAT_OPTGROUP","_uniqueIdCounter","MatOptionSelectionChange","isUserInput","MatOption","hideSingleSelectionIndicator","_mostRecentViewValue","onSelectionChange","viewValue","_text","_emitSelectionChangeEvent","_selectViaInteraction","_inert","_countGroupLabelsBeforeOption","optionIndex","optionGroups","optionsArray","groupCounter","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","MatOptionModule","eventListenerOptions","rippleInteractionEvents","matRippleUninitialized","matRippleClassName","matRippleCentered","matRippleDisabled","_globalRippleOptions","_hosts","_onInteraction","_createRipple","hosts","existingRipple","_MatInternalFormField","labelPosition","MatCalendarBody_Conditional_0_Template","_cellPadding","numCols","MatCalendarBody_For_2_Conditional_1_Template","_firstRowOffset","labelMinRequiredCells","MatCalendarBody_For_2_For_3_Template","_r2","item_r3","_cellClicked","_emitActiveDateChange","colIndex_r4","rowIndex_r5","_cellWidth","_isActiveCell","_isRangeStart","compareValue","_isRangeEnd","_isInRange","_isComparisonBridgeStart","_isComparisonBridgeEnd","_isComparisonStart","_isComparisonEnd","_isInComparisonRange","_isPreviewStart","_isPreviewEnd","_isInPreview","_isSelected","todayValue","_getDescribedby","_isComparisonIdentical","MatCalendarBody_For_2_Template","row_r6","MatMonthView_For_4_Template","day_r1","long","MatCalendar_ng_template_0_Template","MatCalendar_Case_2_Template","activeDate","_dateSelected","_dragStarted","_dragEnded","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","startDateAccessibleName","endDateAccessibleName","_activeDrag","MatCalendar_Case_3_Template","_monthSelectedInYearView","_goToDateInView","MatCalendar_Case_4_Template","_yearSelectedInMultiYearView","MatDatepickerContent_ng_template_2_Template","MatDatepickerToggle_Conditional_2_Template","MatDatepickerIntl","calendarLabel","openCalendarLabel","closeCalendarLabel","prevMonthLabel","nextMonthLabel","prevYearLabel","nextYearLabel","prevMultiYearLabel","nextMultiYearLabel","switchToMonthViewLabel","switchToMultiYearViewLabel","startDateLabel","endDateLabel","formatYearRange","formatYearRangeLabel","MatCalendarCell","calendarBodyId","activeCapturingEventOptions","passiveEventOptions","MatCalendarBody","_focusActiveCellAfterViewChecked","_focusActiveCell","activeCell","isRange","cellAspectRatio","previewStart","previewEnd","selectedValueChange","previewChange","activeDateChange","dragStarted","dragEnded","_didDragSinceMouseDown","_enterHandler","_skipNextFocus","cell","_getCellFromElement","_touchmoveHandler","getActualTouchTarget","getCellElement","_leaveHandler","_mousedownHandler","_mouseupHandler","cellElement","_touchendHandler","_startDateLabelId","_endDateLabelId","startValue","endValue","columnChanges","rowIndex","colIndex","cellNumber","movePreview","_scheduleFocusActiveCellAfterViewChecked","isEnd","isInRange","previousCell","previousRow","nextCell","nextRow","row","isTableCell","rangeEnabled","touchLocation","elementFromPoint","DateRange","MatDateSelectionModel","_adapter","_selectionChanged","selectionChanged","updateSelection","_isValidDateInstance","MatSingleDateSelectionModel","MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER","MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY","MAT_DATE_RANGE_SELECTION_STRATEGY","MatMonthView","_activeDate","oldActiveDate","validDate","_dateAdapter","_hasSameMonthAndYear","_setRanges","_minDate","_maxDate","_dateFormats","_rangeStrategy","_rerenderSubscription","activeDrag","selectedChange","_userSelection","comparisonChange","_clearPreview","selectedDate","_getDateFromDayOfMonth","rangeStartDate","rangeEndDate","_getDateInCurrentMonth","_updateActiveDate","_handleCalendarBodyKeydown","_selectionKeyPressed","_canSelect","_previewEnd","_handleCalendarBodyKeyup","_todayDate","_getCellCompareValue","_monthLabel","monthLabel","firstOfMonth","_firstWeekOffset","_initWeekdays","_createWeekCells","_matCalendarBody","_previewChanged","previewRange","createPreview","_previewStart","dragRange","createDrag","dragDropResult","dayOfMonth","narrowWeekdays","dateNames","_weeks","_shouldEnableDate","cellClasses","d2","_rangeStart","_rangeEnd","_isRange","_comparisonRangeStart","_comparisonRangeEnd","yearsPerPage","MatMultiYearView","isSameMultiYearView","_setSelectedYear","yearSelected","_todayYear","minYearOfPage","getActiveOffset","_years","_createCellForYear","_yearSelected","selectedYear","_getDateFromYear","_getActiveCell","activeMonth","yearName","_shouldEnableYear","_selectedYear","dateAdapter","date1","date2","year1","year2","startingYear","getStartingYear","euclideanModulo","MatYearView","_setSelectedMonth","monthSelected","_monthSelected","selectedMonth","_getDateFromMonth","_todayMonth","_getMonthInCurrentYear","_yearLabel","monthNames","_createCellForMonth","normalizedDate","_shouldEnableMonth","activeYear","_isYearAndMonthAfterMaxDate","_isYearAndMonthBeforeMinDate","maxYear","maxMonth","minYear","minMonth","_selectedMonth","calendarHeaderId","MatCalendarHeader","_intl","_periodButtonLabelId","stateChanges","periodButtonText","_formatMinAndMaxYearLabels","periodButtonDescription","periodButtonLabel","prevButtonLabel","nextButtonLabel","currentPeriodClicked","previousClicked","nextClicked","previousEnabled","_isSameView","maxYearOfPage","MatCalendar","_startAt","_clampedActiveDate","_currentView","viewChangedResult","_moveFocusOnNextTick","viewChanged","_userDragDrop","_intlChanges","_calendarHeaderPortal","headerComponent","focusActiveCell","minDateChange","maxDateChange","_getCurrentViewComponent","updateTodaysDate","normalizedYear","normalizedMonth","monthView","yearView","multiYearView","tmp_1_0","matDatepickerAnimations","transformPanel","fadeInCalendar","datepickerUid","MAT_DATEPICKER_SCROLL_STRATEGY","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY","MatDatepickerContent","_globalModel","_rangeSelectionStrategy","intl","_subscriptions","_actionsPortal","_closeButtonText","_animationState","datepicker","touchUi","_handleUserSelection","_model","newSelection","selectionFinished","_handleUserDragDrop","_startExitAnimation","_handleAnimationEvent","_getSelected","_applyPendingSelection","_assignActions","forceRerender","_selectYear","_selectMonth","_viewChanged","_closeButtonFocused","tmp_3_0","calendarHeaderComponent","_dialogLabelId","_getMinDate","_getMaxDate","_getDateFilter","MatDatepickerBase","datepickerInput","getStartValue","_color","getThemePalette","_panelClass","opened","_opened","_inputStateChanges","openedStream","closedStream","_focusedElementBeforeOpen","_backdropHarnessClass","_setConnectedPositions","_destroyOverlay","registerInput","registerActions","_componentRef","removeActions","_openOverlay","canRestoreFocus","completeClose","_forwardContentValues","getOverlayLabelId","isDialog","_getDialogStrategy","_getDropdownStrategy","_getCloseStream","getConnectedOverlayOrigin","primaryX","secondaryX","primaryY","secondaryY","ctrlShiftMetaModifiers","MatDatepicker","ɵMatDatepicker_BaseFactory","MatDatepickerInputEvent","targetElement","MatDatepickerInputBase","_getValueFromModel","_assignValueProgrammatically","_parentDisabled","_getValidators","_parseValidator","_minValidator","_maxValidator","_filterValidator","_registerModel","_valueChangesSubscription","_assignValue","_shouldHandleChangeEvent","_lastValueValid","_isValidValue","_cvaOnChange","_onTouched","dateChange","_validatorOnChange","_localeSubscription","matDatepickerParse","controlValue","_matchesFilter","matDatepickerFilter","matDatepickerMin","matDatepickerMax","dateInputsHaveChanged","_openPopup","_onInput","lastValueWasValid","hasChanged","_assignValueToModel","MAT_DATEPICKER_VALUE_ACCESSOR","MatDatepickerInput","MAT_DATEPICKER_VALIDATORS","matDatepicker","_datepicker","_closedSubscription","_min","_max","_dateFilter","wasMatchingValue","dateFormats","_formField","getLabelId","modelValue","MAT_FORM_FIELD","MAT_INPUT_VALUE_ACCESSOR","MatDatepickerToggleIcon","MatDatepickerToggle","defaultTabIndex","parsedTabIndex","_watchStateChanges","_open","datepickerStateChanged","inputStateChanged","datepickerToggled","_customIcon","_button","CdkDialogContainer_ng_template_0_Template","DialogConfig","ariaDescribedBy","ariaLabelledBy","ariaModal","autoFocus","closeOnNavigation","closeOnDestroy","closeOnOverlayDetachments","CdkDialogContainer","_interactivityChecker","_focusTrap","_elementFocusedBeforeDialogWasOpened","_closeInteractionType","_ariaLabelledByQueue","_contentAttached","_addAriaLabelledBy","_removeAriaLabelledBy","_initializeFocusTrap","_handleBackdropClicks","_captureInitialFocus","_trapFocus","_restoreFocus","_recaptureFocus","_containsFocus","_forceFocus","_focusByCssSelector","elementToFocus","focusedSuccessfully","_focusDialogContainer","focusConfig","focusTargetElement","DialogRef","containerInstance","closedSubject","componentInstance","DIALOG_SCROLL_STRATEGY","DIALOG_DATA","DEFAULT_DIALOG_CONFIG","Dialog","openDialogs","_parentDialog","_openDialogsAtThisLevel","afterOpened","_afterOpenedAtThisLevel","_afterAllClosedAtThisLevel","_ariaHiddenElements","afterAllClosed","_getAfterAllClosed","componentOrTemplateRef","getDialogById","dialogRef","dialogContainer","_attachContainer","_attachDialogContent","_hideNonDialogContentFromAssistiveTechnology","_removeOpenDialog","closeAll","reverseForEach","userInjector","containerType","containerPortal","_createInjector","templateContext","contentRef","fallbackInjector","overlayContainer","DialogModule","MatDialogContainer_ng_template_2_Template","MatDialogConfig","delayFocusTrap","OPEN_CLASS","OPENING_CLASS","CLOSING_CLASS","MatDialogContainer","focusTrapFactory","dialogConfig","interactivityChecker","focusMonitor","_animationStateChanged","_animationsEnabled","_actionSectionCount","_hostElement","_enterAnimationDuration","parseCssTime","enterAnimationDuration","_exitAnimationDuration","exitAnimationDuration","_animationTimer","_finishDialogOpen","_clearAnimationClasses","_openAnimationDone","_finishDialogClose","_startOpenAnimation","TRANSITION_DURATION_PROPERTY","_requestAnimationFrame","_waitForAnimationToComplete","_updateActionSectionCount","MatDialogState","OPEN","CLOSING","CLOSED","MatDialogRef","_containerInstance","_afterOpened","_beforeClosed","_closeFallbackTimeout","_result","_closeDialogVia","dialogResult","afterClosed","beforeClosed","interactionType","MAT_DIALOG_DATA","MAT_DIALOG_DEFAULT_OPTIONS","MAT_DIALOG_SCROLL_STRATEGY","MatDialog","dialogConfigClass","_dialog","_dialogRefConstructor","_dialogContainerType","_dialogDataToken","cdkRef","cdkConfig","_closeDialogs","dialogs","dialogElementUid","MatDialogClose","getClosestDialog","proxiedChange","_matDialogClose","_matDialogCloseResult","_onButtonClick","MatDialogLayoutSection","_dialogRef","_onAdd","_onRemove","MatDialogTitle","ɵMatDialogTitle_BaseFactory","MatDialogContent","MatDialogActions","ɵMatDialogActions_BaseFactory","align","MAT_SUFFIX","MatSuffix","_isText","_isTextSelector","MatFormFieldControl","MatFormFieldModule","ttWindow","getMatIconNameNotFoundError","iconName","getMatIconFailedToSanitizeUrlError","getMatIconFailedToSanitizeLiteralError","literal","SvgIconConfig","svgText","MatIconRegistry","_httpClient","_sanitizer","_errorHandler","_svgIconConfigs","_iconSetConfigs","_cachedIconsByUrl","_inProgressUrlFetches","_fontCssClassesByAlias","_resolvers","_defaultFontSetClass","addSvgIcon","addSvgIconInNamespace","addSvgIconLiteral","addSvgIconLiteralInNamespace","_addSvgIconConfig","addSvgIconResolver","cleanLiteral","trustedLiteral","addSvgIconSet","addSvgIconSetInNamespace","addSvgIconSetLiteral","addSvgIconSetLiteralInNamespace","_addSvgIconSetConfig","registerFontClassAlias","classNames","classNameForFontAlias","setDefaultFontSetClass","getDefaultFontSetClass","getSvgIconFromUrl","safeUrl","cachedIcon","cloneSvg","_loadSvgIconFromConfig","getNamedSvgIcon","iconKey","_getSvgFromConfig","_getIconConfigFromResolvers","iconSetConfigs","_getSvgFromIconSetConfigs","_svgElementFromConfig","namedIcon","_extractIconWithNameFromAnySet","iconSetFetchRequests","iconSetConfig","_loadSvgIconSetFromConfig","foundIcon","_extractSvgIconFromSet","_fetchIcon","iconSet","iconSource","iconElement","_setSvgAttributes","_toSvgElement","_svgElementFromString","iconConfig","getMatIconNoHttpProviderError","inProgressFetch","configNamespace","svgElement","isSafeUrlWithOptions","MAT_ICON_DEFAULT_OPTIONS","MAT_ICON_LOCATION","MAT_ICON_LOCATION_FACTORY","getPathname","funcIriAttributes","funcIriAttributeSelector","funcIriPattern","MatIcon","svgIcon","_svgIcon","_updateSvgIcon","_clearSvgElement","fontSet","_fontSet","_cleanupFontValue","_updateFontIconClasses","fontIcon","_fontIcon","_iconRegistry","ariaHidden","inline","_previousFontSetClass","_currentIconFetch","_splitIconName","cachedElements","_elementsWithExternalReferences","_previousPath","_prependPathToReferences","_usingFontIcon","_setSvgElement","_cacheChildrenWithExternalReferences","layoutElement","childCount","fontSetClasses","_previousFontIconClass","elementsWithFuncIri","elementWithReference","rawName","_svgNamespace","_svgName","TextFieldModule","MatProgressSpinner_ng_template_0_Template","_viewBox","_strokeCircumference","_circleStrokeWidth","_circleRadius","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY","diameter","BASE_SIZE","MatProgressSpinner","_diameter","_noopAnimations","_forceAnimations","strokeWidth","_strokeWidth","_strokeDashOffset","_determinateCircle","circle_r2","MatSelect_Conditional_4_Template","MatSelect_Conditional_5_Conditional_1_Template","MatSelect_Conditional_5_Conditional_2_Template","triggerValue","MatSelect_Conditional_5_Template","customTrigger","MatSelect_ng_template_10_Template","_panelDoneAnimatingStream","_getPanelTheme","_getPanelAriaLabelledby","matSelectAnimations","transformPanelWrap","MAT_SELECT_SCROLL_STRATEGY","MAT_SELECT_CONFIG","MAT_SELECT_SCROLL_STRATEGY_PROVIDER","MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY","MAT_SELECT_TRIGGER","MatSelectChange","MatSelect","_scrollOptionIntoView","panel","labelCount","_positioningSettled","_getChangeEvent","_panelOpen","_hideSingleSelectionIndicator","_syncParentProperties","_placeholder","_required","_compareWith","_selectionModel","_initializeSelection","errorStateMatcher","_errorStateTracker","_unusedNgZone","defaultErrorStateMatcher","parentForm","parentFormGroup","_parentFormField","_liveAnnouncer","_positions","o1","o2","_triggerAriaLabelledBy","disableAutomaticLabeling","_valueId","_overlayPanelClass","controlType","disableOptionCentering","panelWidth","optionSelectionChanges","openedChange","_openedStream","_closedStream","selectionChange","valueChange","_trackedModal","_skipPredicate","panelOpen","typeaheadDebounceInterval","_panelDoneAnimating","_overlayWidth","_getOverlayWidth","_preferredOverlayOrigin","_initKeyManager","_resetOptions","newAriaLabelledby","_getTriggerAriaLabelledby","_previousControl","userAriaDescribedBy","_clearFromModal","_canOpen","_applyModalPanelOwnership","_highlightCorrectOption","selectedOptions","_handleOpenKeydown","_handleClosedKeydown","isArrowKey","isOpenKey","previouslySelectedOption","selectedOption","hasDeselectedOptions","previouslyFocusedIndex","_onAttached","_overlayDir","_setSelectionByValue","_selectOptionByValue","_sortValues","correspondingOption","preferredOrigin","changedOrDestroyed","_onSelect","wasSelected","_propagateChanges","sortComparator","valueToEmit","firstEnabledOptionIndex","labelId","_getAriaActiveDescendant","setDescribedByIds","onContainerClick","shouldLabelFloat","fallbackOverlayOrigin_r4","MAT_TOOLTIP_SCROLL_STRATEGY","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","MAT_TOOLTIP_DEFAULT_OPTIONS","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","showDelay","hideDelay","touchendHideDelay","PANEL_CLASS","passiveListenerOptions","MatTooltip","_updatePosition","_tooltipInstance","positionAtOrigin","_positionAtOrigin","_setupPointerEnterEventsIfNeeded","_showDelay","_hideDelay","_mouseLeaveHideDelay","_ariaDescriber","_isTooltipVisible","_updateTooltipMessage","tooltipClass","_tooltipClass","_setTooltipClass","_viewInitialized","_pointerExitEventsInitialized","_tooltipComponent","TooltipComponent","_cssClassPrefix","touchGestures","_passiveListeners","_touchstartTimeout","_cancelPendingAnimations","afterHidden","existingStrategy","scrollableAncestors","_updateCurrentPositionClass","_handleBodyInteraction","disableTooltipInteractivity","_getOverlayPosition","_addOffset","main","isLtr","originPosition","_invertPosition","overlayPosition","_markForCheck","newPosition","_currentPosition","classPrefix","_platformSupportsMouseEvents","_setupPointerExitEventsIfNeeded","_disableNativeGesturesIfNecessary","targetTouches","touchLongPressShowDelay","_addListeners","exitListeners","newTarget","_wheelListener","touchendListener","elementUnderPointer","gestures","userSelect","msUserSelect","webkitUserSelect","MozUserSelect","draggable","webkitUserDrag","touchAction","webkitTapHighlightColor","_isMultiline","_closeOnInteraction","_onHide","_showAnimation","_hideAnimation","_hideTimeoutId","_showTimeoutId","_toggleVisibility","_handleMouseLeave","_finalizeAnimation","_onShow","_isTooltipMultiline","_handleAnimationEnd","animationName","toVisible","_tooltip","showClass","hideClass","GenericBrowserDomAdapter","ɵDomAdapter","supportsDOMEvents","BrowserDomAdapter","makeCurrent","ɵsetRootDomAdapter","onAndCancel","getDefaultDocument","createHtmlDocument","isShadowRoot","getBaseElementHref","baseElement","resetBaseElement","BrowserXhr","EVENT_MANAGER_PLUGINS","EventManager","_eventNameToPlugin","_plugins","_findPluginFor","getZone","EventManagerPlugin","APP_ID_ATTRIBUTE_NAME","SharedStylesHost","styleRef","hostNodes","styleNodesInDOM","collectServerRenderedStyles","platformIsServer","resetHostNodes","addStyles","changeUsageCount","onStyleAdded","removeStyles","onStyleRemoved","getAllStyles","addHost","hostNode","addStyleToHost","removeHost","styleMap","styleRefValue","getStyleElement","styleEl","styleElRef","NAMESPACE_URIS","xhtml","xlink","xml","math","COMPONENT_REGEX","REMOVE_STYLES_ON_COMPONENT_DESTROY","shimStylesContent","compId","DomRendererFactory2","eventManager","sharedStylesHost","removeStylesOnCompDestroy","rendererByCompId","defaultRenderer","DefaultDomRenderer2","getOrCreateRenderer","EmulatedEncapsulationDomRenderer2","applyToHost","NoneEncapsulationDomRenderer","applyStyles","ShadowDomRenderer","throwOnSyntheticProps","isTemplateNode","namespaceUri","setAttributeNS","removeAttributeNS","removeProperty","decoratePreventDefault","eventHandler","hostEl","nodeOrShadowRoot","contentAttr","shimContentAttribute","componentShortId","hostAttr","shimHostAttribute","DomEventsPlugin","MODIFIER_KEYS","_keyMap","Del","Esc","Left","Right","Up","Down","Menu","Win","MODIFIER_KEY_GETTERS","KeyEventsPlugin","parseEventName","outsideHandler","eventCallback","fullKey","domEventName","_normalizeKey","codeIX","modifierName","matchEventFullKeyCode","fullKeyCode","keycode","modifierGetter","platformBrowser","ɵPLATFORM_BROWSER_ID","initDomAdapter","ɵsetDocument","BROWSER_MODULE_PROVIDERS_MARKER","TESTABILITY_PROVIDERS","ɵTESTABILITY_GETTER","BrowserGetTestability","ɵglobal","getAngularTestability","getAllAngularTestabilities","getAllAngularRootElements","frameworkStabilizers","testabilities","decrement","ɵTESTABILITY","BROWSER_MODULE_PROVIDERS","ɵINJECTOR_SCOPE","providersAlreadyPresent","withServerTransition","getTitle","newTitle","DomSanitizer","DomSanitizerImpl","ɵallowSanitizationBypassAndThrow","ɵunwrapSafeValue","ɵ_sanitizeHtml","ɵ_sanitizeUrl","ɵbypassSanitizationTrustHtml","bypassSecurityTrustStyle","ɵbypassSanitizationTrustStyle","bypassSecurityTrustScript","ɵbypassSanitizationTrustScript","bypassSecurityTrustUrl","ɵbypassSanitizationTrustUrl","bypassSecurityTrustResourceUrl","ɵbypassSanitizationTrustResourceUrl","_refCount","sharedConnection","_connection","ConnectableObservable","subjectFactory","getSubject","_teardown","higherOrderRefCount","takeLast","PRIMARY_OUTLET","RouteTitleKey","ParamsAsMap","convertToParamMap","defaultUrlMatcher","segments","segmentGroup","hasChildren","posParams","segment","consumed","shallowEqual","getDataKeys","equalArraysOrString","aSorted","bSorted","wrapIntoObservable","pathCompareMap","exact","equalSegmentGroups","containee","matrixParams","equalPath","matrixParamsMatch","numberOfChildren","subset","containsSegmentGroup","paramCompareMap","equalParams","containsParams","ignored","containsTree","fragment","containsSegmentGroupHelper","containeePaths","containerPaths","containeeSegment","UrlTree","UrlSegmentGroup","_queryParamMap","DEFAULT_SERIALIZER","serializePaths","UrlSegment","parameterMap","_parameterMap","serializePath","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","tree","serializeSegment","serializeQueryParams","strParams","encodeUriQuery","encodeUriFragment","primary","mapChildrenIntoArray","childOutlet","encodeUriString","encodeUriSegment","decodeQuery","serializeMatrixParams","SEGMENT_RE","matchSegments","MATRIX_PARAM_SEGMENT_RE","QUERY_PARAM_RE","QUERY_PARAM_VALUE_RE","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","parseSegment","parseParens","parseMatrixParams","parseParam","matchMatrixKeySegments","valueMatch","matchQueryParams","matchUrlQueryParamValue","decodedKey","decodedVal","currentVal","allowPrimary","outletName","createRoot","rootCandidate","He","squashSegmentGroup","newChildren","childCandidate","grandChildOutlet","grandChild","mergeTrivialChildren","isUrlTree","createSegmentGroupFromRoute","targetGroup","rootSegmentGroup","createSegmentGroupFromRouteRecursive","currentRoute","childOutlets","childSnapshot","outlet","createUrlTreeFromSegmentGroup","computeNavigation","Navigation","numberOfDoubleDots","isAbsolute","cmdIdx","outlets","segmentPath","urlPart","partIndex","toRoot","findStartingPositionForTargetGroup","Position","isMatrixParams","createPositionApplyingDoubleDots","ci","newSegmentGroup","processChildren","updateSegmentGroupChildren","updateSegmentGroup","isCommandWithOutlets","oldRoot","oldSegmentGroup","qp","replaceSegment","oldSegment","newSegment","cmdWithOutlet","prefixedWith","currentCommandIndex","currentPathIndex","noMatch","pathIndex","commandIndex","curr","compare","slicedCommands","createNewSegmentGroup","getOutlets","childrenOfEmptyChild","createNewSegmentChildren","IMPERATIVE_NAVIGATION","EventType","NavigationCancel","NavigationError","RoutesRecognized","ResolveStart","ResolveEnd","GuardsCheckStart","GuardsCheckEnd","RouteConfigLoadStart","RouteConfigLoadEnd","ChildActivationStart","ChildActivationEnd","ActivationStart","ActivationEnd","NavigationSkipped","RouterEvent","navigationTrigger","restoredState","urlAfterRedirects","NavigationCancellationCode","Redirect","SupersededByNewNavigation","NoDataFromResolver","GuardRejected","NavigationSkippedCode","IgnoredSameUrlNavigation","IgnoredByUrlHandlingStrategy","shouldActivate","routeConfig","routerEvent","BeforeActivateRoutes","RedirectRequest","OutletContext","ChildrenOutletContexts","attachRef","contexts","onChildOutletCreated","getOrCreateContext","onChildOutletDestroyed","onOutletDeactivated","onOutletReAttached","Tree","_root","pathFromRoot","findNode","findPath","cc","TreeNode","nodeChildrenAsMap","RouterState","setRouterState","createEmptyState","rootComponent","createEmptyStateSnapshot","ActivatedRouteSnapshot","RouterStateSnapshot","emptyUrl","emptyParams","emptyData","emptyQueryParams","ActivatedRoute","urlSubject","paramsSubject","queryParamsSubject","fragmentSubject","dataSubject","futureSnapshot","_futureSnapshot","_routerState","paramMap","_paramMap","getInherited","paramsInheritanceStrategy","_resolvedData","hasStaticTitle","_resolve","serializeNode","advanceActivatedRoute","nextSnapshot","shallowEqualArrays","equalParamsAndUrlSegments","equalUrlParams","equalSegments","RouterOutlet","activateEvents","deactivateEvents","attachEvents","detachEvents","parentContexts","changeDetector","inputBinder","INPUT_BINDER","supportsBindingToComponentInputs","activatedComponentRef","isTrackedInParentContexts","deactivate","initializeOutletWithName","unsubscribeFromRouteData","activateWith","isActivated","activatedRouteData","bindActivatedRouteToOutletComponent","childContexts","OutletInjector","__ngOutletInjector","RoutedComponentInputBinder","outletDataSubscriptions","subscribeToRouteData","dataSubscription","mirror","createNode","routeReuseStrategy","prevState","shouldReuseRoute","createOrReuseChildren","shouldAttach","detachedRouteHandle","retrieve","createActivatedRoute","NAVIGATION_CANCELING_ERROR","redirectingNavigationError","urlSerializer","navigationBehaviorOptions","navigationCancelingError","cancellationCode","isNavigationCancelingError","ɵEmptyOutletComponent","standardizeConfig","getOutlet","getClosestRouteInjector","_loadedInjector","ActivateRoutes","futureState","currState","forwardEvent","inputBindingEnabled","activate","futureRoot","currRoot","deactivateChildRoutes","activateChildRoutes","futureNode","currNode","futureChild","childOutletName","deactivateRoutes","deactivateRouteAndItsChildren","shouldDetach","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","treeNode","activateRoutes","stored","CanActivate","CanDeactivate","getAllRouteGuards","getChildRouteGuards","getTokenOrFunctionIdentity","tokenOrFunction","ɵisInjectable","futurePath","checks","canDeactivateChecks","canActivateChecks","prevChildren","getRouteGuards","shouldRun","shouldRunGuardsAndResolvers","runGuardsAndResolvers","isEmptyError","INITIAL_VALUE","prioritizedGuardValue","redirectIfUrlTree","NoMatch","AbsoluteRedirect","urlTree","noMatch$1","ApplyRedirects","lineralizeSegments","applyRedirectCommands","newTree","applyRedirectCreateUrlTree","createSegmentGroup","createQueryParams","redirectToParams","actualParams","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","redirectToUrlSegment","consumedSegments","remainingSegments","positionalParamSegments","matchWithChecks","getOrCreateRouteInjectorIfNeeded","currentInjector","runCanMatchGuards","canMatch","canMatchObservables","injectionToken","isCanMatch","createWildcardMatchResult","slicedSegments","containsEmptyPathMatchesWithNamedOutlets","emptyPathMatch","createChildrenForEmptyPaths","containsEmptyPathMatches","addEmptyPathsToChildrenIfNeeded","primarySegment","NoLeftoversInUrl","Recognizer","configLoader","rootComponentType","applyRedirects","absoluteRedirectCount","allowRedirects","noMatchError","recognize","routeState","createUrlTreeFromSnapshot","inheritParamsAndData","processSegmentGroup","routeNode","processSegment","sortedConfig","sortByMatchingOutlets","outletChildren","last$1","mergedChildren","mergeEmptyPathMatches","sortActivatedRouteSnapshots","localeCompare","processSegmentAgainstRoute","noLeftoversInUrl","rawSegment","isImmediateMatch","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","newSegments","getChildConfig","childInjector","_loadedComponent","getResolve","matchedOnOutlet","_loadedRoutes","runCanLoadGuards","canLoad","canLoadObservables","isCanLoad","shouldLoadResult","canLoadFails","hasEmptyPathConfig","mergedNodes","duplicateEmptyPathNode","resultNode","mergedNode","flattenRouteTree","descendants","switchTap","nextResult","TitleStrategy","buildTitle","pageTitle","getResolvedTitleForRoute","DefaultTitleStrategy","updateTitle","ROUTER_CONFIGURATION","RouterConfigLoader","componentLoaders","childrenLoaders","compiler","onLoadStartListener","loadRunner","maybeUnwrapDefaultExport","onLoadEndListener","factoryOrRoutes","rawRoutes","requireStandaloneComponents","isWrappedDefaultExport","UrlHandlingStrategy","DefaultUrlHandlingStrategy","shouldProcessUrl","extract","newUrlPart","wholeUrl","CREATE_VIEW_TRANSITION","VIEW_TRANSITION_OPTIONS","createViewTransition","transitionOptions","startViewTransition","skipNextTransition","resolveViewTransitionStarted","viewTransitionStarted","createRenderPromise","onViewTransitionCreated","NavigationTransitions","hasRequestedNavigation","navigationId","currentNavigation","lastSuccessfulNavigation","transitionAbortSubject","rootContexts","titleStrategy","urlHandlingStrategy","afterPreactivation","handleNavigationRequest","setupNavigations","initialUrlTree","initialRouterState","currentUrlTree","currentRawUrl","extractedUrl","rawUrl","extras","targetSnapshot","currentRouterState","targetRouterState","guards","guardsResult","overallTransitionState","cancelNavigationTransition","initialUrl","previousNavigation","urlTransition","navigated","isUpdatingInternalState","isUpdatedBrowserUrl","onSameUrlNavigation","serializer","recognize$1","finalUrl","routesRecognized","navStart","skipLocationChange","replaceUrl","guardsStart","checkGuards","runCanDeactivateChecks","futureRSS","currRSS","runCanDeactivate","currARS","canDeactivate","canDeactivateObservables","closestInjector","isCanDeactivate","runCanActivateChecks","fireChildActivationStart","fireActivationStart","runCanActivateChild","futureARS","canActivateChildGuardsMapped","getCanActivateChild","canActivateChild","guardsMapped","isCanActivateChild","runCanActivate","canActivateObservables","isCanActivate","guardsEnd","resolveStart","dataResolved","resolveData","routesWithResolversToRun","routesNeedingDataUpdates","newRoute","routesProcessed","runResolve","resolveNode","getResolver","resolvedData","resolveEnd","loadComponents","loaders","loadedComponent","createRouterState","isRedirectingNavigationCancelingError","resolveNavigationPromiseOnError","navCancel","isBrowserTriggeredNavigation","RouteReuseStrategy","DefaultRouteReuseStrategy","BaseRouteReuseStrategy","detachedTree","ɵDefaultRouteReuseStrategy_BaseFactory","StateManager","HistoryStateManager","canceledNavigationResolution","urlUpdateStrategy","rawUrlTree","currentPageId","lastSuccessfulId","routerState","stateMemento","createStateMemento","getCurrentUrlTree","getRawUrlTree","browserPageId","ɵrouterPageId","getRouterState","registerNonRouterCurrentEntryChangeListener","handleRouterEvent","setBrowserUrl","restoreHistory","generateNgRouterState","navigation","restoringFromCaughtError","targetPagePosition","resetState","resetUrlToCurrentUrlTree","routerPageId","ɵHistoryStateManager_BaseFactory","NavigationResult","COMPLETE","FAILED","REDIRECTING","afterNextNavigation","exactMatchOptions","subsetMatchOptions","Router","stateManager","disposed","isNgZoneEnabled","ɵConsole","navigationTransitions","componentInputBindingEnabled","eventsSubscription","resetConfig","subscribeToNavigationEvents","mergedTree","scheduleNavigation","isPublicRouterEvent","resetRootComponentType","initialNavigation","setUpLocationChangeListener","navigateToSyncWithBrowser","nonRouterCurrentEntryChangeSubscription","stateCopy","parseUrl","serializeUrl","getCurrentNavigation","createUrlTree","navigationExtras","preserveFragment","relativeToUrlSegmentGroup","removeEmptyProps","validateCommands","matchOptions","priorPromise","RouterLink","tabIndexAttribute","onChanges","updateHref","setTabIndexIfNotOnNativeEl","newTabIndex","applyAttributeValue","routerLink","sanitizedValue","RouterLinkActive","_isActive","routerLinkActiveOptions","isActiveChange","routerEventsSubscription","subscribeToEachLinkOnChanges","linkInputChangesSubscription","allLinkChanges","isLinkActive","routerLinkActive","hasActiveLinks","ariaCurrentWhenActive","isActiveMatchOptions","isActiveCheckFn","PreloadingStrategy","RouterPreloader","preloadingStrategy","setUpPreloading","preload","processRoutes","injectorForCurrentRoute","injectorForChildren","preloadConfig","loadedChildren$","recursiveLoadChildren$","loadComponent$","ROUTER_SCROLLER","RouterScroller","viewportScroller","lastSource","restoredId","scrollPositionRestoration","anchorScrolling","createScrollEvents","scrollEventsSubscription","consumeScrollEvents","scheduleScrollEvent","routerFeature","getBootstrapListener","bootstrappedComponentRef","bootstrapDone","BOOTSTRAP_DONE","INITIAL_NAVIGATION","ROUTER_PRELOADER","withPreloading","withViewTransitions","skipInitialTransition","ROUTER_FORROOT_GUARD","ROUTER_PROVIDERS","rootRoute","provideForRootGuard","useHash","scrollOffset","provideInitialNavigation","bindToComponentInputs","enableViewTransitions","ROUTER_INITIALIZER","forChild","locationInitialized","_c7","isDefined","reflow","transitionTimerDelayMs","noopFn","runningTransitions","ngbRunTransition","startFn","runningTransition","transition$","endFn","runInZone","finishTransition$","endWith","transitionDurationMs","getTransitionDurationMs","transitionDelay","transitionEnd$","raceInit","subscriptions","timer$","NgbConfig","NgbAccordionModule","NgbAlertModule","NgbButtonsModule","NgbCarouselModule","NgbCollapseModule","getMonthLabel","getWeekLabel","NGB_DATEPICKER_18N_FACTORY","NgbDatepickerI18nDefault","_monthsFull","weekdaysStartingOnSunday","NgbDatepickerConfig","displayMonths","outsideDays","showWeekNumbers","Key","Tab","Enter","Escape","Space","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","FOCUSABLE_ELEMENTS_SELECTOR","getFocusableBoundaryElements","Positioning","getStyle","isStaticPositioned","offsetParentEl","elPosition","parentOffset","elBcr","viewportOffset","elOffset","positionElements","placement","appendToBody","placementPrimary","placementSecondary","hostElPosition","targetElStyles","topPosition","leftPosition","targetElBCR","windowHeight","windowWidth","NGB_DATEPICKER_PARSER_FORMATTER_FACTORY","NgbDateISOParserFormatter","dateParts","ɵNgbDateISOParserFormatter_BaseFactory","NgbDatepickerModule","NgbNavbar","NgbDropdownModule","ContentRef","NgbModalBackdrop","_el","NgbActiveModal","dismiss","NgbModalRef","_windowCmptRef","_contentRef","_backdropCmptRef","_beforeDismiss","_closed","_dismissed","_hidden","dismissEvent","_reject","dismissed","_removeModalElements","_dismiss","windowTransition$","backdropTransition$","ModalDismissReasons","BACKDROP_CLICK","ESC","NgbModalWindow","_elRef","_closed$","_elWithFocus","keyboard","_show","_disableEventHandling","dialogTransition$","_dialogEl","transitions$","_enableEventHandling","_setFocus","which","defaultPrevented","_bumpBackdrop","preventClose","autoFocusable","firstFocusable","elWithFocus","windowClass","modalDialogClass","ScrollBar","paddingRight","actualPadding","NgbModalStack","_applicationRef","_scrollBar","_rendererFactory","_activeWindowCmptHasChanged","_ariaHiddenValues","_scrollBarRestoreFn","_backdropAttributes","_modalRefs","_windowAttributes","_windowCmpts","_activeInstances","activeWindowCmpt","ngbFocusTrap","stopFocusTrap$","refocusOnClick","lastFocusedElement$","tabEvent","focusedElement","lastFocusedElement","_revertAriaHidden","_setAriaHidden","_restoreScrollBar","scrollBarRestoreFn","_hideScrollBar","moduleCFR","contentInjector","containerEl","activeModal","_getContentRef","backdropCmptRef","windowCmptRef","_attachWindowComponent","ngbModalRef","beforeDismiss","_registerModalRef","_registerWindowCmpt","_applyWindowOptions","_applyBackdropOptions","activeInstances","dismissAll","hasOpenModals","windowInstance","optionName","backdropInstance","_createFromTemplateRef","_createFromString","_createFromComponent","contentCmptFactory","modalContentInjector","componentNativeEl","unregisterModalRef","ngbWindowCmpt","NgbModalConfig","_ngbConfig","_animation","NgbModal","_moduleCFR","_modalStack","combinedOptions","NgbModalModule","NgbNavModule","NgbPaginationModule","NgbPopoverModule","NgbProgressbarModule","NgbRatingModule","NgbTimepickerModule","NgbToastModule","NgbTooltipModule","ARIA_LIVE_DELAY_FACTORY","NgbTypeaheadModule","NGB_MODULES","DefaultLoader","isScopeObject","flatten$1","failedRetries","allowEmpty","aot","interpolation","TRANSLOCO_TRANSPILER","DefaultTranspiler","userConfig","interpolationMatcher","resolveMatcher","handleObject","handleArray","getParams","transpiled","TRANSLOCO_MISSING_HANDLER","DefaultHandler","TRANSLOCO_INTERCEPTOR","DefaultInterceptor","preSaveTranslation","preSaveTranslationKey","TRANSLOCO_FALLBACK_STRATEGY","DefaultFallbackStrategy","getNextLangs","getScopeFromLang","getLangFromScope","getPipeValue","splitted","lastItem","shouldListenToLangChanges","hasStatic","listenOrNotOperator","listenToLangChange","resolveInlineLoader","providerScope","hasInlineLoader","prependScope","inlineLoader","getEventPayload","langName","resolveLoader","mainLoader","fallbackStrategy","isResolvedMissingOnce","failedLangs","mergedConfig","mergeConfig","wasFailure","onLangChanged","loadTranslation","isScope","_isLangScoped","loadersOptions","firstFallbackLang","getFallbacksLoaders","fallbackPath","load$","handleSuccess","handleFailure","resolveLang","resolveLangAndScope","_handleMissingKey","selectTranslate","_isObject","translateObject","isLang","isScopeWithLang","unflatten$1","getObjectByKey","_key","selectTranslateObject","firstKey","firstParams","langOrScope","selectTranslation","language$","scopeLangSpecified","currentLang","setTranslation","mergedOptions","emitChange","flattenScopeOrTranslation","getMappedScope","mergedTranslation","flattenTranslation","withHook","setTranslationKey","Le","getMissingHandlerData","getAvailableLangsIds","_loadDependencies","mainLang","isLoadedTranslation","_completeScopeWithLang","_setScopeAlias","scopeMapping","loadOptions","failedCounter","fallbackLangs","nextLang","langFromScope","hasLang","TranslocoLoaderComponent","TemplateHandler","vcr","TRANSLOCO_LANG","TRANSLOCO_LOADING_TEMPLATE","TRANSLOCO_SCOPE","LangResolver","resolveLangBasedOnScope","resolveLangPath","ScopeResolver","TranslocoDirective","tpl","providerLang","providedLoadingTpl","translationMemo","langResolver","scopeResolver","inlineLang","resolveScope","attributeStrategy","structuralStrategy","inlineRead","loadingTpl","getLoadingTpl","loaderTplHandler","detachLoader","getTranslateFn","withRead","withParams","inlineTpl","resolvedScope","inlineScope","TranslocoPipe","lastKey","defaultProviders","Notification","observeNotification","do","nextHandler","completeHandler","nextOrObserver","createNext","createError","createComplete","completeNotification","elementOrOptions","activeGroups","teardownAttempted","groupBySourceSubscriber","grouped","createGroupedObservable","groupSubject","groupSubscriber","DEFAULT_EFFECT_CONFIG","functional","useEffectsErrorHandler","CREATE_EFFECT_METADATA_KEY","getSourceForInstance","isClass","classOrRecord","getClasses","classesAndRecords","mergeEffects","sourceInstance","globalErrorHandler","effectsErrorHandler","observables$","getSourceMetadata","getCreateEffectMetadata","observable$","effectAction$","materialize","defaultEffectsErrorHandler","retryAttemptLeft","Actions","ScannedActionsSubject","allowedTypes","typeOrActionCreator","_ROOT_EFFECTS_GUARD","USER_PROVIDED_EFFECTS","_ROOT_EFFECTS","_ROOT_EFFECTS_INSTANCES","_FEATURE_EFFECTS","_FEATURE_EFFECTS_INSTANCE_GROUPS","EFFECTS_ERROR_HANDLER","ROOT_EFFECTS_INIT","rootEffectsInit","isOnInitEffects","EffectSources","addEffects","effectSourceInstance","toActions","effectsInstance","isClassInstance","source$","effect$","resolveEffectSource","mergedEffects$","isOnRunEffects","ngrxOnRunEffects","reportInvalidActions","reporter","isAction","getEffectName","isMethod","dematerialize","init$","ngrxOnInitEffects","isOnIdentifyEffects","ngrxOnIdentifyEffects","EffectsRunner","isStarted","effectsSubscription","effectSources","EffectsRootModule","runner","rootEffectsInstances","storeRootModule","storeFeatureModule","EffectsFeatureModule","effectsRootModule","effectsInstanceGroups","effectsInstances","forFeature","featureEffects","effectsClasses","createEffectsInstances","rootEffects","_provideForRootGuard","effectsGroups","userProvidedEffectsGroups","effectsGroup","userProvidedEffectsGroup","effectsTokenOrRecord","isToken","tokenOrRecord","REGISTERED_ACTION_TYPES","defineType","_as","_p","ACTIONS_SUBJECT_PROVIDERS","_ROOT_STORE_GUARD","_INITIAL_STATE","REDUCER_FACTORY","_REDUCER_FACTORY","INITIAL_REDUCERS","_INITIAL_REDUCERS","STORE_FEATURES","_STORE_REDUCERS","_FEATURE_REDUCERS","_FEATURE_CONFIGS","_STORE_FEATURES","_FEATURE_REDUCERS_TOKEN","FEATURE_REDUCERS","USER_PROVIDED_META_REDUCERS","META_REDUCERS","_RESOLVED_META_REDUCERS","USER_RUNTIME_CHECKS","_USER_RUNTIME_CHECKS","ACTIVE_RUNTIME_CHECKS","_ACTION_TYPE_UNIQUENESS_CHECK","combineReducers","reducerKeys","finalReducers","finalReducerKeys","previousStateForKey","nextStateForKey","composed","createReducerFactory","reducerFactory","metaReducers","ReducerObservable","ReducerManager","currentReducers","addFeature","addFeatures","reducerDict","createFeatureReducerFactory","addReducers","removeFeature","removeFeatures","removeReducers","addReducer","ke","updateReducers","removeReducer","featureKeys","keyToRemove","Ie","REDUCER_MANAGER_PROVIDERS","ɵScannedActionsSubject_BaseFactory","SCANNED_ACTIONS_SUBJECT_PROVIDERS","reducer$","stateAndAction$","reduceState","stateSubscription","stateActionPair","STATE_PROVIDERS","Store","actionsObserver","reducerManager","pathOrMapFn","selectSignal","STORE_PROVIDERS","propsOrPath","mapped$","pathSlices","pluck","currentProp","RUNTIME_CHECK_URL","isEqualCheck","defaultMemoize","projectionFn","isArgumentsEqual","isResultEqual","overrideResult","lastArguments","lastResult","isArgumentsChanged","newResult","setResult","clearResult","createSelectorFactory","stateFn","defaultStateFn","isSelectorsDictionary","extractArgsFromSelectorsDictionary","selectorsDictionary","resultKeys","projector","selectorResults","Zn","memoizedSelectors","release","memoizedProjector","memoizedState","_createStoreReducers","_createFeatureStore","configs","featureStores","feat","_createFeatureReducers","reducerCollection","_initialStateFactory","_concatMetaReducers","userProvidedMetaReducers","targetIsFunction","propValue","getUnserializable","targetPrototype","throwIfUnserializable","unserializable","unserializablePath","createActiveRuntimeChecks","runtimeChecks","strictStateSerializability","strictActionSerializability","strictStateImmutability","strictActionImmutability","strictActionWithinNgZone","strictActionTypeUniqueness","createSerializationCheckMetaReducer","serializationCheckMetaReducer","ignoreNgrxAction","createImmutabilityCheckMetaReducer","immutabilityCheckMetaReducer","act","createInNgZoneCheckMetaReducer","inNgZoneAssertMetaReducer","provideRuntimeChecks","_runtimeChecksFactory","checkForActionTypeUniqueness","_actionTypeUniquenessCheck","registrations","_provideStore","_provideState","featureNameOrSlice","StoreRootModule","scannedActions$","actionCheck","StoreFeatureModule","featureReducers","feats","ons","existingReducer","newReducer","construct","thisValue","Func","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","_len2","_key2","_len","addToSet","transformCaseFunc","lcElement","cleanArray","newObject","lookupGetter","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","mathMl","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","purify","createDOMPurify","originalDocument","HTMLTemplateElement","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","ElementPrototype","getChildNodes","getParentNode","trustedTypesPolicy","createNodeIterator","createDocumentFragment","importNode","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","tbody","TRUSTED_TYPES_POLICY","purifyHostElement","ATTR_NAME","policyName","scriptUrl","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","getAttributeNode","_initDocument","leadingWhitespace","dirtyPayload","createDocument","_createNodeIterator","SHOW_COMMENT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","_isNode","_executeHooks","_sanitizeElements","allowedTags","_isBasicCustomElement","childClone","__removalCount","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","_sanitizeAttributes","hookEvent","keepAttr","allowedAttributes","forceKeepAttr","getAttributeType","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","shadowroot","shadowrootmode","serializedHTML","doctype","setConfig","clearConfig","isValidAttribute","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks","_typeof","_defineProperties","_assertThisInitialized","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","sham","ParseError","_Error","_inherits","subClass","superClass","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_classCallCheck","_createClass","protoProps","staticProps","objectConstructor","semver_compare","pb","na","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","validateMetadata","setVersion","nonGeographic","nonGeographical","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","_type2","getType","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","isSupportedCountry","v4","ownKeys","enumerableOnly","symbols","sym","_defineProperty","_arrayLikeToArray","normalizeArguments","_Array$prototype$slic2","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_s","_e","_arr","_n","_unsupportedIterableToArray","minLen","_nonIterableRest","arg_1","arg_2","arg_3","arg_4","_objectSpread","getOwnPropertyDescriptors","defaultCountry","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","getExtensionDigitsPattern","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","possibleSeparatorsNumberExtLabelNoComma","rfcExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseIncompletePhoneNumber","_createForOfIteratorHelperLoose","allowArrayLike","parsePhoneNumberCharacter","prevParsedCharacters","parseDigit","checkNumberLength","checkNumberLengthForType","type_info","possible_lengths","mobile_type","mergeArrays","merged","actual_length","minimum_length","regular_expression","NON_FIXED_LINE_PHONE_TYPES","isNumberTypeEqualTo","extractNationalNumber","_extractNationalNumbe","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","carrierCode","capturedGroupsCount","hasCapturedGroups","possiblePositionOfTheFirstCapturedGroup","shouldHaveExtractedNationalPrefix","nationalNumberBefore","nationalNumberAfter","isPossibleIncompleteNationalNumber","extractCountryCallingCode","isNumberWithIddPrefix","numberWithoutIDD","stripIddPrefix","countryMetadata","IDDPrefixPattern","matchedGroups","_extractCountryCallin","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","countryCallingCodeSource","_countryCallingCode","FIRST_GROUP_PATTERN","SINGLE_IDD_PREFIX_REG_EXP","formatExtension","formattedNumber","formatNationalNumber","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","internationalFormat","applyInternationalSeparatorStyle","addExtension","countryOrCountryCallingCode","E164_NUMBER_REGEXP","_getCountryAndCountry","getCountryAndCountryCallingCode","metadataJson","isCountryCode","getPossibleCountriesForNumber","possibleCountries","couldNationalNumberBelongToCountry","isPossiblePhoneNumber","isNonGeographicCallingCode","formatNumber","formatRFC3966","fromCountry","formatIDD","fromCountryCallingCode","iddPrefix","getIddPrefix","USE_NON_GEOGRAPHIC_COUNTRY_CODE","getCountryByCallingCode","nationalPhoneNumber","getCountryByNationalNumber","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","_parseInput","parseInput","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","extractPhoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","isPhoneContextValid","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","_extractFormattedPhoneNumber","throwOnError","startsAt","isViablePhoneNumberStart","withExtensionStripped","extractExtension","numberWithoutExtension","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","exactCountry","hasSelectedNumberingPlan","__countryCallingCodeSource","possible","parsePhoneNumberWithError","_normalizeArguments","parsePhoneNumber_","withMetadataArgument","metadata_min_json","_arguments","Toast_button_0_Template","Toast_div_1_ng_container_2_Template","duplicatesCount","Toast_div_1_Template","titleClass","Toast_div_2_Template","messageClass","Toast_div_3_Template","Toast_div_4_Template","newestOnTop","BasePortalHost","ToastRef","_afterClosed","_activate","_manualClose","_resetTimeout","_countDuplicate","manualClose","manualClosed","timeoutReset","countDuplicate","isInactive","afterActivate","onDuplicate","resetTimeout","ToastPackage","toastId","toastType","toastRef","_onTap","_onAction","triggerTap","tapToDismiss","onTap","triggerAction","onAction","TOAST_CONFIG","DomPortalHost","_hostDomElement","_portalHost","_paneElements","positionClass","_createOverlayRef","getPaneElement","_createPortalHost","ToastrService","currentlyActive","toasts","previousToastMessage","iconClasses","override","_preBuildNotification","applyConfig","warning","_findToast","activeToast","maxOpened","findDuplicate","resetOnDuplicate","countDuplicates","includeTitleDuplicates","onActivateTick","_buildNotification","toastComponent","duplicate","resetTimeoutOnDuplicate","keepInactive","autoDismiss","sanitizedMessage","enableHtml","toastPackage","toastInjector","ins","onShown","DefaultGlobalConfig","closeButton","extendedTimeOut","progressBar","toastClass","easeTime","progressAnimation","Toast","originalTimeout","toastClasses","displayStyle","intervalId","hideTime","sub1","sub2","sub3","activateToast","outsideTimeout","outsideInterval","updateProgress","tapToast","stickAround","delayedHideToast","runInsideAngular","provideToastr","asyncGeneratorStep","_throw","generator","fulfilled","rejected","adopt","AsyncIterator","verb","awaitReturn","fulfill","__values","SuppressedError"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/@store/actions/app.actions.ts","./src/app/@store/actions/header.actions.ts","./src/app/@store/actions/profile.actions.ts","./src/app/@store/actions/register-profile.actions.ts","./src/app/@store/actions/registration.actions.ts","./src/app/@store/actions/sts.actions.ts","./src/app/@store/actions/tara-register-profile.actions.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.actions.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.reducer.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.selectors.ts","./src/app/@store/legal-documents/legal-documents.actions.ts","./src/app/@store/legal-documents/legal-documents.store.ts","./src/app/@store/legal-documents/legal-documents.reducers.ts","./src/app/@store/reducers/app.reducer.ts","./src/app/@store/reducers/profile.reducer.ts","./src/app/@store/reducers/register-profile.reducer.ts","./src/app/@store/reducers/registration.reducer.ts","./src/app/@store/reducers/sts.reducer.ts","./src/app/@store/reducers/tara-register-profile.reducer.ts","./src/app/@store/selectors/app.selectors.ts","./src/app/@store/selectors/profile.selectors.ts","./src/app/@store/selectors/register-profile.selectors.ts","./src/app/@store/selectors/registration.selectors.ts","./src/app/@store/selectors/sts.selectors.ts","./src/app/app-common.services.ts","./src/app/appsettings.ts","./src/app/component-modules/miscellaneous/date-picker/date-picker.module.ts","./src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component.html","./src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component.ts","./src/app/form-configs/fi.ts","./src/app/layout/header/header.component.html","./src/app/layout/header/header.component.ts","./src/app/models/countries.model.ts","./src/app/models/password.model.ts","./src/app/models/storage.model.ts","./src/app/modules/shared/countries.ts","./src/app/modules/shared/dxp-background/dxp-background.component.ts","./src/app/modules/shared/dxp-background/dxp-background.component.html","./src/app/modules/shared/dxp-background/dxp-background.module.ts","./src/app/modules/shared/regex-pattern.ts","./src/app/modules/shared/shared.module.ts","./src/app/services/claim/claim.service.ts","./src/app/pages/index/pages/my-account/my-account.service.ts","./src/app/pages/index/services/header-config.service.ts","./src/app/pages/index/services/header-usertype.service.ts","./src/app/pages/privacy-policy/managed-privacy-policy/managed-privacy-policy.component.html","./src/app/pages/privacy-policy/managed-privacy-policy/managed-privacy-policy.component.ts","./src/app/pages/privacy-policy/privacy-policy.module.ts","./src/app/pages/terms-of-use/managed-terms-of-use/managed-terms-of-use.component.html","./src/app/pages/terms-of-use/managed-terms-of-use/managed-terms-of-use.component.ts","./src/app/pages/terms-of-use/terms-of-use.module.ts","./src/app/plasma-ui-common/services/user-role.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/config/config.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/constants.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/core.module.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/header-visibility/header-visibility.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/profile/profile.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/usertype/usertype.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/util/logger.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/spinner/spinner.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/spinner/spinner.component.html","./node_modules/@angular/material/fesm2022/menu.mjs","./src/app/plasma-ui-common/synlab-access-ui-components/core/util/lookup-default-country.util.ts","./src/app/plasma-ui-common/utils/append-lang-code.ts","./src/app/plasma-ui-common/utils/set-lang-code.ts","./src/app/plasma-ui-common/utils/has-lang-code-param.ts","./src/app/plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/locale-picker/locale-picker.component.html","./src/app/plasma-ui-common/synlab-access-ui-components/locale-picker/locale-picker.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/header/header.component.html","./src/app/plasma-ui-common/synlab-access-ui-components/header/header.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.component.html","./src/app/plasma-ui-common/utils/add-target-blank-to-anchors.ts","./src/app/plasma-ui-common/utils/format-locale.ts","./src/app/services/accounts/accounts.model.ts","./src/app/services/accounts/accounts.service.ts","./src/app/services/agreement/agreement.service.ts","./src/app/services/api/api.service.ts","./node_modules/jwt-decode/build/esm/index.js","./node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js","./node_modules/@auth0/angular-jwt/fesm2020/auth0-angular-jwt.mjs","./src/app/services/accounts/user-claims.service.ts","./src/app/services/auth/auth.service.ts","./src/app/services/authGuard/auth.guard.ts","./src/app/services/change-email.service.ts","./src/app/form-configs/be.ts","./src/app/form-configs/cz.ts","./src/app/form-configs/hu.ts","./src/app/form-configs/index.ts","./src/app/form-configs/uk-dfp.ts","./src/app/form-configs/ts-tc.ts","./src/app/form-configs/it.ts","./src/app/services/config/config.service.ts","./src/app/services/guards/user-type.guard.ts","./src/app/services/i18n/i18n.service.ts","./src/app/services/logger.service.ts","./src/app/services/phone-validation/phone-validation.service.ts","./src/app/services/register-profile-api/register-profile-api.service.ts","./src/app/services/i18n/custom-ngb-date-parser-formatter.service.ts","./src/app/services/i18n/custom-ngb-datepickeri18n.service.ts","./src/app/transloco-root.module.ts","./src/app/utils/claims-to-object.ts","./src/app/utils/common.utils.ts","./src/app/utils/error.util.ts","./src/app/utils/geneplanet.util.ts","./src/app/view/dk-mfa-reset/enum-dk-mfa.ts","./src/environments/environment.prod.ts","./src/app/pages/init/init.component.ts","./src/app/pages/init/init.component.html","./src/app/pages/signin-callback/signin-callback.component.ts","./src/app/pages/signin-callback/signin-callback.component.html","./src/app/pages/forgot-password/forgot-password/forgot-password.component.html","./src/app/pages/forgot-password/forgot-password/forgot-password.component.ts","./src/app/pages/renewtoken/renewtoken.component.ts","./src/app/pages/renewtoken/renewtoken.component.html","./src/app/pages/self-sampling-instruction/self-sampling-instruction.component.ts","./src/app/pages/self-sampling-instruction/self-sampling-instruction.component.html","./src/app/pages/parent-self-sampling-instruction/parent-self-sampling-instruction.component.ts","./src/app/pages/parent-self-sampling-instruction/parent-self-sampling-instruction.component.html","./src/app/pages/general-terms/general-terms.component.html","./src/app/pages/general-terms/general-terms.component.ts","./src/app/pages/delete-account/delete-account.component.html","./src/app/pages/delete-account/delete-account.component.ts","./src/app/models/sessionTransfer.model.ts","./src/app/services/auth/auth-session-transfer.service.ts","./src/app/modules/shared/loader/loader.component.ts","./src/app/modules/shared/loader/loader.component.html","./src/app/pages/init-session/init-session.component.ts","./src/app/services/window-ref.service.ts","./src/app/pages/dxp-send-forgot-password/dxp-send-forgot-password.component.html","./src/app/pages/dxp-send-forgot-password/dxp-send-forgot-password.component.ts","./src/app/pages/send-forgot-password/send-forgot-password.component.html","./src/app/pages/send-forgot-password/send-forgot-password.component.ts","./src/app/services/authGuard/check.login.guard.ts","./src/app/pages/ee-privacy-terms/ee-privacy-terms.component.ts","./src/app/pages/activate-account/activate-account.component.html","./src/app/pages/activate-account/activate-account.component.ts","./src/app/services/guards/prevent-shfy.guard.ts","./src/app/component-modules/medio-redirect/medio.service.ts","./src/app/component-modules/medio-redirect/medio-redirect.component.ts","./src/app/component-modules/medio-redirect/medio-redirect.component.html","./src/app/guards/redirect.guard.ts","./src/app/app-routing.module.ts","./node_modules/@microsoft/dynamicproto-js/lib/dist/esm/dynamicproto-js.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Timing.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/AnalyticsPlugin.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Envelope.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Data.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/EnvelopeCreator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Offline.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/SendBuffer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Sender.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Serializer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/Sample.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/ConnectionStringParser.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/SeverityLevel.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajaxRecord.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajax.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Application.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Device.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Internal.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Location.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Session.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/TelemetryTrace.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/User.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/TelemetryContext.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/PropertiesPlugin.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/Initialization.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/__DynamicConstants.js","./src/app/services/apm.service.ts","./node_modules/@ng-idle/core/fesm2022/ng-idle-core.mjs","./node_modules/@openreplay/tracker/lib/app/messages.gen.js","./node_modules/@openreplay/tracker/lib/utils.js","./node_modules/@openreplay/tracker/lib/app/nodes.js","./node_modules/@openreplay/tracker/lib/app/guards.js","./node_modules/@openreplay/tracker/lib/app/observer/observer.js","./node_modules/@openreplay/tracker/lib/app/observer/iframe_observer.js","./node_modules/@openreplay/tracker/lib/app/observer/shadow_root_observer.js","./node_modules/@openreplay/tracker/lib/app/observer/iframe_offsets.js","./node_modules/@openreplay/tracker/lib/app/observer/top_observer.js","./node_modules/@openreplay/tracker/lib/app/sanitizer.js","./node_modules/@openreplay/tracker/lib/app/ticker.js","./node_modules/@openreplay/tracker/lib/app/logger.js","./node_modules/@openreplay/tracker/lib/app/session.js","./node_modules/@openreplay/tracker/lib/modules/performance.js","./node_modules/@openreplay/tracker/lib/app/index.js","./node_modules/@openreplay/tracker/lib/modules/console.js","./node_modules/@openreplay/tracker/lib/modules/exception.js","./node_modules/@openreplay/tracker/lib/modules/img.js","./node_modules/@openreplay/tracker/lib/modules/input.js","./node_modules/@openreplay/tracker/lib/modules/mouse.js","./node_modules/@openreplay/tracker/lib/modules/scroll.js","./node_modules/@openreplay/tracker/lib/modules/constructedStyleSheets.js","./node_modules/@openreplay/tracker/lib/index.js","./node_modules/@openreplay/tracker/lib/modules/viewport.js","./node_modules/@openreplay/tracker/lib/modules/cssrules.js","./node_modules/@openreplay/tracker/lib/modules/connection.js","./node_modules/@openreplay/tracker/lib/modules/timing.js","./node_modules/@openreplay/tracker/lib/modules/focus.js","./node_modules/@openreplay/tracker/lib/modules/fonts.js","./node_modules/@ng-idle/keepalive/fesm2022/ng-idle-keepalive.mjs","./node_modules/angular-google-tag-manager/fesm2022/angular-google-tag-manager.mjs","./src/app/services/inactivity.service.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/modules/shared/unauthorized/unauthorized.component.html","./src/app/modules/shared/unauthorized/unauthorized.component.ts","./src/app/services/error-handler.service.ts","./src/app/services/auth/token-interceptor/token-interceptor.service.ts","./src/app/utils/is-new-error-schema.ts","./node_modules/@angular/animations/fesm2022/browser.mjs","./node_modules/@angular/platform-browser/fesm2022/animations.mjs","./src/app/pages/forgot-password/forgot-password.module.ts","./src/app/pages/delete-account/delete-account.module.ts","./src/app/pages/terms-of-use-mobile/terms-of-use-mobile.module.ts","./src/app/@store/reducers/header.reducer.ts","./src/app/@store/reducers/index.ts","./src/app/@store/effects/profile.effects.ts","./src/app/@store/effects/app.effects.ts","./src/app/@store/effects/registration.effects.ts","./src/app/@store/effects/register-profile.effects.ts","./src/app/services/tara-register-profile-api/tara-register-profile-api.service.ts","./src/app/services/tara-migrate-api/tara-migrate-api.service.ts","./src/app/@store/effects/tara-register-profile.effects.ts","./src/app/services/country/country.service.ts","./src/app/@store/effects/sts.effects.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.effects.ts","./src/app/@store/legal-documents/legal-documents.service.ts","./src/app/@store/effects/index.ts","./src/app/@store/legal-documents/legal-documents.effects.ts","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./node_modules/@ngrx/store-devtools/fesm2022/ngrx-store-devtools.mjs","./src/app/services/store.service.ts","./node_modules/ng2-pdf-viewer/node_modules/pdfjs-dist/build/pdf.mjs","./node_modules/@babel/runtime/helpers/esm/OverloadYield.js","./node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js","./node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js","./node_modules/@babel/runtime/helpers/esm/asyncIterator.js","./node_modules/ng2-pdf-viewer/node_modules/pdfjs-dist/web/pdf_viewer.mjs","./node_modules/ng2-pdf-viewer/fesm2022/ng2-pdf-viewer.mjs","./src/app/pages/self-sampling-instruction/self-sampling-instruction.module.ts","./src/app/pages/parent-self-sampling-instruction/parent-self-sampling-instruction.module.ts","./src/app/pages/general-terms/general-terms.module.ts","./src/app/pages/init-session/init-session.module.ts","./src/app/pages/send-forgot-password/send-forgot-password.module.ts","./src/app/plasma-ui-common/synlab-access-ui-components/browser-redirect/browser-redirect.component.ts","./src/app/@store/selectors/header.selectors.ts","./src/app/pages/index/services/header-visibility.service.ts","./src/app/pages/activate-account/activate-account.module.ts","./src/app/app.module.ts","./src/main.ts","./node_modules/aes-js/index.js","./node_modules/byte-base64/lib.js","./node_modules/d/index.js","./node_modules/error-stack-parser/error-stack-parser.js","./node_modules/es5-ext/array/#/e-index-of.js","./node_modules/es5-ext/array/from/index.js","./node_modules/es5-ext/array/from/is-implemented.js","./node_modules/es5-ext/array/from/shim.js","./node_modules/es5-ext/array/to-array.js","./node_modules/es5-ext/error/custom.js","./node_modules/es5-ext/function/_define-length.js","./node_modules/es5-ext/function/is-arguments.js","./node_modules/es5-ext/function/is-function.js","./node_modules/es5-ext/function/noop.js","./node_modules/es5-ext/math/sign/index.js","./node_modules/es5-ext/math/sign/is-implemented.js","./node_modules/es5-ext/math/sign/shim.js","./node_modules/es5-ext/number/is-nan/index.js","./node_modules/es5-ext/number/is-nan/is-implemented.js","./node_modules/es5-ext/number/is-nan/shim.js","./node_modules/es5-ext/number/to-integer.js","./node_modules/es5-ext/number/to-pos-integer.js","./node_modules/es5-ext/object/_iterate.js","./node_modules/es5-ext/object/assign/index.js","./node_modules/es5-ext/object/assign/is-implemented.js","./node_modules/es5-ext/object/assign/shim.js","./node_modules/es5-ext/object/for-each.js","./node_modules/es5-ext/object/is-callable.js","./node_modules/es5-ext/object/is-object.js","./node_modules/es5-ext/object/is-value.js","./node_modules/es5-ext/object/keys/index.js","./node_modules/es5-ext/object/keys/is-implemented.js","./node_modules/es5-ext/object/keys/shim.js","./node_modules/es5-ext/object/map.js","./node_modules/es5-ext/object/mixin.js","./node_modules/es5-ext/object/normalize-options.js","./node_modules/es5-ext/object/primitive-set.js","./node_modules/es5-ext/object/valid-callable.js","./node_modules/es5-ext/object/valid-value.js","./node_modules/es5-ext/object/validate-stringifiable-value.js","./node_modules/es5-ext/object/validate-stringifiable.js","./node_modules/es5-ext/safe-to-string.js","./node_modules/es5-ext/string/#/contains/index.js","./node_modules/es5-ext/string/#/contains/is-implemented.js","./node_modules/es5-ext/string/#/contains/shim.js","./node_modules/es5-ext/string/is-string.js","./node_modules/es5-ext/to-short-string-representation.js","./node_modules/es6-symbol/index.js","./node_modules/es6-symbol/is-implemented.js","./node_modules/es6-symbol/is-symbol.js","./node_modules/es6-symbol/lib/private/generate-name.js","./node_modules/es6-symbol/lib/private/setup/standard-symbols.js","./node_modules/es6-symbol/lib/private/setup/symbol-registry.js","./node_modules/es6-symbol/polyfill.js","./node_modules/es6-symbol/validate-symbol.js","./node_modules/event-emitter/index.js","./node_modules/ext/global-this/implementation.js","./node_modules/ext/global-this/index.js","./node_modules/ext/global-this/is-implemented.js","./node_modules/flat/index.js","./node_modules/google-libphonenumber/dist/libphonenumber.js","./node_modules/is-promise/index.js","./node_modules/koekiemonster/index.js","./node_modules/koekje/index.js","./node_modules/koekje/node_modules/querystringify/index.js","./node_modules/lodash/lodash.js","./node_modules/lru-queue/index.js","./node_modules/memoizee/ext/async.js","./node_modules/memoizee/ext/dispose.js","./node_modules/memoizee/ext/max-age.js","./node_modules/memoizee/ext/max.js","./node_modules/memoizee/ext/promise.js","./node_modules/memoizee/ext/ref-counter.js","./node_modules/memoizee/index.js","./node_modules/memoizee/lib/configure-map.js","./node_modules/memoizee/lib/resolve-length.js","./node_modules/memoizee/lib/resolve-normalize.js","./node_modules/memoizee/lib/resolve-resolve.js","./node_modules/memoizee/normalizers/get-1.js","./node_modules/memoizee/normalizers/get-fixed.js","./node_modules/memoizee/normalizers/get-primitive-fixed.js","./node_modules/memoizee/normalizers/get.js","./node_modules/memoizee/normalizers/primitive.js","./node_modules/memoizee/plain.js","./node_modules/moment/locale/af.js","./node_modules/moment/locale/ar-dz.js","./node_modules/moment/locale/ar-kw.js","./node_modules/moment/locale/ar-ly.js","./node_modules/moment/locale/ar-ma.js","./node_modules/moment/locale/ar-ps.js","./node_modules/moment/locale/ar-sa.js","./node_modules/moment/locale/ar-tn.js","./node_modules/moment/locale/ar.js","./node_modules/moment/locale/az.js","./node_modules/moment/locale/be.js","./node_modules/moment/locale/bg.js","./node_modules/moment/locale/bm.js","./node_modules/moment/locale/bn-bd.js","./node_modules/moment/locale/bn.js","./node_modules/moment/locale/bo.js","./node_modules/moment/locale/br.js","./node_modules/moment/locale/bs.js","./node_modules/moment/locale/ca.js","./node_modules/moment/locale/cs.js","./node_modules/moment/locale/cv.js","./node_modules/moment/locale/cy.js","./node_modules/moment/locale/da.js","./node_modules/moment/locale/de-at.js","./node_modules/moment/locale/de-ch.js","./node_modules/moment/locale/de.js","./node_modules/moment/locale/dv.js","./node_modules/moment/locale/el.js","./node_modules/moment/locale/en-au.js","./node_modules/moment/locale/en-ca.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/en-ie.js","./node_modules/moment/locale/en-il.js","./node_modules/moment/locale/en-in.js","./node_modules/moment/locale/en-nz.js","./node_modules/moment/locale/en-sg.js","./node_modules/moment/locale/eo.js","./node_modules/moment/locale/es-do.js","./node_modules/moment/locale/es-mx.js","./node_modules/moment/locale/es-us.js","./node_modules/moment/locale/es.js","./node_modules/moment/locale/et.js","./node_modules/moment/locale/eu.js","./node_modules/moment/locale/fa.js","./node_modules/moment/locale/fi.js","./node_modules/moment/locale/fil.js","./node_modules/moment/locale/fo.js","./node_modules/moment/locale/fr-ca.js","./node_modules/moment/locale/fr-ch.js","./node_modules/moment/locale/fr.js","./node_modules/moment/locale/fy.js","./node_modules/moment/locale/ga.js","./node_modules/moment/locale/gd.js","./node_modules/moment/locale/gl.js","./node_modules/moment/locale/gom-deva.js","./node_modules/moment/locale/gom-latn.js","./node_modules/moment/locale/gu.js","./node_modules/moment/locale/he.js","./node_modules/moment/locale/hi.js","./node_modules/moment/locale/hr.js","./node_modules/moment/locale/hu.js","./node_modules/moment/locale/hy-am.js","./node_modules/moment/locale/id.js","./node_modules/moment/locale/is.js","./node_modules/moment/locale/it-ch.js","./node_modules/moment/locale/it.js","./node_modules/moment/locale/ja.js","./node_modules/moment/locale/jv.js","./node_modules/moment/locale/ka.js","./node_modules/moment/locale/kk.js","./node_modules/moment/locale/km.js","./node_modules/moment/locale/kn.js","./node_modules/moment/locale/ko.js","./node_modules/moment/locale/ku-kmr.js","./node_modules/moment/locale/ku.js","./node_modules/moment/locale/ky.js","./node_modules/moment/locale/lb.js","./node_modules/moment/locale/lo.js","./node_modules/moment/locale/lt.js","./node_modules/moment/locale/lv.js","./node_modules/moment/locale/me.js","./node_modules/moment/locale/mi.js","./node_modules/moment/locale/mk.js","./node_modules/moment/locale/ml.js","./node_modules/moment/locale/mn.js","./node_modules/moment/locale/mr.js","./node_modules/moment/locale/ms-my.js","./node_modules/moment/locale/ms.js","./node_modules/moment/locale/mt.js","./node_modules/moment/locale/my.js","./node_modules/moment/locale/nb.js","./node_modules/moment/locale/ne.js","./node_modules/moment/locale/nl-be.js","./node_modules/moment/locale/nl.js","./node_modules/moment/locale/nn.js","./node_modules/moment/locale/oc-lnc.js","./node_modules/moment/locale/pa-in.js","./node_modules/moment/locale/pl.js","./node_modules/moment/locale/pt-br.js","./node_modules/moment/locale/pt.js","./node_modules/moment/locale/ro.js","./node_modules/moment/locale/ru.js","./node_modules/moment/locale/sd.js","./node_modules/moment/locale/se.js","./node_modules/moment/locale/si.js","./node_modules/moment/locale/sk.js","./node_modules/moment/locale/sl.js","./node_modules/moment/locale/sq.js","./node_modules/moment/locale/sr-cyrl.js","./node_modules/moment/locale/sr.js","./node_modules/moment/locale/ss.js","./node_modules/moment/locale/sv.js","./node_modules/moment/locale/sw.js","./node_modules/moment/locale/ta.js","./node_modules/moment/locale/te.js","./node_modules/moment/locale/tet.js","./node_modules/moment/locale/tg.js","./node_modules/moment/locale/th.js","./node_modules/moment/locale/tk.js","./node_modules/moment/locale/tl-ph.js","./node_modules/moment/locale/tlh.js","./node_modules/moment/locale/tr.js","./node_modules/moment/locale/tzl.js","./node_modules/moment/locale/tzm-latn.js","./node_modules/moment/locale/tzm.js","./node_modules/moment/locale/ug-cn.js","./node_modules/moment/locale/uk.js","./node_modules/moment/locale/ur.js","./node_modules/moment/locale/uz-latn.js","./node_modules/moment/locale/uz.js","./node_modules/moment/locale/vi.js","./node_modules/moment/locale/x-pseudo.js","./node_modules/moment/locale/yo.js","./node_modules/moment/locale/zh-cn.js","./node_modules/moment/locale/zh-hk.js","./node_modules/moment/locale/zh-mo.js","./node_modules/moment/locale/zh-tw.js","./node_modules/moment/moment.js","./node_modules/next-tick/index.js","./node_modules/objstorage/index.js","./node_modules/querystringify/index.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/firstValueFrom.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/observable/zip.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/exhaustMap.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/flatMap.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/retry.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throttleTime.js","./node_modules/rxjs/dist/esm/internal/operators/throttle.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/queue.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/sessionstorage/index.js","./node_modules/stackframe/stackframe.js","./node_modules/timers-ext/max-timeout.js","./node_modules/timers-ext/valid-timeout.js","./node_modules/type/function/is.js","./node_modules/type/object/is.js","./node_modules/type/plain-function/is.js","./node_modules/type/prototype/is.js","./node_modules/type/value/is.js","./node_modules/window.name/index.js","./node_modules/moment/locale/ sync ^\\.\\/.*$","./node_modules/@angular/animations/fesm2022/animations.mjs","./node_modules/@angular/cdk/fesm2022/layout.mjs","./node_modules/@angular/cdk/fesm2022/a11y.mjs","./node_modules/@angular/cdk/fesm2022/bidi.mjs","./node_modules/@angular/cdk/fesm2022/coercion.mjs","./node_modules/@angular/cdk/fesm2022/collections.mjs","./node_modules/@angular/cdk/fesm2022/keycodes.mjs","./node_modules/@angular/cdk/fesm2022/observers.mjs","./node_modules/@angular/cdk/fesm2022/overlay.mjs","./node_modules/@angular/cdk/fesm2022/platform.mjs","./node_modules/@angular/cdk/fesm2022/portal.mjs","./node_modules/@angular/cdk/fesm2022/scrolling.mjs","./node_modules/@angular/common/fesm2022/common.mjs","./node_modules/@angular/common/fesm2022/http.mjs","./node_modules/@angular/core/fesm2022/primitives/signals.mjs","./node_modules/@angular/core/fesm2022/core.mjs","./node_modules/@angular/core/fesm2022/rxjs-interop.mjs","./node_modules/@angular/forms/fesm2022/forms.mjs","./node_modules/@angular/material-moment-adapter/fesm2022/material-moment-adapter.mjs","./node_modules/@angular/material/fesm2022/button.mjs","./node_modules/@angular/material/fesm2022/core.mjs","./node_modules/@angular/material/fesm2022/datepicker.mjs","./node_modules/@angular/cdk/fesm2022/dialog.mjs","./node_modules/@angular/material/fesm2022/dialog.mjs","./node_modules/@angular/material/fesm2022/form-field.mjs","./node_modules/@angular/material/fesm2022/icon.mjs","./node_modules/@angular/cdk/fesm2022/text-field.mjs","./node_modules/@angular/material/fesm2022/input.mjs","./node_modules/@angular/material/fesm2022/progress-spinner.mjs","./node_modules/@angular/material/fesm2022/select.mjs","./node_modules/@angular/material/fesm2022/tooltip.mjs","./node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/@angular/router/fesm2022/router.mjs","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/observable/never.js","./node_modules/@ng-bootstrap/ng-bootstrap/fesm2020/ng-bootstrap.mjs","./node_modules/rxjs/dist/esm/internal/operators/endWith.js","./node_modules/rxjs/dist/esm/internal/observable/race.js","./node_modules/@ngneat/transloco/fesm2020/ngneat-transloco.mjs","./node_modules/rxjs/dist/esm/internal/Notification.js","./node_modules/rxjs/dist/esm/internal/operators/groupBy.js","./node_modules/@ngrx/effects/fesm2022/ngrx-effects.mjs","./node_modules/rxjs/dist/esm/internal/operators/materialize.js","./node_modules/rxjs/dist/esm/internal/operators/dematerialize.js","./node_modules/@ngrx/store/fesm2022/ngrx-store.mjs","./node_modules/rxjs/dist/esm/internal/operators/pluck.js","./node_modules/dompurify/dist/purify.es.mjs","./node_modules/libphonenumber-js/es6/ParseError.js","./node_modules/libphonenumber-js/es6/helpers/isObject.js","./node_modules/libphonenumber-js/es6/tools/semver-compare.js","./node_modules/libphonenumber-js/es6/metadata.js","./node_modules/libphonenumber-js/es6/normalizeArguments.js","./node_modules/libphonenumber-js/es6/constants.js","./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","./node_modules/libphonenumber-js/es6/isPossible.js","./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","./node_modules/libphonenumber-js/es6/format.js","./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","./node_modules/libphonenumber-js/es6/PhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","./node_modules/libphonenumber-js/es6/isValid.js","./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","./node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","./node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","./node_modules/libphonenumber-js/es6/parse.js","./node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","./node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","./node_modules/libphonenumber-js/es6/parsePhoneNumber.js","./node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","./node_modules/libphonenumber-js/metadata.min.json.js","./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","./node_modules/ngx-toastr/fesm2022/ngx-toastr.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["import { createAction, props } from \"@ngrx/store\";\n\nconst loadAppLanguage = createAction(\"[App] Load App Language\", props<{ language: string }>());\nconst loadAppLanguageSuccess = createAction(\"[App] Load App Language Success\", props<{ language: string }>());\nconst loadAppLanguageFailure = createAction(\n \"[App] Load App Language Failure\",\n props<{ language: string; error: string }>()\n);\nconst setActiveLanguage = createAction(\"[App] Set Active Language\", props<{ language: string }>());\nconst runCheckChangeEmailRequest = createAction(\"[App] run check change email request\");\n\nexport const AppActions = {\n loadAppLanguage,\n loadAppLanguageSuccess,\n loadAppLanguageFailure,\n setActiveLanguage,\n runCheckChangeEmailRequest,\n};\n","import { createAction, props } from \"@ngrx/store\";\n\nconst setVisibility = createAction(\"[Header] Set Visibility\", props<{ visible: boolean }>());\n\nexport const HeaderActions = {\n setVisibility,\n};\n","import { createAction, props } from \"@ngrx/store\";\nimport { Consents } from \"src/app/pages/index/pages/notification-settings/notification.model\";\n\nexport const loadProfiles = createAction(\"[Profile] Load Profiles\", props<{ data: any }>());\n\nexport const getAuthenticatorUri = createAction(\n \"[Profile] Fetched Authenticator Uri Success\",\n props<{ data: string }>()\n);\n\nexport const getRecoveryCodes = createAction(\"[Profile] Fetched Recovery Code Success\", props<{ data: string }>());\n\nexport const updatePhoneDetails = createAction(\n \"[Profile] Fetched Phone Detail Success\",\n props<{ number: string; country_phone: string }>()\n);\n\nexport const twoFaEnableSuccess = createAction(\"[Profile] Two FA Enable Success\", props<{ data: boolean }>());\n\nexport const updatePhoneTemp = createAction(\n \"[Profile] Mobile Number Temp Success\",\n props<{ number: string; country_phone: string }>()\n);\n\nexport const setResidence = createAction(\"[Profile] Set residence country code\", props<{ countryCode: string }>());\n\nexport const restoreResidence = createAction(\n \"[Profile] Restore residence country code\",\n props<{ countryCode: string }>()\n);\n\nexport const removeStoredResidence = createAction(\"[Profile] Remove residence country code from storage\");\n\nexport const getProfile = createAction(\"[Profile] Get Profile\");\n\nexport const getProfileSuccess = createAction(\"[Profile] Get Profile Success\", props<{ data: any }>());\n\nexport const getProfileFailed = createAction(\"[Profile] Get Profile Failed\", props<{ error: any }>());\n\nexport const getConsent = createAction(\"[Profile] Get Consent\", props<{ synlabId?: string; categoryName?: string }>());\n\nexport const getConsentSuccess = createAction(\"[Profile] Get Consent Success\", props<{ data: any }>());\nexport const getMarketingConsentsCheckedSuccess = createAction(\n \"[Profile] Get Consent Marketing Consent Checked Success\",\n props<{ value: boolean }>()\n);\n\nexport const getConsentFailed = createAction(\"[Profile] Get Consent Failed\", props<{ error: any }>());\n\nexport const consentOnchanges = createAction(\"[Profile] Consent Value Changes\", props<{ consents: Consents[] }>());\n\nexport const clearConsentPayload = createAction(\"[Profile] Consent Payload clear\");\n\n// for form validations of my profile\nexport const AddInvalidMyProfileFormFields = createAction(\n \"[Profile] Profile Form Add Invalid Fields\",\n props<{ name: string }>()\n);\nexport const RemoveInvalidMyProfileFormFields = createAction(\n \"[Profile] Profile Form Remove Invalid Fields\",\n props<{ name: string }>()\n);\nexport const ResetInvalidMyProfileFormFields = createAction(\"[Profile] Profile Form Reset Invalid Fields\");\n\nexport const ProfileActions = {\n RemoveInvalidMyProfileFormFields,\n AddInvalidMyProfileFormFields,\n ResetInvalidMyProfileFormFields,\n getMarketingConsentsCheckedSuccess,\n getProfile,\n getProfileSuccess,\n getProfileFailed,\n loadProfiles,\n getAuthenticatorUri,\n getRecoveryCodes,\n updatePhoneDetails,\n twoFaEnableSuccess,\n updatePhoneTemp,\n setResidence,\n restoreResidence,\n removeStoredResidence,\n getConsent,\n getConsentSuccess,\n getConsentFailed,\n consentOnchanges,\n clearConsentPayload,\n};\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { createAction, props } from \"@ngrx/store\";\nimport { Consents, ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\n\nexport const reset = createAction(\"[RegisterProfile] Reset\");\nexport const loadRegisterProfile = createAction(\n \"[RegisterProfile] Load register profile\",\n props<{ regId: string; seqId: string; bankId?: string }>()\n);\nexport const loadRegisterProfileSuccess = createAction(\n \"[RegisterProfile] Load register profile success\",\n props<{ data: Claim[] }>()\n);\nexport const loadRegisterProfileFailure = createAction(\n \"[RegisterProfile Load register profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const loadExistingPTProfile = createAction(\n \"[RegisterProfile] Load PT user profile\",\n props<{ userId: string }>()\n);\nexport const loadExistingPTProfileSuccess = createAction(\n \"[RegisterProfile] Load PT user profile success\",\n props<{ data: Claim[] }>()\n);\nexport const loadExistingPTProfileFailure = createAction(\n \"[RegisterProfile Load register profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const submitRegisterProfile = createAction(\n \"[RegisterProfile] Submit register profile\",\n props<{ regId: string; data: Claim[]; consents: ConsentsPayload[]; synlabId: string; seqId: string }>()\n);\nexport const submitRegisterProfileSuccess = createAction(\"[RegisterProfile] Submit register profile success\");\nexport const submitRegisterProfileFailure = createAction(\n \"[RegisterProfile Submit register profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const updatePtExistingProfile = createAction(\n \"[RegisterProfile] Update Existing PT profile\",\n props<{ userId: string; data: Claim[]; consents: ConsentsPayload[]; synlabId: string; seqId: string }>()\n);\nexport const updatePtExistingProfileSuccess = createAction(\"[RegisterProfile] Update Existing PT profile Success\");\nexport const updatePtExistingProfileFailure = createAction(\n \"[RegisterProfile Update Existing PT profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const signupToTaraClicked = createAction(\n \"[RegisterProfile Signup button to TARA clicked]\",\n props<{ userId: string }>()\n);\nexport const signupToTaraClickedSuccess = createAction(\"[RegisterProfile Signup button to TARA clicked success]\");\nexport const signupToTaraClickedFailure = createAction(\n \"[RegisterProfile Signup button to TARA clicked failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\n","import { createAction, props } from \"@ngrx/store\";\nimport { EAuthenticationType } from \"src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component\";\nimport {\n IAuthAppData,\n IExternalAuthProvider,\n IRegisterClaims,\n ISetMFA,\n ISetMFAVerify,\n ISetPassword,\n ISetPhoneNumber,\n IVerifyPhoneNumber,\n} from \"../reducers/registration.reducer\";\n\nconst loadRegistrationClaims = createAction(\n \"[Registration] Load Registration Claims\",\n props<{ id: string; seqId: string }>()\n);\nconst loadRegistrationClaimSuccess = createAction(\n \"[Registration] Load Registration Claims Success\",\n props<{ claims: IRegisterClaims }>()\n);\nconst loadRegistrationClaimFailed = createAction(\n \"[Registration] Load Registration Claims Failed\",\n props<{ error: any }>()\n);\n\nconst loadExternalAuthProviders = createAction(\"[Registration] Load External Auth Providers\");\nconst loadExternalAuthProviderSuccess = createAction(\n \"[Registration] Load External Auth Providers Success\",\n props<{ items: IExternalAuthProvider[] }>()\n);\nconst loadExternalAuthProviderFailed = createAction(\n \"[Registration] Load External Auth Providers Failed\",\n props<{ error: any }>()\n);\n\nconst setUserPassword = createAction(\n \"[Registration] Set User Password\",\n props<{ regId: string; payload: ISetPassword }>()\n);\nconst setUserPasswordSuccess = createAction(\"[Registration] Set User Password Success\");\nconst setUserPasswordFailed = createAction(\"[Registration] Set User Password Failed\", props<{ error: any }>());\n\nconst loadTaraUserInfo = createAction(\"[Registration] Load Tara User Info\", props<{ userId: string }>());\nconst loadTaraUserInfoSuccess = createAction(\"[Registration] Load Tara User Info Success\", props<{ email: string }>());\nconst loadTaraUserInfoFailed = createAction(\"[Registration] Load Tara User Info Failed\", props<{ error: any }>());\n\nconst taraResendEmailActivation = createAction(\n \"[Registration] Tara Resend Email Activation\",\n props<{ userId: string }>()\n);\nconst taraResendEmailActivationSuccess = createAction(\"[Registration] Tara Resend Email Activation Success\");\nconst taraResendEmailActivationFailed = createAction(\n \"[Registration] Tara Resend Email Activation Failed\",\n props<{ error: any }>()\n);\n\nconst activateUserAccount = createAction(\n \"[Registration] Activate Tara User\",\n props<{ userId: string; accountType?: string }>()\n);\nconst activateTaraUserSuccess = createAction(\n \"[Registration] Activate Tara User Success\",\n props<{ activated: boolean }>()\n);\nconst activateTaraUserFailed = createAction(\"[Registration] Activate Tara User Failed\", props<{ error: any }>());\n\nconst updatePhoneNumber = createAction(\"[Registration] Update Phone Number\", props<{ payload: ISetPhoneNumber }>());\nconst updatePhoneNumberSuccess = createAction(\"[Registration] Update Phone Number Success\", props<{ phone: string }>());\nconst updatePhoneNumberFailed = createAction(\"[Registration] Update Phone Number Failed\", props<{ error: any }>());\n\nconst verifyPhoneNumber = createAction(\"[Registration] Verify Phone Number\", props<{ payload: IVerifyPhoneNumber }>());\nconst verifyPhoneNumberSuccess = createAction(\n \"[Registration] Verify Phone Number Success\",\n props<{ success: boolean }>()\n);\nconst verifyPhoneNumberFailed = createAction(\"[Registration] Verify Phone Number Failed\", props<{ error: any }>());\n\nconst enableMFA = createAction(\"[Registration] Enable MFA\", props<{ payload: ISetMFA }>());\nconst enableMFASuccess = createAction(\n \"[Registration] Enable MFA Success\",\n props<{ data: any; authType: EAuthenticationType }>()\n);\nconst enableMFAFailed = createAction(\"[Registration] Enable MFA Failed\", props<{ error: any }>());\n\nconst enableMFAVerify = createAction(\"[Registration] Enable MFA Verify\", props<{ payload: ISetMFAVerify }>());\nconst enableMFAVerifySuccess = createAction(\n \"[Registration] Enable MFA Verify Success\",\n props<{\n data: { result: ConstrainBooleanParameters; type: EAuthenticationType };\n }>()\n);\nconst enableMFAVerifyFailed = createAction(\"[Registration] Enable MFA Verify Failed\", props<{ error: any }>());\n\nconst resetMFAInProgress = createAction(\n \"[Registration] Reset MFA In Progress\",\n props<{ authType: EAuthenticationType }>()\n);\n\nconst setAuthenticatorAppData = createAction(\n \"[Registration] Set Authenticator App Data\",\n props<{ data: IAuthAppData }>()\n);\n\nconst loadExistingUserClaims = createAction(\"[Registration Load Existing User Claims\", props<{ userid: string }>());\n\nconst acceptPrivacyPolicy = createAction(\"[Registration] Accept Privacy Policy\");\n\nexport const RegisterActions = {\n acceptPrivacyPolicy,\n setAuthenticatorAppData,\n enableMFAVerify,\n enableMFAVerifySuccess,\n enableMFAVerifyFailed,\n verifyPhoneNumber,\n verifyPhoneNumberSuccess,\n verifyPhoneNumberFailed,\n enableMFA,\n enableMFASuccess,\n enableMFAFailed,\n updatePhoneNumber,\n updatePhoneNumberSuccess,\n updatePhoneNumberFailed,\n loadRegistrationClaims,\n loadExistingUserClaims,\n loadRegistrationClaimSuccess,\n loadRegistrationClaimFailed,\n loadExternalAuthProviders,\n loadExternalAuthProviderSuccess,\n loadExternalAuthProviderFailed,\n setUserPassword,\n setUserPasswordSuccess,\n setUserPasswordFailed,\n loadTaraUserInfo,\n loadTaraUserInfoSuccess,\n loadTaraUserInfoFailed,\n taraResendEmailActivation,\n taraResendEmailActivationSuccess,\n taraResendEmailActivationFailed,\n activateUserAccount,\n activateTaraUserSuccess,\n activateTaraUserFailed,\n resetMFAInProgress,\n};\n","import { createAction, props } from \"@ngrx/store\";\nimport { ELoginMethod } from \"src/app/appsettings\";\nimport { CountryInfo } from \"src/app/services/country/country.service\";\nimport { UserInfo } from \"../reducers/sts.reducer\";\n\nconst loadStss = createAction(\"[Sts] Load Stss\");\n\nexport interface Claim {\n claimType: string;\n claimValue: string;\n}\n\nexport interface IDecodedToken {\n synlabId: string;\n role: string[];\n name: string;\n country: string;\n email: string;\n token: string;\n idp: ELoginMethod;\n}\n\nconst loadStssSuccess = createAction(\"[Sts] Load Stss Success\", props<{ data: IDecodedToken }>());\nconst loadStssFailure = createAction(\"[Sts] Load Stss Failure\", props<{ error: any }>());\nconst loadConfigSuccess = createAction(\"[Sts] Load Config Success\", props<{ data: any }>());\n\nconst addUserInfo = createAction(\"[Sts] Add User Info\", props<{ data: UserInfo }>());\n\nconst checkLoginStatus = createAction(\"[Sts] Check Login Status\", props<{ value: boolean }>());\n\nconst loadProfileSuccess = createAction(\"[STS] Load Profile Success\", props<{ claims: Claim[] }>());\n\nconst loadProfileFailed = createAction(\"[STS] Load Profile Failed\", props<{ error: string | any }>());\n\n/**\n * STS Country actions\n */\nconst loadCountry = createAction(\"[STS] Load country\", props<{ code: string }>());\nconst loadCountryFailed = createAction(\"[STS] Load country failed\");\nconst loadCountrySuccess = createAction(\"[STS] Load country success\", props<{ payload: CountryInfo }>());\n\n/**\n * STS claim actions\n */\nconst setClaims = createAction(\"[STS] Set claims\", props<{ claims: Claim[] }>());\nconst setProfileEmail = createAction(\"[STS] Set profile email address\", props<{ email: string }>());\n\nconst setHasGeneplanetOrders = createAction(\"[STS] Set Has Geneplanet Orders\", props<{ hasOrders: boolean | null }>());\nconst fetchHasGeneplanetOrders = createAction(\"[STS] Fetch Has Geneplanet Orders \");\nconst setGeneplanetEnrolled = createAction(\"[STS] Set Geneplanet Enrolled\", props<{ isEnrolled: boolean | null }>());\n\nexport const STSActions = {\n setProfileEmail,\n loadProfileSuccess,\n loadProfileFailed,\n checkLoginStatus,\n addUserInfo,\n loadConfigSuccess,\n loadStss,\n loadStssSuccess,\n loadStssFailure,\n loadCountry,\n loadCountrySuccess,\n loadCountryFailed,\n setClaims,\n setHasGeneplanetOrders,\n fetchHasGeneplanetOrders,\n setGeneplanetEnrolled,\n};\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { createAction, props } from \"@ngrx/store\";\nimport { TaraUser, TaraUserRegisterUpdateResponse } from \"src/app/models/tara-user.model\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\n\nexport const reset = createAction(\"[TaraRegisterProfile] Reset\");\nexport const loadRegisterProfile = createAction(\n \"[TaraRegisterProfile] Load register profile\",\n props<{ regId: string }>()\n);\nexport const loadRegisterProfileSuccess = createAction(\n \"[TaraRegisterProfile] Load register profile success\",\n props<{ data: TaraUser }>()\n);\nexport const loadRegisterProfileFailure = createAction(\n \"[TaraRegisterProfile] Load register profile failure\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const submitRegisterProfile = createAction(\n \"[TaraRegisterProfile] Submit register profile\",\n props<{ regId: string; data: Claim[]; hasEmail?: boolean; userId?: string; consents?: ConsentsPayload[] }>()\n);\nexport const submitRegisterProfileSuccess = createAction(\n \"[TaraRegisterProfile] Submit register profile success\",\n props<{ response: TaraUserRegisterUpdateResponse; claims: Claim[] }>()\n);\nexport const submitRegisterProfileFailure = createAction(\n \"[TaraRegisterProfile] Submit register profile failure\",\n props<{ error: string; errorObject?: HttpErrorResponse }>()\n);\n","import { createAction, props } from \"@ngrx/store\";\nimport {\n IChangePhonePayload,\n IClaim,\n IClaimObject,\n IRequestQueryParams,\n ISet2FAPayload,\n IValidateDKMFAReset,\n IVerifyChangePhonePayload,\n IVerifySet2FAPayload,\n} from \"src/app/view/dk-mfa-reset/enum-dk-mfa\";\n\nconst validateMFAResetLink = createAction(\n \"[DkMfaReset] Validate MFA Reset Link\",\n props<{ payload: IValidateDKMFAReset }>()\n);\n\nconst validateMFAResetLinkSuccess = createAction(\n \"[DkMfaReset] Validate MFA Reset Link Success\",\n props<{ value: boolean }>()\n);\n\nconst validateMFAResetLinkFailed = createAction(\"[DkMfaReset] Validate MFA Reset Link Failed\", props<{ error: any }>());\n\nconst changePhone = createAction(\n \"[DkMfaReset] Change Phone\",\n props<{ params: IRequestQueryParams; body: IChangePhonePayload }>()\n);\nconst changePhoneSuccess = createAction(\"[DkMfaReset] Change Phone Success\", props<{ data: any }>());\nconst changePhoneFailed = createAction(\"[DkMfaReset] Change Phone Failed\", props<{ error: any }>());\n\nconst verifyChangePhone = createAction(\n \"[DkMfaReset] Verify Change Phone\",\n props<{ params: IRequestQueryParams; body: IVerifyChangePhonePayload }>()\n);\nconst verifyChangePhoneSuccess = createAction(\"[DkMfaReset] Verify Change Phone Success\", props<{ data: any }>());\nconst verifyChangePhoneFailed = createAction(\"[DkMfaReset] Verify Change Phone Failed\", props<{ error: any }>());\n\nconst set2FA = createAction(\"[DkMfaReset] Set 2FA\", props<{ params: IRequestQueryParams; body: ISet2FAPayload }>());\nconst set2FASuccess = createAction(\n \"[DkMfaReset] Set 2FA Success\",\n props<{ data: any; mfaType?: string; phone?: string }>()\n);\nconst set2FAFailed = createAction(\"[DkMfaReset] Set 2FA Failed\", props<{ error: any }>());\n\nconst verifySet2FA = createAction(\n \"[DkMfaReset] Verify Set 2FA\",\n props<{ params: IRequestQueryParams; body: IVerifySet2FAPayload }>()\n);\nconst verifySet2FASuccess = createAction(\"[DkMfaReset] Verify Set 2FA Success\", props<{ data: any }>());\nconst verifySet2FAFailed = createAction(\"[DkMfaReset] Verify Set 2FA Failed\", props<{ error: any }>());\n\nconst getMFAResetClaims = createAction(\"[DkMfaReset] Get MFA Reset Claims\", props<{ params: IRequestQueryParams }>());\nconst getMFAResetClaimsSuccess = createAction(\n \"[DkMfaReset] Get MFA Reset Claims Success\",\n props<{ claims: IClaimObject }>()\n);\nconst getMFAResetClaimsFailed = createAction(\"[DkMfaReset] Get MFA Reset Claims Failed\", props<{ error: any }>());\n\nexport const DkMfaResetAction = {\n getMFAResetClaims,\n getMFAResetClaimsSuccess,\n getMFAResetClaimsFailed,\n verifySet2FA,\n verifySet2FASuccess,\n verifySet2FAFailed,\n set2FA,\n set2FASuccess,\n set2FAFailed,\n validateMFAResetLink,\n validateMFAResetLinkSuccess,\n validateMFAResetLinkFailed,\n changePhone,\n changePhoneSuccess,\n changePhoneFailed,\n verifyChangePhone,\n verifyChangePhoneSuccess,\n verifyChangePhoneFailed,\n};\n","import { Action, createReducer, on } from \"@ngrx/store\";\nimport { E2FAProvider, EResetMFAActivity, IClaimObject } from \"src/app/view/dk-mfa-reset/enum-dk-mfa\";\nimport { DkMfaResetAction } from \"./dk-mfa-reset.actions\";\n\nexport const dkMfaResetFeatureKey = \"dkMfaReset\";\n\nexport interface State {\n id: string;\n seqId: string;\n isMFAResetLinkValid: boolean;\n mfaResetClaims: IClaimObject;\n activityInProgress: boolean;\n activityName: EResetMFAActivity;\n}\n\nexport const initialState: State = {\n id: null,\n seqId: null,\n isMFAResetLinkValid: null,\n mfaResetClaims: null,\n activityInProgress: false,\n activityName: null,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(DkMfaResetAction.validateMFAResetLink, (state, { payload }) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.RESET_ISVALID,\n id: payload.id,\n seqId: payload.seqId,\n })),\n on(\n DkMfaResetAction.validateMFAResetLinkSuccess,\n DkMfaResetAction.validateMFAResetLinkFailed,\n DkMfaResetAction.changePhoneFailed,\n DkMfaResetAction.changePhoneSuccess,\n DkMfaResetAction.verifyChangePhoneSuccess,\n DkMfaResetAction.verifyChangePhoneFailed,\n DkMfaResetAction.set2FAFailed,\n DkMfaResetAction.set2FASuccess,\n DkMfaResetAction.verifySet2FAFailed,\n DkMfaResetAction.verifySet2FASuccess,\n (state) => ({\n ...state,\n activityInProgress: false,\n activityName: null,\n })\n ),\n on(DkMfaResetAction.getMFAResetClaims, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.RESET_CLAIMS,\n })),\n on(DkMfaResetAction.getMFAResetClaimsSuccess, (state, { claims }) => ({\n ...state,\n activityInProgress: false,\n activityName: null,\n mfaResetClaims: claims,\n })),\n on(DkMfaResetAction.changePhone, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.CHANGE_PHONE,\n })),\n on(DkMfaResetAction.verifyChangePhone, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.VERIFY_PHONE,\n })),\n on(DkMfaResetAction.set2FA, (state, { body }) => ({\n ...state,\n activityInProgress: true,\n activityName:\n body.twoFactorProvider == E2FAProvider.SMS ? EResetMFAActivity.SET_2FA_SMS : EResetMFAActivity.SET_2FA_AUTH_APP,\n })),\n on(DkMfaResetAction.verifySet2FA, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.VERIFY_2FA,\n }))\n);\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { claimValues } from \"src/app/appsettings\";\nimport { AppState } from \"../reducers\";\nimport { dkMfaResetFeatureKey } from \"./dk-mfa-reset.reducer\";\n\nconst State = (state: AppState) => state[dkMfaResetFeatureKey];\n\nconst getLoadingComponent = createSelector(State, (state) => {\n if (state.activityInProgress) {\n return state.activityName;\n }\n return \"\";\n});\nconst getPhone = createSelector(State, ({ mfaResetClaims }) => {\n if (mfaResetClaims) {\n return mfaResetClaims.phone;\n }\n return null;\n});\nconst getPhoneVerified = createSelector(State, ({ mfaResetClaims }) => {\n if (mfaResetClaims) {\n return mfaResetClaims.phone_verified.toLowerCase() == claimValues.TRUE;\n }\n return false;\n});\nconst getCountry = createSelector(State, ({ mfaResetClaims }) => {\n if (mfaResetClaims) {\n return mfaResetClaims.country;\n }\n return false;\n});\nconst getQueryParams = createSelector(State, ({ id, seqId }) => {\n return {\n id,\n seqId,\n };\n});\n\nexport const DKMFAResetSelector = {\n getCountry,\n getPhone,\n getPhoneVerified,\n getLoadingComponent,\n getQueryParams,\n};\n","import { createAction, props } from \"@ngrx/store\";\nimport { LegalDocumentVersionInterface } from \"src/app/interfaces/legal-document-version.interface\";\nimport { LegalDocumentInterface } from \"src/app/interfaces/legal-document.interface\";\n\nexport const searchLegalDocumentsAction = createAction(\n \"[Legal Documents] search legal documents\",\n props<{ userId: string }>()\n);\nexport const searchLegalDocumentsSuccessAction = createAction(\n \"[Legal Documents] search legal documents success\",\n props<{ legalDocuments: LegalDocumentInterface[] }>()\n);\nexport const searchLegalDocumentsVersionsAction = createAction(\n \"[Legal Documents] search legal documents version\",\n props<{ userId: string; docType: string }>()\n);\nexport const searchLegalDocumentsVersionsSuccessAction = createAction(\n \"[Legal Documents] search legal documents version success\",\n props<{ versions: LegalDocumentVersionInterface[] }>()\n);\n","import { Action, createReducer, on } from \"@ngrx/store\";\nimport { LegalDocumentStateInterface } from \"src/app/interfaces/legal-document-state.interface\";\nimport {\n searchLegalDocumentsAction,\n searchLegalDocumentsSuccessAction,\n searchLegalDocumentsVersionsAction,\n searchLegalDocumentsVersionsSuccessAction,\n} from \"./legal-documents.actions\";\nimport {\n searchLegalDocumentsReducer,\n searchLegalDocumentsSuccessReducer,\n searchLegalDocumentsVersionsReducer,\n searchLegalDocumentsVersionsSuccessReducer,\n} from \"./legal-documents.reducers\";\n\nexport const legalDocumentFeatureKey = \"legalDocument\";\n\nexport const initialState: LegalDocumentStateInterface = {\n documents: {\n isLoading: false,\n list: [],\n },\n versions: {\n isLoading: false,\n list: [],\n },\n};\n\nconst reducer = createReducer(\n initialState,\n on(searchLegalDocumentsAction, searchLegalDocumentsReducer),\n on(searchLegalDocumentsSuccessAction, searchLegalDocumentsSuccessReducer),\n on(searchLegalDocumentsVersionsAction, searchLegalDocumentsVersionsReducer),\n on(searchLegalDocumentsVersionsSuccessAction, searchLegalDocumentsVersionsSuccessReducer)\n);\n\nexport function legalDocumentsReducer(state: LegalDocumentStateInterface, action: Action) {\n return reducer(state, action);\n}\n","import { Action } from \"@ngrx/store\";\nimport { LegalDocumentStateInterface } from \"src/app/interfaces/legal-document-state.interface\";\nimport { LegalDocumentVersionInterface } from \"src/app/interfaces/legal-document-version.interface\";\nimport { LegalDocumentInterface } from \"src/app/interfaces/legal-document.interface\";\n\nexport function searchLegalDocumentsReducer(state: LegalDocumentStateInterface): LegalDocumentStateInterface {\n return {\n ...state,\n documents: {\n ...state.documents,\n isLoading: true,\n },\n };\n}\nexport function searchLegalDocumentsSuccessReducer(\n state: LegalDocumentStateInterface,\n action: Action & { legalDocuments: LegalDocumentInterface[] }\n): LegalDocumentStateInterface {\n return {\n ...state,\n documents: {\n ...state.documents,\n isLoading: false,\n list: action.legalDocuments,\n },\n };\n}\n\nexport function searchLegalDocumentsVersionsReducer(state: LegalDocumentStateInterface): LegalDocumentStateInterface {\n return {\n ...state,\n versions: {\n ...state.versions,\n isLoading: true,\n },\n };\n}\nexport function searchLegalDocumentsVersionsSuccessReducer(\n state: LegalDocumentStateInterface,\n action: Action & { versions: LegalDocumentVersionInterface[] }\n): LegalDocumentStateInterface {\n return {\n ...state,\n versions: {\n ...state.versions,\n isLoading: false,\n list: action.versions,\n },\n };\n}\n","import { Action, createReducer, on } from \"@ngrx/store\";\nimport { AppActions } from \"../actions/app.actions\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\n\nexport const appFeatureKey = \"app\";\n\nexport interface State {\n activeLanguage: string;\n loadingJSON: boolean;\n}\n\nexport const initialState: State = {\n activeLanguage: \"\",\n loadingJSON: false,\n};\n\nconst appReducer = createReducer(\n initialState,\n on(AppActions.setActiveLanguage, (state, { language }) => ({\n ...state,\n activeLanguage: formatLocale(language),\n })),\n on(AppActions.loadAppLanguage, (state) => ({\n ...state,\n loadingJSON: true,\n })),\n on(AppActions.loadAppLanguageSuccess, AppActions.loadAppLanguageFailure, (state, { language }) => ({\n ...state,\n loadingJSON: formatLocale(language) === state.activeLanguage ? false : state.loadingJSON,\n }))\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return appReducer(state, action);\n}\n","import { createReducer, on } from \"@ngrx/store\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { ProfileActions } from \"../actions/profile.actions\";\n\nexport const profileFeatureKey = \"profile\";\n\nexport interface ProfileInfo {\n phone: string;\n userId: string;\n ssn: string;\n locale: string;\n country: string;\n user_type: string[];\n given_name: string;\n family_name: string;\n date_of_birth: string;\n email: string;\n synlab_id: string;\n userid: string;\n}\n\nexport interface Consents {\n consentId: any;\n name: string;\n description: string;\n tooltipDescription: string;\n allowed?: boolean;\n dateUpdated?: string;\n}\n\nexport interface State {\n profile_data: any;\n authenticator_uri: any;\n code: string;\n phone: any;\n phone_temp: any;\n two_factor_enabled: boolean;\n residenceCountryCode: string;\n profile: ProfileInfo;\n consents: Consents[];\n consents_payload: ConsentsPayload[];\n consentLoading: boolean;\n isMarketingConsentChecked?: boolean;\n invalidProfileFormFields: string[];\n}\n\nexport const initialState: State = {\n profile_data: {\n user_type: null,\n },\n authenticator_uri: null,\n code: null,\n phone: {\n number: null,\n country_phone: null,\n country_residence: null,\n country: null,\n },\n phone_temp: {\n number: null,\n country_phone: null,\n },\n two_factor_enabled: null,\n residenceCountryCode: null,\n profile: null,\n consents: null,\n consents_payload: null,\n consentLoading: false,\n isMarketingConsentChecked: false,\n invalidProfileFormFields: [],\n};\n\nexport const reducer = createReducer(\n initialState,\n on(ProfileActions.loadProfiles, (state, { data }) => ({\n ...state,\n profile_data: data,\n phone: {\n number: data.phone,\n country_phone: data.country_phone,\n country_residence: data.country_residence,\n country: data.country,\n },\n })),\n on(ProfileActions.getAuthenticatorUri, (state, { data }) => ({\n ...state,\n authenticator_uri: data,\n })),\n on(ProfileActions.getRecoveryCodes, (state, { data }) => ({\n ...state,\n code: data,\n })),\n on(ProfileActions.updatePhoneDetails, (state, { number, country_phone }) => ({\n ...state,\n phone: {\n number: number,\n country_phone: country_phone,\n country_residence: state.phone.country_residence,\n country: state.phone.country,\n },\n })),\n on(ProfileActions.twoFaEnableSuccess, (state, { data }) => ({\n ...state,\n two_factor_enabled: data,\n })),\n on(ProfileActions.updatePhoneTemp, (state, { number, country_phone }) => ({\n ...state,\n phone_temp: {\n number: number,\n country_phone: country_phone,\n },\n })),\n on(ProfileActions.setResidence, ProfileActions.restoreResidence, (state, { countryCode }) => ({\n ...state,\n residenceCountryCode: countryCode,\n })),\n on(ProfileActions.getProfileSuccess, (state, { data }) => ({\n ...state,\n profile: data,\n })),\n on(ProfileActions.getConsent, (state) => ({\n ...state,\n consentLoading: true,\n })),\n on(ProfileActions.getConsentSuccess, (state, { data }) => ({\n ...state,\n consents: data,\n consentLoading: false,\n })),\n on(ProfileActions.getMarketingConsentsCheckedSuccess, (state, { value }) => ({\n ...state,\n isMarketingConsentChecked: value,\n })),\n on(ProfileActions.getConsentFailed, (state) => ({\n ...state,\n consentLoading: false,\n })),\n on(ProfileActions.consentOnchanges, (state, { consents }) => ({\n ...state,\n consents_payload: getConsentPayload(consents),\n })),\n on(ProfileActions.clearConsentPayload, (state) => ({\n ...state,\n consents: null,\n consents_payload: null,\n })),\n on(ProfileActions.AddInvalidMyProfileFormFields, (state, { name }) => ({\n ...state,\n invalidProfileFormFields: state.invalidProfileFormFields.concat(name),\n })),\n on(ProfileActions.RemoveInvalidMyProfileFormFields, (state, { name }) => ({\n ...state,\n invalidProfileFormFields: state.invalidProfileFormFields.filter((invalidField) => invalidField != name),\n })),\n on(ProfileActions.ResetInvalidMyProfileFormFields, (state) => ({\n ...state,\n invalidProfileFormFields: [],\n }))\n);\n\nfunction getConsentPayload(consent: Consents[]): ConsentsPayload[] {\n return consent.map((d) => ({ ConsentId: d.consentId, Allowed: d.allowed }));\n}\n","import { createReducer, on } from \"@ngrx/store\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\nimport * as RegisterProfileActions from \"src/app/@store/actions/register-profile.actions\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nexport const featureKey = \"registerProfile\";\n\nexport interface State {\n registerProfile: Claim[] | undefined;\n registerProfileLoadError: string | undefined;\n registerProfileLoadErrorObject: HttpErrorResponse;\n registerProfileSubmitted: boolean;\n registerProfileLoading: boolean;\n submitRegisterProfileLoading: boolean;\n submitRegisterProfileError: string | undefined;\n submitConsentLoading: boolean;\n}\nexport const initialState: State = {\n registerProfile: undefined,\n registerProfileLoadError: undefined,\n registerProfileLoadErrorObject: undefined,\n registerProfileSubmitted: false,\n registerProfileLoading: false,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: undefined,\n submitConsentLoading: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(RegisterProfileActions.reset, () => ({\n ...initialState,\n })),\n on(RegisterProfileActions.loadRegisterProfile, (state) => ({\n ...state,\n registerProfileLoading: true,\n })),\n on(RegisterProfileActions.loadRegisterProfileSuccess, (state, { data }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfile: data,\n })),\n on(RegisterProfileActions.loadRegisterProfileFailure, (state, { error, errorObject }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfileLoadError: error,\n registerProfileLoadErrorObject: errorObject,\n })),\n on(RegisterProfileActions.loadExistingPTProfile, (state) => ({\n ...state,\n registerProfileLoading: true,\n })),\n on(RegisterProfileActions.loadExistingPTProfileSuccess, (state, { data }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfile: data,\n })),\n on(RegisterProfileActions.loadExistingPTProfileFailure, (state, { error, errorObject }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfileLoadError: error,\n registerProfileLoadErrorObject: errorObject,\n })),\n on(RegisterProfileActions.submitRegisterProfile, (state) => ({\n ...state,\n registerProfileSubmitted: true,\n submitRegisterProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(RegisterProfileActions.submitRegisterProfileSuccess, (state) => ({\n ...state,\n submitRegisterProfileLoading: false,\n })),\n on(RegisterProfileActions.submitRegisterProfileFailure, (state, { error }) => ({\n ...state,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: error,\n })),\n on(RegisterProfileActions.updatePtExistingProfile, (state) => ({\n ...state,\n registerProfileSubmitted: true,\n submitRegisterProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(RegisterProfileActions.updatePtExistingProfileSuccess, (state) => ({\n ...state,\n submitRegisterProfileLoading: false,\n })),\n on(RegisterProfileActions.updatePtExistingProfileFailure, (state, { error }) => ({\n ...state,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: error,\n })),\n on(RegisterProfileActions.signupToTaraClicked, (state) => ({\n ...state,\n registerProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(RegisterProfileActions.signupToTaraClickedFailure, (state, { error }) => ({\n ...state,\n registerProfileLoading: false,\n submitRegisterProfileError: error,\n }))\n);\n","import { createReducer, on } from \"@ngrx/store\";\nimport { RegisterActions } from \"../actions/registration.actions\";\n\nexport const registrationFeatureKey = \"registration\";\n\nexport interface IClaim {\n claimType: string;\n claimValue: string;\n}\n\nexport interface IRegisterClaims {\n user_type: string;\n username: string;\n fromCreatePage: string;\n hasEmailNotificationFlag: string;\n country: string;\n country_residence: string;\n allow_delete_user: string;\n view_individual_results: string;\n locale: string;\n created_by: string;\n name: string;\n email_verified: string;\n active: string;\n two_factor_enabled: string;\n two_factor_provider?: any;\n phone?: any;\n phone_verified: string;\n authentication_provider: string;\n created_by_name: string;\n created_date: string;\n modified_by_name?: any;\n modified_date?: any;\n userId: string;\n email: string;\n synlab_id: string;\n IsMigratedToProfile: string;\n given_name: string;\n family_name: string;\n ssn?: any;\n date_of_birth?: any;\n email_turned_off: string;\n}\n\nexport interface IExternalAuthProvider {\n authenticationScheme: string;\n displayName: string;\n}\n\nexport interface ISetPassword {\n authenticationProvider: \"local\" | \"external\";\n schemeProvider: string;\n currentPassword: string;\n newPassword: string;\n}\n\nexport interface ISetPhoneNumber {\n /** phone number */\n phone: string;\n /** country ISO code */\n countryPhone: string;\n /** registration ID from query parameter */\n code: string;\n}\n\nexport interface IVerifyPhoneNumber {\n /** phone number */\n phone: string;\n /** sms code */\n token: string;\n /** registration ID from query parameter */\n code: string;\n}\n\nexport interface ISetMFA {\n code: string;\n twoFactorEnabled: boolean;\n twoFactorProvider: \"Authenticator\" | \"phone\";\n}\n\nexport interface IAuthAppData {\n authenticatorUri: string;\n code: string;\n recoveryCodes: string[];\n}\n\nexport interface ISetMFAVerify {\n code: string;\n twoFactorEnabled: boolean;\n token: string;\n tokenProvider: \"Authenticator\" | \"phone\";\n}\n\nexport interface State {\n getClaimsLoading: boolean;\n claims: IRegisterClaims;\n externalAuthProviders: IExternalAuthProvider[];\n setPasswordInProgress: boolean;\n activationEmail: string;\n resendActivationLoading: boolean;\n activated: boolean;\n editPhoneLoading: boolean;\n smsCodeMFALoading: boolean;\n authAppData: IAuthAppData;\n privacyPolicyAccepted: boolean;\n}\n\nexport const initialState: State = {\n getClaimsLoading: true,\n claims: null,\n externalAuthProviders: [],\n setPasswordInProgress: false,\n activationEmail: \"\",\n resendActivationLoading: false,\n activated: null,\n editPhoneLoading: false,\n smsCodeMFALoading: false,\n authAppData: null,\n privacyPolicyAccepted: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(RegisterActions.loadRegistrationClaims, (state) => ({\n ...state,\n getClaimsLoading: true,\n })),\n on(RegisterActions.loadRegistrationClaimFailed, (state) => ({\n ...state,\n getClaimsLoading: false,\n })),\n on(RegisterActions.loadRegistrationClaimSuccess, (state, { claims }) => ({\n ...state,\n getClaimsLoading: false,\n claims: claims,\n })),\n on(RegisterActions.loadExternalAuthProviderSuccess, (state, { items }) => ({\n ...state,\n externalAuthProviders: items,\n })),\n on(RegisterActions.setUserPassword, (state) => ({\n ...state,\n setPasswordInProgress: true,\n })),\n on(RegisterActions.setUserPasswordFailed, (state) => ({\n ...state,\n setPasswordInProgress: false,\n })),\n on(RegisterActions.loadTaraUserInfo, (state) => ({\n ...state,\n activationEmail: \"\",\n })),\n on(RegisterActions.loadTaraUserInfoSuccess, (state, { email }) => ({\n ...state,\n activationEmail: email,\n })),\n on(RegisterActions.loadTaraUserInfoFailed, (state) => ({\n ...state,\n activationEmail: \"\",\n })),\n on(RegisterActions.taraResendEmailActivation, (state) => ({\n ...state,\n resendActivationLoading: true,\n })),\n on(RegisterActions.taraResendEmailActivationFailed, RegisterActions.taraResendEmailActivationSuccess, (state) => ({\n ...state,\n resendActivationLoading: false,\n })),\n on(RegisterActions.activateUserAccount, (state) => ({\n ...state,\n activated: null,\n })),\n on(RegisterActions.activateTaraUserSuccess, (state, { activated }) => ({\n ...state,\n activated: activated,\n })),\n on(RegisterActions.activateTaraUserFailed, (state) => ({\n ...state,\n activated: false,\n })),\n on(RegisterActions.updatePhoneNumber, RegisterActions.verifyPhoneNumber, (state) => ({\n ...state,\n editPhoneLoading: true,\n })),\n on(\n RegisterActions.updatePhoneNumberSuccess,\n RegisterActions.updatePhoneNumberFailed,\n RegisterActions.verifyPhoneNumberFailed,\n RegisterActions.verifyPhoneNumberSuccess,\n (state) => ({\n ...state,\n editPhoneLoading: false,\n })\n ),\n on(RegisterActions.enableMFAVerify, (state) => ({\n ...state,\n smsCodeMFALoading: true,\n })),\n on(RegisterActions.enableMFAVerifyFailed, RegisterActions.enableMFAVerifySuccess, (state) => ({\n ...state,\n smsCodeMFALoading: false,\n })),\n on(RegisterActions.setAuthenticatorAppData, (state, { data }) => ({\n ...state,\n authAppData: data,\n })),\n on(RegisterActions.acceptPrivacyPolicy, (state) => ({\n ...state,\n privacyPolicyAccepted: true,\n }))\n);\n","import { createReducer, on } from \"@ngrx/store\";\nimport { ELoginMethod } from \"src/app/appsettings\";\nimport { alphanumeric } from \"src/app/modules/shared/regex-pattern\";\nimport { Config } from \"src/app/services/config/config.service\";\nimport { CountryInfo } from \"src/app/services/country/country.service\";\nimport { isGeneplanetEnrolled } from \"src/app/utils/geneplanet.util\";\nimport { Claim, STSActions } from \"../actions/sts.actions\";\n\nexport const stsFeatureKey = \"sts\";\n\nexport interface UserInfo {\n sub: string;\n synlab_id: string;\n family_name?: string;\n given_name?: string;\n email?: string;\n ssn?: string;\n userId?: string;\n}\n\nexport interface State {\n synlabId: string;\n role: string[];\n name: string;\n country: string;\n email: string;\n config: Config;\n token: string;\n userInfo: UserInfo;\n loginStatus: boolean;\n claims: Claim[];\n idp: ELoginMethod;\n countryInfo: {\n status: \"loading\" | \"ok\";\n data: CountryInfo;\n };\n hasGeneplanetOrders: boolean | null;\n isGenePlanetEnrolled: boolean | null;\n}\n\nexport const initialState: State = {\n synlabId: \"\",\n role: [],\n name: null,\n country: null,\n email: \"\",\n config: null,\n token: null,\n userInfo: null,\n loginStatus: false,\n claims: [],\n idp: null,\n countryInfo: {\n status: \"ok\",\n data: null,\n },\n hasGeneplanetOrders: null,\n isGenePlanetEnrolled: null,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(STSActions.loadStssSuccess, (state, { data }) => ({\n ...state,\n ...data,\n })),\n on(STSActions.loadConfigSuccess, (state, { data }) => ({\n ...state,\n config: data,\n })),\n on(STSActions.addUserInfo, (state, { data }) => ({\n ...state,\n userInfo: data,\n })),\n on(STSActions.checkLoginStatus, (state, { value }) => ({\n ...state,\n loginStatus: value,\n })),\n on(STSActions.loadProfileSuccess, (state, { claims }) => ({\n ...state,\n claims: claims,\n isGenePlanetEnrolled: isGeneplanetEnrolled(claims),\n })),\n on(STSActions.loadProfileFailed, (state, { error }) => ({\n ...state,\n claims: null,\n })),\n on(STSActions.loadCountrySuccess, (state, { payload }) => ({\n ...state,\n countryInfo: {\n status: \"ok\",\n data: payload,\n },\n })),\n on(STSActions.loadCountry, (state) => ({\n ...state,\n countryInfo: {\n ...state.countryInfo,\n status: \"loading\",\n },\n })),\n on(STSActions.loadCountryFailed, (state) => ({\n ...state,\n countryInfo: {\n status: \"ok\",\n data: {\n ...(state.countryInfo.data || ({} as any)),\n ssnRegex: alphanumeric as any,\n },\n },\n })),\n on(STSActions.setClaims, (state, { claims }) => ({\n ...state,\n claims,\n isGenePlanetEnrolled: isGeneplanetEnrolled(claims),\n })),\n on(STSActions.setProfileEmail, (state, { email }) => ({\n ...state,\n email: email,\n })),\n on(STSActions.setHasGeneplanetOrders, (state, { hasOrders }) => ({\n ...state,\n hasGeneplanetOrders: hasOrders,\n })),\n on(STSActions.setGeneplanetEnrolled, (state, { isEnrolled }) => ({\n ...state,\n isGenePlanetEnrolled: isEnrolled,\n }))\n);\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { createReducer, on } from \"@ngrx/store\";\nimport { TaraUser } from \"src/app/models/tara-user.model\";\nimport * as TaraRegisterProfileActions from \"src/app/@store/actions/tara-register-profile.actions\";\nexport const featureKey = \"taraRegisterProfile\";\nexport interface State {\n registerProfile: TaraUser | undefined;\n registerProfileLoadError: string | undefined;\n registerProfileLoadErrorObject: HttpErrorResponse;\n registerProfileSubmitted: boolean;\n registerProfileLoading: boolean;\n submitRegisterProfileLoading: boolean;\n submitRegisterProfileError: string | undefined;\n submitConsentLoading: boolean;\n}\nexport const initialState: State = {\n registerProfile: undefined,\n registerProfileLoadError: undefined,\n registerProfileLoadErrorObject: undefined,\n registerProfileSubmitted: false,\n registerProfileLoading: false,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: undefined,\n submitConsentLoading: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(TaraRegisterProfileActions.reset, () => ({\n ...initialState,\n })),\n on(TaraRegisterProfileActions.loadRegisterProfile, (state) => ({\n ...state,\n registerProfileLoading: true,\n })),\n on(TaraRegisterProfileActions.loadRegisterProfileSuccess, (state, { data }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfile: data,\n })),\n on(TaraRegisterProfileActions.loadRegisterProfileFailure, (state, { error, errorObject }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfileLoadError: error,\n registerProfileLoadErrorObject: errorObject,\n })),\n on(TaraRegisterProfileActions.submitRegisterProfile, (state) => ({\n ...state,\n registerProfileSubmitted: true,\n submitRegisterProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(TaraRegisterProfileActions.submitRegisterProfileSuccess, (state) => ({\n ...state,\n submitRegisterProfileLoading: false,\n })),\n on(TaraRegisterProfileActions.submitRegisterProfileFailure, (state, { error }) => ({\n ...state,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: error,\n }))\n);\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport { appFeatureKey } from \"../reducers/app.reducer\";\n\nconst State = (state: AppState) => state[appFeatureKey];\n\nconst isLanguageLoading = createSelector(State, ({ loadingJSON }) => loadingJSON);\nconst getActiveLanguage = createSelector(State, ({ activeLanguage }) => activeLanguage);\n\nexport const AppSelector = {\n isLanguageLoading,\n getActiveLanguage,\n};\n","import { createSelector } from \"@ngrx/store\";\nimport { initialMultiFactorAuthCountries } from \"src/app/services/config/config.service\";\nimport { AppState } from \"../reducers\";\nimport * as profileReducer from \"../reducers/profile.reducer\";\nconst State = (state: AppState) => state[profileReducer.profileFeatureKey];\n\nconst getProfile = createSelector(State, (data) => (data ? data : null));\n\nconst getAuthenticatorUri = createSelector(State, (data) => (data.authenticator_uri ? data.authenticator_uri : null));\n\nconst getRecoveryCodes = createSelector(State, (data) => (data.code ? data.code : null));\n\nconst getCurrentPhoneDetails = createSelector(State, (data) => (data.phone ? data.phone : null));\n\nconst getTwoFactorEnabled = createSelector(State, (data) => (data.two_factor_enabled ? data.two_factor_enabled : null));\n\nconst isTeacher = createSelector(State, (data) =>\n Array.isArray(data.profile_data.user_type)\n ? data.profile_data.user_type.some((n) => n === \"school_teacher\")\n : data.profile_data.user_type === \"school_teacher\"\n);\n\nconst getTempPhoneDetails = createSelector(State, (data) => ({\n number: data.phone_temp.number,\n country_phone: data.phone_temp.country_phone,\n}));\n\nconst getUserCountryRequireMFA = createSelector(\n State,\n (data) =>\n initialMultiFactorAuthCountries.indexOf(\n typeof data.residenceCountryCode === \"string\" ? data.residenceCountryCode.toLowerCase() : \"\"\n ) > -1\n);\n\nconst getLocale = createSelector(State, (data) => (data.profile && data.profile.locale ? data.profile.locale : \"\"));\nconst getConsent = createSelector(State, (data) => data.consents);\nconst isMarketingConsentChecked = createSelector(State, (data) => data.isMarketingConsentChecked);\nconst getConsentsLoading = createSelector(State, (data) => data.consentLoading);\nconst getConsentsPayload = createSelector(State, (data) => data.consents_payload);\nconst hasInvalidFormFields = createSelector(State, (data) => data.invalidProfileFormFields?.length);\n\nexport const ProfileSelectors = {\n hasInvalidFormFields,\n isMarketingConsentChecked,\n getProfile,\n getAuthenticatorUri,\n getRecoveryCodes,\n getCurrentPhoneDetails,\n getTwoFactorEnabled,\n getTempPhoneDetails,\n getUserCountryRequireMFA,\n isTeacher,\n getLocale,\n getConsent,\n getConsentsLoading,\n getConsentsPayload,\n};\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport * as RegisterProfileReducer from \"src/app/@store/reducers/register-profile.reducer\";\nimport { claimTypes, userTypes } from \"src/app/appsettings\";\n\nconst State = (state: AppState) => state[RegisterProfileReducer.featureKey];\n\nexport const registerProfile = createSelector(State, (s) => s.registerProfile);\nexport const registerProfileLoading = createSelector(State, (s) => s.registerProfileLoading);\nexport const registerProfileErrorObject = createSelector(State, (s) => s.registerProfileLoadErrorObject);\nexport const registerProfileSubmitted = createSelector(State, (s) => s.registerProfileSubmitted);\nexport const submitRegisterProfileLoading = createSelector(State, (s) => s.submitRegisterProfileLoading);\nexport const submitRegisterProfileError = createSelector(State, (s) => s.submitRegisterProfileError);\nexport const registerSynlabAccessUser = createSelector(State, (s) => {\n return s.registerProfile?.some(\n (c) => c.claimType == claimTypes.USER_TYPE && c.claimValue == userTypes.SYNLAB_ACCESS_USER\n );\n});\n\nexport const registerProfileLinkInvalid = createSelector(\n registerProfileErrorObject,\n (s) => s?.status === 404 || s?.status === 400\n);\nexport const registerProfileLinkUsed = createSelector(registerProfileErrorObject, (s) => s?.status === 422);\nexport const registerSubmittedSuccessfully = createSelector(\n registerProfileSubmitted,\n submitRegisterProfileLoading,\n submitRegisterProfileError,\n (submitted, submitting, error) => submitted && !submitting && !error\n);\n","import { createSelector } from \"@ngrx/store\";\nimport { claimValues, userTypes } from \"src/app/appsettings\";\nimport { AppState } from \"../reducers\";\nimport * as RegistrationReducer from \"../reducers/registration.reducer\";\n\nconst State = (state: AppState) => state[RegistrationReducer.registrationFeatureKey];\n\nconst getRegisterClaimUserId = createSelector(State, ({ claims }) => claims?.userId);\nconst setPasswordInProgress = createSelector(State, (state) => state.setPasswordInProgress);\nconst getTaraRegistrationEmail = createSelector(State, (state) => state.activationEmail);\nconst getResendActivationLoading = createSelector(State, (state) => state.resendActivationLoading);\nconst getIsTaraUserActivated = createSelector(State, (state) => state.activated);\nconst getRegistrationPhoneNumber = createSelector(State, (state) => state.claims?.phone);\nconst getEditPhoneLoading = createSelector(State, (state) => state.editPhoneLoading);\nconst getTwoFactorEnabledClaim = createSelector(\n State,\n (state) => state.claims?.two_factor_enabled?.toLowerCase() == claimValues.TRUE\n);\nconst getLoadClaimsLoading = createSelector(State, (state) => state.getClaimsLoading);\nconst getSMSMFACodeLoading = createSelector(State, (state) => state.smsCodeMFALoading);\n\nconst getAuthenticatorUri = createSelector(State, (state) => state.authAppData?.authenticatorUri);\nconst getAuthenticatorAppCode = createSelector(State, (state) => state.authAppData?.code);\nconst getPrivacyAccepted = createSelector(State, (state) => state.privacyPolicyAccepted);\nconst getRegistrationUserType = createSelector(State, (state) => state.claims.user_type);\nconst getRegistrationIsPatient = createSelector(\n State,\n (state) => state.claims?.user_type?.toLowerCase() == userTypes.SYNLAB_ACCESS_USER\n);\n\nexport const RegistrationSelectors = {\n getRegistrationIsPatient,\n getRegistrationUserType,\n getPrivacyAccepted,\n getAuthenticatorUri,\n getAuthenticatorAppCode,\n getLoadClaimsLoading,\n getTwoFactorEnabledClaim,\n getEditPhoneLoading,\n getRegisterClaimUserId,\n setPasswordInProgress,\n getTaraRegistrationEmail,\n getResendActivationLoading,\n getIsTaraUserActivated,\n getRegistrationPhoneNumber,\n getSMSMFACodeLoading,\n};\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport * as stsReducer from \"../reducers/sts.reducer\";\nimport {\n appLogo,\n claimTypes,\n whiteLabelNames,\n userTypes,\n countries,\n claimValues,\n ELoginMethod,\n} from \"src/app/appsettings\";\nimport { Config } from \"src/app/services/config/config.service\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\n\nconst VALUE_TRUE = \"true\";\nconst VALUE_FALSE = \"false\";\n\nconst State = (state: AppState) => state[stsReducer.stsFeatureKey];\n\nconst getName = createSelector(State, (data) => (data.name ? data.name : \"\"));\n\nconst getAppLogo = createSelector(State, (data) => data.config ? appLogo.SYNLAB : appLogo.LOADING);\n\nconst isAppWhiteLabeled = createSelector(State, (data) => {\n return getConfig(data.config, claimTypes.WHITE_LABEL_ENABLED).toLowerCase() === VALUE_TRUE;\n});\n\nconst getSynlabId = createSelector(State, (data) => data.synlabId);\nconst getCountry = createSelector(State, (data) => data.country);\nconst isSynlabAccessUser = createSelector(State, (data) =>\n data.role.some((role) => role === userTypes.SYNLAB_ACCESS_USER)\n);\nconst isAnonymousUser = createSelector(\n State,\n (data) =>\n data.claims.find((c) => c.claimType == claimTypes.ANONYMOUS_USER)?.claimValue.toLocaleLowerCase() ==\n claimValues.TRUE\n);\n\nconst isUkDfpAdminUser = createSelector(State, (data) => data.role.some((role) => role === userTypes.UK_DFP_ADMIN));\nconst isUkShfyAdminUser = createSelector(State, (data) => data.role.some((role) => role === userTypes.UK_SHFY_ADMIN));\n\nconst isGenePlanetElligibleUser = createSelector(\n State,\n (data) =>\n data.role.some((role) => role === userTypes.SYNLAB_ACCESS_USER) &&\n data &&\n data.claims &&\n data.claims.find((c) => c.claimType == claimTypes.ANONYMOUS_USER)?.claimValue.toLocaleLowerCase() !=\n claimValues.TRUE &&\n data.claims.find((c) => c.claimType == claimTypes.COUNTRY_STORAGE)?.claimValue.toLocaleLowerCase() ==\n countries.ESTONIA &&\n data.claims.find((c) => c.claimType == claimTypes.NATIONALITY)?.claimValue.toLocaleLowerCase() == countries.ESTONIA\n);\n\nconst hasEmail = createSelector(\n State,\n (data) =>\n data.claims?.find((c) => c.claimType == claimTypes.EMAIL)?.claimValue != \"\" &&\n data.claims?.find((c) => c.claimType == claimTypes.NO_EMAIL)?.claimValue.toLowerCase() != claimValues.TRUE\n);\n\nconst isWardProfile = createSelector(\n State,\n (data) =>\n data.claims?.find((c) => c.claimType == claimTypes.WARD_PROFILE)?.claimValue.toLowerCase() == claimValues.TRUE\n);\nconst getBaseBookingUrl = createSelector(State, (s) => {\n return `${s.config?.BaseBookingUrl}/login/redirected`;\n});\nconst getBasePlasmaUrl = createSelector(State, (s) => s.config.BasePlasmaUrl);\nconst getBookingAdminUrl = createSelector(State, (s) => s.config.BaseBookingAdminUrl);\nconst getAdminUrl = createSelector(State, (s) => s.config.BaseAdminUrl);\nconst getWebreqAdminUrl = createSelector(State, (s) => s.config.BaseWebreqAdminUrl);\nconst getCheckResultUrl = createSelector(State, (s) => {\n const path =\n checkTenant(whiteLabelNames.UK_DFP, s.config) || checkTenant(whiteLabelNames.UK_SHFY, s.config)\n ? \"/results/category\"\n : \"/results/check\";\n return `${s.config.BasePlasmaUrl}${path}`;\n});\n\nconst getBookingLinkEnabled = createSelector(State, isSynlabAccessUser, (data, isAppAccessUser) => {\n const hideBookingLinkOnThisRoles = [\n userTypes.SCHOOL_ADMIN,\n userTypes.SCHOOL_TEACHER,\n userTypes.LOLLI_SUPER_ADMIN,\n userTypes.LOLLI_LAB_USER,\n userTypes.BCP,\n userTypes.WEBREQ_USER,\n ];\n\n const isPTCountry = data.country && data.country == countries.PORTUGAL;\n const isEETenant = checkTenant(whiteLabelNames.ESTONIA, data.config);\n const isHUTenant = checkTenant(whiteLabelNames.HUNGARY, data.config);\n const isDfpTenant = checkTenant(whiteLabelNames.UK_DFP, data.config);\n const isShfytenant = checkTenant(whiteLabelNames.UK_SHFY, data.config);\n const hidden = data.role.some((n: any) => hideBookingLinkOnThisRoles.includes(n));\n\n return (\n (isPTCountry && !hidden && !isDfpTenant && !isShfytenant) ||\n ((isEETenant || isHUTenant) && isAppAccessUser)\n );\n});\n\n/**\n * @param str String.\n * @returns Return equivaluent of string value in boolean.\n */\nconst strToBoolean = (str: string) => {\n const regex = /^\\s*(true|1|on)\\s*$/i;\n return regex.test(str);\n};\n\n/**\n * get ward limit from config. in case setup incorrectly, return 0\n */\nconst getWardLimit = createSelector(State, (data) => {\n return isNaN(+data.config.WardLimit) ? 0 : +data.config.WardLimit;\n});\n\nconst isSchoolAdmin = createSelector(State, (data) => {\n return data.role.some((a) => a.indexOf(userTypes.SCHOOL_ADMIN) > -1);\n});\n\nconst isMassCompanyUser = createSelector(\n State,\n (data) => data.role.includes(userTypes.MASS_COMPANY) && data.role.includes(userTypes.SYNLAB_ACCESS_USER)\n);\n\nconst getVersion = createSelector(State, (data) => data.config.Version);\n\nconst getUserInfo = createSelector(State, (data) => data.userInfo);\n\nconst isLoggedIn = createSelector(State, (data) => data.loginStatus === true);\n\nconst getClaims = createSelector(State, (data) => data.claims);\n\nconst isMFARequired = createSelector(State, (data) => {\n // temporarily commented out this code\n // const isMfaRequired = getConfig(data.config, claimTypes.REQUIRE_MFA).toLowerCase() === VALUE_TRUE;\n\n const isMFAEnabled =\n data.claims?.find((n) => n.claimType == claimTypes.TWO_FACTOR_ENABLED)?.claimValue.toLowerCase() == VALUE_TRUE;\n const isTaraLogin = data.idp?.toLowerCase() == ELoginMethod.EE_TARA;\n const isTeliaLogin = data.idp?.toLowerCase() == ELoginMethod.FI_TELIA;\n const isBankIdLogin = data.idp?.toLowerCase() == ELoginMethod.CZ_BANKID;\n const requireMfa = !isMFAEnabled;\n\n if (isTaraLogin || isTeliaLogin || isBankIdLogin) {\n return false;\n }\n\n return requireMfa;\n});\n\nconst showPreventionWellnessMenu = createSelector(State, (data) => {\n return data.claims\n ? data.claims.find((n) => n.claimType == claimTypes.COUNTRY_RESIDENCE).claimValue.toLowerCase() == countries.ESTONIA\n : false;\n});\nconst getPreventionWellnessLink = createSelector(State, (s) => {\n return `${s.config.BasePlasmaUrl}/redirect?url=prevention-wellness`;\n});\n\nconst getPetProfileEnabled = createSelector(State, (s) => {\n return getConfig(s.config, claimTypes.PET_PROFILE_ENABLED).toLowerCase() === VALUE_TRUE;\n});\n\nconst getEnablePreventionWellness = createSelector(State, (data) => {\n return getConfig(data.config, claimTypes.ENABLE_PREVENTION_WELLNESS).toLowerCase() === VALUE_TRUE;\n});\n\nconst isEstoniaInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.ESTONIA, data?.config));\nconst isSpainInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.SPAIN, data?.config));\nconst isHungaryInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.HUNGARY, data?.config));\nconst isUkShfyInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.UK_SHFY, data.config));\nconst isUkDfpInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.UK_DFP, data.config));\nconst isPtInstance = createSelector(\n State,\n (data) => checkTenant(whiteLabelNames.PORTUGAL, data.config) || checkTenant(whiteLabelNames.INIT, data.config)\n);\nconst isHUTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.HUNGARY, data?.config));\nconst isITTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.ITALY, data?.config));\nconst isBETenant = createSelector(State, (data) => checkTenant(whiteLabelNames.BELGIUM, data?.config));\nconst isESTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.SPAIN, data?.config));\nconst isESTCTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.SPAIN_TELECOUNSELING, data?.config));\nconst isFITenant = createSelector(State, (data) => checkTenant(whiteLabelNames.FINLAND, data?.config));\nconst isCzechRepublic = createSelector(State, (data) => checkTenant(whiteLabelNames.CZECH_REPUBLIC, data?.config));\n\nconst checkIfTaraLoginMethod = createSelector(State, (data) => {\n return data.idp?.toLowerCase() == ELoginMethod.EE_TARA;\n});\nconst checkIfTeliaLoginMethod = createSelector(State, (data) => {\n return data.idp?.toLowerCase() == ELoginMethod.FI_TELIA;\n});\nconst checkBankIdLoginMethod = createSelector(State, (data) => {\n return data.idp?.toLowerCase() == ELoginMethod.CZ_BANKID;\n});\n\n\nconst getRoles = createSelector(State, (data) => data.role);\nconst getUserHeader = createSelector(State, (data) => ({\n givenName: data.claims?.find((c) => c.claimType == claimTypes.GIVEN_NAME)?.claimValue,\n familyName: data.claims?.find((c) => c.claimType == claimTypes.FAMILY_NAME)?.claimValue,\n synlabId: data.synlabId,\n claims: data.claims,\n}));\nconst getGpEnrolleeInfo = createSelector(State, (data) => ({\n synlabId: data.synlabId,\n sex: data.claims?.find((c) => c.claimType == claimTypes.GENDER)?.claimValue,\n dateOfBirth: data.claims?.find((c) => c.claimType == claimTypes.DATE_OF_BIRTH)?.claimValue,\n}));\nconst getWhiteLabelName = createSelector(State, (data) => data.config?.WhiteLabelName);\n\nconst getEnableOpenReplay = createSelector(State, (data) => {\n return getConfig(data.config, claimTypes.OPEN_REPLAY_ENABLE).toLowerCase() === VALUE_TRUE;\n});\nconst getOpenReplayProjectKey = createSelector(State, (data) =>\n getConfig(data.config, claimTypes.OPEN_REPLAY_PROJECT_KEY)\n);\nconst getOpenReplayIngestPoint = createSelector(State, (data) =>\n getConfig(data.config, claimTypes.OPEN_REPLAY_INGEST_API)\n);\nconst getAppEnvironment = createSelector(State, (data) => getConfig(data.config, claimTypes.ENVIRONMENT));\nconst getUserUserId = createSelector(State, (data) => data.userInfo?.userId);\nconst getUserSub = createSelector(State, (data) => data.userInfo?.sub);\nconst getSSN = createSelector(State, (data) => data.userInfo?.ssn);\n\n/**\n * Sts country selectors\n */\nconst getUserActiveEmail = createSelector(State, (data) => data.email);\nconst stsCountrySSNRegex = createSelector(State, (state) => state.countryInfo.data?.ssnRegex);\nconst isSTSCountryLoading = createSelector(State, (state) => state.countryInfo.status === \"loading\");\n\n/**\n * Sts claim selectors\n */\nconst isEEWithNoEmail = createSelector(State, isEstoniaInstance, (state, isEE) => {\n const result = state?.claims?.find((claim) => claim.claimType === claimTypes.NO_EMAIL);\n return isEE && JSON.parse(result ? result.claimValue.toLocaleLowerCase() : claimValues.FALSE);\n});\n\nconst getAccountsBaseUrl = createSelector(State, (state) => state.config?.BaseProfileUrl);\n\nconst hasGeneplanetOrders = createSelector(State, (state) => state.hasGeneplanetOrders);\nconst isGenePlanetEnrolled = createSelector(State, (state) => state.isGenePlanetEnrolled);\n\nconst isSuperSupportUser = createSelector(State, (data) => {\n const accessPerTenant = {\n [whiteLabelNames.ESTONIA]: [userTypes.EE_ADMIN],\n [whiteLabelNames.UK_DFP]: [userTypes.UK_DFP_ADMIN],\n [whiteLabelNames.UK_SHFY]: [userTypes.UK_SHFY_ADMIN],\n };\n const userTypesToCheck =\n data?.config.WhiteLabelName in accessPerTenant ? accessPerTenant[data.config.WhiteLabelName] : [userTypes.PT_ADMIN];\n return (\n data.role.some((role: string) => userTypesToCheck.includes(role)) &&\n isClaimTrue(data.claims, claimTypes.ALLOW_DELETE_USER)\n );\n});\n\nconst getBaseProfileUrl = createSelector(State, (s) => {\n return `${s.config.BaseProfileUrl}`;\n});\n\nconst useNewUI = createSelector(State, (data) => {\n const key: keyof Config = \"UseNewUI\";\n return getConfig(data.config, key).toLowerCase() === VALUE_TRUE;\n});\n\nconst useNewNav = createSelector(\n useNewUI,\n isEstoniaInstance,\n (useNewUiResult, isEstoniaInstanceResult) => useNewUiResult || isEstoniaInstanceResult\n);\n\nconst wardProfileAddEnabled = createSelector(\n State,\n (s) => s.config.WardProfileAddEnabled?.toLowerCase() === claimValues.TRUE\n);\nconst wardProfileEditEnabled = createSelector(\n State,\n (s) => s.config.WardProfileEditEnabled?.toLowerCase() === claimValues.TRUE\n);\nconst wardProfileDeleteEnabled = createSelector(\n State,\n (s) => s.config.WardProfileDeleteEnabled?.toLowerCase() === claimValues.TRUE\n);\n\nconst getContactEmail = createSelector(\n State,\n (data) => data.claims.find((c) => c.claimType == claimTypes.CONTACT_EMAIL)?.claimValue\n);\n\nfunction getConfig(config: { [keys: string]: any }, keyName: string) {\n if (!config) {\n return \"\";\n }\n return config[keyName];\n}\n\nexport function checkTenant(tenantName: string, config: Config): boolean {\n const isWhiteLabeled = getConfig(config, claimTypes.WHITE_LABEL_ENABLED).toLowerCase() === VALUE_TRUE;\n const whiteLabelName = getConfig(config, claimTypes.WHITE_LABEL_NAME).toLowerCase();\n\n switch (tenantName) {\n case whiteLabelNames.ITALY:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.ITALY;\n case whiteLabelNames.FINLAND:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.FINLAND;\n case whiteLabelNames.BELGIUM:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.BELGIUM;\n case whiteLabelNames.HUNGARY:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.HUNGARY;\n case whiteLabelNames.ESTONIA:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.ESTONIA;\n case whiteLabelNames.UK_DFP:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.UK_DFP;\n case whiteLabelNames.UK_SHFY:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.UK_SHFY;\n case whiteLabelNames.PORTUGAL:\n return !isWhiteLabeled && whiteLabelName == whiteLabelNames.PORTUGAL;\n case whiteLabelNames.INIT:\n return !isWhiteLabeled && whiteLabelName == whiteLabelNames.INIT;\n case whiteLabelNames.SPAIN:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.SPAIN;\n case whiteLabelNames.SPAIN_TELECOUNSELING:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.SPAIN_TELECOUNSELING;\n case whiteLabelNames.CZECH_REPUBLIC:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.CZECH_REPUBLIC;\n default:\n return false;\n }\n}\n\nfunction isClaimTrue(profile: any[], claim: string): boolean {\n if (!Array.isArray(profile)) return false;\n return profile.find((x: Claim) => x.claimType === claim)?.claimValue?.toLocaleLowerCase() == claimValues.TRUE;\n}\n\nexport const StsSelectors = {\n checkBankIdLoginMethod,\n getContactEmail,\n checkIfTeliaLoginMethod,\n wardProfileAddEnabled,\n wardProfileEditEnabled,\n wardProfileDeleteEnabled,\n getSSN,\n isCzechRepublic,\n isESTenant,\n isESTCTenant,\n isFITenant,\n useNewUI,\n isHUTenant,\n isITTenant,\n isBETenant,\n useNewNav,\n getUserActiveEmail,\n getAppEnvironment,\n getUserUserId,\n getUserSub,\n getOpenReplayIngestPoint,\n getOpenReplayProjectKey,\n getEnableOpenReplay,\n isEstoniaInstance,\n isSpainInstance,\n isHungaryInstance,\n getEnablePreventionWellness,\n getPetProfileEnabled,\n showPreventionWellnessMenu,\n getPreventionWellnessLink,\n isMFARequired,\n getClaims,\n getBookingLinkEnabled,\n getBaseBookingUrl,\n getBasePlasmaUrl,\n getBookingAdminUrl,\n getAdminUrl,\n getWebreqAdminUrl,\n getSynlabId,\n getName,\n isAppWhiteLabeled,\n getAppLogo,\n getCountry,\n isSynlabAccessUser,\n getWardLimit,\n getVersion,\n isSchoolAdmin,\n isMassCompanyUser,\n isWardProfile,\n getUserInfo,\n isLoggedIn,\n checkIfTaraLoginMethod,\n getRoles,\n getUserHeader,\n getGpEnrolleeInfo,\n isGenePlanetElligibleUser,\n getWhiteLabelName,\n isSTSCountryLoading,\n stsCountrySSNRegex,\n hasEmail,\n isEEWithNoEmail,\n isUkDfpAdminUser,\n isUkShfyAdminUser,\n getCheckResultUrl,\n getAccountsBaseUrl,\n hasGeneplanetOrders,\n isGenePlanetEnrolled,\n isUkShfyInstance,\n isUkDfpInstance,\n isPtInstance,\n isSuperSupportUser,\n getBaseProfileUrl,\n isAnonymousUser,\n};\n","import { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Store } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { AppState } from \"./@store/reducers\";\nimport { AuthService } from \"./services/auth/auth.service\";\nimport { ConfigService } from \"./services/config/config.service\";\nimport { LoggerService } from \"./services/logger.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AppCommonServices {\n constructor(\n public router: Router,\n public store: Store,\n public config: ConfigService,\n public transloco: TranslocoService,\n public logger: LoggerService,\n public toastr: ToastrService,\n public auth: AuthService\n ) {}\n}\n","export enum whiteLabelNames {\n ESTONIA = \"ee\",\n ITALY = \"it\",\n HUNGARY = \"hu\",\n UK_DFP = \"uk-dfp\",\n UK_SHFY = \"shfy\",\n PORTUGAL = \"pt\",\n INIT = \"init\",\n GLOBAL = \"global\",\n SPAIN = \"es\",\n SPAIN_TELECOUNSELING = \"es-tc\",\n FINLAND = \"fi\",\n CZECH_REPUBLIC = \"cz\",\n BELGIUM = \"be\",\n}\n\nexport enum userTypes {\n BCP = \"bcp\",\n MASS_COMPANY = \"mass_company\",\n WEBREQ_USER = \"webreq_user\",\n LOLLI_LAB_USER = \"lolli_lab_user\",\n SCHOOL_ADMIN = \"school_admin\",\n SCHOOL_TEACHER = \"school_teacher\",\n LOLLI_SUPER_ADMIN = \"lolli_superadmin\",\n SYNLAB_ACCESS_USER = \"synlab_access_user\",\n UK_DFP_ADMIN = \"uk_dfp_admin\",\n UK_SHFY_ADMIN = \"uk_shfy_admin\",\n EE_ADMIN = \"ee_admin\",\n PT_ADMIN = \"pt_admin\",\n EXPERT = \"expert\",\n BOOKING_ADMIN_BCP_COORDINATOR = \"booking_admin_bcp_coordinator\",\n BOOKING_ADMIN_BCP_CLERK = \"booking_admin_bcp_clerk\",\n BOOKING_ADMIN = \"booking_admin\",\n WEBREQ_ADMIN = \"webreq_admin\",\n WEBREQ_SUPERADMIN = \"webreq_superadmin\",\n DOCTOR = \"doctor\",\n}\n\n\nexport const WEBREQ_ADMIN_USER_TYPES = [userTypes.WEBREQ_ADMIN, userTypes.WEBREQ_SUPERADMIN];\nexport const BOOKING_ADMIN_USER_TYPES = [userTypes.BOOKING_ADMIN, userTypes.BOOKING_ADMIN_BCP_CLERK, userTypes.BOOKING_ADMIN_BCP_COORDINATOR];\n\n\nexport enum ShfyRoles {\n DOCTOR = \"doctor\",\n}\n\nexport enum claimTypes {\n CONTACT_EMAIL = \"contact_email\",\n SHFY_ROLES = \"shfy_roles\",\n GIVEN_NAME = \"given_name\",\n FAMILY_NAME = \"family_name\",\n DATE_OF_BIRTH = \"date_of_birth\",\n GENDER = \"gender\",\n PHONE = \"phone\",\n PHONE_VERIFIED = \"phone_verified\",\n COUNTRY_PHONE = \"country_phone\",\n COUNTRY_STORAGE = \"country\",\n COUNTRY_RESIDENCE = \"country_residence\",\n COUNTRY_ADDRESS = \"country_address\",\n NATIONALITY = \"nationality\",\n USER_TYPE = \"user_type\",\n SSN = \"ssn\",\n IS_SELF_REGISTERED = \"is_self_registered\",\n IS_TARA_PROVIDER = \"is_tara_provider\",\n TARA_ID = \"tara_id\",\n TWO_FACTOR_ENABLED = \"two_factor_enabled\",\n WHITE_LABEL_ENABLED = \"WhiteLabelEnabled\",\n WHITE_LABEL_NAME = \"WhiteLabelName\",\n EMAIL = \"email\",\n ACTIVE = \"active\",\n CAPTURE_FROM_BOOKING_INTEGRATION = \"captured_from_booking_integration\",\n EMAIL_TURNED_OFF = \"email_turned_off\",\n PET_PROFILE = \"pet_profile\",\n PET_CATEGORY_NAME = \"pet_category_name\",\n PET_CATEGORY = \"pet_category\",\n ENABLE_PREVENTION_WELLNESS = \"EnablePreventionWellness\",\n PET_PROFILE_ENABLED = \"PetProfileEnabled\",\n EE_MIGRATION_ACCEPTED = \"ee_migration_accepted\",\n EE_NOTIFICATION_LANGUAGE = \"ee_notification_language\",\n EE_MESSAGE_TYPE = \"ee_message_type\",\n EE_NOTIFICATION_TWO_DAYS_BEFORE = \"ee_notification_two_days_before\",\n EE_NOTIFICATION_WHEN_READY = \"ee_notification_when_ready\",\n EE_NOTIFICATION_NEWS_LETTER = \"ee_notification_news_letter\",\n EE_GP_AGREE_TERMS_AND_CONDITIONS = \"ee_gp_agree_terms_and_conditions\",\n EE_GP_AGREE_PRIVACY_POLICY = \"ee_gp_agree_privacy_policy\",\n EE_GP_AGREE_DATA_PRIVACY = \"ee_gp_agree_data_privacy\",\n ANONYMOUS_USER = \"anonymous_user\",\n PASSPORT_NUMBER = \"passport_number\",\n USERID = \"userId\",\n LOGIN_METHOD = \"login_method\",\n GENEPLANET_USER = \"geneplanet_user\",\n COOKIE_BOT_API_KEY = \"CookieBotAPIKey\",\n REQUIRE_MFA = \"RequireMFA\",\n OPEN_REPLAY_ENABLE = \"EnableOpenReplay\",\n OPEN_REPLAY_PROJECT_KEY = \"OpenReplayProjectKey\",\n OPEN_REPLAY_INGEST_API = \"OpenReplayIngestPoint\",\n ENVIRONMENT = \"Environment\",\n NO_EMAIL = \"no_email\",\n WARD_PROFILE = \"ward_profile\",\n COUNTRY_CONTACT = \"country_contact\",\n LOCALE = \"locale\",\n ALLOW_DELETE_USER = \"allow_delete_user\",\n SYNLAB_ID = \"synlab_id\",\n EMAIL_VERIFIED = \"email_verified\",\n PROFILE_TOS_ENABLED = \"ProfileTOSEnabled\",\n TWO_FACTOR_PROVIDER= \"two_factor_provider\",\n}\n\nexport enum claimValues {\n TRUE = \"true\",\n FALSE = \"false\",\n}\n\nexport enum appLogo {\n LOADING = \"/assets/project-logo/loading-logo.png\",\n SYNLAB = \"/assets/project-logo/default-logo.png\",\n}\n\nexport enum countries {\n PORTUGAL = \"pt\",\n COLOMBIA = \"co\",\n ESTONIA = \"ee\",\n}\n\nexport enum petCategories {\n DOG = \"dog\",\n CAT = \"cat\",\n HORSE = \"horse\",\n MONKEY = \"monkey\",\n OTHER = \"other\",\n}\n\nexport enum externalLink {\n TARA_PRIVACY_POLICY_LINK = \"/privacyterms\",\n GP_TERMS_AND_CONDITIONS = \"https://geneplanet.com/eu/terms-and-conditions\",\n GP_PRIVACY_POLICY = \"https://geneplanet.com/eu/privacy-policy\",\n GP_DATA_PRIVACY = \"https://geneplanet.com/eu/data-privacy\",\n}\n\nexport enum registerV2Enum {\n ACTIVE_STEPPER = \"activeStepper\",\n DATE_OF_BIRTH_FORMAT = \"YYYY-MM-DD\",\n}\n\nexport enum AUTH_PROVIDER_TYPE {\n LOCAL = \"local\",\n}\n\nexport enum queryParamKey {\n REGID = \"id\",\n SEQID = \"seqId\",\n SEQUENCE_ID = \"sequenceId\",\n TARA_CREATED = \"taraCreated\",\n USER_ID = \"userid\",\n BANK_ID = \"bankid\",\n FINLAND_ADMIN_SIGNUP = \"isNormalSignup\",\n EMAIL_ADDRESS_FROM_RESULT = \"resultEmail\",\n}\n\nexport const defaultTaraLocale = \"et-EE\";\nexport const taraPrefilledClaims = [\n {\n claimType: claimTypes.USER_TYPE,\n claimValue: userTypes.SYNLAB_ACCESS_USER,\n },\n {\n claimType: claimTypes.IS_SELF_REGISTERED,\n claimValue: claimValues.TRUE,\n },\n {\n claimType: claimTypes.IS_TARA_PROVIDER,\n claimValue: claimValues.TRUE,\n },\n {\n claimType: claimTypes.COUNTRY_STORAGE,\n claimValue: countries.ESTONIA,\n },\n];\n\nexport enum ACCOUNT_ACTIVATION {\n VERIFICATION_FAILED = \"verification_failed\",\n EMAIL_ACTIVATED = \"email_activated\",\n EMAIL_VERIFIED = \"email_verified\",\n ACTIVATION_LINK_USED = \"activation_link_used\",\n}\n\nexport enum ELoginMethod {\n SYNLAB_ACCESS = \"synlab_access\",\n EE_TARA = \"tara\",\n FI_TELIA = \"telia\",\n CZ_BANKID = \"bankid\"\n}\n\nexport enum EPageTitle {\n ESTONIA = \"SYNLAB Access\",\n DEFAULT = \"SYNLAB Access Account\",\n}\n\nexport enum EBodyClass {\n ESTONIA = \"tenant-estonia\",\n DEFAULT = \"tenant-normal\",\n}\n\nexport enum CategoryName {\n PERSONAL_NOTIFICATION_CONSENTS = \"personal-notification-consents\",\n}\n\nexport const localeMap = {\n et: \"et-EE\",\n ru: \"ru-RU\",\n en: \"en-GB\",\n};\n\nexport const GTM_PLACEHOLDER_VALUE = \"[placeholder]\";\nexport const CONSENTS = \"consents\";\nexport const NEWSLETTER_CONSENT_NAME = 'receive-health-focused-newsletter';\n\nexport enum ErrorCode {\n USER_DEACTIVATED = \"user-deactivated\",\n}\n\nexport enum AUTH_METHOD {\n TELIA = \"telia\",\n TARA = \"tara\",\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DatePickerComponent } from \"./date-picker.component\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatNativeDateModule } from \"@angular/material/core\";\nimport { MatMomentDateModule } from \"@angular/material-moment-adapter\";\n\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { TranslocoModule } from \"@ngneat/transloco\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatInputModule } from \"@angular/material/input\";\n\n@NgModule({\n declarations: [DatePickerComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslocoModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatMomentDateModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [DatePickerComponent],\n})\nexport class DatePickerModule {}\n","
\n
\n
\n

\n {{ t1(\"smsTitle\") }} ({{ phoneNumber$ | async }})\n

\n

{{ t1(\"sms2FAExplanationText\") }}

\n
\n
\n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n\n
\n \n
\n
{{ t1(\"codeLabel1\") | uppercase }}
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
{{ t1(\"mobileNumberLabel\") }}
\n
\n \n\n
\n \n
\n
\n
\n\n \n
\n
{{ t1(\"codeLabel1\") | uppercase }}
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, UntypedFormControl, Validators } from \"@angular/forms\";\nimport { select, Store } from \"@ngrx/store\";\nimport { combineLatest, merge, ReplaySubject, Subscription } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { RegistrationSelectors } from \"src/app/@store/selectors/registration.selectors\";\nimport parsePhoneNumber from \"libphonenumber-js\";\nimport { filter, take, tap } from \"rxjs/operators\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { RegisterActions } from \"src/app/@store/actions/registration.actions\";\nimport * as RegisterProfileActions from \"src/app/@store/actions/register-profile.actions\";\nimport {\n ISetMFA,\n ISetMFAVerify,\n ISetPhoneNumber,\n IVerifyPhoneNumber,\n} from \"src/app/@store/reducers/registration.reducer\";\nimport { Actions, ofType } from \"@ngrx/effects\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { generalScopeKey, twoFactorAuthenticatorScopeKey } from \"src/app/services/i18n/i18n.service\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { MyAccountService } from \"src/app/pages/index/pages/my-account/my-account.service\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { claimsToObject } from \"src/app/utils/claims-to-object\";\nimport { claimTypes } from \"src/app/appsettings\";\n\nexport enum EAuthenticationType {\n AUTHENTICATOR = \"Authenticator\",\n PHONE = \"Phone\",\n}\nconst tkey1 = \"twoFactorAuthenticator\";\n\n@Component({\n selector: \"app-register-mfa-sms\",\n templateUrl: \"./register-mfa-sms.component.html\",\n styleUrls: [\"./register-mfa-sms.component.scss\"],\n})\nexport class RegisterMfaSmsComponent implements OnInit, OnDestroy {\n tkey1 = tkey1;\n phoneNumber$ = this._store.pipe(select(RegistrationSelectors.getRegistrationPhoneNumber));\n editPhoneLoading$ = this._store.pipe(select(RegistrationSelectors.getEditPhoneLoading));\n getSMSMFACodeLoading$ = this._store.pipe(select(RegistrationSelectors.getSMSMFACodeLoading));\n\n editPhoneToggle$ = new ReplaySubject(1);\n smsCodePhoneUpdateToggle$ = new ReplaySubject(1);\n smsCodeEnableMFAToggle$ = new ReplaySubject(1);\n\n public form: FormGroup;\n phoneNumberFC = new UntypedFormControl(undefined, [Validators.required]);\n smsCodeFC = new UntypedFormControl(undefined, [Validators.required]);\n smsCodeEnableMfaFC = new UntypedFormControl(undefined, [Validators.required]);\n\n enableSMSLoading: boolean = false;\n countryISO: string = undefined;\n phoneNumber: string = undefined;\n private _subs = new Subscription();\n public isValid: boolean;\n\n constructor(\n private _store: Store,\n private _actRoute: ActivatedRoute,\n private _actions$: Actions,\n private _transloco: TranslocoService,\n private _toastr: ToastrService,\n private formBuilder: FormBuilder,\n private myAccountSvc: MyAccountService\n ) {}\n\n public validatePhoneFormGroupValues(event) {\n const values = event.value.phone;\n this.countryISO = values.countryCode;\n this.phoneNumber = values.e164Number;\n this.phoneNumberFC = event.get(\"phone\");\n this.isValid = this.myAccountSvc.phoneValidator.isValidNumber(event.get(\"phone\")?.getRawValue());\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n phone: [\"\", [Validators.required]],\n country_phone: [\"\", [Validators.required]],\n });\n this._subs.add(\n this.phoneNumber$\n .pipe(\n filter((n) => n),\n tap((phone) => {\n if (phone) {\n const phoneTemp = parsePhoneNumber(`${phone}`);\n if (phoneTemp) {\n this.form.get(\"phone\").setValue(phoneTemp?.nationalNumber);\n this.form.get(\"country_phone\").setValue(phoneTemp?.country);\n }\n }\n })\n )\n .subscribe()\n );\n // reset view\n this.resetView();\n\n if (\"userid\" in this._actRoute.snapshot.queryParams) {\n const { userid } = this._actRoute.snapshot.queryParams;\n this._subs.add(this._store.dispatch(RegisterActions.loadExistingUserClaims({ userid: userid })));\n }\n\n // toggle view for entering code from sms\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.updatePhoneNumberSuccess)).subscribe(({ phone }) => {\n this.smsCodePhoneUpdateToggle$.next(true);\n\n const mess = this._transloco.translate(\n \"verificationCodeSentText\",\n { phoneNumber: phone },\n twoFactorAuthenticatorScopeKey\n );\n this._toastr.success(mess);\n\n // set focus\n setTimeout(() => {\n document.getElementById(\"smsCodeFC\")?.focus();\n }, 100);\n })\n );\n\n // reset phone update formcontrols\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.verifyPhoneNumberSuccess)).subscribe(({ success }) => {\n if (success) {\n this.resetView();\n this.smsCodeFC.reset();\n\n // reload claims\n const params = this._actRoute.snapshot.queryParams;\n\n const { id, sequenceId, seqId } = params;\n const sequence_id: string = sequenceId || seqId;\n if (id && sequence_id) {\n this._store.dispatch(RegisterActions.loadRegistrationClaims({ id, seqId: sequence_id }));\n } else {\n combineLatest([\n this._store.select(StsSelectors.isCzechRepublic),\n this._store.select('sts')\n ])\n .pipe(take(1)).subscribe(([isCz, { claims }]) => {\n if (isCz) {\n const objClaims: any = claimsToObject(claims);\n objClaims[claimTypes.TWO_FACTOR_ENABLED] = 'True';\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims: objClaims }));\n }\n });\n }\n }\n })\n );\n\n // hide loading indicator for sms enable button\n this._subs.add(\n merge(\n this._actions$.pipe(ofType(RegisterActions.enableMFASuccess)),\n this._actions$.pipe(ofType(RegisterActions.enableMFAFailed))\n ).subscribe((n) => (this.enableSMSLoading = false))\n );\n\n // show error message\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.enableMFAFailed)).subscribe(({ error }) => {\n this._toastr.error(\n error.error.ErrorMessage,\n this._transloco.translate(\"errorOccuredTitle\", {}, generalScopeKey)\n );\n })\n );\n\n // display code input for enabling MFA - sms\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.enableMFASuccess)).subscribe(({ data, authType }) => {\n if (authType == EAuthenticationType.PHONE.toLowerCase()) {\n this.smsCodeEnableMFAToggle$.next(true);\n const m = this._transloco.translate(\n \"verificationCodeSentText\",\n { phoneNumber: this.phoneNumber },\n twoFactorAuthenticatorScopeKey\n );\n this._toastr.success(m);\n\n // set focus\n setTimeout(() => {\n document.getElementById(\"smsCodeEnableMfaFC\")?.focus();\n }, 100);\n }\n })\n );\n\n // re-fetch registration claims\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.enableMFAVerifySuccess)).subscribe(({ data }) => {\n if (data.result && data.type.toLowerCase() == EAuthenticationType.PHONE.toLowerCase()) {\n const { id, sequenceId, seqId } = this._actRoute.snapshot.queryParams;\n const sequence_id: string = sequenceId || seqId;\n if (id && sequence_id) {\n this._store.dispatch(RegisterActions.loadRegistrationClaims({ id, seqId: sequence_id }));\n } else {\n combineLatest([\n this._store.select(StsSelectors.isCzechRepublic),\n this._store.select('sts')\n ])\n .pipe(take(1)).subscribe(([isCz, { claims }]) => {\n if (isCz) {\n const objClaims: any = claimsToObject(claims);\n objClaims[claimTypes.TWO_FACTOR_ENABLED] = 'True';\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims: objClaims }));\n }\n });\n }\n }\n })\n );\n\n // reset if \"enable\" button in Authenticator App is clicked.\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.resetMFAInProgress)).subscribe(({ authType }) => {\n if (authType == EAuthenticationType.PHONE) {\n this.resetView();\n\n this.smsCodeFC.reset();\n this.smsCodeEnableMfaFC.reset();\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this._subs.unsubscribe();\n }\n\n toggleEditSmsOnclick(value: boolean) {\n this.editPhoneToggle$.next(value);\n\n // reset auth app\n this._store.dispatch(\n RegisterActions.resetMFAInProgress({\n authType: EAuthenticationType.AUTHENTICATOR,\n })\n );\n }\n\n updatePhoneNumber() {\n this.smsCodeFC.reset();\n const p = this.phoneNumberFC.value;\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: ISetPhoneNumber = {\n code: encodedId,\n phone: p?.e164Number?.replace(\"+\", \"\"),\n countryPhone: p?.countryCode,\n };\n this._store.dispatch(RegisterActions.updatePhoneNumber({ payload }));\n }\n\n verifyPhone() {\n const code = this.smsCodeFC.value;\n const phone = this.phoneNumberFC.value;\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: IVerifyPhoneNumber = {\n code: encodedId,\n phone: phone?.e164Number?.replace(\"+\", \"\"),\n token: code,\n };\n\n this._store.dispatch(RegisterActions.verifyPhoneNumber({ payload }));\n }\n\n resetView() {\n this.smsCodePhoneUpdateToggle$.next(false);\n this.editPhoneToggle$.next(false);\n this.smsCodeEnableMFAToggle$.next(false);\n }\n\n enableMFA(authType: EAuthenticationType) {\n const t = authType?.toLowerCase();\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: ISetMFA = {\n code: encodedId ? encodedId : btoa(this._actRoute.snapshot.queryParams[\"userid\"]),\n twoFactorEnabled: true,\n twoFactorProvider: t,\n };\n\n this.enableSMSLoading = true;\n this._store.dispatch(RegisterActions.enableMFA({ payload }));\n\n this._store.dispatch(\n RegisterActions.resetMFAInProgress({\n authType: EAuthenticationType.AUTHENTICATOR,\n })\n );\n }\n\n enableMFAVerify(authType: EAuthenticationType) {\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: ISetMFAVerify = {\n code: encodedId ? encodedId : btoa(this._actRoute.snapshot.queryParams[\"userid\"]),\n twoFactorEnabled: true,\n tokenProvider: authType,\n token: this.smsCodeEnableMfaFC.value,\n };\n\n this._store.dispatch(RegisterActions.enableMFAVerify({ payload }));\n }\n}\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\nimport { emailPattern, fiveDigitsPattern } from \"../modules/shared/regex-pattern\";\n\nexport const FI_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n {\n Name: \"contact_email\",\n Type: \"text\",\n Order: 3,\n Readonly: false,\n Hide: () => false,\n Required: () => true,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 6, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 7,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 8, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 9, Hide: () => false },\n {\n Name: \"ssn\",\n Required: (roles: string[]) => true,\n Type: \"text\",\n Order: 10,\n Readonly: true,\n Hide: (roles: string[]) => !roles.includes(\"synlab_access_user\"),\n },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 11, Readonly: true, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 12, Readonly: true, Hide: () => false },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n {\n Name: \"email\",\n Type: \"text\",\n Order: 3,\n Readonly: true,\n Hide: () => false,\n Required: () => true,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 6, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 7,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 8, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 9, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 11, Readonly: true, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 12, Readonly: true, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n {\n Name: \"country_residence\",\n Required: () => true,\n Type: \"country-picker\",\n Order: 3,\n Hide: () => false,\n Readonly: true,\n },\n {\n Name: \"ssn\",\n Required: (roles: string[]) => true,\n Type: \"text\",\n Order: 4,\n Readonly: true,\n Hide: (roles: string[]) => !roles.includes(\"synlab_access_user\"),\n },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 5, Hide: () => false, Readonly: true },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Readonly: true, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false },\n {\n Name: \"contact_email\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Readonly: false,\n Hide: () => false,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n ],\n adminContact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false },\n {\n Name: \"contact_email\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Readonly: false,\n Hide: () => false,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n {\n Name: \"email\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Readonly: false,\n Hide: () => false,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n ],\n};\n\nexport const dummyDOBValue: string = \"0001-01-01\";\n","\n \n\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { map, take, tap, withLatestFrom } from \"rxjs/operators\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { combineLatest, Observable, of } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { select, Store } from \"@ngrx/store\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { Countries } from \"src/app/models/countries.model\";\nimport { AppSelector } from \"src/app/@store/selectors/app.selectors\";\nimport { headerScopeKey, I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\nimport { UserRoleService } from \"src/app/plasma-ui-common/services/user-role.service\";\n@Component({\n selector: \"app-header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.scss\"],\n})\nexport class HeaderComponent implements OnInit {\n @Input() showDropdown: boolean = false;\n isTara: boolean = false;\n plasmaLink$ = this.config.envConfig$.pipe(\n map((config) => {\n if (this.usertype.isAdminUser() || this.usertype.isCountryAdmin() || this.usertype.isUserAdmin()) {\n return config.BaseAdminUrl;\n } else if (this.usertype.isWebreqAdminUser()) {\n return config.BaseWebreqAdminUrl;\n } else if (this.usertype.isWebreqUser()) {\n return config.BaseWebreqUrl;\n } else if (this.usertype.isUefaUser()) {\n return config.BaseUefaUrl;\n } else if (this.usertype.isPatient() || this.usertype.isAppUser()) {\n return config.BasePlasmaUrl;\n } else if (\n this.usertype.isSchoolAdmin() ||\n this.usertype.isSchoolTeacher() ||\n this.usertype.isLolliSuperAdmin ||\n this.usertype.isCustomerCare()\n ) {\n return config.BasePlasmaUrl;\n } else {\n return \"\";\n }\n })\n );\n\n logo$: Observable = this.store.select(StsSelectors.getAppLogo);\n bookingLink$ = this.store.select(StsSelectors.getBaseBookingUrl);\n checkResultLink$ = this.store.select(StsSelectors.getCheckResultUrl);\n bookingLinkEnabled$ = this.store.pipe(select(StsSelectors.getBookingLinkEnabled));\n isSynlabAccessUser$ = this.store.pipe(select(StsSelectors.isSynlabAccessUser));\n isUkDfpAdminUser$ = this.store.pipe(select(StsSelectors.isUkDfpAdminUser));\n isUkShfyAdminUser$ = this.store.pipe(select(StsSelectors.isUkShfyAdminUser));\n\n availableLangs = this.i18n.getAvailableLanguages().map((lang) => formatLocale(lang));\n countries = Countries.filter((c) => this.availableLangs.indexOf(formatLocale(c.countryCode)) > -1);\n activeLang$ = this.store.pipe(select(AppSelector.getActiveLanguage));\n\n plasmaLabel$ = this.transloco.langChanges$.pipe(\n withLatestFrom(this.isUkDfpAdminUser$, this.isUkShfyAdminUser$),\n map(([lang, isUkDfpAdminUser, isUkShfyAdminUser]) => {\n if (this.usertype.isCustomerCare() || this.usertype.isDenmarkAdmin()) {\n return `${headerScopeKey}.userLabel`;\n } else if (!this.usertype.isDenmarkAdmin() || this.usertype.isPatient() || this.usertype.isAppUser()) {\n return `${headerScopeKey}.myResultLink`;\n } else {\n return isUkDfpAdminUser || isUkShfyAdminUser\n ? `${headerScopeKey}.userManagementLabel`\n : `${headerScopeKey}.plasmaLabel`;\n }\n })\n );\n\n forceMFA$ = this.store.pipe(select(StsSelectors.isMFARequired));\n showPreventionWellnessLink$ = of(false);\n preventionWellnessLink$ = this.store.pipe(select(StsSelectors.getPreventionWellnessLink));\n\n isEEInstance$ = this.store.pipe(select(StsSelectors.isEstoniaInstance));\n isHUTenant$ = this.store.pipe(select(StsSelectors.isHUTenant));\n isSHFYInstance$ = this.store.pipe(select(StsSelectors.isUkShfyInstance));\n isSuperSupportUser$ = this.store.pipe(select(StsSelectors.isSuperSupportUser));\n\n constructor(\n public auth: AuthService,\n public config: ConfigService,\n private transloco: TranslocoService,\n private store: Store,\n private router: Router,\n private i18n: I18nService,\n private activeRoute: ActivatedRoute,\n private usertype: UserRoleService\n ) {}\n\n defLanguage = this.transloco.getActiveLang();\n\n ngOnInit() {\n this.isTara = this.activeRoute.firstChild.snapshot.data.isTara;\n this.logo$.subscribe((n) => console.log(n));\n }\n\n startSignoutMainWindow() {\n this.auth.startSignoutMainWindow();\n }\n\n navigateLink() {\n combineLatest([this.isEEInstance$, this.isHUTenant$, this.forceMFA$])\n .pipe(\n take(1),\n tap(([isEE, isHU, isMFARequired]) => {\n if (!isMFARequired) {\n if (isEE || isHU) {\n window.location.href = this.config.basePlasmaUrl;\n } else {\n this.router.navigate([\"/account/profile\"]);\n }\n }\n })\n )\n .subscribe();\n }\n\n get initial(): Observable {\n return this.store.pipe(select(StsSelectors.getUserInfo)).pipe(\n map((claims) => {\n if (!claims) return \"U\";\n\n const family_name = claims.family_name?.trim();\n const given_name = claims.given_name?.trim();\n const email = claims.email;\n\n if (family_name && given_name) {\n return given_name?.charAt(0) + family_name?.charAt(0);\n } else if (family_name) {\n return family_name.substring(0, 2);\n } else if (given_name) {\n return given_name.substring(0, 2);\n } else {\n return email.substring(0, 2);\n }\n })\n );\n }\n\n /**\n * Change the active language\n * @param language string. two-letter country code.\n */\n changeActiveLanguage(language: string) {\n this.i18n.setStoredLanguage(language.toLowerCase());\n this.updateQueryParam(language);\n }\n\n private updateQueryParam(locale) {\n this.router.navigate([], {\n relativeTo: this.activeRoute,\n queryParams: { langCode: locale },\n queryParamsHandling: \"merge\",\n });\n }\n}\n","export interface Country {\n name: string;\n countryCode: string;\n flag: string;\n}\n\nexport const Countries: Country[] = [\n {\n name: \"English (UK)\",\n countryCode: \"en-GB\",\n flag: \"/assets/images/flag-icons/uk.png\",\n },\n {\n name: \"Hungarian\",\n countryCode: \"hu-HU\",\n flag: \"/assets/images/flag-icons/hu.png\",\n },\n {\n name: \"Portuguese (Portugal)\",\n countryCode: \"pt\",\n flag: \"/assets/images/flag-icons/pt.png\",\n },\n {\n name: \"Spanish (Spain)\",\n countryCode: \"es-ES\",\n flag: \"/assets/images/flag-icons/es.png\",\n },\n {\n name: \"French\",\n countryCode: \"fr-FR\",\n flag: \"/assets/images/flag-icons/fr.png\",\n },\n {\n name: \"French (Swiss)\",\n countryCode: \"fr-CH\",\n flag: \"/assets/images/flag-icons/ch.png\",\n },\n {\n name: \"German\",\n countryCode: \"de\",\n flag: \"/assets/images/flag-icons/de.png\",\n },\n {\n name: \"German (Swiss)\",\n countryCode: \"de-CH\",\n flag: \"/assets/images/flag-icons/ch.png\",\n },\n {\n name: \"Italian\",\n countryCode: \"it\",\n flag: \"/assets/images/flag-icons/it.png\",\n },\n {\n name: \"Italian (Swiss)\",\n countryCode: \"it-CH\",\n flag: \"/assets/images/flag-icons/ch.png\",\n },\n // {\n // name: \"Arabic\",\n // countryCode: \"ar-AE\",\n // flag: \"/assets/images/flag-icons/ar-AE.png\",\n // },\n // {\n // name: \"Belarusian\",\n // countryCode: \"be-BY\",\n // flag: \"/assets/images/flag-icons/be-BY.png\",\n // },\n // {\n // name: \"Croatian\",\n // countryCode: \"hr-HR\",\n // flag: \"/assets/images/flag-icons/hr-HR.png\",\n // },\n // {\n // name: \"Danish\",\n // countryCode: \"da-DK\",\n // flag: \"/assets/images/flag-icons/da-DK.png\",\n // },\n // {\n // name: \"Dutch\",\n // countryCode: \"nl-BE\",\n // flag: \"/assets/images/flag-icons/nl-BE.png\",\n // },\n {\n name: \"Estonian\",\n countryCode: \"et\",\n flag: \"/assets/images/flag-icons/et.png\",\n },\n {\n name: \"Greek\",\n countryCode: \"el\",\n flag: \"/assets/images/flag-icons/el.png\",\n },\n {\n name: \"Lithuanian\",\n countryCode: \"lt-LT\",\n flag: \"/assets/images/flag-icons/lt-LT.png\",\n },\n // {\n // name: \"Macedonian\",\n // countryCode: \"mk-MK\",\n // flag: \"/assets/images/flag-icons/mk-MK.png\",\n // },\n // {\n // name: \"Polish (Poland)\",\n // countryCode: \"pl-PL\",\n // flag: \"/assets/images/flag-icons/pl-PL.png\",\n // },\n // {\n // name: \"Romanian (Romania)\",\n // countryCode: \"ro-RO\",\n // flag: \"/assets/images/flag-icons/ro-RO.png\",\n // },\n {\n name: \"Russian\",\n countryCode: \"ru\",\n flag: \"/assets/images/flag-icons/ru.png\",\n },\n // {\n // name: \"Slovenian\",\n // countryCode: \"sl-SI\",\n // flag: \"/assets/images/flag-icons/sl-SI.png\",\n // },\n {\n name: \"Turkish (Turkey)\",\n countryCode: \"tr-TR\",\n flag: \"/assets/images/flag-icons/tr-TR.png\",\n },\n // {\n // name: \"Ukrainian\",\n // countryCode: \"uk-UA\",\n // flag: \"/assets/images/flag-icons/uk-UA.png\",\n // },\n];\n","export enum EPassForm {\n AUTH_PROVIDER = \"authenticationProvider\",\n SCHEME_PROVIDER = \"schemeProvider\",\n CURRENT_PASS = \"currentPassword\",\n NEW_PASS = \"newPassword\",\n CONFIRM_PASS = \"confirmPassword\",\n}\n","export const LocalStorageKeys = {\n language: \"App[ActiveLanguage]\",\n needReloadForCookiebot: \"App[needReloadForCookiebot]\",\n};\n\nexport enum EStorageKeys {\n REDIRECT_URL = \"APP_REDIRECT_URL\",\n REGISTER_USER_ID = \"REG_USER_ID\",\n REGISTER_REDIRECT_URL = \"REG_REDIRECT_URL\",\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, BehaviorSubject, of } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\n\nexport interface Country {\n Code: string;\n Name: string;\n SmallName: string;\n}\n\n@Injectable({ providedIn: \"root\" })\nexport class CountryService {\n public countriesAsObj$: BehaviorSubject> = new BehaviorSubject({});\n\n public countries$: BehaviorSubject> = new BehaviorSubject([]);\n\n public smallCodeCountries$: Observable = this.countries$.pipe(\n map((countries) =>\n countries.map((country) => ({\n Name: country.Name,\n SmallName: country.Name.toLowerCase(),\n Code: country.Code.toLowerCase(),\n }))\n )\n );\n\n constructor() {\n this.getCountryText$ = this.getCountryText$.bind(this);\n }\n\n public getCountryText$(code: string): Observable {\n const invalidCode: boolean = typeof code !== \"string\" || code.trim() === \"\";\n if (invalidCode) {\n return of(\"\");\n }\n\n return this.smallCodeCountries$.pipe(\n map((countries) => countries.find((country) => country.Code === code.toLowerCase())?.Name || \"\")\n );\n }\n\n public filterCountries$(query: string) {\n query = query?.toLowerCase();\n if (query) {\n return this.smallCodeCountries$.pipe(\n map((countries) =>\n countries.filter((country) => country.Code.indexOf(query) > -1 || country.SmallName.indexOf(query) > -1)\n )\n );\n }\n return this.smallCodeCountries$;\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"dxp-background\",\n templateUrl: \"./dxp-background.component.html\",\n styleUrls: [\"./dxp-background.component.scss\"],\n})\nexport class DxpBackgroundComponent {}\n","
\n \"\"\n
\n","import { NgModule, Component } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DxpBackgroundComponent } from \"./dxp-background.component\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [DxpBackgroundComponent],\n declarations: [DxpBackgroundComponent],\n})\nexport class DxpBackgroundModule {}\n","export const emailPattern =\n /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\])|(([a-zA-Z\\-\\d]+\\.)+[a-zA-Z]{2,}))$/;\nexport const alphanumericUnicode = /^[\\p{L}\\s'’.-]+$/u;\nexport const fiAlphanumericUnicode = /^[^'\"();&|!*%#@-]+$/u;\nexport const alphanumeric = /^[a-zA-Z\\d _-]*$/;\nexport const passwordPattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\nexport const passwordValidation =\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[ !\"#$%&'()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])[A-Za-z\\d !\"#$%&'()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~]{8,}$/;\n\nexport const fiveDigitsPattern = /^[\\d]{5}$/;\n","import { RouterModule } from \"@angular/router\";\nimport { HeaderComponent } from \"./../../layout/header/header.component\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NoWhiteSpaceValidatorDirective } from \"./directives/no-white-space-validator.diretive\";\nimport { ConfirmDiscardModalComponent } from \"./confirm-discard-modal/confirm-discard-modal.component\";\nimport { TranslocoModule } from \"@ngneat/transloco\";\nimport { LoaderComponent } from \"./loader/loader.component\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { UnauthorizedComponent } from \"./unauthorized/unauthorized.component\";\nimport { DatePickerModule } from \"src/app/component-modules/miscellaneous/date-picker/date-picker.module\";\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\nimport { FormsModule } from \"@angular/forms\";\nimport { AgreementPreviewComponent } from \"./agreement-preview/agreement-preview.component\";\nimport { TrimControlDirective } from \"./directives/trim-control.directive\";\nimport { TextReplacement } from \"src/app/pipes/text-replacement.pipe\";\nimport { WarningDialogComponent } from \"./warning-dialog/warning-dialog.component\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\n\n@NgModule({\n declarations: [\n HeaderComponent,\n NoWhiteSpaceValidatorDirective,\n ConfirmDiscardModalComponent,\n LoaderComponent,\n UnauthorizedComponent,\n AgreementPreviewComponent,\n TrimControlDirective,\n TextReplacement,\n WarningDialogComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n // ToastrModule.forRoot(),\n TranslocoModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n MatDialogModule,\n ScrollingModule,\n MatTooltipModule,\n MatIconModule,\n FormsModule,\n NgbModule,\n DatePickerModule,\n ],\n exports: [\n HeaderComponent,\n NoWhiteSpaceValidatorDirective,\n ConfirmDiscardModalComponent,\n TranslocoModule,\n LoaderComponent,\n MatSelectModule,\n MatProgressSpinnerModule,\n MatDialogModule,\n ScrollingModule,\n MatTooltipModule,\n MatIconModule,\n DatePickerModule,\n AgreementPreviewComponent,\n TrimControlDirective,\n TextReplacement,\n UnauthorizedComponent,\n WarningDialogComponent,\n ],\n})\nexport class SharedModule {}\n","import { Injectable } from \"@angular/core\";\nimport { Claim } from \"src/app/plasma-ui-common/synlab-access-ui-components/core\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ClaimService {\n public upsert(claims: Claim[], claim: Claim): Claim[] {\n if (!claim) return claims;\n const index = claims.findIndex((item) => item.claimType === claim?.claimType);\n claims[index < 0 ? claims.length : index] = claim;\n return claims;\n }\n\n public find(claims: Claim[], claimType: string): Claim | undefined {\n return claims.find((claim) => claim.claimType === claimType);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { FormFieldConfig } from \"src/app/models/form-field-config.model\";\nimport { ClaimService } from \"src/app/services/claim/claim.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { PhoneValidationService } from \"src/app/services/phone-validation/phone-validation.service\";\nimport { of, Observable, combineLatest } from \"rxjs\";\nimport { map, withLatestFrom } from \"rxjs/operators\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { FormConfigInterface } from \"src/app/form-configs/interfaces/form-config.interface\";\nexport interface MyProfileSectionProps {\n visible: boolean;\n fields: FormFieldConfig[];\n}\n\nexport interface MyProfileSection {\n [k: string]: MyProfileSectionProps;\n}\n\n@Injectable({ providedIn: \"root\" })\nexport class MyAccountService {\n private anon$ = this.store.select(StsSelectors.isAnonymousUser);\n private synlabAccessUser$ = this.store.select(StsSelectors.isSynlabAccessUser);\n private isHungaryTenant$ = this.store.select(StsSelectors.isHUTenant);\n private isFITenant$ = this.store.select(StsSelectors.isFITenant);\n private isCzechRepublic$ = this.store.select(StsSelectors.isCzechRepublic);\n private disabledFields$ = combineLatest([this.anon$, this.isHungaryTenant$]).pipe(\n map(([isAnon, isHU]) => {\n const disabledFieldsForAnonymousUser: string[] = [\"given_name\", \"family_name\", \"email\"];\n if (isHU && isAnon) return disabledFieldsForAnonymousUser;\n return [\"email\"];\n })\n );\n\n constructor(\n public i18nService: I18nService,\n public phoneValidator: PhoneValidationService,\n public claimService: ClaimService,\n private config: ConfigService,\n private store: Store\n ) {}\n\n public get getProfileSection$(): Observable {\n return combineLatest([\n this.isContactSectionVisible$,\n this.getFieldsForPersonalInfo$,\n this.getFieldsForContactInfo$,\n ]).pipe(\n map(([isVisible, personalFields, contactFields]) => {\n return {\n personal: {\n visible: true,\n fields: personalFields,\n },\n contact: {\n visible: isVisible,\n fields: contactFields,\n },\n };\n })\n );\n }\n\n private get isContactSectionVisible$() {\n // hide contact section for HU tenant and anonymous user\n return combineLatest([this.anon$, this.isHungaryTenant$]).pipe(\n map(([anon, isHu]) => {\n if (isHu && anon) return false;\n return true;\n })\n );\n }\n\n private get getFieldsForPersonalInfo$() {\n const formConfig = this.config?.formConfig || ({} as FormConfigInterface);\n const fields: FormFieldConfig[] = formConfig.personalInfo;\n return this.disabledFields$.pipe(\n map((disabled) =>\n fields?.map((field) => ({\n ...field,\n Disabled: disabled.some((f) => f == field?.Name) || field.Readonly,\n }))\n )\n );\n }\n\n private get getFieldsForContactInfo$() {\n return this.disabledFields$.pipe(\n withLatestFrom(this.isFITenant$, this.synlabAccessUser$),\n map(([disabled, isFi, isSynlabAccessUser]) => {\n const formConfig = this.config?.formConfig || ({} as FormConfigInterface);\n let fields: FormFieldConfig[] = formConfig.contact;\n\n if (isFi && !isSynlabAccessUser) {\n fields = formConfig.adminContact;\n }\n\n return fields?.map((field) => ({\n ...field,\n Disabled: disabled.some((f) => f == field?.Name) || field.Readonly,\n }));\n })\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, of, combineLatest, BehaviorSubject } from \"rxjs\";\nimport { filter, map, tap } from \"rxjs/operators\";\nimport { ConfigService } from \"src/app/plasma-ui-common/synlab-access-ui-components/core\";\nimport { ConfigService as AppConfigService } from \"src/app/services/config/config.service\";\nimport { Config } from \"src/app/plasma-ui-common/synlab-access-ui-components/model/config.model\";\nimport { select, Store } from \"@ngrx/store\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { claimValues } from \"src/app/appsettings\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HeaderConfigService implements ConfigService {\n config: Config;\n configSubject: BehaviorSubject;\n config$: Observable;\n\n constructor(\n private _cfg: AppConfigService,\n private _store: Store\n ) {\n const {\n BaseAdminUrl,\n BaseBookingUrl,\n BaseBookingAdminUrl,\n BaseWebreqAdminUrl,\n BaseWebreqUrl,\n BasePlasmaUrl,\n BaseBigCommerceUrl,\n BaseProfileUrl,\n EeBaseBookingUrl,\n WhiteLabelEnabled,\n WhiteLabelName,\n EnableCheckResults,\n } = _cfg._envConfig;\n\n this.config = {\n baseAdminUrl: BaseAdminUrl,\n baseBookingUrl: BaseBookingUrl,\n baseBookingAdminUrl: BaseBookingAdminUrl,\n baseWebreqAdminUrl: BaseWebreqAdminUrl,\n eeBaseBookingUrl: EeBaseBookingUrl,\n baseWebreqUrl: BaseWebreqUrl,\n basePlasmaUrl: BasePlasmaUrl,\n baseBigcommerceUrl: BaseBigCommerceUrl,\n baseProfileUrl: BaseProfileUrl,\n EnablePreventionWellness: null,\n FullCatalogueViewEnabled: true,\n applicationId: \"sts-accounts\",\n WhiteLabelEnabled: WhiteLabelEnabled.toLowerCase() == \"true\",\n WhiteLabelName,\n EnableCheckResults: EnableCheckResults?.toLowerCase() == \"true\",\n };\n\n this.configSubject = new BehaviorSubject(this.config);\n\n const generateConfig = combineLatest([\n this._store.pipe(select(StsSelectors.isGenePlanetEnrolled)),\n this._store.pipe(select(StsSelectors.hasGeneplanetOrders)),\n ]).pipe(\n filter(([enrolled]) => enrolled !== null),\n map(([enrolled, canEnroll]) => enrolled || canEnroll),\n map((res) => {\n if (this._cfg._envConfig.EnablePreventionWellness.toLowerCase() != claimValues.TRUE) {\n return false;\n }\n return res;\n }),\n tap((res) => {\n if (res === null) {\n this._store.dispatch(STSActions.fetchHasGeneplanetOrders());\n }\n return of(res);\n }),\n map((EnablePreventionWellness) => ({\n ...this.config,\n EnablePreventionWellness,\n })),\n tap((config) => this.configSubject.next(config))\n );\n\n generateConfig.subscribe();\n this.config$ = this.configSubject.asObservable();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Store, select } from \"@ngrx/store\";\nimport { Observable } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { Profile, ProfileService, UsertypeService } from \"src/app/plasma-ui-common/synlab-access-ui-components/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Injectable()\nexport class HeaderUsertypeService implements UsertypeService, ProfileService {\n constructor(\n private _store: Store,\n private _auth: AuthService\n ) {}\n usertypes$: Observable = this._auth.userInfo$.pipe(\n map((u) => (Array.isArray(u.user_type) ? u.user_type : [u.user_type]))\n );\n profile$: Observable = this._store.pipe(select(StsSelectors.getUserHeader));\n}\n","
\n\n
\n \n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { select, Store } from \"@ngrx/store\";\nimport DOMPurify from \"dompurify\";\nimport { BehaviorSubject, combineLatest, Observable, of } from \"rxjs\";\nimport { map, shareReplay, tap, flatMap, finalize, take, takeWhile } from \"rxjs/operators\";\nimport { ProfileActions } from \"src/app/@store/actions/profile.actions\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { ProfileSelectors } from \"src/app/@store/selectors/profile.selectors\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { addTargetBlankToAnchors } from \"src/app/plasma-ui-common/utils/add-target-blank-to-anchors\";\nimport { AgreementType, AgreementService } from \"src/app/services/agreement/agreement.service\";\nimport { I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { isInAvailableLocale } from \"src/app/transloco-root.module\";\n\n@Component({\n selector: \"app-managed-privacy-policy\",\n templateUrl: \"./managed-privacy-policy.component.html\",\n styleUrls: [\"./managed-privacy-policy.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ManagedPrivacyPolicyComponent implements OnInit {\n html$: Observable;\n langCode$: Observable;\n loading: boolean;\n\n private localeClaim$ = this.store.pipe(select(ProfileSelectors.getLocale));\n private isLoggedIn$ = this.store.pipe(select(StsSelectors.isLoggedIn));\n firstLoad$ = new BehaviorSubject(true);\n\n constructor(\n private route: ActivatedRoute,\n private transloco: TranslocoService,\n private i18n: I18nService,\n private agreement: AgreementService,\n private sanitizer: DomSanitizer,\n private changeRef: ChangeDetectorRef,\n private store: Store\n ) {}\n\n detectChanges(fn: () => void) {\n fn();\n this.changeRef.detectChanges();\n }\n\n ngOnInit() {\n this.isLoggedIn$.pipe(take(1)).subscribe((n) => {\n if (n) {\n // load profile to get \"locale\" claims\n this.store.dispatch(ProfileActions.getProfile());\n this.isLoggedIn();\n } else {\n this.isLoggedOut();\n }\n });\n }\n\n isLoggedIn() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.localeClaim$,\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([userLocale, locales, qsLang, translocoLang]) => {\n const l = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n const activeLang = userLocale && this.firstLoad$.getValue() ? userLocale : l;\n this.firstLoad$.next(false);\n if (activeLang) {\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n\n const type = this.route.snapshot.data[\"page\"];\n this.html$ = combineLatest([of(type), this.langCode$]).pipe(\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => x.files[0]),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n this.loading = false;\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => {\n this.detectChanges(() => (this.loading = false));\n })\n );\n }\n\n isLoggedOut() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([locales, qsLang, translocoLang]) => {\n const activeLang = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n if (activeLang) {\n if (this.firstLoad$.getValue()) {\n this.firstLoad$.next(false);\n const inAvailableLang = isInAvailableLocale(activeLang, this.transloco.getAvailableLangs() as string[]);\n if (inAvailableLang != \"\") {\n this.transloco.setActiveLang(inAvailableLang);\n }\n }\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n\n const type = this.route.snapshot.data[\"page\"];\n this.html$ = combineLatest([of(type), this.langCode$]).pipe(\n takeWhile(() => !this.firstLoad$.getValue()),\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => x.files[0]),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => this.detectChanges(() => (this.loading = false)))\n );\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { PrivacyPolicyComponent } from \"./privacy-policy.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { ManagedPrivacyPolicyComponent } from \"./managed-privacy-policy/managed-privacy-policy.component\";\n\n@NgModule({\n declarations: [PrivacyPolicyComponent, ManagedPrivacyPolicyComponent],\n imports: [CommonModule, SharedModule],\n exports: [PrivacyPolicyComponent, ManagedPrivacyPolicyComponent],\n})\nexport class PrivacyPolicyModule {}\n","
\n\n
\n \n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { select, Store } from \"@ngrx/store\";\nimport DOMPurify from \"dompurify\";\nimport { BehaviorSubject, combineLatest, Observable, of } from \"rxjs\";\nimport { map, shareReplay, tap, flatMap, finalize, take, takeWhile } from \"rxjs/operators\";\nimport { ProfileActions } from \"src/app/@store/actions/profile.actions\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { ProfileSelectors } from \"src/app/@store/selectors/profile.selectors\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { addTargetBlankToAnchors } from \"src/app/plasma-ui-common/utils/add-target-blank-to-anchors\";\nimport { AgreementType, AgreementService } from \"src/app/services/agreement/agreement.service\";\nimport { I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { isInAvailableLocale } from \"src/app/transloco-root.module\";\n\n@Component({\n selector: \"app-managed-terms-of-use\",\n templateUrl: \"./managed-terms-of-use.component.html\",\n styleUrls: [\"./managed-terms-of-use.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ManagedTermsOfUseComponent implements OnInit {\n html$: Observable;\n langCode$: Observable;\n loading: boolean;\n private localeClaim$ = this.store.pipe(select(ProfileSelectors.getLocale));\n private isLoggedIn$ = this.store.pipe(select(StsSelectors.isLoggedIn));\n firstLoad$ = new BehaviorSubject(true);\n\n constructor(\n private route: ActivatedRoute,\n private transloco: TranslocoService,\n private i18n: I18nService,\n private agreement: AgreementService,\n private sanitizer: DomSanitizer,\n private changeRef: ChangeDetectorRef,\n private store: Store\n ) {\n // load profile to get \"locale\" claims\n this.store.dispatch(ProfileActions.getProfile());\n }\n\n detectChanges(fn: () => void) {\n fn();\n this.changeRef.detectChanges();\n }\n\n ngOnInit() {\n this.isLoggedIn$.pipe(take(1)).subscribe((n) => {\n if (n) {\n // load profile to get \"locale\" claims\n this.store.dispatch(ProfileActions.getProfile());\n this.isLoggedIn();\n } else {\n this.isLoggedOut();\n }\n });\n }\n\n isLoggedIn() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.localeClaim$,\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([userLocale, locales, qsLang, translocoLang]) => {\n const l = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n const activeLang = userLocale && this.firstLoad$.getValue() ? userLocale : l;\n this.firstLoad$.next(false);\n if (activeLang) {\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n\n this.html$ = combineLatest([of(AgreementType.TermsAndCondition), this.langCode$]).pipe(\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => {\n return x.files[0];\n }),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n this.loading = false;\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => this.detectChanges(() => (this.loading = false)))\n );\n }\n\n isLoggedOut() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([locales, qsLang, translocoLang]) => {\n const activeLang = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n if (activeLang) {\n if (this.firstLoad$.getValue()) {\n this.firstLoad$.next(false);\n const inAvailableLang = isInAvailableLocale(activeLang, this.transloco.getAvailableLangs() as string[]);\n if (inAvailableLang != \"\") {\n this.transloco.setActiveLang(inAvailableLang);\n }\n }\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.html$ = combineLatest([of(AgreementType.TermsAndCondition), this.langCode$]).pipe(\n takeWhile(() => !this.firstLoad$.getValue()),\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => {\n return x.files[0];\n }),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => this.detectChanges(() => (this.loading = false)))\n );\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TermsOfUseComponent } from \"./terms-of-use.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { ManagedTermsOfUseComponent } from \"./managed-terms-of-use/managed-terms-of-use.component\";\n\n@NgModule({\n declarations: [TermsOfUseComponent, ManagedTermsOfUseComponent],\n imports: [CommonModule, SharedModule],\n exports: [TermsOfUseComponent, ManagedTermsOfUseComponent],\n})\nexport class TermsOfUseModule {}\n","import { Injectable } from '@angular/core';\n\nexport interface UserInfo {\n name: string;\n username?: string;\n country: string;\n client_id: string;\n email: string;\n email_verified: string;\n family_name: string;\n given_name: string;\n phone: string;\n preferred_username: string;\n sub: string;\n user_type: string | string[];\n userId?: string;\n ssn?: string;\n}\n\nexport enum UserType {\n SuperAdmin = \"superadmin\",\n ApiAdmin = \"apiadmin\",\n ClientAdmin = \"clientadmin\",\n IdentityResourceAdmin = \"identityresourceadmin\",\n Bcp = \"bcp\",\n UefaAdmin = \"uefa_admin\",\n UefaLaboratory = \"uefa_laboratory\",\n UefaTeam = \"uefa_team\",\n UefaOfficial = \"uefa_official\",\n UefaUser = \"uefa_user\",\n UefaMlo = \"uefa_mlo\",\n UefaManagement = \"uefa_management\",\n UefaTeammloLab = \"uefa_teammlo_lab\",\n UefaMloLab = \"uefa_mlo_lab\",\n Doctor = \"doctor\",\n WebreqUser = \"webreq_user\",\n SynlabAccessUser = \"synlab_access_user\",\n WebreqAdmin = \"webreq_admin\",\n WebreqSuperAdmin = \"webreq_superadmin\",\n Patient = \"patient\",\n CustomerCare = \"customer_care\",\n DeAdmin = \"de_admin\",\n EsAdmin = \"es_admin\",\n ItAdmin = \"it_admin\",\n CoAdmin = \"co_admin\",\n DkAdmin = \"dk_admin\",\n PtAdmin = \"pt_admin\",\n EeAdmin = \"ee_admin\",\n AirAdmin = \"air_admin\",\n UkDfpAdmin = \"uk_dfp_admin\",\n UkShfyAdmin = \"uk_shfy_admin\",\n UserAdmin = \"useradmin\",\n SchoolAdmin = \"school_admin\",\n MassCompany = \"mass_company\",\n SchoolTeacher = \"school_teacher\",\n LolliSuperAdmin = \"lolli_superadmin\",\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserRoleService {\n\n private currentUser: Record;\n\n public readonly patient_users = [UserType.Patient];\n public readonly customer_care = [UserType.CustomerCare];\n public readonly de_admin = [UserType.DeAdmin];\n public readonly es_admin = [UserType.EsAdmin];\n public readonly it_admin = [UserType.ItAdmin];\n public readonly co_admin = [UserType.CoAdmin];\n public readonly dk_admin = [UserType.DkAdmin];\n public readonly pt_admin = [UserType.PtAdmin];\n public readonly ee_admin = [UserType.EeAdmin];\n public readonly air_admin = [UserType.AirAdmin];\n public readonly uk_dfp_admin = [UserType.UkDfpAdmin];\n public readonly uk_shfy_admin = [UserType.UkShfyAdmin];\n public readonly useradmin = [UserType.UserAdmin];\n public readonly synlab_access_users = [UserType.SynlabAccessUser];\n public readonly bcp_user = [UserType.Bcp];\n public readonly school_admin = UserType.SchoolAdmin;\n public readonly mass_company = UserType.MassCompany;\n public readonly school_teacher = UserType.SchoolTeacher;\n public readonly lolli_superadmin = UserType.LolliSuperAdmin;\n public readonly webreq_users = [UserType.Bcp, UserType.Doctor, UserType.WebreqUser];\n public readonly webreqadmin_users = [UserType.WebreqAdmin, UserType.WebreqSuperAdmin];\n public readonly admintypes = [\n UserType.SuperAdmin,\n UserType.ApiAdmin,\n UserType.ClientAdmin,\n UserType.IdentityResourceAdmin,\n UserType.Bcp,\n ];\n public readonly uefa_users = [\n UserType.UefaAdmin,\n UserType.UefaLaboratory,\n UserType.UefaTeam,\n UserType.UefaOfficial,\n UserType.UefaUser,\n UserType.UefaMlo,\n UserType.UefaManagement,\n UserType.UefaTeammloLab,\n UserType.UefaMloLab,\n ];\n public readonly admin_users = [\n UserType.SuperAdmin,\n UserType.ClientAdmin,\n UserType.ApiAdmin,\n UserType.IdentityResourceAdmin,\n ];\n\n constructor() {}\n\n public setUser(user: Record){\n this.currentUser = user;\n }\n\n private checkUserAccess(types: UserType[]): boolean {\n const userTypes = this.currentUser?.user_type ?? [];\n return userTypes.some((type) => types.includes(type as UserType));\n }\n\n isAdminUser(): boolean {\n return this.checkUserAccess(this.admin_users);\n }\n isAppUser(): boolean {\n return this.checkUserAccess(this.synlab_access_users);\n }\n isWebreqAdminUser(): boolean {\n return this.checkUserAccess(this.webreqadmin_users);\n }\n isWebreqUser(): boolean {\n return this.checkUserAccess(this.webreq_users);\n }\n isUefaUser(): boolean {\n return this.checkUserAccess(this.uefa_users);\n }\n isPatient(): boolean {\n return this.checkUserAccess(this.patient_users);\n }\n isCustomerCare(): boolean {\n return this.checkUserAccess(this.customer_care);\n }\n isColombiaAdmin(): boolean {\n return this.checkUserAccess(this.co_admin);\n }\n isDenmarkAdmin(): boolean {\n return this.checkUserAccess(this.dk_admin);\n }\n isPortugalAdmin(): boolean {\n return this.checkUserAccess(this.pt_admin);\n }\n isAirAdmin(): boolean {\n return this.checkUserAccess(this.air_admin);\n }\n isBCP(): boolean {\n return this.checkUserAccess(this.bcp_user);\n }\n\n isCountryAdmin(): boolean {\n return this.checkUserAccess(\n this.co_admin.concat(\n this.pt_admin,\n this.air_admin,\n this.dk_admin,\n this.de_admin,\n this.es_admin,\n this.it_admin,\n this.ee_admin,\n this.uk_dfp_admin,\n this.uk_shfy_admin\n )\n );\n }\n isUserAdmin(): boolean {\n return this.checkUserAccess(this.useradmin);\n }\n isSchoolAdmin(): boolean {\n return this.checkUserAccess([this.school_admin]);\n }\n isSchoolTeacher(): boolean {\n return this.checkUserAccess([this.school_teacher]);\n }\n isLolliSuperAdmin(): boolean {\n return this.checkUserAccess([this.lolli_superadmin]);\n }\n isMassCompany(): boolean {\n return this.checkUserAccess([this.mass_company]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CoreModule } from '../core.module';\nimport { Config } from '../../model/config.model';\nimport { Observable, of } from 'rxjs';\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class ConfigService {\n config$: Observable = of({\n EnablePreventionWellness: false,\n FullCatalogueViewEnabled: false,\n baseAdminUrl: '/admin',\n baseBigcommerceUrl: '/big-commerce',\n baseBookingUrl: '/booking',\n baseBookingAdminUrl: '/booking',\n baseWebreqAdminUrl: '/webreq',\n baseWebreqUrl: '/webreq',\n basePlasmaUrl: '/results',\n baseProfileUrl: '/profile',\n eeBaseBookingUrl: '/ee-booking',\n WhiteLabelEnabled: false,\n WhiteLabelName: '',\n EnableCheckResults: false\n })\n}\n","export const MIN_DESKTOP_WIDTH = 1024;\nexport const PATIENT_WEB_LOCALE_STORAGE_KEY = \"langCode\";\nexport const ACCOUNTS_LOCALE_STORAGE_KEY = \"App[ActiveLanguage]\";\nexport const RANDOM_NONCE = \"hY7p2Qw8XzMv3K9B\";\n","import { NgModule } from '@angular/core';\n\n@NgModule()\nexport class CoreModule {}\n","import { Injectable } from '@angular/core';\nimport { of } from 'rxjs';\nimport { CoreModule } from '../core.module';\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class HeaderVisibilityService {\n visible$ = of(true);\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { CoreModule } from '../core.module';\n\n@Injectable({\n providedIn: CoreModule\n})\n\nexport class ProfileService {\n profile$:Observable = of({\n givenName: 'first name',\n familyName: 'last name',\n synlabId: 'A',\n claims: []\n })\n}\nexport type Claim = {\n claimValue: string,\n claimType: string\n}\n\nexport type Profile = {\n givenName: string,\n familyName: string,\n synlabId: string,\n claims: Claim[]\n}\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { CoreModule } from '../core.module';\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class UsertypeService {\n usertypes$: Observable = of([])\n}\n","import { Injectable } from \"@angular/core\";\nimport { CoreModule } from \"../core.module\";\n\n@Injectable({\n providedIn: CoreModule,\n})\nexport class LoggerService {\n public get log(): Function {\n return () => {};\n }\n\n constructor() {}\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, NgModule } from \"@angular/core\";\n\n@Component({\n selector: 'app-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss']\n})\nexport class SpinnerComponent { }\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SpinnerComponent],\n exports: [SpinnerComponent]\n})\nexport class SpinnerModule { }\n","
\n","import * as i0 from '@angular/core';\nimport { InjectionToken, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Optional, Input, Directive, QueryList, EventEmitter, TemplateRef, ContentChildren, ViewChild, ContentChild, Output, inject, ChangeDetectorRef, Self, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/a11y';\nimport { FocusKeyManager, isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW, ESCAPE, hasModifierKey, ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Subject, merge, Subscription, of, asapScheduler } from 'rxjs';\nimport { startWith, switchMap, take, takeUntil, filter, delay } from 'rxjs/operators';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { MatRipple, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport { TemplatePortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i1$1 from '@angular/cdk/overlay';\nimport { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\n/**\n * Injection token used to provide the parent menu to menu-specific components.\n * @docs-private\n */\nconst MAT_MENU_PANEL = new InjectionToken('MAT_MENU_PANEL');\n\n/**\n * Single item inside a `mat-menu`. Provides the menu item styling and accessibility treatment.\n */\nclass MatMenuItem {\n constructor(_elementRef, _document, _focusMonitor, _parentMenu, _changeDetectorRef) {\n this._elementRef = _elementRef;\n this._document = _document;\n this._focusMonitor = _focusMonitor;\n this._parentMenu = _parentMenu;\n this._changeDetectorRef = _changeDetectorRef;\n /** ARIA role for the menu item. */\n this.role = 'menuitem';\n /** Whether the menu item is disabled. */\n this.disabled = false;\n /** Whether ripples are disabled on the menu item. */\n this.disableRipple = false;\n /** Stream that emits when the menu item is hovered. */\n this._hovered = new Subject();\n /** Stream that emits when the menu item is focused. */\n this._focused = new Subject();\n /** Whether the menu item is highlighted. */\n this._highlighted = false;\n /** Whether the menu item acts as a trigger for a sub-menu. */\n this._triggersSubmenu = false;\n _parentMenu?.addItem?.(this);\n }\n /** Focuses the menu item. */\n focus(origin, options) {\n if (this._focusMonitor && origin) {\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\n }\n else {\n this._getHostElement().focus(options);\n }\n this._focused.next(this);\n }\n ngAfterViewInit() {\n if (this._focusMonitor) {\n // Start monitoring the element, so it gets the appropriate focused classes. We want\n // to show the focus style for menu items only when the focus was not caused by a\n // mouse or touch interaction.\n this._focusMonitor.monitor(this._elementRef, false);\n }\n }\n ngOnDestroy() {\n if (this._focusMonitor) {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n if (this._parentMenu && this._parentMenu.removeItem) {\n this._parentMenu.removeItem(this);\n }\n this._hovered.complete();\n this._focused.complete();\n }\n /** Used to set the `tabindex`. */\n _getTabIndex() {\n return this.disabled ? '-1' : '0';\n }\n /** Returns the host DOM element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n /** Prevents the default element actions if it is disabled. */\n _checkDisabled(event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n /** Emits to the hover stream. */\n _handleMouseEnter() {\n this._hovered.next(this);\n }\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel() {\n const clone = this._elementRef.nativeElement.cloneNode(true);\n const icons = clone.querySelectorAll('mat-icon, .material-icons');\n // Strip away icons, so they don't show up in the text.\n for (let i = 0; i < icons.length; i++) {\n icons[i].remove();\n }\n return clone.textContent?.trim() || '';\n }\n _setHighlighted(isHighlighted) {\n // We need to mark this for check for the case where the content is coming from a\n // `matMenuContent` whose change detection tree is at the declaration position,\n // not the insertion position. See #23175.\n // @breaking-change 12.0.0 Remove null check for `_changeDetectorRef`.\n this._highlighted = isHighlighted;\n this._changeDetectorRef?.markForCheck();\n }\n _setTriggersSubmenu(triggersSubmenu) {\n // @breaking-change 12.0.0 Remove null check for `_changeDetectorRef`.\n this._triggersSubmenu = triggersSubmenu;\n this._changeDetectorRef?.markForCheck();\n }\n _hasFocus() {\n return this._document && this._document.activeElement === this._getHostElement();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuItem, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.FocusMonitor }, { token: MAT_MENU_PANEL, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"17.2.0\", type: MatMenuItem, isStandalone: true, selector: \"[mat-menu-item]\", inputs: { role: \"role\", disabled: [\"disabled\", \"disabled\", booleanAttribute], disableRipple: [\"disableRipple\", \"disableRipple\", booleanAttribute] }, host: { listeners: { \"click\": \"_checkDisabled($event)\", \"mouseenter\": \"_handleMouseEnter()\" }, properties: { \"attr.role\": \"role\", \"class.mat-mdc-menu-item-highlighted\": \"_highlighted\", \"class.mat-mdc-menu-item-submenu-trigger\": \"_triggersSubmenu\", \"attr.tabindex\": \"_getTabIndex()\", \"attr.aria-disabled\": \"disabled\", \"attr.disabled\": \"disabled || null\" }, classAttribute: \"mat-mdc-menu-item mat-mdc-focus-indicator\" }, exportAs: [\"matMenuItem\"], ngImport: i0, template: \"\\n\\n
\\n
\\n\\n@if (_triggersSubmenu) {\\n \\n}\\n\", dependencies: [{ kind: \"directive\", type: MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuItem, decorators: [{\n type: Component,\n args: [{ selector: '[mat-menu-item]', exportAs: 'matMenuItem', host: {\n '[attr.role]': 'role',\n 'class': 'mat-mdc-menu-item mat-mdc-focus-indicator',\n '[class.mat-mdc-menu-item-highlighted]': '_highlighted',\n '[class.mat-mdc-menu-item-submenu-trigger]': '_triggersSubmenu',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': 'disabled',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_checkDisabled($event)',\n '(mouseenter)': '_handleMouseEnter()',\n }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [MatRipple], template: \"\\n\\n
\\n
\\n\\n@if (_triggersSubmenu) {\\n \\n}\\n\" }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_PANEL]\n }, {\n type: Optional\n }] }, { type: i0.ChangeDetectorRef }], propDecorators: { role: [{\n type: Input\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], disableRipple: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }] } });\n\n/**\n * Throws an exception for the case when menu's x-position value isn't valid.\n * In other words, it doesn't match 'before' or 'after'.\n * @docs-private\n */\nfunction throwMatMenuInvalidPositionX() {\n throw Error(`xPosition value must be either 'before' or after'.\n Example: `);\n}\n/**\n * Throws an exception for the case when menu's y-position value isn't valid.\n * In other words, it doesn't match 'above' or 'below'.\n * @docs-private\n */\nfunction throwMatMenuInvalidPositionY() {\n throw Error(`yPosition value must be either 'above' or below'.\n Example: `);\n}\n/**\n * Throws an exception for the case when a menu is assigned\n * to a trigger that is placed inside the same menu.\n * @docs-private\n */\nfunction throwMatMenuRecursiveError() {\n throw Error(`matMenuTriggerFor: menu cannot contain its own trigger. Assign a menu that is ` +\n `not a parent of the trigger or move the trigger outside of the menu.`);\n}\n\n/**\n * Injection token that can be used to reference instances of `MatMenuContent`. It serves\n * as alternative token to the actual `MatMenuContent` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_MENU_CONTENT = new InjectionToken('MatMenuContent');\n/** Menu content that will be rendered lazily once the menu is opened. */\nclass MatMenuContent {\n constructor(_template, _componentFactoryResolver, _appRef, _injector, _viewContainerRef, _document, _changeDetectorRef) {\n this._template = _template;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._injector = _injector;\n this._viewContainerRef = _viewContainerRef;\n this._document = _document;\n this._changeDetectorRef = _changeDetectorRef;\n /** Emits when the menu content has been attached. */\n this._attached = new Subject();\n }\n /**\n * Attaches the content with a particular context.\n * @docs-private\n */\n attach(context = {}) {\n if (!this._portal) {\n this._portal = new TemplatePortal(this._template, this._viewContainerRef);\n }\n this.detach();\n if (!this._outlet) {\n this._outlet = new DomPortalOutlet(this._document.createElement('div'), this._componentFactoryResolver, this._appRef, this._injector);\n }\n const element = this._template.elementRef.nativeElement;\n // Because we support opening the same menu from different triggers (which in turn have their\n // own `OverlayRef` panel), we have to re-insert the host element every time, otherwise we\n // risk it staying attached to a pane that's no longer in the DOM.\n element.parentNode.insertBefore(this._outlet.outletElement, element);\n // When `MatMenuContent` is used in an `OnPush` component, the insertion of the menu\n // content via `createEmbeddedView` does not cause the content to be seen as \"dirty\"\n // by Angular. This causes the `@ContentChildren` for menu items within the menu to\n // not be updated by Angular. By explicitly marking for check here, we tell Angular that\n // it needs to check for new menu items and update the `@ContentChild` in `MatMenu`.\n // @breaking-change 9.0.0 Make change detector ref required\n this._changeDetectorRef?.markForCheck();\n this._portal.attach(this._outlet, context);\n this._attached.next();\n }\n /**\n * Detaches the content.\n * @docs-private\n */\n detach() {\n if (this._portal.isAttached) {\n this._portal.detach();\n }\n }\n ngOnDestroy() {\n if (this._outlet) {\n this._outlet.dispose();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuContent, deps: [{ token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatMenuContent, isStandalone: true, selector: \"ng-template[matMenuContent]\", providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuContent, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[matMenuContent]',\n providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }],\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.ChangeDetectorRef }] });\n\n/**\n * Animations used by the mat-menu component.\n * Animation duration and timing values are based on:\n * https://material.io/guidelines/components/menus.html#menus-usage\n * @docs-private\n */\nconst matMenuAnimations = {\n /**\n * This animation controls the menu panel's entry and exit from the page.\n *\n * When the menu panel is added to the DOM, it scales in and fades in its border.\n *\n * When the menu panel is removed from the DOM, it simply fades out after a brief\n * delay to display the ripple.\n */\n transformMenu: trigger('transformMenu', [\n state('void', style({\n opacity: 0,\n transform: 'scale(0.8)',\n })),\n transition('void => enter', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1)',\n }))),\n transition('* => void', animate('100ms 25ms linear', style({ opacity: 0 }))),\n ]),\n /**\n * This animation fades in the background color and content of the menu panel\n * after its containing element is scaled in.\n */\n fadeInItems: trigger('fadeInItems', [\n // TODO(crisbeto): this is inside the `transformMenu`\n // now. Remove next time we do breaking changes.\n state('showing', style({ opacity: 1 })),\n transition('void => *', [\n style({ opacity: 0 }),\n animate('400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\n ]),\n ]),\n};\n/**\n * @deprecated\n * @breaking-change 8.0.0\n * @docs-private\n */\nconst fadeInItems = matMenuAnimations.fadeInItems;\n/**\n * @deprecated\n * @breaking-change 8.0.0\n * @docs-private\n */\nconst transformMenu = matMenuAnimations.transformMenu;\n\nlet menuPanelUid = 0;\n/** Injection token to be used to override the default options for `mat-menu`. */\nconst MAT_MENU_DEFAULT_OPTIONS = new InjectionToken('mat-menu-default-options', {\n providedIn: 'root',\n factory: MAT_MENU_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_MENU_DEFAULT_OPTIONS_FACTORY() {\n return {\n overlapTrigger: false,\n xPosition: 'after',\n yPosition: 'below',\n backdropClass: 'cdk-overlay-transparent-backdrop',\n };\n}\nclass MatMenu {\n /** Position of the menu in the X axis. */\n get xPosition() {\n return this._xPosition;\n }\n set xPosition(value) {\n if (value !== 'before' &&\n value !== 'after' &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatMenuInvalidPositionX();\n }\n this._xPosition = value;\n this.setPositionClasses();\n }\n /** Position of the menu in the Y axis. */\n get yPosition() {\n return this._yPosition;\n }\n set yPosition(value) {\n if (value !== 'above' && value !== 'below' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatMenuInvalidPositionY();\n }\n this._yPosition = value;\n this.setPositionClasses();\n }\n /**\n * This method takes classes set on the host mat-menu element and applies them on the\n * menu template that displays in the overlay container. Otherwise, it's difficult\n * to style the containing menu from outside the component.\n * @param classes list of class names\n */\n set panelClass(classes) {\n const previousPanelClass = this._previousPanelClass;\n const newClassList = { ...this._classList };\n if (previousPanelClass && previousPanelClass.length) {\n previousPanelClass.split(' ').forEach((className) => {\n newClassList[className] = false;\n });\n }\n this._previousPanelClass = classes;\n if (classes && classes.length) {\n classes.split(' ').forEach((className) => {\n newClassList[className] = true;\n });\n this._elementRef.nativeElement.className = '';\n }\n this._classList = newClassList;\n }\n /**\n * This method takes classes set on the host mat-menu element and applies them on the\n * menu template that displays in the overlay container. Otherwise, it's difficult\n * to style the containing menu from outside the component.\n * @deprecated Use `panelClass` instead.\n * @breaking-change 8.0.0\n */\n get classList() {\n return this.panelClass;\n }\n set classList(classes) {\n this.panelClass = classes;\n }\n constructor(_elementRef, _ngZone, defaultOptions, \n // @breaking-change 15.0.0 `_changeDetectorRef` to become a required parameter.\n _changeDetectorRef) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._changeDetectorRef = _changeDetectorRef;\n this._elevationPrefix = 'mat-elevation-z';\n this._baseElevation = 8;\n /** Only the direct descendant menu items. */\n this._directDescendantItems = new QueryList();\n /** Classes to be applied to the menu panel. */\n this._classList = {};\n /** Current state of the panel animation. */\n this._panelAnimationState = 'void';\n /** Emits whenever an animation on the menu completes. */\n this._animationDone = new Subject();\n /** Event emitted when the menu is closed. */\n this.closed = new EventEmitter();\n /**\n * Event emitted when the menu is closed.\n * @deprecated Switch to `closed` instead\n * @breaking-change 8.0.0\n */\n this.close = this.closed;\n this.panelId = `mat-menu-panel-${menuPanelUid++}`;\n this.overlayPanelClass = defaultOptions.overlayPanelClass || '';\n this._xPosition = defaultOptions.xPosition;\n this._yPosition = defaultOptions.yPosition;\n this.backdropClass = defaultOptions.backdropClass;\n this.overlapTrigger = defaultOptions.overlapTrigger;\n this.hasBackdrop = defaultOptions.hasBackdrop;\n }\n ngOnInit() {\n this.setPositionClasses();\n }\n ngAfterContentInit() {\n this._updateDirectDescendants();\n this._keyManager = new FocusKeyManager(this._directDescendantItems)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd();\n this._keyManager.tabOut.subscribe(() => this.closed.emit('tab'));\n // If a user manually (programmatically) focuses a menu item, we need to reflect that focus\n // change back to the key manager. Note that we don't need to unsubscribe here because _focused\n // is internal and we know that it gets completed on destroy.\n this._directDescendantItems.changes\n .pipe(startWith(this._directDescendantItems), switchMap(items => merge(...items.map((item) => item._focused))))\n .subscribe(focusedItem => this._keyManager.updateActiveItem(focusedItem));\n this._directDescendantItems.changes.subscribe((itemsList) => {\n // Move focus to another item, if the active item is removed from the list.\n // We need to debounce the callback, because multiple items might be removed\n // in quick succession.\n const manager = this._keyManager;\n if (this._panelAnimationState === 'enter' && manager.activeItem?._hasFocus()) {\n const items = itemsList.toArray();\n const index = Math.max(0, Math.min(items.length - 1, manager.activeItemIndex || 0));\n if (items[index] && !items[index].disabled) {\n manager.setActiveItem(index);\n }\n else {\n manager.setNextItemActive();\n }\n }\n });\n }\n ngOnDestroy() {\n this._keyManager?.destroy();\n this._directDescendantItems.destroy();\n this.closed.complete();\n this._firstItemFocusSubscription?.unsubscribe();\n }\n /** Stream that emits whenever the hovered menu item changes. */\n _hovered() {\n // Coerce the `changes` property because Angular types it as `Observable`\n const itemChanges = this._directDescendantItems.changes;\n return itemChanges.pipe(startWith(this._directDescendantItems), switchMap(items => merge(...items.map((item) => item._hovered))));\n }\n /*\n * Registers a menu item with the menu.\n * @docs-private\n * @deprecated No longer being used. To be removed.\n * @breaking-change 9.0.0\n */\n addItem(_item) { }\n /**\n * Removes an item from the menu.\n * @docs-private\n * @deprecated No longer being used. To be removed.\n * @breaking-change 9.0.0\n */\n removeItem(_item) { }\n /** Handle a keyboard event from the menu, delegating to the appropriate action. */\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n switch (keyCode) {\n case ESCAPE:\n if (!hasModifierKey(event)) {\n event.preventDefault();\n this.closed.emit('keydown');\n }\n break;\n case LEFT_ARROW:\n if (this.parentMenu && this.direction === 'ltr') {\n this.closed.emit('keydown');\n }\n break;\n case RIGHT_ARROW:\n if (this.parentMenu && this.direction === 'rtl') {\n this.closed.emit('keydown');\n }\n break;\n default:\n if (keyCode === UP_ARROW || keyCode === DOWN_ARROW) {\n manager.setFocusOrigin('keyboard');\n }\n manager.onKeydown(event);\n return;\n }\n // Don't allow the event to propagate if we've already handled it, or it may\n // end up reaching other overlays that were opened earlier (see #22694).\n event.stopPropagation();\n }\n /**\n * Focus the first item in the menu.\n * @param origin Action from which the focus originated. Used to set the correct styling.\n */\n focusFirstItem(origin = 'program') {\n // Wait for `onStable` to ensure iOS VoiceOver screen reader focuses the first item (#24735).\n this._firstItemFocusSubscription?.unsubscribe();\n this._firstItemFocusSubscription = this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n let menuPanel = null;\n if (this._directDescendantItems.length) {\n // Because the `mat-menuPanel` is at the DOM insertion point, not inside the overlay, we don't\n // have a nice way of getting a hold of the menuPanel panel. We can't use a `ViewChild` either\n // because the panel is inside an `ng-template`. We work around it by starting from one of\n // the items and walking up the DOM.\n menuPanel = this._directDescendantItems.first._getHostElement().closest('[role=\"menu\"]');\n }\n // If an item in the menuPanel is already focused, avoid overriding the focus.\n if (!menuPanel || !menuPanel.contains(document.activeElement)) {\n const manager = this._keyManager;\n manager.setFocusOrigin(origin).setFirstItemActive();\n // If there's no active item at this point, it means that all the items are disabled.\n // Move focus to the menuPanel panel so keyboard events like Escape still work. Also this will\n // give _some_ feedback to screen readers.\n if (!manager.activeItem && menuPanel) {\n menuPanel.focus();\n }\n }\n });\n }\n /**\n * Resets the active item in the menu. This is used when the menu is opened, allowing\n * the user to start from the first option when pressing the down arrow.\n */\n resetActiveItem() {\n this._keyManager.setActiveItem(-1);\n }\n /**\n * Sets the menu panel elevation.\n * @param depth Number of parent menus that come before the menu.\n */\n setElevation(depth) {\n // The elevation starts at the base and increases by one for each level.\n // Capped at 24 because that's the maximum elevation defined in the Material design spec.\n const elevation = Math.min(this._baseElevation + depth, 24);\n const newElevation = `${this._elevationPrefix}${elevation}`;\n const customElevation = Object.keys(this._classList).find(className => {\n return className.startsWith(this._elevationPrefix);\n });\n if (!customElevation || customElevation === this._previousElevation) {\n const newClassList = { ...this._classList };\n if (this._previousElevation) {\n newClassList[this._previousElevation] = false;\n }\n newClassList[newElevation] = true;\n this._previousElevation = newElevation;\n this._classList = newClassList;\n }\n }\n /**\n * Adds classes to the menu panel based on its position. Can be used by\n * consumers to add specific styling based on the position.\n * @param posX Position of the menu along the x axis.\n * @param posY Position of the menu along the y axis.\n * @docs-private\n */\n setPositionClasses(posX = this.xPosition, posY = this.yPosition) {\n this._classList = {\n ...this._classList,\n ['mat-menu-before']: posX === 'before',\n ['mat-menu-after']: posX === 'after',\n ['mat-menu-above']: posY === 'above',\n ['mat-menu-below']: posY === 'below',\n };\n // @breaking-change 15.0.0 Remove null check for `_changeDetectorRef`.\n this._changeDetectorRef?.markForCheck();\n }\n /** Starts the enter animation. */\n _startAnimation() {\n // @breaking-change 8.0.0 Combine with _resetAnimation.\n this._panelAnimationState = 'enter';\n }\n /** Resets the panel animation to its initial state. */\n _resetAnimation() {\n // @breaking-change 8.0.0 Combine with _startAnimation.\n this._panelAnimationState = 'void';\n }\n /** Callback that is invoked when the panel animation completes. */\n _onAnimationDone(event) {\n this._animationDone.next(event);\n this._isAnimating = false;\n }\n _onAnimationStart(event) {\n this._isAnimating = true;\n // Scroll the content element to the top as soon as the animation starts. This is necessary,\n // because we move focus to the first item while it's still being animated, which can throw\n // the browser off when it determines the scroll position. Alternatively we can move focus\n // when the animation is done, however moving focus asynchronously will interrupt screen\n // readers which are in the process of reading out the menu already. We take the `element`\n // from the `event` since we can't use a `ViewChild` to access the pane.\n if (event.toState === 'enter' && this._keyManager.activeItemIndex === 0) {\n event.element.scrollTop = 0;\n }\n }\n /**\n * Sets up a stream that will keep track of any newly-added menu items and will update the list\n * of direct descendants. We collect the descendants this way, because `_allItems` can include\n * items that are part of child menus, and using a custom way of registering items is unreliable\n * when it comes to maintaining the item order.\n */\n _updateDirectDescendants() {\n this._allItems.changes\n .pipe(startWith(this._allItems))\n .subscribe((items) => {\n this._directDescendantItems.reset(items.filter(item => item._parentMenu === this));\n this._directDescendantItems.notifyOnChanges();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenu, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"17.2.0\", type: MatMenu, isStandalone: true, selector: \"mat-menu\", inputs: { backdropClass: \"backdropClass\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], xPosition: \"xPosition\", yPosition: \"yPosition\", overlapTrigger: [\"overlapTrigger\", \"overlapTrigger\", booleanAttribute], hasBackdrop: [\"hasBackdrop\", \"hasBackdrop\", (value) => (value == null ? null : booleanAttribute(value))], panelClass: [\"class\", \"panelClass\"], classList: \"classList\" }, outputs: { closed: \"closed\", close: \"close\" }, host: { properties: { \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"attr.aria-describedby\": \"null\" } }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], queries: [{ propertyName: \"lazyContent\", first: true, predicate: MAT_MENU_CONTENT, descendants: true }, { propertyName: \"_allItems\", predicate: MatMenuItem, descendants: true }, { propertyName: \"items\", predicate: MatMenuItem }], viewQueries: [{ propertyName: \"templateRef\", first: true, predicate: TemplateRef, descendants: true }], exportAs: [\"matMenu\"], ngImport: i0, template: \"\\n \\n
\\n \\n
\\n \\n
\\n\", styles: [\"mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;align-items:center;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:var(--mat-menu-item-trailing-spacing);padding-right:var(--mat-menu-item-leading-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]),.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon])[dir=rtl]{padding-left:var(--mat-menu-item-with-icon-trailing-spacing);padding-right:var(--mat-menu-item-with-icon-leading-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\\\"\\\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\"], animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenu, decorators: [{\n type: Component,\n args: [{ selector: 'mat-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'matMenu', host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n }, animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], standalone: true, template: \"\\n \\n
\\n \\n
\\n \\n
\\n\", styles: [\"mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;align-items:center;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:var(--mat-menu-item-trailing-spacing);padding-right:var(--mat-menu-item-leading-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]),.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon])[dir=rtl]{padding-left:var(--mat-menu-item-with-icon-trailing-spacing);padding-right:var(--mat-menu-item-with-icon-leading-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\\\"\\\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_DEFAULT_OPTIONS]\n }] }, { type: i0.ChangeDetectorRef }], propDecorators: { _allItems: [{\n type: ContentChildren,\n args: [MatMenuItem, { descendants: true }]\n }], backdropClass: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], xPosition: [{\n type: Input\n }], yPosition: [{\n type: Input\n }], templateRef: [{\n type: ViewChild,\n args: [TemplateRef]\n }], items: [{\n type: ContentChildren,\n args: [MatMenuItem, { descendants: false }]\n }], lazyContent: [{\n type: ContentChild,\n args: [MAT_MENU_CONTENT]\n }], overlapTrigger: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], hasBackdrop: [{\n type: Input,\n args: [{ transform: (value) => (value == null ? null : booleanAttribute(value)) }]\n }], panelClass: [{\n type: Input,\n args: ['class']\n }], classList: [{\n type: Input\n }], closed: [{\n type: Output\n }], close: [{\n type: Output\n }] } });\n\n/** Injection token that determines the scroll handling while the menu is open. */\nconst MAT_MENU_SCROLL_STRATEGY = new InjectionToken('mat-menu-scroll-strategy', {\n providedIn: 'root',\n factory: () => {\n const overlay = inject(Overlay);\n return () => overlay.scrollStrategies.reposition();\n },\n});\n/** @docs-private */\nfunction MAT_MENU_SCROLL_STRATEGY_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_MENU_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_MENU_SCROLL_STRATEGY_FACTORY,\n};\n/** Options for binding a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * Default top padding of the menu panel.\n * @deprecated No longer being used. Will be removed.\n * @breaking-change 15.0.0\n */\nconst MENU_PANEL_TOP_PADDING = 8;\n/** Directive applied to an element that should trigger a `mat-menu`. */\nclass MatMenuTrigger {\n /**\n * @deprecated\n * @breaking-change 8.0.0\n */\n get _deprecatedMatMenuTriggerFor() {\n return this.menu;\n }\n set _deprecatedMatMenuTriggerFor(v) {\n this.menu = v;\n }\n /** References the menu instance that the trigger is associated with. */\n get menu() {\n return this._menu;\n }\n set menu(menu) {\n if (menu === this._menu) {\n return;\n }\n this._menu = menu;\n this._menuCloseSubscription.unsubscribe();\n if (menu) {\n if (menu === this._parentMaterialMenu && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatMenuRecursiveError();\n }\n this._menuCloseSubscription = menu.close.subscribe((reason) => {\n this._destroyMenu(reason);\n // If a click closed the menu, we should close the entire chain of nested menus.\n if ((reason === 'click' || reason === 'tab') && this._parentMaterialMenu) {\n this._parentMaterialMenu.closed.emit(reason);\n }\n });\n }\n this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu());\n }\n constructor(_overlay, _element, _viewContainerRef, scrollStrategy, parentMenu, \n // `MatMenuTrigger` is commonly used in combination with a `MatMenuItem`.\n // tslint:disable-next-line: lightweight-tokens\n _menuItemInstance, _dir, _focusMonitor, _ngZone) {\n this._overlay = _overlay;\n this._element = _element;\n this._viewContainerRef = _viewContainerRef;\n this._menuItemInstance = _menuItemInstance;\n this._dir = _dir;\n this._focusMonitor = _focusMonitor;\n this._ngZone = _ngZone;\n this._overlayRef = null;\n this._menuOpen = false;\n this._closingActionsSubscription = Subscription.EMPTY;\n this._hoverSubscription = Subscription.EMPTY;\n this._menuCloseSubscription = Subscription.EMPTY;\n this._changeDetectorRef = inject(ChangeDetectorRef);\n /**\n * Handles touch start events on the trigger.\n * Needs to be an arrow function so we can easily use addEventListener and removeEventListener.\n */\n this._handleTouchStart = (event) => {\n if (!isFakeTouchstartFromScreenReader(event)) {\n this._openedBy = 'touch';\n }\n };\n // Tracking input type is necessary so it's possible to only auto-focus\n // the first item of the list when the menu is opened via the keyboard\n this._openedBy = undefined;\n /**\n * Whether focus should be restored when the menu is closed.\n * Note that disabling this option can have accessibility implications\n * and it's up to you to manage focus, if you decide to turn it off.\n */\n this.restoreFocus = true;\n /** Event emitted when the associated menu is opened. */\n this.menuOpened = new EventEmitter();\n /**\n * Event emitted when the associated menu is opened.\n * @deprecated Switch to `menuOpened` instead\n * @breaking-change 8.0.0\n */\n // tslint:disable-next-line:no-output-on-prefix\n this.onMenuOpen = this.menuOpened;\n /** Event emitted when the associated menu is closed. */\n this.menuClosed = new EventEmitter();\n /**\n * Event emitted when the associated menu is closed.\n * @deprecated Switch to `menuClosed` instead\n * @breaking-change 8.0.0\n */\n // tslint:disable-next-line:no-output-on-prefix\n this.onMenuClose = this.menuClosed;\n this._scrollStrategy = scrollStrategy;\n this._parentMaterialMenu = parentMenu instanceof MatMenu ? parentMenu : undefined;\n _element.nativeElement.addEventListener('touchstart', this._handleTouchStart, passiveEventListenerOptions);\n }\n ngAfterContentInit() {\n this._handleHover();\n }\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._element.nativeElement.removeEventListener('touchstart', this._handleTouchStart, passiveEventListenerOptions);\n this._menuCloseSubscription.unsubscribe();\n this._closingActionsSubscription.unsubscribe();\n this._hoverSubscription.unsubscribe();\n }\n /** Whether the menu is open. */\n get menuOpen() {\n return this._menuOpen;\n }\n /** The text direction of the containing app. */\n get dir() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Whether the menu triggers a sub-menu or a top-level one. */\n triggersSubmenu() {\n return !!(this._menuItemInstance && this._parentMaterialMenu && this.menu);\n }\n /** Toggles the menu between the open and closed states. */\n toggleMenu() {\n return this._menuOpen ? this.closeMenu() : this.openMenu();\n }\n /** Opens the menu. */\n openMenu() {\n const menu = this.menu;\n if (this._menuOpen || !menu) {\n return;\n }\n const overlayRef = this._createOverlay(menu);\n const overlayConfig = overlayRef.getConfig();\n const positionStrategy = overlayConfig.positionStrategy;\n this._setPosition(menu, positionStrategy);\n overlayConfig.hasBackdrop =\n menu.hasBackdrop == null ? !this.triggersSubmenu() : menu.hasBackdrop;\n overlayRef.attach(this._getPortal(menu));\n if (menu.lazyContent) {\n menu.lazyContent.attach(this.menuData);\n }\n this._closingActionsSubscription = this._menuClosingActions().subscribe(() => this.closeMenu());\n this._initMenu(menu);\n if (menu instanceof MatMenu) {\n menu._startAnimation();\n menu._directDescendantItems.changes.pipe(takeUntil(menu.close)).subscribe(() => {\n // Re-adjust the position without locking when the amount of items\n // changes so that the overlay is allowed to pick a new optimal position.\n positionStrategy.withLockedPosition(false).reapplyLastPosition();\n positionStrategy.withLockedPosition(true);\n });\n }\n }\n /** Closes the menu. */\n closeMenu() {\n this.menu?.close.emit();\n }\n /**\n * Focuses the menu trigger.\n * @param origin Source of the menu trigger's focus.\n */\n focus(origin, options) {\n if (this._focusMonitor && origin) {\n this._focusMonitor.focusVia(this._element, origin, options);\n }\n else {\n this._element.nativeElement.focus(options);\n }\n }\n /**\n * Updates the position of the menu to ensure that it fits all options within the viewport.\n */\n updatePosition() {\n this._overlayRef?.updatePosition();\n }\n /** Closes the menu and does the necessary cleanup. */\n _destroyMenu(reason) {\n if (!this._overlayRef || !this.menuOpen) {\n return;\n }\n const menu = this.menu;\n this._closingActionsSubscription.unsubscribe();\n this._overlayRef.detach();\n // Always restore focus if the user is navigating using the keyboard or the menu was opened\n // programmatically. We don't restore for non-root triggers, because it can prevent focus\n // from making it back to the root trigger when closing a long chain of menus by clicking\n // on the backdrop.\n if (this.restoreFocus && (reason === 'keydown' || !this._openedBy || !this.triggersSubmenu())) {\n this.focus(this._openedBy);\n }\n this._openedBy = undefined;\n if (menu instanceof MatMenu) {\n menu._resetAnimation();\n if (menu.lazyContent) {\n // Wait for the exit animation to finish before detaching the content.\n menu._animationDone\n .pipe(filter(event => event.toState === 'void'), take(1), \n // Interrupt if the content got re-attached.\n takeUntil(menu.lazyContent._attached))\n .subscribe({\n next: () => menu.lazyContent.detach(),\n // No matter whether the content got re-attached, reset the menu.\n complete: () => this._setIsMenuOpen(false),\n });\n }\n else {\n this._setIsMenuOpen(false);\n }\n }\n else {\n this._setIsMenuOpen(false);\n menu?.lazyContent?.detach();\n }\n }\n /**\n * This method sets the menu state to open and focuses the first item if\n * the menu was opened via the keyboard.\n */\n _initMenu(menu) {\n menu.parentMenu = this.triggersSubmenu() ? this._parentMaterialMenu : undefined;\n menu.direction = this.dir;\n this._setMenuElevation(menu);\n menu.focusFirstItem(this._openedBy || 'program');\n this._setIsMenuOpen(true);\n }\n /** Updates the menu elevation based on the amount of parent menus that it has. */\n _setMenuElevation(menu) {\n if (menu.setElevation) {\n let depth = 0;\n let parentMenu = menu.parentMenu;\n while (parentMenu) {\n depth++;\n parentMenu = parentMenu.parentMenu;\n }\n menu.setElevation(depth);\n }\n }\n // set state rather than toggle to support triggers sharing a menu\n _setIsMenuOpen(isOpen) {\n if (isOpen !== this._menuOpen) {\n this._menuOpen = isOpen;\n this._menuOpen ? this.menuOpened.emit() : this.menuClosed.emit();\n if (this.triggersSubmenu()) {\n this._menuItemInstance._setHighlighted(isOpen);\n }\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * This method creates the overlay from the provided menu's template and saves its\n * OverlayRef so that it can be attached to the DOM when openMenu is called.\n */\n _createOverlay(menu) {\n if (!this._overlayRef) {\n const config = this._getOverlayConfig(menu);\n this._subscribeToPositions(menu, config.positionStrategy);\n this._overlayRef = this._overlay.create(config);\n // Consume the `keydownEvents` in order to prevent them from going to another overlay.\n // Ideally we'd also have our keyboard event logic in here, however doing so will\n // break anybody that may have implemented the `MatMenuPanel` themselves.\n this._overlayRef.keydownEvents().subscribe();\n }\n return this._overlayRef;\n }\n /**\n * This method builds the configuration object needed to create the overlay, the OverlayState.\n * @returns OverlayConfig\n */\n _getOverlayConfig(menu) {\n return new OverlayConfig({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withGrowAfterOpen()\n .withTransformOriginOn('.mat-menu-panel, .mat-mdc-menu-panel'),\n backdropClass: menu.backdropClass || 'cdk-overlay-transparent-backdrop',\n panelClass: menu.overlayPanelClass,\n scrollStrategy: this._scrollStrategy(),\n direction: this._dir,\n });\n }\n /**\n * Listens to changes in the position of the overlay and sets the correct classes\n * on the menu based on the new position. This ensures the animation origin is always\n * correct, even if a fallback position is used for the overlay.\n */\n _subscribeToPositions(menu, position) {\n if (menu.setPositionClasses) {\n position.positionChanges.subscribe(change => {\n const posX = change.connectionPair.overlayX === 'start' ? 'after' : 'before';\n const posY = change.connectionPair.overlayY === 'top' ? 'below' : 'above';\n // @breaking-change 15.0.0 Remove null check for `ngZone`.\n // `positionChanges` fires outside of the `ngZone` and `setPositionClasses` might be\n // updating something in the view so we need to bring it back in.\n if (this._ngZone) {\n this._ngZone.run(() => menu.setPositionClasses(posX, posY));\n }\n else {\n menu.setPositionClasses(posX, posY);\n }\n });\n }\n }\n /**\n * Sets the appropriate positions on a position strategy\n * so the overlay connects with the trigger correctly.\n * @param positionStrategy Strategy whose position to update.\n */\n _setPosition(menu, positionStrategy) {\n let [originX, originFallbackX] = menu.xPosition === 'before' ? ['end', 'start'] : ['start', 'end'];\n let [overlayY, overlayFallbackY] = menu.yPosition === 'above' ? ['bottom', 'top'] : ['top', 'bottom'];\n let [originY, originFallbackY] = [overlayY, overlayFallbackY];\n let [overlayX, overlayFallbackX] = [originX, originFallbackX];\n let offsetY = 0;\n if (this.triggersSubmenu()) {\n // When the menu is a sub-menu, it should always align itself\n // to the edges of the trigger, instead of overlapping it.\n overlayFallbackX = originX = menu.xPosition === 'before' ? 'start' : 'end';\n originFallbackX = overlayX = originX === 'end' ? 'start' : 'end';\n if (this._parentMaterialMenu) {\n if (this._parentInnerPadding == null) {\n const firstItem = this._parentMaterialMenu.items.first;\n this._parentInnerPadding = firstItem ? firstItem._getHostElement().offsetTop : 0;\n }\n offsetY = overlayY === 'bottom' ? this._parentInnerPadding : -this._parentInnerPadding;\n }\n }\n else if (!menu.overlapTrigger) {\n originY = overlayY === 'top' ? 'bottom' : 'top';\n originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';\n }\n positionStrategy.withPositions([\n { originX, originY, overlayX, overlayY, offsetY },\n { originX: originFallbackX, originY, overlayX: overlayFallbackX, overlayY, offsetY },\n {\n originX,\n originY: originFallbackY,\n overlayX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n {\n originX: originFallbackX,\n originY: originFallbackY,\n overlayX: overlayFallbackX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n ]);\n }\n /** Returns a stream that emits whenever an action that should close the menu occurs. */\n _menuClosingActions() {\n const backdrop = this._overlayRef.backdropClick();\n const detachments = this._overlayRef.detachments();\n const parentClose = this._parentMaterialMenu ? this._parentMaterialMenu.closed : of();\n const hover = this._parentMaterialMenu\n ? this._parentMaterialMenu._hovered().pipe(filter(active => active !== this._menuItemInstance), filter(() => this._menuOpen))\n : of();\n return merge(backdrop, parentClose, hover, detachments);\n }\n /** Handles mouse presses on the trigger. */\n _handleMousedown(event) {\n if (!isFakeMousedownFromScreenReader(event)) {\n // Since right or middle button clicks won't trigger the `click` event,\n // we shouldn't consider the menu as opened by mouse in those cases.\n this._openedBy = event.button === 0 ? 'mouse' : undefined;\n // Since clicking on the trigger won't close the menu if it opens a sub-menu,\n // we should prevent focus from moving onto it via click to avoid the\n // highlight from lingering on the menu item.\n if (this.triggersSubmenu()) {\n event.preventDefault();\n }\n }\n }\n /** Handles key presses on the trigger. */\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n // Pressing enter on the trigger will trigger the click handler later.\n if (keyCode === ENTER || keyCode === SPACE) {\n this._openedBy = 'keyboard';\n }\n if (this.triggersSubmenu() &&\n ((keyCode === RIGHT_ARROW && this.dir === 'ltr') ||\n (keyCode === LEFT_ARROW && this.dir === 'rtl'))) {\n this._openedBy = 'keyboard';\n this.openMenu();\n }\n }\n /** Handles click events on the trigger. */\n _handleClick(event) {\n if (this.triggersSubmenu()) {\n // Stop event propagation to avoid closing the parent menu.\n event.stopPropagation();\n this.openMenu();\n }\n else {\n this.toggleMenu();\n }\n }\n /** Handles the cases where the user hovers over the trigger. */\n _handleHover() {\n // Subscribe to changes in the hovered item in order to toggle the panel.\n if (!this.triggersSubmenu() || !this._parentMaterialMenu) {\n return;\n }\n this._hoverSubscription = this._parentMaterialMenu\n ._hovered()\n // Since we might have multiple competing triggers for the same menu (e.g. a sub-menu\n // with different data and triggers), we have to delay it by a tick to ensure that\n // it won't be closed immediately after it is opened.\n .pipe(filter(active => active === this._menuItemInstance && !active.disabled), delay(0, asapScheduler))\n .subscribe(() => {\n this._openedBy = 'mouse';\n // If the same menu is used between multiple triggers, it might still be animating\n // while the new trigger tries to re-open it. Wait for the animation to finish\n // before doing so. Also interrupt if the user moves to another item.\n if (this.menu instanceof MatMenu && this.menu._isAnimating) {\n // We need the `delay(0)` here in order to avoid\n // 'changed after checked' errors in some cases. See #12194.\n this.menu._animationDone\n .pipe(take(1), delay(0, asapScheduler), takeUntil(this._parentMaterialMenu._hovered()))\n .subscribe(() => this.openMenu());\n }\n else {\n this.openMenu();\n }\n });\n }\n /** Gets the portal that should be attached to the overlay. */\n _getPortal(menu) {\n // Note that we can avoid this check by keeping the portal on the menu panel.\n // While it would be cleaner, we'd have to introduce another required method on\n // `MatMenuPanel`, making it harder to consume.\n if (!this._portal || this._portal.templateRef !== menu.templateRef) {\n this._portal = new TemplatePortal(menu.templateRef, this._viewContainerRef);\n }\n return this._portal;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuTrigger, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: MAT_MENU_SCROLL_STRATEGY }, { token: MAT_MENU_PANEL, optional: true }, { token: MatMenuItem, optional: true, self: true }, { token: i3.Directionality, optional: true }, { token: i1.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatMenuTrigger, isStandalone: true, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: { _deprecatedMatMenuTriggerFor: [\"mat-menu-trigger-for\", \"_deprecatedMatMenuTriggerFor\"], menu: [\"matMenuTriggerFor\", \"menu\"], menuData: [\"matMenuTriggerData\", \"menuData\"], restoreFocus: [\"matMenuTriggerRestoreFocus\", \"restoreFocus\"] }, outputs: { menuOpened: \"menuOpened\", onMenuOpen: \"onMenuOpen\", menuClosed: \"menuClosed\", onMenuClose: \"onMenuClose\" }, host: { listeners: { \"click\": \"_handleClick($event)\", \"mousedown\": \"_handleMousedown($event)\", \"keydown\": \"_handleKeydown($event)\" }, properties: { \"attr.aria-haspopup\": \"menu ? \\\"menu\\\" : null\", \"attr.aria-expanded\": \"menuOpen\", \"attr.aria-controls\": \"menuOpen ? menu.panelId : null\" }, classAttribute: \"mat-mdc-menu-trigger\" }, exportAs: [\"matMenuTrigger\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuTrigger, decorators: [{\n type: Directive,\n args: [{\n selector: `[mat-menu-trigger-for], [matMenuTriggerFor]`,\n host: {\n 'class': 'mat-mdc-menu-trigger',\n '[attr.aria-haspopup]': 'menu ? \"menu\" : null',\n '[attr.aria-expanded]': 'menuOpen',\n '[attr.aria-controls]': 'menuOpen ? menu.panelId : null',\n '(click)': '_handleClick($event)',\n '(mousedown)': '_handleMousedown($event)',\n '(keydown)': '_handleKeydown($event)',\n },\n exportAs: 'matMenuTrigger',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_SCROLL_STRATEGY]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_PANEL]\n }, {\n type: Optional\n }] }, { type: MatMenuItem, decorators: [{\n type: Optional\n }, {\n type: Self\n }] }, { type: i3.Directionality, decorators: [{\n type: Optional\n }] }, { type: i1.FocusMonitor }, { type: i0.NgZone }], propDecorators: { _deprecatedMatMenuTriggerFor: [{\n type: Input,\n args: ['mat-menu-trigger-for']\n }], menu: [{\n type: Input,\n args: ['matMenuTriggerFor']\n }], menuData: [{\n type: Input,\n args: ['matMenuTriggerData']\n }], restoreFocus: [{\n type: Input,\n args: ['matMenuTriggerRestoreFocus']\n }], menuOpened: [{\n type: Output\n }], onMenuOpen: [{\n type: Output\n }], menuClosed: [{\n type: Output\n }], onMenuClose: [{\n type: Output\n }] } });\n\nclass MatMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, imports: [CommonModule,\n MatRippleModule,\n MatCommonModule,\n OverlayModule,\n MatMenu,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger], exports: [CdkScrollableModule,\n MatMenu,\n MatCommonModule,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [CommonModule,\n MatRippleModule,\n MatCommonModule,\n OverlayModule, CdkScrollableModule,\n MatCommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n MatRippleModule,\n MatCommonModule,\n OverlayModule,\n MatMenu,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger,\n ],\n exports: [\n CdkScrollableModule,\n MatMenu,\n MatCommonModule,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger,\n ],\n providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER],\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MENU_PANEL_TOP_PADDING, MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger, fadeInItems, matMenuAnimations, transformMenu };\n","export type defaultCountryPerLangType = { [key: string]: string };\n\nexport const defaultCountryPerLang: defaultCountryPerLangType = {\n en: 'gb',\n et: 'ee',\n ru: 'ru',\n de: 'de',\n fr: 'fr',\n pt: 'pt',\n it: 'it',\n lt: 'lt',\n uk: 'ua',\n el: 'gr',\n hu: 'hu',\n es: 'es'\n}\n\nexport function lookupCountry(locale:string, defaultCountryPerLang:defaultCountryPerLangType):string {\n let l = locale.split('-');\n if (l.length>1) {\n return l[1].toLowerCase();\n } else if (l[0] in defaultCountryPerLang) {\n return defaultCountryPerLang[l[0]].toLowerCase();\n }\n return '';\n}\n","export const appendLangCode = (url: string, langCode: string): string => {\n const urlObj = new URL(url);\n urlObj.searchParams.set('langCode', langCode);\n return urlObj.toString();\n};\n","import { appendLangCode } from './append-lang-code';\nimport { hasLangCodeParam } from './has-lang-code-param';\n\nexport const setLangCode = (url: string, langCode: string) => {\n if (hasLangCodeParam(url)) return url;\n return appendLangCode(url, langCode);\n};\n","export const hasLangCodeParam = (url: string): boolean => {\n const urlObj = new URL(url);\n return urlObj.searchParams.has('langCode');\n};\n","import { Injectable } from '@angular/core';\nimport { ConfigService } from '../core/config/config.service';\nimport { UsertypeService } from '../core/usertype/usertype.service';\nimport { LinkCondition } from '../model/link.model';\nimport { combineLatest } from 'rxjs';\nimport {map, take} from 'rxjs/operators'\nimport { Claim, Profile, ProfileService } from '../core/profile/profile.service';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { defaultCountryPerLangType, lookupCountry,defaultCountryPerLang } from '../core/util/lookup-default-country.util';\nimport { HeaderVisibilityService } from '../core/header-visibility/header-visibility.service';\nimport { CoreModule, LoggerService } from '../core';\nimport { userTypes, whiteLabelNames } from 'src/app/appsettings';\nimport { Config } from '../model/config.model';\nimport { setLangCode } from '../../utils/set-lang-code';\nconst hasAny = (req:string[],ut: string[]) => ut.some(u => req.indexOf(u) > -1)\nconst has = (req: string[], ut: string[]) => req.every(r => ut.indexOf(r) > -1)\nconst hasTrueClaim = (c: string, req: Claim[]) => req && req.find((x) => x.claimType === c)?.claimValue?.toLocaleLowerCase() == \"true\"\nconst hasClaim = (c: string, v: string, req: Claim[]) => req && req.find((x) => x.claimType === c)?.claimValue?.toLocaleLowerCase() == v\nconst formatLangCode = (langCode: string): string => {\n if (langCode.length >= 5) {\n return langCode.substring(0, 5);\n }\n if (langCode.length >= 2) {\n return langCode.substring(0, 2);\n }\n return langCode;\n};\nconst langCodeQueryStr = (link: string, lang: string, countries: defaultCountryPerLangType) =>\n `${link}?langCode=${formatLangCode(`${lang}-${lookupCountry(lang, countries).toUpperCase()}`)}`;\n\nconst countryPerLang: defaultCountryPerLangType = {\n ...defaultCountryPerLang,\n en: 'gb',\n sv: 'fi',\n fi: 'fi',\n};\n\n@Injectable({\n providedIn: CoreModule,\n})\nexport class SynlabHeaderService {\n links$ = combineLatest([\n this.usertypeService.usertypes$,\n this.configService.config$,\n this.profileService.profile$,\n this.translocoService.langChanges$,\n ]).pipe(\n map(([ut, c, p, lang]) =>\n this.linkCondition\n .filter(lc => lc.condition(ut, c, p))\n .map(lc => ({\n ...lc,\n url: lc.urlGenerator ? lc.urlGenerator(c, lang) : lc.url,\n })),\n ),\n );\n\n user$ = this.profileService.profile$;\n\n myAccountLink$ = combineLatest([\n this.configService.config$,\n this.translocoService.langChanges$\n ]).pipe(map(([c, lang]) => c.baseProfileUrl + langCodeQueryStr('', lang, countryPerLang)));\n\n brandLogoLink$ = combineLatest([\n this.configService.config$,\n this.translocoService.langChanges$\n ]).pipe(map(([c, lang]) => c.baseBookingUrl + langCodeQueryStr('', lang, countryPerLang)));\n\n visible$ = this.headerVisibilityService.visible$;\n\n config$ = this.configService.config$;\n\n constructor(\n private usertypeService: UsertypeService,\n private configService: ConfigService,\n private profileService: ProfileService,\n private headerVisibilityService: HeaderVisibilityService,\n private translocoService: TranslocoService,\n private logr: LoggerService\n ) { }\n\n private isMenuLinkNotHidden(config: Config): boolean {\n if (['plasma-web', 'plasmaui-code-pkce'].includes(config.applicationId)) { return false; }\n\n const isEnableCheckResults = config.EnableCheckResults\n if (!isEnableCheckResults) { return true; }\n return false;\n }\n\n private linkCondition: LinkCondition[] = [\n {\n label: 'bigCommerceLabel',\n icon: '/assets/synlab-header/panel.svg',\n urlGenerator: (c, lang) => {\n if (this.isMenuLinkNotHidden(c)) return false;\n if (c.WhiteLabelName === whiteLabelNames.CZECH_REPUBLIC\n || c.WhiteLabelName === whiteLabelNames.BELGIUM\n ) return false;\n\n let linksPerLang = {};\n c.baseBigcommerceUrl?.split(',').map(u => u.split('|')).forEach(l => {\n const [locale, url] = l;\n linksPerLang[locale] = url;\n });\n if (lang in linksPerLang) {\n return linksPerLang[lang];\n }\n return linksPerLang[\"**\"] ?? c.baseBigcommerceUrl;\n },\n condition: (ut, c) => has(['synlab_access_user'], ut)\n },\n {\n label: 'ordersBookingLabel',\n icon: '/assets/synlab-header/panel.svg',\n urlGenerator: (c, inputLang) => {\n const lang = formatLangCode(`${inputLang}-${(lookupCountry(inputLang, countryPerLang) || '').toUpperCase()}`);\n if (this.isMenuLinkNotHidden(c)) return false;\n if (c.WhiteLabelName === whiteLabelNames.CZECH_REPUBLIC\n || c.WhiteLabelName === whiteLabelNames.BELGIUM\n ) return false;\n\n const isFITenant = c.WhiteLabelEnabled && c.WhiteLabelName == whiteLabelNames.FINLAND;\n const isHUTenant = c.WhiteLabelEnabled && c.WhiteLabelName == whiteLabelNames.HUNGARY;\n const isUKDfpTenant = c.WhiteLabelEnabled && c.WhiteLabelName == whiteLabelNames.UK_DFP;\n if (isHUTenant || isFITenant || isUKDfpTenant) { return setLangCode(c.baseBookingUrl, lang); }\n\n const isHungary = c.WhiteLabelName == whiteLabelNames.HUNGARY;\n if (isHungary && c.WhiteLabelEnabled) {\n return setLangCode(c.baseBookingUrl, lang);\n }\n\n let linksPerLang = {};\n c.eeBaseBookingUrl.split(',').map(u => u.split('|')).forEach(l => {\n const [locale, url] = l;\n linksPerLang[locale] = setLangCode(url, lang);\n });\n if (lang in linksPerLang) {\n return linksPerLang[lang];\n }\n return linksPerLang[\"*\"] ?? setLangCode(c.eeBaseBookingUrl, lang);\n },\n condition: (ut, c) => has(['synlab_access_user'], ut) && !this.isMenuLinkNotHidden(c),\n },\n {\n label: \"resultsCertificateLabel\",\n icon: '/assets/synlab-header/results.svg',\n urlGenerator: (c, lang) => `${c.basePlasmaUrl}/results/category` + langCodeQueryStr('', lang, countryPerLang),\n condition: (ut,c) => {\n if (this.isMenuLinkNotHidden(c)) { return false; }\n\n return has(['synlab_access_user'],ut) && c.FullCatalogueViewEnabled === true && c.applicationId == 'sts-accounts';\n }\n },\n {\n label: \"resultsCertificateLabel\",\n icon: '/assets/synlab-header/results.svg',\n route: '/results',\n condition: (ut,c) => {\n if (this.isMenuLinkNotHidden(c)) { return false; }\n\n return has(['synlab_access_user'],ut) && c.FullCatalogueViewEnabled === true && c.applicationId == 'plasma-web';\n }\n },\n {\n label: \"checkResultLabel\",\n icon: '/assets/synlab-header/results.svg',\n urlGenerator: (c, lang) => `${c.basePlasmaUrl}/results/category` + langCodeQueryStr('', lang, countryPerLang),\n condition: (userTypes: string[], config: Config, profile: Profile) => {\n if (this.isMenuLinkNotHidden(config)) { return false; }\n\n return hasAny(['ee_admin', 'pt_admin'], userTypes)\n && config.FullCatalogueViewEnabled === true\n && hasTrueClaim('allow_delete_user', profile.claims)\n && config.applicationId == 'sts-accounts';\n }\n },\n {\n label: \"checkResultLabel\",\n icon: '/assets/synlab-header/results.svg',\n route: '/results/category',\n condition: (userTypes: string[], config: Config, profile: Profile) => {\n if (this.isMenuLinkNotHidden(config)) { return false; }\n\n return hasAny(['ee_admin', 'pt_admin'], userTypes)\n && config.FullCatalogueViewEnabled === true\n && hasTrueClaim('allow_delete_user', profile.claims)\n && config.applicationId == 'plasma-web';\n }\n },\n {\n label: \"preventionWellness\",\n icon: '/assets/synlab-header/heart.svg',\n urlGenerator: (c, lang) => `${c.basePlasmaUrl}/prevention-wellness` + langCodeQueryStr('', lang, countryPerLang),\n condition: (ut,c,p) =>\n hasAny(['synlab_access_user'],ut)\n && c.EnablePreventionWellness === true\n && !hasTrueClaim('anonymous_user', p.claims)\n && c.applicationId == 'sts-accounts'\n },\n {\n label: \"preventionWellness\",\n icon: '/assets/synlab-header/heart.svg',\n route: '/prevention-wellness',\n condition: (ut,c,p) =>\n hasAny(['synlab_access_user'],ut) && c.EnablePreventionWellness === true && !hasTrueClaim('anonymous_user', p.claims) && c.applicationId == 'plasma-web'\n },\n {\n label: \"adminLabel\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c,lang) => langCodeQueryStr(c.baseAdminUrl, lang, countryPerLang),\n condition: (ut,c) => hasAny(['uk_shfy_admin', 'uk_dfp_admin', 'ee_admin','notification_user', 'superadmin', 'pt_admin'],ut)\n },\n {\n label: \"bookingAdminLabel\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c,lang) => langCodeQueryStr(c.baseBookingAdminUrl, lang, countryPerLang),\n condition: (ut,c) => {\n const tenantName: whiteLabelNames = c.WhiteLabelName as any;\n return hasAny([\n userTypes.BOOKING_ADMIN_BCP_COORDINATOR,\n userTypes.BOOKING_ADMIN_BCP_CLERK,\n userTypes.BOOKING_ADMIN], ut) && [whiteLabelNames.HUNGARY, whiteLabelNames.FINLAND].includes(tenantName);\n }\n },\n {\n label: \"webreqLabel\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c, lang) => langCodeQueryStr(c.baseWebreqUrl, lang, countryPerLang),\n condition: (ut,c) => hasAny(['bcp','webreq_user', 'webreq_admin', 'webreq_finance'],ut)\n },\n {\n label: \"webreqLabelAdmin\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c, lang) => langCodeQueryStr(c.baseWebreqAdminUrl, lang, countryPerLang),\n condition: (ut,c) => hasAny(['webreq_superadmin'],ut)\n },\n {\n label: \"labShopLabel\",\n urlGenerator: (c, lang) => langCodeQueryStr(c.baseBookingUrl, lang, countryPerLang),\n condition: (ut,c) => {\n const isESTenant = c.WhiteLabelEnabled && c.WhiteLabelName === whiteLabelNames.SPAIN;\n this.logr.log({\n WhiteLabelEnabled: c.WhiteLabelEnabled,\n WhiteLabelName: c.WhiteLabelName,\n isSpain: c.WhiteLabelName === whiteLabelNames.SPAIN,\n hasAny: hasAny(['webshop_admin', 'webshop_user'], ut) });\n if (isESTenant && hasAny(['webshop_admin', 'webshop_user'], ut)) { return true; }\n return false;\n }\n },\n {\n label: \"medioLabel\",\n urlGenerator: (c, lang) => langCodeQueryStr('https://medicall.cc', lang, countryPerLang),\n condition: (ut,c) => {\n const isEsTcTenant = c.WhiteLabelEnabled && c.WhiteLabelName === whiteLabelNames.SPAIN_TELECOUNSELING;\n if (isEsTcTenant && hasAny(['pt_admin', 'synlab_access_user', 'expert'], ut)) { return true; }\n return false;\n }\n }\n ]\n}\n","\n \n \n\n\n\n
\n \n \n \n \n \n \n
\n
\n","import { CommonModule } from \"@angular/common\";\nimport { Component, Input, NgModule, ChangeDetectionStrategy } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\nimport { ACCOUNTS_LOCALE_STORAGE_KEY, PATIENT_WEB_LOCALE_STORAGE_KEY } from \"../core/constants\";\nimport { take } from \"rxjs/operators\";\nimport { lookupCountry, defaultCountryPerLang } from \"../core/util/lookup-default-country.util\";\nimport { formatLocale } from \"../../utils/format-locale\";\nimport { SynlabHeaderService } from \"../synlab-header/synlab-header.service\";\nimport { Config } from \"../model/config.model\";\n\n\n\n@Component({\n selector: 'lib-locale-picker',\n templateUrl: './locale-picker.component.html',\n styleUrls: ['./locale-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LocalePickerComponent {\n\n @Input() useFlags: boolean = true;\n @Input() mode: 'row'|'dropdown' = 'row';\n @Input() config: any;\n\n availableLocale = this.translocoService.getAvailableLangs() as string[];\n activeLocale$ = this.translocoService.langChanges$;\n\n config$ = this.headerService.config$;\n\n constructor(\n private headerService: SynlabHeaderService,\n private translocoService: TranslocoService,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) { }\n\n changeLang(locale:string, config: Config) {\n\n locale = formatLocale(locale, config);\n\n this.translocoService.setActiveLang(locale);\n sessionStorage?.setItem(ACCOUNTS_LOCALE_STORAGE_KEY, locale);\n localStorage?.setItem(PATIENT_WEB_LOCALE_STORAGE_KEY, locale);\n\n this.activatedRoute.queryParams.pipe(take(1)).subscribe((p) => {\n for (const i in p) {\n if (i.toLowerCase() == 'langcode')\n this.updateQueryParam(locale)\n }\n });\n }\n\n lookupCountry(locale:string) {\n return lookupCountry(locale, defaultCountryPerLang);\n }\n\n updateQueryParam(locale) {\n this.router.navigate([],{\n relativeTo: this.activatedRoute,\n queryParams: { langCode: locale },\n queryParamsHandling: 'merge'\n });\n }\n\n public getDisplayLocale(locale: string) {\n const [part1] = locale.split('-');\n return part1;\n }\n\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslocoModule, MatButtonModule, MatMenuModule, MatIconModule],\n declarations: [LocalePickerComponent],\n exports: [LocalePickerComponent]\n})\nexport class LocalePickerModule {}\n","\n \n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, NgModule, ChangeDetectionStrategy, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { Router, RouterModule } from '@angular/router';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { Profile } from '../core/profile/profile.service';\nimport { LocalePickerModule } from '../locale-picker/locale-picker.component';\nimport { Link } from '../model/link.model';\nimport { MIN_DESKTOP_WIDTH } from '../core/constants';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent implements OnDestroy {\n @Input() links: Link[] = [];\n @Input() brandLogo = '/assets/img/synlab-logo.svg';\n @Input() myAccountLink:string;\n @Input() brandLogoLink: string;\n @Input() disableLinks = false;\n @Input() user?: Profile;\n\n @Output() onLogout = new EventEmitter();\n @Output() onMyAccount = new EventEmitter();\n\n isMobile$ = new BehaviorSubject(document.documentElement.clientWidth < MIN_DESKTOP_WIDTH);\n isMobileMenuOpen$ = new BehaviorSubject(false);\n destroy$: Subject = new Subject();\n\n constructor(private _router:Router) {\n _router.events\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.isMobileMenuOpen$.next(false) )\n }\n\n resize$ = fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$), auditTime(200))\n .subscribe(() => {\n this.isMobile$.next(document.documentElement.clientWidth < MIN_DESKTOP_WIDTH);\n });\n\n toggleMenu() {\n this.isMobileMenuOpen$.next(!this.isMobileMenuOpen$.getValue());\n }\n\n logout() {\n this.onLogout.emit()\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n public get getDisplayedLinks(): Link[] {\n return this.links.filter(v => v?.url)\n }\n\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslocoModule, MatButtonModule, MatMenuModule, MatIconModule, LocalePickerModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, NgModule, OnDestroy, Output } from '@angular/core';\nimport { HeaderModule } from '../header/header.component';\nimport { SynlabHeaderService } from './synlab-header.service';\nimport { takeUntil, tap } from 'rxjs/operators';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { Profile } from '../core';\n\nconst HIDDEN_LINK_ROUTES = [\n '/registration/complete_registration_ptee',\n '/registration/secure_account',\n '/registration/complete-registration',\n '/registration/complete_tara',\n];\n\n@Component({\n selector: 'syn-synlab-header',\n templateUrl: './synlab-header.component.html',\n styleUrls: ['./synlab-header.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SynlabHeaderService]\n})\nexport class SynlabHeaderComponent implements OnDestroy {\n links$ = of([]);\n user$: Observable = of(null);\n\n myAccountLink$ = this.headerService.myAccountLink$;\n brandLogoLink$ = this.headerService.brandLogoLink$;\n\n destory$ = new ReplaySubject(1);\n\n @Output() onLogout = new EventEmitter();\n @Input() disableLinks:boolean = false;\n\n constructor(\n private headerService: SynlabHeaderService,\n private route: Router) {\n\n this.route.events.pipe(\n takeUntil(this.destory$)\n ).subscribe(e => {\n if (e instanceof NavigationEnd && !e.url.includes('renewtoken') ) {\n console.log(e.url)\n if(HIDDEN_LINK_ROUTES.some(u => e.url.includes(u))) {\n this.links$ = of([]);\n this.user$ = of(null);\n }\n else {\n this.links$ = this.headerService.links$;\n this.user$ = this.headerService.user$;\n }\n }\n })\n }\n\n logout() {\n this.onLogout.emit();\n }\n\n ngOnDestroy(): void {\n this.destory$.next(true);\n this.destory$.complete();\n }\n\n}\n@NgModule({\n imports: [CommonModule, HeaderModule],\n declarations: [SynlabHeaderComponent],\n exports: [SynlabHeaderComponent]\n})\nexport class SynlabHeaderModule {}\n","\n\n\n","export function addTargetBlankToAnchors(htmlString: string) {\n return htmlString.replace(/ {}\n\n/** Claims model */\nexport interface Claim {\n claimType: string;\n claimValue: string;\n}\n/** Converts `object` to list of Claims (`Claim[]`). Assumes object is Record*/\nexport function objectToClaims>(obj: T): Claim[] {\n return Object.keys(obj).map((key) => ({\n claimType: key,\n claimValue: [\"number\", \"boolean\"].some((t) => typeof obj[key] === t) ? obj[key].toString() : obj[key],\n }));\n}\n\n/** Get a claim value with claimType provided\n * @param claimType `claimType` value to find in `claims`\n * @param claims list of claims\n */\nexport function getClaimValueWithType(claimType: string, claims: Claim[]): string {\n if (claimType && Array.isArray(claims)) {\n const claim = claims.find((c) => c.claimType === claimType);\n if (claim) {\n return claim.claimValue;\n }\n }\n return undefined;\n}\n/** find claim with exact match of type and value.\n * can be used for multiple types\n */\nexport function hasClaimWithTypeAndValue(claimType: string, claimValue: string, claim: Claim[]): boolean {\n return claim?.some((c) => c.claimType === claimType && c.claimValue === claimValue);\n}\n/** function to check if claim value of claim type is true */\nexport const claimIsTrue = (claimType: string, claims: Claim[]): boolean =>\n CheckIfTrueString(claims.find((c) => c.claimType === claimType)?.claimValue);\n\n/**\n * Update claims with new values that has been updated.\n * add nonexisting claims at the end of the list.\n * @param oldClaims old claims to be updated\n * @param newClaims new claims with updates\n */\nexport function updateClaims(oldClaims: Claim[], newClaims: Claim[]): Claim[] {\n let resultingClaims = oldClaims.slice();\n const indexlist = resultingClaims.map((x) => x.claimType);\n newClaims.forEach((x) => {\n let i = indexlist.indexOf(x.claimType);\n if (i > -1) {\n resultingClaims[i] = x;\n } else {\n resultingClaims.push(x);\n }\n });\n return resultingClaims;\n}\nexport function removeNullClaims(claims: Account): Account {\n return claims?.filter((c) => c.claimValue !== null && c.claimValue !== undefined);\n}\n\nexport function removeClaimsForPtEe(claims: Account): Account {\n return claims?.filter((c) => c.claimType !== \"modified_by_name\");\n}\n\n/** Checks if object is actually a `Claim`\n * @param obj object to check\n */\nexport function isClaim(obj: any): obj is Claim {\n return obj && obj.claimType && typeof obj.claimType === \"string\";\n}\n\n/**\n * get whole name from claims\n * @param claims list of claims\n */\nexport function getNameFromClaims(claims: Account) {\n const fname = (getClaimValueWithType(firstnameClaimType, claims) || \"\").trim(),\n lname = (getClaimValueWithType(lastnameClaimType, claims) || \"\").trim();\n return `${fname ? fname + \" \" : \"\"}${lname ? lname : \"\"}`;\n}\n\nexport function CheckIfTrueString(str: string) {\n return typeof str === \"string\" && str.trim().toLowerCase() === claimValues.TRUE;\n}\n\nexport function getPetName(claims: Account) {\n const name = (getClaimValueWithType(firstnameClaimType, claims) || \"\").trim();\n return `${name ? name : \"\"}`;\n}\n\nexport function getPetCategory(claims: Account) {\n return getClaimValueWithType(petCategoryClaimType, claims) || \"other\";\n}\n\nexport function getPetCategoryName(claims: Account) {\n let petCategoryName = \"\";\n const category = getPetCategory(claims);\n\n if (category == \"other\") {\n petCategoryName = (getClaimValueWithType(petCategoryNameClaimType, claims) || \"\").trim();\n }\n return petCategoryName ? petCategoryName : category;\n}\n\nexport function getWardVerifiedClaimValue(claims: Account) {\n let verified = (getClaimValueWithType(wardVerifiedClaimType, claims) || \"\").trim();\n\n return verified.toLowerCase() == claimValues.TRUE;\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../api/api.service\";\nimport { BehaviorSubject, EMPTY, firstValueFrom, Observable, of, pipe, throwError } from \"rxjs\";\nimport { Account, activeClaimType, Claim, getClaimValueWithType, updateClaims } from \"./accounts.model\";\nimport { tap, map, withLatestFrom, filter, flatMap, take, delay } from \"rxjs/operators\";\nimport { GetByEmailResponse, UserAccountInfo } from \"./user.model\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { Consents } from \"src/app/@store/reducers/profile.reducer\";\nimport { Router } from \"@angular/router\";\nimport { ConfigService } from \"../config/config.service\";\nimport { claimValues, whiteLabelNames } from \"src/app/appsettings\";\nimport { GetUserPropertiesResponseInterface } from \"src/app/interfaces/get-user-properties-response.interface\";\n\nexport interface CreateUserResult {\n active: string;\n isNewUser: boolean;\n synlabId: string;\n userId: string;\n}\n\n/** claim value to check if user is using external authentication. */\nexport const externalProviderValue = \"external\";\n/** Email domain name for SYNLAB accounts.\n * Accounts with such email domain can use SYNLAB active directory authentication\n */\nexport const synlabDomain = \"synlab.com\";\n\n/** Constant value as key to find claim value for `locale`. */\nexport const countryClaimType = \"country\";\n/** Constant value as key to find claim value for `locale`. */\nexport const localeClaimType = \"locale\";\n/** Constant value as key to find claim value for `authentication_provider`. */\nexport const authProviderClaimType = \"authentication_provider\";\n/** Constant value as key to find claim value for `email`. */\nexport const emailClaimType = \"email\";\nexport const allowedDuplicateClaimTypes = [\"user_type\"];\n\nconst removeDuplicateClaims = pipe(\n map((claims: Claim[]) => {\n const claimsMap = new Map();\n claims\n .filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) === -1)\n .forEach((c) => claimsMap.set(c.claimType, c.claimValue));\n let distinctClaims: Claim[] = [];\n claimsMap.forEach((v, k) => distinctClaims.push({ claimType: k, claimValue: v }));\n const duplicableClaims = claims.filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) > -1);\n distinctClaims.push(...duplicableClaims);\n return distinctClaims;\n })\n);\n/** Service for api requests to manage account. */\n@Injectable({\n providedIn: \"root\",\n})\nexport class AccountsService {\n private readonly updateConsentEndpoint = \"/api/consent/user\";\n\n /** Store for latest fetched account information */\n private latestAccountInfo = new BehaviorSubject(undefined);\n /** Public Observable to get latest user account info. */\n public latestAccountInfo$ = this.latestAccountInfo.asObservable();\n public latestAccountInfoObj$ = new BehaviorSubject(undefined);\n /** Observable to get latest user account's locale code. */\n public latestAccountLocaleCode$ = this.latestAccountInfo$.pipe(\n map((claims) => getClaimValueWithType(localeClaimType, claims))\n );\n /** Observable to get latest user account's authentication provider. */\n public latestAccountAuthProvider$ = this.latestAccountInfo$.pipe(\n map((claims) => getClaimValueWithType(authProviderClaimType, claims))\n );\n public country$ = this.latestAccountInfo$.pipe(map((claims) => getClaimValueWithType(countryClaimType, claims)));\n /** Observable that indicates if current account is from SYNLAB domain. */\n public isSynlabAccount$ = this.latestAccountInfo$.pipe(\n filter((x) => !!x),\n map((claims) => getClaimValueWithType(emailClaimType, claims)),\n map(this.isSynlabAccount)\n );\n /** Observable to get if user is deactivated.\n * if there is no data, should not mark as deactivated in case of failed fetch */\n public deactivated$ = this.latestAccountInfo$.pipe(\n map((claims) => getClaimValueWithType(activeClaimType, claims)),\n map((active) => typeof active === \"string\" && active.trim().toLowerCase() === \"false\")\n );\n constructor(\n private api: ApiService,\n private router: Router,\n private config: ConfigService\n ) {}\n\n /** Get user account information\n * @param id User's id\n * * stores latest fetched user info into `latestAccountInfo`\n */\n public get(id: string): Observable {\n return this.api.get(`/manage/accounts/${id}`).pipe(\n removeDuplicateClaims,\n tap((claims: any[]) => {\n this.checkFinlandRedirectToCompleteProfile(claims);\n\n this.latestAccountInfo.next(claims);\n this.latestAccountInfoObj$.next(\n claims.reduce((acc, val) => {\n acc[val.claimType] = val.claimValue;\n return acc;\n }, {})\n );\n })\n );\n }\n\n /** FI: navigate to complete profile when user has pending account registration */\n private checkFinlandRedirectToCompleteProfile(claims: Claim[]): void {\n const isFinland: boolean = this.config._envConfig?.WhiteLabelName?.toLowerCase() === whiteLabelNames.FINLAND;\n if (!isFinland) return;\n\n const fiCompleteProfileClaim: string = claims\n .find((claim) => claim.claimType === \"fi_complete_profile\")\n ?.claimValue?.toLowerCase();\n const hasPendingCompleteProfile: boolean = fiCompleteProfileClaim === claimValues.FALSE;\n if (hasPendingCompleteProfile) {\n this.router.navigate([\"/registration\", \"complete-registration\"]);\n }\n }\n\n public getConsent(synlabId?: string, categoryName?: string): Observable {\n if (synlabId) {\n return this.api.get(`/api/consent/category/${categoryName}/user/${synlabId}`);\n }\n return this.api.get(`/api/consent/category/${categoryName}`);\n }\n\n public checkIfMarketingConsentIsChecked(emailAddress: string): Observable {\n return this.api.get(`/manage/accounts/fi/email/check?email=${emailAddress}`);\n }\n\n public updateConsent(cons, synlabId) {\n if (!cons.length) {\n return of(true);\n }\n return this.api.put(`${this.updateConsentEndpoint}/${synlabId}`, cons);\n }\n\n /** Get user by providing synlabId\n * @param synlabId User's SynlabId\n */\n public getBySynlabId(synlabId: string): Observable {\n return this.api.get<{ users: UserAccountInfo[] }>(\"/manage/accounts\", { synlabId }).pipe(\n flatMap((res) => {\n if (!res || res.users.length !== 1) {\n return throwError(`Could not find user with synlabId: ${synlabId}`);\n } else {\n return this.get(res.users[0].id);\n }\n })\n );\n }\n\n /** Create user by providing claims of the user\n * @param body claims of the user\n */\n public post(body: Account) {\n return this.api.post(`/manage/accounts`, body);\n }\n\n /** Update user account information\n * @param body User updated info\n * * stores latest sent user info into `latestAccountInfo`\n */\n public put(body: Account, isEE: boolean = false): Observable {\n const url = isEE ? '/manage/accounts/v3' : '/manage/accounts';\n return this.api.put(url, body).pipe(\n withLatestFrom(this.latestAccountInfo$),\n tap(([, latest = []]: [any, Account]) => this.latestAccountInfo.next(updateClaims(latest, body)))\n );\n }\n\n /** Update account that is not current user's own\n * @param body User updated info\n */\n public wardPut(body: Account, userId: string): Observable {\n return this.api.put(`/manage/accounts/${userId}`, body);\n }\n\n /**Will send an email to confirm the deletion */\n public sendDeleteEmail(userId) {\n return this.api.post(`/v2/manage/accounts/request-delete-user/${userId}`, undefined, { responseType: \"text\" });\n }\n\n /**Confirmation of delete */\n public confirmDelete(body) {\n return this.api.put(`/v2/manage/accounts/confirm-delete-user`, body, { responseType: \"text\" });\n }\n\n public getDeleteValidity(params): Observable {\n return this.api.get(`/v2/manage/accounts/verify-delete-user`, params);\n }\n\n public fetchPendingBooking(synlabId) {\n return this.api.get(`/api/booking/checkhaspending/${synlabId}`);\n }\n\n /**\n * Check if email is a SYNLAB account. Checks if domain is same as `synlabDomain`\n * @param email string representing email\n */\n isSynlabAccount(email: string = \"\") {\n return email.trim().toLocaleLowerCase().endsWith(`@${synlabDomain}`);\n }\n\n /** fetch user claims if not fetched yet */\n public fetchInitialUserClaims(userId: string) {\n this.latestAccountInfo$\n .pipe(\n take(1),\n flatMap((info) => {\n if (info === undefined) {\n return this.get(userId);\n } else {\n return EMPTY;\n }\n })\n )\n .subscribe();\n }\n\n public getByEmail(email: string) {\n return this.api.get(`/manage/accounts/search/${email}`);\n }\n /** resend activation link to user with `userId` provided */\n public resendActivationEmail(userId: string) {\n return this.api.put(`/manage/accounts/resend_invitation/${userId}`);\n }\n\n public async getUserProperties(userId: string) {\n const request = this.api.get(`/manage/accounts/getuserproperties/${userId}`);\n const response = await firstValueFrom(request);\n return {\n ...response,\n PasswordIsSet: response.PasswordIsSet?.toLowerCase() === 'true',\n Active: response.Active?.toLowerCase() === 'true'\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../api/api.service\";\n\nexport interface AgreementFile {\n id: number;\n locale: string;\n htmlFile: string;\n}\nexport enum AgreementType {\n TermsAndCondition = 0,\n TermsAndConditionFIProfessionals = \"Terms-and-conditions-professionals\",\n PrivacyPolicyFIProfessionals = \"Privacy-policy-professionals\",\n PrivacyPolicy = 1,\n TermsOfService = 2,\n ADDITIONAL_INFO_COLLECTED_DATA = 8,\n}\nexport interface Agreement {\n id: number;\n agreementType: AgreementType;\n definition: string;\n createdDate: string;\n isPublished: boolean;\n datePublished: string;\n files: AgreementFile[];\n}\nexport interface Locale {\n language: string;\n cultureCode: string;\n order?: number;\n}\nexport interface AcceptedAgreement {\n agreement: Agreement;\n dateAgreed: string;\n}\n@Injectable({\n providedIn: \"root\",\n})\nexport class AgreementService {\n constructor(private api: ApiService) {}\n\n getUserAgreements(userId: string, agreementType: AgreementType) {\n return this.api.get(`/manage/agreement/user/${userId}/${agreementType}`);\n }\n getPublishedAgreement(agreementType: AgreementType) {\n return this.api.get(`/manage/agreement/published/${agreementType}`);\n }\n\n public getPublishedByUniqueId(uniqueId: any, locale: string) {\n return this.api.get(`/manage/agreement/GetPublishedByUniqueId/${uniqueId}/${locale}`);\n }\n\n getPublishedAgreementByLocale(agreementType: AgreementType, locale: string) {\n return this.api.get(`/manage/agreement/published/${agreementType}/${locale}`);\n }\n getAgreementFile(id: number, locale: string) {\n return this.api.get(`/manage/agreement/${id}/${locale}`);\n }\n getLocales() {\n return this.api.get(\"/manage/locale\");\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { TranslocoService } from \"@ngneat/transloco\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ApiService {\n constructor(\n private config: ConfigService,\n private http: HttpClient,\n private transloco: TranslocoService\n ) {}\n\n get(endpoint: string, params?: any, options: Object = {}): Observable {\n return this.http.get(`${this.config.baseAuthUrl}${endpoint}`, {\n params: params ? params : {},\n headers: this.headers(),\n });\n }\n\n getProfile(endpoint: string, params?: any): Observable {\n return this.http.get(`${this.config.baseProfileApiUrl}${endpoint}`, {\n params: params ? params : {},\n });\n }\n getHttp(endpoint: string, params?: any): Observable {\n return this.http.get(`${endpoint}`, {\n params: params ? params : {},\n });\n }\n post(endpoint: string, body: Object = {}, options: Object = {}): Observable {\n const opts = {\n ...options,\n headers: this.headers(),\n };\n return this.http.post(`${this.config.baseAuthUrl}${endpoint}`, body, opts);\n }\n\n postAccounts(endpoint: string, body: Object = {}, options: Object = {}): Observable {\n return this.http.post(`${this.config.baseAccountUrl}${endpoint}`, body, options);\n }\n\n put(endpoint: string, body: Object = {}, options: Object = {}): Observable {\n const opts = {\n ...options,\n headers: this.headers(),\n };\n return this.http.put(`${this.config.baseAuthUrl}${endpoint}`, body, opts);\n }\n\n delete(endpoint: string): Observable {\n return this.http.delete(`${this.config.baseAuthUrl}${endpoint}`);\n }\n\n public formatAcceptLanguage(activeLang: string): string {\n let language = activeLang;\n switch (activeLang) {\n case \"hu\":\n language = \"hu-HU\";\n break;\n case \"et\":\n language = \"et-EE\";\n break;\n case \"ru\":\n language = \"ru-RU\";\n break;\n case \"en\":\n case \"en-us\":\n case \"en-gb\":\n language = \"en-GB\";\n break;\n }\n return language;\n }\n\n public headers() {\n let activeLang = this.transloco.getActiveLang().toLowerCase();\n return {\n \"accept-language\": this.formatAcceptLanguage(activeLang),\n };\n }\n}\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","// src/utils/Logger.ts\nvar nopLogger = {\n debug: () => void 0,\n info: () => void 0,\n warn: () => void 0,\n error: () => void 0\n};\nvar level;\nvar logger;\nvar Log = /* @__PURE__ */ ((Log2) => {\n Log2[Log2[\"NONE\"] = 0] = \"NONE\";\n Log2[Log2[\"ERROR\"] = 1] = \"ERROR\";\n Log2[Log2[\"WARN\"] = 2] = \"WARN\";\n Log2[Log2[\"INFO\"] = 3] = \"INFO\";\n Log2[Log2[\"DEBUG\"] = 4] = \"DEBUG\";\n return Log2;\n})(Log || {});\n((Log2) => {\n function reset() {\n level = 3 /* INFO */;\n logger = nopLogger;\n }\n Log2.reset = reset;\n function setLevel(value) {\n if (!(0 /* NONE */ <= value && value <= 4 /* DEBUG */)) {\n throw new Error(\"Invalid log level\");\n }\n level = value;\n }\n Log2.setLevel = setLevel;\n function setLogger(value) {\n logger = value;\n }\n Log2.setLogger = setLogger;\n})(Log || (Log = {}));\nvar Logger = class _Logger {\n constructor(_name) {\n this._name = _name;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n debug(...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(_Logger._format(this._name, this._method), ...args);\n }\n }\n info(...args) {\n if (level >= 3 /* INFO */) {\n logger.info(_Logger._format(this._name, this._method), ...args);\n }\n }\n warn(...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(_Logger._format(this._name, this._method), ...args);\n }\n }\n error(...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(_Logger._format(this._name, this._method), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n throw(err) {\n this.error(err);\n throw err;\n }\n create(method) {\n const methodLogger = Object.create(this);\n methodLogger._method = method;\n methodLogger.debug(\"begin\");\n return methodLogger;\n }\n static createStatic(name, staticMethod) {\n const staticLogger = new _Logger(`${name}.${staticMethod}`);\n staticLogger.debug(\"begin\");\n return staticLogger;\n }\n static _format(name, method) {\n const prefix = `[${name}]`;\n return method ? `${prefix} ${method}:` : prefix;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n // helpers for static class methods\n static debug(name, ...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(_Logger._format(name), ...args);\n }\n }\n static info(name, ...args) {\n if (level >= 3 /* INFO */) {\n logger.info(_Logger._format(name), ...args);\n }\n }\n static warn(name, ...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(_Logger._format(name), ...args);\n }\n }\n static error(name, ...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(_Logger._format(name), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n};\nLog.reset();\n\n// src/utils/JwtUtils.ts\nimport { jwtDecode } from \"jwt-decode\";\nvar JwtUtils = class {\n // IMPORTANT: doesn't validate the token\n static decode(token) {\n try {\n return jwtDecode(token);\n } catch (err) {\n Logger.error(\"JwtUtils.decode\", err);\n throw err;\n }\n }\n static async generateSignedJwt(header, payload, privateKey) {\n const encodedHeader = CryptoUtils.encodeBase64Url(new TextEncoder().encode(JSON.stringify(header)));\n const encodedPayload = CryptoUtils.encodeBase64Url(new TextEncoder().encode(JSON.stringify(payload)));\n const encodedToken = `${encodedHeader}.${encodedPayload}`;\n const signature = await window.crypto.subtle.sign(\n {\n name: \"ECDSA\",\n hash: { name: \"SHA-256\" }\n },\n privateKey,\n new TextEncoder().encode(encodedToken)\n );\n const encodedSignature = CryptoUtils.encodeBase64Url(new Uint8Array(signature));\n return `${encodedToken}.${encodedSignature}`;\n }\n};\n\n// src/utils/CryptoUtils.ts\nvar UUID_V4_TEMPLATE = \"10000000-1000-4000-8000-100000000000\";\nvar toBase64 = (val) => btoa([...new Uint8Array(val)].map((chr) => String.fromCharCode(chr)).join(\"\"));\nvar _CryptoUtils = class _CryptoUtils {\n static _randomWord() {\n const arr = new Uint32Array(1);\n crypto.getRandomValues(arr);\n return arr[0];\n }\n /**\n * Generates RFC4122 version 4 guid\n */\n static generateUUIDv4() {\n const uuid = UUID_V4_TEMPLATE.replace(\n /[018]/g,\n (c) => (+c ^ _CryptoUtils._randomWord() & 15 >> +c / 4).toString(16)\n );\n return uuid.replace(/-/g, \"\");\n }\n /**\n * PKCE: Generate a code verifier\n */\n static generateCodeVerifier() {\n return _CryptoUtils.generateUUIDv4() + _CryptoUtils.generateUUIDv4() + _CryptoUtils.generateUUIDv4();\n }\n /**\n * PKCE: Generate a code challenge\n */\n static async generateCodeChallenge(code_verifier) {\n if (!crypto.subtle) {\n throw new Error(\"Crypto.subtle is available only in secure contexts (HTTPS).\");\n }\n try {\n const encoder = new TextEncoder();\n const data = encoder.encode(code_verifier);\n const hashed = await crypto.subtle.digest(\"SHA-256\", data);\n return toBase64(hashed).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n } catch (err) {\n Logger.error(\"CryptoUtils.generateCodeChallenge\", err);\n throw err;\n }\n }\n /**\n * Generates a base64-encoded string for a basic auth header\n */\n static generateBasicAuth(client_id, client_secret) {\n const encoder = new TextEncoder();\n const data = encoder.encode([client_id, client_secret].join(\":\"));\n return toBase64(data);\n }\n /**\n * Generates a hash of a string using a given algorithm\n * @param alg\n * @param message\n */\n static async hash(alg, message) {\n const msgUint8 = new TextEncoder().encode(message);\n const hashBuffer = await crypto.subtle.digest(alg, msgUint8);\n return new Uint8Array(hashBuffer);\n }\n /**\n * Generates a rfc7638 compliant jwk thumbprint\n * @param jwk\n */\n static async customCalculateJwkThumbprint(jwk) {\n let jsonObject;\n switch (jwk.kty) {\n case \"RSA\":\n jsonObject = {\n \"e\": jwk.e,\n \"kty\": jwk.kty,\n \"n\": jwk.n\n };\n break;\n case \"EC\":\n jsonObject = {\n \"crv\": jwk.crv,\n \"kty\": jwk.kty,\n \"x\": jwk.x,\n \"y\": jwk.y\n };\n break;\n case \"OKP\":\n jsonObject = {\n \"crv\": jwk.crv,\n \"kty\": jwk.kty,\n \"x\": jwk.x\n };\n break;\n case \"oct\":\n jsonObject = {\n \"crv\": jwk.k,\n \"kty\": jwk.kty\n };\n break;\n default:\n throw new Error(\"Unknown jwk type\");\n }\n const utf8encodedAndHashed = await _CryptoUtils.hash(\"SHA-256\", JSON.stringify(jsonObject));\n return _CryptoUtils.encodeBase64Url(utf8encodedAndHashed);\n }\n static async generateDPoPProof({\n url,\n accessToken,\n httpMethod,\n keyPair,\n nonce\n }) {\n let hashedToken;\n let encodedHash;\n const payload = {\n \"jti\": window.crypto.randomUUID(),\n \"htm\": httpMethod != null ? httpMethod : \"GET\",\n \"htu\": url,\n \"iat\": Math.floor(Date.now() / 1e3)\n };\n if (accessToken) {\n hashedToken = await _CryptoUtils.hash(\"SHA-256\", accessToken);\n encodedHash = _CryptoUtils.encodeBase64Url(hashedToken);\n payload.ath = encodedHash;\n }\n if (nonce) {\n payload.nonce = nonce;\n }\n try {\n const publicJwk = await crypto.subtle.exportKey(\"jwk\", keyPair.publicKey);\n const header = {\n \"alg\": \"ES256\",\n \"typ\": \"dpop+jwt\",\n \"jwk\": {\n \"crv\": publicJwk.crv,\n \"kty\": publicJwk.kty,\n \"x\": publicJwk.x,\n \"y\": publicJwk.y\n }\n };\n return await JwtUtils.generateSignedJwt(header, payload, keyPair.privateKey);\n } catch (err) {\n if (err instanceof TypeError) {\n throw new Error(`Error exporting dpop public key: ${err.message}`);\n } else {\n throw err;\n }\n }\n }\n static async generateDPoPJkt(keyPair) {\n try {\n const publicJwk = await crypto.subtle.exportKey(\"jwk\", keyPair.publicKey);\n return await _CryptoUtils.customCalculateJwkThumbprint(publicJwk);\n } catch (err) {\n if (err instanceof TypeError) {\n throw new Error(`Could not retrieve dpop keys from storage: ${err.message}`);\n } else {\n throw err;\n }\n }\n }\n static async generateDPoPKeys() {\n return await window.crypto.subtle.generateKey(\n {\n name: \"ECDSA\",\n namedCurve: \"P-256\"\n },\n false,\n [\"sign\", \"verify\"]\n );\n }\n};\n/**\n * Generates a base64url encoded string\n */\n_CryptoUtils.encodeBase64Url = (input) => {\n return toBase64(input).replace(/=/g, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n};\nvar CryptoUtils = _CryptoUtils;\n\n// src/utils/Event.ts\nvar Event = class {\n constructor(_name) {\n this._name = _name;\n this._callbacks = [];\n this._logger = new Logger(`Event('${this._name}')`);\n }\n addHandler(cb) {\n this._callbacks.push(cb);\n return () => this.removeHandler(cb);\n }\n removeHandler(cb) {\n const idx = this._callbacks.lastIndexOf(cb);\n if (idx >= 0) {\n this._callbacks.splice(idx, 1);\n }\n }\n async raise(...ev) {\n this._logger.debug(\"raise:\", ...ev);\n for (const cb of this._callbacks) {\n await cb(...ev);\n }\n }\n};\n\n// src/utils/PopupUtils.ts\nvar PopupUtils = class {\n /**\n * Populates a map of window features with a placement centered in front of\n * the current window. If no explicit width is given, a default value is\n * binned into [800, 720, 600, 480, 360] based on the current window's width.\n */\n static center({ ...features }) {\n var _a, _b, _c;\n if (features.width == null)\n features.width = (_a = [800, 720, 600, 480].find((width) => width <= window.outerWidth / 1.618)) != null ? _a : 360;\n (_b = features.left) != null ? _b : features.left = Math.max(0, Math.round(window.screenX + (window.outerWidth - features.width) / 2));\n if (features.height != null)\n (_c = features.top) != null ? _c : features.top = Math.max(0, Math.round(window.screenY + (window.outerHeight - features.height) / 2));\n return features;\n }\n static serialize(features) {\n return Object.entries(features).filter(([, value]) => value != null).map(([key, value]) => `${key}=${typeof value !== \"boolean\" ? value : value ? \"yes\" : \"no\"}`).join(\",\");\n }\n};\n\n// src/utils/Timer.ts\nvar Timer = class _Timer extends Event {\n constructor() {\n super(...arguments);\n this._logger = new Logger(`Timer('${this._name}')`);\n this._timerHandle = null;\n this._expiration = 0;\n this._callback = () => {\n const diff = this._expiration - _Timer.getEpochTime();\n this._logger.debug(\"timer completes in\", diff);\n if (this._expiration <= _Timer.getEpochTime()) {\n this.cancel();\n void super.raise();\n }\n };\n }\n // get the time\n static getEpochTime() {\n return Math.floor(Date.now() / 1e3);\n }\n init(durationInSeconds) {\n const logger2 = this._logger.create(\"init\");\n durationInSeconds = Math.max(Math.floor(durationInSeconds), 1);\n const expiration = _Timer.getEpochTime() + durationInSeconds;\n if (this.expiration === expiration && this._timerHandle) {\n logger2.debug(\"skipping since already initialized for expiration at\", this.expiration);\n return;\n }\n this.cancel();\n logger2.debug(\"using duration\", durationInSeconds);\n this._expiration = expiration;\n const timerDurationInSeconds = Math.min(durationInSeconds, 5);\n this._timerHandle = setInterval(this._callback, timerDurationInSeconds * 1e3);\n }\n get expiration() {\n return this._expiration;\n }\n cancel() {\n this._logger.create(\"cancel\");\n if (this._timerHandle) {\n clearInterval(this._timerHandle);\n this._timerHandle = null;\n }\n }\n};\n\n// src/utils/UrlUtils.ts\nvar UrlUtils = class {\n static readParams(url, responseMode = \"query\") {\n if (!url) throw new TypeError(\"Invalid URL\");\n const parsedUrl = new URL(url, \"http://127.0.0.1\");\n const params = parsedUrl[responseMode === \"fragment\" ? \"hash\" : \"search\"];\n return new URLSearchParams(params.slice(1));\n }\n};\nvar URL_STATE_DELIMITER = \";\";\n\n// src/errors/ErrorResponse.ts\nvar ErrorResponse = class extends Error {\n constructor(args, form) {\n var _a, _b, _c;\n super(args.error_description || args.error || \"\");\n this.form = form;\n /** Marker to detect class: \"ErrorResponse\" */\n this.name = \"ErrorResponse\";\n if (!args.error) {\n Logger.error(\"ErrorResponse\", \"No error passed\");\n throw new Error(\"No error passed\");\n }\n this.error = args.error;\n this.error_description = (_a = args.error_description) != null ? _a : null;\n this.error_uri = (_b = args.error_uri) != null ? _b : null;\n this.state = args.userState;\n this.session_state = (_c = args.session_state) != null ? _c : null;\n this.url_state = args.url_state;\n }\n};\n\n// src/errors/ErrorTimeout.ts\nvar ErrorTimeout = class extends Error {\n constructor(message) {\n super(message);\n /** Marker to detect class: \"ErrorTimeout\" */\n this.name = \"ErrorTimeout\";\n }\n};\n\n// src/AccessTokenEvents.ts\nvar AccessTokenEvents = class {\n constructor(args) {\n this._logger = new Logger(\"AccessTokenEvents\");\n this._expiringTimer = new Timer(\"Access token expiring\");\n this._expiredTimer = new Timer(\"Access token expired\");\n this._expiringNotificationTimeInSeconds = args.expiringNotificationTimeInSeconds;\n }\n async load(container) {\n const logger2 = this._logger.create(\"load\");\n if (container.access_token && container.expires_in !== void 0) {\n const duration = container.expires_in;\n logger2.debug(\"access token present, remaining duration:\", duration);\n if (duration > 0) {\n let expiring = duration - this._expiringNotificationTimeInSeconds;\n if (expiring <= 0) {\n expiring = 1;\n }\n logger2.debug(\"registering expiring timer, raising in\", expiring, \"seconds\");\n this._expiringTimer.init(expiring);\n } else {\n logger2.debug(\"canceling existing expiring timer because we're past expiration.\");\n this._expiringTimer.cancel();\n }\n const expired = duration + 1;\n logger2.debug(\"registering expired timer, raising in\", expired, \"seconds\");\n this._expiredTimer.init(expired);\n } else {\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n }\n async unload() {\n this._logger.debug(\"unload: canceling existing access token timers\");\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n /**\n * Add callback: Raised prior to the access token expiring.\n */\n addAccessTokenExpiring(cb) {\n return this._expiringTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised prior to the access token expiring.\n */\n removeAccessTokenExpiring(cb) {\n this._expiringTimer.removeHandler(cb);\n }\n /**\n * Add callback: Raised after the access token has expired.\n */\n addAccessTokenExpired(cb) {\n return this._expiredTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised after the access token has expired.\n */\n removeAccessTokenExpired(cb) {\n this._expiredTimer.removeHandler(cb);\n }\n};\n\n// src/CheckSessionIFrame.ts\nvar CheckSessionIFrame = class {\n constructor(_callback, _client_id, url, _intervalInSeconds, _stopOnError) {\n this._callback = _callback;\n this._client_id = _client_id;\n this._intervalInSeconds = _intervalInSeconds;\n this._stopOnError = _stopOnError;\n this._logger = new Logger(\"CheckSessionIFrame\");\n this._timer = null;\n this._session_state = null;\n this._message = (e) => {\n if (e.origin === this._frame_origin && e.source === this._frame.contentWindow) {\n if (e.data === \"error\") {\n this._logger.error(\"error message from check session op iframe\");\n if (this._stopOnError) {\n this.stop();\n }\n } else if (e.data === \"changed\") {\n this._logger.debug(\"changed message from check session op iframe\");\n this.stop();\n void this._callback();\n } else {\n this._logger.debug(e.data + \" message from check session op iframe\");\n }\n }\n };\n const parsedUrl = new URL(url);\n this._frame_origin = parsedUrl.origin;\n this._frame = window.document.createElement(\"iframe\");\n this._frame.style.visibility = \"hidden\";\n this._frame.style.position = \"fixed\";\n this._frame.style.left = \"-1000px\";\n this._frame.style.top = \"0\";\n this._frame.width = \"0\";\n this._frame.height = \"0\";\n this._frame.src = parsedUrl.href;\n }\n load() {\n return new Promise((resolve) => {\n this._frame.onload = () => {\n resolve();\n };\n window.document.body.appendChild(this._frame);\n window.addEventListener(\"message\", this._message, false);\n });\n }\n start(session_state) {\n if (this._session_state === session_state) {\n return;\n }\n this._logger.create(\"start\");\n this.stop();\n this._session_state = session_state;\n const send = () => {\n if (!this._frame.contentWindow || !this._session_state) {\n return;\n }\n this._frame.contentWindow.postMessage(this._client_id + \" \" + this._session_state, this._frame_origin);\n };\n send();\n this._timer = setInterval(send, this._intervalInSeconds * 1e3);\n }\n stop() {\n this._logger.create(\"stop\");\n this._session_state = null;\n if (this._timer) {\n clearInterval(this._timer);\n this._timer = null;\n }\n }\n};\n\n// src/InMemoryWebStorage.ts\nvar InMemoryWebStorage = class {\n constructor() {\n this._logger = new Logger(\"InMemoryWebStorage\");\n this._data = {};\n }\n clear() {\n this._logger.create(\"clear\");\n this._data = {};\n }\n getItem(key) {\n this._logger.create(`getItem('${key}')`);\n return this._data[key];\n }\n setItem(key, value) {\n this._logger.create(`setItem('${key}')`);\n this._data[key] = value;\n }\n removeItem(key) {\n this._logger.create(`removeItem('${key}')`);\n delete this._data[key];\n }\n get length() {\n return Object.getOwnPropertyNames(this._data).length;\n }\n key(index) {\n return Object.getOwnPropertyNames(this._data)[index];\n }\n};\n\n// src/errors/ErrorDPoPNonce.ts\nvar ErrorDPoPNonce = class extends Error {\n constructor(nonce, message) {\n super(message);\n /** Marker to detect class: \"ErrorDPoPNonce\" */\n this.name = \"ErrorDPoPNonce\";\n this.nonce = nonce;\n }\n};\n\n// src/JsonService.ts\nvar JsonService = class {\n constructor(additionalContentTypes = [], _jwtHandler = null, _extraHeaders = {}) {\n this._jwtHandler = _jwtHandler;\n this._extraHeaders = _extraHeaders;\n this._logger = new Logger(\"JsonService\");\n this._contentTypes = [];\n this._contentTypes.push(...additionalContentTypes, \"application/json\");\n if (_jwtHandler) {\n this._contentTypes.push(\"application/jwt\");\n }\n }\n async fetchWithTimeout(input, init = {}) {\n const { timeoutInSeconds, ...initFetch } = init;\n if (!timeoutInSeconds) {\n return await fetch(input, initFetch);\n }\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeoutInSeconds * 1e3);\n try {\n const response = await fetch(input, {\n ...init,\n signal: controller.signal\n });\n return response;\n } catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") {\n throw new ErrorTimeout(\"Network timed out\");\n }\n throw err;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n async getJson(url, {\n token,\n credentials,\n timeoutInSeconds\n } = {}) {\n const logger2 = this._logger.create(\"getJson\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \")\n };\n if (token) {\n logger2.debug(\"token passed, setting Authorization header\");\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n this._appendExtraHeaders(headers);\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"GET\", headers, timeoutInSeconds, credentials });\n } catch (err) {\n logger2.error(\"Network Error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n logger2.throw(new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`));\n }\n if (response.ok && this._jwtHandler && (contentType == null ? void 0 : contentType.startsWith(\"application/jwt\"))) {\n return await this._jwtHandler(await response.text());\n }\n let json;\n try {\n json = await response.json();\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok) throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n async postForm(url, {\n body,\n basicAuth,\n timeoutInSeconds,\n initCredentials,\n extraHeaders\n }) {\n const logger2 = this._logger.create(\"postForm\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \"),\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n ...extraHeaders\n };\n if (basicAuth !== void 0) {\n headers[\"Authorization\"] = \"Basic \" + basicAuth;\n }\n this._appendExtraHeaders(headers);\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"POST\", headers, body, timeoutInSeconds, credentials: initCredentials });\n } catch (err) {\n logger2.error(\"Network error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n throw new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`);\n }\n const responseText = await response.text();\n let json = {};\n if (responseText) {\n try {\n json = JSON.parse(responseText);\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok) throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (response.headers.has(\"dpop-nonce\")) {\n const nonce = response.headers.get(\"dpop-nonce\");\n throw new ErrorDPoPNonce(nonce, `${JSON.stringify(json)}`);\n }\n if (json.error) {\n throw new ErrorResponse(json, body);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n _appendExtraHeaders(headers) {\n const logger2 = this._logger.create(\"appendExtraHeaders\");\n const customKeys = Object.keys(this._extraHeaders);\n const protectedHeaders = [\n \"accept\",\n \"content-type\"\n ];\n const preventOverride = [\n \"authorization\"\n ];\n if (customKeys.length === 0) {\n return;\n }\n customKeys.forEach((headerName) => {\n if (protectedHeaders.includes(headerName.toLocaleLowerCase())) {\n logger2.warn(\"Protected header could not be set\", headerName, protectedHeaders);\n return;\n }\n if (preventOverride.includes(headerName.toLocaleLowerCase()) && Object.keys(headers).includes(headerName)) {\n logger2.warn(\"Header could not be overridden\", headerName, preventOverride);\n return;\n }\n const content = typeof this._extraHeaders[headerName] === \"function\" ? this._extraHeaders[headerName]() : this._extraHeaders[headerName];\n if (content && content !== \"\") {\n headers[headerName] = content;\n }\n });\n }\n};\n\n// src/MetadataService.ts\nvar MetadataService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"MetadataService\");\n this._signingKeys = null;\n this._metadata = null;\n this._metadataUrl = this._settings.metadataUrl;\n this._jsonService = new JsonService(\n [\"application/jwk-set+json\"],\n null,\n this._settings.extraHeaders\n );\n if (this._settings.signingKeys) {\n this._logger.debug(\"using signingKeys from settings\");\n this._signingKeys = this._settings.signingKeys;\n }\n if (this._settings.metadata) {\n this._logger.debug(\"using metadata from settings\");\n this._metadata = this._settings.metadata;\n }\n if (this._settings.fetchRequestCredentials) {\n this._logger.debug(\"using fetchRequestCredentials from settings\");\n this._fetchRequestCredentials = this._settings.fetchRequestCredentials;\n }\n }\n resetSigningKeys() {\n this._signingKeys = null;\n }\n async getMetadata() {\n const logger2 = this._logger.create(\"getMetadata\");\n if (this._metadata) {\n logger2.debug(\"using cached values\");\n return this._metadata;\n }\n if (!this._metadataUrl) {\n logger2.throw(new Error(\"No authority or metadataUrl configured on settings\"));\n throw null;\n }\n logger2.debug(\"getting metadata from\", this._metadataUrl);\n const metadata = await this._jsonService.getJson(this._metadataUrl, { credentials: this._fetchRequestCredentials, timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger2.debug(\"merging remote JSON with seed metadata\");\n this._metadata = Object.assign({}, metadata, this._settings.metadataSeed);\n return this._metadata;\n }\n getIssuer() {\n return this._getMetadataProperty(\"issuer\");\n }\n getAuthorizationEndpoint() {\n return this._getMetadataProperty(\"authorization_endpoint\");\n }\n getUserInfoEndpoint() {\n return this._getMetadataProperty(\"userinfo_endpoint\");\n }\n getTokenEndpoint(optional = true) {\n return this._getMetadataProperty(\"token_endpoint\", optional);\n }\n getCheckSessionIframe() {\n return this._getMetadataProperty(\"check_session_iframe\", true);\n }\n getEndSessionEndpoint() {\n return this._getMetadataProperty(\"end_session_endpoint\", true);\n }\n getRevocationEndpoint(optional = true) {\n return this._getMetadataProperty(\"revocation_endpoint\", optional);\n }\n getKeysEndpoint(optional = true) {\n return this._getMetadataProperty(\"jwks_uri\", optional);\n }\n async _getMetadataProperty(name, optional = false) {\n const logger2 = this._logger.create(`_getMetadataProperty('${name}')`);\n const metadata = await this.getMetadata();\n logger2.debug(\"resolved\");\n if (metadata[name] === void 0) {\n if (optional === true) {\n logger2.warn(\"Metadata does not contain optional property\");\n return void 0;\n }\n logger2.throw(new Error(\"Metadata does not contain property \" + name));\n }\n return metadata[name];\n }\n async getSigningKeys() {\n const logger2 = this._logger.create(\"getSigningKeys\");\n if (this._signingKeys) {\n logger2.debug(\"returning signingKeys from cache\");\n return this._signingKeys;\n }\n const jwks_uri = await this.getKeysEndpoint(false);\n logger2.debug(\"got jwks_uri\", jwks_uri);\n const keySet = await this._jsonService.getJson(jwks_uri, { timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger2.debug(\"got key set\", keySet);\n if (!Array.isArray(keySet.keys)) {\n logger2.throw(new Error(\"Missing keys on keyset\"));\n throw null;\n }\n this._signingKeys = keySet.keys;\n return this._signingKeys;\n }\n};\n\n// src/WebStorageStateStore.ts\nvar WebStorageStateStore = class {\n constructor({\n prefix = \"oidc.\",\n store = localStorage\n } = {}) {\n this._logger = new Logger(\"WebStorageStateStore\");\n this._store = store;\n this._prefix = prefix;\n }\n async set(key, value) {\n this._logger.create(`set('${key}')`);\n key = this._prefix + key;\n await this._store.setItem(key, value);\n }\n async get(key) {\n this._logger.create(`get('${key}')`);\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n return item;\n }\n async remove(key) {\n this._logger.create(`remove('${key}')`);\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n await this._store.removeItem(key);\n return item;\n }\n async getAllKeys() {\n this._logger.create(\"getAllKeys\");\n const len = await this._store.length;\n const keys = [];\n for (let index = 0; index < len; index++) {\n const key = await this._store.key(index);\n if (key && key.indexOf(this._prefix) === 0) {\n keys.push(key.substr(this._prefix.length));\n }\n }\n return keys;\n }\n};\n\n// src/OidcClientSettings.ts\nvar DefaultResponseType = \"code\";\nvar DefaultScope = \"openid\";\nvar DefaultClientAuthentication = \"client_secret_post\";\nvar DefaultStaleStateAgeInSeconds = 60 * 15;\nvar OidcClientSettingsStore = class {\n constructor({\n // metadata related\n authority,\n metadataUrl,\n metadata,\n signingKeys,\n metadataSeed,\n // client related\n client_id,\n client_secret,\n response_type = DefaultResponseType,\n scope = DefaultScope,\n redirect_uri,\n post_logout_redirect_uri,\n client_authentication = DefaultClientAuthentication,\n // optional protocol\n prompt,\n display,\n max_age,\n ui_locales,\n acr_values,\n resource,\n response_mode,\n // behavior flags\n filterProtocolClaims = true,\n loadUserInfo = false,\n requestTimeoutInSeconds,\n staleStateAgeInSeconds = DefaultStaleStateAgeInSeconds,\n mergeClaimsStrategy = { array: \"replace\" },\n disablePKCE = false,\n // other behavior\n stateStore,\n revokeTokenAdditionalContentTypes,\n fetchRequestCredentials,\n refreshTokenAllowedScope,\n // extra\n extraQueryParams = {},\n extraTokenParams = {},\n extraHeaders = {},\n dpop,\n omitScopeWhenRequesting = false\n }) {\n var _a;\n this.authority = authority;\n if (metadataUrl) {\n this.metadataUrl = metadataUrl;\n } else {\n this.metadataUrl = authority;\n if (authority) {\n if (!this.metadataUrl.endsWith(\"/\")) {\n this.metadataUrl += \"/\";\n }\n this.metadataUrl += \".well-known/openid-configuration\";\n }\n }\n this.metadata = metadata;\n this.metadataSeed = metadataSeed;\n this.signingKeys = signingKeys;\n this.client_id = client_id;\n this.client_secret = client_secret;\n this.response_type = response_type;\n this.scope = scope;\n this.redirect_uri = redirect_uri;\n this.post_logout_redirect_uri = post_logout_redirect_uri;\n this.client_authentication = client_authentication;\n this.prompt = prompt;\n this.display = display;\n this.max_age = max_age;\n this.ui_locales = ui_locales;\n this.acr_values = acr_values;\n this.resource = resource;\n this.response_mode = response_mode;\n this.filterProtocolClaims = filterProtocolClaims != null ? filterProtocolClaims : true;\n this.loadUserInfo = !!loadUserInfo;\n this.staleStateAgeInSeconds = staleStateAgeInSeconds;\n this.mergeClaimsStrategy = mergeClaimsStrategy;\n this.omitScopeWhenRequesting = omitScopeWhenRequesting;\n this.disablePKCE = !!disablePKCE;\n this.revokeTokenAdditionalContentTypes = revokeTokenAdditionalContentTypes;\n this.fetchRequestCredentials = fetchRequestCredentials ? fetchRequestCredentials : \"same-origin\";\n this.requestTimeoutInSeconds = requestTimeoutInSeconds;\n if (stateStore) {\n this.stateStore = stateStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.localStorage : new InMemoryWebStorage();\n this.stateStore = new WebStorageStateStore({ store });\n }\n this.refreshTokenAllowedScope = refreshTokenAllowedScope;\n this.extraQueryParams = extraQueryParams;\n this.extraTokenParams = extraTokenParams;\n this.extraHeaders = extraHeaders;\n this.dpop = dpop;\n if (this.dpop && !((_a = this.dpop) == null ? void 0 : _a.store)) {\n throw new Error(\"A DPoPStore is required when dpop is enabled\");\n }\n }\n};\n\n// src/UserInfoService.ts\nvar UserInfoService = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"UserInfoService\");\n this._getClaimsFromJwt = async (responseText) => {\n const logger2 = this._logger.create(\"_getClaimsFromJwt\");\n try {\n const payload = JwtUtils.decode(responseText);\n logger2.debug(\"JWT decoding successful\");\n return payload;\n } catch (err) {\n logger2.error(\"Error parsing JWT response\");\n throw err;\n }\n };\n this._jsonService = new JsonService(\n void 0,\n this._getClaimsFromJwt,\n this._settings.extraHeaders\n );\n }\n async getClaims(token) {\n const logger2 = this._logger.create(\"getClaims\");\n if (!token) {\n this._logger.throw(new Error(\"No token passed\"));\n }\n const url = await this._metadataService.getUserInfoEndpoint();\n logger2.debug(\"got userinfo url\", url);\n const claims = await this._jsonService.getJson(url, {\n token,\n credentials: this._settings.fetchRequestCredentials,\n timeoutInSeconds: this._settings.requestTimeoutInSeconds\n });\n logger2.debug(\"got claims\", claims);\n return claims;\n }\n};\n\n// src/TokenClient.ts\nvar TokenClient = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"TokenClient\");\n this._jsonService = new JsonService(\n this._settings.revokeTokenAdditionalContentTypes,\n null,\n this._settings.extraHeaders\n );\n }\n /**\n * Exchange code.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3\n */\n async exchangeCode({\n grant_type = \"authorization_code\",\n redirect_uri = this._settings.redirect_uri,\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n extraHeaders,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCode\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!redirect_uri) {\n logger2.throw(new Error(\"A redirect_uri is required\"));\n }\n if (!args.code) {\n logger2.throw(new Error(\"A code is required\"));\n }\n const params = new URLSearchParams({ grant_type, redirect_uri });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (client_secret === void 0 || client_secret === null) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, {\n body: params,\n basicAuth,\n timeoutInSeconds: this._settings.requestTimeoutInSeconds,\n initCredentials: this._settings.fetchRequestCredentials,\n extraHeaders\n });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Exchange credentials.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.3.2\n */\n async exchangeCredentials({\n grant_type = \"password\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n scope = this._settings.scope,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCredentials\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n const params = new URLSearchParams({ grant_type });\n if (!this._settings.omitScopeWhenRequesting) {\n params.set(\"scope\", scope);\n }\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (client_secret === void 0 || client_secret === null) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds: this._settings.requestTimeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Exchange a refresh token.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-6\n */\n async exchangeRefreshToken({\n grant_type = \"refresh_token\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n timeoutInSeconds,\n extraHeaders,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeRefreshToken\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!args.refresh_token) {\n logger2.throw(new Error(\"A refresh_token is required\"));\n }\n const params = new URLSearchParams({ grant_type });\n for (const [key, value] of Object.entries(args)) {\n if (Array.isArray(value)) {\n value.forEach((param) => params.append(key, param));\n } else if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (client_secret === void 0 || client_secret === null) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials, extraHeaders });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Revoke an access or refresh token.\n *\n * @see https://datatracker.ietf.org/doc/html/rfc7009#section-2.1\n */\n async revoke(args) {\n var _a;\n const logger2 = this._logger.create(\"revoke\");\n if (!args.token) {\n logger2.throw(new Error(\"A token is required\"));\n }\n const url = await this._metadataService.getRevocationEndpoint(false);\n logger2.debug(`got revocation endpoint, revoking ${(_a = args.token_type_hint) != null ? _a : \"default token type\"}`);\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n params.set(\"client_id\", this._settings.client_id);\n if (this._settings.client_secret) {\n params.set(\"client_secret\", this._settings.client_secret);\n }\n await this._jsonService.postForm(url, { body: params, timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger2.debug(\"got response\");\n }\n};\n\n// src/ResponseValidator.ts\nvar ResponseValidator = class {\n constructor(_settings, _metadataService, _claimsService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._claimsService = _claimsService;\n this._logger = new Logger(\"ResponseValidator\");\n this._userInfoService = new UserInfoService(this._settings, this._metadataService);\n this._tokenClient = new TokenClient(this._settings, this._metadataService);\n }\n async validateSigninResponse(response, state, extraHeaders) {\n const logger2 = this._logger.create(\"validateSigninResponse\");\n this._processSigninState(response, state);\n logger2.debug(\"state processed\");\n await this._processCode(response, state, extraHeaders);\n logger2.debug(\"code processed\");\n if (response.isOpenId) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, state == null ? void 0 : state.skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateCredentialsResponse(response, skipUserInfo) {\n const logger2 = this._logger.create(\"validateCredentialsResponse\");\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateRefreshResponse(response, state) {\n var _a, _b;\n const logger2 = this._logger.create(\"validateRefreshResponse\");\n response.userState = state.data;\n (_a = response.session_state) != null ? _a : response.session_state = state.session_state;\n (_b = response.scope) != null ? _b : response.scope = state.scope;\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response, state.id_token);\n logger2.debug(\"ID Token validated\");\n }\n if (!response.id_token) {\n response.id_token = state.id_token;\n response.profile = state.profile;\n }\n const hasIdToken = response.isOpenId && !!response.id_token;\n await this._processClaims(response, false, hasIdToken);\n logger2.debug(\"claims processed\");\n }\n validateSignoutResponse(response, state) {\n const logger2 = this._logger.create(\"validateSignoutResponse\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n }\n _processSigninState(response, state) {\n var _a;\n const logger2 = this._logger.create(\"_processSigninState\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n if (!state.client_id) {\n logger2.throw(new Error(\"No client_id on state\"));\n }\n if (!state.authority) {\n logger2.throw(new Error(\"No authority on state\"));\n }\n if (this._settings.authority !== state.authority) {\n logger2.throw(new Error(\"authority mismatch on settings vs. signin state\"));\n }\n if (this._settings.client_id && this._settings.client_id !== state.client_id) {\n logger2.throw(new Error(\"client_id mismatch on settings vs. signin state\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n response.url_state = state.url_state;\n (_a = response.scope) != null ? _a : response.scope = state.scope;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n if (state.code_verifier && !response.code) {\n logger2.throw(new Error(\"Expected code in response\"));\n }\n }\n async _processClaims(response, skipUserInfo = false, validateSub = true) {\n const logger2 = this._logger.create(\"_processClaims\");\n response.profile = this._claimsService.filterProtocolClaims(response.profile);\n if (skipUserInfo || !this._settings.loadUserInfo || !response.access_token) {\n logger2.debug(\"not loading user info\");\n return;\n }\n logger2.debug(\"loading user info\");\n const claims = await this._userInfoService.getClaims(response.access_token);\n logger2.debug(\"user info claims received from user info endpoint\");\n if (validateSub && claims.sub !== response.profile.sub) {\n logger2.throw(new Error(\"subject from UserInfo response does not match subject in ID Token\"));\n }\n response.profile = this._claimsService.mergeClaims(response.profile, this._claimsService.filterProtocolClaims(claims));\n logger2.debug(\"user info claims received, updated profile:\", response.profile);\n }\n async _processCode(response, state, extraHeaders) {\n const logger2 = this._logger.create(\"_processCode\");\n if (response.code) {\n logger2.debug(\"Validating code\");\n const tokenResponse = await this._tokenClient.exchangeCode({\n client_id: state.client_id,\n client_secret: state.client_secret,\n code: response.code,\n redirect_uri: state.redirect_uri,\n code_verifier: state.code_verifier,\n extraHeaders,\n ...state.extraTokenParams\n });\n Object.assign(response, tokenResponse);\n } else {\n logger2.debug(\"No code to process\");\n }\n }\n _validateIdTokenAttributes(response, existingToken) {\n var _a;\n const logger2 = this._logger.create(\"_validateIdTokenAttributes\");\n logger2.debug(\"decoding ID Token JWT\");\n const incoming = JwtUtils.decode((_a = response.id_token) != null ? _a : \"\");\n if (!incoming.sub) {\n logger2.throw(new Error(\"ID Token is missing a subject claim\"));\n }\n if (existingToken) {\n const existing = JwtUtils.decode(existingToken);\n if (incoming.sub !== existing.sub) {\n logger2.throw(new Error(\"sub in id_token does not match current sub\"));\n }\n if (incoming.auth_time && incoming.auth_time !== existing.auth_time) {\n logger2.throw(new Error(\"auth_time in id_token does not match original auth_time\"));\n }\n if (incoming.azp && incoming.azp !== existing.azp) {\n logger2.throw(new Error(\"azp in id_token does not match original azp\"));\n }\n if (!incoming.azp && existing.azp) {\n logger2.throw(new Error(\"azp not in id_token, but present in original id_token\"));\n }\n }\n response.profile = incoming;\n }\n};\n\n// src/State.ts\nvar State = class _State {\n constructor(args) {\n this.id = args.id || CryptoUtils.generateUUIDv4();\n this.data = args.data;\n if (args.created && args.created > 0) {\n this.created = args.created;\n } else {\n this.created = Timer.getEpochTime();\n }\n this.request_type = args.request_type;\n this.url_state = args.url_state;\n }\n toStorageString() {\n new Logger(\"State\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"State\", \"fromStorageString\");\n return Promise.resolve(new _State(JSON.parse(storageString)));\n }\n static async clearStaleState(storage, age) {\n const logger2 = Logger.createStatic(\"State\", \"clearStaleState\");\n const cutoff = Timer.getEpochTime() - age;\n const keys = await storage.getAllKeys();\n logger2.debug(\"got keys\", keys);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const item = await storage.get(key);\n let remove = false;\n if (item) {\n try {\n const state = await _State.fromStorageString(item);\n logger2.debug(\"got item from key:\", key, state.created);\n if (state.created <= cutoff) {\n remove = true;\n }\n } catch (err) {\n logger2.error(\"Error parsing state for key:\", key, err);\n remove = true;\n }\n } else {\n logger2.debug(\"no item in storage for key:\", key);\n remove = true;\n }\n if (remove) {\n logger2.debug(\"removed item for key:\", key);\n void storage.remove(key);\n }\n }\n }\n};\n\n// src/SigninState.ts\nvar SigninState = class _SigninState extends State {\n constructor(args) {\n super(args);\n this.code_verifier = args.code_verifier;\n this.code_challenge = args.code_challenge;\n this.authority = args.authority;\n this.client_id = args.client_id;\n this.redirect_uri = args.redirect_uri;\n this.scope = args.scope;\n this.client_secret = args.client_secret;\n this.extraTokenParams = args.extraTokenParams;\n this.response_mode = args.response_mode;\n this.skipUserInfo = args.skipUserInfo;\n }\n static async create(args) {\n const code_verifier = args.code_verifier === true ? CryptoUtils.generateCodeVerifier() : args.code_verifier || void 0;\n const code_challenge = code_verifier ? await CryptoUtils.generateCodeChallenge(code_verifier) : void 0;\n return new _SigninState({\n ...args,\n code_verifier,\n code_challenge\n });\n }\n toStorageString() {\n new Logger(\"SigninState\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state,\n code_verifier: this.code_verifier,\n authority: this.authority,\n client_id: this.client_id,\n redirect_uri: this.redirect_uri,\n scope: this.scope,\n client_secret: this.client_secret,\n extraTokenParams: this.extraTokenParams,\n response_mode: this.response_mode,\n skipUserInfo: this.skipUserInfo\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"SigninState\", \"fromStorageString\");\n const data = JSON.parse(storageString);\n return _SigninState.create(data);\n }\n};\n\n// src/SigninRequest.ts\nvar _SigninRequest = class _SigninRequest {\n constructor(args) {\n this.url = args.url;\n this.state = args.state;\n }\n static async create({\n // mandatory\n url,\n authority,\n client_id,\n redirect_uri,\n response_type,\n scope,\n // optional\n state_data,\n response_mode,\n request_type,\n client_secret,\n nonce,\n url_state,\n resource,\n skipUserInfo,\n extraQueryParams,\n extraTokenParams,\n disablePKCE,\n dpopJkt,\n omitScopeWhenRequesting,\n ...optionalParams\n }) {\n if (!url) {\n this._logger.error(\"create: No url passed\");\n throw new Error(\"url\");\n }\n if (!client_id) {\n this._logger.error(\"create: No client_id passed\");\n throw new Error(\"client_id\");\n }\n if (!redirect_uri) {\n this._logger.error(\"create: No redirect_uri passed\");\n throw new Error(\"redirect_uri\");\n }\n if (!response_type) {\n this._logger.error(\"create: No response_type passed\");\n throw new Error(\"response_type\");\n }\n if (!scope) {\n this._logger.error(\"create: No scope passed\");\n throw new Error(\"scope\");\n }\n if (!authority) {\n this._logger.error(\"create: No authority passed\");\n throw new Error(\"authority\");\n }\n const state = await SigninState.create({\n data: state_data,\n request_type,\n url_state,\n code_verifier: !disablePKCE,\n client_id,\n authority,\n redirect_uri,\n response_mode,\n client_secret,\n scope,\n extraTokenParams,\n skipUserInfo\n });\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.append(\"client_id\", client_id);\n parsedUrl.searchParams.append(\"redirect_uri\", redirect_uri);\n parsedUrl.searchParams.append(\"response_type\", response_type);\n if (!omitScopeWhenRequesting) {\n parsedUrl.searchParams.append(\"scope\", scope);\n }\n if (nonce) {\n parsedUrl.searchParams.append(\"nonce\", nonce);\n }\n if (dpopJkt) {\n parsedUrl.searchParams.append(\"dpop_jkt\", dpopJkt);\n }\n let stateParam = state.id;\n if (url_state) {\n stateParam = `${stateParam}${URL_STATE_DELIMITER}${url_state}`;\n }\n parsedUrl.searchParams.append(\"state\", stateParam);\n if (state.code_challenge) {\n parsedUrl.searchParams.append(\"code_challenge\", state.code_challenge);\n parsedUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n }\n if (resource) {\n const resources = Array.isArray(resource) ? resource : [resource];\n resources.forEach((r) => parsedUrl.searchParams.append(\"resource\", r));\n }\n for (const [key, value] of Object.entries({ response_mode, ...optionalParams, ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n return new _SigninRequest({\n url: parsedUrl.href,\n state\n });\n }\n};\n_SigninRequest._logger = new Logger(\"SigninRequest\");\nvar SigninRequest = _SigninRequest;\n\n// src/SigninResponse.ts\nvar OidcScope = \"openid\";\nvar SigninResponse = class {\n constructor(params) {\n /** @see {@link User.access_token} */\n this.access_token = \"\";\n /** @see {@link User.token_type} */\n this.token_type = \"\";\n /** @see {@link User.profile} */\n this.profile = {};\n this.state = params.get(\"state\");\n this.session_state = params.get(\"session_state\");\n if (this.state) {\n const splitState = decodeURIComponent(this.state).split(URL_STATE_DELIMITER);\n this.state = splitState[0];\n if (splitState.length > 1) {\n this.url_state = splitState.slice(1).join(URL_STATE_DELIMITER);\n }\n }\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n this.code = params.get(\"code\");\n }\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (typeof value === \"string\") value = Number(value);\n if (value !== void 0 && value >= 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n get isOpenId() {\n var _a;\n return ((_a = this.scope) == null ? void 0 : _a.split(\" \").includes(OidcScope)) || !!this.id_token;\n }\n};\n\n// src/SignoutRequest.ts\nvar SignoutRequest = class {\n constructor({\n url,\n state_data,\n id_token_hint,\n post_logout_redirect_uri,\n extraQueryParams,\n request_type,\n client_id,\n url_state\n }) {\n this._logger = new Logger(\"SignoutRequest\");\n if (!url) {\n this._logger.error(\"ctor: No url passed\");\n throw new Error(\"url\");\n }\n const parsedUrl = new URL(url);\n if (id_token_hint) {\n parsedUrl.searchParams.append(\"id_token_hint\", id_token_hint);\n }\n if (client_id) {\n parsedUrl.searchParams.append(\"client_id\", client_id);\n }\n if (post_logout_redirect_uri) {\n parsedUrl.searchParams.append(\"post_logout_redirect_uri\", post_logout_redirect_uri);\n if (state_data || url_state) {\n this.state = new State({ data: state_data, request_type, url_state });\n let stateParam = this.state.id;\n if (url_state) {\n stateParam = `${stateParam}${URL_STATE_DELIMITER}${url_state}`;\n }\n parsedUrl.searchParams.append(\"state\", stateParam);\n }\n }\n for (const [key, value] of Object.entries({ ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n this.url = parsedUrl.href;\n }\n};\n\n// src/SignoutResponse.ts\nvar SignoutResponse = class {\n constructor(params) {\n this.state = params.get(\"state\");\n if (this.state) {\n const splitState = decodeURIComponent(this.state).split(URL_STATE_DELIMITER);\n this.state = splitState[0];\n if (splitState.length > 1) {\n this.url_state = splitState.slice(1).join(URL_STATE_DELIMITER);\n }\n }\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n }\n};\n\n// src/ClaimsService.ts\nvar DefaultProtocolClaims = [\n \"nbf\",\n \"jti\",\n \"auth_time\",\n \"nonce\",\n \"acr\",\n \"amr\",\n \"azp\",\n \"at_hash\"\n // https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken\n];\nvar InternalRequiredProtocolClaims = [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\"];\nvar ClaimsService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"ClaimsService\");\n }\n filterProtocolClaims(claims) {\n const result = { ...claims };\n if (this._settings.filterProtocolClaims) {\n let protocolClaims;\n if (Array.isArray(this._settings.filterProtocolClaims)) {\n protocolClaims = this._settings.filterProtocolClaims;\n } else {\n protocolClaims = DefaultProtocolClaims;\n }\n for (const claim of protocolClaims) {\n if (!InternalRequiredProtocolClaims.includes(claim)) {\n delete result[claim];\n }\n }\n }\n return result;\n }\n mergeClaims(claims1, claims2) {\n const result = { ...claims1 };\n for (const [claim, values] of Object.entries(claims2)) {\n if (result[claim] !== values) {\n if (Array.isArray(result[claim]) || Array.isArray(values)) {\n if (this._settings.mergeClaimsStrategy.array == \"replace\") {\n result[claim] = values;\n } else {\n const mergedValues = Array.isArray(result[claim]) ? result[claim] : [result[claim]];\n for (const value of Array.isArray(values) ? values : [values]) {\n if (!mergedValues.includes(value)) {\n mergedValues.push(value);\n }\n }\n result[claim] = mergedValues;\n }\n } else if (typeof result[claim] === \"object\" && typeof values === \"object\") {\n result[claim] = this.mergeClaims(result[claim], values);\n } else {\n result[claim] = values;\n }\n }\n }\n return result;\n }\n};\n\n// src/DPoPStore.ts\nvar DPoPState = class {\n constructor(keys, nonce) {\n this.keys = keys;\n this.nonce = nonce;\n }\n};\n\n// src/OidcClient.ts\nvar OidcClient = class {\n constructor(settings, metadataService) {\n this._logger = new Logger(\"OidcClient\");\n this.settings = settings instanceof OidcClientSettingsStore ? settings : new OidcClientSettingsStore(settings);\n this.metadataService = metadataService != null ? metadataService : new MetadataService(this.settings);\n this._claimsService = new ClaimsService(this.settings);\n this._validator = new ResponseValidator(this.settings, this.metadataService, this._claimsService);\n this._tokenClient = new TokenClient(this.settings, this.metadataService);\n }\n async createSigninRequest({\n state,\n request,\n request_uri,\n request_type,\n id_token_hint,\n login_hint,\n skipUserInfo,\n nonce,\n url_state,\n response_type = this.settings.response_type,\n scope = this.settings.scope,\n redirect_uri = this.settings.redirect_uri,\n prompt = this.settings.prompt,\n display = this.settings.display,\n max_age = this.settings.max_age,\n ui_locales = this.settings.ui_locales,\n acr_values = this.settings.acr_values,\n resource = this.settings.resource,\n response_mode = this.settings.response_mode,\n extraQueryParams = this.settings.extraQueryParams,\n extraTokenParams = this.settings.extraTokenParams,\n dpopJkt,\n omitScopeWhenRequesting = this.settings.omitScopeWhenRequesting\n }) {\n const logger2 = this._logger.create(\"createSigninRequest\");\n if (response_type !== \"code\") {\n throw new Error(\"Only the Authorization Code flow (with PKCE) is supported\");\n }\n const url = await this.metadataService.getAuthorizationEndpoint();\n logger2.debug(\"Received authorization endpoint\", url);\n const signinRequest = await SigninRequest.create({\n url,\n authority: this.settings.authority,\n client_id: this.settings.client_id,\n redirect_uri,\n response_type,\n scope,\n state_data: state,\n url_state,\n prompt,\n display,\n max_age,\n ui_locales,\n id_token_hint,\n login_hint,\n acr_values,\n dpopJkt,\n resource,\n request,\n request_uri,\n extraQueryParams,\n extraTokenParams,\n request_type,\n response_mode,\n client_secret: this.settings.client_secret,\n skipUserInfo,\n nonce,\n disablePKCE: this.settings.disablePKCE,\n omitScopeWhenRequesting\n });\n await this.clearStaleState();\n const signinState = signinRequest.state;\n await this.settings.stateStore.set(signinState.id, signinState.toStorageString());\n return signinRequest;\n }\n async readSigninResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSigninResponseState\");\n const response = new SigninResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.throw(new Error(\"No state in response\"));\n throw null;\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = await SigninState.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSigninResponse(url, extraHeaders, removeState = true) {\n const logger2 = this._logger.create(\"processSigninResponse\");\n const { state, response } = await this.readSigninResponseState(url, removeState);\n logger2.debug(\"received state from storage; validating response\");\n if (this.settings.dpop && this.settings.dpop.store) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store);\n extraHeaders = { ...extraHeaders, \"DPoP\": dpopProof };\n }\n try {\n await this._validator.validateSigninResponse(response, state, extraHeaders);\n } catch (err) {\n if (err instanceof ErrorDPoPNonce && this.settings.dpop) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store, err.nonce);\n extraHeaders[\"DPoP\"] = dpopProof;\n await this._validator.validateSigninResponse(response, state, extraHeaders);\n } else {\n throw err;\n }\n }\n return response;\n }\n async getDpopProof(dpopStore, nonce) {\n let keyPair;\n let dpopState;\n if (!(await dpopStore.getAllKeys()).includes(this.settings.client_id)) {\n keyPair = await CryptoUtils.generateDPoPKeys();\n dpopState = new DPoPState(keyPair, nonce);\n await dpopStore.set(this.settings.client_id, dpopState);\n } else {\n dpopState = await dpopStore.get(this.settings.client_id);\n if (dpopState.nonce !== nonce && nonce) {\n dpopState.nonce = nonce;\n await dpopStore.set(this.settings.client_id, dpopState);\n }\n }\n return await CryptoUtils.generateDPoPProof({\n url: await this.metadataService.getTokenEndpoint(false),\n httpMethod: \"POST\",\n keyPair: dpopState.keys,\n nonce: dpopState.nonce\n });\n }\n async processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo = false,\n extraTokenParams = {}\n }) {\n const tokenResponse = await this._tokenClient.exchangeCredentials({ username, password, ...extraTokenParams });\n const signinResponse = new SigninResponse(new URLSearchParams());\n Object.assign(signinResponse, tokenResponse);\n await this._validator.validateCredentialsResponse(signinResponse, skipUserInfo);\n return signinResponse;\n }\n async useRefreshToken({\n state,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n extraTokenParams\n }) {\n var _a;\n const logger2 = this._logger.create(\"useRefreshToken\");\n let scope;\n if (this.settings.refreshTokenAllowedScope === void 0) {\n scope = state.scope;\n } else {\n const allowableScopes = this.settings.refreshTokenAllowedScope.split(\" \");\n const providedScopes = ((_a = state.scope) == null ? void 0 : _a.split(\" \")) || [];\n scope = providedScopes.filter((s) => allowableScopes.includes(s)).join(\" \");\n }\n if (this.settings.dpop && this.settings.dpop.store) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store);\n extraHeaders = { ...extraHeaders, \"DPoP\": dpopProof };\n }\n let result;\n try {\n result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n ...extraTokenParams\n });\n } catch (err) {\n if (err instanceof ErrorDPoPNonce && this.settings.dpop) {\n extraHeaders[\"DPoP\"] = await this.getDpopProof(this.settings.dpop.store, err.nonce);\n result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n ...extraTokenParams\n });\n } else {\n throw err;\n }\n }\n const response = new SigninResponse(new URLSearchParams());\n Object.assign(response, result);\n logger2.debug(\"validating response\", response);\n await this._validator.validateRefreshResponse(response, {\n ...state,\n // override the scope in the state handed over to the validator\n // so it can set the granted scope to the requested scope in case none is included in the response\n scope\n });\n return response;\n }\n async createSignoutRequest({\n state,\n id_token_hint,\n client_id,\n request_type,\n url_state,\n post_logout_redirect_uri = this.settings.post_logout_redirect_uri,\n extraQueryParams = this.settings.extraQueryParams\n } = {}) {\n const logger2 = this._logger.create(\"createSignoutRequest\");\n const url = await this.metadataService.getEndSessionEndpoint();\n if (!url) {\n logger2.throw(new Error(\"No end session endpoint\"));\n throw null;\n }\n logger2.debug(\"Received end session endpoint\", url);\n if (!client_id && post_logout_redirect_uri && !id_token_hint) {\n client_id = this.settings.client_id;\n }\n const request = new SignoutRequest({\n url,\n id_token_hint,\n client_id,\n post_logout_redirect_uri,\n state_data: state,\n extraQueryParams,\n request_type,\n url_state\n });\n await this.clearStaleState();\n const signoutState = request.state;\n if (signoutState) {\n logger2.debug(\"Signout request has state to persist\");\n await this.settings.stateStore.set(signoutState.id, signoutState.toStorageString());\n }\n return request;\n }\n async readSignoutResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSignoutResponseState\");\n const response = new SignoutResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.debug(\"No state in response\");\n if (response.error) {\n logger2.warn(\"Response was error:\", response.error);\n throw new ErrorResponse(response);\n }\n return { state: void 0, response };\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = await State.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSignoutResponse(url) {\n const logger2 = this._logger.create(\"processSignoutResponse\");\n const { state, response } = await this.readSignoutResponseState(url, true);\n if (state) {\n logger2.debug(\"Received state from storage; validating response\");\n this._validator.validateSignoutResponse(response, state);\n } else {\n logger2.debug(\"No state from storage; skipping response validation\");\n }\n return response;\n }\n clearStaleState() {\n this._logger.create(\"clearStaleState\");\n return State.clearStaleState(this.settings.stateStore, this.settings.staleStateAgeInSeconds);\n }\n async revokeToken(token, type) {\n this._logger.create(\"revokeToken\");\n return await this._tokenClient.revoke({\n token,\n token_type_hint: type\n });\n }\n};\n\n// src/SessionMonitor.ts\nvar SessionMonitor = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SessionMonitor\");\n this._start = async (user) => {\n const session_state = user.session_state;\n if (!session_state) {\n return;\n }\n const logger2 = this._logger.create(\"_start\");\n if (user.profile) {\n this._sub = user.profile.sub;\n logger2.debug(\"session_state\", session_state, \", sub\", this._sub);\n } else {\n this._sub = void 0;\n logger2.debug(\"session_state\", session_state, \", anonymous user\");\n }\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.start(session_state);\n return;\n }\n try {\n const url = await this._userManager.metadataService.getCheckSessionIframe();\n if (url) {\n logger2.debug(\"initializing check session iframe\");\n const client_id = this._userManager.settings.client_id;\n const intervalInSeconds = this._userManager.settings.checkSessionIntervalInSeconds;\n const stopOnError = this._userManager.settings.stopCheckSessionOnError;\n const checkSessionIFrame = new CheckSessionIFrame(this._callback, client_id, url, intervalInSeconds, stopOnError);\n await checkSessionIFrame.load();\n this._checkSessionIFrame = checkSessionIFrame;\n checkSessionIFrame.start(session_state);\n } else {\n logger2.warn(\"no check session iframe found in the metadata\");\n }\n } catch (err) {\n logger2.error(\"Error from getCheckSessionIframe:\", err instanceof Error ? err.message : err);\n }\n };\n this._stop = () => {\n const logger2 = this._logger.create(\"_stop\");\n this._sub = void 0;\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.stop();\n }\n if (this._userManager.settings.monitorAnonymousSession) {\n const timerHandle = setInterval(async () => {\n clearInterval(timerHandle);\n try {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub\n } : null\n };\n void this._start(tmpUser);\n }\n } catch (err) {\n logger2.error(\"error from querySessionStatus\", err instanceof Error ? err.message : err);\n }\n }, 1e3);\n }\n };\n this._callback = async () => {\n const logger2 = this._logger.create(\"_callback\");\n try {\n const session = await this._userManager.querySessionStatus();\n let raiseEvent = true;\n if (session && this._checkSessionIFrame) {\n if (session.sub === this._sub) {\n raiseEvent = false;\n this._checkSessionIFrame.start(session.session_state);\n logger2.debug(\"same sub still logged in at OP, session state has changed, restarting check session iframe; session_state\", session.session_state);\n await this._userManager.events._raiseUserSessionChanged();\n } else {\n logger2.debug(\"different subject signed into OP\", session.sub);\n }\n } else {\n logger2.debug(\"subject no longer signed into OP\");\n }\n if (raiseEvent) {\n if (this._sub) {\n await this._userManager.events._raiseUserSignedOut();\n } else {\n await this._userManager.events._raiseUserSignedIn();\n }\n } else {\n logger2.debug(\"no change in session detected, no event to raise\");\n }\n } catch (err) {\n if (this._sub) {\n logger2.debug(\"Error calling queryCurrentSigninSession; raising signed out event\", err);\n await this._userManager.events._raiseUserSignedOut();\n }\n }\n };\n if (!_userManager) {\n this._logger.throw(new Error(\"No user manager passed\"));\n }\n this._userManager.events.addUserLoaded(this._start);\n this._userManager.events.addUserUnloaded(this._stop);\n this._init().catch((err) => {\n this._logger.error(err);\n });\n }\n async _init() {\n this._logger.create(\"_init\");\n const user = await this._userManager.getUser();\n if (user) {\n void this._start(user);\n } else if (this._userManager.settings.monitorAnonymousSession) {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub\n } : null\n };\n void this._start(tmpUser);\n }\n }\n }\n};\n\n// src/User.ts\nvar User = class _User {\n constructor(args) {\n var _a;\n this.id_token = args.id_token;\n this.session_state = (_a = args.session_state) != null ? _a : null;\n this.access_token = args.access_token;\n this.refresh_token = args.refresh_token;\n this.token_type = args.token_type;\n this.scope = args.scope;\n this.profile = args.profile;\n this.expires_at = args.expires_at;\n this.state = args.userState;\n this.url_state = args.url_state;\n }\n /** Computed number of seconds the access token has remaining. */\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (value !== void 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n /** Computed value indicating if the access token is expired. */\n get expired() {\n const expires_in = this.expires_in;\n if (expires_in === void 0) {\n return void 0;\n }\n return expires_in <= 0;\n }\n /** Array representing the parsed values from the `scope`. */\n get scopes() {\n var _a, _b;\n return (_b = (_a = this.scope) == null ? void 0 : _a.split(\" \")) != null ? _b : [];\n }\n toStorageString() {\n new Logger(\"User\").create(\"toStorageString\");\n return JSON.stringify({\n id_token: this.id_token,\n session_state: this.session_state,\n access_token: this.access_token,\n refresh_token: this.refresh_token,\n token_type: this.token_type,\n scope: this.scope,\n profile: this.profile,\n expires_at: this.expires_at\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"User\", \"fromStorageString\");\n return new _User(JSON.parse(storageString));\n }\n};\n\n// src/navigators/AbstractChildWindow.ts\nvar messageSource = \"oidc-client\";\nvar AbstractChildWindow = class {\n constructor() {\n this._abort = new Event(\"Window navigation aborted\");\n this._disposeHandlers = /* @__PURE__ */ new Set();\n this._window = null;\n }\n async navigate(params) {\n const logger2 = this._logger.create(\"navigate\");\n if (!this._window) {\n throw new Error(\"Attempted to navigate on a disposed window\");\n }\n logger2.debug(\"setting URL in window\");\n this._window.location.replace(params.url);\n const { url, keepOpen } = await new Promise((resolve, reject) => {\n const listener = (e) => {\n var _a;\n const data = e.data;\n const origin = (_a = params.scriptOrigin) != null ? _a : window.location.origin;\n if (e.origin !== origin || (data == null ? void 0 : data.source) !== messageSource) {\n return;\n }\n try {\n const state = UrlUtils.readParams(data.url, params.response_mode).get(\"state\");\n if (!state) {\n logger2.warn(\"no state found in response url\");\n }\n if (e.source !== this._window && state !== params.state) {\n return;\n }\n } catch {\n this._dispose();\n reject(new Error(\"Invalid response from window\"));\n }\n resolve(data);\n };\n window.addEventListener(\"message\", listener, false);\n this._disposeHandlers.add(() => window.removeEventListener(\"message\", listener, false));\n this._disposeHandlers.add(this._abort.addHandler((reason) => {\n this._dispose();\n reject(reason);\n }));\n });\n logger2.debug(\"got response from window\");\n this._dispose();\n if (!keepOpen) {\n this.close();\n }\n return { url };\n }\n _dispose() {\n this._logger.create(\"_dispose\");\n for (const dispose of this._disposeHandlers) {\n dispose();\n }\n this._disposeHandlers.clear();\n }\n static _notifyParent(parent, url, keepOpen = false, targetOrigin = window.location.origin) {\n parent.postMessage({\n source: messageSource,\n url,\n keepOpen\n }, targetOrigin);\n }\n};\n\n// src/UserManagerSettings.ts\nvar DefaultPopupWindowFeatures = {\n location: false,\n toolbar: false,\n height: 640,\n closePopupWindowAfterInSeconds: -1\n};\nvar DefaultPopupTarget = \"_blank\";\nvar DefaultAccessTokenExpiringNotificationTimeInSeconds = 60;\nvar DefaultCheckSessionIntervalInSeconds = 2;\nvar DefaultSilentRequestTimeoutInSeconds = 10;\nvar UserManagerSettingsStore = class extends OidcClientSettingsStore {\n constructor(args) {\n const {\n popup_redirect_uri = args.redirect_uri,\n popup_post_logout_redirect_uri = args.post_logout_redirect_uri,\n popupWindowFeatures = DefaultPopupWindowFeatures,\n popupWindowTarget = DefaultPopupTarget,\n redirectMethod = \"assign\",\n redirectTarget = \"self\",\n iframeNotifyParentOrigin = args.iframeNotifyParentOrigin,\n iframeScriptOrigin = args.iframeScriptOrigin,\n requestTimeoutInSeconds,\n silent_redirect_uri = args.redirect_uri,\n silentRequestTimeoutInSeconds,\n automaticSilentRenew = true,\n validateSubOnSilentRenew = true,\n includeIdTokenInSilentRenew = false,\n monitorSession = false,\n monitorAnonymousSession = false,\n checkSessionIntervalInSeconds = DefaultCheckSessionIntervalInSeconds,\n query_status_response_type = \"code\",\n stopCheckSessionOnError = true,\n revokeTokenTypes = [\"access_token\", \"refresh_token\"],\n revokeTokensOnSignout = false,\n includeIdTokenInSilentSignout = false,\n accessTokenExpiringNotificationTimeInSeconds = DefaultAccessTokenExpiringNotificationTimeInSeconds,\n userStore\n } = args;\n super(args);\n this.popup_redirect_uri = popup_redirect_uri;\n this.popup_post_logout_redirect_uri = popup_post_logout_redirect_uri;\n this.popupWindowFeatures = popupWindowFeatures;\n this.popupWindowTarget = popupWindowTarget;\n this.redirectMethod = redirectMethod;\n this.redirectTarget = redirectTarget;\n this.iframeNotifyParentOrigin = iframeNotifyParentOrigin;\n this.iframeScriptOrigin = iframeScriptOrigin;\n this.silent_redirect_uri = silent_redirect_uri;\n this.silentRequestTimeoutInSeconds = silentRequestTimeoutInSeconds || requestTimeoutInSeconds || DefaultSilentRequestTimeoutInSeconds;\n this.automaticSilentRenew = automaticSilentRenew;\n this.validateSubOnSilentRenew = validateSubOnSilentRenew;\n this.includeIdTokenInSilentRenew = includeIdTokenInSilentRenew;\n this.monitorSession = monitorSession;\n this.monitorAnonymousSession = monitorAnonymousSession;\n this.checkSessionIntervalInSeconds = checkSessionIntervalInSeconds;\n this.stopCheckSessionOnError = stopCheckSessionOnError;\n this.query_status_response_type = query_status_response_type;\n this.revokeTokenTypes = revokeTokenTypes;\n this.revokeTokensOnSignout = revokeTokensOnSignout;\n this.includeIdTokenInSilentSignout = includeIdTokenInSilentSignout;\n this.accessTokenExpiringNotificationTimeInSeconds = accessTokenExpiringNotificationTimeInSeconds;\n if (userStore) {\n this.userStore = userStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.sessionStorage : new InMemoryWebStorage();\n this.userStore = new WebStorageStateStore({ store });\n }\n }\n};\n\n// src/navigators/IFrameWindow.ts\nvar IFrameWindow = class _IFrameWindow extends AbstractChildWindow {\n constructor({\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds\n }) {\n super();\n this._logger = new Logger(\"IFrameWindow\");\n this._timeoutInSeconds = silentRequestTimeoutInSeconds;\n this._frame = _IFrameWindow.createHiddenIframe();\n this._window = this._frame.contentWindow;\n }\n static createHiddenIframe() {\n const iframe = window.document.createElement(\"iframe\");\n iframe.style.visibility = \"hidden\";\n iframe.style.position = \"fixed\";\n iframe.style.left = \"-1000px\";\n iframe.style.top = \"0\";\n iframe.width = \"0\";\n iframe.height = \"0\";\n window.document.body.appendChild(iframe);\n return iframe;\n }\n async navigate(params) {\n this._logger.debug(\"navigate: Using timeout of:\", this._timeoutInSeconds);\n const timer = setTimeout(() => void this._abort.raise(new ErrorTimeout(\"IFrame timed out without a response\")), this._timeoutInSeconds * 1e3);\n this._disposeHandlers.add(() => clearTimeout(timer));\n return await super.navigate(params);\n }\n close() {\n var _a;\n if (this._frame) {\n if (this._frame.parentNode) {\n this._frame.addEventListener(\"load\", (ev) => {\n var _a2;\n const frame = ev.target;\n (_a2 = frame.parentNode) == null ? void 0 : _a2.removeChild(frame);\n void this._abort.raise(new Error(\"IFrame removed from DOM\"));\n }, true);\n (_a = this._frame.contentWindow) == null ? void 0 : _a.location.replace(\"about:blank\");\n }\n this._frame = null;\n }\n this._window = null;\n }\n static notifyParent(url, targetOrigin) {\n return super._notifyParent(window.parent, url, false, targetOrigin);\n }\n};\n\n// src/navigators/IFrameNavigator.ts\nvar IFrameNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"IFrameNavigator\");\n }\n async prepare({\n silentRequestTimeoutInSeconds = this._settings.silentRequestTimeoutInSeconds\n }) {\n return new IFrameWindow({ silentRequestTimeoutInSeconds });\n }\n async callback(url) {\n this._logger.create(\"callback\");\n IFrameWindow.notifyParent(url, this._settings.iframeNotifyParentOrigin);\n }\n};\n\n// src/navigators/PopupWindow.ts\nvar checkForPopupClosedInterval = 500;\nvar second = 1e3;\nvar PopupWindow = class extends AbstractChildWindow {\n constructor({\n popupWindowTarget = DefaultPopupTarget,\n popupWindowFeatures = {},\n popupSignal\n }) {\n super();\n this._logger = new Logger(\"PopupWindow\");\n const centeredPopup = PopupUtils.center({ ...DefaultPopupWindowFeatures, ...popupWindowFeatures });\n this._window = window.open(void 0, popupWindowTarget, PopupUtils.serialize(centeredPopup));\n if (popupSignal) {\n popupSignal.addEventListener(\"abort\", () => {\n var _a;\n void this._abort.raise(new Error((_a = popupSignal.reason) != null ? _a : \"Popup aborted\"));\n });\n }\n if (popupWindowFeatures.closePopupWindowAfterInSeconds && popupWindowFeatures.closePopupWindowAfterInSeconds > 0) {\n setTimeout(() => {\n if (!this._window || typeof this._window.closed !== \"boolean\" || this._window.closed) {\n void this._abort.raise(new Error(\"Popup blocked by user\"));\n return;\n }\n this.close();\n }, popupWindowFeatures.closePopupWindowAfterInSeconds * second);\n }\n }\n async navigate(params) {\n var _a;\n (_a = this._window) == null ? void 0 : _a.focus();\n const popupClosedInterval = setInterval(() => {\n if (!this._window || this._window.closed) {\n void this._abort.raise(new Error(\"Popup closed by user\"));\n }\n }, checkForPopupClosedInterval);\n this._disposeHandlers.add(() => clearInterval(popupClosedInterval));\n return await super.navigate(params);\n }\n close() {\n if (this._window) {\n if (!this._window.closed) {\n this._window.close();\n void this._abort.raise(new Error(\"Popup closed\"));\n }\n }\n this._window = null;\n }\n static notifyOpener(url, keepOpen) {\n if (!window.opener) {\n throw new Error(\"No window.opener. Can't complete notification.\");\n }\n return super._notifyParent(window.opener, url, keepOpen);\n }\n};\n\n// src/navigators/PopupNavigator.ts\nvar PopupNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"PopupNavigator\");\n }\n async prepare({\n popupWindowFeatures = this._settings.popupWindowFeatures,\n popupWindowTarget = this._settings.popupWindowTarget,\n popupSignal\n }) {\n return new PopupWindow({ popupWindowFeatures, popupWindowTarget, popupSignal });\n }\n async callback(url, { keepOpen = false }) {\n this._logger.create(\"callback\");\n PopupWindow.notifyOpener(url, keepOpen);\n }\n};\n\n// src/navigators/RedirectNavigator.ts\nvar RedirectNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"RedirectNavigator\");\n }\n async prepare({\n redirectMethod = this._settings.redirectMethod,\n redirectTarget = this._settings.redirectTarget\n }) {\n var _a;\n this._logger.create(\"prepare\");\n let targetWindow = window.self;\n if (redirectTarget === \"top\") {\n targetWindow = (_a = window.top) != null ? _a : window.self;\n }\n const redirect = targetWindow.location[redirectMethod].bind(targetWindow.location);\n let abort;\n return {\n navigate: async (params) => {\n this._logger.create(\"navigate\");\n const promise = new Promise((resolve, reject) => {\n abort = reject;\n });\n redirect(params.url);\n return await promise;\n },\n close: () => {\n this._logger.create(\"close\");\n abort == null ? void 0 : abort(new Error(\"Redirect aborted\"));\n targetWindow.stop();\n }\n };\n }\n async callback() {\n return;\n }\n};\n\n// src/UserManagerEvents.ts\nvar UserManagerEvents = class extends AccessTokenEvents {\n constructor(settings) {\n super({ expiringNotificationTimeInSeconds: settings.accessTokenExpiringNotificationTimeInSeconds });\n this._logger = new Logger(\"UserManagerEvents\");\n this._userLoaded = new Event(\"User loaded\");\n this._userUnloaded = new Event(\"User unloaded\");\n this._silentRenewError = new Event(\"Silent renew error\");\n this._userSignedIn = new Event(\"User signed in\");\n this._userSignedOut = new Event(\"User signed out\");\n this._userSessionChanged = new Event(\"User session changed\");\n }\n async load(user, raiseEvent = true) {\n await super.load(user);\n if (raiseEvent) {\n await this._userLoaded.raise(user);\n }\n }\n async unload() {\n await super.unload();\n await this._userUnloaded.raise();\n }\n /**\n * Add callback: Raised when a user session has been established (or re-established).\n */\n addUserLoaded(cb) {\n return this._userLoaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been established (or re-established).\n */\n removeUserLoaded(cb) {\n return this._userLoaded.removeHandler(cb);\n }\n /**\n * Add callback: Raised when a user session has been terminated.\n */\n addUserUnloaded(cb) {\n return this._userUnloaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been terminated.\n */\n removeUserUnloaded(cb) {\n return this._userUnloaded.removeHandler(cb);\n }\n /**\n * Add callback: Raised when the automatic silent renew has failed.\n */\n addSilentRenewError(cb) {\n return this._silentRenewError.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the automatic silent renew has failed.\n */\n removeSilentRenewError(cb) {\n return this._silentRenewError.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseSilentRenewError(e) {\n await this._silentRenewError.raise(e);\n }\n /**\n * Add callback: Raised when the user is signed in (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSignedIn(cb) {\n return this._userSignedIn.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user is signed in (when `monitorSession` is set).\n */\n removeUserSignedIn(cb) {\n this._userSignedIn.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSignedIn() {\n await this._userSignedIn.raise();\n }\n /**\n * Add callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSignedOut(cb) {\n return this._userSignedOut.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n */\n removeUserSignedOut(cb) {\n this._userSignedOut.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSignedOut() {\n await this._userSignedOut.raise();\n }\n /**\n * Add callback: Raised when the user session changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSessionChanged(cb) {\n return this._userSessionChanged.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user session changed (when `monitorSession` is set).\n */\n removeUserSessionChanged(cb) {\n this._userSessionChanged.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSessionChanged() {\n await this._userSessionChanged.raise();\n }\n};\n\n// src/SilentRenewService.ts\nvar SilentRenewService = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SilentRenewService\");\n this._isStarted = false;\n this._retryTimer = new Timer(\"Retry Silent Renew\");\n this._tokenExpiring = async () => {\n const logger2 = this._logger.create(\"_tokenExpiring\");\n try {\n await this._userManager.signinSilent();\n logger2.debug(\"silent token renewal successful\");\n } catch (err) {\n if (err instanceof ErrorTimeout) {\n logger2.warn(\"ErrorTimeout from signinSilent:\", err, \"retry in 5s\");\n this._retryTimer.init(5);\n return;\n }\n logger2.error(\"Error from signinSilent:\", err);\n await this._userManager.events._raiseSilentRenewError(err);\n }\n };\n }\n async start() {\n const logger2 = this._logger.create(\"start\");\n if (!this._isStarted) {\n this._isStarted = true;\n this._userManager.events.addAccessTokenExpiring(this._tokenExpiring);\n this._retryTimer.addHandler(this._tokenExpiring);\n try {\n await this._userManager.getUser();\n } catch (err) {\n logger2.error(\"getUser error\", err);\n }\n }\n }\n stop() {\n if (this._isStarted) {\n this._retryTimer.cancel();\n this._retryTimer.removeHandler(this._tokenExpiring);\n this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring);\n this._isStarted = false;\n }\n }\n};\n\n// src/RefreshState.ts\nvar RefreshState = class {\n constructor(args) {\n this.refresh_token = args.refresh_token;\n this.id_token = args.id_token;\n this.session_state = args.session_state;\n this.scope = args.scope;\n this.profile = args.profile;\n this.data = args.state;\n }\n};\n\n// src/UserManager.ts\nvar UserManager = class {\n constructor(settings, redirectNavigator, popupNavigator, iframeNavigator) {\n this._logger = new Logger(\"UserManager\");\n this.settings = new UserManagerSettingsStore(settings);\n this._client = new OidcClient(settings);\n this._redirectNavigator = redirectNavigator != null ? redirectNavigator : new RedirectNavigator(this.settings);\n this._popupNavigator = popupNavigator != null ? popupNavigator : new PopupNavigator(this.settings);\n this._iframeNavigator = iframeNavigator != null ? iframeNavigator : new IFrameNavigator(this.settings);\n this._events = new UserManagerEvents(this.settings);\n this._silentRenewService = new SilentRenewService(this);\n if (this.settings.automaticSilentRenew) {\n this.startSilentRenew();\n }\n this._sessionMonitor = null;\n if (this.settings.monitorSession) {\n this._sessionMonitor = new SessionMonitor(this);\n }\n }\n /**\n * Get object used to register for events raised by the `UserManager`.\n */\n get events() {\n return this._events;\n }\n /**\n * Get object used to access the metadata configuration of the identity provider.\n */\n get metadataService() {\n return this._client.metadataService;\n }\n /**\n * Load the `User` object for the currently authenticated user.\n *\n * @param raiseEvent - If `true`, the `UserLoaded` event will be raised. Defaults to false.\n * @returns A promise\n */\n async getUser(raiseEvent = false) {\n const logger2 = this._logger.create(\"getUser\");\n const user = await this._loadUser();\n if (user) {\n logger2.info(\"user loaded\");\n await this._events.load(user, raiseEvent);\n return user;\n }\n logger2.info(\"user not found in storage\");\n return null;\n }\n /**\n * Remove from any storage the currently authenticated user.\n *\n * @returns A promise\n */\n async removeUser() {\n const logger2 = this._logger.create(\"removeUser\");\n await this.storeUser(null);\n logger2.info(\"user removed from storage\");\n await this._events.unload();\n }\n /**\n * Trigger a redirect of the current window to the authorization endpoint.\n *\n * @returns A promise\n *\n * @throws `Error` In cases of wrong authentication.\n */\n async signinRedirect(args = {}) {\n var _a;\n this._logger.create(\"signinRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n let dpopJkt;\n if ((_a = this.settings.dpop) == null ? void 0 : _a.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signinStart({\n request_type: \"si:r\",\n dpopJkt,\n ...requestArgs\n }, handle);\n }\n /**\n * Process the response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise containing the authenticated `User`.\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinRedirectCallback\");\n const user = await this._signinEnd(url);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n /**\n * Trigger the signin with user/password.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws {@link ErrorResponse} In cases of wrong authentication.\n */\n async signinResourceOwnerCredentials({\n username,\n password,\n skipUserInfo = false\n }) {\n const logger2 = this._logger.create(\"signinResourceOwnerCredential\");\n const signinResponse = await this._client.processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo,\n extraTokenParams: this.settings.extraTokenParams\n });\n logger2.debug(\"got signin response\");\n const user = await this._buildUser(signinResponse);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n /**\n * Trigger a request (via a popup window) to the authorization endpoint.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws `Error` In cases of wrong authentication.\n */\n async signinPopup(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signinPopup\");\n let dpopJkt;\n if ((_a = this.settings.dpop) == null ? void 0 : _a.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n const {\n popupWindowFeatures,\n popupWindowTarget,\n popupSignal,\n ...requestArgs\n } = args;\n const url = this.settings.popup_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No popup_redirect_uri configured\"));\n }\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget, popupSignal });\n const user = await this._signin({\n request_type: \"si:p\",\n redirect_uri: url,\n display: \"popup\",\n dpopJkt,\n ...requestArgs\n }, handle);\n if (user) {\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n /**\n * Notify the opening window of response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signinPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger2.info(\"success\");\n }\n /**\n * Trigger a silent request (via refresh token or an iframe) to the authorization endpoint.\n *\n * @returns A promise that contains the authenticated `User`.\n */\n async signinSilent(args = {}) {\n var _a, _b;\n const logger2 = this._logger.create(\"signinSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n let user = await this._loadUser();\n if (user == null ? void 0 : user.refresh_token) {\n logger2.debug(\"using refresh token\");\n const state = new RefreshState(user);\n return await this._useRefreshToken({\n state,\n redirect_uri: requestArgs.redirect_uri,\n resource: requestArgs.resource,\n extraTokenParams: requestArgs.extraTokenParams,\n timeoutInSeconds: silentRequestTimeoutInSeconds\n });\n }\n let dpopJkt;\n if ((_a = this.settings.dpop) == null ? void 0 : _a.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n let verifySub;\n if (user && this.settings.validateSubOnSilentRenew) {\n logger2.debug(\"subject prior to silent renew:\", user.profile.sub);\n verifySub = user.profile.sub;\n }\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n user = await this._signin({\n request_type: \"si:s\",\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n dpopJkt,\n ...requestArgs\n }, handle, verifySub);\n if (user) {\n if ((_b = user.profile) == null ? void 0 : _b.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n async _useRefreshToken(args) {\n const response = await this._client.useRefreshToken({\n timeoutInSeconds: this.settings.silentRequestTimeoutInSeconds,\n ...args\n });\n const user = new User({ ...args.state, ...response });\n await this.storeUser(user);\n await this._events.load(user);\n return user;\n }\n /**\n *\n * Notify the parent window of response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n /**\n * Process any response (callback) from the authorization endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signinRedirectCallback}\n * - {@link UserManager.signinPopupCallback}\n * - {@link UserManager.signinSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signin cannot be processed.\n */\n async signinCallback(url = window.location.href) {\n const { state } = await this._client.readSigninResponseState(url);\n switch (state.request_type) {\n case \"si:r\":\n return await this.signinRedirectCallback(url);\n case \"si:p\":\n await this.signinPopupCallback(url);\n break;\n case \"si:s\":\n await this.signinSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n return void 0;\n }\n /**\n * Process any response (callback) from the end session endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signoutRedirectCallback}\n * - {@link UserManager.signoutPopupCallback}\n * - {@link UserManager.signoutSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signout cannot be processed.\n */\n async signoutCallback(url = window.location.href, keepOpen = false) {\n const { state } = await this._client.readSignoutResponseState(url);\n if (!state) {\n return void 0;\n }\n switch (state.request_type) {\n case \"so:r\":\n return await this.signoutRedirectCallback(url);\n case \"so:p\":\n await this.signoutPopupCallback(url, keepOpen);\n break;\n case \"so:s\":\n await this.signoutSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n return void 0;\n }\n /**\n * Query OP for user's current signin status.\n *\n * @returns A promise object with session_state and subject identifier.\n */\n async querySessionStatus(args = {}) {\n const logger2 = this._logger.create(\"querySessionStatus\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n const user = await this._loadUser();\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n const navResponse = await this._signinStart({\n request_type: \"si:s\",\n // this acts like a signin silent\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n response_type: this.settings.query_status_response_type,\n scope: \"openid\",\n skipUserInfo: true,\n ...requestArgs\n }, handle);\n try {\n const extraHeaders = {};\n const signinResponse = await this._client.processSigninResponse(navResponse.url, extraHeaders);\n logger2.debug(\"got signin response\");\n if (signinResponse.session_state && signinResponse.profile.sub) {\n logger2.info(\"success for subject\", signinResponse.profile.sub);\n return {\n session_state: signinResponse.session_state,\n sub: signinResponse.profile.sub\n };\n }\n logger2.info(\"success, user not authenticated\");\n return null;\n } catch (err) {\n if (this.settings.monitorAnonymousSession && err instanceof ErrorResponse) {\n switch (err.error) {\n case \"login_required\":\n case \"consent_required\":\n case \"interaction_required\":\n case \"account_selection_required\":\n logger2.info(\"success for anonymous user\");\n return {\n session_state: err.session_state\n };\n }\n }\n throw err;\n }\n }\n async _signin(args, handle, verifySub) {\n const navResponse = await this._signinStart(args, handle);\n return await this._signinEnd(navResponse.url, verifySub);\n }\n async _signinStart(args, handle) {\n const logger2 = this._logger.create(\"_signinStart\");\n try {\n const signinRequest = await this._client.createSigninRequest(args);\n logger2.debug(\"got signin request\");\n return await handle.navigate({\n url: signinRequest.url,\n state: signinRequest.state.id,\n response_mode: signinRequest.state.response_mode,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signinEnd(url, verifySub) {\n const logger2 = this._logger.create(\"_signinEnd\");\n const extraHeaders = {};\n const signinResponse = await this._client.processSigninResponse(url, extraHeaders);\n logger2.debug(\"got signin response\");\n const user = await this._buildUser(signinResponse, verifySub);\n return user;\n }\n async _buildUser(signinResponse, verifySub) {\n const logger2 = this._logger.create(\"_buildUser\");\n const user = new User(signinResponse);\n if (verifySub) {\n if (verifySub !== user.profile.sub) {\n logger2.debug(\"current user does not match user returned from signin. sub from signin:\", user.profile.sub);\n throw new ErrorResponse({ ...signinResponse, error: \"login_required\" });\n }\n logger2.debug(\"current user matches user returned from signin\");\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n await this._events.load(user);\n return user;\n }\n /**\n * Trigger a redirect of the current window to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutRedirect(args = {}) {\n const logger2 = this._logger.create(\"signoutRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signoutStart({\n request_type: \"so:r\",\n post_logout_redirect_uri: this.settings.post_logout_redirect_uri,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Process response (callback) from the end session endpoint.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise containing signout response\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutRedirectCallback\");\n const response = await this._signoutEnd(url);\n logger2.info(\"success\");\n return response;\n }\n /**\n * Trigger a redirect of a popup window to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutPopup(args = {}) {\n const logger2 = this._logger.create(\"signoutPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n popupSignal,\n ...requestArgs\n } = args;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget, popupSignal });\n await this._signout({\n request_type: \"so:p\",\n post_logout_redirect_uri: url,\n // we're putting a dummy entry in here because we\n // need a unique id from the state for notification\n // to the parent window, which is necessary if we\n // plan to return back to the client after signout\n // and so we can close the popup after signout\n state: url == null ? void 0 : {},\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Process response (callback) from the end session endpoint from a popup window.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signoutPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger2.info(\"success\");\n }\n async _signout(args, handle) {\n const navResponse = await this._signoutStart(args, handle);\n return await this._signoutEnd(navResponse.url);\n }\n async _signoutStart(args = {}, handle) {\n var _a;\n const logger2 = this._logger.create(\"_signoutStart\");\n try {\n const user = await this._loadUser();\n logger2.debug(\"loaded current user from storage\");\n if (this.settings.revokeTokensOnSignout) {\n await this._revokeInternal(user);\n }\n const id_token = args.id_token_hint || user && user.id_token;\n if (id_token) {\n logger2.debug(\"setting id_token_hint in signout request\");\n args.id_token_hint = id_token;\n }\n await this.removeUser();\n logger2.debug(\"user removed, creating signout request\");\n const signoutRequest = await this._client.createSignoutRequest(args);\n logger2.debug(\"got signout request\");\n return await handle.navigate({\n url: signoutRequest.url,\n state: (_a = signoutRequest.state) == null ? void 0 : _a.id,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signoutEnd(url) {\n const logger2 = this._logger.create(\"_signoutEnd\");\n const signoutResponse = await this._client.processSignoutResponse(url);\n logger2.debug(\"got signout response\");\n return signoutResponse;\n }\n /**\n * Trigger a silent request (via an iframe) to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutSilent(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signoutSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const id_token_hint = this.settings.includeIdTokenInSilentSignout ? (_a = await this._loadUser()) == null ? void 0 : _a.id_token : void 0;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n await this._signout({\n request_type: \"so:s\",\n post_logout_redirect_uri: url,\n id_token_hint,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Notify the parent window of response (callback) from the end session endpoint.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n async revokeTokens(types) {\n const user = await this._loadUser();\n await this._revokeInternal(user, types);\n }\n async _revokeInternal(user, types = this.settings.revokeTokenTypes) {\n const logger2 = this._logger.create(\"_revokeInternal\");\n if (!user) return;\n const typesPresent = types.filter((type) => typeof user[type] === \"string\");\n if (!typesPresent.length) {\n logger2.debug(\"no need to revoke due to no token(s)\");\n return;\n }\n for (const type of typesPresent) {\n await this._client.revokeToken(\n user[type],\n type\n );\n logger2.info(`${type} revoked successfully`);\n if (type !== \"access_token\") {\n user[type] = null;\n }\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n await this._events.load(user);\n }\n /**\n * Enables silent renew for the `UserManager`.\n */\n startSilentRenew() {\n this._logger.create(\"startSilentRenew\");\n void this._silentRenewService.start();\n }\n /**\n * Disables silent renew for the `UserManager`.\n */\n stopSilentRenew() {\n this._silentRenewService.stop();\n }\n get _userStoreKey() {\n return `user:${this.settings.authority}:${this.settings.client_id}`;\n }\n async _loadUser() {\n const logger2 = this._logger.create(\"_loadUser\");\n const storageString = await this.settings.userStore.get(this._userStoreKey);\n if (storageString) {\n logger2.debug(\"user storageString loaded\");\n return User.fromStorageString(storageString);\n }\n logger2.debug(\"no user storageString\");\n return null;\n }\n async storeUser(user) {\n const logger2 = this._logger.create(\"storeUser\");\n if (user) {\n logger2.debug(\"storing user\");\n const storageString = user.toStorageString();\n await this.settings.userStore.set(this._userStoreKey, storageString);\n } else {\n this._logger.debug(\"removing user\");\n await this.settings.userStore.remove(this._userStoreKey);\n if (this.settings.dpop) {\n await this.settings.dpop.store.remove(this.settings.client_id);\n }\n }\n }\n /**\n * Removes stale state entries in storage for incomplete authorize requests.\n */\n async clearStaleState() {\n await this._client.clearStaleState();\n }\n /**\n * Dynamically generates a DPoP proof for a given user, URL and optional Http method.\n * This method is useful when you need to make a request to a resource server\n * with fetch or similar, and you need to include a DPoP proof in a DPoP header.\n * @param url - The URL to generate the DPoP proof for\n * @param user - The user to generate the DPoP proof for\n * @param httpMethod - Optional, defaults to \"GET\"\n * @param nonce - Optional nonce provided by the resource server\n *\n * @returns A promise containing the DPoP proof or undefined if DPoP is not enabled/no user is found.\n */\n async dpopProof(url, user, httpMethod, nonce) {\n var _a, _b;\n const dpopState = await ((_b = (_a = this.settings.dpop) == null ? void 0 : _a.store) == null ? void 0 : _b.get(this.settings.client_id));\n if (dpopState) {\n return await CryptoUtils.generateDPoPProof({\n url,\n accessToken: user == null ? void 0 : user.access_token,\n httpMethod,\n keyPair: dpopState.keys,\n nonce\n });\n }\n return void 0;\n }\n async generateDPoPJkt(dpopSettings) {\n let dpopState = await dpopSettings.store.get(this.settings.client_id);\n if (!dpopState) {\n const dpopKeys = await CryptoUtils.generateDPoPKeys();\n dpopState = new DPoPState(dpopKeys);\n await dpopSettings.store.set(this.settings.client_id, dpopState);\n }\n return await CryptoUtils.generateDPoPJkt(dpopState.keys);\n }\n};\n\n// package.json\nvar version = \"3.2.0\";\n\n// src/Version.ts\nvar Version = version;\n\n// src/IndexedDbDPoPStore.ts\nvar IndexedDbDPoPStore = class {\n constructor() {\n this._dbName = \"oidc\";\n this._storeName = \"dpop\";\n }\n async set(key, value) {\n const store = await this.createStore(this._dbName, this._storeName);\n await store(\"readwrite\", (str) => {\n str.put(value, key);\n return this.promisifyRequest(str.transaction);\n });\n }\n async get(key) {\n const store = await this.createStore(this._dbName, this._storeName);\n return await store(\"readonly\", (str) => {\n return this.promisifyRequest(str.get(key));\n });\n }\n async remove(key) {\n const item = await this.get(key);\n const store = await this.createStore(this._dbName, this._storeName);\n await store(\"readwrite\", (str) => {\n return this.promisifyRequest(str.delete(key));\n });\n return item;\n }\n async getAllKeys() {\n const store = await this.createStore(this._dbName, this._storeName);\n return await store(\"readonly\", (str) => {\n return this.promisifyRequest(str.getAllKeys());\n });\n }\n promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n request.onabort = request.onerror = () => reject(request.error);\n });\n }\n async createStore(dbName, storeName) {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n const db = await this.promisifyRequest(request);\n return async (txMode, callback) => {\n const tx = db.transaction(storeName, txMode);\n const store = tx.objectStore(storeName);\n return await callback(store);\n };\n }\n};\nexport {\n AccessTokenEvents,\n CheckSessionIFrame,\n DPoPState,\n ErrorResponse,\n ErrorTimeout,\n InMemoryWebStorage,\n IndexedDbDPoPStore,\n Log,\n Logger,\n MetadataService,\n OidcClient,\n OidcClientSettingsStore,\n SessionMonitor,\n SigninResponse,\n SigninState,\n SignoutResponse,\n State,\n User,\n UserManager,\n UserManagerSettingsStore,\n Version,\n WebStorageStateStore\n};\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, Inject, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { defer, of } from 'rxjs';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nconst JWT_OPTIONS = new InjectionToken('JWT_OPTIONS');\n\n/* eslint-disable no-bitwise */\nclass JwtHelperService {\n constructor(config = null) {\n this.tokenGetter = (config && config.tokenGetter) || function () { };\n }\n urlBase64Decode(str) {\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0: {\n break;\n }\n case 2: {\n output += '==';\n break;\n }\n case 3: {\n output += '=';\n break;\n }\n default: {\n throw new Error('Illegal base64url string!');\n }\n }\n return this.b64DecodeUnicode(output);\n }\n // credits for decoder goes to https://github.com/atk\n b64decode(str) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n let output = '';\n str = String(str).replace(/=+$/, '');\n if (str.length % 4 === 1) {\n throw new Error(`'atob' failed: The string to be decoded is not correctly encoded.`);\n }\n for (\n // initialize result and counters\n let bc = 0, bs, buffer, idx = 0; \n // get next character\n (buffer = str.charAt(idx++)); \n // character found in table? initialize bit storage and add its ascii value;\n ~buffer &&\n ((bs = bc % 4 ? bs * 64 + buffer : buffer),\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4)\n ? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))\n : 0) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n }\n b64DecodeUnicode(str) {\n return decodeURIComponent(Array.prototype.map\n .call(this.b64decode(str), (c) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(''));\n }\n decodeToken(token = this.tokenGetter()) {\n if (token instanceof Promise) {\n return token.then(t => this._decodeToken(t));\n }\n return this._decodeToken(token);\n }\n _decodeToken(token) {\n if (!token || token === '') {\n return null;\n }\n const parts = token.split('.');\n if (parts.length !== 3) {\n throw new Error(`The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.`);\n }\n const decoded = this.urlBase64Decode(parts[1]);\n if (!decoded) {\n throw new Error('Cannot decode the token.');\n }\n return JSON.parse(decoded);\n }\n getTokenExpirationDate(token = this.tokenGetter()) {\n if (token instanceof Promise) {\n return token.then(t => this._getTokenExpirationDate(t));\n }\n return this._getTokenExpirationDate(token);\n }\n _getTokenExpirationDate(token) {\n let decoded;\n decoded = this.decodeToken(token);\n if (!decoded || !decoded.hasOwnProperty('exp')) {\n return null;\n }\n const date = new Date(0);\n date.setUTCSeconds(decoded.exp);\n return date;\n }\n isTokenExpired(token = this.tokenGetter(), offsetSeconds) {\n if (token instanceof Promise) {\n return token.then(t => this._isTokenExpired(t, offsetSeconds));\n }\n return this._isTokenExpired(token, offsetSeconds);\n }\n _isTokenExpired(token, offsetSeconds) {\n if (!token || token === '') {\n return true;\n }\n const date = this.getTokenExpirationDate(token);\n offsetSeconds = offsetSeconds || 0;\n if (date === null) {\n return false;\n }\n return !(date.valueOf() > new Date().valueOf() + offsetSeconds * 1000);\n }\n getAuthScheme(authScheme, request) {\n if (typeof authScheme === 'function') {\n return authScheme(request);\n }\n return authScheme;\n }\n}\nJwtHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtHelperService, deps: [{ token: JWT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });\nJwtHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtHelperService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtHelperService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [JWT_OPTIONS]\n }] }]; } });\n\nconst fromPromiseOrValue = (input) => {\n if (input instanceof Promise) {\n return defer(() => input);\n }\n return of(input);\n};\nclass JwtInterceptor {\n constructor(config, jwtHelper, document) {\n this.jwtHelper = jwtHelper;\n this.document = document;\n this.standardPorts = ['80', '443'];\n this.tokenGetter = config.tokenGetter;\n this.headerName = config.headerName || 'Authorization';\n this.authScheme =\n config.authScheme || config.authScheme === ''\n ? config.authScheme\n : 'Bearer ';\n this.allowedDomains = config.allowedDomains || [];\n this.disallowedRoutes = config.disallowedRoutes || [];\n this.throwNoTokenError = config.throwNoTokenError || false;\n this.skipWhenExpired = config.skipWhenExpired;\n }\n isAllowedDomain(request) {\n const requestUrl = new URL(request.url, this.document.location.origin);\n // If the host equals the current window origin,\n // the domain is allowed by default\n if (requestUrl.host === this.document.location.host) {\n return true;\n }\n // If not the current domain, check the allowed list\n const hostName = `${requestUrl.hostname}${requestUrl.port && !this.standardPorts.includes(requestUrl.port)\n ? ':' + requestUrl.port\n : ''}`;\n return (this.allowedDomains.findIndex((domain) => typeof domain === 'string'\n ? domain === hostName\n : domain instanceof RegExp\n ? domain.test(hostName)\n : false) > -1);\n }\n isDisallowedRoute(request) {\n const requestedUrl = new URL(request.url, this.document.location.origin);\n return (this.disallowedRoutes.findIndex((route) => {\n if (typeof route === 'string') {\n const parsedRoute = new URL(route, this.document.location.origin);\n return (parsedRoute.hostname === requestedUrl.hostname &&\n parsedRoute.pathname === requestedUrl.pathname);\n }\n if (route instanceof RegExp) {\n return route.test(request.url);\n }\n return false;\n }) > -1);\n }\n handleInterception(token, request, next) {\n const authScheme = this.jwtHelper.getAuthScheme(this.authScheme, request);\n if (!token && this.throwNoTokenError) {\n throw new Error('Could not get token from tokenGetter function.');\n }\n let tokenIsExpired = of(false);\n if (this.skipWhenExpired) {\n tokenIsExpired = token ? fromPromiseOrValue(this.jwtHelper.isTokenExpired(token)) : of(true);\n }\n if (token) {\n return tokenIsExpired.pipe(map((isExpired) => isExpired && this.skipWhenExpired\n ? request.clone()\n : request.clone({\n setHeaders: {\n [this.headerName]: `${authScheme}${token}`,\n },\n })), mergeMap((innerRequest) => next.handle(innerRequest)));\n }\n return next.handle(request);\n }\n intercept(request, next) {\n if (!this.isAllowedDomain(request) || this.isDisallowedRoute(request)) {\n return next.handle(request);\n }\n const token = this.tokenGetter(request);\n return fromPromiseOrValue(token).pipe(mergeMap((asyncToken) => {\n return this.handleInterception(asyncToken, request, next);\n }));\n }\n}\nJwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtInterceptor, deps: [{ token: JWT_OPTIONS }, { token: JwtHelperService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nJwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtInterceptor, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [JWT_OPTIONS]\n }] }, { type: JwtHelperService }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\nclass JwtModule {\n constructor(parentModule) {\n if (parentModule) {\n throw new Error(`JwtModule is already loaded. It should only be imported in your application's main module.`);\n }\n }\n static forRoot(options) {\n return {\n ngModule: JwtModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n options.jwtOptionsProvider || {\n provide: JWT_OPTIONS,\n useValue: options.config,\n },\n JwtHelperService,\n ],\n };\n }\n}\nJwtModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule, deps: [{ token: JwtModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });\nJwtModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule });\nJwtModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule, decorators: [{\n type: NgModule\n }], ctorParameters: function () { return [{ type: JwtModule, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }]; } });\n\n/*\n * Public API Surface of angular-jwt\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { JWT_OPTIONS, JwtHelperService, JwtInterceptor, JwtModule };\n","import { Injectable } from '@angular/core';\nimport { AccountsService } from './accounts.service';\nimport { LoggerService } from '../logger.service';\nimport { BehaviorSubject, delay, filter, of, take } from 'rxjs';\nimport { Account } from './accounts.model';\nimport { Store } from '@ngrx/store';\nimport { AppState } from 'src/app/@store/reducers';\nimport { STSActions } from 'src/app/@store/actions/sts.actions';\nimport { claimTypes } from 'src/app/appsettings';\nimport { ConfigService } from '../config/config.service';\nimport { isInAvailableLocale } from 'src/app/transloco-root.module';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { formatLocale } from 'src/app/plasma-ui-common/utils/format-locale';\nimport { getLangCodeFromLocalStorage, getLangCodeFromQueryString } from 'src/app/utils/common.utils';\nimport { LocalStorageKeys } from 'src/app/models/storage.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserClaimsService {\n\n private userClaimsIsLoaded: boolean = false;\n public claims$ = new BehaviorSubject(null);\n\n constructor(\n private readonly accountsService: AccountsService,\n private readonly logger: LoggerService,\n private readonly store: Store,\n private readonly config: ConfigService,\n private readonly transloco: TranslocoService\n ) { }\n\n public async getUserClaims(userId: string){\n try {\n if (!this.userClaimsIsLoaded) {\n await of(true).pipe(delay(1500)).toPromise();\n const rawClaims = await this.accountsService.get(userId).toPromise();\n\n const claims = this.getUserClaimsAsObject(rawClaims);\n this.userClaimsIsLoaded = true;\n this.claims$.next(claims);\n }\n } catch (error) {\n this.logger.log(\"getUserClaims error\", error);\n }\n }\n\n private getUserClaimsAsObject(claims: Account): Record {\n this.store.dispatch(STSActions.loadProfileSuccess({ claims }));\n const usertypes = claims\n .filter((claim) => claim.claimType == claimTypes.USER_TYPE)\n .map((usertype) => usertype.claimValue);\n\n return {\n ...claims.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {}),\n user_type: usertypes,\n };\n }\n\n public async setAppLanguageFromJwtToken(lang: string) {\n await this.config.envConfig$\n .pipe(\n filter((config) => Boolean(config)),\n take(1)\n )\n .toPromise();\n\n const getLang = isInAvailableLocale;\n let availableLanguages = [this.transloco.getDefaultLang(), ...this.getAvailableLanguages()];\n\n const fromStorage = getLangCodeFromLocalStorage(null, true);\n const fromQString: string = getLangCodeFromQueryString();\n const fromJwtLangCode: boolean = lang && getLang(lang, availableLanguages) != \"\";\n\n this.logger.log({ languageFromToken: true });\n this.logger.log({ fromQString, fromStorage, fromJwtLangCode});\n\n if (!fromQString && !fromStorage && fromJwtLangCode) {\n const langToSet = formatLocale(getLang(lang, availableLanguages));\n sessionStorage.setItem(LocalStorageKeys.language, langToSet);\n this.transloco.setActiveLang(langToSet);\n }\n }\n\n private getAvailableLanguages(): string[] {\n return this.config._envConfig?.AvailableLanguage?.split(\",\") || [];\n }\n}\n","import { Injectable, EventEmitter } from \"@angular/core\";\nimport { UserManager, UserManagerSettings, User, SignoutRedirectArgs } from \"oidc-client-ts\";\nimport { ConfigService } from \"../config/config.service\";\nimport { BehaviorSubject, from, Observable, of, ReplaySubject } from \"rxjs\";\nimport { Router } from \"@angular/router\";\nimport { Store, select } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { JwtHelperService } from \"@auth0/angular-jwt\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { auditTime, catchError, filter, map, take, tap, throttleTime } from \"rxjs/operators\";\nimport { StsSelectors, checkTenant } from \"src/app/@store/selectors/sts.selectors\";\nimport { EStorageKeys } from \"src/app/models/storage.model\";\nimport {\n isPrivateRoute,\n showCookieBot,\n} from \"src/app/utils/common.utils\";\nimport { LoggerService } from \"../logger.service\";\nimport { userTypes, whiteLabelNames } from \"src/app/appsettings\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { UserInfo, UserRoleService } from \"src/app/plasma-ui-common/services/user-role.service\";\nimport { UserClaimsService } from \"../accounts/user-claims.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AuthService {\n private jwt = new JwtHelperService();\n public _manager: UserManager;\n public _user: User = null;\n userLoadededEvent: EventEmitter = new EventEmitter();\n\n public isLoggedIn: boolean = false;\n public profileInfo: Record = {};\n public userInfo = new ReplaySubject(1);\n\n public userInfo$: Observable = this.userInfo.asObservable();\n public signinRedirectTrigger$ = new BehaviorSubject(null);\n public signinRedirectCallbackTrigger$ = new BehaviorSubject(null);\n\n constructor(\n private config: ConfigService,\n private router: Router,\n private store: Store,\n private logger: LoggerService,\n private readonly userClaim: UserClaimsService,\n private readonly usertype: UserRoleService,\n\n ) {\n this._manager = new UserManager(this.getClientSettings());\n this.initializeUser();\n this.registerUserEvents();\n\n // subscribe to signin events\n this.signinRedirectTrigger$\n .pipe(takeUntilDestroyed(), filter(Boolean), auditTime(500))\n .subscribe((event) => this.addSignInEvents(\"signin\"));\n this.signinRedirectCallbackTrigger$\n .pipe(takeUntilDestroyed(), filter(Boolean), auditTime(500))\n .subscribe((event) => this.addSignInEvents(\"signinCallback\"));\n\n this.userClaim.claims$\n .pipe(takeUntilDestroyed(), throttleTime(100), filter(claims => Boolean(claims)))\n .subscribe(claims => this.saveUserInformation(claims));\n }\n\n private getClientSettings(): UserManagerSettings {\n const { OIDC } = this.config.envJson;\n const config = this.config._envConfig;\n\n const DEFAULT_RESPONSE_TYPE = \"code\";\n const DEFAULT_CLIENT_ID = \"plasmaprofile-code-pkce\";\n const DEFAULT_SCOPE = \"openid profile email address user_type offline_access synlab_id IdentityServerApi\";\n\n return {\n authority: config.BaseAuthUrl,\n client_id: OIDC?.ClientId || DEFAULT_CLIENT_ID,\n redirect_uri: `${config.BaseProfileUrl}/signin-callback`,\n post_logout_redirect_uri: config.BaseProfileUrl,\n response_type: OIDC?.ResponseType || DEFAULT_RESPONSE_TYPE,\n scope: OIDC?.Scope || DEFAULT_SCOPE,\n filterProtocolClaims: true,\n loadUserInfo: false,\n silent_redirect_uri: `${config.BaseProfileUrl}/renewtoken`,\n automaticSilentRenew: true,\n revokeTokensOnSignout: true,\n monitorSession: true,\n extraQueryParams: this.getExtraQueryParams(),\n };\n }\n\n private getExtraQueryParams() {\n const config = this.config._envConfig;\n if (checkTenant(whiteLabelNames.SPAIN_TELECOUNSELING, config)) {\n const returnTo = new URLSearchParams(window.location.search).get(\"uid\");\n return returnTo ? { return_to: returnTo } : {};\n }\n return {};\n }\n\n private async initializeUser() {\n try {\n const user = await this._manager.getUser();\n if (user) {\n this.setUserLoggedIn(user);\n }\n } catch {\n this.isLoggedIn = false;\n }\n }\n\n private registerUserEvents() {\n this._manager.events.addUserLoaded((user) => this.setUserLoggedIn(user));\n this._manager.events.addUserUnloaded(() => {\n this.isLoggedIn = false;\n });\n //this._manager.events.addUserSessionChanged(() => this.signinRedirectTrigger$.next(true));\n this._manager.events.addUserSignedOut(() => {\n if (isPrivateRoute(this.router.url, this.router.config)) {\n localStorage.clear();\n sessionStorage.clear();\n this.signinRedirectTrigger$.next(true);\n }\n });\n }\n\n private setUserLoggedIn(user: User) {\n this._user = user;\n this.isLoggedIn = true;\n this.userLoadededEvent.emit(user);\n this.checkSavedUserInfo(user.access_token);\n }\n\n private checkSavedUserInfo(token: string) {\n this.store\n .pipe(\n select(StsSelectors.getSynlabId),\n filter((synlabId) => !synlabId),\n take(1),\n tap(() => this.saveToState(token))\n )\n .subscribe();\n }\n\n public saveToState(token: string) {\n showCookieBot(true, 500);\n const decoded = this.jwt.decodeToken(token);\n const { idp, langCode, sub } = decoded;\n this.store.dispatch(STSActions.loadStssSuccess({ data: { token, idp } as any }));\n this.userClaim.getUserClaims(sub);\n\n if (langCode) {\n this.userClaim.setAppLanguageFromJwtToken(langCode);\n }\n }\n\n async startSignoutMainWindow() {\n let redirectParams: SignoutRedirectArgs = {};\n const whiteLabelName = this.config._envConfig.WhiteLabelName?.toLowerCase();\n const webreqAdminUrl = this.config._envConfig.BaseWebreqAdminUrl;\n const bookingAdminUrl = this.config._envConfig.BaseBookingAdminUrl;\n const isFinland = whiteLabelName === whiteLabelNames.FINLAND?.toLowerCase();\n\n const isWebreqAdmin = (this.profileInfo?.role || []).includes(userTypes.WEBREQ_ADMIN);\n const isBookingAdmin = (this.profileInfo?.role || []).includes(userTypes.BOOKING_ADMIN);\n\n try {\n const user = await this._manager.getUser();\n if (user) {\n redirectParams = { id_token_hint: user.id_token };\n }\n\n if (isFinland && isWebreqAdmin) {\n redirectParams.post_logout_redirect_uri = webreqAdminUrl;\n } else if (isFinland && isBookingAdmin) {\n redirectParams.post_logout_redirect_uri = bookingAdminUrl;\n }\n\n // Clear storage before redirecting\n localStorage.clear();\n sessionStorage.clear();\n\n this.logger.log(\"Signout success\", user);\n await this._manager.signoutRedirect(redirectParams);\n } catch (error) {\n this.logger.log(\"Signout error\", error);\n }\n }\n\n public checkLogin(): Observable {\n return from(this._manager.getUser()).pipe(map((user) => true));\n }\n\n public isLoggedInObs(): Observable {\n return from(this._manager.getUser()).pipe(map(Boolean));\n }\n\n private addSignInEvents(event: \"signin\" | \"signinCallback\") {\n if (event === \"signin\") {\n this.handleSigninRedirect();\n }\n if (event === \"signinCallback\") {\n this.handleSigninRedirectCallback();\n }\n }\n\n private handleSigninRedirect() {\n from(this._manager.signinRedirect().catch((e) => e))\n .pipe(\n take(1),\n tap(() => this.logger.log(\"signinRedirect success\")),\n catchError((error) => {\n this.logger.log(error);\n throw new Error(\"signinRedirect error\");\n })\n )\n .subscribe();\n }\n\n private handleSigninRedirectCallback() {\n from(this._manager.signinRedirectCallback().catch((e) => e))\n .pipe(\n take(1),\n tap((user) => {\n this.logger.log(\"signinRedirectCallback success\", user);\n document.querySelector(\"body\")?.classList.remove(\"signin-redirecting\");\n\n const initialRoute = this.getInitialRoute();\n this.logger.log(\"Redirecting to initial route: \", initialRoute);\n\n this.router.navigateByUrl(initialRoute).then((done) => {\n this.logger.log(\"Redirected to initial route:\", { initialRoute });\n });\n\n localStorage.removeItem(EStorageKeys.REDIRECT_URL);\n }),\n catchError((error) => {\n this.logger.log(error);\n throw new Error(\"signinRedirect error\");\n })\n )\n .subscribe();\n }\n\n private getInitialRoute(): string {\n const redirectURL = localStorage.getItem(EStorageKeys.REDIRECT_URL);\n return (redirectURL?.includes(\"signin-callback\") ? \"/\" : redirectURL) || \"/\";\n }\n\n private saveUserInformation(claims: Record) {\n const { idp, langCode } = this.jwt.decodeToken(this._user.access_token);\n\n const additionalUserClaims = {\n idp,\n role: claims.user_type,\n token: this._user.access_token,\n name: `${claims.given_name} ${claims.family_name}`,\n synlabId: claims.synlab_id,\n country: claims.country,\n email: claims.email,\n };\n\n this.userInfo.next({ ...claims, idp, langCode } as any);\n this.profileInfo = { ...claims, ...additionalUserClaims };\n this.usertype.setUser(this.profileInfo);\n\n this.store.dispatch(STSActions.loadStssSuccess({ data: additionalUserClaims }));\n this.store.dispatch(STSActions.addUserInfo({ data: { ...claims, idp, langCode } as any }));\n }\n}\n","import { Injectable } from \"@angular/core\";\n\nimport * as _ from \"lodash\";\nimport { of } from \"rxjs\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { ConfigService } from \"../config/config.service\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\nimport { isInAvailableLocale } from \"src/app/transloco-root.module\";\nimport { LocalStorageKeys } from \"src/app/models/storage.model\";\n\n@Injectable({ providedIn: \"root\" })\nexport class AuthGuard {\n constructor(private authService: AuthService, private config: ConfigService) {}\n canActivate() {\n this.getLangCodeBeforeSigninCallback();\n const isLoggedIn = this.authService.isLoggedInObs();\n const sessionTransferObj = JSON.parse(localStorage.getItem(\"session-transfer\"));\n\n if (sessionTransferObj != null && sessionTransferObj.accessToken) {\n this.authService.saveToState(sessionTransferObj.accessToken);\n return of(true);\n } else {\n isLoggedIn.subscribe((loggedin) => {\n if (!loggedin) {\n this.authService.signinRedirectTrigger$.next(Date.now());\n }\n });\n\n return isLoggedIn;\n }\n }\n\n private getLangCodeBeforeSigninCallback() {\n const urlParams = new URLSearchParams(window.location.search);\n const langCode = urlParams.get('langCode');\n\n if (langCode) {\n const configLanguages = this.config._envConfig?.AvailableLanguage?.split(',')\n let availableLanguages = [...(Array.isArray(configLanguages) ? configLanguages : [])]\n .map(locale => formatLocale(locale, this.config._envConfig));\n\n const formattedLocale = formatLocale(isInAvailableLocale(langCode, availableLanguages), this.config._envConfig);\n sessionStorage?.setItem(LocalStorageKeys.language, formattedLocale);\n }\n\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { ApiService } from \"./api/api.service\";\nimport { Claim } from \"./accounts/accounts.model\";\nimport { ConfigService } from \"./config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ChangeEmailService {\n constructor(\n private api: ApiService,\n private config: ConfigService\n ) {}\n\n sendChangeEmailRequest(\n userId: string,\n synlabId: string,\n payload: Claim[]\n ): Observable<{ success: boolean; message: string }> {\n const endpoint: string = `/api/profile/send-verification-email/${userId}/${synlabId}`;\n return this.api.postAccounts(endpoint, payload);\n }\n\n resendChangeEmailRequest(\n userId: string,\n synlabId: string,\n payload: Claim[]\n ): Observable<{ success: boolean; message: string }> {\n const endpoint: string = `/api/profile/resend-verification-email/${userId}/${synlabId}`;\n return this.api.postAccounts(endpoint, payload);\n }\n\n cancelChangeEmailRequest(userId: string): Observable<{ success: boolean; message: string }> {\n const endpoint: string = `/api/profile/cancel-change-email-request/${userId}`;\n return this.api.postAccounts(endpoint);\n }\n\n checkPendingChangeEmailRequest(userId: string): Observable<{ newEmail: string }> {\n const endpoint: string = this.config?.baseAccountUrl + `/api/profile/get-pending-change-email-request/${userId}`;\n return this.api.getHttp(endpoint);\n }\n\n verifyEmailLink(userId: string, seqId: string) {\n const endpoint: string = `/api/profile/validate-change-email-link/${userId}/${seqId}`;\n return this.api.postAccounts(endpoint);\n }\n}\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const BE_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n // { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => true },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 9, Readonly: true, Hide: () => false, },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 7, Readonly: true, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 8, Readonly: true, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true, CustomValidators: [Validators.email] },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n // { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => true, Required: () => true },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 9, Readonly: false, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 3, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 4, Readonly: true, Hide: () => false, },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 5, Hide: () => false, Readonly: true },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Readonly: true, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false, CustomLabelTranslationKey: \"phoneLabel\" },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Readonly: true, Hide: () => false, CustomLabelTranslationKey: \"emailLabel2\", },\n ],\n};\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const CZ_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: false, Hide: () => false, Required: () => true, CustomValidators: [Validators.email] },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Readonly: true, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 7, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 9, Readonly: true, Hide: () => false, },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 9, Readonly: false, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 3, Readonly: true, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 4, Hide: () => false, Readonly: false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 5, Readonly: false, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 9, Readonly: true, Hide: () => false, },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false, CustomLabelTranslationKey: \"phoneLabel\", },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Readonly: true, Hide: () => false, CustomLabelTranslationKey: \"emailLabel2\", },\n ],\n};\n","import { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const HU_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false, Readonly: true },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 4, Hide: () => false },\n { Name: \"locale\", Required: () => true, Type: \"locale-picker\", Order: 5, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 0, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 1, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false },\n ],\n};\n","import { BE_CONFIG } from \"./be\";\nimport { CZ_CONFIG } from \"./cz\";\nimport { FI_CONFIG } from \"./fi\";\nimport { HU_CONFIG } from \"./hu\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\nimport { IT_CONFIG } from \"./it\";\nimport { ES_TC_CONFIG } from \"./ts-tc\";\nimport { UKDF_CONFIG } from \"./uk-dfp\";\n\nexport const FORM_CONFIG: Record = {\n \"uk-dfp\": UKDF_CONFIG,\n \"es-tc\": ES_TC_CONFIG,\n hu: HU_CONFIG,\n fi: FI_CONFIG,\n cz: CZ_CONFIG,\n be: BE_CONFIG,\n it: IT_CONFIG,\n};\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const UKDF_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true, CustomValidators: [Validators.email] },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 7, Readonly: false, Hide: () => false, },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 9, Readonly: false, Hide: () => false },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 9, Readonly: false, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 3, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 4, Readonly: true, Hide: () => false, },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 5, Hide: () => false, Readonly: false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Readonly: false, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false, CustomLabelTranslationKey: \"phoneLabel\" },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Readonly: true, Hide: () => false, CustomLabelTranslationKey: \"emailLabel2\", },\n ],\n};\n","import { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const ES_TC_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false, Readonly: true },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 8, Hide: () => false },\n { Name: \"locale\", Required: () => true, Type: \"locale-picker\", Order: 4, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 5, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 6, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 7, Hide: () => false },\n ],\n completeProfileExpert: [\n { Name: \"medical_seal_number\", Required: () => false, Type: \"text\", Order: 5.1, Hide: () => false },\n {\n Name: \"title\",\n Required: () => true,\n Type: \"select-single\",\n Order: 0.1,\n Hide: () => false,\n Options: {\n FetchFromUrl: false,\n Url: null,\n Items: [\n { Value: \"Dr.\", Label: \"Dr.\" },\n { Value: \"Prof.\", Label: \"Prof.\" },\n { Value: \"Prof. Dr.\", Label: \"Prof. Dr.\" },\n ],\n },\n },\n ],\n completeProfileExpertAdditionalInfo: [\n {\n Name: \"institutions\",\n Required: () => true,\n Type: \"institutions-selector\",\n Order: 9,\n Hide: () => false,\n Options: {\n AddNewItemEnabled: false,\n FetchFromUrl: true,\n Url: \"/v2/manage/accounts/expert-dropdown-items-with-paging?&category=Institutions&page=1&pageSize=1000\",\n Items: [],\n },\n },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 0, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 0, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n ],\n expertPersonalInfo: [\n { Name: \"title\", Required: () => true, Type: \"salutation-selector\", Hide: () => false },\n { Name: \"given_name\", Required: () => true, Type: \"text\", Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Hide: () => false },\n { Name: \"medical_seal_number\", Required: () => false, Type: \"text\", Hide: () => false },\n ],\n expertContact: [\n { Name: \"phone\", Required: () => true, Type: \"phone\", Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Hide: () => false },\n ],\n};\n","import { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const IT_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false, Readonly: true },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 4, Hide: () => false },\n { Name: \"locale\", Required: () => true, Type: \"locale-picker\", Order: 5, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 0, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 1, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false },\n ],\n};\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ReplaySubject } from \"rxjs\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { shareReplay, map } from \"rxjs/operators\";\nimport { Locale } from \"../agreement/agreement.service\";\nimport { FormFieldConfig } from \"src/app/models/form-field-config.model\";\nimport { FORM_CONFIG } from \"src/app/form-configs\";\nimport { FormConfigInterface } from \"src/app/form-configs/interfaces/form-config.interface\";\nimport { Country, CountryService } from \"src/app/modules/shared/countries\";\nimport { claimValues } from \"src/app/appsettings\";\n\n/** list of country codes which needs to show MFA setup on account activation */\nexport const initialMultiFactorAuthCountries = [\"fr\"];\n\nexport interface IEnvJson {\n OIDC: { ClientId: string; ResponseType: string; Scope: string };\n ApplicationInsights: { InstrumentationKey: string };\n ApplicationMonitoring: { Enabled: boolean; ApplicationName: string };\n}\n\nexport interface Config {\n Environment: string;\n Version: string;\n ApplicationName: string;\n BaseAuthUrl: string;\n BaseAdminUrl: string;\n BaseProfileApiUrl: string;\n BaseProfileUrl: string;\n BasePlasmaUrl: string;\n BaseUefaUrl: string;\n BaseWebreqUrl: string;\n BaseWebreqAdminUrl: string;\n BaseBookingUrl: string;\n BaseBookingAdminUrl: string;\n EeBaseBookingUrl?: string;\n BookingLinkEnabled: string;\n TwilioEnabled: string;\n BookingProfessionalUrl: string;\n WhiteLabelEnabled: string;\n WhiteLabelName: string;\n WardLimit: string;\n UseProfileAPI: string;\n EnablePreventionWellness: string;\n PetProfileEnabled: string;\n WardProfileEnabled: string;\n WardProfileEditEnabled: string;\n WardProfileAddEnabled: string;\n WardProfileDeleteEnabled: string;\n baseResultsApiUrl: string;\n AvailableLanguage: string;\n BaseBigCommerceUrl: string;\n Country: string;\n CookieBotAPIKey: string;\n CookieBotEnabled: string;\n RequireMFA: boolean;\n DefaultLanguage: string;\n eeIdleTimeOutInSeconds: number;\n EnableOpenReplay: boolean;\n OpenReplayProjectKey: string;\n OpenReplayIngestPoint: string;\n EnableGoogleTag: string;\n GoogleTagId: string;\n ShfyDxpBaseURL: string;\n ShfyRegistrationURL: string;\n ShfyCompleteProfileURL: string;\n UseNewUI: string;\n EnableCheckResults: string;\n ConsentCategoryName?: string;\n FICookieManagerId: string;\n EnableFICookieManager: string;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ConfigService {\n private _envConfigError: string = \"Env config not loaded!\";\n private _envConfig$ = new ReplaySubject(1);\n public _envConfig: Config;\n public envConfig$ = this._envConfig$.pipe(shareReplay({ refCount: false, bufferSize: 1 }));\n public envJson: IEnvJson = null;\n\n constructor(\n private readonly http: HttpClient,\n private readonly store: Store,\n private readonly countryService: CountryService\n ) {}\n\n public getLocales(authUrl?: string) {\n return this.http.get(`${authUrl || this._envConfig.BaseAuthUrl}/manage/locale`);\n }\n\n public getCountries(authUrl: string) {\n return this.http.get(authUrl + \"/v2/manage/accounts/dropdown-items?category=Country\").pipe(\n map((countries) => {\n countries = countries.sort((a, b) => {\n if (a.text > b.text) return 1;\n if (a.text < b.text) return -1;\n return 0;\n });\n\n const computed = countries.map((country) => ({\n Code: country.value,\n Name: country.text,\n SmallName: country.text?.toLowerCase(),\n }));\n this.countryService.countries$.next(computed);\n this.countryService.countriesAsObj$.next(\n computed.reduce((a, v) => ({ ...a, [v.Code?.toLowerCase()]: v.Name }), {})\n );\n return computed;\n })\n );\n }\n\n load() {\n return this.http\n .get(\"/api/environment\").toPromise().then(\n async (data) => {\n await this.getCountries(data.BaseAuthUrl).toPromise();\n const locales = await this.getLocales(data.BaseAuthUrl).toPromise();\n const AvailableLanguage = locales.map((locale) => locale.cultureCode).join(\",\");\n\n const config: any = { ...data, AvailableLanguage };\n\n this._envConfig = config;\n this._envConfig$.next(config);\n this.store.dispatch(STSActions.loadConfigSuccess({ data: config }));\n\n document.body.classList.add(`version-${config[\"Version\"]}`);\n },\n (error) => {\n console.log(error);\n throw error;\n }\n );\n }\n\n loadEnvJson() {\n return this.http\n .get(\"/assets/env.json\")\n .toPromise()\n .then(\n (env: IEnvJson) => { this.envJson = env; },\n (error) => { throw error; }\n );\n }\n\n get baseAuthUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseAuthUrl;\n }\n\n get baseBookingUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseBookingUrl;\n }\n\n get baseWebreqAdminUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseWebreqAdminUrl;\n }\n\n get baseClientUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseAdminUrl;\n }\n\n get baseAccountUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseProfileUrl;\n }\n\n get basePlasmaUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BasePlasmaUrl;\n }\n\n get baseProfileApiUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseProfileApiUrl;\n }\n\n get environment() {\n this._checkEmptyConfig();\n return this._envConfig.Environment;\n }\n\n get version() {\n this._checkEmptyConfig();\n return this._envConfig.Version;\n }\n\n get twilioEnabled() {\n this._checkEmptyConfig();\n return this._envConfig.TwilioEnabled;\n }\n\n get UseProfileAPI() {\n this._checkEmptyConfig();\n return this._envConfig.UseProfileAPI;\n }\n\n get shfyDxpBaseURL() {\n this._checkEmptyConfig();\n return this._envConfig.ShfyDxpBaseURL;\n }\n\n get shfyRegistrationURL() {\n this._checkEmptyConfig();\n return this._envConfig.ShfyRegistrationURL;\n }\n\n get shfyCompleteProfileURL() {\n this._checkEmptyConfig();\n return this._envConfig.ShfyCompleteProfileURL;\n }\n\n get isWardProfileEnabled() {\n this._checkEmptyConfig();\n return (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === \"true\";\n }\n\n get isWardProfileAddEnabled() {\n this._checkEmptyConfig();\n\n const isWardProfileEnabled = (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === claimValues.TRUE;\n const isWardProfileAddEnabled = (this._envConfig.WardProfileAddEnabled || \"\").toLowerCase() === claimValues.TRUE;\n return isWardProfileAddEnabled && isWardProfileEnabled;\n }\n\n get isWardProfileEditEnabled() {\n this._checkEmptyConfig();\n\n const isWardProfileEnabled = (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === claimValues.TRUE;\n const isWardProfileEditEnabled = (this._envConfig.WardProfileEditEnabled || \"\").toLowerCase() === claimValues.TRUE;\n return isWardProfileEditEnabled && isWardProfileEnabled;\n }\n\n get isWardProfileDeleteEnabled() {\n this._checkEmptyConfig();\n\n const isWardProfileEnabled = (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === claimValues.TRUE;\n const isWardProfileDeleteEnabled =\n (this._envConfig.WardProfileDeleteEnabled || \"\").toLowerCase() === claimValues.TRUE;\n return isWardProfileDeleteEnabled && isWardProfileEnabled;\n }\n\n get formConfig(): FormConfigInterface {\n this._checkEmptyConfig();\n return FORM_CONFIG[this._envConfig.WhiteLabelName];\n }\n\n private _checkEmptyConfig() {\n if (!this._envConfig) {\n throw Error(this._envConfigError);\n }\n }\n\n get consentCategoryName() {\n this._checkEmptyConfig();\n return this._envConfig.ConsentCategoryName || null;\n }\n\n get bookingProfessionalUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BookingProfessionalUrl || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UrlTree } from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { map, filter } from \"rxjs/operators\";\nimport { AuthService } from \"../auth/auth.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class UserTypeGuard {\n constructor(private auth: AuthService) {}\n\n canActivate(): Observable | Promise | boolean | UrlTree {\n // this will wait for 'auth.profileInfo' to be set in auth.service before loading page\n return this.auth.userInfo$.pipe(\n filter((i) => !!i),\n map((claims) => !!claims)\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { AccountsService } from \"../accounts/accounts.service\";\nimport moment from \"moment\";\nimport { LocalStorageKeys } from \"src/app/models/storage.model\";\nimport sessionStorage from \"sessionstorage\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\nimport { ConfigService } from \"../config/config.service\";\n\n/** Key in translation json for `general` scope. */\nexport const generalScopeKey = \"general\";\n/** Key in translation json for `header` scope. */\nexport const headerScopeKey = \"header\";\n/** Key in translation json for `error` scope. */\nexport const errorScopeKey = \"error\";\n/** Key in translation json for `myAccount` scope. */\nexport const myAccountScopeKey = \"myAccount\";\n/** Key in translation json for `security` scope. */\nexport const securityScopeKey = \"security\";\n/** Key in translation json for `twoFactorAuthenticator` scope. */\nexport const twoFactorAuthenticatorScopeKey = \"twoFactorAuthenticator\";\n/** Key in translation json for `verifyProfile` scope. */\nexport const verifyProfileScopeKey = \"verifyProfile\";\n/** Key in translation json for `completeProfile` scope. */\nexport const completeProfileScopeKey = \"completeProfile\";\n/** Key in translation json for `registrationSecure` scope. */\nexport const registrationSecureScopeKey = \"registrationSecure\";\n/** Key in translation json for `delete` scope. */\nexport const deleteScopeKey = \"delete\";\n/** Key in translation json for `sessionTransfer` scope. */\nexport const sessionTransferKey = \"initSession\";\n/** Key in translation json for `petProfile` scope. */\nexport const petProfileScopeKey = \"petProfile\";\n/** storage key for lang code */\nexport const langCodeStorageKey = LocalStorageKeys.language;\n/**\n * Service to manage i18n.\n */\n@Injectable({ providedIn: \"root\" })\nexport class I18nService {\n activeLang$ = this.transloco.langChanges$;\n /** Browser locale. Used by moment. Should delete later if unnecessary. */\n browserLocale: string = this.getBrowserLanguages[0] || \"en\";\n country$ = this.accountsService.country$;\n constructor(\n private transloco: TranslocoService,\n private accountsService: AccountsService,\n private config: ConfigService\n ) {}\n translateIfExists(key: string, scope: string | string[] = \"\"): string {\n if (typeof scope == \"string\") {\n const translated = this.transloco.translate(key, {}, scope);\n return `${scope}.${key}` == translated ? key : translated;\n } else {\n return this.translateIfExists(\n key,\n scope.find((s) => this.translateIfExists(key, s) != key)\n );\n }\n }\n getAvailableLanguages(): string[] {\n return this.transloco.getAvailableLangs() as string[];\n }\n\n setStoredLanguage(langCode: string) {\n sessionStorage && sessionStorage.setItem(langCodeStorageKey, langCode);\n\n const locale = formatLocale(langCode, this.config._envConfig as any);\n this.transloco.setActiveLang(locale);\n }\n /** detect browser locale and set moment global locale. */\n detectBrowserLocale() {\n const locale =\n this.getFromLocalStorage() || this.transloco.getDefaultLang() || this.getPreferredSupportedLanguage();\n\n const formattedLocale = formatLocale(locale, this.config._envConfig as any);\n this.setActiveLang(formattedLocale);\n moment.locale(locale);\n }\n /** sets active language. Does not save to storage.\n * use `setStoredLanguage` to save to storage.\n */\n private setActiveLang = this.transloco.setActiveLang.bind(this.transloco);\n\n private getFromLocalStorage() {\n return sessionStorage &&\n sessionStorage.getItem(langCodeStorageKey) &&\n this.getAvailableLanguages().indexOf(sessionStorage.getItem(langCodeStorageKey)) > -1\n ? sessionStorage.getItem(langCodeStorageKey)\n : undefined;\n }\n /** get browser user preferred language */\n private getBrowserLanguages(): string[] {\n return navigator.languages.map((x) => x) || [navigator.language] || [(navigator as any).userLanguage] || [];\n }\n /** determine preferred language between supported language and\n * browser settings. uses language fallbacks */\n public getPreferredSupportedLanguage(\n preferredLanguages: string[] = this.getBrowserLanguages(),\n supportedLanguages: string[] = this.getAvailableLanguages()\n ): string | undefined {\n for (const pl of preferredLanguages) {\n const lang = supportedLanguages.find((sl) => pl === sl);\n if (lang !== undefined) {\n return lang;\n }\n }\n for (const pl of preferredLanguages) {\n const lang = supportedLanguages.find((sl) => this.getLangCode(sl) === this.getLangCode(pl));\n if (lang !== undefined) {\n return lang;\n }\n }\n }\n /** Extract language code from locale code. (ex: 'en' in 'en-US')\n * @param locale string to extract language code from.\n * @Note Naive language code parser.\n * Use in the future: https://www.npmjs.com/package/locale-code\n */\n private getLangCode(locale: string = \"\"): string {\n return (locale.trim().match(/^\\w+/g) || []).shift();\n }\n\n public formatDate(isoDateTime: string, momentFormat: string = \"LLL\", outputAsUTCTimezone: boolean = false): string {\n if (typeof isoDateTime !== \"string\") {\n return \"\";\n }\n\n const mom = moment.utc(isoDateTime);\n if (mom.isValid()) {\n if (!outputAsUTCTimezone) {\n mom.local();\n }\n return mom.format(momentFormat);\n } else {\n return isoDateTime;\n }\n }\n\n /** Utility function to format time into localized format.\n * @param time 24 hour format of time\n * @param momentFormat optional parameter to specify the output format\n */\n public formatTime(time: string, momentFormat: string = \"kk:mm\") {\n const mom = moment(time, \"kk:mm\");\n return mom.format(momentFormat);\n }\n\n /** Get date format that can be used by moment */\n public getMomentDateFormatToken() {\n const defLanguage = this.transloco.getActiveLang();\n\n switch (defLanguage) {\n case \"en\":\n return \"DD/MM/YYYY\";\n case \"pt\":\n case \"pt-PT\":\n return \"DD-MM-YYYY\";\n default:\n return moment().localeData().longDateFormat(\"L\");\n }\n }\n}\n","import { ErrorHandler, Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class LoggerService {\n private consoleLog = console.log.bind(window.console);\n\n constructor(private errorHandler: ErrorHandler) {}\n\n public get log(): Function {\n if (!this.isProduction) {\n return this.consoleLog;\n }\n return () => {};\n }\n\n error(error: Error): void {\n this.errorHandler.handleError(error);\n }\n\n warn(value: any, ...rest: any[]): void {\n console.warn(value, ...rest);\n }\n\n /**\n * @returns String. returns current line number where this function is called.\n */\n getLine(): string {\n const e = new Error();\n const regex = /\\((.*):(\\d+):(\\d+)\\)$/;\n const match = regex.exec(e.stack.split(\"\\n\")[2]);\n return `path:${match[1]}@[line:${match[2]}][column:${match[3]}]`;\n }\n\n private get isProduction(): boolean {\n const envs = [\"//dev.\", \"//stage.\", \"//localhost\"];\n const origin = window.location?.origin;\n return !envs.some((env) => origin?.includes(env));\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport * as libphonenumber from \"google-libphonenumber\";\n\nexport interface PhoneNumber {\n e164Number: string;\n countryCode: string;\n number: number;\n internationalNumber: string;\n nationalNumber: string;\n dialCode: string;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class PhoneValidationService {\n isValidNumber(inputNumber: PhoneNumber) {\n if (inputNumber) {\n // special override for Estonia to be able to accept sample numbers in https://github.com/SK-EID/MID/wiki/Test-number-for-automated-testing-in-DEMO\n if (inputNumber.countryCode == \"EE\" && String(inputNumber.number).length == 8) {\n return true;\n } else {\n const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();\n let valid = false;\n try {\n valid = phoneUtil.isValidNumber(phoneUtil.parse(inputNumber.e164Number));\n } catch {}\n return valid;\n }\n }\n return false;\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of, pipe } from \"rxjs\";\nimport { map, withLatestFrom } from \"rxjs/operators\";\nimport { claimTypes, whiteLabelNames } from \"src/app/appsettings\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { ApiService } from \"../api/api.service\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { getPhone } from \"src/app/utils/common.utils\";\n\nconst allowedDuplicateClaimTypes: string[] = [claimTypes.USER_TYPE];\n\nexport interface IValidateDocument {\n BankIdToken: string;\n IdNumber: {\n type: string;\n number: string;\n };\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class RegisterProfileApiService {\n private readonly registerProfileEndpoint = \"/manage/accounts/complete_profile\";\n private readonly rollbackInactivatedUserEndpoint = \"/v2/manage/accounts/rollback-inactivated-user\";\n private readonly getPtProfileEndpoint = \"/manage/accounts\";\n private readonly updatePtProfileEndpoint = \"/manage/accounts/complete_profile_ptee\";\n private readonly getRegistrationClaimsForCzech = \"/manage/accounts/GetBankIdRegistration\";\n\n constructor(\n private http: HttpClient,\n private config: ConfigService,\n private api: ApiService\n ) {}\n getRegisterProfile(regId: string, seqId: string): Observable {\n return this.http\n .get<\n Claim[]\n >(`${this.config.baseAuthUrl}${this.registerProfileEndpoint}`, { params: { id: regId, seqId: seqId, sequenceId: seqId } })\n .pipe(this.removeDuplicateClaims);\n }\n\n getRegisterProfileForCzechRepublic(bankId: string): Observable {\n return this.http\n .post(`${this.config.baseAuthUrl}${this.getRegistrationClaimsForCzech}`, { bankidtoken: bankId })\n .pipe(this.mapDataForCzech);\n }\n\n validateRegistrationDocument(params: IValidateDocument): Observable {\n return this.http.post(`${this.config.baseAuthUrl}/manage/accounts/ValidateRegistrationDocument`, params);\n }\n\n submitRegisterProfileForBankId(claims: Claim[]) {\n return this.http.post(`${this.config.baseAuthUrl}/manage/accounts/bankid-create-user`, claims);\n }\n\n addBankIds(token: string) {\n return this.http.post(`${this.config.baseAuthUrl}/manage/accounts/AddBankIdIds`, { BankIdToken: token });\n }\n\n getPtExisitngProfile(userId: string): Observable {\n return this.http\n .get(`${this.config.baseAuthUrl}${this.getPtProfileEndpoint}/${userId}`)\n .pipe(this.removeDuplicateClaims);\n }\n\n submitRegisterProfile(regId: string, claims: Claim[]) {\n return this.http.put(`${this.config.baseAuthUrl}${this.registerProfileEndpoint}`, claims, {\n params: { id: regId },\n headers: this.api.headers(),\n });\n }\n\n updateConsents(consents: ConsentsPayload[], synlabId: string, seqId: string) {\n if (!consents) {\n return of(true);\n }\n if (seqId) {\n return this.http.put(`${this.config.baseAccountUrl}/api/consent/user/${synlabId}/register/${seqId}`, consents);\n }\n\n return this.http.put(`${this.config.baseAccountUrl}/api/consent/user/${synlabId}`, consents);\n }\n\n updatePtExistingProfile(userId: string, claims: Claim[], tenant: string): Observable {\n const isFinland = tenant == whiteLabelNames.FINLAND;\n const url: string = isFinland ? this.registerProfileEndpoint : this.updatePtProfileEndpoint;\n return this.http.put(`${this.config.baseAuthUrl}${url}`, claims, {\n params: { id: userId },\n });\n }\n\n /**\n * will delete user when signup to TARA button is clicked\n */\n rollBackUser(userId: string) {\n return this.http.put(`${this.config.baseAuthUrl}${this.rollbackInactivatedUserEndpoint}`, null, {\n params: { userId: userId },\n responseType: \"text\",\n });\n }\n\n /**\n * sometimes, the api returns duplicate claims for claims that are supposed\n * to be unique. since this is an adjustment for the api, this fn is placed\n * here.\n */\n private removeDuplicateClaims = pipe(\n map((claims: Claim[]) => {\n const claimsMap = new Map();\n claims\n .filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) === -1)\n .forEach((c) => claimsMap.set(c.claimType, c.claimValue));\n let distinctClaims: Claim[] = [];\n claimsMap.forEach((v, k) => distinctClaims.push({ claimType: k, claimValue: v }));\n const duplicableClaims = claims.filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) > -1);\n distinctClaims.push(...duplicableClaims);\n return distinctClaims;\n })\n );\n\n private mapDataForCzech = map((claims: Claim[]) => {\n const nclaims: any = claims.map((claim) => {\n if (claim.claimType === \"phone\") {\n const phone = getPhone(claim.claimValue?.replace(\"+\", \"\"));\n const _temp = [\n { claimType: claimTypes.PHONE, claimValue: claim.claimValue?.replace(\"+\", \"\") },\n { claimType: claimTypes.COUNTRY_PHONE, claimValue: typeof phone === \"object\" ? phone?.countryCode : \"\" },\n ];\n return _temp;\n }\n return claim;\n });\n\n // flatten array values\n const flatten = [].concat.apply([], nclaims);\n return flatten;\n });\n}\n","import { Injectable } from \"@angular/core\";\nimport { NgbDateParserFormatter, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { select, Store } from \"@ngrx/store\";\nimport moment from \"moment\";\nimport { AppSelector } from \"src/app/@store/selectors/app.selectors\";\nimport { I18nService } from \"./i18n.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CustomNgbDateParserFormatterService implements NgbDateParserFormatter {\n private defLanguage: string = this.transloco.getActiveLang();\n activeLang$ = this.store.pipe(select(AppSelector.getActiveLanguage));\n\n constructor(\n private i18n: I18nService,\n private transloco: TranslocoService,\n private store: Store\n ) {}\n parse(value: string): NgbDateStruct {\n const format = this.i18n.getMomentDateFormatToken();\n const mom = moment(value, format, false);\n return {\n year: mom.year(),\n month: mom.month() + 1,\n day: mom.date(),\n };\n }\n\n /**\n * please see src\\app\\modules\\home\\pages\\homepage\\data.model.ts for valid formats\n */\n format(date: NgbDateStruct): string {\n const defLanguage = this.transloco.getActiveLang();\n console.log(\"format\", { defLanguage });\n\n if (!date) return \"\";\n\n const mom = moment.utc([date.year, date.month - 1, date.day]);\n switch (defLanguage) {\n case \"en\":\n return mom.format(\"DD/MM/YYYY\");\n case \"pt\":\n case \"pt-PT\":\n return mom.format(\"DD-MM-YYYY\");\n default:\n return mom.format(\"L\");\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { NgbDatepickerI18n, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\nimport moment from \"moment\";\nimport * as _ from \"lodash\";\n\n/** moment's date format string for full date with day of week. */\nconst momentFullDateFormat = \"dddd, MMMM Do YYYY\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CustomNgbDatepickeri18nService extends NgbDatepickerI18n {\n getWeekdayLabel(weekday: number) {\n return this.getWeekdayShortName(weekday);\n }\n getWeekdayShortName(weekday: number): string {\n const momentWeekdayIndex = weekday % 7;\n return moment.weekdaysShort()[momentWeekdayIndex];\n }\n getMonthShortName(month: number, year?: number): string {\n const momentMonthIndex = (month - 1) % 12;\n return moment.monthsShort()[momentMonthIndex];\n }\n getMonthFullName(month: number, year?: number): string {\n const momentMonthIndex = (month - 1) % 12;\n return moment.months()[momentMonthIndex];\n }\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n const mom = moment(jsDate);\n return mom.format(momentFullDateFormat);\n }\n getDayNumerals(date: NgbDateStruct): string {\n return _.toString(date.day);\n }\n getWeekNumerals(weekNumber: number): string {\n return _.toString(weekNumber);\n }\n getYearNumerals(year: number): string {\n return _.toString(year);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { TRANSLOCO_LOADER, Translation, TranslocoLoader, TRANSLOCO_CONFIG, translocoConfig, TranslocoModule, TranslocoService, } from \"@ngneat/transloco\";\nimport { Injectable, NgModule, APP_INITIALIZER } from \"@angular/core\";\nimport { environment } from \"../environments/environment\";\nimport { I18nService } from \"./services/i18n/i18n.service\";\nimport { ConfigService } from \"./services/config/config.service\";\nimport { NgbDateParserFormatter, NgbDatepickerI18n } from \"@ng-bootstrap/ng-bootstrap\";\nimport { CustomNgbDateParserFormatterService } from \"./services/i18n/custom-ngb-date-parser-formatter.service\";\nimport { CustomNgbDatepickeri18nService } from \"./services/i18n/custom-ngb-datepickeri18n.service\";\nimport { catchError, filter, shareReplay, take, tap } from \"rxjs/operators\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { AppActions } from \"src/app/@store/actions/app.actions\";\nimport { of } from \"rxjs\";\nimport memoizee from \"memoizee\";\nimport { LocalStorageKeys } from \"./models/storage.model\";\nimport { getLangCodeFromLocalStorage, getLangCodeFromQueryString } from \"./utils/common.utils\";\nimport { formatLocale } from \"./plasma-ui-common/utils/format-locale\";\nimport { LoggerService } from \"./services/logger.service\";\n\n/** List of language codes which uses new format of terms and policy */\nexport const newFormatAgreementLanguages = [\"de\", \"en\"];\n\n@Injectable({ providedIn: \"root\" })\nexport class TranslocoHttpLoader implements TranslocoLoader {\n constructor(\n private http: HttpClient,\n private config: ConfigService,\n private store: Store\n ) {}\n\n getTranslation = memoizee((lang: string) => {\n this.store.dispatch(AppActions.loadAppLanguage({ language: lang }));\n\n const config = this.config._envConfig;\n\n return this.http\n .get(`/assets/i18n/${formatLocale(lang, config)}.json`, {\n params: { version: this.config._envConfig.Version },\n })\n .pipe(\n tap(() => this.store.dispatch(AppActions.loadAppLanguageSuccess({ language: formatLocale(lang, config) }))),\n catchError((err) => {\n this.store.dispatch(\n AppActions.loadAppLanguageFailure({\n language: formatLocale(lang, config),\n error: err,\n })\n );\n return of(null);\n }),\n shareReplay({ refCount: false, bufferSize: 1 })\n );\n });\n}\n\n@NgModule({\n //imports: [TranslocoLocale],\n exports: [TranslocoModule],\n providers: [\n {\n provide: NgbDateParserFormatter,\n useClass: CustomNgbDateParserFormatterService,\n },\n {\n provide: NgbDatepickerI18n,\n useClass: CustomNgbDatepickeri18nService,\n },\n {\n provide: TRANSLOCO_CONFIG,\n useValue: translocoConfig({\n availableLangs: [\n \"en\" /** english */,\n \"en-FI\" /** english */,\n \"hu\" /** hungary */,\n \"es\" /** Colombian Spanish */,\n \"pt\" /** portugal */,\n \"fr\" /** france */,\n \"it\" /** italy */,\n \"de\" /** german */,\n \"el\" /** Greek */,\n \"lt\" /** Lithuanian */,\n \"tr\" /** Turkish */,\n \"et\",\n ],\n defaultLang: \"en\",\n missingHandler: {\n logMissingKey: true,\n useFallbackTranslation: true,\n },\n fallbackLang: \"en\",\n // Remove this option if your application doesn't support changing language in runtime.\n reRenderOnLangChange: true,\n prodMode: environment.production,\n }),\n },\n { provide: TRANSLOCO_LOADER, useClass: TranslocoHttpLoader },\n I18nService,\n LoggerService,\n /** post-transloco-import setup because config data cannot be fetched\n * before transloco config is setup as provider\n * * Loads available language from config\n * * sets current language after available languages are set\n */\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [ConfigService, TranslocoService, I18nService, LoggerService],\n useFactory: (configService: ConfigService, transloco: TranslocoService,\n i18n: I18nService, logr: LoggerService) => {\n return () => {\n return configService.envConfig$\n .pipe(\n filter((x) => Boolean(x)),\n take(1),\n tap((config) => {\n const configLanguages = config.AvailableLanguage && config.AvailableLanguage.split(\",\");\n const allAvailableLanguages = [...(Array.isArray(configLanguages) ? configLanguages : [])].map((lang) =>\n formatLocale(lang, config as any)\n );\n const availableLanguages = [...new Set(allAvailableLanguages)];\n\n const getLocale: Function = isInAvailableLocale;\n const defaultL = formatLocale(getLocale(config.DefaultLanguage, availableLanguages), config as any);\n\n transloco.setAvailableLangs(availableLanguages);\n transloco.setDefaultLang(defaultL);\n transloco.setFallbackLangForMissingTranslation({fallbackLang: defaultL});\n\n i18n.detectBrowserLocale();\n\n const localeFromUrl: string = formatLocale(getLangCodeFromQueryString(), config, true);\n const localeFromStorage: string = formatLocale(getLangCodeFromLocalStorage(config), config, true);\n const localeFromConfig: string = formatLocale(getLocale(config.DefaultLanguage, availableLanguages), config);\n\n const formattedLocaleFromUrl = formatLocale(getLocale(localeFromUrl, availableLanguages), config);\n\n logr.log({ fromTranslocoRoot: true });\n logr.log({ localeFromUrl, localeFromStorage, localeFromConfig });\n\n if (localeFromUrl && formattedLocaleFromUrl != \"\") {\n transloco.setActiveLang(formattedLocaleFromUrl);\n sessionStorage?.setItem(LocalStorageKeys.language, formattedLocaleFromUrl);\n logr.log({ localeFromUrl: true });\n } else if (localeFromStorage) {\n transloco.setActiveLang(localeFromStorage);\n logr.log({ localeFromStorage: true });\n } else {\n transloco.setActiveLang(localeFromConfig);\n logr.log({ localeFromConfig: true });\n }\n\n /** hide text initially -- css styles, to prevent on displaying translation keys on first load */\n setTimeout(() => document.body.removeAttribute('ngCloak'), 100);\n })\n )\n .toPromise();\n };\n },\n },\n ],\n})\nexport class TranslocoRootModule {}\n\nexport function isInAvailableLocale(locale: string, available: string[]): string {\n if (!locale) {\n return \"\";\n }\n if (available.map((l) => l.toLowerCase()).indexOf(locale?.toLowerCase()) > -1) {\n return locale.length == 2 ? locale.toLowerCase() : locale;\n }\n if (locale.split(\"-\").length > 1) {\n return isInAvailableLocale(locale.split(\"-\")[0], available);\n }\n return \"\";\n}\n","import { Claim } from \"../plasma-ui-common/synlab-access-ui-components/core\";\n\nexport function claimsToObject(claims: Claim[]): Record {\n return claims.reduce((accumulator, value) => {\n accumulator[value.claimType] = value.claimValue ?? \"\";\n return accumulator;\n }, {});\n}\n","import { Routes } from \"@angular/router\";\nimport { LocalStorageKeys } from \"../models/storage.model\";\nimport { AuthGuard } from \"../services/authGuard/auth.guard\";\nimport { formatLocale } from \"../plasma-ui-common/utils/format-locale\";\nimport * as libphonenumber from \"google-libphonenumber\";\nimport { Config } from \"../services/config/config.service\";\n\n/**\n * Get the \"langCode\" value from URL query string\n * @returns String. Returns \"langCode\" value from query string. If not exists, it will return null.\n */\nexport const getLangCodeFromQueryString = (): string => {\n const urlSearchParams = new URLSearchParams(window.location.search);\n let locale: string;\n urlSearchParams.forEach((v, k) => {\n if (k.toLowerCase() == \"langcode\") {\n locale = v;\n }\n });\n return locale ?? null;\n};\n\n/**\n * Get the saved language code from session staorage.\n * @returns String. Returns the saved language code in the session storage.\n */\nexport const getLangCodeFromLocalStorage = (config?: Config, nullable?: boolean): string => {\n return formatLocale(sessionStorage.getItem(LocalStorageKeys.language), config as any, nullable);\n};\n\nexport const showCookieBot = (value: boolean, delayInMilliseconds: number = 1000): void => {\n setTimeout(() => {\n const element = document.getElementById(\"CybotCookiebotDialog\");\n if (!!element) {\n if (value) {\n element.classList.add(\"show\");\n } else {\n element.classList.remove(\"show\");\n }\n }\n }, delayInMilliseconds);\n};\n\n/**\n * Check if a variable is string or not\n * @param data\n * @returns Boolean.\n */\nexport const isString = (data: string) => {\n return typeof data === \"string\";\n};\n\n/**\n * Returns the host from a url\n * @param url\n * @returns\n */\nexport const trimUrl = (url: string = \"\"): string => {\n const link = document.createElement(\"a\");\n link.href = url;\n return link.host;\n};\n\n/**\n * @returns String. returns the redirect url\n */\nexport const getRedirectUrl = (): string => {\n return location.pathname + location.search;\n};\n\n/**\n * Boolean. Returns \"true\" if path is a private route, otherwise, returns \"false\"\n * @param path String. The URL that needs to be checked.\n * @param routes Array. Routes from Router.config provided by Angular\n * @returns Boolean\n */\nexport const isPrivateRoute = (path: string, routes: Routes): boolean => {\n // get the first path from the redirect url\n const link = document.createElement(\"a\");\n link.href = path;\n const tempPath = link.pathname?.charAt(0) === \"/\" ? link.pathname.substring(1) : link.pathname;\n const firstPath: string = tempPath?.split(\"/\")?.filter((link) => link)[0] ?? undefined;\n\n // if URL has no specific firstPath, consider the URL as private route\n if (firstPath === undefined) {\n return true;\n }\n\n // check if firstPath is private or public based from Router.config settings\n const route = routes.find((route) => route.path?.toLowerCase() == firstPath?.toLowerCase());\n const canActivates: any[] = route?.canActivate;\n return canActivates?.some((canActivate: any) => canActivate?.toString() == AuthGuard.toString());\n};\n\nexport const getPhone = (phone: string) => {\n try {\n // https://github.com/ruimarinho/google-libphonenumber\n const PNF = libphonenumber.PhoneNumberFormat;\n const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();\n if (phone && phoneUtil.isValidNumber(phoneUtil.parse(`+${phone}`))) {\n const number = phoneUtil.parseAndKeepRawInput(`+${phone}`, \"\");\n return {\n countryCode: phoneUtil.getRegionCodeForNumber(number),\n dialCode: `+${number.getCountryCode()}`,\n e164Number: phoneUtil.format(number, PNF.E164),\n internationalNumber: phoneUtil.format(number, PNF.INTERNATIONAL),\n nationalNumber: phoneUtil.format(number, PNF.NATIONAL),\n number: String(number.getNationalNumber()),\n };\n } else {\n console.warn(\"INVALID PHONE NUMBER -----> \" + phone);\n\n // special override for Estonia to be able to accept sample numbers in https://github.com/SK-EID/MID/wiki/Test-number-for-automated-testing-in-DEMO\n if (`${phone}`.replace(\"+\", \"\").slice(0, 3) == \"372\") {\n return { number: `${phone}`.slice(3), countryCode: \"EE\" };\n }\n\n return {\n number: phone,\n invalid: true,\n };\n }\n } catch (error) {\n console.warn(\"Error parsing phone. returning invalid raw number.\", error);\n return { number: phone };\n }\n};\n","import { HttpErrorResponse } from \"@angular/common/http\";\n\nexport const getErrorStatuscode = (error: HttpErrorResponse) => error?.status;\nconst isBadRequest = (error: HttpErrorResponse): boolean => getErrorStatuscode(error) === 400;\nconst isConflict = (error: HttpErrorResponse): boolean => getErrorStatuscode(error) === 409;\n\nexport function getErrorMessage(error: HttpErrorResponse) {\n if (isBadRequest(error)) {\n return error.error.message ?? error.error.ErrorMessage ?? error.message;\n } else if (isConflict(error) && typeof error.error === \"string\") {\n return error.error;\n } else if (isConflict(error)) {\n return error.error.message ?? error.error.ErrorMessage ?? error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (error instanceof Error) {\n return error.message;\n } else {\n return \"An unknown error occured\";\n }\n}\n","import { map, catchError, shareReplay, take, switchMap, tap } from \"rxjs/operators\";\nimport { Observable, of } from \"rxjs\";\nimport { Claim } from \"../services/accounts/accounts.model\";\nimport { claimValues, claimTypes } from \"../appsettings\";\nimport { ApiService } from \"../services/api/api.service\";\nimport { ConfigService } from \"../services/config/config.service\";\nimport { select, Store } from \"@ngrx/store\";\nimport { STSActions } from \"../@store/actions/sts.actions\";\nimport { StsSelectors } from \"../@store/selectors/sts.selectors\";\n\nexport const HAS_GENEPLANET_RESULTS_API = \"/api/results/ee-has-gp-result\";\n\nexport function isGeneplanetEnrolled(claims: Claim[]) {\n return claims.find((c) => c?.claimType == claimTypes.GENEPLANET_USER)?.claimValue == claimValues.TRUE;\n}\n\nexport function isGeneplanetAllowed(\n baseUrl$: Observable,\n api: ApiService,\n store: Store,\n claims: Claim[]\n): Observable {\n const synlabId = claims.find((c) => c.claimType == \"synlab_id\")?.claimValue;\n return baseUrl$.pipe(\n take(1),\n switchMap((baseUrl) => {\n return store.pipe(select(StsSelectors.hasGeneplanetOrders)).pipe(\n switchMap((hasOrders) => {\n // after looking at store if hasGeneplanetOrders have been set, if null, send http request to the has-orders api\n if (hasOrders === null)\n return api.getHttp(`${baseUrl}${HAS_GENEPLANET_RESULTS_API}/${synlabId}`).pipe(\n map((response) => `${response}`.toLowerCase() == claimValues.TRUE),\n // set hasGeneplanet to the store\n tap((hasOrders) => store.dispatch(STSActions.setHasGeneplanetOrders({ hasOrders }))),\n // in any failure, set to false\n catchError(() => of(false)),\n shareReplay(1)\n );\n // return what is in the store.\n return of(hasOrders);\n })\n );\n })\n );\n}\n\nexport function isGeneplanetEnabled(cfg: ConfigService) {\n return cfg._envConfig.EnablePreventionWellness.toLowerCase() == claimValues.TRUE;\n}\n\nexport function geneplanetClaimChange(prev: Claim[], next: Claim[]) {\n return (\n prev.find((c) => c.claimType == \"geneplanet_user\")?.claimValue ==\n next.find((c) => c.claimType == \"geneplanet_user\")?.claimValue\n );\n}\n","export enum EReset {\n SMS = \"sms\",\n AUTH_APP = \"auth-app\",\n}\n\nexport enum E2FAProvider {\n SMS = \"Phone\",\n AUTHENTICATOR = \"Authenticator\",\n}\n\nexport interface IReset {\n reset: EReset;\n time: Date;\n}\n\nexport interface IValidateDKMFAReset {\n id: string;\n seqId?: string;\n sequenceId?: string;\n}\n\nexport interface IChangePhonePayload {\n countryPhone: string;\n phone: string;\n}\n\nexport interface IVerifyChangePhonePayload {\n token: string;\n phone: string;\n}\n\nexport interface IRequestQueryParams {\n id: string;\n seqId?: string;\n sequenceId?: string;\n}\n\nexport interface ISet2FAPayload {\n code: string;\n twoFactorEnabled: boolean;\n twoFactorProvider: E2FAProvider;\n}\n\nexport interface IVerifySet2FAPayload {\n twoFactorEnabled: boolean;\n tokenProvider: E2FAProvider;\n code: string;\n token: string;\n}\n\nexport enum EResetMFAActivity {\n RESET_ISVALID = \"mfa_reset_isvalid\",\n RESET_CLAIMS = \"mfa_reset_info\",\n SET_2FA_SMS = \"reset_set_two_factor_authentication_sms\",\n SET_2FA_AUTH_APP = \"reset_set_two_factor_authentication_auth_app\",\n VERIFY_2FA = \"verify_two_factor_authentication\",\n CHANGE_PHONE = \"reset_change_phone\",\n VERIFY_PHONE = \"reset_verify_phone\",\n}\n\nexport interface IClaim {\n claimType: string;\n claimValue: any;\n}\n\nexport interface IClaimObject {\n [key: string]: string;\n}\n","export const environment = {\n production: true,\n};\n","import { Router } from \"@angular/router\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-init\",\n templateUrl: \"./init.component.html\",\n styleUrls: [\"./init.component.scss\"],\n})\nexport class InitComponent implements OnInit {\n constructor(\n private auth: AuthService,\n private conf: ConfigService,\n private router: Router\n ) {}\n\n async ngOnInit() {\n await this.conf.load();\n this.router.navigate([\"account\"]);\n }\n}\n","
\n \n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-signin-callback\",\n templateUrl: \"./signin-callback.component.html\",\n styleUrls: [\"./signin-callback.component.scss\"],\n})\nexport class SiginCallbackComponent implements OnInit {\n constructor(private authService: AuthService) {}\n\n ngOnInit() {\n this.authService.signinRedirectCallbackTrigger$.next(Date.now());\n }\n}\n","
\n \n
\n","\n
\n \"\"\n
\n\n \n \n \n
\n

\n \"spinner\"\n

\n
\n\n
\n \n
\n

{{ t(\"invalidLinkText\") }}

\n \n
\n
\n \n
\n {{ t(\"invalidLinkText\") }}\n
\n
\n
\n\n
\n
\n
\n
\n
\n

{{ t(\"resetYourPasswordTitle\") }}

\n

\n \"spinner\"\n

\n
\n \n\n \n
\n
\n
\n
\n
\n \n \n \n\n \n
\n \n \n
\n\n \n
\n \n \n \n {{ t(\"passwordDontMatchError\") }}\n \n\n \n \n \n
\n\n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n {{ t(\"passwordInstructionText\") }}\n \n \n
\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { finalize, tap, catchError, delay, take } from \"rxjs/operators\";\nimport { EMPTY, Observable } from \"rxjs\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { ApiService } from \"./../../../services/api/api.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { Store, select } from \"@ngrx/store\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport {\n AbstractControl,\n UntypedFormControl,\n UntypedFormGroup,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from \"@angular/forms\";\nimport { EPassForm } from \"src/app/models/password.model\";\nimport { passwordValidation } from \"src/app/modules/shared/regex-pattern\";\n\n@Component({\n selector: \"app-forgot-password\",\n templateUrl: \"./forgot-password.component.html\",\n styleUrls: [\"./forgot-password.component.scss\"],\n})\nexport class ForgotPasswordComponent implements OnInit {\n loading = false;\n isMatched = false;\n showSpin = true;\n showForm = false;\n regId = \"\";\n seqId = \"\";\n returnUrl = \"\";\n showError = false;\n submitted = false;\n passwordFormatInvalid: boolean = false;\n useNewNav$: Observable = this.store.pipe(select(StsSelectors.useNewNav));\n isSHFYInstance$ = this.store.pipe(select(StsSelectors.isUkShfyInstance));\n\n passwordFormG = new UntypedFormGroup({\n authenticationProvider: new UntypedFormControl(\"local\"),\n schemeProvider: new UntypedFormControl(\"\"),\n newPassword: new UntypedFormControl(\"\", [Validators.required, Validators.pattern(passwordValidation)]),\n confirmPassword: new UntypedFormControl(\"\", [Validators.required]),\n });\n\n constructor(\n private api: ApiService,\n private activeRoute: ActivatedRoute,\n private toast: ToastrService,\n @Inject(Window) private window,\n private translocoService: TranslocoService,\n private config: ConfigService,\n private store: Store\n ) {}\n\n ngOnInit() {\n this.passwordFormG.setValidators(this.checkPasswords);\n\n this.activeRoute.queryParams\n .pipe(\n take(1),\n tap((params) => {\n this.regId = params.id;\n this.seqId = params.seq;\n this.returnUrl = atob(params.returnUrl || \"\");\n\n this.loadClaims();\n })\n )\n .subscribe();\n }\n\n loadClaims() {\n this.api.get(\"/manage/accounts/verify_forgot_password\", { id: this.regId, seq: this.seqId }).subscribe((d) => {\n this.showSpin = false;\n this.showForm = d;\n });\n }\n\n setAccountPassword() {\n const f = this.passwordFormG.getRawValue();\n\n this.loading = true;\n this.passwordFormatInvalid = false;\n this.api\n .put(`/manage/accounts/forgot_password`, {\n UserId: this.regId,\n NewPassword: f[EPassForm.CONFIRM_PASS],\n Sequence: this.seqId,\n })\n .pipe(\n finalize(() => {\n this.loading = false;\n }),\n tap(() => {\n this.toast.success(\n this.translocoService.translate(\"successfullyUpdatedPasswordText\", {}, \"forgotPassword\"),\n this.translocoService.translate(\"successfullyUpdatedPasswordTitle\", {}, \"forgotPassword\")\n );\n this.submitted = true;\n }),\n delay(2000),\n tap(() => {\n this.passwordFormG.reset();\n this.passwordFormG.markAsPristine();\n\n this.window.location.href = `${this.config._envConfig.BaseAuthUrl}/Account/Login`;\n }),\n catchError((err) => {\n if (\n err &&\n err.error &&\n typeof err.error.ErrorMessage === \"string\" &&\n err.error.ErrorMessage.indexOf(\"Incorrect Password Format\") > -1\n ) {\n this.toast.error(this.translocoService.translate(\"incorrectPasswordFormat\", {}, \"security\"));\n this.passwordFormatInvalid = true;\n return;\n }\n const errMessage =\n err && err.error && err.error.ErrorMessage\n ? err.error.ErrorMessage\n : this.translocoService.translate(\"errorUpdatingPasswordText\", {}, \"forgotPassword\");\n this.toast.error(\n this.translocoService.translate(\"errorUpdatingPasswordText\", {}, \"forgotPassword\"),\n this.translocoService.translate(\"errorOccuredTitle\", {}, \"general\")\n );\n console.error(errMessage || err);\n return EMPTY;\n })\n )\n .subscribe();\n }\n\n redirectToContactSynlab() {\n this.window.location.href = this.config._envConfig.BaseProfileUrl;\n }\n\n get EPassForm(): typeof EPassForm {\n return EPassForm;\n }\n\n public checkPasswords: ValidatorFn = (group: AbstractControl): ValidationErrors | null => {\n let pass = group.get(EPassForm.NEW_PASS).value;\n let confirmPass = group.get(EPassForm.CONFIRM_PASS).value;\n return pass === confirmPass || confirmPass == \"\" ? null : { [EPassForm.CONFIRM_PASS]: true };\n };\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-renewtoken\",\n templateUrl: \"./renewtoken.component.html\",\n styleUrls: [\"./renewtoken.component.scss\"],\n})\nexport class RenewtokenComponent implements OnInit {\n constructor(private config: AuthService) {}\n\n ngOnInit() {\n this.config._manager.signinSilentCallback().catch((e) => {\n console.log(\"Test Error\");\n console.error(\"silent-renew error:\", e);\n });\n }\n}\n","soomething\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-self-sampling-instruction\",\n templateUrl: \"./self-sampling-instruction.component.html\",\n styleUrls: [\"./self-sampling-instruction.component.scss\"],\n})\nexport class SelfSamplingInstructionComponent {}\n","\n\n
\n
\n
\n \"Synlab's\n
\n
\n
\n
\n
\n
\n

COVID-19

\n

Anleitung für den Lolli-PCR-Pool

\n
\n
\n
\n
\n

Sie erhalten folgende Materialien:

\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n
\n
\n
\n Die Durchführung der Probenentnahme sollte strikt nach Poolgruppen getrennt erfolgen, um Irrtümer zu vermeiden!\n Empfehlenswert sind maximal 15 Schüler : innen pro Poolgruppe.\n
\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n

\n Ihre Schulverwaltung hat Sie im SYNLAB-Schulportal registriert. Klicken Sie bitte in der Ihnen zugesandten\n E-Mail auf den Link und legen Sie dort Ihr persönliches Kennwort für den Zugang an.\n

\n

\n Bitte laden Sie die SYNLAB Access-App herunter und melden sich mit Ihren Zugangsdaten an.\n

\n

\n Die App gibt die notwendigen Schritte vor. Legen Sie zunächst je Gruppe in Ihrer Klasse eine Poolgruppe an.\n Geben Sie die Klasse (z.B. 5a) und Poolgruppe (z.B. A) als Bezeichnung an.\n

\n

\n Die Registrierung und Anlage der Poolgruppen müssen nur einmal durchgeführt werden.\n

\n
\n
\n
\n \"Self-Sampling\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n
\n\n
\n

\n Bitte händigen Sie allen Schüler:innen einen Druckverschlussbeutel aus, mit Tupfer im Transportröhrchen und\n einer Probentüte sowie einer Anleitung für die Probennahme zu Hause.\n

\n

\n Hinweis: Die Ausgabe von Set B an die Schüler:innen erfolgt nur einmalig (bis zu einer positiven\n Poolanalyse).\n

\n
\n
\n\n
\n
\n

Anleitung für die Probenentnahme

\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n

1

\n
\n
\n
\n
\n

\n Sie öffnen die App und beginnen via „Pooltestung starten“ mit der Durchführung des Tests. Sie folgen den von der\n App vorgegebenen Schritten.\n

\n

\n Sie wählen eine Gruppe aus, scannen den Strichcode des Poolröhrchens und beginnen mit der Probenentnahme, wie\n nachstehend beschrieben.\n

\n

\n Sie beschriften den Aufkleber auf der Probentüte von Set A mit Namen und Anschrift Ihrer Einrichtung, der\n Klasse, dem Datum sowie der Poolgruppe.\n

\n
\n
\n
\n \"Self-Sampling\n
\n

2

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

3

\n
\n
\n
\n
\n

\n Sie legen die Probentüte und das geöffnete Poolröhrchen bereit.
Sie nehmen die ersten 15 Tupfer in\n Folienverpackung und verteilen sie an die Schüler:innen der ersten Poolgruppe.\n

\n

Die Schüler:innen nehmen den verpackten Tupfer und öffnen die Verpackung durch Abziehen der Folie.

\n

\n Der Tupfer wird in den Mund genommen und 30 Sekunden gelutscht: Mit der Zunge hin- und herbewegen.\n Nicht kauen!\n

\n
\n\n
\n
\n \"Self-Sampling\n
\n

4

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

5

\n
\n
\n
\n
\n

\n Die Schüler:innen nehmen den Tupfer aus dem Mund, halten ihn direkt unter- und oberhalb der Sollbruchstelle fest\n und brechen ihn in zwei Teile.\n

\n

\n Die Schüler:innen gehen zum Poolröhrchen, werfen den wattierten Teil in das Poolröhrchen. Das verbliebene\n Tupferbruchstück und die Verpackung werden im Mülleimer entsorgt.\n

\n
\n
\n
\n \"Self-Sampling\n
\n

6

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

7

\n
\n
\n
\n
\n

\n Wenn alle Schüler:innen ihre Tupfer eingeworfen haben, verschließen Sie das Poolröhrchen sorgfältig, stecken es\n in die Probentüte und kleben diese zu.\n

\n

Schließen Sie die Probennahme in der App ab.

\n

Den Befund für Ihre Poolgruppe(n) erhalten Sie über die SYNLAB Access-App.

\n
\n
\n
\n \"Self-Sampling\n
\n

8

\n
\n
\n
\n
\n\n
\n
\n
\n Besteht Ihre Klasse aus mehr als 15 Schüler:innen, wiederholen Sie den Vorgang bitte für weitere Poolgruppen.\n
\n

Übrig gebliebene Materialien geben Sie bitte inklusive Probentüten an die Verwaltung zurück.

\n
\n
\n
\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-parent-self-sampling-instruction\",\n templateUrl: \"./parent-self-sampling-instruction.component.html\",\n styleUrls: [\"./parent-self-sampling-instruction.component.scss\"],\n})\nexport class ParentSelfSamplingInstructionComponent {}\n","\n\n
\n
\n
\n \"Synlab's\n
\n
\n
\n
\n
\n
\n

COVID-19

\n

Anleitung für den Lolli-PCR-Pool zu Hause

\n
\n
\n

\n Um die Pandemie im Segment Schulen und Kindergärten besser unter Kontrolle zu bringen, wird Ihrem Kind die\n Testung auf eine Infektion mit SARS-CoV-2 empfohlen\n

\n

\n In der Schule haben die Kinder bereits eine erste Testung durchgeführt, bei der mehrere Proben in einer PCR\n gemeinsam gemessen wurden („Pool-Probe“). Fällt dieser Pool-Test positiv aus, sind Kinder der Klasse mit\n SARS-CoV-2 infiziert. Sollte dies zutreffen, bekommen Sie diesbezüglich weitere Information über Ihre Schule.\n Bitte öffnen Sie erst dann den Druckverschlussbeutel und führen die Probennahme durch. Bis dahin bewahren Sie\n den Beutel bitte bei Raumtemperatur auf.\n

\n

\n Um die Probennahme für Ihr Kind sicher und angenehm zu gestalten, kommt auch bei der Abnahme zu Hause die\n „LolliMethode“ zum Einsatz. Im von der Schule übergebenen Druckverschlussbeutel finden Sie einen sterilen\n Tupfer, den Sie Ihrem Kind geben und an dem, wie bei einem Lutscher/Lolli, 30 Sekunden gelutscht wird. Im\n Anschluss verpacken Sie den Tupfer in der mitgelieferten Probentüte und bringen diese in die Schule, von wo der\n Transport ins SYNLAB-Labor erfolgt. Dort wird mit einer sehr sensitiven PCR-Methode die Analyse durchgeführt.\n

\n
\n
\n
\n
\n
Der Druckverschlussbeutel enthält folgende Materialien:
\n
    \n
  1. Probentüte
  2. \n
  3. Tupfer mit Transportröhrchen
  4. \n
  5. ein von der Schule ausgedruckter QR-Code für die SYNLAB Access-App
  6. \n
\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n\n
\n
\n

Vorbereitung

\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n

1

\n
\n
\n
\n
\n

Beschriften Sie den Aufkleber der Probentüte mit dem Namen Ihres Kindes.

\n

\n \n Sollte ein Strichcode beiliegen und noch nicht auf dem Transportröhrchen kleben, bringen Sie ihn bitte in\n Längsrichtung an. Nicht um das Röhrchen wickeln!\n \n

\n

Laden Sie die SYNLAB Access-App herunter:

\n \"SYNLAB\n
\n
\n
\n \"Self-Sampling\n
\n

2

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

3

\n
\n
\n
\n
\n

\n Registrieren Sie sich in der App mit Ihrer E-MailAdresse. Sie erhalten anschließend eine E-Mail mit einem Link,\n den Sie bitte anklicken, um auf der Seite Ihre Daten zu vervollständigen und ein Passwort zu wählen. Nach\n Abschluss der Registrierung können Sie sich in der App einloggen. In der App klicken Sie auf „Selbst-Testung\n starten“. Sie werden nun aufgefordert, den durch die Schule zur Verfügung gestellten Zugangscode einzugeben, der\n die kostenlose Nachtestung Ihres Kindes freischaltet.\n

\n

Nach Eingabe der Daten scannen Sie den Strichcode auf dem Tupfertransportröhrchen.

\n
\n\n
\n
\n \"Self-Sampling\n
\n

4

\n
\n
\n
\n
\n
\n
\n

Anleitung für die Probenentnahme

\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n

5

\n
\n
\n
\n
\n

\n Entnehmen Sie den Tupfer im Transportröhrchen aus dem Druckverschlussbeutel. Ziehen Sie den Tupfer aus dem\n Transportröhrchen heraus und geben Sie ihn Ihrem Kind.\n

\n

\n Ihr Kind nimmt den Tupfer mit der wattierten Seite in den Mund und lutscht 30 Sekunden darauf: Mit der Zunge\n hin- und herbewegen. Nicht kauen!\n

\n

Anschließend den Tupfer in das Transportröhrchen stecken und es gut verschließen.

\n
\n
\n
\n \"Self-Sampling\n
\n

6

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

7

\n
\n
\n
\n
\n

\n Sie stecken das Transportröhrchen in die Probentüte. Verschließen Sie die Probentüte mit dem Klebeverschluss.
\n Bitte bringen Sie die Probe schnellstmöglich in die Schule mit!\n

\n

\n \n Informationen zur Rückgabe (insbesondere die Abgabezeiten) oder zum weiteren Transport erhalten Sie von Ihrer\n Schule.\n \n

\n

\n Über das Ergebnis der PCR-Analyse werden Sie über die SYNLAB Access-App informiert. \n

\n
\n
\n
\n \"Self-Sampling\n
\n

8

\n
\n
\n
\n
\n
\n","\n\n
\n
\n
\n \"Synlab's\n
\n
\n
\n
\n
\n
\n
\n

\n

\n
\n
    \n
  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
\n
\n
\n
\n","import { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { map } from \"rxjs/operators\";\n\n@Component({\n selector: \"app-general-terms\",\n templateUrl: \"./general-terms.component.html\",\n styleUrls: [\"./general-terms.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GeneralTermsComponent {\n langCode$ = this.route.queryParamMap.pipe(\n map((x) => {\n const langCode = x.get(\"langCode\");\n return langCode ? `${langCode}|static` : \"\";\n })\n );\n constructor(private route: ActivatedRoute) {}\n}\n","\n \n \n \n \n
\n
\n \n \n
\n
\n
\n {{ t(\"deleteTitle\") }}\n
\n

{{ t(\"deleteConfirmInstruction1\") }}

\n
\n \n
\n
\n
\n
\n \n \n
\n

{{ t(\"invalidLinkText\") }}

\n \n
\n
\n \n
\n {{ t(\"invalidLinkText\") }}\n
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n
\n {{ t(\"deleteTitle\") }}\n
\n \n
\n \n
\n
\n
\n \n
\n {{ t(\"invalidLinkText\") }}\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Store, select } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { Observable } from \"rxjs\";\nimport { take, withLatestFrom } from \"rxjs/operators\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { LocalStorageKeys } from \"src/app/models/storage.model\";\nimport { PATIENT_WEB_LOCALE_STORAGE_KEY } from \"src/app/plasma-ui-common/synlab-access-ui-components/core/constants\";\nimport { AccountsService } from \"src/app/services/accounts/accounts.service\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { deleteScopeKey, generalScopeKey } from \"src/app/services/i18n/i18n.service\";\n\n@Component({\n selector: \"app-delete-account\",\n templateUrl: \"./delete-account.component.html\",\n styleUrls: [\"./delete-account.component.scss\"],\n})\nexport class DeleteAccountComponent implements OnInit {\n regId = \"\";\n seqId = \"\";\n public isValidDeleteAccountLink$: Observable;\n isSHFYInstance$: Observable = this.store.select(StsSelectors.isUkShfyInstance);\n useNewNav$: Observable = this.store.pipe(select(StsSelectors.useNewNav));\n\n constructor(\n private actRoute: ActivatedRoute,\n private accountService: AccountsService,\n private toastr: ToastrService,\n private translocoService: TranslocoService,\n private cnfg: ConfigService,\n private store: Store,\n private auth: AuthService\n ) {}\n\n ngOnInit() {\n const { id, seqId, sequenceId } = this.actRoute.snapshot.queryParams;\n this.regId = id;\n this.seqId = sequenceId || seqId;\n\n const params = { UserCode: this.regId, SequenceCode: this.seqId };\n this.isValidDeleteAccountLink$ = this.accountService.getDeleteValidity(params);\n }\n\n redirectToContactSynlab() {\n window.location.href = this.cnfg._envConfig.BaseProfileUrl;\n }\n\n delete() {\n const body = { UserCode: this.regId, SequenceCode: this.seqId };\n\n const url = this.cnfg._envConfig.BaseProfileUrl;\n const loc = window.location;\n this.accountService\n .confirmDelete(body)\n .subscribe(\n (res) => {\n\n const message: string = this.translocoService.translate(\"confirmDeleteSuccessMessage\", {}, deleteScopeKey);\n const title: string = this.translocoService.translate(\"confirmDeleteSuccessTitle\", {}, deleteScopeKey);\n const overrideOptions: any = null;\n\n this.toastr\n .success(message, title, overrideOptions)\n .onHidden.pipe(take(1))\n .subscribe((d) => this.auth.startSignoutMainWindow());\n },\n (e) => {\n this.toastr.error(\n e.error.ErrorMessage,\n this.translocoService.translate(\"errorOccuredTitle\", {}, generalScopeKey)\n );\n }\n );\n }\n\n private clearStorageAfterSuccessfulDelete() {\n const sessionLangCode: string = sessionStorage.getItem(LocalStorageKeys.language);\n const localLangCode: string = localStorage.getItem(PATIENT_WEB_LOCALE_STORAGE_KEY);\n\n sessionStorage.clear();\n localStorage.clear();\n\n localStorage.setItem(PATIENT_WEB_LOCALE_STORAGE_KEY, localLangCode);\n sessionStorage.setItem(LocalStorageKeys.language, sessionLangCode);\n }\n}\n","export interface SessionTransferDto {\n value: string;\n}\n\nexport interface SessionTransfer {\n idToken: string;\n accessToken: string;\n}\n\nexport enum SessionTransferErrorCode {\n AccessTokenParseFailed = \"A1\",\n CreateDecryptorFailed = \"C1\",\n DecryptionFailed = \"D1\",\n DtoValueToBytesFailed = \"D2\",\n GetSessionTransferFailed = \"G1\",\n HashKeyToBytesFailed = \"H1\",\n InvalidValueBytes = \"I1\",\n JsonParseFailed = \"J1\",\n ParsedObjectInvalid = \"P1\",\n RemovePaddingFailed = \"R1\",\n TrimJsonFailed = \"T1\",\n UTF8DecodeFailed = \"U1\",\n}\n\nexport class SessionTransferError {\n constructor(readonly errorCode: SessionTransferErrorCode) {}\n}\n","import { Injectable } from \"@angular/core\";\nimport {\n SessionTransfer,\n SessionTransferDto,\n SessionTransferError,\n SessionTransferErrorCode as ErrCode,\n} from \"src/app/models/sessionTransfer.model\";\n\nimport * as aesjs from \"aes-js\";\nimport * as base64 from \"byte-base64\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ConfigService } from \"../config/config.service\";\nimport { map } from \"rxjs/operators\";\n\n@Injectable({ providedIn: \"root\" })\nexport class AuthSessionTransferService {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ConfigService\n ) {}\n\n getSessionTransfer$(args: { hashKey: string; sessionId: string }) {\n return this.http\n .get(`${this.config.baseAuthUrl}/session-transfer-store/${args.sessionId}`)\n .pipe(map((resp) => this.dtoToModel(resp, args.hashKey)));\n }\n\n dtoToModel(dto: SessionTransferDto, hashKey: string) {\n // Convert dto.value to bytes\n\n console.log(dto);\n console.log(hashKey);\n\n let valueBytes: Uint8Array;\n\n try {\n valueBytes = base64.base64ToBytes(dto.value);\n } catch (err) {\n console.error(\"Failed to convert base64 dto.value to bytes\", err);\n throw new SessionTransferError(ErrCode.DtoValueToBytesFailed);\n }\n\n if (valueBytes.length <= 16) {\n console.error(\"dto.value must contain at least 17 bytes of data\");\n throw new SessionTransferError(ErrCode.InvalidValueBytes);\n }\n\n // Split dto.value into iv and decrypted data (iv is 16 bytes long and placed first)\n\n const ivBytes = valueBytes.subarray(0, 16);\n const encryptedBytes = valueBytes.subarray(16, valueBytes.length);\n\n let hashKeyBytes: Uint8Array;\n\n try {\n hashKeyBytes = base64.base64ToBytes(hashKey);\n } catch (err) {\n console.error(\"Failed to convert base64 hashKey to bytes\", err);\n }\n\n // Create a decryptor with the hashKey and iv to decrypt the data\n\n let aesCbcDecryptor: aesjs.ModeOfOperation.ModeOfOperationCBC;\n\n try {\n aesCbcDecryptor = new aesjs.ModeOfOperation.cbc(hashKeyBytes, ivBytes);\n } catch (err) {\n console.error(\"Failed to create decryptor\", err);\n throw new SessionTransferError(ErrCode.CreateDecryptorFailed);\n }\n\n // Decrypt data\n\n let decryptedBytesWithPadding: Uint8Array;\n\n try {\n decryptedBytesWithPadding = aesCbcDecryptor.decrypt(encryptedBytes);\n } catch (err) {\n console.error(\"Failed to decrypt bytes\", err);\n throw new SessionTransferError(ErrCode.DecryptionFailed);\n }\n\n // Remove padding\n // Some padding is probably added by the encryptor and is 0f in hex, aka 15.\n // Other padding (3) are from base64 '=' padding\n // Other padding are (1) causing a weird utf8 symbol\n\n let decryptedBytes: Uint8Array;\n\n try {\n decryptedBytes = this.removePadding(this.removePadding(this.removePadding(decryptedBytesWithPadding, 15), 3), 1);\n } catch (err) {\n console.error(\"Failed to remove padding from encrypted bytes\", err);\n throw new SessionTransferError(ErrCode.RemovePaddingFailed);\n }\n\n // Interpret the decrypted words/bytes as Utf8\n let json: string;\n try {\n json = new TextDecoder().decode(decryptedBytes);\n\n if (!json) {\n throw new Error(\"Decoded json string was falsy\");\n }\n } catch (err) {\n console.error(\"Failed to decode UTF8 bytes\", err);\n throw new SessionTransferError(ErrCode.UTF8DecodeFailed);\n }\n\n try {\n json = this.trimJson(json);\n } catch (err) {\n console.error(\"Failed to trim json\", err);\n throw new SessionTransferError(ErrCode.TrimJsonFailed);\n }\n\n let obj: SessionTransfer;\n try {\n obj = JSON.parse(json);\n\n if (!obj) {\n throw new Error(\"obj was undefined\");\n }\n } catch (err) {\n console.error(\"Failed to parse json string to object\", err);\n throw new SessionTransferError(ErrCode.JsonParseFailed);\n }\n\n try {\n if (!obj.accessToken) {\n throw new Error(\"accessToken was missing on obj\");\n }\n\n if (!obj.idToken) {\n throw new Error(\"idToken was missing on obj\");\n }\n } catch (err) {\n console.error(\"Parsed object was invalid\", err);\n throw new SessionTransferError(ErrCode.ParsedObjectInvalid);\n }\n\n return obj;\n }\n\n private removePadding(array: Uint8Array, paddingValue: number) {\n const reversed = array.reverse();\n const firstNonPaddingEntry = reversed.find((val) => val !== paddingValue);\n const nonPaddingIndex = firstNonPaddingEntry ? reversed.indexOf(firstNonPaddingEntry) : undefined;\n return reversed.subarray(nonPaddingIndex, reversed.length).reverse();\n }\n\n // Tries to find a json object in the string to isolate it and remove junk that might be present before and after\n private trimJson(str: string) {\n if (!str) {\n throw new Error(\"Could not trim empty json string\");\n }\n\n let firstIndex: number | undefined;\n\n for (let i = 0; i < str.length; i++) {\n if (str[i] === \"{\") {\n firstIndex = i;\n break;\n }\n }\n\n if (firstIndex === undefined) {\n throw new Error(\"Could not find '{' in json\");\n }\n\n let lastIndex: number | undefined;\n\n for (let i = 0; i < str.length; i++) {\n const index = str.length - i - 1;\n if (str[index] === \"}\") {\n lastIndex = index;\n break;\n }\n }\n\n if (lastIndex === undefined) {\n throw new Error(\"Could not find '}' in json\");\n }\n\n return str.substring(firstIndex, lastIndex + 1);\n }\n}\n","import { Component, ChangeDetectionStrategy } from \"@angular/core\";\n\n@Component({\n selector: \"app-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderComponent {}\n","\n \n \n \n \n \n \n\n","import { Component, OnInit } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { AuthSessionTransferService } from \"src/app/services/auth/auth-session-transfer.service\";\nimport { sessionTransferKey } from \"src/app/services/i18n/i18n.service\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { SessionTransferError } from \"src/app/models/sessionTransfer.model\";\n@Component({\n selector: \"app-init-session\",\n template: \"\",\n styleUrls: [\"./init-session.component.scss\"],\n})\nexport class InitSessionComponent implements OnInit {\n constructor(\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly sessionTransferService: AuthSessionTransferService,\n private translocoService: TranslocoService,\n private readonly toastr: ToastrService\n ) {\n toastr.toastrConfig.disableTimeOut = true;\n }\n\n ngOnInit(): void {\n const queryArgs = this.getQueryParams();\n if (queryArgs) {\n this.sessionTransferService.getSessionTransfer$(queryArgs).subscribe(\n (res) => {\n localStorage.setItem(`session-transfer`, JSON.stringify(res));\n this.router.navigate([\"/account/profile\"]);\n },\n (error: unknown) => {\n if (error instanceof SessionTransferError) {\n this.toastr.error(\n `${this.translocoService.translate(\"loginFailed\", {}, sessionTransferKey)} - ${error.errorCode}`\n );\n }\n }\n );\n } else {\n this.toastr.error(this.translocoService.translate(\"loginFailed\", {}, sessionTransferKey));\n }\n }\n\n private replaceSpaceWithPlus(text: string): string {\n return text.replace(\" \", \"+\");\n }\n\n private getQueryParams(): { hashKey: string; sessionId: string } | undefined {\n const hashKey: string = this.route.snapshot.queryParamMap.get(\"hashKey\");\n const sessionId: string = this.route.snapshot.queryParamMap.get(\"sessionId\");\n\n if (hashKey && sessionId) {\n return {\n hashKey: this.replaceSpaceWithPlus(hashKey),\n sessionId: this.replaceSpaceWithPlus(sessionId),\n };\n } else {\n console.error(\"HashKey and/or sessionId were missing.\");\n return undefined;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nfunction _window() {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowRefService {\n constructor() { }\n get nativeWindow() {\n return _window();\n }\n}\n","\n\n
\n
\n

{{ t(\"shfyHeading\") }}

\n

{{ t(\"shfyMessage\") }}

\n\n
\n
\n \n \n \n \n
\n\n
\n \n \n
\n
\n
\n\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\nimport { emailPattern } from \"src/app/modules/shared/regex-pattern\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Component({\n selector: \"app-dxp-send-forgot-password\",\n templateUrl: \"./dxp-send-forgot-password.component.html\",\n styleUrls: [\"./dxp-send-forgot-password.component.scss\"],\n})\nexport class DxpSendForgotPasswordComponent implements OnInit {\n public form: UntypedFormGroup;\n public showMessage = false;\n public loading = false;\n public submitted = true;\n\n private returnUrl = \"\";\n private readonly emailPattern = new RegExp(emailPattern);\n\n constructor(\n private api: ApiService,\n private config: ConfigService,\n private formBuilder: UntypedFormBuilder\n ) {}\n\n ngOnInit(): void {\n this.buildForm();\n }\n\n private buildForm() {\n this.form = this.formBuilder.group({\n email: [\"\", [Validators.required, Validators.pattern(this.emailPattern)]],\n });\n }\n\n public get email() {\n return this.form.get(\"email\");\n }\n\n public onClear() {\n this.email.reset();\n }\n\n public onCancel() {\n window.location.href = `${this.config.baseAuthUrl}/Account/Login${window.location.search}`;\n }\n\n public formatSuccessMessage(message: string) {\n return message.replace(\"[address]\", this.email.value);\n }\n\n public onSubmit() {\n this.loading = true;\n const email = encodeURIComponent(this.email.value);\n this.api\n .post(`/account/sendforgotpassword?returnUrl=${encodeURIComponent(this.returnUrl)}&email=${email}`)\n .subscribe(\n () => {\n this.showMessage = true;\n this.loading = false;\n this.submitted = true;\n },\n (e) => {\n this.loading = false;\n }\n );\n }\n}\n","\n \n\n\n\n \n
\n
\n \"SYNLAB\n

\n {{ t(\"heading\") }}\n

\n
\n
\n \n \n \n \n
\n\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Store } from \"@ngrx/store\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { ErrorCode } from \"src/app/appsettings\";\nimport { emailPattern } from \"src/app/modules/shared/regex-pattern\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { WindowRefService } from \"src/app/services/window-ref.service\";\n\n@Component({\n selector: \"app-send-forgot-password\",\n templateUrl: \"./send-forgot-password.component.html\",\n styleUrls: [\"./send-forgot-password.component.scss\"],\n})\nexport class SendForgotPasswordComponent implements OnInit, OnDestroy {\n public isUkShfyInstance$: Observable = this.store.select(StsSelectors.isUkShfyInstance);\n readonly endpoint = \"/account/sendforgotpassword\";\n readonly emailPattern = new RegExp(emailPattern);\n returnUrl = \"\";\n form: UntypedFormGroup;\n sub: Subscription;\n message = \"\";\n loading = false;\n submitted = false;\n\n isUserDeactivated: boolean = false;\n deactivatedMessage: string = null;\n\n constructor(\n private api: ApiService,\n private activeRoute: ActivatedRoute,\n private fb: UntypedFormBuilder,\n private store: Store,\n private config: ConfigService,\n private windowRef: WindowRefService,\n ) {\n this.form = this.fb.group({\n email: [\"\", [Validators.required, Validators.pattern(this.emailPattern)]],\n });\n this.returnUrl = btoa(encodeURIComponent(this.activeRoute.snapshot.queryParams.returnUrl));\n }\n\n get email() {\n return this.form.get(\"email\");\n }\n\n ngOnInit() {\n this.sub = this.form.get(\"email\").valueChanges.subscribe((n) => (this.submitted = false));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n onSubmit() {\n this.isUserDeactivated = null;\n this.message = null;\n this.loading = true;\n\n const email = encodeURIComponent(this.email.value);\n this.api.post(`${this.endpoint}?returnUrl=${encodeURIComponent(this.returnUrl)}&email=${email}`).subscribe(\n () => {\n this.message = `sendSuccess`;\n this.loading = false;\n this.submitted = true;\n },\n (e) => {\n this.loading = false;\n this.submitted = true;\n\n const { error } = e;\n if (error) {\n const { errorCode, errorMessage } = error;\n this.isUserDeactivated = errorCode == ErrorCode.USER_DEACTIVATED;\n this.deactivatedMessage = errorMessage;\n }\n }\n );\n }\n\n onCancel() {\n this.windowRef.nativeWindow.location.href = `${this.config.baseAuthUrl}/Account/Login${window.location.search}`;\n }\n\n onClear(controlName: string) {\n this.form.get(controlName).reset();\n }\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { Store } from \"@ngrx/store\";\nimport * as _ from \"lodash\";\nimport { of } from \"rxjs\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { AuthService } from \"../auth/auth.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class CheckLogin {\n constructor(\n private authService: AuthService,\n private store: Store\n ) {}\n canActivate() {\n const isLoggedIn = this.authService.isLoggedInObs();\n const check$ = this.authService.checkLogin();\n\n const sessionTransferObj = JSON.parse(localStorage.getItem(\"session-transfer\"));\n\n if (sessionTransferObj != null && sessionTransferObj.accessToken) {\n this.authService.saveToState(sessionTransferObj.accessToken);\n return of(true);\n } else {\n isLoggedIn.subscribe((loggedin) => {\n if (!loggedin) {\n this.store.dispatch(STSActions.checkLoginStatus({ value: false }));\n return;\n }\n\n this.store.dispatch(STSActions.checkLoginStatus({ value: true }));\n });\n\n return check$;\n }\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-ee-privacy-terms\",\n templateUrl: \"./ee-privacy-terms.component.html\",\n styleUrls: [\"./ee-privacy-terms.component.scss\"],\n})\nexport class EePrivacyTermsComponent {}\n","
\n \"\"\n
\n\n
\n \n
\n \n

{{ t(\"successH1\") }}

\n

{{ t(\"successParagraph\") }}

\n {{ t(\"loginButton\") }}\n
\n
\n\n \n
\n

{{ t(\"errorH1\") }}

\n

{{ (error$ | async) || t(\"errorParagraph\") }}

\n
\n
\n

{{ t(\"shfyErrorH1\") }}

\n

{{ t(\"shfyErrorParagraph\") }}

\n {{\n t(\"shfyLoginButton\")\n }}\n
\n
\n

{{ t(\"shfyActiveUserErrorH1\") }}

\n

{{ t(\"shfyActiveUserErrorParagraph\") }}

\n
\n
\n

{{ t(\"shfyDuplicateFiscalCodeErrorH1\") }}

\n

\n
\n
\n
\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Store, select } from \"@ngrx/store\";\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { catchError, switchMap, share, first, map, finalize, take, tap } from \"rxjs/operators\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { claimValues } from \"src/app/appsettings\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\nimport { ChangeEmailService } from \"src/app/services/change-email.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\nconst CONFIRM_EMAIL_API = \"/v2/uk/manage/accounts/confirm-email\";\n\n@Component({\n selector: \"syn-activate-account\",\n templateUrl: \"./activate-account.component.html\",\n styleUrls: [\"./activate-account.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActivateAccountComponent {\n loading$: BehaviorSubject = new BehaviorSubject(true);\n\n success$: Observable = this.activeRt.queryParamMap.pipe(\n first(),\n share(),\n switchMap((params) =>\n this.putConfirmEmail(\n params.get(\"sequenceId\") || params.get(\"seqId\"),\n params.get(\"id\"),\n params.get(\"change-email-verify\")\n )\n ),\n finalize(() =>\n this.isSHFYInstance$\n .pipe(take(1))\n .subscribe((isShfy) => (isShfy ? this.shfyActivationRedirect() : this.loading$.next(false)))\n )\n );\n private hasRedirected: boolean = false;\n\n error$: BehaviorSubject = new BehaviorSubject(null);\n\n loginLink$: Observable = this.config.envConfig$.pipe(map((c) => c.BaseAuthUrl));\n isSHFYInstance$ = this.store.pipe(select(StsSelectors.isUkShfyInstance));\n isActiveUser: boolean = false;\n isLinkExpired: boolean = false;\n isDuplicateError: boolean = false;\n\n constructor(\n private store: Store,\n private activeRt: ActivatedRoute,\n private api: ApiService,\n private config: ConfigService,\n private changeEmail: ChangeEmailService,\n private auth: AuthService\n ) {}\n\n private putConfirmEmail(seqId: string, id: string, isChangeEmail?: string): Observable {\n isChangeEmail = (isChangeEmail?.toLowerCase() === \"true\");\n const endpoint$ = isChangeEmail\n ? this.changeEmail.verifyEmailLink(id, seqId)\n : this.api.put(CONFIRM_EMAIL_API, { id, seqId, sequenceId: seqId });\n\n return endpoint$.pipe(\n map((res) => {\n let result = `${res}`.toLowerCase() == claimValues.TRUE;\n if (isChangeEmail) {\n document.body.classList.add(\"change-email-veriifed\");\n if (res?.success) {\n result = true;\n } else {\n result = false;\n this.error$.next(res?.message);\n }\n }\n return result;\n }),\n catchError((err: HttpErrorResponse) => {\n this.isSHFYInstance$.pipe(take(1)).subscribe((isShfy) => {\n document.body.classList.add(\"change-email-veriifed\");\n this.isActiveUser = err.error.errorCode === \"SYNERR-0020\";\n this.isLinkExpired = err.error.errorCode === \"SYNERR-0003\";\n this.isDuplicateError = err.error.errorCode === \"SYNERR-0047\";\n\n if (isShfy) {\n if (this.isActiveUser) {\n this.shfyActivationRedirect(\"is-active-user\");\n } else if (this.isLinkExpired) {\n this.shfyActivationRedirect(\"link-expired\");\n } else if (this.isDuplicateError) {\n this.shfyActivationRedirect(\"is-duplicate-fiscal-code\");\n }\n }\n\n this.error$.next(err.error?.message);\n });\n return of(false);\n })\n );\n }\n\n private shfyActivationRedirect(status: string = \"success\") {\n if (!this.hasRedirected) {\n this.hasRedirected = true;\n window.location.href = this.config.baseAuthUrl + `/Account/Login?activation-status=${status}`;\n }\n }\n\n redirectToLogin(): void {\n this.auth.startSignoutMainWindow();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { ShfyRoles, claimTypes, whiteLabelNames } from \"src/app/appsettings\";\nimport { ConfigService } from \"../config/config.service\";\nimport { RegisterProfileApiService } from \"../register-profile-api/register-profile-api.service\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { take } from \"rxjs/operators\";\nimport { userTypes } from \"src/app/appsettings\";\nimport { claimValues } from \"src/app/appsettings\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class PreventShfyGuard {\n constructor(\n private router: Router,\n private auth: AuthService,\n private config: ConfigService,\n private registerProfileApiService: RegisterProfileApiService\n ) {}\n\n private getConfig(claim: string): string {\n return String(this.config._envConfig[claim]);\n }\n\n private getUrlParam(param: string) {\n return new URLSearchParams(window.location.search).get(param);\n }\n\n private navigateToDxp(isTwoFAEnabled: boolean, isActive: boolean, userId: string, email: string) {\n this.router.navigateByUrl(\"/404\");\n if (isTwoFAEnabled) {\n this.navigateToUrl(this.config.shfyDxpBaseURL + \"/my/settings\");\n } else if (!isActive) {\n this.navigateToUrl(this.config.shfyRegistrationURL + `?userId=${userId}&email=${email}`);\n } else {\n this.navigateToUrl(this.config.shfyCompleteProfileURL);\n }\n }\n\n private navigateToUrl(url: string) {\n window.location.href = url;\n }\n\n private async isLoggedInUserAllowed() {\n let isAllowed = true;\n this.auth.userInfo$.pipe(take(1)).subscribe((info) => {\n const infoUserTypes = info[claimTypes.USER_TYPE];\n const isTwoFAEnabled = info[claimTypes.TWO_FACTOR_ENABLED].toLowerCase() === claimValues.TRUE;\n const isEmailVerified = info[claimTypes.EMAIL_VERIFIED].toLowerCase() === claimValues.TRUE;\n const shfyRoles: string[] = (info[claimTypes.SHFY_ROLES] || \"\").toLowerCase().split(\",\");\n const isActive = info[claimTypes.ACTIVE].toLowerCase() === claimValues.TRUE;\n const email = info[claimTypes.EMAIL];\n const userId = info[claimTypes.USERID];\n const isShfyDoctor = shfyRoles.includes(ShfyRoles.DOCTOR);\n\n if (!isShfyDoctor) {\n if (Array.isArray(infoUserTypes)) {\n infoUserTypes.forEach((type) => {\n if (type === userTypes.SYNLAB_ACCESS_USER) {\n this.navigateToDxp(isTwoFAEnabled, isEmailVerified && isActive, userId, email);\n isAllowed = false;\n }\n });\n } else {\n if (infoUserTypes === userTypes.SYNLAB_ACCESS_USER) {\n this.navigateToDxp(isTwoFAEnabled, isEmailVerified && isActive, userId, email);\n isAllowed = false;\n }\n }\n }\n });\n return isAllowed;\n }\n\n private async isGuestUserAllowed(id: string, seqId: string) {\n let isAllowed = true;\n let isTwoFAEnabled = false;\n let isActive = false;\n let isEmailVerified = false;\n let userId = \"\";\n let email = \"\";\n\n const claims = await this.registerProfileApiService.getRegisterProfile(id, seqId).toPromise();\n\n claims.forEach((claim) => {\n if (claim.claimType === claimTypes.USER_TYPE && claim.claimValue === userTypes.SYNLAB_ACCESS_USER)\n isAllowed = false;\n if (claim.claimType === claimTypes.TWO_FACTOR_ENABLED && claim.claimValue.toLowerCase() === claimValues.TRUE)\n isTwoFAEnabled = true;\n if (claim.claimType === claimTypes.EMAIL_VERIFIED && claim.claimValue.toLowerCase() === claimValues.TRUE)\n isEmailVerified = true;\n if (claim.claimType === claimTypes.ACTIVE && claim.claimValue.toLowerCase() === claimValues.TRUE) isActive = true;\n if (claim.claimType === claimTypes.EMAIL) email = claim.claimValue;\n if (claim.claimType === claimTypes.USERID) userId = claim.claimValue;\n });\n\n if (!isAllowed) this.navigateToDxp(isTwoFAEnabled, isEmailVerified && isActive, userId, email);\n\n return isAllowed;\n }\n\n canActivate(): any {\n const isWhiteLabeled = this.getConfig(claimTypes.WHITE_LABEL_ENABLED).toLowerCase() === \"true\";\n const whiteLabelName = this.getConfig(claimTypes.WHITE_LABEL_NAME);\n if (isWhiteLabeled && whiteLabelName === whiteLabelNames.UK_SHFY) {\n var seqId = this.getUrlParam(\"sequenceId\") || this.getUrlParam(\"seqId\");\n var id = this.getUrlParam(\"id\");\n\n if (seqId && id) {\n return this.isGuestUserAllowed(id, seqId);\n } else {\n return this.isLoggedInUserAllowed();\n }\n }\n return true;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { MedioRedirectComponent } from \"./medio-redirect.component\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { Observable } from \"rxjs\";\nimport { take, tap, switchMap, map } from \"rxjs/operators\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { LoggerService } from \"src/app/services/logger.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MedioService {\n constructor(\n private readonly api: ApiService,\n private readonly route: ActivatedRoute,\n private readonly logr: LoggerService,\n private readonly config: ConfigService\n ) {}\n\n public redirect(): void {\n const urlParams = new URLSearchParams(window.location.search);\n const medioUrl: string = atob(urlParams.get(\"uid\") ?? \"\");\n\n if (medioUrl) {\n window.location.replace(medioUrl);\n }\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MedioService } from \"./medio.service\";\nimport { take } from \"rxjs/operators\";\nimport { SpinnerModule } from \"src/app/plasma-ui-common/synlab-access-ui-components/spinner/spinner.component\";\nimport { EStorageKeys, LocalStorageKeys } from \"src/app/models/storage.model\";\n\n@Component({\n selector: \"app-medio-redirect\",\n standalone: true,\n imports: [CommonModule, SpinnerModule],\n templateUrl: \"./medio-redirect.component.html\",\n styleUrls: [\"./medio-redirect.component.scss\"],\n})\nexport class MedioRedirectComponent implements OnInit {\n constructor(private readonly medio: MedioService) {}\n\n ngOnInit(): void {\n this.medio.redirect();\n }\n}\n","
\n
\n \n
\n
\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { EStorageKeys } from \"../models/storage.model\";\nimport { ConfigService } from \"../services/config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class RedirectGuard {\n constructor(private config: ConfigService) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable | Promise | boolean | UrlTree {\n const url: string = this.config?._envConfig.BaseProfileUrl || \"\";\n window.localStorage.setItem(EStorageKeys.REDIRECT_URL, window.location.href.replace(url, \"\"));\n return true;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule, ROUTES } from \"@angular/router\";\nimport { AuthGuard } from \"./services/authGuard/auth.guard\";\nimport { InitComponent } from \"./pages/init/init.component\";\nimport { SiginCallbackComponent } from \"./pages/signin-callback/signin-callback.component\";\nimport { ForgotPasswordComponent } from \"./pages/forgot-password/forgot-password/forgot-password.component\";\nimport { RenewtokenComponent } from \"./pages/renewtoken/renewtoken.component\";\nimport { SelfSamplingInstructionComponent } from \"./pages/self-sampling-instruction/self-sampling-instruction.component\";\nimport { ParentSelfSamplingInstructionComponent } from \"./pages/parent-self-sampling-instruction/parent-self-sampling-instruction.component\";\nimport { GeneralTermsComponent } from \"./pages/general-terms/general-terms.component\";\nimport { DeleteAccountComponent } from \"./pages/delete-account/delete-account.component\";\nimport { ManagedTermsOfUseComponent } from \"./pages/terms-of-use/managed-terms-of-use/managed-terms-of-use.component\";\nimport { ManagedPrivacyPolicyComponent } from \"./pages/privacy-policy/managed-privacy-policy/managed-privacy-policy.component\";\nimport { InitSessionComponent } from \"./pages/init-session/init-session.component\";\nimport { SendForgotPasswordComponent } from \"./pages/send-forgot-password/send-forgot-password.component\";\nimport { CheckLogin } from \"./services/authGuard/check.login.guard\";\nimport { EePrivacyTermsComponent } from \"./pages/ee-privacy-terms/ee-privacy-terms.component\";\nimport { Config, ConfigService } from \"./services/config/config.service\";\nimport { claimValues } from \"./appsettings\";\nimport { ActivateAccountComponent } from \"./pages/activate-account/activate-account.component\";\nimport { PreventShfyGuard } from \"./services/guards/prevent-shfy.guard\";\nimport { UserTypeGuard } from \"./services/guards/user-type.guard\";\nimport { AgreementType } from \"./services/agreement/agreement.service\";\nimport { MedioRedirectComponent } from \"./component-modules/medio-redirect/medio-redirect.component\";\nimport { RedirectGuard } from \"./guards/redirect.guard\";\n\nfunction routesFactory(config: ConfigService) {\n const routes: Routes = [\n {\n path: \"404\",\n loadChildren: () => import(\"./pages/not-found-page/not-found-page.module\").then((m) => m.NotFoundPageModule),\n },\n {\n path: \"general-terms\",\n component: GeneralTermsComponent,\n pathMatch: \"full\",\n },\n {\n path: \"privacy-policy\",\n canActivate: [CheckLogin],\n component: ManagedPrivacyPolicyComponent,\n data: { page: AgreementType.PrivacyPolicy },\n pathMatch: \"full\",\n },\n {\n path: \"additional-information-about-collected-data\",\n canActivate: [CheckLogin],\n component: ManagedPrivacyPolicyComponent,\n data: { page: AgreementType.ADDITIONAL_INFO_COLLECTED_DATA },\n pathMatch: \"full\",\n },\n {\n path: \"terms-of-use\",\n canActivate: [CheckLogin],\n component: ManagedTermsOfUseComponent,\n pathMatch: \"full\",\n },\n {\n path: \"terms-of-use-mobile\",\n component: ManagedTermsOfUseComponent,\n pathMatch: \"full\",\n },\n {\n path: \"self-sampling-instruction\",\n component: SelfSamplingInstructionComponent,\n pathMatch: \"full\",\n },\n {\n path: \"parent-self-sampling-instruction\",\n component: ParentSelfSamplingInstructionComponent,\n pathMatch: \"full\",\n },\n {\n path: \"\",\n component: InitComponent,\n },\n {\n path: \"signin-callback\",\n component: SiginCallbackComponent,\n },\n {\n path: \"renewtoken\",\n component: RenewtokenComponent,\n },\n {\n path: \"init-session\",\n component: InitSessionComponent,\n },\n {\n path: \"privacyterms\",\n component: EePrivacyTermsComponent,\n },\n {\n path: \"WAS\",\n redirectTo: \"was\",\n },\n {\n path: \"account\",\n canActivate: [AuthGuard, UserTypeGuard, PreventShfyGuard],\n loadChildren: () => import(\"./pages/index/index.module\").then((m) => m.IndexModule),\n },\n {\n path: \"account/v3\",\n canActivate: [AuthGuard, UserTypeGuard, PreventShfyGuard],\n loadChildren: () => import(\"./view/profile-v3/profile-v3.module\").then((m) => m.ProfileV3Module),\n },\n {\n path: \"forgot_password\",\n component: ForgotPasswordComponent,\n },\n {\n path: \"send_forgot_password\",\n component: SendForgotPasswordComponent,\n },\n {\n path: \"activate_account\",\n component: ActivateAccountComponent,\n },\n {\n path: \"delete_account\",\n component: DeleteAccountComponent,\n },\n {\n path: \"complete_your_profile\",\n redirectTo: \"registration\",\n pathMatch: \"full\",\n },\n {\n path: \"ssn-verification\",\n loadComponent: () => import('./components/ssn-verification/ssn-verification.component').then(c => c.SsnVerificationComponent)\n },\n {\n path: \"registration\",\n canActivate: [PreventShfyGuard],\n loadChildren: () => {\n if (canProceedToNewUI(config._envConfig)) {\n return import(\"./view/registerv2/registerv2.module\").then((m) => m.Registerv2Module);\n }\n return import(\"./pages/profile/profile.module\").then((m) => m.ProfileModule);\n },\n },\n {\n path: \"registration\",\n loadChildren: () => import(\"./view/tara-register/tara-register.module\").then((m) => m.TaraRegisterModule),\n },\n {\n path: \"mfa\",\n loadChildren: () => import(\"./view/dk-mfa-reset/mfa-reset.module\").then((m) => m.MfaResetModule),\n },\n {\n path: \"medio\",\n component: MedioRedirectComponent,\n canActivate: [RedirectGuard, AuthGuard],\n },\n {\n path: \"**\",\n redirectTo: \"\",\n pathMatch: \"full\",\n },\n ];\n return routes;\n}\n\nfunction getQueryParameter(key: string): string {\n const parameters = new URLSearchParams(window.location.search);\n return parameters.get(key);\n}\n\nfunction canProceedToNewUI(config: Config) {\n const isTaraActivation = getQueryParameter(\"isTara\")?.toLowerCase() == claimValues.TRUE;\n const useNewUI = (config[\"UseNewUI\" as keyof Config] as string).toLowerCase() == claimValues.TRUE;\n return useNewUI && !isTaraActivation;\n}\n\n@NgModule({\n imports: [RouterModule.forRoot([])],\n providers: [\n {\n provide: ROUTES,\n useFactory: routesFactory,\n multi: true,\n deps: [ConfigService],\n },\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","/*!\n * Microsoft Dynamic Proto Utility, 1.1.11\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nvar UNDEFINED = \"undefined\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Constructor = 'constructor';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Prototype = 'prototype';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strFunction = 'function';\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */\r\nvar DynInstFuncTable = '_dynInstFuncs';\r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */\r\nvar DynProxyTag = '_isDynProxy';\r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */\r\nvar DynClassName = '_dynClass';\r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */\r\nvar DynClassNamePrefix = '_dynCls$';\r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nvar DynInstChkTag = '_dynInstChk';\r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same\r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nvar DynAllowInstChkTag = DynInstChkTag;\r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nvar DynProtoDefaultOptions = '_dfOpts';\r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */\r\nvar UnknownValue = '_unknown_';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nvar DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nvar DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nvar DynProtoCurrent = \"_dynInstProto\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strUseBaseInst = 'useBaseInst';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strSetInstFuncs = 'setInstFuncs';\r\nvar Obj = Object;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nvar _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n/**\r\n * Gets the runtime global reference\r\n * @returns\r\n */\r\nfunction _getGlobal() {\r\n var result;\r\n if (typeof globalThis !== UNDEFINED) {\r\n result = globalThis;\r\n }\r\n if (!result && typeof self !== UNDEFINED) {\r\n result = self;\r\n }\r\n if (!result && typeof window !== UNDEFINED) {\r\n result = window;\r\n }\r\n if (!result && typeof global !== UNDEFINED) {\r\n result = global;\r\n }\r\n return result || {};\r\n}\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nvar _gbl = _getGlobal();\r\nvar _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: (_a = {},\r\n _a[strSetInstFuncs] = true,\r\n _a[strUseBaseInst] = true,\r\n _a),\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n/**\r\n * Helper to check if the object contains a property of the name\r\n * @ignore\r\n */\r\nfunction _hasOwnProperty(obj, prop) {\r\n return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */\r\nfunction _isObjectOrArrayPrototype(target) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */\r\nfunction _isObjectArrayOrFunctionPrototype(target) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nfunction _getObjProto(target) {\r\n var newProto;\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!_hasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n return newProto;\r\n}\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target\r\n */\r\nfunction _forEachProp(target, func) {\r\n var props = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n }\r\n else {\r\n for (var name_1 in target) {\r\n if (typeof name_1 === \"string\" && _hasOwnProperty(target, name_1)) {\r\n props.push(name_1);\r\n }\r\n }\r\n }\r\n if (props && props.length > 0) {\r\n for (var lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target, funcName, skipOwn) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);\r\n}\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message) {\r\n throw new TypeError(\"DynamicProto: \" + message);\r\n}\r\nfunction _newObject() {\r\n return Object.create ? (function(obj) { /* ai_es3_polyfil create */ var func = Object[\"create\"]; if (func) { return func(obj); } if (obj == null) { return {}; } var type = typeof obj; if (type !== 'object' && type !== 'function') { throw new TypeError('Object prototype may only be an Object:' + obj); } function tmpFunc() {} tmpFunc.prototype = obj; return new tmpFunc(); })(null) : {};\r\n}\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does\r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget) {\r\n // Get the base proto\r\n var instFuncs = _newObject();\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n return instFuncs;\r\n}\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values, value) {\r\n for (var lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {\r\n function _instFuncProxy(target, funcHost, funcName) {\r\n var theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n return function () {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = _newObject();\r\n _forEachProp(instFuncs, function (name) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n var visited = [];\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n return baseFuncs;\r\n}\r\nfunction _getInstFunc(target, funcName, proto, currentDynProtoProxy) {\r\n var instFunc = null;\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && _hasOwnProperty(proto, DynClassName)) {\r\n var instFuncTable = target[DynInstFuncTable] || _newObject();\r\n instFunc = (instFuncTable[proto[DynClassName]] || _newObject())[funcName];\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n var canAddInst = !_hasOwnProperty(target, funcName);\r\n // Get current prototype\r\n var objProto = _getObjProto(target);\r\n var visited = [];\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n var protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n }\r\n catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n return instFunc;\r\n}\r\nfunction _getProtoFunc(funcName, proto, currentDynProtoProxy) {\r\n var protoFunc = proto[funcName];\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n return protoFunc;\r\n}\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname\r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {\r\n function _createDynamicPrototype(proto, funcName) {\r\n var dynProtoProxy = function () {\r\n // Use the instance or prototype function\r\n var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n dynProtoProxy[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || _newObject();\r\n if (!_isObjectOrArrayPrototype(instFuncTable)) {\r\n var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || _newObject()); // fetch and assign if as it may not exist yet\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n if (!_isObjectOrArrayPrototype(instFuncs_1)) {\r\n _forEachProp(target, function (name) {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs_1[name] = target[name];\r\n delete target[name];\r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto, thisTarget) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n var visited = [];\r\n var thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n return false;\r\n }\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target\r\n * @param unknownValue\r\n * @ignore\r\n */\r\nfunction _getObjName(target, unknownValue) {\r\n if (_hasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue;\r\n }\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is\r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nfunction dynamicProto(theClass, target, delegateFunc, options) {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!_hasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n var classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n var className = null;\r\n if (_hasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n }\r\n else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n var perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n var useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n // Get the current instance functions\r\n var instFuncs = _getInstanceFuncs(target);\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs);\r\n // Don't allow setting instance functions for older IE instances\r\n var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\n\nexport { dynamicProto as default };\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\nexport var ObjAssign = ObjClass[\"assign\"];\r\nexport var ObjCreate = ObjClass[\"create\"];\r\nexport var ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\nvar _cachedGlobal = null;\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal(useCached) {\r\n if (useCached === void 0) { useCached = true; }\r\n var result = useCached === false ? null : _cachedGlobal;\r\n if (!result) {\r\n if (typeof globalThis !== strShimUndefined) {\r\n result = globalThis;\r\n }\r\n if (!result && typeof self !== strShimUndefined) {\r\n result = self;\r\n }\r\n if (!result && typeof window !== strShimUndefined) {\r\n result = window;\r\n }\r\n if (!result && typeof global !== strShimUndefined) {\r\n result = global;\r\n }\r\n _cachedGlobal = result;\r\n }\r\n return result;\r\n}\r\nexport function throwTypeError(message) {\r\n throw new TypeError(message);\r\n}\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj) {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError(\"Object prototype may only be an Object:\" + obj);\r\n }\r\n function tmpFunc() { }\r\n tmpFunc[strShimPrototype] = obj;\r\n return new tmpFunc();\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype } from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasSymbol = !!SymbolObj;\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = ObjAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (!!ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (!!ObjCreate) {\r\n ObjDefineProperty(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 8\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 3\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_PUSH = \"push\"; // Count: 30\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_CONFIG = \"config\"; // Count: 7\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 3\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 10\r\nexport var _DYN_LENGTH = \"length\"; // Count: 45\r\nexport var _DYN_TIME = \"time\"; // Count: 5\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 21\r\nexport var _DYN_GET_PROCESS_TEL_CONT0 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 5\r\nexport var _DYN_REMOVE_NOTIFICATION_2 = \"removeNotificationListener\"; // Count: 5\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 6\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 5\r\nexport var _DYN_FLUSH = \"flush\"; // Count: 5\r\nexport var _DYN__EXTENSIONS = \"_extensions\"; // Count: 4\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 6\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 10\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 7\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 7\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 4\r\nexport var _DYN_UPDATE = \"update\"; // Count: 7\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 8\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 6\r\nexport var _DYN_COOKIE_CFG = \"cookieCfg\"; // Count: 3\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 7\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 10\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_SET_ENABLED = \"setEnabled\"; // Count: 5\r\nexport var _DYN_SUBSTR = \"substr\"; // Count: 6\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_APPLY = \"apply\"; // Count: 6\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 10\r\nexport var _DYN_ENABLE_DEBUG_EXCEPTI4 = \"enableDebugExceptions\"; // Count: 2\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 8\r\nexport var _DYN_CALL = \"call\"; // Count: 18\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_LISTENERS = \"listeners\"; // Count: 6\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\nexport var _DYN_VERSION = \"version\"; // Count: 4\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// ###################################################################################################################################################\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_ERROR_TO_CONSOLE = \"errorToConsole\";\r\nexport var STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjAssign, ObjClass, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strShimFunction, strShimObject, strShimPrototype, strShimUndefined, throwTypeError } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_APPLY, _DYN_CALL, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minfication\r\nvar strToISOString = \"toISOString\";\r\nvar cStrEndsWith = \"endsWith\";\r\nvar cStrStartsWith = \"startsWith\";\r\nvar strIndexOf = \"indexOf\";\r\nvar strMap = \"map\";\r\nvar strReduce = \"reduce\";\r\nvar cStrTrim = \"trim\";\r\nvar strToString = \"toString\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strConstructor = \"constructor\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar _objFreeze = ObjClass.freeze;\r\nvar _objSeal = ObjClass.seal;\r\nvar _objKeys = ObjClass.keys;\r\nvar StringProto = String[strShimPrototype];\r\nvar _strTrim = StringProto[cStrTrim];\r\nvar _strEndsWith = StringProto[cStrEndsWith];\r\nvar _strStartsWith = StringProto[cStrStartsWith];\r\nvar DateProto = Date[strShimPrototype];\r\nvar _dataToISOString = DateProto[strToISOString];\r\nvar _isArray = Array.isArray;\r\nvar _objToString = ObjProto[strToString];\r\nvar _fnToString = ObjHasOwnProperty[strToString];\r\n// Cache what this browser reports as the object function constructor (as a string)\r\nvar _objFunctionString = _fnToString[_DYN_CALL /* @min:%2ecall */](ObjClass);\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Object[\"getPrototypeOf\"];\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nexport function _getObjProto(target) {\r\n if (target) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n // target[Constructor] May break if the constructor has been changed or removed\r\n var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];\r\n if (newProto) {\r\n return newProto;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function objToString(obj) {\r\n return _objToString[_DYN_CALL /* @min:%2ecall */](obj);\r\n}\r\nexport function isTypeof(value, theType) {\r\n return typeof value === theType;\r\n}\r\nexport function isUndefined(value) {\r\n return value === undefined || typeof value === strShimUndefined;\r\n}\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNullOrUndefined(value) {\r\n return (value === null || isUndefined(value));\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\nexport function hasOwnProperty(obj, prop) {\r\n return !!(obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, prop));\r\n}\r\nexport function isObject(value) {\r\n // Changing to inline for performance\r\n return !!(value && typeof value === strShimObject);\r\n}\r\nexport function isFunction(value) {\r\n // Changing to inline for performance\r\n return !!(value && typeof value === strShimFunction);\r\n}\r\nexport function isPromiseLike(value) {\r\n return value && isFunction(value.then);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is a helper function for the equivalent of arForEach(objKeys(target), callbackFn), this is a\r\n * performance optimization to avoid the creation of a new array for large objects\r\n * @param target The target object to find and process the keys\r\n * @param callbackfn The function to call with the details\r\n */\r\nexport function objForEachKey(target, callbackfn) {\r\n if (target) {\r\n for (var prop in target) {\r\n if (ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](target, prop)) {\r\n callbackfn[_DYN_CALL /* @min:%2ecall */](target, prop, target[prop]);\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n var result = false;\r\n if (value && search && !(result = value === search)) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n result = _strEndsWith ? value[cStrEndsWith](search) : _strEndsWithPoly(value, search);\r\n }\r\n return result;\r\n}\r\n/**\r\n * The _strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function _strEndsWithPoly(value, search) {\r\n var result = false;\r\n var searchLen = search ? search[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n var valLen = value ? value[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {\r\n var pos = valLen - 1;\r\n for (var lp = searchLen - 1; lp >= 0; lp--) {\r\n if (value[pos] != search[lp]) {\r\n return false;\r\n }\r\n pos--;\r\n }\r\n result = true;\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function strStartsWith(value, checkValue) {\r\n var result = false;\r\n if (value && checkValue && !(result = value === checkValue)) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n result = _strStartsWith ? value[cStrStartsWith](checkValue) : _strStartsWithPoly(value, checkValue);\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function _strStartsWithPoly(value, checkValue) {\r\n // Using helper for performance and because string startsWith() is not available on IE\r\n var result = false;\r\n var chkLen = checkValue ? checkValue[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if (value && chkLen && value[_DYN_LENGTH /* @min:%2elength */] >= chkLen && !(result = value === checkValue)) {\r\n for (var lp = 0; lp < chkLen; lp++) {\r\n if (value[lp] !== checkValue[lp]) {\r\n return false;\r\n }\r\n }\r\n result = true;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return value[_DYN_INDEX_OF /* @min:%2eindexOf */](search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Check if an object is of type Date\r\n */\r\nexport function isDate(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Date]\");\r\n}\r\n/**\r\n * Check if an object is of type Array with optional generic T, the generic type is not validated\r\n * and exists to help with TypeScript validation only.\r\n */\r\nexport var isArray = _isArray || _isArrayPoly;\r\nfunction _isArrayPoly(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Array]\");\r\n}\r\n/**\r\n * Check if an object is of type Error\r\n */\r\nexport function isError(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Error]\");\r\n}\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nexport function isString(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"string\";\r\n}\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nexport function isNumber(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"number\";\r\n}\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nexport function isBoolean(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"boolean\";\r\n}\r\n/**\r\n * Checks if the type of value is a Symbol.\r\n * This only returns a boolean as returning value is Symbol will cause issues for older TypeScript consumers\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a Symbol, false otherwise.\r\n */\r\nexport function isSymbol(value) {\r\n return typeof value === \"symbol\";\r\n}\r\n/**\r\n * Checks if the type of the value is a normal plain object (not a null or data)\r\n * @param value\r\n */\r\nexport function isPlainObject(value) {\r\n var result = false;\r\n if (value && typeof value === \"object\") {\r\n // Inlining _objGetPrototypeOf for performance to avoid an additional function call\r\n var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);\r\n if (!proto) {\r\n // No prototype found so this is a plain Object eg. 'Object.create(null)'\r\n result = true;\r\n }\r\n else {\r\n // Objects that have a prototype are plain only if they were created using the Object global (native) function\r\n if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](proto, strConstructor)) {\r\n proto = proto[strConstructor];\r\n }\r\n result = typeof proto === strShimFunction && _fnToString[_DYN_CALL /* @min:%2ecall */](proto) === _objFunctionString;\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n if (date) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n return _dataToISOString ? date[strToISOString]() : _toISOStringPoly(date);\r\n }\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function _toISOStringPoly(date) {\r\n if (date && date.getUTCFullYear) {\r\n var pad = function (num) {\r\n var r = String(num);\r\n if (r[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n r = \"0\" + r;\r\n }\r\n return r;\r\n };\r\n return date.getUTCFullYear()\r\n + \"-\" + pad(date.getUTCMonth() + 1)\r\n + \"-\" + pad(date.getUTCDate())\r\n + \"T\" + pad(date.getUTCHours())\r\n + \":\" + pad(date.getUTCMinutes())\r\n + \":\" + pad(date.getUTCSeconds())\r\n + \".\" + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)\r\n + \"Z\";\r\n }\r\n}\r\n/**\r\n * Performs the specified action for each element in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. It can return -1 to break out of the loop\r\n * @param thisArg [Optional] An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrForEach(arr, callbackfn, thisArg) {\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n try {\r\n for (var idx = 0; idx < len; idx++) {\r\n if (idx in arr) {\r\n if (callbackfn[_DYN_CALL /* @min:%2ecall */](thisArg || arr, arr[idx], idx, arr) === -1) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Returns the index of the first occurrence of a value in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param searchElement The value to locate in the array.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\nexport function arrIndexOf(arr, searchElement, fromIndex) {\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strIndexOf]) {\r\n return arr[strIndexOf](searchElement, fromIndex);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var from = fromIndex || 0;\r\n try {\r\n for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {\r\n if (lp in arr && arr[lp] === searchElement) {\r\n return lp;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Calls a defined callback function on each element of an array, and returns an array that contains the results. This helper exists\r\n * to avoid adding a polyfil for older browsers that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page\r\n * checks for presence/absence of the prototype implementation. Note: For consistency this will not use the Array.prototype.xxxx\r\n * implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\r\n * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrMap(arr, callbackfn, thisArg) {\r\n var results;\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strMap]) {\r\n return arr[strMap](callbackfn, thisArg);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var _this = thisArg || arr;\r\n results = new Array(len);\r\n try {\r\n for (var lp = 0; lp < len; lp++) {\r\n if (lp in arr) {\r\n results[lp] = callbackfn[_DYN_CALL /* @min:%2ecall */](_this, arr[lp], arr);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n }\r\n return results;\r\n}\r\n/**\r\n * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is\r\n * provided as an argument in the next call to the callback function. This helper exists to avoid adding a polyfil for older browsers that do not define\r\n * Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype implementation. Note: For consistency\r\n * this will not use the Array.prototype.xxxx implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\r\n * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\r\n */\r\nexport function arrReduce(arr, callbackfn, initialValue) {\r\n var value;\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strReduce]) {\r\n return arr[strReduce](callbackfn, initialValue);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var lp = 0;\r\n // Specifically checking the number of passed arguments as the value could be anything\r\n if (arguments[_DYN_LENGTH /* @min:%2elength */] >= 3) {\r\n value = arguments[2];\r\n }\r\n else {\r\n while (lp < len && !(lp in arr)) {\r\n lp++;\r\n }\r\n value = arr[lp++];\r\n }\r\n while (lp < len) {\r\n if (lp in arr) {\r\n value = callbackfn(value, arr[lp], lp, arr);\r\n }\r\n lp++;\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * helper method to trim strings (IE8 does not implement String.prototype.trim)\r\n */\r\nexport function strTrim(str) {\r\n if (str) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE /* @min:%2ereplace */] ? str[_DYN_REPLACE /* @min:%2ereplace */](/^\\s+|(?=\\s)\\s+$/g, STR_EMPTY) : str);\r\n }\r\n return str;\r\n}\r\nvar _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable(\"toString\");\r\nvar _objKeysDontEnums = [\r\n \"toString\",\r\n \"toLocaleString\",\r\n \"valueOf\",\r\n \"hasOwnProperty\",\r\n \"isPrototypeOf\",\r\n \"propertyIsEnumerable\",\r\n \"constructor\"\r\n];\r\n/**\r\n * Returns the names of the enumerable string properties and methods of an object. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Object.keys eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.keys implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\r\n */\r\nexport function objKeys(obj) {\r\n var objType = typeof obj;\r\n if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {\r\n throwTypeError(\"objKeys called on non-object\");\r\n }\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (!_objKeysHasDontEnumBug && _objKeys) {\r\n return _objKeys(obj);\r\n }\r\n var result = [];\r\n for (var prop in obj) {\r\n if (obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, prop)) {\r\n result[_DYN_PUSH /* @min:%2epush */](prop);\r\n }\r\n }\r\n if (_objKeysHasDontEnumBug) {\r\n var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < dontEnumsLength; lp++) {\r\n if (obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, _objKeysDontEnums[lp])) {\r\n result[_DYN_PUSH /* @min:%2epush */](_objKeysDontEnums[lp]);\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Try to define get/set object property accessors for the target object/prototype, this will provide compatibility with\r\n * existing API definition when run within an ES5+ container that supports accessors but still enable the code to be loaded\r\n * and executed in an ES3 container, providing basic IE8 compatibility.\r\n * @param target The object on which to define the property.\r\n * @param prop The name of the property to be defined or modified.\r\n * @param getProp The getter function to wire against the getter.\r\n * @param setProp The setter function to wire against the setter.\r\n * @returns True if it was able to create the accessors otherwise false\r\n */\r\nexport function objDefineAccessors(target, prop, getProp, setProp) {\r\n if (_objDefineProperty) {\r\n try {\r\n var descriptor = {\r\n enumerable: true,\r\n configurable: true\r\n };\r\n if (getProp) {\r\n descriptor.get = getProp;\r\n }\r\n if (setProp) {\r\n descriptor.set = setProp;\r\n }\r\n _objDefineProperty(target, prop, descriptor);\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\nfunction _doNothing(value) {\r\n return value;\r\n}\r\nexport function deepFreeze(obj) {\r\n if (_objFreeze) {\r\n objForEachKey(obj, function (name, value) {\r\n if (isArray(value) || isObject(value)) {\r\n _objFreeze(value);\r\n }\r\n });\r\n }\r\n return objFreeze(obj);\r\n}\r\nexport var objFreeze = _objFreeze || _doNothing;\r\nexport var objSeal = _objSeal || _doNothing;\r\n/**\r\n * Return the current time via the Date now() function (if available) and falls back to (new Date()).getTime() if now() is unavailable (IE8 or less)\r\n * https://caniuse.com/#search=Date.now\r\n */\r\nexport function dateNow() {\r\n var dt = Date;\r\n return dt.now ? dt.now() : new dt().getTime();\r\n}\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Get the mapped config value, if null or undefined any supplied defaultValue will be returned.\r\n * @param field - The name of the field as the named enum value (number) or the string name.\r\n * @param defaultValue - The default value to return if the config field is not present, null or undefined.\r\n */\r\nexport function getCfgValue(theValue, defaultValue) {\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n}\r\nexport function isNotTruthy(value) {\r\n return !value;\r\n}\r\nexport function isTruthy(value) {\r\n return !!value;\r\n}\r\nexport function throwError(message) {\r\n throw new Error(message);\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (hasOwnProperty(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n if (!objDefineAccessors(target, field, function () {\r\n return source[field];\r\n }, function (theValue) {\r\n source[field] = theValue;\r\n })) {\r\n // Unable to create an accessor, so just assign the values as a fallback\r\n // -- this will (mostly) work for objects\r\n // -- but will fail for accessing primitives (if the source changes it) and all types of \"setters\" as the source won't be modified\r\n target[field] = value;\r\n }\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this_1 = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this_1[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](arg, prop)));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 6\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 12\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_INTERVAL = \"interval\"; // Count: 3\r\nexport var _DYN_DAYS_OF_MONTH = \"daysOfMonth\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E0 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 4\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 13\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA1 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 7\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 8\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 6\r\nexport var _DYN_SANITIZE_KEY_AND_ADD2 = \"sanitizeKeyAndAddUniqueness\"; // Count: 2\r\nexport var _DYN_SANITIZE_EXCEPTION = \"sanitizeException\"; // Count: 2\r\nexport var _DYN_SANITIZE_PROPERTIES = \"sanitizeProperties\"; // Count: 2\r\nexport var _DYN_SANITIZE_MEASUREMENT3 = \"sanitizeMeasurements\"; // Count: 2\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_CALL, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { isFunction, isString, isUndefined, strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strWindow = \"window\";\r\nvar strDocument = \"document\";\r\nvar strDocumentMode = \"documentMode\";\r\nvar strNavigator = \"navigator\";\r\nvar strHistory = \"history\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strPerformance = \"performance\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Return the named global object if available, will return null if the object is not available.\r\n * @param name The globally named object\r\n */\r\nexport function getGlobalInst(name) {\r\n var gbl = getGlobal();\r\n if (gbl && gbl[name]) {\r\n return gbl[name];\r\n }\r\n // Test workaround, for environments where .window (when global == window) doesn't return the base window\r\n if (name === strWindow && hasWindow()) {\r\n // tslint:disable-next-line: no-angle-bracket-type-assertion\r\n return window;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Checks if window object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a window\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: window is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasWindow() {\r\n return Boolean(typeof window === strShimObject && window);\r\n}\r\n/**\r\n * Returns the global window object if it is present otherwise null.\r\n * This helper is used to access the window object without causing an exception\r\n * \"Uncaught ReferenceError: window is not defined\"\r\n */\r\nexport function getWindow() {\r\n if (hasWindow()) {\r\n return window;\r\n }\r\n // Return the global instance or null\r\n return getGlobalInst(strWindow);\r\n}\r\n/**\r\n * Checks if document object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a document\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: document is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasDocument() {\r\n return Boolean(typeof document === strShimObject && document);\r\n}\r\n/**\r\n * Returns the global document object if it is present otherwise null.\r\n * This helper is used to access the document object without causing an exception\r\n * \"Uncaught ReferenceError: document is not defined\"\r\n */\r\nexport function getDocument() {\r\n if (hasDocument()) {\r\n return document;\r\n }\r\n return getGlobalInst(strDocument);\r\n}\r\n/**\r\n * Checks if navigator object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a navigator\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: navigator is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasNavigator() {\r\n return Boolean(typeof navigator === strShimObject && navigator);\r\n}\r\n/**\r\n * Returns the global navigator object if it is present otherwise null.\r\n * This helper is used to access the navigator object without causing an exception\r\n * \"Uncaught ReferenceError: navigator is not defined\"\r\n */\r\nexport function getNavigator() {\r\n if (hasNavigator()) {\r\n return navigator;\r\n }\r\n return getGlobalInst(strNavigator);\r\n}\r\n/**\r\n * Checks if history object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: history is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasHistory() {\r\n return Boolean(typeof history === strShimObject && history);\r\n}\r\n/**\r\n * Returns the global history object if it is present otherwise null.\r\n * This helper is used to access the history object without causing an exception\r\n * \"Uncaught ReferenceError: history is not defined\"\r\n */\r\nexport function getHistory() {\r\n if (hasHistory()) {\r\n return history;\r\n }\r\n return getGlobalInst(strHistory);\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getGlobalInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getGlobalInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getGlobalInst(strConsole);\r\n}\r\n/**\r\n * Returns the performance object if it is present otherwise null.\r\n * This helper is used to access the performance object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getPerformance() {\r\n return getGlobalInst(strPerformance);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getGlobalInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getGlobalInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getGlobalInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns string representation of an object suitable for diagnostics logging.\r\n */\r\nexport function dumpObj(object) {\r\n var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL /* @min:%2ecall */](object);\r\n var propertyValueDump = STR_EMPTY;\r\n if (objectTypeDump === \"[object Error]\") {\r\n propertyValueDump = \"{ stack: '\" + object.stack + \"', message: '\" + object.message + \"', name: '\" + object[_DYN_NAME /* @min:%2ename */] + \"'\";\r\n }\r\n else if (hasJSON()) {\r\n propertyValueDump = getJSON().stringify(object);\r\n }\r\n return objectTypeDump + propertyValueDump;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (ua[_DYN_INDEX_OF /* @min:%2eindexOf */](\"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported() {\r\n if (_beaconsSupported === null) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getGlobalInst(\"fetch\");\r\n var request = getGlobalInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getGlobalInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getGlobalInst } from \"./EnvUtils\";\r\nvar listenerFuncs = [\"eventsSent\", \"eventsDiscarded\", \"eventsSendRequest\", \"perfEvent\"];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getGlobalInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_DIAG_LOG, _DYN_ENABLE_DEBUG_EXCEPTI4, _DYN_LOGGER, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { dumpObj, getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { getCfgValue, isFunction, isUndefined } from \"./HelperFuncs\";\r\nimport { STR_EMPTY, STR_ERROR_TO_CONSOLE, STR_WARN_TO_CONSOLE } from \"./InternalConstants\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };\r\n _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };\r\n _self[_DYN_ENABLE_DEBUG_EXCEPTI4 /* @min:%2eenableDebugExceptions */] = function () { return _enableDebug; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = severity === 1 /* eLoggingSeverity.CRITICAL */ ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n _self[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message {string} - The error message\r\n */\r\n _self[STR_ERROR_TO_CONSOLE /* @min:%2eerrorToConsole */] = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self[STR_ERROR_TO_CONSOLE /* @min:%2eerrorToConsole */](throttleLimitMessage);\r\n }\r\n else {\r\n _self[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);\r\n _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);\r\n _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);\r\n _enableDebug = getCfgValue(config.enableDebug, getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 /* @min:%2eenableDebugExceptions */], false));\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for DiagnosticLogger.prototype.enableDebugExceptions.\r\n// Removed Stub for DiagnosticLogger.prototype.consoleLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.telemetryLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.maxInternalMessageLimit.\r\n// Removed Stub for DiagnosticLogger.prototype.throwInternal.\r\n// Removed Stub for DiagnosticLogger.prototype.warnToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.errorToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.resetInternalMessageCount.\r\n// Removed Stub for DiagnosticLogger.prototype.logInternalMessage.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n DiagnosticLogger.__ieDyn=1;\n\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { deepFreeze, objForEachKey } from \"../JavaScriptSDK/HelperFuncs\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createEnumStyle(values) {\r\n var enumClass = {};\r\n objForEachKey(values, function (field, value) {\r\n enumClass[field] = value;\r\n enumClass[value] = field;\r\n });\r\n return deepFreeze(enumClass);\r\n}\r\n/**\r\n * Create a 2 index map that maps an enum's key as both the key and value, X[\"key\"] => \"key\" and X[0] => \"keyof 0\".\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createEnumMap(values) {\r\n var mapClass = {};\r\n objForEachKey(values, function (field, value) {\r\n mapClass[field] = field;\r\n mapClass[value] = field;\r\n });\r\n return deepFreeze(mapClass);\r\n}\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createValueMap(values) {\r\n var mapClass = {};\r\n objForEachKey(values, function (field, value) {\r\n mapClass[field] = value[1];\r\n mapClass[value[0]] = value[1];\r\n });\r\n return deepFreeze(mapClass);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\nvar _storagePrefix = \"\";\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n var name_1 = _storagePrefix + uid;\r\n storage.setItem(name_1, uid);\r\n var fail = storage.getItem(name_1) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name_1);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlSetStoragePrefix(storagePrefix) {\r\n _storagePrefix = storagePrefix || \"\";\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar _a;\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION, _DYN_SANITIZE_KEY_AND_ADD2, _DYN_SANITIZE_MEASUREMENT3, _DYN_SANITIZE_PROPERTIES, _DYN_STRINGIFY, _DYN_SUBSTRING, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name[_DYN_TO_STRING /* @min:%2etoString */]());\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = name[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString()[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = value[_DYN_TO_STRING /* @min:%2etoString */]()[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = input[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = (_a = {\r\n MAX_NAME_LENGTH: 150 /* DataSanitizerValues.MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* DataSanitizerValues.MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* DataSanitizerValues.MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */\r\n },\r\n _a[_DYN_SANITIZE_KEY_AND_ADD2 /* @min:sanitizeKeyAndAddUniqueness */] = dataSanitizeKeyAndAddUniqueness,\r\n _a.sanitizeKey = dataSanitizeKey,\r\n _a.sanitizeString = dataSanitizeString,\r\n _a.sanitizeUrl = dataSanitizeUrl,\r\n _a.sanitizeMessage = dataSanitizeMessage,\r\n _a[_DYN_SANITIZE_EXCEPTION /* @min:sanitizeException */] = dataSanitizeException,\r\n _a[_DYN_SANITIZE_PROPERTIES /* @min:sanitizeProperties */] = dataSanitizeProperties,\r\n _a[_DYN_SANITIZE_MEASUREMENT3 /* @min:sanitizeMeasurements */] = dataSanitizeMeasurements,\r\n _a.sanitizeId = dataSanitizeId,\r\n _a.sanitizeInput = dataSanitizeInput,\r\n _a.padNumber = dsPadNumber,\r\n _a.trim = strTrim,\r\n _a);\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_INDEX_OF, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\")[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) {\r\n frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]);\r\n frame[_DYN_FILE_NAME /* @min:%2efileName */] = dataSanitizeString(logger, frame[_DYN_FILE_NAME /* @min:%2efileName */]);\r\n });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _DYN_COOKIE_CFG, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_LOGGER, _DYN_SET_ENABLED, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj, getDocument, getLocation, getNavigator, isIE } from \"./EnvUtils\";\r\nimport { arrForEach, dateNow, getExceptionName, isArray, isFunction, isNotNullOrUndefined, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, setValue, strContains, strEndsWith, strTrim } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strEnabled = \"enabled\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc = getDocument();\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nexport function _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _createCookieMgrConfig(rootConfig) {\r\n var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */] = rootConfig[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */] || {};\r\n // Sets the values from the root config if not already present on the cookieMgrCfg\r\n setValue(cookieMgrCfg, \"domain\", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);\r\n setValue(cookieMgrCfg, \"path\", rootConfig.cookiePath || \"/\", null, isNullOrUndefined);\r\n if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n cookieMgrCfg[strEnabled] = cookieEnabled;\r\n }\r\n return cookieMgrCfg;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF /* @min:%2eindexOf */](name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (cookieMgrCfg.blockedCookies[_DYN_INDEX_OF /* @min:%2eindexOf */](name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */];\r\n if (cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);\r\n var _path = cookieMgrConfig.path || \"/\";\r\n var _domain = cookieMgrConfig.domain;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled = cookieMgrConfig[strEnabled] !== false;\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n }\r\n },\r\n _a[_DYN_SET_ENABLED /* @min:setEnabled */] = function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n },\r\n _a.set = function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = theValue[_DYN_INDEX_OF /* @min:%2eindexOf */](\";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(value[_DYN_SUBSTRING /* @min:%2esubstring */](0, idx));\r\n values = _extractParts(value[_DYN_SUBSTRING /* @min:%2esubstring */](idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, \"domain\", domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = dateNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, \"path\", path || _path, null, isUndefined);\r\n var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n _a.get = function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = (cookieMgrConfig.getCookie || _getCookieValue)(name);\r\n }\r\n return value;\r\n },\r\n _a.del = function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n _a.purge = function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[\"path\"] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n var delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n delCookie(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n try {\r\n var doc = _doc || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = thePart[_DYN_INDEX_OF /* @min:%2eindexOf */](\"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(thePart[_DYN_SUBSTRING /* @min:%2esubstring */](0, idx))] = strTrim(thePart[_DYN_SUBSTRING /* @min:%2esubstring */](idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n if (_doc) {\r\n var theCookie = _doc[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n if (_doc) {\r\n _doc[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { dateNow } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = 123456789;\r\nvar _mwcZ = 987654321;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (123456789 + seedValue) & MaxUInt32;\r\n _mwcZ = (987654321 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = dateNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjDefineProperty } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar version = '2.8.18';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\nfunction _createAccessor(target, prop, value) {\r\n if (_objDefineProperty) {\r\n try {\r\n _objDefineProperty(target, prop, {\r\n value: value,\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n if (!_createAccessor(target, data.id, theCache)) {\r\n // Environment doesn't support accessor, so just use direct assignment\r\n target[data.id] = theCache;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDocument, getWindow } from \"./EnvUtils\";\r\nimport { arrForEach, arrIndexOf, isArray, objForEachKey, objKeys } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventName String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventName {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventNameWithoutOn {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { objCreateFn, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_SET_ENABLED, _DYN_SUBSTR, _DYN_SUBSTRING } from \"../__DynamicConstants\";\r\nimport { _gblCookieMgr } from \"./CookieMgr\";\r\nimport { getPerformance, isIE } from \"./EnvUtils\";\r\nimport { addEventHandler, attachEvent, detachEvent } from \"./EventHelpers\";\r\nimport { arrForEach, arrIndexOf, arrMap, arrReduce, dateNow, hasOwnProperty, isArray, isBoolean, isDate, isError, isFunction, isNullOrUndefined, isNumber, isObject, isString, isTypeof, isUndefined, objDefineAccessors, objKeys, strTrim, toISOString } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { mwcRandom32, mwcRandomSeed, newId, random32, randomValue } from \"./RandomHelper\";\r\nvar _cookieMgrs = null;\r\nvar _canUseCookies; // legacy supported config\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return uuid[_DYN_SUBSTRING /* @min:%2esubstring */](0, 8) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](8, 12) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](12, 16) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](16, 20) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](20);\r\n}\r\n/**\r\n * Return the current value of the Performance Api now() function (if available) and fallback to dateNow() if it is unavailable (IE9 or less)\r\n * https://caniuse.com/#search=performance.now\r\n */\r\nexport function perfNow() {\r\n var perf = getPerformance();\r\n if (perf && perf.now) {\r\n return perf.now();\r\n }\r\n return dateNow();\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return value[_DYN_SUBSTRING /* @min:%2esubstring */](start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return oct[_DYN_SUBSTR /* @min:%2esubstr */](0, 8) + oct[_DYN_SUBSTR /* @min:%2esubstr */](9, 4) + \"4\" + oct[_DYN_SUBSTR /* @min:%2esubstr */](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR /* @min:%2esubstr */](16, 3) + oct[_DYN_SUBSTR /* @min:%2esubstr */](19, 12);\r\n}\r\n/**\r\n * Provides a collection of utility functions, included for backward compatibility with previous releases.\r\n * @deprecated Marking this instance as deprecated in favor of direct usage of the helper functions\r\n * as direct usage provides better tree-shaking and minification by avoiding the inclusion of the unused items\r\n * in your resulting code.\r\n */\r\nexport var CoreUtils = {\r\n _canUseCookies: undefined,\r\n isTypeof: isTypeof,\r\n isUndefined: isUndefined,\r\n isNullOrUndefined: isNullOrUndefined,\r\n hasOwnProperty: hasOwnProperty,\r\n isFunction: isFunction,\r\n isObject: isObject,\r\n isDate: isDate,\r\n isArray: isArray,\r\n isError: isError,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n toISOString: toISOString,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n strTrim: strTrim,\r\n objCreate: objCreateFn,\r\n objKeys: objKeys,\r\n objDefineAccessors: objDefineAccessors,\r\n addEventHandler: addEventHandler,\r\n dateNow: dateNow,\r\n isIE: isIE,\r\n disableCookies: disableCookies,\r\n newGuid: newGuid,\r\n perfNow: perfNow,\r\n newId: newId,\r\n randomValue: randomValue,\r\n random32: random32,\r\n mwcRandomSeed: mwcRandomSeed,\r\n mwcRandom32: mwcRandom32,\r\n generateW3CId: generateW3CId\r\n};\r\nvar GuidRegex = /[xy]/g;\r\nexport var EventHelper = {\r\n Attach: attachEvent,\r\n AttachEvent: attachEvent,\r\n Detach: detachEvent,\r\n DetachEvent: detachEvent\r\n};\r\n/**\r\n * Helper to support backward compatibility for users that use the legacy cookie handling functions and the use the internal\r\n * CoreUtils._canUseCookies global flag to enable/disable cookies usage.\r\n * Note: This has the following deliberate side-effects\r\n * - Creates the global (legacy) cookie manager if it does not already exist\r\n * - Attempts to add \"listeners\" to the CoreUtils._canUseCookies property to support the legacy usage\r\n * @param config\r\n * @param logger\r\n * @returns\r\n */\r\nexport function _legacyCookieMgr(config, logger) {\r\n var cookieMgr = _gblCookieMgr(config, logger);\r\n var legacyCanUseCookies = CoreUtils._canUseCookies;\r\n if (_cookieMgrs === null) {\r\n _cookieMgrs = [];\r\n _canUseCookies = legacyCanUseCookies;\r\n // Dynamically create get/set property accessors for backward compatibility for enabling / disabling cookies\r\n // this WILL NOT work for ES3 browsers (< IE8)\r\n objDefineAccessors(CoreUtils, \"_canUseCookies\", function () {\r\n return _canUseCookies;\r\n }, function (value) {\r\n _canUseCookies = value;\r\n arrForEach(_cookieMgrs, function (mgr) {\r\n mgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](value);\r\n });\r\n });\r\n }\r\n if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {\r\n _cookieMgrs[_DYN_PUSH /* @min:%2epush */](cookieMgr);\r\n }\r\n if (isBoolean(legacyCanUseCookies)) {\r\n cookieMgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](legacyCanUseCookies);\r\n }\r\n if (isBoolean(_canUseCookies)) {\r\n cookieMgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](_canUseCookies);\r\n }\r\n return cookieMgr;\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().disable()\r\n * Force the SDK not to store and read any data from cookies.\r\n */\r\nexport function disableCookies() {\r\n _legacyCookieMgr()[_DYN_SET_ENABLED /* @min:%2esetEnabled */](false);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().isEnabled()\r\n * Helper method to tell if document.cookie object is available and whether it can be used.\r\n */\r\nexport function canUseCookies(logger) {\r\n return _legacyCookieMgr(null, logger).isEnabled();\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().get()\r\n * helper method to access userId and sessionId cookie\r\n */\r\nexport function getCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).get(name);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().set()\r\n * helper method to set userId and sessionId cookie\r\n */\r\nexport function setCookie(logger, name, value, domain) {\r\n _legacyCookieMgr(null, logger).set(name, value, null, domain);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().del()\r\n * Deletes a cookie by setting it's expiration time in the past.\r\n * @param name - The name of the cookie to delete.\r\n */\r\nexport function deleteCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).del(name);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _DYN_INDEX_OF, _DYN_LENGTH, _DYN_SPAN_ID, _DYN_SPLIT, _DYN_SUBSTR, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { isArray, isString, strTrim } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]{1,64})?$/i;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/i);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR /* @min:%2esubstr */](0, 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value - The value to be parsed\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function parseTraceParent(value, selectIdx) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n if (value[_DYN_INDEX_OF /* @min:%2eindexOf */](\",\") !== -1) {\r\n var values = value[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n value = values[selectIdx > 0 && values[_DYN_LENGTH /* @min:%2elength */] > selectIdx ? selectIdx : 0];\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {\r\n version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()\r\n },\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version.toLowerCase(), \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), \"-\").concat(flags.toLowerCase());\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function findW3cTraceParent(selectIdx) {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name), selectIdx);\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);\r\n }\r\n return traceParent;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createValueMap } from \"@microsoft/applicationinsights-core-js\";\r\nexport var RequestHeaders = createValueMap({\r\n requestContextHeader: [0 /* eRequestHeaders.requestContextHeader */, \"Request-Context\"],\r\n requestContextTargetKey: [1 /* eRequestHeaders.requestContextTargetKey */, \"appId\"],\r\n requestContextAppIdFormat: [2 /* eRequestHeaders.requestContextAppIdFormat */, \"appId=cid-v1:\"],\r\n requestIdHeader: [3 /* eRequestHeaders.requestIdHeader */, \"Request-Id\"],\r\n traceParentHeader: [4 /* eRequestHeaders.traceParentHeader */, \"traceparent\"],\r\n traceStateHeader: [5 /* eRequestHeaders.traceStateHeader */, \"tracestate\"],\r\n sdkContextHeader: [6 /* eRequestHeaders.sdkContextHeader */, \"Sdk-Context\"],\r\n sdkContextHeaderAppIdRequest: [7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */, \"appId\"],\r\n requestContextHeaderLowerCase: [8 /* eRequestHeaders.requestContextHeaderLowerCase */, \"request-context\"]\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, attachEvent, canUseCookies as coreCanUseCookies, dateNow, deleteCookie as coreDeleteCookie, disableCookies as coreDisableCookies, dumpObj, generateW3CId, getCookie as coreGetCookie, getExceptionName as coreGetExceptionName, getIEVersion, getPerformance, isArray, isBeaconsSupported, isDate, isError, isNullOrUndefined, isValidSpanId, isValidTraceId, newId, random32, setCookie as coreSetCookie, strTrim, toISOString, uaDisallowsSameSiteNone } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nimport { createDomEvent } from \"./DomHelperFuncs\";\r\nimport { getExtensionByName, isCrossOriginError, msToTimeSpan, stringToBoolOrDefault } from \"./HelperFuncs\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetLocalStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlRemoveSessionStorage, utlRemoveStorage, utlSetLocalStorage, utlSetSessionStorage } from \"./StorageHelperFuncs\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":443\") !== -1 || requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { dateNow, isArray, isFunction, objDefineAccessors } from \"./HelperFuncs\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n var accessorDefined = false;\r\n _self.start = dateNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n accessorDefined = objDefineAccessors(_self, \"payload\", function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = dateNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n if (!accessorDefined && isFunction(payloadDetails)) {\r\n // If we couldn't define the property set during complete -- to minimize the perf impact until after the time\r\n _self.payload = payloadDetails();\r\n }\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n// Removed Stub for PerfManager.prototype.create.\r\n// Removed Stub for PerfManager.prototype.fire.\r\n// Removed Stub for PerfManager.prototype.setCtx.\r\n// Removed Stub for PerfManager.prototype.getCtx.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PerfManager.__ieDyn=1;\n\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _DYN_CALL, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { arrForEach, isFunction } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config The current config for the instance\r\n * @param core THe current core instance\r\n * @param extensions The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin &&\r\n isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]) &&\r\n isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n var isInitialized = false;\r\n if (isFunction(thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */])) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n else {\r\n pluginState = _getPluginState(thePlugin);\r\n isInitialized = pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extent from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);\r\n if (isFunction(extA[STR_PROCESS_TELEMETRY])) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func[_DYN_CALL /* @min:%2ecall */](component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _DYN_CALL, _DYN_CONFIG, _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach, isArray, isFunction, isNullOrUndefined, isObject, isUndefined, objExtend, objForEachKey, objFreeze, objKeys, proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core[_DYN_CONFIG /* @min:%2econfig */] || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param config\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, config, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, config);\r\n },\r\n getCfg: function () {\r\n return config;\r\n },\r\n getExtCfg: _getExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func[_DYN_CALL /* @min:%2ecall */](completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, defaultValue, mergeDefault) {\r\n if (defaultValue === void 0) { defaultValue = {}; }\r\n if (mergeDefault === void 0) { mergeDefault = 0 /* GetExtCfgMergeType.None */; }\r\n var theConfig;\r\n if (config) {\r\n var extConfig = config[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (extConfig && identifier) {\r\n theConfig = extConfig[identifier];\r\n }\r\n }\r\n if (!theConfig) {\r\n // Just use the defaults\r\n theConfig = defaultValue;\r\n }\r\n else if (isObject(defaultValue)) {\r\n if (mergeDefault !== 0 /* GetExtCfgMergeType.None */) {\r\n // Merge the defaults and configured values\r\n var newConfig_1 = objExtend(true, defaultValue, theConfig);\r\n if (config && mergeDefault === 2 /* GetExtCfgMergeType.MergeDefaultFromRootOrDefault */) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config\r\n objForEachKey(defaultValue, function (field) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig_1[field])) {\r\n var cfgValue = config[field];\r\n if (!isNullOrUndefined(cfgValue)) {\r\n newConfig_1[field] = cfgValue;\r\n }\r\n }\r\n });\r\n }\r\n theConfig = newConfig_1;\r\n }\r\n }\r\n return theConfig;\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, null);\r\n if (extConfig && !isNullOrUndefined(extConfig[field])) {\r\n theValue = extConfig[field];\r\n }\r\n else if (config && !isNullOrUndefined(config[field])) {\r\n theValue = config[field];\r\n }\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, config, core, startAt) {\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = core[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin.unload(context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = core[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { getGlobalInst } from \"./EnvUtils\";\r\nimport { _getObjProto, hasOwnProperty } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getGlobalInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (hasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach } from \"./HelperFuncs\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT0, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { arrForEach, isArray, isFunction, isNullOrUndefined, proxyFunctionAs, setValue } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hooks;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all instrumentation hooks\r\n arrForEach(oldHooks, function (fn) {\r\n fn.rm();\r\n });\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self._addHook = function (hooks) {\r\n if (hooks) {\r\n if (isArray(hooks)) {\r\n _hooks = _hooks.concat(hooks);\r\n }\r\n else {\r\n _hooks[_DYN_PUSH /* @min:%2epush */](hooks);\r\n }\r\n }\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n if (config) {\r\n // Make sure the extensionConfig exists\r\n setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);\r\n }\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hooks = [];\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n// Removed Stub for BaseTelemetryPlugin.prototype.initialize.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.teardown.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.update.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addUnloadCb.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addHook.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseTelemetryPlugin.__ieDyn=1;\n\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 4\r\nexport var _DYN_DISABLE_EXCEPTION_TR0 = \"disableExceptionTracking\"; // Count: 3\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI1 = \"autoTrackPageVisitTime\"; // Count: 4\r\nexport var _DYN_OVERRIDE_PAGE_VIEW_D2 = \"overridePageViewDuration\"; // Count: 3\r\nexport var _DYN_ENABLE_UNHANDLED_PRO3 = \"enableUnhandledPromiseRejectionTracking\"; // Count: 3\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 4\r\nexport var _DYN_IS_STORAGE_USE_DISAB4 = \"isStorageUseDisabled\"; // Count: 4\r\nexport var _DYN_IS_BROWSER_LINK_TRAC5 = \"isBrowserLinkTrackingEnabled\"; // Count: 4\r\nexport var _DYN_ENABLE_AUTO_ROUTE_TR6 = \"enableAutoRouteTracking\"; // Count: 3\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 3\r\nexport var _DYN_DISABLE_FLUSH_ON_BEF7 = \"disableFlushOnBeforeUnload\"; // Count: 3\r\nexport var _DYN_DISABLE_FLUSH_ON_UNL8 = \"disableFlushOnUnload\"; // Count: 2\r\nexport var _DYN_CORE = \"core\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 8\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 13\r\nexport var _DYN_TRACK = \"track\"; // Count: 7\r\nexport var _DYN_TRACK_PAGE_VIEW = \"trackPageView\"; // Count: 4\r\nexport var _DYN_TRACK_PREVIOUS_PAGE_9 = \"trackPreviousPageVisit\"; // Count: 3\r\nexport var _DYN_SEND_PAGE_VIEW_INTER10 = \"sendPageViewInternal\"; // Count: 7\r\nexport var _DYN_SEND_PAGE_VIEW_PERFO11 = \"sendPageViewPerformanceInternal\"; // Count: 3\r\nexport var _DYN_POPULATE_PAGE_VIEW_P12 = \"populatePageViewPerformanceEvent\"; // Count: 3\r\nexport var _DYN_HREF = \"href\"; // Count: 6\r\nexport var _DYN_SEND_EXCEPTION_INTER13 = \"sendExceptionInternal\"; // Count: 2\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 3\r\nexport var _DYN_ERROR = \"error\"; // Count: 5\r\nexport var _DYN__ONERROR = \"_onerror\"; // Count: 3\r\nexport var _DYN_ERROR_SRC = \"errorSrc\"; // Count: 3\r\nexport var _DYN_LINE_NUMBER = \"lineNumber\"; // Count: 5\r\nexport var _DYN_COLUMN_NUMBER = \"columnNumber\"; // Count: 5\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 4\r\nexport var _DYN__CREATE_AUTO_EXCEPTI14 = \"CreateAutoException\"; // Count: 3\r\nexport var _DYN_ADD_TELEMETRY_INITIA15 = \"addTelemetryInitializer\"; // Count: 4\r\nexport var _DYN_DURATION = \"duration\"; // Count: 10\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_IS_PERFORMANCE_TIMIN16 = \"isPerformanceTimingSupported\"; // Count: 2\r\nexport var _DYN_GET_PERFORMANCE_TIMI17 = \"getPerformanceTiming\"; // Count: 2\r\nexport var _DYN_NAVIGATION_START = \"navigationStart\"; // Count: 4\r\nexport var _DYN_SHOULD_COLLECT_DURAT18 = \"shouldCollectDuration\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN19 = \"isPerformanceTimingDataReady\"; // Count: 2\r\nexport var _DYN_GET_ENTRIES_BY_TYPE = \"getEntriesByType\"; // Count: 3\r\nexport var _DYN_RESPONSE_START = \"responseStart\"; // Count: 5\r\nexport var _DYN_REQUEST_START = \"requestStart\"; // Count: 3\r\nexport var _DYN_LOAD_EVENT_END = \"loadEventEnd\"; // Count: 4\r\nexport var _DYN_RESPONSE_END = \"responseEnd\"; // Count: 5\r\nexport var _DYN_CONNECT_END = \"connectEnd\"; // Count: 4\r\nexport var _DYN_PAGE_VISIT_START_TIM20 = \"pageVisitStartTime\"; // Count: 2\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, dumpObj, getDocument, getExceptionName, getLocation, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DURATION, _DYN_GET_PERFORMANCE_TIMI17, _DYN_HREF, _DYN_IS_PERFORMANCE_TIMIN16, _DYN_IS_PERFORMANCE_TIMIN19, _DYN_LENGTH, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_SEND_PAGE_VIEW_INTER10, _DYN_SEND_PAGE_VIEW_PERFO11, _DYN_SHOULD_COLLECT_DURAT18, _DYN_TRACK_PAGE_VIEW } from \"../../__DynamicConstants\";\r\nvar _isWebWorker = null;\r\nfunction isWebWorker() {\r\n if (_isWebWorker == null) {\r\n try {\r\n _isWebWorker = !!(self && self instanceof WorkerGlobalScope);\r\n }\r\n catch (e) {\r\n _isWebWorker = false;\r\n }\r\n }\r\n return _isWebWorker;\r\n}\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var queueTimer = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels(isAsync) {\r\n if (core) {\r\n core.flush(isAsync);\r\n }\r\n }\r\n function _startTimer() {\r\n if (!queueTimer) {\r\n queueTimer = setTimeout((function () {\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _startTimer();\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels(true);\r\n }\r\n }), 100);\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n _startTimer();\r\n }\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN16 /* @min:%2eisPerformanceTimingSupported */]()) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n if (!isWebWorker()) {\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 25 /* _eInternalMessageId.NavigationTimingNotSupported */, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n }\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI17 /* @min:%2egetPerformanceTiming */]()[_DYN_NAVIGATION_START /* @min:%2enavigationStart */];\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */](customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties[_DYN_DURATION /* @min:%2eduration */])) {\r\n duration = customProperties[_DYN_DURATION /* @min:%2eduration */];\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n }\r\n // case 2\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN19 /* @min:%2eisPerformanceTimingDataReady */]()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */](pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = pageViewPerformance.durationMs;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */](pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = maxDurationLimit;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 38 /* _eInternalMessageId.TrackPVFailedCalc */, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n _self.teardown = function (unloadCtx, unloadState) {\r\n if (queueTimer) {\r\n clearTimeout(queueTimer);\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush_1 = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (item()) {\r\n doFlush_1 = true;\r\n }\r\n });\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for PageViewManager.prototype.trackPageView.\r\n// Removed Stub for PageViewManager.prototype.teardown.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageViewManager.__ieDyn=1;\n\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, getNavigator, getPerformance, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_CONNECT_END, _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI17, _DYN_IS_PERFORMANCE_TIMIN16, _DYN_IS_PERFORMANCE_TIMIN19, _DYN_LENGTH, _DYN_LOAD_EVENT_END, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_REQUEST_START, _DYN_RESPONSE_END, _DYN_RESPONSE_START, _DYN_SHOULD_COLLECT_DURAT18 } from \"../../__DynamicConstants\";\r\nvar MAX_DURATION_ALLOWED = 3600000; // 1h\r\nvar botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\nfunction _isPerformanceTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && !!perf.timing;\r\n}\r\nfunction _isPerformanceNavigationTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\")[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\nfunction _isPerformanceTimingDataReady() {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */] > 0\r\n && timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */] > 0\r\n && timing[_DYN_REQUEST_START /* @min:%2erequestStart */] > 0\r\n && timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */] > 0\r\n && timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */] > 0\r\n && timing[_DYN_CONNECT_END /* @min:%2econnectEnd */] > 0\r\n && timing.domLoading > 0;\r\n}\r\nfunction _getPerformanceTiming() {\r\n if (_isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n}\r\nfunction _getPerformanceNavigationTiming() {\r\n if (_isPerformanceNavigationTimingSupported()) {\r\n return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\")[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n* This method tells if given durations should be excluded from collection.\r\n*/\r\nfunction _shouldCollectDuration() {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n var _logger = safeGetLogger(core);\r\n dynamicProto(PageViewPerformanceManager, this, function (_self) {\r\n _self[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */] = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = _getPerformanceNavigationTiming();\r\n var timing = _getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming[_DYN_DURATION /* @min:%2eduration */];\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */] : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */], navigationTiming[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */], timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n if (total === 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 10 /* _eInternalMessageId.ErrorPVCalc */, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!_self[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */](total, network, request, response, dom)) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 45 /* _eInternalMessageId.InvalidDurationValue */, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 8 /* _eInternalMessageId.ClientPerformanceMathError */, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n _self[_DYN_GET_PERFORMANCE_TIMI17 /* @min:%2egetPerformanceTiming */] = _getPerformanceTiming;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN16 /* @min:%2eisPerformanceTimingSupported */] = _isPerformanceTimingSupported;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN19 /* @min:%2eisPerformanceTimingDataReady */] = _isPerformanceTimingDataReady;\r\n _self[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */] = _shouldCollectDuration;\r\n });\r\n }\r\n// Removed Stub for PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent.\r\n// Removed Stub for PageViewPerformanceManager.prototype.getPerformanceTiming.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingSupported.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingDataReady.\r\n// Removed Stub for PageViewPerformanceManager.prototype.shouldCollectDuration.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageViewPerformanceManager.__ieDyn=1;\n\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _warnToConsole, dateNow, dumpObj, getJSON, hasJSON, objDefineAccessors, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_PAGE_VISIT_START_TIM20, _DYN_TRACK_PREVIOUS_PAGE_9 } from \"../../__DynamicConstants\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n var prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n dynamicProto(PageVisitTimeManager, this, function (_self) {\r\n _self[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */] = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n function restartPageVisitTimer(pageName, pageUrl) {\r\n var prevPageVisitData = null;\r\n try {\r\n prevPageVisitData = stopPageVisitTimer();\r\n startPageVisitTimer(pageName, pageUrl);\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Call to restart failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n /**\r\n * Starts timing visit duration of pageName\r\n * @param pageName\r\n * @returns {}\r\n */\r\n function startPageVisitTimer(pageName, pageUrl) {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitData = new PageVisitData(pageName, pageUrl);\r\n var currPageVisitDataStr = getJSON().stringify(currPageVisitData);\r\n utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n // TODO: Remove this catch in next phase, since if start is called twice in a row the exception needs to be propagated out\r\n _warnToConsole(logger, \"Call to start failed: \" + dumpObj(e));\r\n }\r\n }\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n function stopPageVisitTimer() {\r\n var prevPageVisitData = null;\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM20 /* @min:%2epageVisitStartTime */];\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Stop page visit timer failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n // For backward compatibility\r\n objDefineAccessors(_self, \"_logger\", function () { return logger; });\r\n objDefineAccessors(_self, \"pageVisitTimeTrackingHandler\", function () { return pageVisitTimeTrackingHandler; });\r\n });\r\n }\r\n// Removed Stub for PageVisitTimeManager.prototype.trackPreviousPageVisit.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageVisitTimeManager.__ieDyn=1;\n\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this[_DYN_PAGE_VISIT_START_TIM20 /* @min:%2epageVisitStartTime */] = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 62 /* _eInternalMessageId.StartCalledMoreThanOnce */, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 63 /* _eInternalMessageId.StopCalledWithoutStart */, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\nexport { Timing };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* ApplicationInsights.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier, Event as EventTelemetry, Exception, Metric, PageView, PageViewPerformance, PropertiesPluginIdentifier, RemoteDependencyData, Trace, createDistributedTraceContextFromTrace, createDomEvent, createTelemetryItem, dataSanitizeString, isCrossOriginError, strNotSpecified, stringToBoolOrDefault, utlDisableStorage, utlEnableStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentEvent, arrForEach, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOff, eventOn, generateW3CId, getDocument, getExceptionName, getHistory, getLocation, getWindow, hasHistory, hasWindow, isError, isFunction, isNullOrUndefined, isString, isUndefined, mergeEvtNamespace, objDefineAccessors, objForEachKey, safeGetCookieMgr, strUndefined, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ADD_TELEMETRY_INITIA15, _DYN_AUTO_TRACK_PAGE_VISI1, _DYN_COLUMN_NUMBER, _DYN_CORE, _DYN_DATA_TYPE, _DYN_DIAG_LOG, _DYN_DISABLE_EXCEPTION_TR0, _DYN_DISABLE_FLUSH_ON_BEF7, _DYN_ENABLE_AUTO_ROUTE_TR6, _DYN_ENABLE_UNHANDLED_PRO3, _DYN_ENVELOPE_TYPE, _DYN_ERROR, _DYN_ERROR_SRC, _DYN_EXCEPTION, _DYN_HREF, _DYN_IS_BROWSER_LINK_TRAC5, _DYN_IS_STORAGE_USE_DISAB4, _DYN_LENGTH, _DYN_LINE_NUMBER, _DYN_MESSAGE, _DYN_NAME_PREFIX, _DYN_OVERRIDE_PAGE_VIEW_D2, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_SAMPLING_PERCENTAGE, _DYN_SEND_EXCEPTION_INTER13, _DYN_SEND_PAGE_VIEW_INTER10, _DYN_SEND_PAGE_VIEW_PERFO11, _DYN_TO_STRING, _DYN_TRACK, _DYN_TRACK_PAGE_VIEW, _DYN_TRACK_PREVIOUS_PAGE_9, _DYN__CREATE_AUTO_EXCEPTI14, _DYN__ONERROR } from \"../__DynamicConstants\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { Timing } from \"./Timing\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n return reason[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar MinMilliSeconds = 60000;\r\nfunction _configMilliseconds(value, defValue) {\r\n value = value || defValue;\r\n if (value < MinMilliSeconds) {\r\n value = MinMilliSeconds;\r\n }\r\n return value;\r\n}\r\nfunction _getDefaultConfig(config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.sessionRenewalMs = _configMilliseconds(config.sessionRenewalMs, 30 * 60 * 1000);\r\n config.sessionExpirationMs = _configMilliseconds(config.sessionExpirationMs, 24 * 60 * 60 * 1000);\r\n config[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */] = stringToBoolOrDefault(config[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */]);\r\n config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */] = stringToBoolOrDefault(config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]);\r\n config[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */] = stringToBoolOrDefault(config[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */]);\r\n config[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */] = stringToBoolOrDefault(config[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */]);\r\n if (isNaN(config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */]) || config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] <= 0 || config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] >= 100) {\r\n config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] = 100;\r\n }\r\n config[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */] = stringToBoolOrDefault(config[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */]);\r\n config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */] = stringToBoolOrDefault(config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */]);\r\n config[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */] = stringToBoolOrDefault(config[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */]);\r\n config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */] = stringToBoolOrDefault(config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */]);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */]);\r\n return config;\r\n}\r\nfunction _updateStorageUsage(extConfig) {\r\n // Not resetting the storage usage as someone may have manually called utlDisableStorage, so this will only\r\n // reset based if the configuration option is provided\r\n if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */])) {\r\n if (extConfig[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */]) {\r\n utlDisableStorage();\r\n }\r\n else {\r\n utlEnableStorage();\r\n }\r\n }\r\n}\r\nvar AnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(AnalyticsPlugin, _super);\r\n function AnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _pageViewManager;\r\n var _pageViewPerformanceManager;\r\n var _pageVisitTimeManager;\r\n var _preInitTelemetryInitializers;\r\n var _isBrowserLinkTrackingEnabled;\r\n var _browserLinkInitializerAdded;\r\n var _enableAutoRouteTracking;\r\n var _historyListenerAdded;\r\n var _disableExceptionTracking;\r\n var _autoExceptionInstrumented;\r\n var _enableUnhandledPromiseRejectionTracking;\r\n var _autoUnhandledPromiseInstrumented;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n var _evtNamespace;\r\n dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {\r\n var _addHook = _base._addHook;\r\n _initDefaults();\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self[_DYN_CORE /* @min:%2ecore */]);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(event, EventTelemetry[_DYN_DATA_TYPE /* @min:%2edataType */], EventTelemetry[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 29 /* _eInternalMessageId.StartTrackEventFailed */, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties, measurements);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 30 /* _eInternalMessageId.StopTrackEventFailed */, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE /* @min:%2edataType */], Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE /* @min:%2edataType */], Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 36 /* _eInternalMessageId.TrackMetricFailed */, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _pageViewManager[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */](inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */](inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */] = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE /* @min:%2edataType */], PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */] = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n var inPvp = pageViewPerformance || {};\r\n try {\r\n _pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */](inPvp);\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */](inPvp, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 31 /* _eInternalMessageId.StartTrackFailed */, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */](name, url);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 32 /* _eInternalMessageId.StopTrackFailed */, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self[_DYN_SEND_EXCEPTION_INTER13 /* @min:%2esendExceptionInternal */] = function (exception, customProperties, systemProperties) {\r\n // Adding additional edge cases to handle\r\n // - Not passing anything (null / undefined)\r\n var theError = (exception && (exception[_DYN_EXCEPTION /* @min:%2eexception */] || exception[_DYN_ERROR /* @min:%2eerror */])) ||\r\n // - Handle someone calling trackException based of v1 API where the exception was the Error\r\n isError(exception) && exception ||\r\n // - Handles no error being defined and instead of creating a new Error() instance attempt to map so any stacktrace\r\n // is preserved and does not list ApplicationInsights code as the source\r\n { name: (exception && typeof exception), message: exception || strNotSpecified };\r\n // If no exception object was passed assign to an empty object to avoid internal exceptions\r\n exception = exception || {};\r\n var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n if (exception && !exception[_DYN_EXCEPTION /* @min:%2eexception */] && exception[_DYN_ERROR /* @min:%2eerror */]) {\r\n exception[_DYN_EXCEPTION /* @min:%2eexception */] = exception[_DYN_ERROR /* @min:%2eerror */];\r\n }\r\n try {\r\n _self[_DYN_SEND_EXCEPTION_INTER13 /* @min:%2esendExceptionInternal */](exception, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 35 /* _eInternalMessageId.TrackExceptionFailed */, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */] = function (exception) {\r\n var error = exception && exception[_DYN_ERROR /* @min:%2eerror */];\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] || \"window.onerror@\" + url + \":\" + (exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0) + \":\" + (exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0,\r\n columnNumber: exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0,\r\n message: exception[_DYN_MESSAGE /* @min:%2emessage */]\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR /* @min:%2eerror */])) {\r\n _sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0, exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */]) {\r\n exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: 3 /* eSeverityLevel.Error */ }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error[_DYN_MESSAGE /* @min:%2emessage */]) : \"null\";\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 11 /* _eInternalMessageId.ExceptionWhileLoggingError */, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */] = function (telemetryInitializer) {\r\n if (_self[_DYN_CORE /* @min:%2ecore */]) {\r\n // Just add to the core\r\n return _self[_DYN_CORE /* @min:%2ecore */][_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](telemetryInitializer);\r\n }\r\n // Handle \"pre-initialization\" telemetry initializers (for backward compatibility)\r\n if (!_preInitTelemetryInitializers) {\r\n _preInitTelemetryInitializers = [];\r\n }\r\n _preInitTelemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n try {\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n if (_preInitTelemetryInitializers) {\r\n arrForEach(_preInitTelemetryInitializers, function (initializer) {\r\n core[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](initializer);\r\n });\r\n _preInitTelemetryInitializers = null;\r\n }\r\n var extConfig = _populateDefaults(config);\r\n _updateStorageUsage(extConfig);\r\n _pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE /* @min:%2ecore */]);\r\n _pageViewManager = new PageViewManager(_self, extConfig[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */], _self[_DYN_CORE /* @min:%2ecore */], _pageViewPerformanceManager);\r\n _pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _updateBrowserLinkTracking(extConfig, config);\r\n _eventTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties, measurements) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (!measurements) {\r\n measurements = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n _self.trackEvent({ name: name, properties: properties, measurements: measurements });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageViewItem, properties);\r\n };\r\n if (hasWindow()) {\r\n _updateExceptionTracking(extConfig);\r\n _updateLocationChange(extConfig);\r\n }\r\n }\r\n catch (e) {\r\n // resetting the initialized state because of failure\r\n _self.setInitialized(false);\r\n throw e;\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);\r\n // Just register to remove all events associated with this namespace\r\n eventOff(window, null, null, _evtNamespace);\r\n _initDefaults();\r\n };\r\n function _populateDefaults(config) {\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n var identifier = _self.identifier;\r\n // load default values if specified\r\n var defaults = _getDefaultConfig(config);\r\n var extConfig = _self.config = ctx.getExtCfg(identifier);\r\n if (defaults !== undefined) {\r\n objForEachKey(defaults, function (field, value) {\r\n // for each unspecified field, set the default value\r\n extConfig[field] = ctx.getConfig(identifier, field, value);\r\n if (extConfig[field] === undefined) {\r\n extConfig = value;\r\n }\r\n });\r\n }\r\n return extConfig;\r\n }\r\n function _updateBrowserLinkTracking(extConfig, config) {\r\n _isBrowserLinkTrackingEnabled = extConfig[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */] || config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */];\r\n _addDefaultTelemetryInitializers();\r\n }\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milleseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers() {\r\n if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](dropBrowserLinkRequests);\r\n _browserLinkInitializerAdded = true;\r\n }\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n function _updateExceptionTracking(extConfig) {\r\n var _window = getWindow();\r\n var locn = getLocation(true);\r\n _disableExceptionTracking = extConfig[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */];\r\n if (!_disableExceptionTracking && !_autoExceptionInstrumented && !extConfig.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onerror\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {\r\n if (!_disableExceptionTracking && callDetails.rslt !== true) {\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](message, url, lineNumber, columnNumber, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoExceptionInstrumented = true;\r\n }\r\n _addUnhandledPromiseRejectionTracking(extConfig, _window, locn);\r\n }\r\n function _updateLocationChange(extConfig) {\r\n var win = getWindow();\r\n var locn = getLocation(true);\r\n _enableAutoRouteTracking = extConfig[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */] === true;\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (win && _enableAutoRouteTracking && hasHistory()) {\r\n var _history = getHistory();\r\n if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strUndefined) {\r\n _addHistoryListener(extConfig, win, _history, locn);\r\n }\r\n }\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n if (!distributedTraceCtx) {\r\n // Fallback when using an older Core and PropertiesPlugin\r\n var properties = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (properties) {\r\n var context = properties.plugin.context;\r\n if (context) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(context.telemetryTrace);\r\n }\r\n }\r\n }\r\n return distributedTraceCtx;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n function _addHistoryListener(extConfig, win, history, locn) {\r\n var namePrefix = extConfig[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n function _popstateHandler() {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n function _locationChangeHandler() {\r\n // We always track the changes (if the handler is installed) to handle the feature being disabled between location changes\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n else {\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (_enableAutoRouteTracking) {\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n if (distributedTraceCtx) {\r\n distributedTraceCtx.setTraceId(generateW3CId());\r\n var traceLocationName = \"_unknown_\";\r\n if (locn && locn.pathname) {\r\n traceLocationName = locn.pathname + (locn.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), traceLocationName));\r\n }\r\n setTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */]({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_self, _prevUri), _self.autoRoutePVDelay);\r\n }\r\n }\r\n if (!_historyListenerAdded) {\r\n _addHook(InstrumentEvent(history, \"pushState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"pushState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n _addHook(InstrumentEvent(history, \"replaceState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"replaceState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n eventOn(win, namePrefix + \"popstate\", _popstateHandler, _evtNamespace);\r\n eventOn(win, namePrefix + \"locationchange\", _locationChangeHandler, _evtNamespace);\r\n _historyListenerAdded = true;\r\n }\r\n }\r\n function _addUnhandledPromiseRejectionTracking(extConfig, _window, _location) {\r\n _enableUnhandledPromiseRejectionTracking = extConfig[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */] === true;\r\n if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onunhandledrejection\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, error) {\r\n if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) { // handled could be typeof function\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](_getReason(error), _location ? _location[_DYN_HREF /* @min:%2ehref */] : \"\", 0, 0, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoUnhandledPromiseInstrumented = true;\r\n extConfig.autoUnhandledPromiseInstrumented = _autoUnhandledPromiseInstrumented;\r\n }\r\n }\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {eLoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n function _throwInternal(severity, msgId, msg, properties, isUserAct) {\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]().throwInternal(severity, msgId, msg, properties, isUserAct);\r\n }\r\n function _initDefaults() {\r\n _eventTracking = null;\r\n _pageTracking = null;\r\n _pageViewManager = null;\r\n _pageViewPerformanceManager = null;\r\n _pageVisitTimeManager = null;\r\n _preInitTelemetryInitializers = null;\r\n _isBrowserLinkTrackingEnabled = false;\r\n _browserLinkInitializerAdded = false;\r\n _enableAutoRouteTracking = false;\r\n _historyListenerAdded = false;\r\n _disableExceptionTracking = false;\r\n _autoExceptionInstrumented = false;\r\n _enableUnhandledPromiseRejectionTracking = false;\r\n _autoUnhandledPromiseInstrumented = false;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var location = getLocation(true);\r\n _prevUri = location && location[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n _currUri = null;\r\n _evtNamespace = null;\r\n }\r\n // For backward compatibility\r\n objDefineAccessors(_self, \"_pageViewManager\", function () { return _pageViewManager; });\r\n objDefineAccessors(_self, \"_pageViewPerformanceManager\", function () { return _pageViewPerformanceManager; });\r\n objDefineAccessors(_self, \"_pageVisitTimeManager\", function () { return _pageVisitTimeManager; });\r\n objDefineAccessors(_self, \"_evtNamespace\", function () { return \".\" + _evtNamespace; });\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AnalyticsPlugin.prototype.getCookieMgr.\r\n// Removed Stub for AnalyticsPlugin.prototype.processTelemetry.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackTrace.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackMetric.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageView.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewPerformanceInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageViewPerformance.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendExceptionInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackException.\r\n// Removed Stub for AnalyticsPlugin.prototype._onerror.\r\n// Removed Stub for AnalyticsPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for AnalyticsPlugin.prototype.initialize.\r\n AnalyticsPlugin.Version = '2.8.18'; // Not currently used anywhere\r\n AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;\r\n return AnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { AnalyticsPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { ContextTagKeys } from \"./Contracts/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nimport { _DYN_NAME } from \"../../__DynamicConstants\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nvar Envelope = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = this;\r\n var _self = this;\r\n _self.ver = 1;\r\n _self.sampleRate = 100.0;\r\n _self.tags = {};\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self.data = data;\r\n _self.time = toISOString(new Date());\r\n _self.aiDataContract = {\r\n time: 1 /* FieldType.Required */,\r\n iKey: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* FieldType.Hidden */ : 1 /* FieldType.Required */;\r\n },\r\n tags: 1 /* FieldType.Required */,\r\n data: 1 /* FieldType.Required */\r\n };\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 13\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 37\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 10\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN_ON_LINE = \"onLine\"; // Count: 4\r\nexport var _DYN_IS_ONLINE = \"isOnline\"; // Count: 3\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 5\r\nexport var _DYN_COUNT = \"count\"; // Count: 6\r\nexport var _DYN_EVENTS_LIMIT_IN_MEM = \"eventsLimitInMem\"; // Count: 2\r\nexport var _DYN_PUSH = \"push\"; // Count: 6\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_BATCH_PAYLOADS = \"batchPayloads\"; // Count: 5\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 6\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 7\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 6\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 15\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 2\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN__SENDER_CONFIG = \"_senderConfig\"; // Count: 4\r\nexport var _DYN_ENABLE_SESSION_STORA4 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 2\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 8\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 4\r\nexport var _DYN_DISABLE_XHR = \"disableXhr\"; // Count: 5\r\nexport var _DYN_ONUNLOAD_DISABLE_FET5 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN__XHR_READY_STATE_CHA6 = \"_xhrReadyStateChange\"; // Count: 2\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 11\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 5\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 6\r\nexport var _DYN_IS_RETRY_DISABLED = \"isRetryDisabled\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // Count: 2\r\nexport var _DYN_DISABLE_INSTRUMENTAT7 = \"disableInstrumentationKeyValidation\"; // Count: 2\r\nexport var _DYN_GET_SAMPLING_SCORE = \"getSamplingScore\"; // Count: 2\r\nexport var _DYN_GET_HASH_CODE_SCORE = \"getHashCodeScore\"; // Count: 4\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { CtxTagKeys, Data, Envelope, Event, Exception, HttpMethod, Metric, PageView, PageViewPerformance, RemoteDependencyData, SampleRate, Trace, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, _warnToConsole, getJSON, hasJSON, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _DYN_DATA, _DYN_DATA_TYPE, _DYN_DEVICE_TYPE, _DYN_ENVELOPE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '2.8.18'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */], remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE /* @min:%2edataType */]) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event[_DYN_DATA_TYPE /* @min:%2edataType */], eventData);\r\n return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception[_DYN_DATA_TYPE /* @min:%2edataType */], exData);\r\n return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric[_DYN_DATA_TYPE /* @min:%2edataType */], baseMetricData);\r\n return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView[_DYN_DATA_TYPE /* @min:%2edataType */], pageViewData);\r\n return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { createUniqueNamespace, eventOff, eventOn, getDocument, getNavigator, getWindow, isNullOrUndefined, isUndefined, mergeEvtNamespace } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_IS_ONLINE, _DYN_ON_LINE } from \"./__DynamicConstants\";\r\nfunction _disableEvents(target, evtNamespace) {\r\n eventOff(target, null, null, evtNamespace);\r\n}\r\n/**\r\n * Create a new OfflineListener instance to monitor browser online / offline events\r\n * @param parentEvtNamespace - The parent event namespace to append to any specific events for this instance\r\n */\r\nexport function createOfflineListener(parentEvtNamespace) {\r\n var _a;\r\n var _document = getDocument();\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n var _isListening = false;\r\n var _onlineStatus = true;\r\n var _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"OfflineListener\"), parentEvtNamespace);\r\n try {\r\n if (_enableEvents(getWindow())) {\r\n _isListening = true;\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (target.ononline) {\r\n if (_enableEvents(target)) {\r\n _isListening = true;\r\n }\r\n }\r\n }\r\n if (_isListening) {\r\n // We are listening to events so lets set the current status rather than assuming we are online #1538\r\n if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n _onlineStatus = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n _isListening = false;\r\n }\r\n function _enableEvents(target) {\r\n var enabled = false;\r\n if (target) {\r\n enabled = eventOn(target, \"online\", _setOnline, _evtNamespace);\r\n if (enabled) {\r\n eventOn(target, \"offline\", _setOffline, _evtNamespace);\r\n }\r\n }\r\n return enabled;\r\n }\r\n function _setOnline() {\r\n _onlineStatus = true;\r\n }\r\n function _setOffline() {\r\n _onlineStatus = false;\r\n }\r\n function _isOnline() {\r\n var result = true;\r\n if (_isListening) {\r\n result = _onlineStatus;\r\n }\r\n else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n result = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n return result;\r\n }\r\n function _unload() {\r\n var win = getWindow();\r\n if (win && _isListening) {\r\n _disableEvents(win, _evtNamespace);\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n _disableEvents(target, _evtNamespace);\r\n }\r\n }\r\n _isListening = false;\r\n }\r\n }\r\n return _a = {},\r\n _a[_DYN_IS_ONLINE /* @min:isOnline */] = _isOnline,\r\n _a.isListening = function () { return _isListening; },\r\n _a.unload = _unload,\r\n _a;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_COUNT, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_NAME_PREFIX, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config[_DYN_EVENTS_LIMIT_IN_MEM /* @min:%2eeventsLimitInMem */]()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += _buffer[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */] = function (payload) {\r\n if (payload && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseSendBuffer.__ieDyn=1;\n\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n ArraySendBuffer.__ieDyn=1;\n\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n var _a = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = getItem(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, DisabledPropertyName, Event, Exception, Metric, PageView, PageViewPerformance, ProcessLegacy, RemoteDependencyData, RequestHeaders, SampleRate, Trace, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, _warnToConsole, arrForEach, arrIndexOf, createUniqueNamespace, dateNow, dumpObj, getExceptionName, getIEVersion, getJSON, getNavigator, getWindow, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, isXhrSupported, mergeEvtNamespace, objForEachKey, objKeys, useXDomainRequest } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { createOfflineListener } from \"./Offline\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_BASE_TYPE, _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CUSTOM_HEADERS, _DYN_DIAG_LOG, _DYN_DISABLE_INSTRUMENTAT7, _DYN_DISABLE_TELEMETRY, _DYN_DISABLE_XHR, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SESSION_STORA4, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_EVENTS_SEND_REQUEST, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_IS_ONLINE, _DYN_IS_RETRY_DISABLED, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_NAME_PREFIX, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET5, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SAMPLING_PERCENTAGE, _DYN_SET_REQUEST_HEADER, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER, _DYN__SENDER_CONFIG, _DYN__XHR_READY_STATE_CHA6 } from \"./__DynamicConstants\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction _getDefaultAppInsightsChannelConfig() {\r\n var _a;\r\n var defaultValue;\r\n var defaultCustomHeaders;\r\n // set default values\r\n return _a = {\r\n endpointUrl: function () { return DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH; }\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = function () { return false; },\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = function () { return 15000; },\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = function () { return 102400; },\r\n _a[_DYN_DISABLE_TELEMETRY /* @min:disableTelemetry */] = function () { return false; },\r\n _a[_DYN_ENABLE_SESSION_STORA4 /* @min:enableSessionStorageBuffer */] = function () { return true; },\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = function () { return false; },\r\n _a[_DYN_IS_RETRY_DISABLED /* @min:isRetryDisabled */] = function () { return false; },\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = function () { return true; },\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:onunloadDisableFetch */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = function () { return false; },\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = function () { return defaultValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SAMPLING_PERCENTAGE /* @min:samplingPercentage */] = function () { return 100; },\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = function () { return defaultCustomHeaders; },\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = function () { return defaultValue; },\r\n _a[_DYN_EVENTS_LIMIT_IN_MEM /* @min:eventsLimitInMem */] = function () { return 10000; },\r\n _a.retryCodes = function () { return null; },\r\n _a;\r\n}\r\nvar EnvelopeTypeCreator = (_a = {},\r\n _a[Event.dataType] = EventEnvelopeCreator,\r\n _a[Trace.dataType] = TraceEnvelopeCreator,\r\n _a[PageView.dataType] = PageViewEnvelopeCreator,\r\n _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _a[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _a[Metric.dataType] = MetricEnvelopeCreator,\r\n _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _a);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n /**\r\n * The configuration for this sender instance\r\n */\r\n _this._senderConfig = _getDefaultAppInsightsChannelConfig();\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _fallbackSender; // The sender to use if the payload size is too large\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _retryCodes;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n if (_self._buffer.size() > _self._senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if ((_self._senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */]() === false || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() === false) && isBeaconsSupported()) {\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush();\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // TODO v3.x: Change the ISenderConfig to not be function calls\r\n var defaultConfig = _getDefaultAppInsightsChannelConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][field] = function () {\r\n var theValue = ctx.getConfig(identifier, field, value());\r\n if (!theValue && field === \"endpointUrl\") {\r\n // Use the default value (handles empty string in the configuration)\r\n theValue = value();\r\n }\r\n return theValue;\r\n };\r\n });\r\n _retryCodes = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */].retryCodes();\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var useSessionStorage = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENABLE_SESSION_STORA4 /* @min:%2eenableSessionStorageBuffer */]() &&\r\n !!(_self._senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || utlCanUseSessionStorage());\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = useSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */])\r\n : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */]);\r\n _self._sample = new Sample(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */](), diagLog);\r\n if (!_validateInstrumentationKey(config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */](), function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n var senderConfig = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */];\r\n var sendPostFunc = null;\r\n if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n sendPostFunc = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n if (!sendPostFunc && isFetchSupported()) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n // always fallback to XHR\r\n _fallbackSender = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n sendPostFunc = _beaconSender;\r\n }\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:%2eonunloadDisableFetch */]() && isFetchSupported(true)) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Try and use sendBeacon\r\n _syncUnloadSender = _beaconSender;\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n _syncUnloadSender = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n _syncUnloadSender = _xhrSender;\r\n }\r\n else {\r\n _syncUnloadSender = _fallbackSender;\r\n }\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n var convertUndefined = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */]() || undefined;\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]();\r\n var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, convertUndefined);\r\n if (!aiEnvelope_1) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem_1 = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope_1) === false) {\r\n doNotSendItem_1 = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem_1) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope_1);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var bufferSize = buffer.size();\r\n if ((bufferSize + payload[_DYN_LENGTH /* @min:%2elength */]) > _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n }\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self[_DYN__XHR_READY_STATE_CHA6 /* @min:%2e_xhrReadyStateChange */] = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n _self[_DYN__SENDER /* @min:%2e_sender */](payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n _offlineListener.unload();\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, _formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = _parseResponse(responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = _parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]() && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = _parseResponse(res);\r\n }\r\n if (response && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]()) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = function () { return responseUrl; };\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n _beaconSender(payload, isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload) {\r\n var nav = getNavigator();\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var url = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = new Blob([batch], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n // no response from beaconSender, clear buffer\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, isAsync) {\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload)) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = payload[lp];\r\n if (!_doBeaconSend([thePayload])) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSender && _fallbackSender(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n function _xhrSender(payload, isAsync) {\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n try {\r\n xhr[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n xhr.open(\"POST\", endPointUrl, isAsync);\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](headerName, _headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH /* @min:%2elength */]); };\r\n xhr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xhr.send(batch);\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payload, false);\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n _beaconSender(payload, isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSender && _fallbackSender(payload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n }\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _fetchSender(payload, isAsync) {\r\n _doFetchSender(payload, true);\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, isAsync) {\r\n var _a;\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var requestHeaders = new Headers();\r\n var batchLength = batch[_DYN_LENGTH /* @min:%2elength */];\r\n var ignoreResponse = false;\r\n var responseHandled = false;\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n requestHeaders.append(RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n requestHeaders.append(headerName, _headers[headerName]);\r\n });\r\n var init = (_a = {\r\n method: \"POST\",\r\n headers: requestHeaders,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n if (!isAsync) {\r\n init.keepalive = true;\r\n // As a sync request (during unload), it is unlikely that we will get a chance to process the response so\r\n // just like beacon send assume that the events have been accepted and processed\r\n ignoreResponse = true;\r\n _syncFetchPayload += batchLength;\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n try {\r\n fetch(request).then(function (response) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!response.ok) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response.statusText);\r\n }\r\n else {\r\n response.text().then(function (text) {\r\n _checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH /* @min:%2elength */], response.statusText, text);\r\n });\r\n }\r\n }\r\n })[\"catch\"](function (error) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, error.message);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, dumpObj(e));\r\n }\r\n }\r\n if (ignoreResponse && !responseHandled) {\r\n // Assume success during unload processing as we most likely won't get the response\r\n responseHandled = true;\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n function _parseResponse(response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */] &&\r\n result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH /* @min:%2elength */]) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, \"Cannot parse the response. \" + getExceptionName(e), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */](), retryInterval);\r\n _timeoutHandle = setTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n clearTimeout(_timeoutHandle);\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n // retryCodes = [] means should not retry\r\n if (!isNullOrUndefined(_retryCodes)) {\r\n return _retryCodes[_DYN_LENGTH /* @min:%2elength */] && arrIndexOf(_retryCodes, statusCode) > -1;\r\n }\r\n return statusCode === 401 // Unauthorized\r\n // Removing as private links can return a 403 which causes excessive retries and session storage usage\r\n //|| statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n function _formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + _getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, isAsync) {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr), event); };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location.protocol || \"\";\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n return;\r\n }\r\n var endpointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n // compose an array of payloads\r\n var batch = buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xdr.send(batch);\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + _getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */]) {\r\n try {\r\n manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(config) {\r\n var disableIKeyValidationFlag = isNullOrUndefined(config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */]) ? false : config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */];\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _fallbackSender = null;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* FieldType.Required */) : (contract & 1 /* FieldType.Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* FieldType.Hidden */) : (contract & 4 /* FieldType.Hidden */);\r\n var isArray = contract & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.serialize.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n Serializer.__ieDyn=1;\n\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input.concat(input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nimport { _DYN_GET_HASH_CODE_SCORE, _DYN_GET_SAMPLING_SCORE, _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */] = function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE /* @min:%2egetHashCodeScore */](item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA_TYPE, _DYN_GET_SAMPLING_SCORE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */]; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */](envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrReduce, objKeys, strEndsWith } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { _DYN_INGESTIONENDPOINT, _DYN_LENGTH, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString[_DYN_SPLIT /* @min:%2esplit */](_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv[_DYN_SPLIT /* @min:%2esplit */](_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts[_DYN_LENGTH /* @min:%2elength */] === 2) { // only save fields with valid formats\r\n var key = kvParts[0][_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // use endpoint suffix where overrides are not provided\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n if (strEndsWith(result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */], \"/\")) {\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */].slice(0, -1);\r\n }\r\n }\r\n // apply the default endpoints\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || DEFAULT_BREEZE_ENDPOINT;\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel = createEnumStyle({\r\n Verbose: 0 /* eSeverityLevel.Verbose */,\r\n Information: 1 /* eSeverityLevel.Information */,\r\n Warning: 2 /* eSeverityLevel.Warning */,\r\n Error: 3 /* eSeverityLevel.Error */,\r\n Critical: 4 /* eSeverityLevel.Critical */\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// \r\nimport { _DYN_CONFIG, _DYN_CREATE_NEW, _DYN_FLUSH, _DYN_IDENTIFIER, _DYN_LENGTH, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { arrForEach, isArray, objFreeze, throwError } from \"./HelperFuncs\";\r\nimport { STR_PRIORITY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { initializePlugins } from \"./TelemetryHelpers\";\r\nexport var ChannelControllerPriority = 500;\r\nvar ChannelValidationMessage = \"Channel has invalid priority - \";\r\nfunction _addChannelQueue(channelQueue, queue, core) {\r\n if (queue && isArray(queue) && queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n queue = queue.sort(function (a, b) {\r\n return a[STR_PRIORITY /* @min:%2epriority */] - b[STR_PRIORITY /* @min:%2epriority */];\r\n });\r\n arrForEach(queue, function (queueItem) {\r\n if (queueItem[STR_PRIORITY /* @min:%2epriority */] < ChannelControllerPriority) {\r\n throwError(ChannelValidationMessage + queueItem[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n }\r\n });\r\n channelQueue[_DYN_PUSH /* @min:%2epush */]({\r\n queue: objFreeze(queue),\r\n chain: createTelemetryProxyChain(queue, core[_DYN_CONFIG /* @min:%2econfig */], core)\r\n });\r\n }\r\n}\r\nexport function createChannelControllerPlugin(channelQueue, core) {\r\n function _getTelCtx() {\r\n return createProcessTelemetryContext(null, core[_DYN_CONFIG /* @min:%2econfig */], core, null);\r\n }\r\n function _processChannelQueue(theChannels, itemCtx, processFn, onComplete) {\r\n var waiting = theChannels ? (theChannels[_DYN_LENGTH /* @min:%2elength */] + 1) : 1;\r\n function _runChainOnComplete() {\r\n waiting--;\r\n if (waiting === 0) {\r\n onComplete && onComplete();\r\n onComplete = null;\r\n }\r\n }\r\n if (waiting > 0) {\r\n arrForEach(theChannels, function (channels) {\r\n // pass on to first item in queue\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var channelChain = channels.chain;\r\n var chainCtx = itemCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](channelChain);\r\n chainCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_runChainOnComplete);\r\n // Cause this chain to start processing\r\n processFn(chainCtx);\r\n }\r\n else {\r\n waiting--;\r\n }\r\n });\r\n }\r\n _runChainOnComplete();\r\n }\r\n function _doUpdate(updateCtx, updateState) {\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n _processChannelQueue(channelQueue, updateCtx, function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUpdateState);\r\n }, function () {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUpdateState);\r\n });\r\n return true;\r\n }\r\n function _doTeardown(unloadCtx, unloadState) {\r\n var theUnloadState = unloadState || {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */,\r\n isAsync: false\r\n };\r\n _processChannelQueue(channelQueue, unloadCtx, function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }, function () {\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n isInitialized = false;\r\n });\r\n return true;\r\n }\r\n function _getChannel(pluginIdentifier) {\r\n var thePlugin = null;\r\n if (channelQueue && channelQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channelQueue, function (channels) {\r\n // pass on to first item in queue\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channels.queue, function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier) {\r\n thePlugin = ext;\r\n // Cause arrForEach to stop iterating\r\n return -1;\r\n }\r\n });\r\n if (thePlugin) {\r\n // Cause arrForEach to stop iterating\r\n return -1;\r\n }\r\n }\r\n });\r\n }\r\n return thePlugin;\r\n }\r\n var isInitialized = false;\r\n var channelController = {\r\n identifier: \"ChannelControllerPlugin\",\r\n priority: ChannelControllerPriority,\r\n initialize: function (config, core, extensions, pluginChain) {\r\n isInitialized = true;\r\n arrForEach(channelQueue, function (channels) {\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);\r\n }\r\n });\r\n },\r\n isInitialized: function () {\r\n return isInitialized;\r\n },\r\n processTelemetry: function (item, itemCtx) {\r\n _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item);\r\n }, function () {\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item);\r\n });\r\n },\r\n update: _doUpdate,\r\n pause: function () {\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n plugin.pause && plugin.pause();\r\n });\r\n }, null);\r\n },\r\n resume: function () {\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n plugin.resume && plugin.resume();\r\n });\r\n }, null);\r\n },\r\n teardown: _doTeardown,\r\n getChannel: _getChannel,\r\n flush: function (isAsync, callBack, sendReason, cbTimeout) {\r\n // Setting waiting to one so that we don't call the callBack until we finish iterating\r\n var waiting = 1;\r\n var doneIterating = false;\r\n var cbTimer = null;\r\n cbTimeout = cbTimeout || 5000;\r\n function doCallback() {\r\n waiting--;\r\n if (doneIterating && waiting === 0) {\r\n if (cbTimer) {\r\n clearTimeout(cbTimer);\r\n cbTimer = null;\r\n }\r\n callBack && callBack(doneIterating);\r\n callBack = null;\r\n }\r\n }\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n if (plugin[_DYN_FLUSH /* @min:%2eflush */]) {\r\n waiting++;\r\n var handled_1 = false;\r\n // Not all channels will call this callback for every scenario\r\n if (!plugin[_DYN_FLUSH /* @min:%2eflush */](isAsync, function () {\r\n handled_1 = true;\r\n doCallback();\r\n }, sendReason)) {\r\n if (!handled_1) {\r\n // If any channel doesn't return true and it didn't call the callback, then we should assume that the callback\r\n // will never be called, so use a timeout to allow the channel(s) some time to \"finish\" before triggering any\r\n // followup function (such as unloading)\r\n if (isAsync && cbTimer == null) {\r\n cbTimer = setTimeout(function () {\r\n cbTimer = null;\r\n doCallback();\r\n }, cbTimeout);\r\n }\r\n else {\r\n doCallback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }, function () {\r\n doneIterating = true;\r\n doCallback();\r\n });\r\n return true;\r\n },\r\n _setQueue: function (queue) {\r\n channelQueue = queue;\r\n }\r\n };\r\n return channelController;\r\n}\r\nexport function createChannelQueues(channels, extensions, core) {\r\n var channelQueue = [];\r\n if (channels) {\r\n // Add and sort the configuration channel queues\r\n arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, core); });\r\n }\r\n if (extensions) {\r\n // Create a new channel queue for any extensions with a priority > the ChannelControllerPriority\r\n var extensionQueue_1 = [];\r\n arrForEach(extensions, function (plugin) {\r\n if (plugin[STR_PRIORITY /* @min:%2epriority */] > ChannelControllerPriority) {\r\n extensionQueue_1[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n });\r\n _addChannelQueue(channelQueue, extensionQueue_1, core);\r\n }\r\n return channelQueue;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n// \r\n// \r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_APPLY, _DYN_DIAG_LOG, _DYN_LENGTH, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SPLICE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach, getExceptionName } from \"./HelperFuncs\";\r\nimport { STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nvar TelemetryInitializerPlugin = /** @class */ (function (_super) {\r\n __extends(TelemetryInitializerPlugin, _super);\r\n function TelemetryInitializerPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"TelemetryInitializerPlugin\";\r\n _this.priority = 199;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _id;\r\n var _initializers;\r\n _initDefaults();\r\n dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) {\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n var theInitializer = {\r\n id: _id++,\r\n fn: telemetryInitializer\r\n };\r\n _initializers[_DYN_PUSH /* @min:%2epush */](theInitializer);\r\n var handler = {\r\n remove: function () {\r\n arrForEach(_initializers, function (initializer, idx) {\r\n if (initializer.id === theInitializer.id) {\r\n _initializers[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n return handler;\r\n };\r\n _self[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */] = function (item, itemCtx) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _initializers[_DYN_LENGTH /* @min:%2elength */];\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _initializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.fn[_DYN_APPLY /* @min:%2eapply */](null, [item]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item, itemCtx);\r\n }\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function () {\r\n _initDefaults();\r\n };\r\n });\r\n function _initDefaults() {\r\n _id = 0;\r\n _initializers = [];\r\n }\r\n return _this;\r\n }\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n TelemetryInitializerPlugin.__ieDyn=1;\n\n return TelemetryInitializerPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { TelemetryInitializerPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { __spreadArrayFn as __spreadArray } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { objCreateFn } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CONFIG, _DYN_FLUSH, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_ENABLED, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN__EXTENSIONS } from \"../__DynamicConstants\";\r\nimport { ChannelControllerPriority, createChannelControllerPlugin, createChannelQueues } from \"./ChannelController\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDebugListener } from \"./DbgExtensionUtils\";\r\nimport { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { arrForEach, arrIndexOf, getCfgValue, getSetValue, isFunction, isNullOrUndefined, objExtend, objFreeze, proxyFunctionAs, proxyFunctions, throwError, toISOString } from \"./HelperFuncs\";\r\nimport { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY } from \"./InternalConstants\";\r\nimport { PerfManager, getGblPerfMgr } from \"./PerfManager\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { TelemetryInitializerPlugin } from \"./TelemetryInitializerPlugin\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nvar strValidationError = \"Plugins must provide initialize method\";\r\nvar strNotificationManager = \"_notificationManager\";\r\nvar strSdkUnloadingError = \"SDK is still unloading...\";\r\nvar strSdkNotInitialized = \"SDK is not initialized\";\r\n// const strPluginUnloadFailed = \"Failed to unload plugin\";\r\nvar defaultInitConfig = {\r\n // Have the Diagnostic Logger default to log critical errors to the console\r\n loggingLevelConsole: 1 /* eLoggingSeverity.CRITICAL */\r\n};\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nfunction _validateExtensions(logger, channelPriority, allExtensions) {\r\n var _a;\r\n // Concat all available extensions\r\n var coreExtensions = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n // Check for ext.initialize\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {\r\n throwError(strValidationError);\r\n }\r\n var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];\r\n var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n _warnToConsole(logger, \"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channelController\r\n if (!extPriority || extPriority < channelPriority) {\r\n // Add to core extension that will be managed by BaseCore\r\n coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n return _a = {\r\n all: allExtensions\r\n },\r\n _a[STR_CORE /* @min:core */] = coreExtensions,\r\n _a;\r\n}\r\nfunction _isPluginPresent(thePlugin, plugins) {\r\n var exists = false;\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin === thePlugin) {\r\n exists = true;\r\n return -1;\r\n }\r\n });\r\n return exists;\r\n}\r\nfunction _createDummyNotificationManager() {\r\n var _a;\r\n return objCreateFn((_a = {},\r\n _a[_DYN_ADD_NOTIFICATION_LIS1 /* @min:addNotificationListener */] = function (listener) { },\r\n _a[_DYN_REMOVE_NOTIFICATION_2 /* @min:removeNotificationListener */] = function (listener) { },\r\n _a[STR_EVENTS_SENT /* @min:eventsSent */] = function (events) { },\r\n _a[STR_EVENTS_DISCARDED /* @min:eventsDiscarded */] = function (events, reason) { },\r\n _a[STR_EVENTS_SEND_REQUEST /* @min:eventsSendRequest */] = function (sendReason, isAsync) { },\r\n _a));\r\n}\r\nvar BaseCore = /** @class */ (function () {\r\n function BaseCore() {\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _config;\r\n var _isInitialized;\r\n var _eventQueue;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cfgPerfManager;\r\n var _cookieManager;\r\n var _pluginChain;\r\n var _configExtensions;\r\n var _coreExtensions;\r\n var _channelControl;\r\n var _channelConfig;\r\n var _channelQueue;\r\n var _isUnloading;\r\n var _telemetryInitializerPlugin;\r\n var _internalLogsEventName;\r\n var _evtNamespace;\r\n var _unloadHandlers;\r\n var _debugListener;\r\n var _traceCtx;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller = 0;\r\n var _forceStopInternalLogPoller = false;\r\n dynamicProto(BaseCore, this, function (_self) {\r\n // Set the default values (also called during teardown)\r\n _initDefaults();\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };\r\n // Creating the self.initialize = ()\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n if (_isUnloading) {\r\n throwError(strSdkUnloadingError);\r\n }\r\n // Make sure core is only initialized once\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n throwError(\"Core should not be initialized more than once\");\r\n }\r\n _config = config || {};\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = _config;\r\n if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {\r\n throwError(\"Please provide instrumentation key\");\r\n }\r\n _notificationManager = notificationManager;\r\n // For backward compatibility only\r\n _self[strNotificationManager] = notificationManager;\r\n _initDebugListener();\r\n _initPerfManager();\r\n // add notification to the extensions in the config so other plugins can access it\r\n _initExtConfig();\r\n if (logger) {\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = logger;\r\n }\r\n var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);\r\n // Extension validation\r\n _configExtensions = [];\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));\r\n _channelConfig = getSetValue(_config, STR_CHANNELS, []);\r\n _initPluginChain(null);\r\n if (!_channelQueue || _channelQueue[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n throwError(\"No \" + STR_CHANNELS + \" available\");\r\n }\r\n _isInitialized = true;\r\n _self.releaseQueue();\r\n };\r\n _self.getTransmissionControls = function () {\r\n var controls = [];\r\n if (_channelQueue) {\r\n arrForEach(_channelQueue, function (channels) {\r\n controls[_DYN_PUSH /* @min:%2epush */](channels.queue);\r\n });\r\n }\r\n return objFreeze(controls);\r\n };\r\n _self.track = function (telemetryItem) {\r\n // setup default iKey if not passed in\r\n telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n // add default timestamp if not passed in\r\n telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());\r\n // Common Schema 4.0\r\n telemetryItem.ver = telemetryItem.ver || \"4.0\";\r\n if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n // Process the telemetry plugin chain\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);\r\n }\r\n else {\r\n // Queue events until all extensions are initialized\r\n _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);\r\n }\r\n };\r\n _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {\r\n if (!_notificationManager) {\r\n // Create Dummy notification manager\r\n _notificationManager = _createDummyNotificationManager();\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param {INotificationListener} listener - An INotificationListener object.\r\n */\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);\r\n }\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](listener);\r\n }\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n _cookieManager = cookieMgr;\r\n };\r\n _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {\r\n if (!_perfManager && !_cfgPerfManager) {\r\n if (getCfgValue(_config.enablePerfMgr)) {\r\n var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */]);\r\n if (isFunction(createPerfMgr)) {\r\n _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());\r\n }\r\n }\r\n }\r\n return _perfManager || _cfgPerfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.releaseQueue = function () {\r\n if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var eventQueue = _eventQueue;\r\n _eventQueue = [];\r\n arrForEach(eventQueue, function (event) {\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);\r\n });\r\n }\r\n };\r\n _self.pollInternalLogs = function (eventName) {\r\n _internalLogsEventName = eventName || null;\r\n _forceStopInternalLogPoller = false;\r\n if (_internalLogPoller) {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = null;\r\n }\r\n return _startInternalLogTimer(true);\r\n };\r\n function _startInternalLogTimer(alwaysStart) {\r\n if (!_internalLogPoller && !_forceStopInternalLogPoller) {\r\n var shouldStart = alwaysStart || (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue[_DYN_LENGTH /* @min:%2elength */] > 0);\r\n if (shouldStart) {\r\n var interval = getCfgValue(_config.diagnosticLogInterval);\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n // Keeping as an interval timer for backward compatibility as it returns the result\r\n _internalLogPoller = setInterval(function () {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n _flushInternalLogs();\r\n }, interval);\r\n }\r\n }\r\n return _internalLogPoller;\r\n }\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {\r\n _forceStopInternalLogPoller = true;\r\n if (_internalLogPoller) {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n _flushInternalLogs();\r\n }\r\n };\r\n // Add addTelemetryInitializer\r\n proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, [\"addTelemetryInitializer\"]);\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_isInitialized) {\r\n // The SDK is not initialized\r\n throwError(strSdkNotInitialized);\r\n }\r\n // Check if the SDK still unloading so throw\r\n if (_isUnloading) {\r\n // The SDK is already unloading\r\n throwError(strSdkUnloadingError);\r\n }\r\n var unloadState = (_a = {\r\n reason: 50 /* TelemetryUnloadReason.SdkUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a.flushComplete = false,\r\n _a);\r\n var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);\r\n processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n }, _self);\r\n function _doUnload(flushComplete) {\r\n unloadState.flushComplete = flushComplete;\r\n _isUnloading = true;\r\n // Run all of the unload handlers first (before unloading the plugins)\r\n _unloadHandlers.run(processUnloadCtx, unloadState);\r\n // Stop polling the internal logs\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();\r\n // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state\r\n processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n _flushInternalLogs();\r\n if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {\r\n _doUnload(false);\r\n }\r\n };\r\n _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;\r\n _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {\r\n if (!plugin) {\r\n addCb && addCb(false);\r\n _logOrThrowError(strValidationError);\r\n return;\r\n }\r\n var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n if (existingPlugin && !replaceExisting) {\r\n addCb && addCb(false);\r\n _logOrThrowError(\"Plugin [\" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"] is already loaded!\");\r\n return;\r\n }\r\n var updateState = {\r\n reason: 16 /* TelemetryUpdateReason.PluginAdded */\r\n };\r\n function _addPlugin(removed) {\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n updateState.added = [plugin];\r\n // Re-Initialize the plugin chain\r\n _initPluginChain(updateState);\r\n addCb && addCb(true);\r\n }\r\n if (existingPlugin) {\r\n var removedPlugins_1 = [existingPlugin.plugin];\r\n var unloadState = {\r\n reason: 2 /* TelemetryUnloadReason.PluginReplace */,\r\n isAsync: !!isAsync\r\n };\r\n _removePlugins(removedPlugins_1, unloadState, function (removed) {\r\n if (!removed) {\r\n // Previous plugin was successfully removed or was not installed\r\n addCb && addCb(false);\r\n }\r\n else {\r\n updateState.removed = removedPlugins_1;\r\n updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;\r\n _addPlugin(true);\r\n }\r\n });\r\n }\r\n else {\r\n _addPlugin(false);\r\n }\r\n };\r\n _self.evtNamespace = function () {\r\n return _evtNamespace;\r\n };\r\n _self[_DYN_FLUSH /* @min:%2eflush */] = _flushChannels;\r\n _self.getTraceCtx = function (createNew) {\r\n if (!_traceCtx) {\r\n _traceCtx = createDistributedTraceContext();\r\n }\r\n return _traceCtx;\r\n };\r\n _self.setTraceCtx = function (traceCtx) {\r\n _traceCtx = traceCtx || null;\r\n };\r\n // Create the addUnloadCb\r\n proxyFunctionAs(_self, \"addUnloadCb\", function () { return _unloadHandlers; }, \"add\");\r\n function _initDefaults() {\r\n _isInitialized = false;\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _config = objExtend(true, {}, defaultInitConfig);\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = _config;\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_config);\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = [];\r\n _telemetryInitializerPlugin = new TelemetryInitializerPlugin();\r\n _eventQueue = [];\r\n _notificationManager = null;\r\n _perfManager = null;\r\n _cfgPerfManager = null;\r\n _cookieManager = null;\r\n _pluginChain = null;\r\n _coreExtensions = null;\r\n _configExtensions = [];\r\n _channelControl = null;\r\n _channelConfig = null;\r\n _channelQueue = null;\r\n _isUnloading = false;\r\n _internalLogsEventName = null;\r\n _evtNamespace = createUniqueNamespace(\"AIBaseCore\", true);\r\n _unloadHandlers = createUnloadHandlerContainer();\r\n _traceCtx = null;\r\n }\r\n function _createTelCtx() {\r\n var theCtx = createProcessTelemetryContext(_getPluginChain(), _config, _self);\r\n theCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startInternalLogTimer);\r\n return theCtx;\r\n }\r\n // Initialize or Re-initialize the plugins\r\n function _initPluginChain(updateState) {\r\n // Extension validation\r\n var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);\r\n _coreExtensions = theExtensions[STR_CORE /* @min:%2ecore */];\r\n _pluginChain = null;\r\n // Sort the complete set of extensions by priority\r\n var allExtensions = theExtensions.all;\r\n // Initialize the Channel Queues and the channel plugins first\r\n _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self));\r\n if (_channelControl) {\r\n // During add / remove of a plugin this may get called again, so don't re-add if already present\r\n // But we also want the controller as the last, so remove if already present\r\n // And reusing the existing instance, just in case an installed plugin has a reference and\r\n // is using it.\r\n var idx = arrIndexOf(allExtensions, _channelControl);\r\n if (idx !== -1) {\r\n allExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n idx = arrIndexOf(_coreExtensions, _channelControl);\r\n if (idx !== -1) {\r\n _coreExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n _channelControl._setQueue(_channelQueue);\r\n }\r\n else {\r\n _channelControl = createChannelControllerPlugin(_channelQueue, _self);\r\n }\r\n // Add on \"channelController\" as the last \"plugin\"\r\n allExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);\r\n _coreExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);\r\n // Required to allow plugins to call core.getPlugin() during their own initialization\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = sortPlugins(allExtensions);\r\n // Initialize the controls\r\n _channelControl[_DYN_INITIALIZE /* @min:%2einitialize */](_config, _self, allExtensions);\r\n var initCtx = _createTelCtx();\r\n initializePlugins(initCtx, allExtensions);\r\n // Now reset the extensions to just those being managed by Basecore\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = objFreeze(sortPlugins(_coreExtensions || [])).slice();\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n }\r\n function _getPlugin(pluginIdentifier) {\r\n var _a;\r\n var theExt = null;\r\n var thePlugin = null;\r\n arrForEach(_self[_DYN__EXTENSIONS /* @min:%2e_extensions */], function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {\r\n thePlugin = ext;\r\n return -1;\r\n }\r\n });\r\n if (!thePlugin && _channelControl) {\r\n // Check the channel Controller\r\n thePlugin = _channelControl.getChannel(pluginIdentifier);\r\n }\r\n if (thePlugin) {\r\n theExt = (_a = {\r\n plugin: thePlugin\r\n },\r\n _a[_DYN_SET_ENABLED /* @min:setEnabled */] = function (enabled) {\r\n _getPluginState(thePlugin)[STR_DISABLED] = !enabled;\r\n },\r\n _a.isEnabled = function () {\r\n var pluginState = _getPluginState(thePlugin);\r\n return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];\r\n },\r\n _a.remove = function (isAsync, removeCb) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n var pluginsToRemove = [thePlugin];\r\n var unloadState = (_a = {\r\n reason: 1 /* TelemetryUnloadReason.PluginUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a);\r\n _removePlugins(pluginsToRemove, unloadState, function (removed) {\r\n if (removed) {\r\n // Re-Initialize the plugin chain\r\n _initPluginChain({\r\n reason: 32 /* TelemetryUpdateReason.PluginRemoved */,\r\n removed: pluginsToRemove\r\n });\r\n }\r\n removeCb && removeCb(removed);\r\n });\r\n },\r\n _a);\r\n }\r\n return theExt;\r\n }\r\n function _getPluginChain() {\r\n if (!_pluginChain) {\r\n // copy the collection of extensions\r\n var extensions = (_coreExtensions || []).slice();\r\n // During add / remove this may get called again, so don't readd if already present\r\n if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {\r\n extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);\r\n }\r\n _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);\r\n }\r\n return _pluginChain;\r\n }\r\n function _removePlugins(thePlugins, unloadState, removeComplete) {\r\n if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);\r\n var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);\r\n unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n var removed = false;\r\n // Remove the listed config extensions\r\n var newConfigExtensions = [];\r\n arrForEach(_configExtensions, function (plugin, idx) {\r\n if (!_isPluginPresent(plugin, thePlugins)) {\r\n newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n _configExtensions = newConfigExtensions;\r\n // Re-Create the channel config\r\n var newChannelConfig = [];\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (queue, idx) {\r\n var newQueue = [];\r\n arrForEach(queue, function (channel) {\r\n if (!_isPluginPresent(channel, thePlugins)) {\r\n newQueue[_DYN_PUSH /* @min:%2epush */](channel);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);\r\n });\r\n _channelConfig = newChannelConfig;\r\n }\r\n removeComplete && removeComplete(removed);\r\n _startInternalLogTimer();\r\n });\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n else {\r\n removeComplete(false);\r\n }\r\n }\r\n function _flushInternalLogs() {\r\n if (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue) {\r\n var queue = _self[_DYN_LOGGER /* @min:%2elogger */].queue.slice(0);\r\n _self[_DYN_LOGGER /* @min:%2elogger */].queue[_DYN_LENGTH /* @min:%2elength */] = 0;\r\n arrForEach(queue, function (logMessage) {\r\n var _a;\r\n var item = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : \"InternalMessageId: \" + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],\r\n _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]),\r\n _a.time = toISOString(new Date()),\r\n _a.baseType = _InternalLogMessage.dataType,\r\n _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },\r\n _a);\r\n _self.track(item);\r\n });\r\n }\r\n }\r\n function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {\r\n if (_channelControl) {\r\n return _channelControl[_DYN_FLUSH /* @min:%2eflush */](isAsync, callBack, sendReason || 6 /* SendRequestReason.SdkUnload */, cbTimeout);\r\n }\r\n callBack && callBack(false);\r\n return true;\r\n }\r\n function _initDebugListener() {\r\n var disableDbgExt = getCfgValue(_config.disableDbgExt);\r\n if (disableDbgExt === true && _debugListener) {\r\n // Remove any previously loaded debug listener\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](_debugListener);\r\n _debugListener = null;\r\n }\r\n if (_notificationManager && !_debugListener && disableDbgExt !== true) {\r\n _debugListener = getDebugListener(_config);\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](_debugListener);\r\n }\r\n }\r\n function _initPerfManager() {\r\n var enablePerfMgr = getCfgValue(_config.enablePerfMgr);\r\n if (!enablePerfMgr && _cfgPerfManager) {\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n }\r\n if (enablePerfMgr) {\r\n // Set the performance manager creation function if not defined\r\n getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);\r\n }\r\n }\r\n function _initExtConfig() {\r\n var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});\r\n extConfig.NotificationManager = _notificationManager;\r\n }\r\n function _doUpdate(updateState) {\r\n var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);\r\n updateCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startInternalLogTimer);\r\n if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n function _logOrThrowError(message) {\r\n var logger = _self[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // there should always be a logger\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);\r\n _startInternalLogTimer();\r\n }\r\n else {\r\n throwError(message);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for BaseCore.prototype.initialize.\r\n// Removed Stub for BaseCore.prototype.getTransmissionControls.\r\n// Removed Stub for BaseCore.prototype.track.\r\n// Removed Stub for BaseCore.prototype.getProcessTelContext.\r\n// Removed Stub for BaseCore.prototype.getNotifyMgr.\r\n// Removed Stub for BaseCore.prototype.addNotificationListener.\r\n// Removed Stub for BaseCore.prototype.removeNotificationListener.\r\n// Removed Stub for BaseCore.prototype.getCookieMgr.\r\n// Removed Stub for BaseCore.prototype.setCookieMgr.\r\n// Removed Stub for BaseCore.prototype.getPerfMgr.\r\n// Removed Stub for BaseCore.prototype.setPerfMgr.\r\n// Removed Stub for BaseCore.prototype.eventCnt.\r\n// Removed Stub for BaseCore.prototype.pollInternalLogs.\r\n// Removed Stub for BaseCore.prototype.stopPollingInternalLogs.\r\n// Removed Stub for BaseCore.prototype.addTelemetryInitializer.\r\n// Removed Stub for BaseCore.prototype.unload.\r\n// Removed Stub for BaseCore.prototype.getPlugin.\r\n// Removed Stub for BaseCore.prototype.addPlugin.\r\n// Removed Stub for BaseCore.prototype.evtNamespace.\r\n// Removed Stub for BaseCore.prototype.addUnloadCb.\r\n// Removed Stub for BaseCore.prototype.flush.\r\n// Removed Stub for BaseCore.prototype.getTraceCtx.\r\n// Removed Stub for BaseCore.prototype.setTraceCtx.\r\n// Removed Stub for BaseCore.prototype.releaseQueue.\r\n// Removed Stub for BaseCore.prototype._updateHook.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseCore.__ieDyn=1;\n\n return BaseCore;\r\n}());\r\nexport { BaseCore };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LISTENERS, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { arrForEach, arrIndexOf } from \"./HelperFuncs\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nfunction _runListeners(listeners, name, isAsync, callback) {\r\n arrForEach(listeners, function (listener) {\r\n if (listener && listener[name]) {\r\n if (isAsync) {\r\n setTimeout(function () { return callback(listener); }, 0);\r\n }\r\n else {\r\n try {\r\n callback(listener);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _self.listeners[_DYN_PUSH /* @min:%2epush */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n var index = arrIndexOf(_self[_DYN_LISTENERS /* @min:%2elisteners */], listener);\r\n while (index > -1) {\r\n _self.listeners[_DYN_SPLICE /* @min:%2esplice */](index, 1);\r\n index = arrIndexOf(_self[_DYN_LISTENERS /* @min:%2elisteners */], listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n _self[STR_EVENTS_SENT /* @min:%2eeventsSent */] = function (events) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_SENT, true, function (listener) {\r\n listener[STR_EVENTS_SENT /* @min:%2eeventsSent */](events);\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */] = function (events, reason) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_DISCARDED, true, function (listener) {\r\n listener[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */](events, reason);\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param {number} sendReason - The reason why the event batch is being sent.\r\n * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */] = function (sendReason, isAsync) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {\r\n listener[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendReason, isAsync);\r\n });\r\n };\r\n _self[STR_PERF_EVENT /* @min:%2eperfEvent */] = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */]()) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_PERF_EVENT, false, function (listener) {\r\n if (perfEvent[_DYN_IS_ASYNC /* @min:%2eisAsync */]) {\r\n setTimeout(function () { return listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent); }, 0);\r\n }\r\n else {\r\n listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for NotificationManager.prototype.addNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.removeNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.eventsSent.\r\n// Removed Stub for NotificationManager.prototype.eventsDiscarded.\r\n// Removed Stub for NotificationManager.prototype.eventsSendRequest.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n NotificationManager.__ieDyn=1;\n\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_GET_NOTIFY_MGR, _DYN_INITIALIZE, _DYN_NAME } from \"../__DynamicConstants\";\r\nimport { BaseCore } from \"./BaseCore\";\r\nimport { DiagnosticLogger } from \"./DiagnosticLogger\";\r\nimport { isNullOrUndefined, throwError } from \"./HelperFuncs\";\r\nimport { STR_EVENTS_DISCARDED, STR_GET_PERF_MGR } from \"./InternalConstants\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { doPerf } from \"./PerfManager\";\r\nvar AppInsightsCore = /** @class */ (function (_super) {\r\n __extends(AppInsightsCore, _super);\r\n function AppInsightsCore() {\r\n var _this = _super.call(this) || this;\r\n dynamicProto(AppInsightsCore, _this, function (_self, _base) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n _base[_DYN_INITIALIZE /* @min:%2einitialize */](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */](), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n _validateTelemetryItem(telemetryItem);\r\n _base.track(telemetryItem);\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n function _validateTelemetryItem(telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[_DYN_NAME /* @min:%2ename */])) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throwError(\"telemetry name required\");\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n if (manager) {\r\n manager[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */]([telemetryItem], 2 /* eEventsDiscardedReason.InvalidEvent */);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n AppInsightsCore.__ieDyn=1;\n\n return AppInsightsCore;\r\n}(BaseCore));\r\nexport { AppInsightsCore };\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\nexport var STR_PROPERTIES = \"properties\";\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 12\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 10\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_ABORTED = \"aborted\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_CAN_INCLUDE_CORRELAT3 = \"canIncludeCorrelationHeader\"; // Count: 2\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_APP_ID = \"appId\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT4 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_DISTRIBUTED_TRACING_5 = \"distributedTracingMode\"; // Count: 3\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE6 = \"enableRequestHeaderTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_ERROR_ST7 = \"enableAjaxErrorStatusText\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_PERF_TRA8 = \"enableAjaxPerfTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V9 = \"maxAjaxCallsPerView\"; // Count: 2\r\nexport var _DYN_ENABLE_RESPONSE_HEAD10 = \"enableResponseHeaderTracking\"; // Count: 2\r\nexport var _DYN_EXCLUDE_REQUEST_FROM11 = \"excludeRequestFromAutoTrackingPatterns\"; // Count: 2\r\nexport var _DYN_ADD_REQUEST_CONTEXT = \"addRequestContext\"; // Count: 2\r\nexport var _DYN_DISABLE_AJAX_TRACKIN12 = \"disableAjaxTracking\"; // Count: 2\r\nexport var _DYN_DISABLE_FETCH_TRACKI13 = \"disableFetchTracking\"; // Count: 2\r\nexport var _DYN_STATUS = \"status\"; // Count: 11\r\nexport var _DYN_STATUS_TEXT = \"statusText\"; // Count: 9\r\nexport var _DYN_HEADER_MAP = \"headerMap\"; // Count: 8\r\nexport var _DYN_OPEN_DONE = \"openDone\"; // Count: 3\r\nexport var _DYN_SEND_DONE = \"sendDone\"; // Count: 3\r\nexport var _DYN_REQUEST_SENT_TIME = \"requestSentTime\"; // Count: 9\r\nexport var _DYN_ABORT_DONE = \"abortDone\"; // Count: 3\r\nexport var _DYN_GET_TRACE_ID = \"getTraceId\"; // Count: 3\r\nexport var _DYN_GET_TRACE_FLAGS = \"getTraceFlags\"; // Count: 3\r\nexport var _DYN_METHOD = \"method\"; // Count: 8\r\nexport var _DYN_ERROR_STATUS_TEXT = \"errorStatusText\"; // Count: 3\r\nexport var _DYN_STATE_CHANGE_ATTACHE14 = \"stateChangeAttached\"; // Count: 2\r\nexport var _DYN_RESPONSE_TEXT = \"responseText\"; // Count: 6\r\nexport var _DYN_RESPONSE_FINISHED_TI15 = \"responseFinishedTime\"; // Count: 7\r\nexport var _DYN__CREATE_TRACK_ITEM = \"CreateTrackItem\"; // Count: 3\r\nexport var _DYN_RESPONSE = \"response\"; // Count: 4\r\nexport var _DYN_GET_ALL_RESPONSE_HEA16 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_GET_PART_APROPS = \"getPartAProps\"; // Count: 3\r\nexport var _DYN_GET_CORRELATION_CONT17 = \"getCorrelationContext\"; // Count: 2\r\nexport var _DYN_PERF_MARK = \"perfMark\"; // Count: 4\r\nexport var _DYN_AJAX_PERF_LOOKUP_DEL18 = \"ajaxPerfLookupDelay\"; // Count: 2\r\nexport var _DYN_NAME = \"name\"; // Count: 6\r\nexport var _DYN_PERF_TIMING = \"perfTiming\"; // Count: 3\r\nexport var _DYN_AJAX_DIAGNOSTICS_MES19 = \"ajaxDiagnosticsMessage\"; // Count: 3\r\nexport var _DYN_CORRELATION_CONTEXT = \"correlationContext\"; // Count: 3\r\nexport var _DYN_AJAX_TOTAL_DURATION = \"ajaxTotalDuration\"; // Count: 3\r\nexport var _DYN_EVENT_TRACE_CTX = \"eventTraceCtx\"; // Count: 3\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { Extensions, dataSanitizeUrl, dateTimeUtilsDuration, msToTimeSpan, urlGetAbsoluteUrl, urlGetCompleteUrl } from \"@microsoft/applicationinsights-common\";\r\nimport { arrForEach, isNullOrUndefined, isNumber, isString, normalizeJsName, objForEachKey, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION, STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_AJAX_TOTAL_DURATION, _DYN_CORRELATION_CONTEXT, _DYN_ERROR_STATUS_TEXT, _DYN_EVENT_TRACE_CTX, _DYN_GET_ABSOLUTE_URL, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADER_MAP, _DYN_LENGTH, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI15, _DYN_SEND_DONE, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE14, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\n/** @ignore */\r\nfunction _calcPerfDuration(resourceEntry, start, end) {\r\n var result = 0;\r\n var from = resourceEntry[start];\r\n var to = resourceEntry[end];\r\n if (from && to) {\r\n result = dateTimeUtilsDuration(from, to);\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfDuration(props, name, resourceEntry, start, end) {\r\n var result = 0;\r\n var value = _calcPerfDuration(resourceEntry, start, end);\r\n if (value) {\r\n result = _setPerfValue(props, name, msToTimeSpan(value));\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfValue(props, name, value) {\r\n var strPerf = \"ajaxPerf\";\r\n var result = 0;\r\n if (props && name && value) {\r\n var perfData = props[strPerf] = (props[strPerf] || {});\r\n perfData[name] = value;\r\n result = 1;\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _populatePerfData(ajaxData, dependency) {\r\n /*\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API\r\n * | -startTime\r\n * | -redirectStart\r\n * | | -redirectEnd\r\n * | | | -fetchStart\r\n * | | | | -domainLookupStart\r\n * | | | | |- domainLookupEnd\r\n * | | | | | | -connectStart\r\n * | | | | | | | -secureConnectionStart\r\n * | | | | | | | | -connectEnd\r\n * | | | | | | | | | -requestStart\r\n * | | | | | | | | | | | -responseStart\r\n * | | | | | | | | | | | | | -responseEnd\r\n * +------------+-+---+----------------+-+--+--------+-+-----------+-+------------+-+\r\n * |--redirect--| |---|--domainLookup--| |--connect--| |--request--| |--response--| |\r\n * |-------------------networkConnect----------------|\r\n * | |---------sentRequest--------|\r\n * |------------------------------------perfTotal-----------------------------------|\r\n */\r\n var resourceEntry = ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */];\r\n var props = dependency[STR_PROPERTIES /* @min:%2eproperties */] || {};\r\n var propsSet = 0;\r\n var strName = \"name\";\r\n var strStart = \"Start\";\r\n var strEnd = \"End\";\r\n var strDomainLookup = \"domainLookup\";\r\n var strConnect = \"connect\";\r\n var strRedirect = \"redirect\";\r\n var strRequest = \"request\";\r\n var strResponse = \"response\";\r\n var strStartTime = \"startTime\";\r\n var strDomainLookupStart = strDomainLookup + strStart;\r\n var strDomainLookupEnd = strDomainLookup + strEnd;\r\n var strConnectStart = strConnect + strStart;\r\n var strConnectEnd = strConnect + strEnd;\r\n var strRequestStart = strRequest + strStart;\r\n var strRequestEnd = strRequest + strEnd;\r\n var strResponseStart = strResponse + strStart;\r\n var strResponseEnd = strResponse + strEnd;\r\n var strRedirectStart = strRedirect + strStart;\r\n var strRedirectEnd = strRedirect = strEnd;\r\n var strTransferSize = \"transferSize\";\r\n var strEncodedBodySize = \"encodedBodySize\";\r\n var strDecodedBodySize = \"decodedBodySize\";\r\n var strServerTiming = \"serverTiming\";\r\n if (resourceEntry) {\r\n // redirect\r\n propsSet |= _setPerfDuration(props, strRedirect, resourceEntry, strRedirectStart, strRedirectEnd);\r\n // domainLookup\r\n propsSet |= _setPerfDuration(props, strDomainLookup, resourceEntry, strDomainLookupStart, strDomainLookupEnd);\r\n // connect\r\n propsSet |= _setPerfDuration(props, strConnect, resourceEntry, strConnectStart, strConnectEnd);\r\n // request\r\n propsSet |= _setPerfDuration(props, strRequest, resourceEntry, strRequestStart, strRequestEnd);\r\n // response\r\n propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);\r\n // Network connection time\r\n propsSet |= _setPerfDuration(props, \"networkConnect\", resourceEntry, strStartTime, strConnectEnd);\r\n // Sent Request\r\n propsSet |= _setPerfDuration(props, \"sentRequest\", resourceEntry, strRequestStart, strResponseEnd);\r\n // PerfTotal / Duration\r\n var duration = resourceEntry[STR_DURATION /* @min:%2eduration */];\r\n if (!duration) {\r\n duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;\r\n }\r\n propsSet |= _setPerfValue(props, STR_DURATION, duration);\r\n propsSet |= _setPerfValue(props, \"perfTotal\", duration);\r\n var serverTiming = resourceEntry[strServerTiming];\r\n if (serverTiming) {\r\n var server_1 = {};\r\n arrForEach(serverTiming, function (value, idx) {\r\n var name = normalizeJsName(value[strName] || \"\" + idx);\r\n var newValue = server_1[name] || {};\r\n objForEachKey(value, function (key, val) {\r\n if (key !== strName && isString(val) || isNumber(val)) {\r\n if (newValue[key]) {\r\n val = newValue[key] + \";\" + val;\r\n }\r\n if (val || !isString(val)) {\r\n // Only set the value if it has a value and it's not an empty string\r\n newValue[key] = val;\r\n }\r\n }\r\n });\r\n server_1[name] = newValue;\r\n });\r\n propsSet |= _setPerfValue(props, strServerTiming, server_1);\r\n }\r\n propsSet |= _setPerfValue(props, strTransferSize, resourceEntry[strTransferSize]);\r\n propsSet |= _setPerfValue(props, strEncodedBodySize, resourceEntry[strEncodedBodySize]);\r\n propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);\r\n }\r\n else {\r\n if (ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */]) {\r\n propsSet |= _setPerfValue(props, \"missing\", ajaxData.perfAttempts);\r\n }\r\n }\r\n if (propsSet) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = props;\r\n }\r\n}\r\nvar XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n var self = this;\r\n self[_DYN_OPEN_DONE /* @min:%2eopenDone */] = false;\r\n self.setRequestHeaderDone = false;\r\n self[_DYN_SEND_DONE /* @min:%2esendDone */] = false;\r\n self[_DYN_ABORT_DONE /* @min:%2eabortDone */] = false;\r\n // True, if onreadyStateChangeCallback function attached to xhr, otherwise false\r\n self[_DYN_STATE_CHANGE_ATTACHE14 /* @min:%2estateChangeAttached */] = false;\r\n }\r\n return XHRMonitoringState;\r\n}());\r\nexport { XHRMonitoringState };\r\nvar ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(traceId, spanId, logger, traceCtx) {\r\n var _a;\r\n var self = this;\r\n var _logger = logger;\r\n var strResponseText = \"responseText\";\r\n // Assigning the initial/default values within the constructor to avoid typescript from creating a bunch of\r\n // this.XXXX = null\r\n self[_DYN_PERF_MARK /* @min:%2eperfMark */] = null;\r\n self.completed = false;\r\n self.requestHeadersSize = null;\r\n self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = null;\r\n self.responseReceivingDuration = null;\r\n self.callbackDuration = null;\r\n self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] = null;\r\n self[_DYN_ABORTED /* @min:%2eaborted */] = 0;\r\n self.pageUrl = null;\r\n self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = null;\r\n self.requestSize = 0;\r\n self[_DYN_METHOD /* @min:%2emethod */] = null;\r\n self[_DYN_STATUS /* @min:%2estatus */] = null;\r\n self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = null;\r\n self.responseStartedTime = null;\r\n self[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = null;\r\n self.callbackFinishedTime = null;\r\n self.endTime = null;\r\n self.xhrMonitoringState = new XHRMonitoringState();\r\n self.clientFailure = 0;\r\n self[_DYN_TRACE_ID /* @min:%2etraceID */] = traceId;\r\n self[_DYN_SPAN_ID /* @min:%2espanID */] = spanId;\r\n self[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();\r\n if (traceCtx) {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = (_a = {},\r\n _a[_DYN_TRACE_ID0 /* @min:traceId */] = traceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */](),\r\n _a[_DYN_SPAN_ID1 /* @min:spanId */] = traceCtx.getSpanId(),\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = traceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */](),\r\n _a);\r\n }\r\n else {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = null;\r\n }\r\n dynamicProto(ajaxRecord, self, function (self) {\r\n self.getAbsoluteUrl = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) : null;\r\n };\r\n self.getPathName = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD /* @min:%2emethod */], self[_DYN_REQUEST_URL /* @min:%2erequestUrl */])) : null;\r\n };\r\n self[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */] = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n var _a;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n if (self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] < 0) {\r\n return null;\r\n }\r\n var dependency = (_a = {\r\n id: \"|\" + self[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + self[_DYN_SPAN_ID /* @min:%2espanID */],\r\n target: self[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */]()\r\n },\r\n _a[_DYN_NAME /* @min:name */] = self.getPathName(),\r\n _a.type = ajaxType,\r\n _a[_DYN_START_TIME /* @min:startTime */] = null,\r\n _a.duration = self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */],\r\n _a.success = (+(self[_DYN_STATUS /* @min:%2estatus */])) >= 200 && (+(self[_DYN_STATUS /* @min:%2estatus */])) < 400,\r\n _a.responseCode = (+(self[_DYN_STATUS /* @min:%2estatus */])),\r\n _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD /* @min:%2emethod */] },\r\n _a);\r\n var props = dependency[STR_PROPERTIES];\r\n if (self[_DYN_ABORTED /* @min:%2eaborted */]) {\r\n props[_DYN_ABORTED /* @min:%2eaborted */] = true;\r\n }\r\n if (self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]) {\r\n // Set the correct dependency start time\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */].setTime(self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]);\r\n }\r\n // Add Ajax perf details if available\r\n _populatePerfData(self, dependency);\r\n if (enableRequestHeaderTracking) {\r\n if (objKeys(self.requestHeaders)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */];\r\n }\r\n }\r\n if (getResponse) {\r\n var response = getResponse();\r\n if (response) {\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = response[_DYN_CORRELATION_CONTEXT /* @min:%2ecorrelationContext */];\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n if (response[_DYN_HEADER_MAP /* @min:%2eheaderMap */]) {\r\n if (objKeys(response.headerMap)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props.responseHeaders = response[_DYN_HEADER_MAP /* @min:%2eheaderMap */];\r\n }\r\n }\r\n if (self[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */]) {\r\n if (self[_DYN_STATUS /* @min:%2estatus */] >= 400) {\r\n var responseType = response.type;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n props.responseText = response.responseText ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + response[strResponseText] : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n if (responseType === \"json\") {\r\n props.responseText = response.response ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + JSON.stringify(response[_DYN_RESPONSE /* @min:%2eresponse */]) : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n }\r\n else if (self[_DYN_STATUS /* @min:%2estatus */] === 0) {\r\n props.responseText = response[_DYN_STATUS_TEXT /* @min:%2estatusText */] || \"\";\r\n }\r\n }\r\n }\r\n }\r\n return dependency;\r\n };\r\n self[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */] = function () {\r\n var _a;\r\n var partA = null;\r\n var traceCtx = self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */];\r\n if (traceCtx && (traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */] || traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */])) {\r\n partA = {};\r\n var traceExt = partA[Extensions.TraceExt] = (_a = {},\r\n _a[_DYN_TRACE_ID /* @min:traceID */] = traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */],\r\n _a.parentID = traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */],\r\n _a);\r\n if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */])) {\r\n traceExt[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n }\r\n }\r\n return partA;\r\n };\r\n });\r\n }\r\n// Removed Stub for ajaxRecord.prototype.getAbsoluteUrl.\r\n// Removed Stub for ajaxRecord.prototype.getPathName.\r\n// Removed Stub for ajaxRecord.prototype.CreateTrackItem.\r\n// Removed Stub for ajaxRecord.prototype.getPartAProps.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n ajaxRecord.__ieDyn=1;\n\n return ajaxRecord;\r\n}());\r\nexport { ajaxRecord };\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CorrelationIdHelper, DisabledPropertyName, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, createDistributedTraceContextFromTrace, createTelemetryItem, createTraceParent, dateTimeUtilsNow, formatTraceParent, isInternalApplicationInsightsEndpoint } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentFunc, InstrumentProto, _throwInternal, arrForEach, createProcessTelemetryContext, createUniqueNamespace, deepFreeze, dumpObj, eventOn, generateW3CId, getExceptionName, getGlobal, getIEVersion, getLocation, getPerformance, isFunction, isNullOrUndefined, isString, isXhrSupported, mergeEvtNamespace, objForEachKey, strPrototype, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_PERF_LOOKUP_DEL18, _DYN_APP_ID, _DYN_CAN_INCLUDE_CORRELAT3, _DYN_CONTEXT, _DYN_CORE, _DYN_DISABLE_AJAX_TRACKIN12, _DYN_DISABLE_FETCH_TRACKI13, _DYN_DISTRIBUTED_TRACING_5, _DYN_ENABLE_AJAX_ERROR_ST7, _DYN_ENABLE_AJAX_PERF_TRA8, _DYN_ENABLE_REQUEST_HEADE6, _DYN_ENABLE_RESPONSE_HEAD10, _DYN_ERROR_STATUS_TEXT, _DYN_EXCLUDE_REQUEST_FROM11, _DYN_GET_ABSOLUTE_URL, _DYN_GET_ALL_RESPONSE_HEA16, _DYN_GET_CORRELATION_CONT17, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADERS, _DYN_HEADER_MAP, _DYN_INCLUDE_CORRELATION_2, _DYN_INST, _DYN_LENGTH, _DYN_MAX_AJAX_CALLS_PER_V9, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI15, _DYN_RESPONSE_TEXT, _DYN_SEND_DONE, _DYN_SET_REQUEST_HEADER, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE14, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN_TRACK_DEPENDENCY_DAT4, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\nimport { ajaxRecord } from \"./ajaxRecord\";\r\nvar AJAX_MONITOR_PREFIX = \"ai.ajxmn.\";\r\nvar strDiagLog = \"diagLog\";\r\nvar AJAX_DATA_CONTAINER = \"_ajaxData\";\r\nvar STR_FETCH = \"fetch\";\r\nvar ERROR_HEADER = \"Failed to monitor XMLHttpRequest\";\r\nvar ERROR_PREFIX = \", monitoring data for this ajax call \";\r\nvar ERROR_POSTFIX = ERROR_PREFIX + \"may be incorrect.\";\r\nvar ERROR_NOT_SENT = ERROR_PREFIX + \"won't be sent.\";\r\nvar CORRELATION_HEADER_ERROR = \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\";\r\nvar CUSTOM_REQUEST_CONTEXT_ERROR = \"Failed to add custom defined request context as configured call back may missing a null check.\";\r\nvar FAILED_TO_CALCULATE_DURATION_ERROR = \"Failed to calculate the duration of the \";\r\n// Using a global value so that to handle same iKey with multiple app insights instances (mostly for testing)\r\nvar _markCount = 0;\r\n/** @Ignore */\r\nfunction _supportsFetch() {\r\n var _global = getGlobal();\r\n if (!_global ||\r\n isNullOrUndefined(_global.Request) ||\r\n isNullOrUndefined(_global.Request[strPrototype]) ||\r\n isNullOrUndefined(_global[STR_FETCH])) {\r\n return null;\r\n }\r\n return _global[STR_FETCH];\r\n}\r\nvar _isWebWorker = null;\r\nfunction isWebWorker() {\r\n if (_isWebWorker == null) {\r\n try {\r\n _isWebWorker = !!(self && self instanceof WorkerGlobalScope);\r\n }\r\n catch (e) {\r\n _isWebWorker = false;\r\n }\r\n }\r\n return _isWebWorker;\r\n}\r\n/**\r\n * Determines whether ajax monitoring can be enabled on this document\r\n * @returns True if Ajax monitoring is supported on this page, otherwise false\r\n * @ignore\r\n */\r\nfunction _supportsAjaxMonitoring(ajaxMonitorInstance, ajaxDataId) {\r\n var _a;\r\n var result = false;\r\n if (isXhrSupported()) {\r\n var proto = XMLHttpRequest[strPrototype];\r\n result = !isNullOrUndefined(proto) &&\r\n !isNullOrUndefined(proto.open) && // eslint-disable-line security/detect-non-literal-fs-filename -- false positive\r\n !isNullOrUndefined(proto.send) &&\r\n !isNullOrUndefined(proto.abort);\r\n }\r\n var ieVer = getIEVersion();\r\n if (ieVer && ieVer < 9) {\r\n result = false;\r\n }\r\n if (result) {\r\n // Disable if the XmlHttpRequest can't be extended or hooked\r\n try {\r\n var xhr = new XMLHttpRequest();\r\n var xhrData = {\r\n xh: [],\r\n i: (_a = {},\r\n _a[ajaxDataId] = {},\r\n _a)\r\n };\r\n xhr[AJAX_DATA_CONTAINER] = xhrData;\r\n // Check that we can update the prototype\r\n var theOpen = XMLHttpRequest[strPrototype].open;\r\n XMLHttpRequest[strPrototype].open = theOpen;\r\n }\r\n catch (e) {\r\n // We can't decorate the xhr object so disable monitoring\r\n result = false;\r\n _throwInternalCritical(ajaxMonitorInstance, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to enable XMLHttpRequest monitoring, extension is not supported\", {\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Internal helper to fetch the SDK instance tracking data for this XHR request\r\n * @param xhr\r\n * @param ajaxDataId\r\n * @returns\r\n */\r\nvar _getAjaxData = function (xhr, ajaxDataId) {\r\n if (xhr && ajaxDataId && xhr[AJAX_DATA_CONTAINER]) {\r\n return (xhr[AJAX_DATA_CONTAINER].i || {})[ajaxDataId];\r\n }\r\n return null;\r\n};\r\n/**\r\n * @ignore\r\n * Internal helper to track the singleton shared tracking headers, so we can attempt to not create headers\r\n * that might cause an issue if multiple values are populated.\r\n * @param xhr - The instrumented XHR instance\r\n */\r\nvar _addSharedXhrHeaders = function (xhr, name, value) {\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n headers.push({\r\n n: name,\r\n v: value\r\n });\r\n }\r\n }\r\n};\r\nvar _isHeaderSet = function (xhr, name) {\r\n var isPresent = false;\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n arrForEach(headers, function (header) {\r\n if (header.n === name) {\r\n isPresent = true;\r\n return -1;\r\n }\r\n });\r\n }\r\n }\r\n return isPresent;\r\n};\r\n/** @Ignore */\r\nfunction _getFailedAjaxDiagnosticsMessage(xhr, ajaxDataId) {\r\n var result = \"\";\r\n try {\r\n var ajaxData = _getAjaxData(xhr, ajaxDataId);\r\n if (ajaxData && ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) {\r\n result += \"(url: '\" + ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] + \"')\";\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 1 /* eLoggingSeverity.CRITICAL */, msgId, message, properties, isUserAct);\r\n}\r\n/** @ignore */\r\nfunction _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 /* eLoggingSeverity.WARNING */, msgId, message, properties, isUserAct);\r\n}\r\n/** @Ignore */\r\nfunction _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {\r\n // tslint:disable-next-line\r\n return function (callDetails) {\r\n _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(callDetails[_DYN_INST /* @min:%2einst */], ajaxMonitorInstance._ajaxDataId),\r\n exception: dumpObj(callDetails.err)\r\n });\r\n };\r\n}\r\nfunction _indexOf(value, match) {\r\n if (value && match) {\r\n return value.indexOf(match);\r\n }\r\n return -1;\r\n}\r\nfunction _addHandler(container, id, theFunc) {\r\n var theHandler = {\r\n id: id,\r\n fn: theFunc\r\n };\r\n container.push(theHandler);\r\n return {\r\n remove: function () {\r\n arrForEach(container, function (initializer, idx) {\r\n if (initializer.id === theHandler.id) {\r\n container.splice(idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n}\r\nfunction _processDependencyContainer(core, container, details, message) {\r\n var result = true;\r\n arrForEach(container, function (theFunc, idx) {\r\n try {\r\n if (theFunc.fn.call(null, details) === false) {\r\n result = false;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(core && core.logger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Dependency \" + message + \" [#\" + idx + \"] failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n return result;\r\n}\r\nfunction _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {\r\n var initializersCount = listeners[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = {\r\n core: core,\r\n xhr: xhr,\r\n input: input,\r\n init: init,\r\n traceId: ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */],\r\n spanId: ajaxData[_DYN_SPAN_ID /* @min:%2espanID */],\r\n traceFlags: ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */],\r\n context: ajaxData[_DYN_CONTEXT /* @min:%2econtext */] || {},\r\n aborted: !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */]\r\n };\r\n _processDependencyContainer(core, listeners, details, \"listener\");\r\n ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] = details[_DYN_TRACE_ID0 /* @min:%2etraceId */];\r\n ajaxData[_DYN_SPAN_ID /* @min:%2espanID */] = details[_DYN_SPAN_ID1 /* @min:%2espanId */];\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = details[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n ajaxData[_DYN_CONTEXT /* @min:%2econtext */] = details[_DYN_CONTEXT /* @min:%2econtext */];\r\n }\r\n}\r\nvar BLOB_CORE = \"*.blob.core.\";\r\nexport var DfltAjaxCorrelationHeaderExDomains = deepFreeze([\r\n BLOB_CORE + \"windows.net\",\r\n BLOB_CORE + \"chinacloudapi.cn\",\r\n BLOB_CORE + \"cloudapi.de\",\r\n BLOB_CORE + \"usgovcloudapi.net\"\r\n]);\r\nvar _internalExcludeEndpoints = [\r\n /https:\\/\\/[^\\/]*(\\.pipe\\.aria|aria\\.pipe|events\\.data|collector\\.azure)\\.[^\\/]+\\/(OneCollector\\/1|Collector\\/3)\\.0/i\r\n];\r\nfunction _getDefaultConfig() {\r\n var config = {\r\n maxAjaxCallsPerView: 500,\r\n disableAjaxTracking: false,\r\n disableFetchTracking: false,\r\n excludeRequestFromAutoTrackingPatterns: undefined,\r\n disableCorrelationHeaders: false,\r\n distributedTracingMode: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n correlationHeaderExcludedDomains: DfltAjaxCorrelationHeaderExDomains,\r\n correlationHeaderDomains: undefined,\r\n correlationHeaderExcludePatterns: undefined,\r\n appId: undefined,\r\n enableCorsCorrelation: false,\r\n enableRequestHeaderTracking: false,\r\n enableResponseHeaderTracking: false,\r\n enableAjaxErrorStatusText: false,\r\n enableAjaxPerfTracking: false,\r\n maxAjaxPerfLookupAttempts: 3,\r\n ajaxPerfLookupDelay: 25,\r\n ignoreHeaders: [\r\n \"Authorization\",\r\n \"X-API-Key\",\r\n \"WWW-Authenticate\"\r\n ],\r\n addRequestContext: undefined,\r\n addIntEndpoints: true\r\n };\r\n return config;\r\n}\r\nfunction _getEmptyConfig() {\r\n var emptyConfig = _getDefaultConfig();\r\n objForEachKey(emptyConfig, function (value) {\r\n emptyConfig[value] = undefined;\r\n });\r\n return emptyConfig;\r\n}\r\nvar AjaxMonitor = /** @class */ (function (_super) {\r\n __extends(AjaxMonitor, _super);\r\n function AjaxMonitor() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AjaxMonitor.identifier;\r\n _this.priority = 120;\r\n var _fetchInitialized; // fetch monitoring initialized\r\n var _xhrInitialized; // XHR monitoring initialized\r\n var _currentWindowHost;\r\n var _config;\r\n var _enableRequestHeaderTracking;\r\n var _enableAjaxErrorStatusText;\r\n var _trackAjaxAttempts;\r\n var _context;\r\n var _isUsingW3CHeaders;\r\n var _isUsingAIHeaders;\r\n var _markPrefix;\r\n var _enableAjaxPerfTracking;\r\n var _maxAjaxCallsPerView;\r\n var _enableResponseHeaderTracking;\r\n var _disabledUrls;\r\n var _disableAjaxTracking;\r\n var _disableFetchTracking;\r\n var _excludeRequestFromAutoTrackingPatterns;\r\n var _addRequestContext;\r\n var _evtNamespace;\r\n var _ajaxDataId;\r\n var _dependencyHandlerId;\r\n var _dependencyListeners;\r\n var _dependencyInitializers;\r\n dynamicProto(AjaxMonitor, _this, function (_self, _base) {\r\n var _addHook = _base._addHook;\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (!_self.isInitialized()) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"ajax\"), core && core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n _instrumentXhr();\r\n _instrumentFetch();\r\n _populateContext();\r\n }\r\n };\r\n _self._doTeardown = function () {\r\n _initDefaults();\r\n };\r\n _self.trackDependencyData = function (dependency, properties) {\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], null, dependency, properties);\r\n };\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */] = function (ajaxData, input, init, xhr) {\r\n // Test Hook to allow the overriding of the location host\r\n var currentWindowHost = _self[\"_currentWindowHost\"] || _currentWindowHost;\r\n _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, xhr, input, init);\r\n if (input || input === \"\") { // Fetch\r\n if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 /* @min:%2ecanIncludeCorrelationHeader */](_config, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (!init) {\r\n init = {};\r\n }\r\n // init headers override original request headers\r\n // so, if they exist use only them, otherwise use request's because they should have been applied in the first place\r\n // not using original request headers will result in them being lost\r\n var headers = new Headers(init[_DYN_HEADERS /* @min:%2eheaders */] || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n headers.set(RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n var appId = _config[_DYN_APP_ID /* @min:%2eappId */] || (_context && _context[_DYN_APP_ID /* @min:%2eappId */]());\r\n if (appId) {\r\n headers.set(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n headers.set(RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = headers;\r\n }\r\n return init;\r\n }\r\n else if (xhr) { // XHR\r\n if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 /* @min:%2ecanIncludeCorrelationHeader */](_config, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (_isUsingAIHeaders) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[3 /* eRequestHeaders.requestIdHeader */])) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[3 /* eRequestHeaders.requestIdHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n var appId = _config[_DYN_APP_ID /* @min:%2eappId */] || (_context && _context[_DYN_APP_ID /* @min:%2eappId */]());\r\n if (appId) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[0 /* eRequestHeaders.requestContextHeader */])) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[0 /* eRequestHeaders.requestContextHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n if (!_isHeaderSet(xhr, RequestHeaders[4 /* eRequestHeaders.traceParentHeader */])) {\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[4 /* eRequestHeaders.traceParentHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n return undefined;\r\n };\r\n _self[_DYN_TRACK_DEPENDENCY_DAT4 /* @min:%2etrackDependencyDataInternal */] = function (dependency, properties, systemProperties) {\r\n if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {\r\n // Hack since expected format in w3c mode is |abc.def.\r\n // Non-w3c format is |abc.def\r\n // @todo Remove if better solution is available, e.g. handle in portal\r\n if ((_config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */] === 2 /* eDistributedTracingModes.W3C */\r\n || _config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */] === 1 /* eDistributedTracingModes.AI_AND_W3C */)\r\n && typeof dependency.id === \"string\" && dependency.id[dependency.id[_DYN_LENGTH /* @min:%2elength */] - 1] !== \".\") {\r\n dependency.id += \".\";\r\n }\r\n if (isNullOrUndefined(dependency[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n }\r\n var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */].track(item);\r\n }\r\n else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {\r\n _throwInternalCritical(_self, 55 /* _eInternalMessageId.MaxAjaxPerPVExceeded */, \"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.\", true);\r\n }\r\n ++_trackAjaxAttempts;\r\n };\r\n _self.addDependencyListener = function (dependencyListener) {\r\n return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);\r\n };\r\n _self.addDependencyInitializer = function (dependencyInitializer) {\r\n return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);\r\n };\r\n function _initDefaults() {\r\n var location = getLocation();\r\n _fetchInitialized = false; // fetch monitoring initialized\r\n _xhrInitialized = false; // XHR monitoring initialized\r\n _currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _config = AjaxMonitor.getEmptyConfig();\r\n _enableRequestHeaderTracking = false;\r\n _enableAjaxErrorStatusText = false;\r\n _trackAjaxAttempts = 0;\r\n _context = null;\r\n _isUsingW3CHeaders = false;\r\n _isUsingAIHeaders = false;\r\n _markPrefix = null;\r\n _enableAjaxPerfTracking = false;\r\n _maxAjaxCallsPerView = 0;\r\n _enableResponseHeaderTracking = false;\r\n _disabledUrls = {};\r\n _disableAjaxTracking = false;\r\n _disableFetchTracking = false;\r\n _excludeRequestFromAutoTrackingPatterns = null;\r\n _addRequestContext = null;\r\n _evtNamespace = null;\r\n _dependencyHandlerId = 0;\r\n _dependencyListeners = [];\r\n _dependencyInitializers = [];\r\n _ajaxDataId = createUniqueNamespace(\"ajaxData\");\r\n _self._ajaxDataId = _ajaxDataId;\r\n }\r\n function _populateDefaults(config) {\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n // Reset to the empty config\r\n _config = _getEmptyConfig();\r\n var defaultConfig = _getDefaultConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);\r\n });\r\n var distributedTracingMode = _config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */];\r\n _enableRequestHeaderTracking = _config[_DYN_ENABLE_REQUEST_HEADE6 /* @min:%2eenableRequestHeaderTracking */];\r\n _enableAjaxErrorStatusText = _config[_DYN_ENABLE_AJAX_ERROR_ST7 /* @min:%2eenableAjaxErrorStatusText */];\r\n _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA8 /* @min:%2eenableAjaxPerfTracking */];\r\n _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V9 /* @min:%2emaxAjaxCallsPerView */];\r\n _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD10 /* @min:%2eenableResponseHeaderTracking */];\r\n _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM11 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);\r\n _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT /* @min:%2eaddRequestContext */];\r\n _isUsingAIHeaders = distributedTracingMode === 0 /* eDistributedTracingModes.AI */ || distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _isUsingW3CHeaders = distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */ || distributedTracingMode === 2 /* eDistributedTracingModes.W3C */;\r\n if (_enableAjaxPerfTracking) {\r\n var iKey = config.instrumentationKey || \"unkwn\";\r\n if (iKey[_DYN_LENGTH /* @min:%2elength */] > 5) {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey[_DYN_LENGTH /* @min:%2elength */] - 5) + \".\";\r\n }\r\n else {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey + \".\";\r\n }\r\n }\r\n _disableAjaxTracking = !!_config[_DYN_DISABLE_AJAX_TRACKIN12 /* @min:%2edisableAjaxTracking */];\r\n _disableFetchTracking = !!_config[_DYN_DISABLE_FETCH_TRACKI13 /* @min:%2edisableFetchTracking */];\r\n }\r\n function _populateContext() {\r\n var propExt = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (propExt) {\r\n _context = propExt.plugin[_DYN_CONTEXT /* @min:%2econtext */]; // we could move IPropertiesPlugin to common as well\r\n }\r\n }\r\n // discard the header if it's defined as ignoreHeaders in ICorrelationConfig\r\n function _canIncludeHeaders(header) {\r\n var rlt = true;\r\n if (header || _config.ignoreHeaders) {\r\n arrForEach(_config.ignoreHeaders, (function (key) {\r\n if (key[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === header[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) {\r\n rlt = false;\r\n return -1;\r\n }\r\n }));\r\n }\r\n return rlt;\r\n }\r\n // Fetch Stuff\r\n function _instrumentFetch() {\r\n var fetch = _supportsFetch();\r\n if (!fetch) {\r\n return;\r\n }\r\n var global = getGlobal();\r\n var isPolyfill = fetch.polyfill;\r\n if (!_disableFetchTracking && !_fetchInitialized) {\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n // Add request hook\r\n req: function (callDetails, input, init) {\r\n var fetchData;\r\n if (!_disableFetchTracking && _fetchInitialized &&\r\n !_isDisabledRequest(null, input, init) &&\r\n // If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates\r\n !(isPolyfill && _xhrInitialized)) {\r\n var ctx = callDetails.ctx();\r\n fetchData = _createFetchRecord(input, init);\r\n var newInit = _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](fetchData, input, init);\r\n if (newInit !== init) {\r\n callDetails.set(1, newInit);\r\n }\r\n ctx.data = fetchData;\r\n }\r\n },\r\n rsp: function (callDetails, input) {\r\n if (!_disableFetchTracking) {\r\n var fetchData_1 = callDetails.ctx().data;\r\n if (fetchData_1) {\r\n // Replace the result with the new promise from this code\r\n callDetails.rslt = callDetails.rslt.then(function (response) {\r\n _reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS /* @min:%2estatus */], input, response, fetchData_1, function () {\r\n var ajaxResponse = {\r\n statusText: (response || {})[_DYN_STATUS_TEXT /* @min:%2estatusText */],\r\n headerMap: null,\r\n correlationContext: _getFetchCorrelationContext(response)\r\n };\r\n if (_enableResponseHeaderTracking && response) {\r\n var responseHeaderMap_1 = {};\r\n response.headers.forEach(function (value, name) {\r\n if (_canIncludeHeaders(name)) {\r\n responseHeaderMap_1[name] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_1;\r\n }\r\n return ajaxResponse;\r\n });\r\n return response;\r\n })[\"catch\"](function (reason) {\r\n _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message || dumpObj(reason) });\r\n throw reason;\r\n });\r\n }\r\n }\r\n },\r\n // Create an error callback to report any hook errors\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to monitor Window.fetch\" + ERROR_POSTFIX)\r\n }, true, isWebWorker()));\r\n _fetchInitialized = true;\r\n }\r\n else if (isPolyfill) {\r\n // If fetch is a polyfill we need to capture the request to ensure that we correctly track\r\n // disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop\r\n // of reporting ourselves, for example React Native uses a polyfill for fetch\r\n // Note: Polyfill implementations that don't support the \"poyyfill\" tag are not supported\r\n // the workaround is to add a polyfill property to your fetch implementation before initializing\r\n // App Insights\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n req: function (callDetails, input, init) {\r\n // Just call so that we record any disabled URL\r\n _isDisabledRequest(null, input, init);\r\n }\r\n }));\r\n }\r\n if (isPolyfill) {\r\n // retag the instrumented fetch with the same polyfill settings this is mostly for testing\r\n // But also supports multiple App Insights usages\r\n global[STR_FETCH].polyfill = isPolyfill;\r\n }\r\n }\r\n function _hookProto(target, funcName, callbacks) {\r\n _addHook(InstrumentProto(target, funcName, callbacks));\r\n }\r\n function _instrumentXhr() {\r\n if (_supportsAjaxMonitoring(_self, _ajaxDataId) && !_disableAjaxTracking && !_xhrInitialized) {\r\n // Instrument open\r\n _hookProto(XMLHttpRequest, \"open\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, method, url, async) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, ajaxData, true)) {\r\n if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */]) {\r\n // Only create a single ajaxData (even when multiple AI instances are running)\r\n ajaxData = _openHandler(xhr, method, url, async);\r\n }\r\n // always attach to the on ready state change (required for handling multiple instances)\r\n _attachToOnReadyStateChange(xhr, ajaxData);\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, ERROR_HEADER + \".open\" + ERROR_POSTFIX)\r\n });\r\n // Instrument send\r\n _hookProto(XMLHttpRequest, \"send\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, context) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */]) {\r\n _createMarkId(\"xhr\", ajaxData);\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](ajaxData, undefined, undefined, xhr);\r\n ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 17 /* _eInternalMessageId.FailedMonitorAjaxSend */, ERROR_HEADER + ERROR_POSTFIX)\r\n });\r\n // Instrument abort\r\n _hookProto(XMLHttpRequest, \"abort\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */]) {\r\n ajaxData[_DYN_ABORTED /* @min:%2eaborted */] = 1;\r\n ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 13 /* _eInternalMessageId.FailedMonitorAjaxAbort */, ERROR_HEADER + \".abort\" + ERROR_POSTFIX)\r\n });\r\n // Instrument setRequestHeader\r\n _hookProto(XMLHttpRequest, \"setRequestHeader\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, header, value) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (ajaxData && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _addSharedXhrHeaders(xhr, header, value);\r\n if (_enableRequestHeaderTracking && _canIncludeHeaders(header)) {\r\n if (ajaxData) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][header] = value;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, ERROR_HEADER + \".setRequestHeader\" + ERROR_POSTFIX)\r\n });\r\n _xhrInitialized = true;\r\n }\r\n }\r\n function _isDisabledRequest(xhr, request, init) {\r\n var isDisabled = false;\r\n var theUrl = ((!isString(request) ? (request || {}).url || \"\" : request) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // check excludeRequestFromAutoTrackingPatterns before stripping off any query string\r\n arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {\r\n var theRegex = regex;\r\n if (isString(regex)) {\r\n theRegex = new RegExp(regex);\r\n }\r\n if (!isDisabled) {\r\n isDisabled = theRegex.test(theUrl);\r\n }\r\n });\r\n // if request url matches with exclude regex pattern, return true and no need to check for headers\r\n if (isDisabled) {\r\n return isDisabled;\r\n }\r\n var idx = _indexOf(theUrl, \"?\");\r\n var idx2 = _indexOf(theUrl, \"#\");\r\n if (idx === -1 || (idx2 !== -1 && idx2 < idx)) {\r\n idx = idx2;\r\n }\r\n if (idx !== -1) {\r\n // Strip off any Query string\r\n theUrl = theUrl.substring(0, idx);\r\n }\r\n // check that this instance is not not used by ajax call performed inside client side monitoring to send data to collector\r\n if (!isNullOrUndefined(xhr)) {\r\n // Look on the XMLHttpRequest of the URL string value\r\n isDisabled = xhr[DisabledPropertyName] === true || theUrl[DisabledPropertyName] === true;\r\n }\r\n else if (!isNullOrUndefined(request)) { // fetch\r\n // Look for DisabledPropertyName in either Request or RequestInit\r\n isDisabled = (typeof request === \"object\" ? request[DisabledPropertyName] === true : false) ||\r\n (init ? init[DisabledPropertyName] === true : false);\r\n }\r\n // Also add extra check just in case the XHR or fetch objects where not decorated with the DisableProperty due to sealing or freezing\r\n if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {\r\n isDisabled = true;\r\n }\r\n if (isDisabled) {\r\n // Add the disabled url if not present\r\n if (!_disabledUrls[theUrl]) {\r\n _disabledUrls[theUrl] = 1;\r\n }\r\n }\r\n else {\r\n // Check to see if the url is listed as disabled\r\n if (_disabledUrls[theUrl]) {\r\n isDisabled = true;\r\n }\r\n }\r\n return isDisabled;\r\n }\r\n /// Verifies that particular instance of XMLHttpRequest needs to be monitored\r\n /// Optional parameter. True if ajaxData must be excluded from verification\r\n /// True if instance needs to be monitored, otherwise false\r\n function _isMonitoredXhrInstance(xhr, ajaxData, excludeAjaxDataValidation) {\r\n var ajaxValidation = true;\r\n var initialized = _xhrInitialized;\r\n if (!isNullOrUndefined(xhr)) {\r\n ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(ajaxData);\r\n }\r\n // checking to see that all interested functions on xhr were instrumented\r\n return initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && ajaxValidation;\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n // Fall back\r\n if (!distributedTraceCtx && _context && _context.telemetryTrace) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);\r\n }\r\n return distributedTraceCtx;\r\n }\r\n function _openHandler(xhr, method, url, async) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });\r\n var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});\r\n var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = url;\r\n ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */] = true;\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = {};\r\n ajaxData.async = async;\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n return ajaxData;\r\n }\r\n function _attachToOnReadyStateChange(xhr, ajaxData) {\r\n ajaxData.xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE14 /* @min:%2estateChangeAttached */] = eventOn(xhr, \"readystatechange\", function () {\r\n try {\r\n if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _onAjaxComplete(xhr);\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = dumpObj(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), \"c00c023f\") === -1) {\r\n _throwInternalCritical(_self, 16 /* _eInternalMessageId.FailedMonitorAjaxRSC */, ERROR_HEADER + \" 'readystatechange' event handler\" + ERROR_POSTFIX, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n exception: exceptionText\r\n });\r\n }\r\n }\r\n }, _evtNamespace);\r\n }\r\n function _getResponseText(xhr) {\r\n try {\r\n var responseType = xhr.responseType;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n // As per the specification responseText is only valid if the type is an empty string or \"text\"\r\n return xhr[_DYN_RESPONSE_TEXT /* @min:%2eresponseText */];\r\n }\r\n }\r\n catch (e) {\r\n // This shouldn't happen because of the above check -- but just in case, so just ignore\r\n }\r\n return null;\r\n }\r\n function _onAjaxComplete(xhr) {\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = xhr[_DYN_STATUS /* @min:%2estatus */];\r\n function _reportXhrError(e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"ajaxDiagnosticsMessage\"] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, 14 /* _eInternalMessageId.FailedMonitorAjaxDur */, FAILED_TO_CALCULATE_DURATION_ERROR + \"ajax call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n _findPerfResourceEntry(\"xmlhttprequest\", ajaxData, function () {\r\n try {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Ajax\", _enableRequestHeaderTracking, function () {\r\n var ajaxResponse = {\r\n statusText: xhr[_DYN_STATUS_TEXT /* @min:%2estatusText */],\r\n headerMap: null,\r\n correlationContext: _getAjaxCorrelationContext(xhr),\r\n type: xhr.responseType,\r\n responseText: _getResponseText(xhr),\r\n response: xhr[_DYN_RESPONSE /* @min:%2eresponse */]\r\n };\r\n if (_enableResponseHeaderTracking) {\r\n var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA16 /* @min:%2egetAllResponseHeaders */]();\r\n if (headers) {\r\n // xhr.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string or null\r\n // the regex converts the header string into an array of individual headers\r\n var arr = strTrim(headers).split(/[\\r\\n]+/);\r\n var responseHeaderMap_2 = {};\r\n arrForEach(arr, function (line) {\r\n var parts = line.split(\": \");\r\n var header = parts.shift();\r\n var value = parts.join(\": \");\r\n if (_canIncludeHeaders(header)) {\r\n responseHeaderMap_2[header] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_2;\r\n }\r\n }\r\n return ajaxResponse;\r\n });\r\n var properties = void 0;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: xhr[_DYN_STATUS /* @min:%2estatus */], xhr: xhr });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportXhrError(null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }\r\n finally {\r\n // cleanup telemetry data\r\n try {\r\n var xhrRequestData = (xhr[AJAX_DATA_CONTAINER] || { i: {} });\r\n var ajaxDataCntr = (xhrRequestData.i || {});\r\n if (ajaxDataCntr[_ajaxDataId]) {\r\n ajaxDataCntr[_ajaxDataId] = null;\r\n }\r\n }\r\n catch (e) {\r\n // May throw in environments that prevent extension or freeze xhr\r\n }\r\n }\r\n }, function (e) {\r\n _reportXhrError(e, null);\r\n });\r\n }\r\n function _getAjaxCorrelationContext(xhr) {\r\n try {\r\n var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA16 /* @min:%2egetAllResponseHeaders */]();\r\n if (responseHeadersString !== null) {\r\n var index = _indexOf(responseHeadersString[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), RequestHeaders[8 /* eRequestHeaders.requestContextHeaderLowerCase */]);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 /* @min:%2egetCorrelationContext */](responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n function _createMarkId(type, ajaxData) {\r\n if (ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] && _markPrefix && _enableAjaxPerfTracking) {\r\n var performance_1 = getPerformance();\r\n if (performance_1 && isFunction(performance_1.mark)) {\r\n _markCount++;\r\n var markId = _markPrefix + type + \"#\" + _markCount;\r\n performance_1.mark(markId);\r\n var entries = performance_1.getEntriesByName(markId);\r\n if (entries && entries[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */] = entries[0];\r\n }\r\n }\r\n }\r\n }\r\n function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {\r\n var perfMark = ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */];\r\n var performance = getPerformance();\r\n var maxAttempts = _config.maxAjaxPerfLookupAttempts;\r\n var retryDelay = _config[_DYN_AJAX_PERF_LOOKUP_DEL18 /* @min:%2eajaxPerfLookupDelay */];\r\n var requestUrl = ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */];\r\n var attempt = 0;\r\n (function locateResourceTiming() {\r\n try {\r\n if (performance && perfMark) {\r\n attempt++;\r\n var perfTiming = null;\r\n var entries = performance.getEntries();\r\n for (var lp = entries[_DYN_LENGTH /* @min:%2elength */] - 1; lp >= 0; lp--) {\r\n var entry = entries[lp];\r\n if (entry) {\r\n if (entry.entryType === \"resource\") {\r\n if (entry.initiatorType === initiatorType &&\r\n (_indexOf(entry[_DYN_NAME /* @min:%2ename */], requestUrl) !== -1 || _indexOf(requestUrl, entry[_DYN_NAME /* @min:%2ename */]) !== -1)) {\r\n perfTiming = entry;\r\n }\r\n }\r\n else if (entry.entryType === \"mark\" && entry[_DYN_NAME /* @min:%2ename */] === perfMark[_DYN_NAME /* @min:%2ename */]) {\r\n // We hit the start event\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] = perfTiming;\r\n break;\r\n }\r\n if (entry[_DYN_START_TIME /* @min:%2estartTime */] < perfMark[_DYN_START_TIME /* @min:%2estartTime */] - 1000) {\r\n // Fallback to try and reduce the time spent looking for the perf entry\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!perfMark || // - we don't have a perfMark or\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] || // - we have not found the perf entry or\r\n attempt >= maxAttempts || // - we have tried too many attempts or\r\n ajaxData.async === false) { // - this is a sync request\r\n if (perfMark && isFunction(performance.clearMarks)) {\r\n // Remove the mark so we don't fill up the performance resources too much\r\n performance.clearMarks(perfMark[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n ajaxData.perfAttempts = attempt;\r\n // just continue and report the track event\r\n trackCallback();\r\n }\r\n else {\r\n // We need to wait for the browser to populate the window.performance entry\r\n // This needs to be at least 1ms as waiting <= 1 (on firefox) is not enough time for fetch or xhr,\r\n // this is a scheduling issue for the browser implementation\r\n setTimeout(locateResourceTiming, retryDelay);\r\n }\r\n }\r\n catch (e) {\r\n reportError(e);\r\n }\r\n })();\r\n }\r\n function _createFetchRecord(input, init) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n if (input instanceof Request) {\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = input ? input.url : \"\";\r\n }\r\n else {\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = input;\r\n }\r\n var method = \"GET\";\r\n if (init && init[_DYN_METHOD /* @min:%2emethod */]) {\r\n method = init[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n else if (input && input instanceof Request) {\r\n method = input[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n var requestHeaders = {};\r\n if (_enableRequestHeaderTracking) {\r\n var headers = new Headers((init ? init[_DYN_HEADERS /* @min:%2eheaders */] : 0) || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n headers.forEach(function (value, key) {\r\n if (_canIncludeHeaders(key)) {\r\n requestHeaders[key] = value;\r\n }\r\n });\r\n }\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = requestHeaders;\r\n _createMarkId(STR_FETCH, ajaxData);\r\n return ajaxData;\r\n }\r\n function _getFailedFetchDiagnosticsMessage(input) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(input)) {\r\n if (isString(input)) {\r\n result += \"(url: '\".concat(input, \"')\");\r\n }\r\n else {\r\n result += \"(url: '\".concat(input.url, \"')\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalCritical(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to grab failed fetch diagnostics message\", { exception: dumpObj(e) });\r\n }\r\n return result;\r\n }\r\n function _reportFetchMetrics(callDetails, status, input, response, ajaxData, getResponse, properties) {\r\n if (!ajaxData) {\r\n return;\r\n }\r\n function _reportFetchError(msgId, e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"fetchDiagnosticsMessage\"] = _getFailedFetchDiagnosticsMessage(input);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + \"fetch call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = status;\r\n _findPerfResourceEntry(STR_FETCH, ajaxData, function () {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Fetch\", _enableRequestHeaderTracking, getResponse);\r\n var properties;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: status, request: input, response: response });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportFetchError(14 /* _eInternalMessageId.FailedMonitorAjaxDur */, null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }, function (e) {\r\n _reportFetchError(18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, e, null);\r\n });\r\n }\r\n function _getFetchCorrelationContext(response) {\r\n if (response && response[_DYN_HEADERS /* @min:%2eheaders */]) {\r\n try {\r\n var responseHeader = response[_DYN_HEADERS /* @min:%2eheaders */].get(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 /* @min:%2egetCorrelationContext */](responseHeader);\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, {\r\n fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n }\r\n function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {\r\n var result = true;\r\n var initializersCount = initializers[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = {\r\n item: dependency,\r\n properties: properties,\r\n sysProperties: systemProperties,\r\n context: ajaxData ? ajaxData[_DYN_CONTEXT /* @min:%2econtext */] : null,\r\n aborted: ajaxData ? !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */] : false\r\n };\r\n result = _processDependencyContainer(core, initializers, details, \"initializer\");\r\n }\r\n if (result) {\r\n _self[_DYN_TRACK_DEPENDENCY_DAT4 /* @min:%2etrackDependencyDataInternal */](dependency, properties, systemProperties);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AjaxMonitor.prototype.initialize.\r\n AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {\r\n this.processNext(item, itemCtx);\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyData.\r\n// Removed Stub for AjaxMonitor.prototype.includeCorrelationHeaders.\r\n// Removed Stub for AjaxMonitor.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyDataInternal.\r\n AjaxMonitor.identifier = \"AjaxDependencyPlugin\";\r\n AjaxMonitor.getDefaultConfig = _getDefaultConfig;\r\n AjaxMonitor.getEmptyConfig = _getEmptyConfig;\r\n return AjaxMonitor;\r\n}(BaseTelemetryPlugin));\r\nexport { AjaxMonitor };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SESSION_MANAGER = \"sessionManager\"; // Count: 3\r\nexport var _DYN_UPDATE = \"update\"; // Count: 4\r\nexport var _DYN_IS_USER_COOKIE_SET = \"isUserCookieSet\"; // Count: 4\r\nexport var _DYN_IS_NEW_USER = \"isNewUser\"; // Count: 4\r\nexport var _DYN_GET_TRACE_CTX = \"getTraceCtx\"; // Count: 3\r\nexport var _DYN_TELEMETRY_TRACE = \"telemetryTrace\"; // Count: 3\r\nexport var _DYN_APPLY_SESSION_CONTEX0 = \"applySessionContext\"; // Count: 2\r\nexport var _DYN_APPLY_APPLICATION_CO1 = \"applyApplicationContext\"; // Count: 2\r\nexport var _DYN_APPLY_DEVICE_CONTEXT = \"applyDeviceContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATION_CONT2 = \"applyOperationContext\"; // Count: 2\r\nexport var _DYN_APPLY_USER_CONTEXT = \"applyUserContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATING_SYST3 = \"applyOperatingSystemContxt\"; // Count: 2\r\nexport var _DYN_APPLY_LOCATION_CONTE4 = \"applyLocationContext\"; // Count: 2\r\nexport var _DYN_APPLY_INTERNAL_CONTE5 = \"applyInternalContext\"; // Count: 2\r\nexport var _DYN_ACCOUNT_ID = \"accountId\"; // Count: 8\r\nexport var _DYN_SDK_EXTENSION = \"sdkExtension\"; // Count: 4\r\nexport var _DYN_GET_SESSION_ID = \"getSessionId\"; // Count: 4\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 7\r\nexport var _DYN_SESSION_COOKIE_POSTF6 = \"sessionCookiePostfix\"; // Count: 4\r\nexport var _DYN_USER_COOKIE_POSTFIX = \"userCookiePostfix\"; // Count: 4\r\nexport var _DYN_ID_LENGTH = \"idLength\"; // Count: 5\r\nexport var _DYN_GET_NEW_ID = \"getNewId\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 4\r\nexport var _DYN_AUTOMATIC_SESSION = \"automaticSession\"; // Count: 5\r\nexport var _DYN_AUTHENTICATED_ID = \"authenticatedId\"; // Count: 6\r\nexport var _DYN_SESSION_EXPIRATION_M7 = \"sessionExpirationMs\"; // Count: 5\r\nexport var _DYN_SESSION_RENEWAL_MS = \"sessionRenewalMs\"; // Count: 4\r\nexport var _DYN_CONFIG = \"config\"; // Count: 4\r\nexport var _DYN_ACQUISITION_DATE = \"acquisitionDate\"; // Count: 5\r\nexport var _DYN_RENEWAL_DATE = \"renewalDate\"; // Count: 4\r\nexport var _DYN_COOKIE_DOMAIN = \"cookieDomain\"; // Count: 3\r\nexport var _DYN_JOIN = \"join\"; // Count: 5\r\nexport var _DYN_COOKIE_SEPARATOR = \"cookieSeparator\"; // Count: 5\r\nexport var _DYN_AUTH_USER_COOKIE_NAM8 = \"authUserCookieName\"; // Count: 3\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_SDK_EXTENSION } from \"../__DynamicConstants\";\r\nvar Version = '2.8.18';\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config) {\r\n this.sdkVersion = (config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */] && config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() ? config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() + \"_\" : \"\") + \"javascript:\" + Version;\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, dateNow, dumpObj, getExceptionName, isFunction, newId, safeGetCookieMgr, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACQUISITION_DATE, _DYN_AUTOMATIC_SESSION, _DYN_CONFIG, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_RENEWAL_DATE, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_EXPIRATION_M7, _DYN_SESSION_RENEWAL_MS, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nvar cookieNameConst = \"ai_session\";\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n if (!isFunction(config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */])) {\r\n config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */] = function () { return _SessionManager.acquisitionSpan; };\r\n }\r\n if (!isFunction(config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */])) {\r\n config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */] = function () { return _SessionManager.renewalSpan; };\r\n }\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = (_self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]()) ?\r\n _self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]() :\r\n ((_self.config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() : \"\");\r\n _storageNamePrefix = function () { return cookieNameConst + sessionCookiePostfix; };\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */] = new Session();\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n var sessionExpirationMs = _self.config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]();\r\n if (!isExpired && sessionExpirationMs > 0) {\r\n var sessionRenewalMs = _self.config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */];\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n _setStorage(session.id, session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */], session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */]);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix());\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix());\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param {string} sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens[_DYN_LENGTH /* @min:%2elength */] >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = acqMs;\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 9 /* _eInternalMessageId.ErrorParsingAISessionCookie */, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var theConfig = (_self[_DYN_CONFIG /* @min:%2econfig */] || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n _self.automaticSession.id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */][_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = nowMs;\r\n _setCookie(_self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */], nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 0 /* _eInternalMessageId.BrowserDoesNotSupportLocalStorage */, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = nowMs;\r\n var config = _self[_DYN_CONFIG /* @min:%2econfig */];\r\n var renewalPeriodMs = config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]()) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */] ? config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */]() : null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix(), cookie.join(\"|\"), config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]() > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix(), [guid, acq, renewal][_DYN_JOIN /* @min:%2ejoin */](\"|\"));\r\n }\r\n });\r\n }\r\n// Removed Stub for _SessionManager.prototype.update.\r\n// Removed Stub for _SessionManager.prototype.backup.\r\n _SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n _SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n _SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, newId, safeGetCookieMgr, safeGetLogger, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_AUTHENTICATED_ID, _DYN_AUTH_USER_COOKIE_NAM8, _DYN_CONFIG, _DYN_COOKIE_SEPARATOR, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"../__DynamicConstants\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n var userCookiePostfix = (_self.config[_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]() : \"\";\r\n _storageNamePrefix = function () { return User.userCookieName + userCookiePostfix; };\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix());\r\n if (cookie) {\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var params = cookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (params[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = !!_self.id;\r\n }\r\n }\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n var id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? config[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = _cookieManager.set(_storageNamePrefix(), cookie, oneYear);\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"ai_session\" : \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] ? config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */]() : undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: |\r\n var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (authCookieString[0]) {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authCookieString[0];\r\n }\r\n if (authCookieString[_DYN_LENGTH /* @min:%2elength */] > 1 && authCookieString[1]) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = authCookieString[1];\r\n }\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 60 /* _eInternalMessageId.SetAuthContextFailedAccountName */, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authenticatedUserId;\r\n var authCookie = _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */];\r\n if (accountId) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = accountId;\r\n authCookie = [_self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], _self.accountId][_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */], encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = null;\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = null;\r\n _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for User.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.clearAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.update.\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* TelemetryContext.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CtxTagKeys, Extensions, PageView, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalLogMessage, getSetValue, hasWindow, isNullOrUndefined, isString, objKeys, setValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nimport { User } from \"./Context/User\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_AUTHENTICATED_ID, _DYN_AUTOMATIC_SESSION, _DYN_GET_SESSION_ID, _DYN_LENGTH, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE } from \"./__DynamicConstants\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name])[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n delete target[name];\r\n }\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig, previousTraceCtx) {\r\n var _this = this;\r\n var logger = core.logger;\r\n this.appId = function () { return null; };\r\n this[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () { return null; };\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig);\r\n if (hasWindow()) {\r\n _self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] = new _SessionManager(defaultConfig, core);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core);\r\n var traceId = void 0;\r\n var parentId = void 0;\r\n var name_1;\r\n if (previousTraceCtx) {\r\n traceId = previousTraceCtx.getTraceId();\r\n parentId = previousTraceCtx.getSpanId();\r\n name_1 = previousTraceCtx.getName();\r\n }\r\n _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */] = new TelemetryTrace(traceId, parentId, name_1, logger);\r\n _self.session = new Session();\r\n }\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] || {})[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */] = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */](), isString);\r\n };\r\n _self[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */] = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */] = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */] = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */] = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, dataSanitizeString(logger, internal.sdkVersion, 64), isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */] = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */] = function (evt, itemCtx) {\r\n var telemetryTrace = _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */];\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString, isNullOrUndefined);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString, isNullOrUndefined);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString, isNullOrUndefined);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */] = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user[_DYN_ACCOUNT_ID /* @min:%2eaccountId */], isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for TelemetryContext.prototype.applySessionContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperatingSystemContxt.\r\n// Removed Stub for TelemetryContext.prototype.applyApplicationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyDeviceContext.\r\n// Removed Stub for TelemetryContext.prototype.applyInternalContext.\r\n// Removed Stub for TelemetryContext.prototype.applyLocationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyWebContext.\r\n// Removed Stub for TelemetryContext.prototype.applyUserContext.\r\n// Removed Stub for TelemetryContext.prototype.cleanUp.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n TelemetryContext.__ieDyn=1;\n\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* PropertiesPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, PageView, PropertiesPluginIdentifier, createDistributedTraceContextFromTrace, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _InternalLogMessage, _logInternalMessage, createProcessTelemetryContext, getNavigator, getSetValue, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_GET_SESSION_ID, _DYN_GET_TRACE_CTX, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_NAME_PREFIX, _DYN_SDK_EXTENSION, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"./__DynamicConstants\";\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _extensionConfig;\r\n var _distributedTraceCtx;\r\n var _previousTraceCtx;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _populateDefaults(config);\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (isNullOrUndefined(event)) {\r\n // TODO(barustum): throw an internal event once we have support for internal logging\r\n }\r\n else {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_self.context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _self.context.session.id !== \"string\" && theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */]) {\r\n theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */][_DYN_UPDATE /* @min:%2eupdate */]();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n userCtx[_DYN_UPDATE /* @min:%2eupdate */](theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */]) {\r\n userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var message = new _InternalLogMessage(72 /* _eInternalMessageId.SendBrowserInfoOnUserInit */, ((getNavigator() || {}).userAgent || \"\"));\r\n _logInternalMessage(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, message);\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n var core = (unloadCtx || {}).core();\r\n if (core && core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]) {\r\n var traceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n if (traceCtx === _distributedTraceCtx) {\r\n core.setTraceCtx(_previousTraceCtx);\r\n }\r\n }\r\n _initDefaults();\r\n };\r\n function _initDefaults() {\r\n _extensionConfig = null;\r\n _distributedTraceCtx = null;\r\n _previousTraceCtx = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n var defaultConfig = PropertiesPlugin.getDefaultConfig();\r\n _extensionConfig = _extensionConfig || {};\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _extensionConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _previousTraceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n _self.context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx);\r\n _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */], _previousTraceCtx);\r\n core.setTraceCtx(_distributedTraceCtx);\r\n _self.context.appId = function () {\r\n var breezeChannel = core.getPlugin(BreezeChannelIdentifier);\r\n return breezeChannel ? breezeChannel.plugin[\"_appId\"] : null;\r\n };\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n }\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */](evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */](evt, itemCtx); // legacy tags\r\n ctx[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */](evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n PropertiesPlugin.getDefaultConfig = function () {\r\n var _a;\r\n var defaultValue;\r\n var nullValue = null;\r\n var defaultConfig = (_a = {\r\n instrumentationKey: function () { return defaultValue; }\r\n },\r\n _a[_DYN_ACCOUNT_ID /* @min:accountId */] = function () { return nullValue; },\r\n _a.sessionRenewalMs = function () { return 30 * 60 * 1000; },\r\n _a.samplingPercentage = function () { return 100; },\r\n _a.sessionExpirationMs = function () { return 24 * 60 * 60 * 1000; },\r\n _a[_DYN_COOKIE_DOMAIN /* @min:cookieDomain */] = function () { return nullValue; },\r\n _a[_DYN_SDK_EXTENSION /* @min:sdkExtension */] = function () { return nullValue; },\r\n _a.isBrowserLinkTrackingEnabled = function () { return false; },\r\n _a.appId = function () { return nullValue; },\r\n _a[_DYN_GET_SESSION_ID /* @min:getSessionId */] = function () { return nullValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SESSION_COOKIE_POSTF6 /* @min:sessionCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_USER_COOKIE_POSTFIX /* @min:userCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_ID_LENGTH /* @min:idLength */] = function () { return 22; },\r\n _a[_DYN_GET_NEW_ID /* @min:getNewId */] = function () { return nullValue; },\r\n _a);\r\n return defaultConfig;\r\n };\r\n// Removed Stub for PropertiesPlugin.prototype.initialize.\r\n// Removed Stub for PropertiesPlugin.prototype.processTelemetry.\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nvar _AUTHENTICATED_USER_CONTEXT = \"AuthenticatedUserContext\";\r\nvar _TRACK = \"track\";\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_SNIPPET = \"snippet\";\r\nexport var STR_GET_COOKIE_MGR = \"getCookieMgr\";\r\nexport var STR_START_TRACK_PAGE = \"startTrackPage\";\r\nexport var STR_STOP_TRACK_PAGE = \"stopTrackPage\";\r\nexport var STR_FLUSH = \"flush\";\r\nexport var STR_START_TRACK_EVENT = \"startTrackEvent\";\r\nexport var STR_STOP_TRACK_EVENT = \"stopTrackEvent\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZER = \"addTelemetryInitializer\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZERS = STR_ADD_TELEMETRY_INITIALIZER + \"s\";\r\nexport var STR_POLL_INTERNAL_LOGS = \"pollInternalLogs\";\r\nexport var STR_GET_PLUGIN = \"getPlugin\";\r\nexport var STR_EVT_NAMESPACE = \"evtNamespace\";\r\nexport var STR_TRACK_EVENT = _TRACK + \"Event\";\r\nexport var STR_TRACK_TRACE = _TRACK + \"Trace\";\r\nexport var STR_TRACK_METRIC = _TRACK + \"Metric\";\r\nexport var STR_TRACK_PAGE_VIEW = _TRACK + \"PageView\";\r\nexport var STR_TRACK_EXCEPTION = _TRACK + \"Exception\";\r\nexport var STR_TRACK_DEPENDENCY_DATA = _TRACK + \"DependencyData\";\r\nexport var STR_SET_AUTHENTICATED_USER_CONTEXT = \"set\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var STR_CLEAR_AUTHENTICATED_USER_CONTEXT = \"clear\" + _AUTHENTICATED_USER_CONTEXT;\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPlugin } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport { Sender } from \"@microsoft/applicationinsights-channel-js\";\r\nimport { AnalyticsPluginIdentifier, BreezeChannelIdentifier, ConfigurationManager, ConnectionStringParser, ContextTagKeys, CorrelationIdHelper, CtxTagKeys, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, Data, DataSanitizer, DateTimeUtils, DisabledPropertyName, DistributedTracingModes, Envelope, Event, Exception, Extensions, HttpMethod, Metric, PageView, PageViewPerformance, ProcessLegacy, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, SampleRate, SeverityLevel, TelemetryItemCreator, Trace, UrlHelper, Util, parseConnectionString } from \"@microsoft/applicationinsights-common\";\r\nimport { AppInsightsCore, _throwInternal, addPageHideEventListener, addPageUnloadEventListener, arrForEach, arrIndexOf, createUniqueNamespace, doPerf, hasDocument, hasWindow, isArray, isFunction, isNullOrUndefined, isReactNative, isString, mergeEvtNamespace, objForEachKey, proxyAssign, proxyFunctions, removePageHideEventListener, removePageUnloadEventListener, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { AjaxPlugin as DependenciesPlugin } from \"@microsoft/applicationinsights-dependencies-js\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\nimport { STR_ADD_TELEMETRY_INITIALIZER, STR_CLEAR_AUTHENTICATED_USER_CONTEXT, STR_EVT_NAMESPACE, STR_FLUSH, STR_GET_COOKIE_MGR, STR_GET_PLUGIN, STR_POLL_INTERNAL_LOGS, STR_SET_AUTHENTICATED_USER_CONTEXT, STR_SNIPPET, STR_START_TRACK_EVENT, STR_START_TRACK_PAGE, STR_STOP_TRACK_EVENT, STR_STOP_TRACK_PAGE, STR_TRACK_DEPENDENCY_DATA, STR_TRACK_EVENT, STR_TRACK_EXCEPTION, STR_TRACK_METRIC, STR_TRACK_PAGE_VIEW, STR_TRACK_TRACE } from \"./InternalConstants\";\r\nimport { _DYN_ADD_HOUSEKEEPING_BEF20, _DYN_APP_INSIGHTS, _DYN_CONFIG, _DYN_CONNECTION_STRING, _DYN_CONTEXT, _DYN_DIAGNOSTIC_LOG_INTER4, _DYN_DISABLE_FLUSH_ON_BEF11, _DYN_DISABLE_FLUSH_ON_UNL12, _DYN_DISABLE_IKEY_DEPRECA18, _DYN_ENDPOINT_URL, _DYN_GET_TRANSMISSION_CON19, _DYN_INDEX_OF, _DYN_INSTRUMENTATION_KEY, _DYN_LOAD_APP_INSIGHTS, _DYN_ONUNLOAD_FLUSH, _DYN_PUSH, _DYN_QUEUE, _DYN_UPDATE_SNIPPET_DEFIN0, _DYN_VERSION } from \"./__DynamicConstants\";\r\nvar _internalSdkSrc;\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n STR_SNIPPET, \"dependencies\", \"properties\", \"_snippetVersion\", \"appInsightsNew\", \"getSKUDefaults\"\r\n];\r\n// Re-exposing the Common classes as Telemetry, the list was taken by reviewing the generated code for the build while using\r\n// the previous configuration :-\r\n// import * as Common from \"@microsoft/applicationinsights-common\"\r\n// export const Telemetry = Common;\r\nvar fieldType = {\r\n Default: 0 /* FieldType.Default */,\r\n Required: 1 /* FieldType.Required */,\r\n Array: 2 /* FieldType.Array */,\r\n Hidden: 4 /* FieldType.Hidden */\r\n};\r\n/**\r\n * Telemetry type classes, e.g. PageView, Exception, etc\r\n */\r\nexport var Telemetry = {\r\n __proto__: null,\r\n PropertiesPluginIdentifier: PropertiesPluginIdentifier,\r\n BreezeChannelIdentifier: BreezeChannelIdentifier,\r\n AnalyticsPluginIdentifier: AnalyticsPluginIdentifier,\r\n Util: Util,\r\n CorrelationIdHelper: CorrelationIdHelper,\r\n UrlHelper: UrlHelper,\r\n DateTimeUtils: DateTimeUtils,\r\n ConnectionStringParser: ConnectionStringParser,\r\n FieldType: fieldType,\r\n RequestHeaders: RequestHeaders,\r\n DisabledPropertyName: DisabledPropertyName,\r\n ProcessLegacy: ProcessLegacy,\r\n SampleRate: SampleRate,\r\n HttpMethod: HttpMethod,\r\n DEFAULT_BREEZE_ENDPOINT: DEFAULT_BREEZE_ENDPOINT,\r\n Envelope: Envelope,\r\n Event: Event,\r\n Exception: Exception,\r\n Metric: Metric,\r\n PageView: PageView,\r\n RemoteDependencyData: RemoteDependencyData,\r\n Trace: Trace,\r\n PageViewPerformance: PageViewPerformance,\r\n Data: Data,\r\n SeverityLevel: SeverityLevel,\r\n ConfigurationManager: ConfigurationManager,\r\n ContextTagKeys: ContextTagKeys,\r\n DataSanitizer: DataSanitizer,\r\n TelemetryItemCreator: TelemetryItemCreator,\r\n CtxTagKeys: CtxTagKeys,\r\n Extensions: Extensions,\r\n DistributedTracingModes: DistributedTracingModes\r\n};\r\n/**\r\n * Application Insights API\r\n * @class Initialization\r\n * @implements {IApplicationInsights}\r\n */\r\nvar Initialization = /** @class */ (function () {\r\n function Initialization(snippet) {\r\n var _this = this;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var dependencies;\r\n var properties;\r\n var _sender;\r\n var _snippetVersion;\r\n var _evtNamespace;\r\n var _houseKeepingNamespace;\r\n var _core;\r\n dynamicProto(Initialization, this, function (_self) {\r\n _initDefaults();\r\n // initialize the queue and config in case they are undefined\r\n _snippetVersion = \"\" + (snippet.sv || snippet[_DYN_VERSION /* @min:%2eversion */] || \"\");\r\n snippet[_DYN_QUEUE /* @min:%2equeue */] = snippet[_DYN_QUEUE /* @min:%2equeue */] || [];\r\n snippet[_DYN_VERSION /* @min:%2eversion */] = snippet[_DYN_VERSION /* @min:%2eversion */] || 2.0; // Default to new version\r\n var config = snippet[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n if (config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */]) {\r\n var cs = parseConnectionString(config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */]);\r\n var ingest = cs.ingestionendpoint;\r\n config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = ingest ? (ingest + DEFAULT_BREEZE_PATH) : config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]; // only add /v2/track when from connectionstring\r\n config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = cs.instrumentationkey || config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n _self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */] = new AnalyticsPlugin();\r\n properties = new PropertiesPlugin();\r\n dependencies = new DependenciesPlugin();\r\n _sender = new Sender();\r\n _core = new AppInsightsCore();\r\n _self.core = _core;\r\n var isErrMessageDisabled = isNullOrUndefined(config[_DYN_DISABLE_IKEY_DEPRECA18 /* @min:%2edisableIkeyDeprecationMessage */]) ? true : config[_DYN_DISABLE_IKEY_DEPRECA18 /* @min:%2edisableIkeyDeprecationMessage */];\r\n if (!config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] && !isErrMessageDisabled) {\r\n _throwInternal(_core.logger, 1 /* eLoggingSeverity.CRITICAL */, 106 /* _eInternalMessageId.InstrumentationKeyDeprecation */, \"Instrumentation key support will end soon, see aka.ms/IkeyMigrate\");\r\n }\r\n _self[STR_SNIPPET /* @min:%2esnippet */] = snippet;\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n _getSKUDefaults();\r\n _self[STR_FLUSH /* @min:%2eflush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n doPerf(_core, function () { return \"AISKU.flush\"; }, function () {\r\n arrForEach(_core[_DYN_GET_TRANSMISSION_CON19 /* @min:%2egetTransmissionControls */](), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n });\r\n });\r\n }, null, async);\r\n };\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n arrForEach(_core[_DYN_GET_TRANSMISSION_CON19 /* @min:%2egetTransmissionControls */](), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n if (channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]) {\r\n channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]();\r\n }\r\n else {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n }\r\n });\r\n });\r\n };\r\n _self[_DYN_LOAD_APP_INSIGHTS /* @min:%2eloadAppInsights */] = function (legacyMode, logger, notificationManager) {\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n function _updateSnippetProperties(snippet) {\r\n if (snippet) {\r\n var snippetVer = \"\";\r\n if (!isNullOrUndefined(_snippetVersion)) {\r\n snippetVer += _snippetVersion;\r\n }\r\n if (legacyMode) {\r\n snippetVer += \".lg\";\r\n }\r\n if (_self[_DYN_CONTEXT /* @min:%2econtext */] && _self[_DYN_CONTEXT /* @min:%2econtext */].internal) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.snippetVer = snippetVer || \"-\";\r\n }\r\n // apply updated properties to the global instance (snippet)\r\n objForEachKey(_self, function (field, value) {\r\n if (isString(field) &&\r\n !isFunction(value) &&\r\n field && field[0] !== \"_\" && // Don't copy \"internal\" values\r\n arrIndexOf(_ignoreUpdateSnippetProperties, field) === -1) {\r\n snippet[field] = value;\r\n }\r\n });\r\n }\r\n }\r\n // dont allow additional channels/other extensions for legacy mode; legacy mode is only to allow users to switch with no code changes!\r\n if (legacyMode && _self[_DYN_CONFIG /* @min:%2econfig */].extensions && _self[_DYN_CONFIG /* @min:%2econfig */].extensions.length > 0) {\r\n throwError(\"Extensions not allowed in legacy mode\");\r\n }\r\n doPerf(_self.core, function () { return \"AISKU.loadAppInsights\"; }, function () {\r\n var extensions = [];\r\n extensions[_DYN_PUSH /* @min:%2epush */](_sender);\r\n extensions[_DYN_PUSH /* @min:%2epush */](properties);\r\n extensions[_DYN_PUSH /* @min:%2epush */](dependencies);\r\n extensions[_DYN_PUSH /* @min:%2epush */](_self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */]);\r\n // initialize core\r\n _core.initialize(_self[_DYN_CONFIG /* @min:%2econfig */], extensions, logger, notificationManager);\r\n _self[_DYN_CONTEXT /* @min:%2econtext */] = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n if (_internalSdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */]) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc = _internalSdkSrc;\r\n }\r\n _updateSnippetProperties(_self[STR_SNIPPET /* @min:%2esnippet */]);\r\n // Empty queue of all api calls logged prior to sdk download\r\n _self.emptyQueue();\r\n _self[STR_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF20 /* @min:%2eaddHousekeepingBeforeUnload */](_self);\r\n });\r\n return _self;\r\n };\r\n _self[_DYN_UPDATE_SNIPPET_DEFIN0 /* @min:%2eupdateSnippetDefinitions */] = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, _self, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && arrIndexOf(_ignoreUpdateSnippetProperties, name) === -1;\r\n });\r\n };\r\n _self.emptyQueue = function () {\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (isArray(_self.snippet[_DYN_QUEUE /* @min:%2equeue */])) {\r\n // note: do not check length in the for-loop conditional in case something goes wrong and the stub methods are not overridden.\r\n var length_1 = _self.snippet[_DYN_QUEUE /* @min:%2equeue */].length;\r\n for (var i = 0; i < length_1; i++) {\r\n var call = _self.snippet[_DYN_QUEUE /* @min:%2equeue */][i];\r\n call();\r\n }\r\n _self.snippet[_DYN_QUEUE /* @min:%2equeue */] = undefined;\r\n delete _self.snippet[_DYN_QUEUE /* @min:%2equeue */];\r\n }\r\n }\r\n catch (exception) {\r\n var properties_1 = {};\r\n if (exception && isFunction(exception.toString)) {\r\n properties_1.exception = exception.toString();\r\n }\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // eLoggingSeverity.WARNING,\r\n // _eInternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n };\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF20 /* @min:%2eaddHousekeepingBeforeUnload */] = function (appInsightsInstance) {\r\n // Add callback to push events when the user navigates away\r\n if (hasWindow() || hasDocument()) {\r\n var performHousekeeping = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push a sync request with all the pending events onbeforeunload.\r\n // Firefox does not respect this.Other browsers DO push out the call with < 100% hit rate.\r\n // Telemetry here will help us analyze how effective this approach is.\r\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\r\n // impact on user experience.\r\n // appInsightsInstance.context._sender.triggerSend();\r\n appInsightsInstance[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](false);\r\n // Back up the current session to local storage\r\n // This lets us close expired sessions after the cookies themselves expire\r\n if (isFunction(_this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */])) {\r\n var loadedPlugin = _this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */](PropertiesPluginIdentifier);\r\n if (loadedPlugin) {\r\n var propertiesPlugin = loadedPlugin.plugin;\r\n if (propertiesPlugin && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */] && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager) {\r\n propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager.backup();\r\n }\r\n }\r\n }\r\n };\r\n var added = false;\r\n var excludePageUnloadEvents = appInsightsInstance.appInsights[_DYN_CONFIG /* @min:%2econfig */].disablePageUnloadEvents;\r\n if (!_houseKeepingNamespace) {\r\n _houseKeepingNamespace = mergeEvtNamespace(_evtNamespace, _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */] && _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */]());\r\n }\r\n if (!appInsightsInstance.appInsights.config[_DYN_DISABLE_FLUSH_ON_BEF11 /* @min:%2edisableFlushOnBeforeUnload */]) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n if (addPageUnloadEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added = true;\r\n }\r\n // We also need to hook the pagehide and visibilitychange events as not all versions of Safari support load/unload events.\r\n if (addPageHideEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added = true;\r\n }\r\n // A reactNative app may not have a window and therefore the beforeunload/pagehide events -- so don't\r\n // log the failure in this case\r\n if (!added && !isReactNative()) {\r\n _throwInternal(appInsightsInstance[_DYN_APP_INSIGHTS /* @min:%2eappInsights */].core.logger, 1 /* eLoggingSeverity.CRITICAL */, 19 /* _eInternalMessageId.FailedToAddHandlerForOnBeforeUnload */, \"Could not add handler for beforeunload and pagehide\");\r\n }\r\n }\r\n if (!added && !appInsightsInstance.appInsights.config[_DYN_DISABLE_FLUSH_ON_UNL12 /* @min:%2edisableFlushOnUnload */]) {\r\n // If we didn't add the normal set then attempt to add the pagehide and visibilitychange only\r\n addPageHideEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace);\r\n }\r\n }\r\n };\r\n _self.getSender = function () {\r\n return _sender;\r\n };\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](isAsync);\r\n // Remove any registered event handlers\r\n if (_houseKeepingNamespace) {\r\n removePageUnloadEventListener(null, _houseKeepingNamespace);\r\n removePageHideEventListener(null, _houseKeepingNamespace);\r\n }\r\n _core.unload && _core.unload(isAsync, unloadComplete, cbTimeout);\r\n };\r\n proxyFunctions(_self, _self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */], [\r\n STR_GET_COOKIE_MGR,\r\n STR_TRACK_EVENT,\r\n STR_TRACK_PAGE_VIEW,\r\n \"trackPageViewPerformance\",\r\n STR_TRACK_EXCEPTION,\r\n \"_onerror\",\r\n STR_TRACK_TRACE,\r\n STR_TRACK_METRIC,\r\n STR_START_TRACK_PAGE,\r\n STR_STOP_TRACK_PAGE,\r\n STR_START_TRACK_EVENT,\r\n STR_STOP_TRACK_EVENT\r\n ]);\r\n proxyFunctions(_self, _getCurrentDependencies, [\r\n STR_TRACK_DEPENDENCY_DATA,\r\n \"addDependencyListener\",\r\n \"addDependencyInitializer\"\r\n ]);\r\n proxyFunctions(_self, _core, [\r\n STR_ADD_TELEMETRY_INITIALIZER,\r\n STR_POLL_INTERNAL_LOGS,\r\n \"stopPollingInternalLogs\",\r\n STR_GET_PLUGIN,\r\n \"addPlugin\",\r\n STR_EVT_NAMESPACE,\r\n \"addUnloadCb\",\r\n \"getTraceCtx\"\r\n ]);\r\n proxyFunctions(_self, function () {\r\n var context = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n return context ? context.user : null;\r\n }, [\r\n STR_SET_AUTHENTICATED_USER_CONTEXT,\r\n STR_CLEAR_AUTHENTICATED_USER_CONTEXT\r\n ]);\r\n function _getSKUDefaults() {\r\n _self.config[_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] =\r\n _self.config[_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] > 0 ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] : 10000;\r\n }\r\n // Using a function to support the dynamic adding / removal of plugins, so this will always return the current value\r\n function _getCurrentDependencies() {\r\n return dependencies;\r\n }\r\n function _initDefaults() {\r\n _evtNamespace = createUniqueNamespace(\"AISKU\");\r\n _houseKeepingNamespace = null;\r\n dependencies = null;\r\n properties = null;\r\n _sender = null;\r\n _snippetVersion = null;\r\n }\r\n });\r\n }\r\n // Analytics Plugin\r\n// Removed Stub for Initialization.prototype.getCookieMgr.\r\n// Removed Stub for Initialization.prototype.trackEvent.\r\n// Removed Stub for Initialization.prototype.trackPageView.\r\n// Removed Stub for Initialization.prototype.trackPageViewPerformance.\r\n// Removed Stub for Initialization.prototype.trackException.\r\n// Removed Stub for Initialization.prototype._onerror.\r\n// Removed Stub for Initialization.prototype.trackTrace.\r\n// Removed Stub for Initialization.prototype.trackMetric.\r\n// Removed Stub for Initialization.prototype.startTrackPage.\r\n// Removed Stub for Initialization.prototype.stopTrackPage.\r\n// Removed Stub for Initialization.prototype.startTrackEvent.\r\n// Removed Stub for Initialization.prototype.stopTrackEvent.\r\n// Removed Stub for Initialization.prototype.addTelemetryInitializer.\r\n // Properties Plugin\r\n// Removed Stub for Initialization.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for Initialization.prototype.clearAuthenticatedUserContext.\r\n // Dependencies Plugin\r\n// Removed Stub for Initialization.prototype.trackDependencyData.\r\n // Misc\r\n// Removed Stub for Initialization.prototype.flush.\r\n// Removed Stub for Initialization.prototype.onunloadFlush.\r\n// Removed Stub for Initialization.prototype.loadAppInsights.\r\n// Removed Stub for Initialization.prototype.updateSnippetDefinitions.\r\n// Removed Stub for Initialization.prototype.emptyQueue.\r\n// Removed Stub for Initialization.prototype.pollInternalLogs.\r\n// Removed Stub for Initialization.prototype.stopPollingInternalLogs.\r\n// Removed Stub for Initialization.prototype.addHousekeepingBeforeUnload.\r\n// Removed Stub for Initialization.prototype.getSender.\r\n// Removed Stub for Initialization.prototype.unload.\r\n// Removed Stub for Initialization.prototype.getPlugin.\r\n// Removed Stub for Initialization.prototype.addPlugin.\r\n// Removed Stub for Initialization.prototype.evtNamespace.\r\n// Removed Stub for Initialization.prototype.addUnloadCb.\r\n// Removed Stub for Initialization.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n Initialization.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for Initialization.prototype.getTraceCtx.\r\n return Initialization;\r\n}());\r\nexport { Initialization };\r\n// tslint:disable-next-line\r\n(function () {\r\n var sdkSrc = null;\r\n var isModule = false;\r\n var cdns = [\r\n \"://js.monitor.azure.com/\",\r\n \"://az416426.vo.msecnd.net/\"\r\n ];\r\n try {\r\n // Try and determine whether the sdk is being loaded from the CDN\r\n // currentScript is only valid during initial processing\r\n var scrpt = (document || {}).currentScript;\r\n if (scrpt) {\r\n sdkSrc = scrpt.src;\r\n // } else {\r\n // // We need to update to at least typescript 2.9 for this to work :-(\r\n // // Leaving as a stub for now so after we upgrade this breadcrumb is available\r\n // let meta = import.meta;\r\n // sdkSrc = (meta || {}).url;\r\n // isModule = true;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n if (sdkSrc) {\r\n try {\r\n var url = sdkSrc.toLowerCase();\r\n if (url) {\r\n var src = \"\";\r\n for (var idx = 0; idx < cdns.length; idx++) {\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](cdns[idx]) !== -1) {\r\n src = \"cdn\" + (idx + 1);\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/scripts/\") === -1) {\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/next/\") !== -1) {\r\n src += \"-next\";\r\n }\r\n else if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/beta/\") !== -1) {\r\n src += \"-beta\";\r\n }\r\n }\r\n _internalSdkSrc = src + (isModule ? \".mod\" : \"\");\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n})();\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_UPDATE_SNIPPET_DEFIN0 = \"updateSnippetDefinitions\"; // Count: 4\r\nexport var _DYN_LOAD_APP_INSIGHTS = \"loadAppInsights\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 4\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 3\r\nexport var _DYN_DISABLE_EXCEPTION_TR2 = \"disableExceptionTracking\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_EMIT_LINE_DELIMITED_3 = \"emitLineDelimitedJson\"; // Count: 2\r\nexport var _DYN_DIAGNOSTIC_LOG_INTER4 = \"diagnosticLogInterval\"; // Count: 6\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI5 = \"autoTrackPageVisitTime\"; // Count: 2\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 4\r\nexport var _DYN_DISABLE_AJAX_TRACKIN6 = \"disableAjaxTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V7 = \"maxAjaxCallsPerView\"; // Count: 3\r\nexport var _DYN_IS_BEACON_API_DISABL8 = \"isBeaconApiDisabled\"; // Count: 2\r\nexport var _DYN_DISABLE_CORRELATION_9 = \"disableCorrelationHeaders\"; // Count: 2\r\nexport var _DYN_CORRELATION_HEADER_E10 = \"correlationHeaderExcludedDomains\"; // Count: 2\r\nexport var _DYN_DISABLE_FLUSH_ON_BEF11 = \"disableFlushOnBeforeUnload\"; // Count: 4\r\nexport var _DYN_DISABLE_FLUSH_ON_UNL12 = \"disableFlushOnUnload\"; // Count: 3\r\nexport var _DYN_ENABLE_SESSION_STORA13 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN_IS_COOKIE_USE_DISABL14 = \"isCookieUseDisabled\"; // Count: 2\r\nexport var _DYN_IS_STORAGE_USE_DISAB15 = \"isStorageUseDisabled\"; // Count: 2\r\nexport var _DYN_IS_BROWSER_LINK_TRAC16 = \"isBrowserLinkTrackingEnabled\"; // Count: 2\r\nexport var _DYN_ENABLE_CORS_CORRELAT17 = \"enableCorsCorrelation\"; // Count: 2\r\nexport var _DYN_CONFIG = \"config\"; // Count: 6\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 8\r\nexport var _DYN_PUSH = \"push\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_QUEUE = \"queue\"; // Count: 6\r\nexport var _DYN_CONNECTION_STRING = \"connectionString\"; // Count: 3\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 2\r\nexport var _DYN_APP_INSIGHTS = \"appInsights\"; // Count: 3\r\nexport var _DYN_DISABLE_IKEY_DEPRECA18 = \"disableIkeyDeprecationMessage\"; // Count: 2\r\nexport var _DYN_GET_TRANSMISSION_CON19 = \"getTransmissionControls\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_FLUSH = \"onunloadFlush\"; // Count: 6\r\nexport var _DYN_ADD_HOUSEKEEPING_BEF20 = \"addHousekeepingBeforeUnload\"; // Count: 2\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 4\r\n","import { Injectable } from \"@angular/core\";\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable()\nexport class MonitoringService {\n appInsights: ApplicationInsights;\n envSetting: any;\n\n constructor(private httpClient: HttpClient) {\n this.httpClient.get(\"assets/env.json\").subscribe((data) => {\n this.envSetting = data;\n this.appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: this.envSetting.ApplicationInsights.InstrumentationKey,\n appId: this.envSetting.ApplicationMonitoring.ApplicationName,\n enableAutoRouteTracking: true, // option to log all route changes\n },\n });\n\n console.log(this.envSetting);\n\n if (this.envSetting.ApplicationMonitoring.Enabled) {\n this.appInsights.loadAppInsights();\n this.appInsights.trackPageView();\n }\n });\n }\n\n logPageView(name?: string, url?: string) {\n // option to call manually\n this.appInsights.trackPageView({\n name: name,\n uri: url,\n });\n }\n\n logEvent(name: string, properties?: { [key: string]: any }) {\n this.appInsights.trackEvent({ name: name }, properties);\n }\n\n logMetric(name: string, average: number, properties?: { [key: string]: any }) {\n this.appInsights.trackMetric({ name: name, average: average }, properties);\n }\n\n logException(exception: Error, severityLevel?: number) {\n this.appInsights.trackException({ exception: exception, severityLevel: severityLevel });\n }\n\n logTrace(message: string, properties?: { [key: string]: any }) {\n this.appInsights.trackTrace({ message: message }, properties);\n }\n}\n","import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, PLATFORM_ID, Optional, Inject, NgModule } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { Subscription, fromEvent, merge } from 'rxjs';\nimport { filter, throttleTime } from 'rxjs/operators';\n\n/*\n * A class for managing an interrupt from an interrupt source.\n */\nclass Interrupt {\n constructor(source, options) {\n this.source = source;\n if (source.initialize) {\n source.initialize(options);\n }\n }\n /*\n * Subscribes to the interrupt using the specified function.\n * @param fn - The subscription function.\n */\n subscribe(fn) {\n this.sub = this.source.onInterrupt.subscribe(fn);\n }\n /*\n * Unsubscribes the interrupt.\n */\n unsubscribe() {\n this.sub.unsubscribe();\n this.sub = null;\n }\n /*\n * Keeps the subscription but resumes interrupt events.\n */\n resume() {\n this.source.attach();\n }\n /*\n * Keeps the subscription but pauses interrupt events.\n */\n pause() {\n this.source.detach();\n }\n}\n\n/*\n * Represents a base class for types that provide expiry detection for the Idle service.\n */\nclass IdleExpiry {\n constructor() {\n this.idValue = new Date();\n this.idlingValue = false;\n }\n /*\n * Gets or sets a unique ID for the window\n * @param id - The id.\n * @return The current id.\n */\n id(value) {\n if (value !== void 0) {\n if (!value) {\n throw new Error('A value must be specified for the ID.');\n }\n this.idValue = value;\n }\n return this.idValue;\n }\n /*\n * Gets or sets the idling value.\n * @param value - The value to set.\n * @return The idling value.\n */\n idling(value) {\n if (value !== void 0) {\n this.idlingValue = value;\n }\n return this.idlingValue;\n }\n /*\n * Returns the current Date.\n * @return The current Date.\n */\n now() {\n /* istanbul ignore next */\n return new Date();\n }\n /*\n * Returns whether or not it is expired.\n * @return True if expired; otherwise, false.\n */\n isExpired() {\n const expiry = this.last();\n return expiry != null && expiry <= this.now();\n }\n}\n\n/*\n * Represents an alternative storage for browser that doesn't support localstorage. (i.e. Safari in\n * private mode)\n * @implements Storage\n */\nclass AlternativeStorage {\n constructor() {\n this.storageMap = {};\n }\n /*\n * Returns an integer representing the number of data items stored in the storageMap object.\n */\n get length() {\n return Object.keys(this.storageMap).length;\n }\n /*\n * Remove all keys out of the storage.\n */\n clear() {\n this.storageMap = {};\n }\n /*\n * Return the key's value\n *\n * @param key - name of the key to retrieve the value of.\n * @return The key's value\n */\n getItem(key) {\n if (typeof this.storageMap[key] !== 'undefined') {\n return this.storageMap[key];\n }\n return null;\n }\n /*\n * Return the nth key in the storage\n *\n * @param index - the number of the key you want to get the name of.\n * @return The name of the key.\n */\n key(index) {\n return Object.keys(this.storageMap)[index] || null;\n }\n /*\n * Remove a key from the storage.\n *\n * @param key - the name of the key you want to remove.\n */\n removeItem(key) {\n this.storageMap[key] = undefined;\n }\n /*\n * Add a key to the storage, or update a key's value if it already exists.\n *\n * @param key - the name of the key.\n * @param value - the value you want to give to the key.\n */\n setItem(key, value) {\n this.storageMap[key] = value;\n }\n}\n\n/*\n * Represents a localStorage store.\n */\nclass LocalStorage {\n constructor() {\n this.storage = this.getStorage();\n }\n /*\n * Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem\n * throw QuotaExceededError. We're going to detect this and just silently drop any calls to\n * setItem\n * to avoid the entire page breaking, without having to do a check at each usage of Storage.\n */\n getStorage() {\n try {\n const storage = localStorage;\n storage.setItem('ng2IdleStorage', '');\n storage.removeItem('ng2IdleStorage');\n return storage;\n }\n catch (err) {\n return new AlternativeStorage();\n }\n }\n /*\n * Gets an item in the storage.\n *\n * @param value - The value to get.\n * @return The current value.\n */\n getItem(key) {\n return this.storage.getItem('ng2Idle.' + key);\n }\n /*\n * Removes an item in the storage.\n *\n * @param value - The value to remove.\n */\n removeItem(key) {\n this.storage.removeItem('ng2Idle.' + key);\n }\n /*\n * Sets an item in the storage.\n *\n * @param key - The key to set the value.\n * @param value - The value to set to the key.\n */\n setItem(key, data) {\n this.storage.setItem('ng2Idle.' + key, data);\n }\n /*\n * Represents the storage, commonly use for testing purposes.\n *\n * @param key - The key to set the value.\n * @param value - The value to set to the key.\n */\n _wrapped() {\n return this.storage;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorage }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorage, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return []; } });\n\n/*\n * Represents a localStorage store of expiry values.\n * @extends IdleExpiry\n */\nclass LocalStorageExpiry extends IdleExpiry {\n constructor(localStorage) {\n super();\n this.localStorage = localStorage;\n this.idleName = 'main';\n }\n /*\n * Gets or sets the last expiry date in localStorage.\n * If localStorage doesn't work correctly (i.e. Safari in private mode), we store the expiry value in memory.\n * @param value - The expiry value to set; omit to only return the value.\n * @return The current expiry value.\n */\n last(value) {\n if (value !== void 0) {\n this.setExpiry(value);\n }\n return this.getExpiry();\n }\n idling(value) {\n if (value !== void 0) {\n this.setIdling(value);\n }\n return this.getIdling();\n }\n /*\n * Gets the idle name.\n * @return The name of the idle.\n */\n getIdleName() {\n return this.idleName;\n }\n /*\n * Sets the idle name.\n * @param The name of the idle.\n */\n setIdleName(key) {\n if (key) {\n this.idleName = key;\n }\n }\n getExpiry() {\n const expiry = this.localStorage.getItem(this.idleName + '.expiry');\n if (expiry) {\n return new Date(parseInt(expiry, 10));\n }\n else {\n return null;\n }\n }\n setExpiry(value) {\n if (value) {\n this.localStorage.setItem(this.idleName + '.expiry', value.getTime().toString());\n }\n else {\n this.localStorage.removeItem(this.idleName + '.expiry');\n }\n }\n getIdling() {\n const idling = this.localStorage.getItem(this.idleName + '.idling');\n if (idling) {\n return idling === 'true';\n }\n else {\n return false;\n }\n }\n setIdling(value) {\n if (value) {\n this.localStorage.setItem(this.idleName + '.idling', value.toString());\n }\n else {\n this.localStorage.setItem(this.idleName + '.idling', 'false');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorageExpiry, deps: [{ token: LocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorageExpiry }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorageExpiry, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: LocalStorage }]; } });\n\nclass KeepaliveSvc {\n}\n\n/*\n * Indicates the desired auto resume behavior.\n */\nvar AutoResume;\n(function (AutoResume) {\n /*\n * Auto resume functionality will be disabled.\n */\n AutoResume[AutoResume[\"disabled\"] = 0] = \"disabled\";\n /*\n * Can resume automatically even if they are idle.\n */\n AutoResume[AutoResume[\"idle\"] = 1] = \"idle\";\n /*\n * Can only resume automatically if they are not yet idle.\n */\n AutoResume[AutoResume[\"notIdle\"] = 2] = \"notIdle\";\n})(AutoResume || (AutoResume = {}));\n/**\n * A service for detecting and responding to user idleness.\n */\nclass Idle {\n constructor(expiry, zone, keepaliveSvc, platformId) {\n this.expiry = expiry;\n this.zone = zone;\n this.platformId = platformId;\n this.idle = 20 * 60; // in seconds\n this.timeoutVal = 30; // in seconds\n this.autoResume = AutoResume.idle;\n this.interrupts = new Array();\n this.running = false;\n this.keepaliveEnabled = false;\n this.onIdleStart = new EventEmitter();\n this.onIdleEnd = new EventEmitter();\n this.onTimeoutWarning = new EventEmitter();\n this.onTimeout = new EventEmitter();\n this.onInterrupt = new EventEmitter();\n if (keepaliveSvc) {\n this.keepaliveSvc = keepaliveSvc;\n this.keepaliveEnabled = true;\n }\n this.setIdling(false);\n }\n /*\n * Sets the idle name for localStorage.\n * Important to set if multiple instances of Idle with LocalStorageExpiry\n * @param The name of the idle.\n */\n setIdleName(key) {\n if (this.expiry instanceof LocalStorageExpiry) {\n this.expiry.setIdleName(key);\n }\n else {\n throw new Error('Cannot set expiry key name because no LocalStorageExpiry has been provided.');\n }\n }\n /*\n * Returns whether or not keepalive integration is enabled.\n * @return True if integration is enabled; otherwise, false.\n */\n getKeepaliveEnabled() {\n return this.keepaliveEnabled;\n }\n /*\n * Sets and returns whether or not keepalive integration is enabled.\n * @param True if the integration is enabled; otherwise, false.\n * @return The current value.\n */\n setKeepaliveEnabled(value) {\n if (!this.keepaliveSvc) {\n throw new Error('Cannot enable keepalive integration because no KeepaliveSvc has been provided.');\n }\n return (this.keepaliveEnabled = value);\n }\n /*\n * Returns the current timeout value.\n * @return The timeout value in seconds.\n */\n getTimeout() {\n return this.timeoutVal;\n }\n /*\n * Sets the timeout value.\n * @param seconds - The timeout value in seconds. 0 or false to disable timeout feature.\n * @return The current value. If disabled, the value will be 0.\n */\n setTimeout(seconds) {\n if (seconds === false) {\n this.timeoutVal = 0;\n }\n else if (typeof seconds === 'number' && seconds >= 0) {\n this.timeoutVal = seconds;\n }\n else {\n throw new Error(\"'seconds' can only be 'false' or a positive number.\");\n }\n return this.timeoutVal;\n }\n /*\n * Returns the current idle value.\n * @return The idle value in seconds.\n */\n getIdle() {\n return this.idle;\n }\n /*\n * Sets the idle value.\n * @param seconds - The idle value in seconds.\n * @return The idle value in seconds.\n */\n setIdle(seconds) {\n if (seconds <= 0) {\n throw new Error(\"'seconds' must be greater zero\");\n }\n return (this.idle = seconds);\n }\n /*\n * Returns the current autoresume value.\n * @return The current value.\n */\n getAutoResume() {\n return this.autoResume;\n }\n setAutoResume(value) {\n return (this.autoResume = value);\n }\n /*\n * Sets interrupts from the specified sources.\n * @param sources - Interrupt sources.\n * @return The resulting interrupts.\n */\n setInterrupts(sources) {\n this.clearInterrupts();\n const self = this;\n for (const source of sources) {\n const options = { platformId: this.platformId };\n const sub = new Interrupt(source, options);\n sub.subscribe((args) => {\n self.interrupt(args.force, args.innerArgs);\n });\n this.interrupts.push(sub);\n }\n return this.interrupts;\n }\n /*\n * Returns the current interrupts.\n * @return The current interrupts.\n */\n getInterrupts() {\n return this.interrupts;\n }\n /*\n * Pauses, unsubscribes, and clears the current interrupt subscriptions.\n */\n clearInterrupts() {\n for (const sub of this.interrupts) {\n sub.pause();\n sub.unsubscribe();\n }\n this.interrupts.length = 0;\n }\n /*\n * Returns whether or not the service is running i.e. watching for idleness.\n * @return True if service is watching; otherwise, false.\n */\n isRunning() {\n return this.running;\n }\n /*\n * Returns whether or not the user is considered idle.\n * @return True if the user is in the idle state; otherwise, false.\n */\n isIdling() {\n return this.idling;\n }\n /*\n * Starts watching for inactivity.\n */\n watch(skipExpiry) {\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n const timeout = !this.timeoutVal ? 0 : this.timeoutVal;\n if (!skipExpiry) {\n const value = new Date(this.expiry.now().getTime() + (this.idle + timeout) * 1000);\n this.expiry.last(value);\n }\n if (this.idling) {\n this.toggleState();\n }\n if (!this.running) {\n this.startKeepalive();\n this.toggleInterrupts(true);\n }\n this.running = true;\n const watchFn = () => {\n this.zone.run(() => {\n const diff = this.getExpiryDiff(timeout);\n if (diff > 0) {\n this.safeClearInterval('idleHandle');\n this.setIdleIntervalOutsideOfZone(watchFn, 1000);\n }\n else {\n this.toggleState();\n }\n });\n };\n this.setIdleIntervalOutsideOfZone(watchFn, 1000);\n }\n /*\n * Allows protractor tests to call waitForAngular without hanging\n */\n setIdleIntervalOutsideOfZone(watchFn, frequency) {\n this.zone.runOutsideAngular(() => {\n this.idleHandle = setInterval(watchFn, frequency);\n });\n }\n /*\n * Stops watching for inactivity.\n */\n stop() {\n this.stopKeepalive();\n this.toggleInterrupts(false);\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n this.setIdling(false);\n this.running = false;\n this.expiry.last(null);\n }\n /*\n * Forces a timeout event and state.\n */\n timeout() {\n this.stopKeepalive();\n this.toggleInterrupts(false);\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n this.setIdling(true);\n this.running = false;\n this.countdown = 0;\n this.onTimeout.emit(null);\n }\n /*\n * Signals that user activity has occurred.\n * @param force - Forces watch to be called, unless they are timed out.\n * @param eventArgs - Optional source event arguments.\n */\n interrupt(force, eventArgs) {\n if (!this.running) {\n return;\n }\n if (this.timeoutVal && this.expiry.isExpired()) {\n this.timeout();\n return;\n }\n this.onInterrupt.emit(eventArgs);\n if (force === true ||\n this.autoResume === AutoResume.idle ||\n (this.autoResume === AutoResume.notIdle && !this.expiry.idling())) {\n this.watch(force);\n }\n }\n setIdling(value) {\n this.idling = value;\n this.expiry.idling(value);\n }\n toggleState() {\n this.setIdling(!this.idling);\n if (this.idling) {\n this.onIdleStart.emit(null);\n this.stopKeepalive();\n if (this.timeoutVal > 0) {\n this.countdown = this.timeoutVal;\n this.doCountdown();\n this.setTimeoutIntervalOutsideZone(() => {\n this.doCountdownInZone();\n }, 1000);\n }\n }\n else {\n this.toggleInterrupts(true);\n this.onIdleEnd.emit(null);\n this.startKeepalive();\n }\n this.safeClearInterval('idleHandle');\n }\n setTimeoutIntervalOutsideZone(intervalFn, frequency) {\n this.zone.runOutsideAngular(() => {\n this.timeoutHandle = setInterval(() => {\n intervalFn();\n }, frequency);\n });\n }\n toggleInterrupts(resume) {\n for (const interrupt of this.interrupts) {\n if (resume) {\n interrupt.resume();\n }\n else {\n interrupt.pause();\n }\n }\n }\n getExpiryDiff(timeout) {\n const now = this.expiry.now();\n const last = this.expiry.last() || now;\n return last.getTime() - now.getTime() - timeout * 1000;\n }\n doCountdownInZone() {\n this.zone.run(() => {\n this.doCountdown();\n });\n }\n doCountdown() {\n const diff = this.getExpiryDiff(this.timeoutVal);\n if (diff > 0) {\n this.safeClearInterval('timeoutHandle');\n this.interrupt(true);\n return;\n }\n if (!this.idling) {\n return;\n }\n if (this.countdown <= 0) {\n this.timeout();\n return;\n }\n this.onTimeoutWarning.emit(this.countdown);\n const countdownMs = ((this.timeoutVal - 1) * 1000) + diff;\n this.countdown = Math.round(countdownMs / 1000);\n }\n safeClearInterval(handleName) {\n const handle = this[handleName];\n if (handle !== null && typeof handle !== 'undefined') {\n clearInterval(this[handleName]);\n this[handleName] = null;\n }\n }\n startKeepalive() {\n if (!this.keepaliveSvc || !this.keepaliveEnabled) {\n return;\n }\n if (this.running) {\n this.keepaliveSvc.ping();\n }\n this.keepaliveSvc.start();\n }\n stopKeepalive() {\n if (!this.keepaliveSvc || !this.keepaliveEnabled) {\n return;\n }\n this.keepaliveSvc.stop();\n }\n /*\n * Called by Angular when destroying the instance.\n */\n ngOnDestroy() {\n this.stop();\n this.clearInterrupts();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Idle, deps: [{ token: IdleExpiry }, { token: i0.NgZone }, { token: KeepaliveSvc, optional: true }, { token: PLATFORM_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Idle }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Idle, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: IdleExpiry }, { type: i0.NgZone }, { type: KeepaliveSvc, decorators: [{\n type: Optional\n }] }, { type: Object, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; } });\n\n/*\n * A class for expressing arguments to interrupt events.\n */\nclass InterruptArgs {\n constructor(source, innerArgs, force = false) {\n this.source = source;\n this.innerArgs = innerArgs;\n this.force = force;\n }\n}\n\n/*\n * A base for classes that act as a source for interrupts.\n */\nclass InterruptSource {\n constructor(attachFn, detachFn) {\n this.attachFn = attachFn;\n this.detachFn = detachFn;\n this.isAttached = false;\n this.onInterrupt = new EventEmitter();\n }\n /*\n * Attaches to the specified events on the specified source.\n */\n attach() {\n // If the current zone is the 'angular' zone (a.k.a. NgZone) then re-enter this method in its parent zone\n // The parent zone is usually the '' zone but it can also be 'long-stack-trace-zone' in debug mode\n // In tests, the current zone is typically a 'ProxyZone' created by async/fakeAsync (from @angular/core/testing)\n if (Zone.current.get('isAngularZone') === true) {\n Zone.current.parent.run(() => this.attach());\n return;\n }\n if (!this.isAttached && this.attachFn) {\n this.attachFn(this);\n }\n this.isAttached = true;\n }\n /*\n * Detaches from the specified events on the specified source.\n */\n detach() {\n if (this.isAttached && this.detachFn) {\n this.detachFn(this);\n }\n this.isAttached = false;\n }\n}\n\nconst defaultThrottleDelay = 500;\n/*\n * An interrupt source on an EventTarget object, such as a Window or HTMLElement.\n */\nclass EventTargetInterruptSource extends InterruptSource {\n constructor(target, events, opts) {\n super(null, null);\n this.target = target;\n this.events = events;\n this.opts = opts;\n this.eventSubscription = new Subscription();\n if (typeof this.opts === 'number') {\n this.opts = { throttleDelay: this.opts, passive: false };\n }\n this.opts = this.opts || {\n passive: false,\n throttleDelay: defaultThrottleDelay\n };\n if (this.opts.throttleDelay === undefined || this.opts.throttleDelay === null) {\n this.opts.throttleDelay = defaultThrottleDelay;\n }\n this.throttleDelay = this.opts.throttleDelay;\n this.passive = !!this.opts.passive;\n }\n initialize(options) {\n if (options?.platformId && isPlatformServer(options.platformId)) {\n return;\n }\n const eventTarget = typeof this.target === 'function' ? this.target() : this.target;\n const opts = this.passive ? { passive: true } : null;\n const fromEvents = this.events\n .split(' ')\n .map(eventName => fromEvent(eventTarget, eventName, opts));\n this.eventSrc = merge(...fromEvents);\n this.eventSrc = this.eventSrc.pipe(filter(innerArgs => !this.filterEvent(innerArgs)));\n if (this.throttleDelay > 0) {\n this.eventSrc = this.eventSrc.pipe(throttleTime(this.throttleDelay));\n }\n const handler = (innerArgs) => this.onInterrupt.emit(new InterruptArgs(this, innerArgs));\n this.attachFn = () => (this.eventSubscription = this.eventSrc.subscribe(handler));\n this.detachFn = () => this.eventSubscription.unsubscribe();\n }\n /*\n * Checks to see if the event should be filtered. Always returns false unless overriden.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n return false;\n }\n /**\n * Returns the current options being used.\n * @return The current option values.\n */\n get options() {\n return {\n passive: this.passive,\n throttleDelay: this.throttleDelay\n };\n }\n}\n\n/*\n * An interrupt source that uses events on the document element (html tag).\n */\nclass DocumentInterruptSource extends EventTargetInterruptSource {\n constructor(events, options) {\n super(() => document.documentElement, events, options);\n }\n /*\n * Checks to see if the event should be filtered.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n // some browser bad input hacks\n if (event.type === 'mousemove' &&\n // fix for Chrome destop notifications\n ((event.originalEvent &&\n event.originalEvent.movementX === 0 &&\n event.originalEvent.movementY === 0) ||\n // fix for webkit fake mousemove\n ((event.movementX !== void 0 && !event.movementX) || !event.movementY))) {\n return true;\n }\n return false;\n }\n}\n\n/*\n * An interrupt source on the Window object.\n */\nclass WindowInterruptSource extends EventTargetInterruptSource {\n constructor(events, options) {\n super(() => window, events, options);\n }\n}\n\n/*\n * An interrupt source on the storage event of Window.\n */\nclass StorageInterruptSource extends WindowInterruptSource {\n constructor(options = 500) {\n super('storage', options);\n }\n /*\n * Checks to see if the event should be filtered.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n if (event.key &&\n event.key.indexOf('ng2Idle.') >= 0 &&\n event.key.indexOf('.expiry') >= 0) {\n return false;\n }\n return true;\n }\n}\n\n/*\n * Represents a simple in-memory store of expiry values.\n * @extends IdleExpiry\n */\nclass SimpleExpiry extends IdleExpiry {\n constructor() {\n super();\n this.lastValue = null;\n }\n /*\n * Gets or sets the last expiry date.\n * @param value - The expiry value to set; omit to only return the value.\n * @return The current expiry value.\n */\n last(value) {\n if (value !== void 0) {\n this.lastValue = value;\n }\n return this.lastValue;\n }\n}\n\nclass NgIdleModule {\n static forRoot() {\n return {\n ngModule: NgIdleModule,\n providers: [\n LocalStorageExpiry,\n { provide: IdleExpiry, useExisting: LocalStorageExpiry },\n Idle\n ]\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule, providers: [LocalStorage] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [LocalStorage]\n }]\n }] });\n\nfunction createDefaultInterruptSources(options) {\n return [\n new DocumentInterruptSource('mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll', options),\n new StorageInterruptSource(options)\n ];\n}\nconst DEFAULT_INTERRUPTSOURCES = createDefaultInterruptSources();\n\n/*\n * Public API Surface of core\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutoResume, DEFAULT_INTERRUPTSOURCES, DocumentInterruptSource, EventTargetInterruptSource, Idle, IdleExpiry, InterruptArgs, InterruptSource, KeepaliveSvc, LocalStorage, LocalStorageExpiry, NgIdleModule, SimpleExpiry, StorageInterruptSource, WindowInterruptSource, createDefaultInterruptSources };\n","// Auto-generated, do not edit\n/* eslint-disable */\nexport function BatchMetadata(version, pageNo, firstIndex, timestamp, location) {\n return [\n 81 /* BatchMetadata */,\n version,\n pageNo,\n firstIndex,\n timestamp,\n location,\n ];\n}\nexport function PartitionedMessage(partNo, partTotal) {\n return [\n 82 /* PartitionedMessage */,\n partNo,\n partTotal,\n ];\n}\nexport function Timestamp(timestamp) {\n return [\n 0 /* Timestamp */,\n timestamp,\n ];\n}\nexport function SetPageLocation(url, referrer, navigationStart) {\n return [\n 4 /* SetPageLocation */,\n url,\n referrer,\n navigationStart,\n ];\n}\nexport function SetViewportSize(width, height) {\n return [\n 5 /* SetViewportSize */,\n width,\n height,\n ];\n}\nexport function SetViewportScroll(x, y) {\n return [\n 6 /* SetViewportScroll */,\n x,\n y,\n ];\n}\nexport function CreateDocument() {\n return [\n 7 /* CreateDocument */,\n ];\n}\nexport function CreateElementNode(id, parentID, index, tag, svg) {\n return [\n 8 /* CreateElementNode */,\n id,\n parentID,\n index,\n tag,\n svg,\n ];\n}\nexport function CreateTextNode(id, parentID, index) {\n return [\n 9 /* CreateTextNode */,\n id,\n parentID,\n index,\n ];\n}\nexport function MoveNode(id, parentID, index) {\n return [\n 10 /* MoveNode */,\n id,\n parentID,\n index,\n ];\n}\nexport function RemoveNode(id) {\n return [\n 11 /* RemoveNode */,\n id,\n ];\n}\nexport function SetNodeAttribute(id, name, value) {\n return [\n 12 /* SetNodeAttribute */,\n id,\n name,\n value,\n ];\n}\nexport function RemoveNodeAttribute(id, name) {\n return [\n 13 /* RemoveNodeAttribute */,\n id,\n name,\n ];\n}\nexport function SetNodeData(id, data) {\n return [\n 14 /* SetNodeData */,\n id,\n data,\n ];\n}\nexport function SetNodeScroll(id, x, y) {\n return [\n 16 /* SetNodeScroll */,\n id,\n x,\n y,\n ];\n}\nexport function SetInputTarget(id, label) {\n return [\n 17 /* SetInputTarget */,\n id,\n label,\n ];\n}\nexport function SetInputValue(id, value, mask) {\n return [\n 18 /* SetInputValue */,\n id,\n value,\n mask,\n ];\n}\nexport function SetInputChecked(id, checked) {\n return [\n 19 /* SetInputChecked */,\n id,\n checked,\n ];\n}\nexport function MouseMove(x, y) {\n return [\n 20 /* MouseMove */,\n x,\n y,\n ];\n}\nexport function ConsoleLog(level, value) {\n return [\n 22 /* ConsoleLog */,\n level,\n value,\n ];\n}\nexport function PageLoadTiming(requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, firstPaint, firstContentfulPaint) {\n return [\n 23 /* PageLoadTiming */,\n requestStart,\n responseStart,\n responseEnd,\n domContentLoadedEventStart,\n domContentLoadedEventEnd,\n loadEventStart,\n loadEventEnd,\n firstPaint,\n firstContentfulPaint,\n ];\n}\nexport function PageRenderTiming(speedIndex, visuallyComplete, timeToInteractive) {\n return [\n 24 /* PageRenderTiming */,\n speedIndex,\n visuallyComplete,\n timeToInteractive,\n ];\n}\nexport function JSExceptionDeprecated(name, message, payload) {\n return [\n 25 /* JSExceptionDeprecated */,\n name,\n message,\n payload,\n ];\n}\nexport function RawCustomEvent(name, payload) {\n return [\n 27 /* RawCustomEvent */,\n name,\n payload,\n ];\n}\nexport function UserID(id) {\n return [\n 28 /* UserID */,\n id,\n ];\n}\nexport function UserAnonymousID(id) {\n return [\n 29 /* UserAnonymousID */,\n id,\n ];\n}\nexport function Metadata(key, value) {\n return [\n 30 /* Metadata */,\n key,\n value,\n ];\n}\nexport function CSSInsertRule(id, rule, index) {\n return [\n 37 /* CSSInsertRule */,\n id,\n rule,\n index,\n ];\n}\nexport function CSSDeleteRule(id, index) {\n return [\n 38 /* CSSDeleteRule */,\n id,\n index,\n ];\n}\nexport function Fetch(method, url, request, response, status, timestamp, duration) {\n return [\n 39 /* Fetch */,\n method,\n url,\n request,\n response,\n status,\n timestamp,\n duration,\n ];\n}\nexport function Profiler(name, duration, args, result) {\n return [\n 40 /* Profiler */,\n name,\n duration,\n args,\n result,\n ];\n}\nexport function OTable(key, value) {\n return [\n 41 /* OTable */,\n key,\n value,\n ];\n}\nexport function StateAction(type) {\n return [\n 42 /* StateAction */,\n type,\n ];\n}\nexport function Redux(action, state, duration) {\n return [\n 44 /* Redux */,\n action,\n state,\n duration,\n ];\n}\nexport function Vuex(mutation, state) {\n return [\n 45 /* Vuex */,\n mutation,\n state,\n ];\n}\nexport function MobX(type, payload) {\n return [\n 46 /* MobX */,\n type,\n payload,\n ];\n}\nexport function NgRx(action, state, duration) {\n return [\n 47 /* NgRx */,\n action,\n state,\n duration,\n ];\n}\nexport function GraphQL(operationKind, operationName, variables, response) {\n return [\n 48 /* GraphQL */,\n operationKind,\n operationName,\n variables,\n response,\n ];\n}\nexport function PerformanceTrack(frames, ticks, totalJSHeapSize, usedJSHeapSize) {\n return [\n 49 /* PerformanceTrack */,\n frames,\n ticks,\n totalJSHeapSize,\n usedJSHeapSize,\n ];\n}\nexport function ResourceTiming(timestamp, duration, ttfb, headerSize, encodedBodySize, decodedBodySize, url, initiator) {\n return [\n 53 /* ResourceTiming */,\n timestamp,\n duration,\n ttfb,\n headerSize,\n encodedBodySize,\n decodedBodySize,\n url,\n initiator,\n ];\n}\nexport function ConnectionInformation(downlink, type) {\n return [\n 54 /* ConnectionInformation */,\n downlink,\n type,\n ];\n}\nexport function SetPageVisibility(hidden) {\n return [\n 55 /* SetPageVisibility */,\n hidden,\n ];\n}\nexport function LoadFontFace(parentID, family, source, descriptors) {\n return [\n 57 /* LoadFontFace */,\n parentID,\n family,\n source,\n descriptors,\n ];\n}\nexport function SetNodeFocus(id) {\n return [\n 58 /* SetNodeFocus */,\n id,\n ];\n}\nexport function LongTask(timestamp, duration, context, containerType, containerSrc, containerId, containerName) {\n return [\n 59 /* LongTask */,\n timestamp,\n duration,\n context,\n containerType,\n containerSrc,\n containerId,\n containerName,\n ];\n}\nexport function SetNodeAttributeURLBased(id, name, value, baseURL) {\n return [\n 60 /* SetNodeAttributeURLBased */,\n id,\n name,\n value,\n baseURL,\n ];\n}\nexport function SetCSSDataURLBased(id, data, baseURL) {\n return [\n 61 /* SetCSSDataURLBased */,\n id,\n data,\n baseURL,\n ];\n}\nexport function TechnicalInfo(type, value) {\n return [\n 63 /* TechnicalInfo */,\n type,\n value,\n ];\n}\nexport function CustomIssue(name, payload) {\n return [\n 64 /* CustomIssue */,\n name,\n payload,\n ];\n}\nexport function CSSInsertRuleURLBased(id, rule, index, baseURL) {\n return [\n 67 /* CSSInsertRuleURLBased */,\n id,\n rule,\n index,\n baseURL,\n ];\n}\nexport function MouseClick(id, hesitationTime, label, selector) {\n return [\n 69 /* MouseClick */,\n id,\n hesitationTime,\n label,\n selector,\n ];\n}\nexport function CreateIFrameDocument(frameID, id) {\n return [\n 70 /* CreateIFrameDocument */,\n frameID,\n id,\n ];\n}\nexport function AdoptedSSReplaceURLBased(sheetID, text, baseURL) {\n return [\n 71 /* AdoptedSSReplaceURLBased */,\n sheetID,\n text,\n baseURL,\n ];\n}\nexport function AdoptedSSInsertRuleURLBased(sheetID, rule, index, baseURL) {\n return [\n 73 /* AdoptedSSInsertRuleURLBased */,\n sheetID,\n rule,\n index,\n baseURL,\n ];\n}\nexport function AdoptedSSDeleteRule(sheetID, index) {\n return [\n 75 /* AdoptedSSDeleteRule */,\n sheetID,\n index,\n ];\n}\nexport function AdoptedSSAddOwner(sheetID, id) {\n return [\n 76 /* AdoptedSSAddOwner */,\n sheetID,\n id,\n ];\n}\nexport function AdoptedSSRemoveOwner(sheetID, id) {\n return [\n 77 /* AdoptedSSRemoveOwner */,\n sheetID,\n id,\n ];\n}\nexport function Zustand(mutation, state) {\n return [\n 79 /* Zustand */,\n mutation,\n state,\n ];\n}\nexport function JSException(name, message, payload, metadata) {\n return [\n 78 /* JSException */,\n name,\n message,\n payload,\n metadata,\n ];\n}\n","const DEPRECATED_ATTRS = { htmlmasked: 'hidden', masked: 'obscured' };\nexport const IN_BROWSER = !(typeof window === 'undefined');\nexport const IS_FIREFOX = IN_BROWSER && navigator.userAgent.match(/firefox|fxios/i);\nexport const MAX_STR_LEN = 1e5;\n// Buggy to use `performance.timeOrigin || performance.timing.navigationStart`\n// https://github.com/mdn/content/issues/4713\n// Maybe move to timer/ticker\nlet timeOrigin = IN_BROWSER ? Date.now() - performance.now() : 0;\nexport function adjustTimeOrigin() {\n timeOrigin = Date.now() - performance.now();\n}\nexport function getTimeOrigin() {\n return timeOrigin;\n}\nexport const now = IN_BROWSER && !!performance.now\n ? () => Math.round(performance.now() + timeOrigin)\n : () => Date.now();\nexport const stars = 'repeat' in String.prototype\n ? (str) => '*'.repeat(str.length)\n : (str) => str.replace(/./g, '*');\nexport function normSpaces(str) {\n return str.trim().replace(/\\s+/g, ' ');\n}\n// isAbsoluteUrl regexp: /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url)\nexport function isURL(s) {\n return s.startsWith('https://') || s.startsWith('http://');\n}\n// TODO: JOIN IT WITH LOGGER somehow (use logging decorators?); Don't forget about index.js loggin when there is no logger instance.\nexport const DOCS_HOST = 'https://docs.openreplay.com';\nconst warnedFeatures = {};\nexport function deprecationWarn(nameOfFeature, useInstead, docsPath = '/') {\n if (warnedFeatures[nameOfFeature]) {\n return;\n }\n console.warn(`OpenReplay: ${nameOfFeature} is deprecated. ${useInstead ? `Please, use ${useInstead} instead.` : ''} Visit ${DOCS_HOST}${docsPath} for more information.`);\n warnedFeatures[nameOfFeature] = true;\n}\nexport function getLabelAttribute(e) {\n let value = e.getAttribute('data-openreplay-label');\n if (value !== null) {\n return value;\n }\n value = e.getAttribute('data-asayer-label');\n if (value !== null) {\n deprecationWarn('\"data-asayer-label\" attribute', '\"data-openreplay-label\" attribute', '/');\n }\n return value;\n}\nexport function hasOpenreplayAttribute(e, attr) {\n const newName = `data-openreplay-${attr}`;\n if (e.hasAttribute(newName)) {\n // @ts-ignore\n if (DEPRECATED_ATTRS[attr]) {\n deprecationWarn(`\"${newName}\" attribute`, \n // @ts-ignore\n `\"${DEPRECATED_ATTRS[attr]}\" attribute`, '/installation/sanitize-data');\n }\n return true;\n }\n return false;\n}\n","export default class Nodes {\n constructor(node_id) {\n this.node_id = node_id;\n this.nodes = [];\n this.nodeCallbacks = [];\n this.elementListeners = new Map();\n }\n // Attached once per Tracker instance\n attachNodeCallback(nodeCallback) {\n this.nodeCallbacks.push(nodeCallback);\n }\n attachNodeListener(node, type, listener, useCapture = true) {\n const id = this.getID(node);\n if (id === undefined) {\n return;\n }\n node.addEventListener(type, listener, useCapture);\n let listeners = this.elementListeners.get(id);\n if (listeners === undefined) {\n listeners = [];\n this.elementListeners.set(id, listeners);\n }\n listeners.push([type, listener, useCapture]);\n }\n registerNode(node) {\n let id = node[this.node_id];\n const isNew = id === undefined;\n if (isNew) {\n id = this.nodes.length;\n this.nodes[id] = node;\n node[this.node_id] = id;\n }\n return [id, isNew];\n }\n unregisterNode(node) {\n const id = node[this.node_id];\n if (id !== undefined) {\n delete node[this.node_id];\n delete this.nodes[id];\n const listeners = this.elementListeners.get(id);\n if (listeners !== undefined) {\n this.elementListeners.delete(id);\n listeners.forEach((listener) => node.removeEventListener(listener[0], listener[1], listener[2]));\n }\n }\n return id;\n }\n cleanTree() {\n // sadly we keep empty items in array here resulting in some memory still being used\n // but its still better than keeping dead nodes or undef elements\n // plus we keep our index positions for new/alive nodes\n // performance test: 3ms for 30k nodes with 17k dead ones\n for (let i = 0; i < this.nodes.length; i++) {\n const node = this.nodes[i];\n if (node && !document.contains(node)) {\n this.unregisterNode(node);\n }\n }\n }\n callNodeCallbacks(node, isStart) {\n this.nodeCallbacks.forEach((cb) => cb(node, isStart));\n }\n getID(node) {\n return node[this.node_id];\n }\n getNode(id) {\n return this.nodes[id];\n }\n clear() {\n for (let id = 0; id < this.nodes.length; id++) {\n const node = this.nodes[id];\n if (node === undefined) {\n continue;\n }\n this.unregisterNode(node);\n }\n this.nodes.length = 0;\n }\n}\n","//@ts-ignore\nexport function isNode(sth) {\n return !!sth && sth.nodeType != null;\n}\nexport function isSVGElement(node) {\n return node.namespaceURI === 'http://www.w3.org/2000/svg';\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isDocument(node) {\n return node.nodeType === Node.DOCUMENT_NODE;\n}\nexport function isRootNode(node) {\n return node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE;\n}\nexport function hasTag(el, tagName) {\n return el.nodeName === tagName;\n}\n","import { RemoveNodeAttribute, SetNodeAttribute, SetNodeAttributeURLBased, SetCSSDataURLBased, SetNodeData, CreateTextNode, CreateElementNode, MoveNode, RemoveNode, } from '../messages.gen.js';\nimport { isRootNode, isTextNode, isElementNode, isSVGElement, hasTag } from '../guards.js';\nfunction isIgnored(node) {\n if (isTextNode(node)) {\n return false;\n }\n if (!isElementNode(node)) {\n return true;\n }\n const tag = node.tagName.toUpperCase();\n if (tag === 'LINK') {\n const rel = node.getAttribute('rel');\n const as = node.getAttribute('as');\n return !((rel === null || rel === void 0 ? void 0 : rel.includes('stylesheet')) || as === 'style' || as === 'font');\n }\n return (tag === 'SCRIPT' || tag === 'NOSCRIPT' || tag === 'META' || tag === 'TITLE' || tag === 'BASE');\n}\nfunction isObservable(node) {\n if (isRootNode(node)) {\n return true;\n }\n return !isIgnored(node);\n}\n/*\n TODO:\n - fix unbinding logic + send all removals first (ensure sequence is correct)\n - use document as a 0-node in the upper context (should be updated in player at first)\n*/\nvar RecentsType;\n(function (RecentsType) {\n RecentsType[RecentsType[\"New\"] = 0] = \"New\";\n RecentsType[RecentsType[\"Removed\"] = 1] = \"Removed\";\n RecentsType[RecentsType[\"Changed\"] = 2] = \"Changed\";\n})(RecentsType || (RecentsType = {}));\nexport default class Observer {\n constructor(app, isTopContext = false) {\n this.app = app;\n this.isTopContext = isTopContext;\n this.commited = [];\n this.recents = new Map();\n this.indexes = [];\n this.attributesMap = new Map();\n this.textSet = new Set();\n this.observer = new MutationObserver(this.app.safe((mutations) => {\n for (const mutation of mutations) {\n // mutations order is sequential\n const target = mutation.target;\n const type = mutation.type;\n if (!isObservable(target)) {\n continue;\n }\n if (type === 'childList') {\n for (let i = 0; i < mutation.removedNodes.length; i++) {\n // Should be the same as bindTree(mutation.removedNodes[i]), but logic needs to be be untied\n if (isObservable(mutation.removedNodes[i])) {\n this.bindNode(mutation.removedNodes[i]);\n }\n }\n for (let i = 0; i < mutation.addedNodes.length; i++) {\n this.bindTree(mutation.addedNodes[i]);\n }\n continue;\n }\n const id = this.app.nodes.getID(target);\n if (id === undefined) {\n continue;\n }\n if (!this.recents.has(id)) {\n this.recents.set(id, RecentsType.Changed); // TODO only when altered\n }\n if (type === 'attributes') {\n const name = mutation.attributeName;\n if (name === null) {\n continue;\n }\n let attr = this.attributesMap.get(id);\n if (attr === undefined) {\n this.attributesMap.set(id, (attr = new Set()));\n }\n attr.add(name);\n continue;\n }\n if (type === 'characterData') {\n this.textSet.add(id);\n continue;\n }\n }\n this.commitNodes();\n }));\n }\n clear() {\n this.commited.length = 0;\n this.recents.clear();\n this.indexes.length = 1;\n this.attributesMap.clear();\n this.textSet.clear();\n }\n sendNodeAttribute(id, node, name, value) {\n if (isSVGElement(node)) {\n if (name.substr(0, 6) === 'xlink:') {\n name = name.substr(6);\n }\n if (value === null) {\n this.app.send(RemoveNodeAttribute(id, name));\n }\n else if (name === 'href') {\n if (value.length > 1e5) {\n value = '';\n }\n this.app.send(SetNodeAttributeURLBased(id, name, value, this.app.getBaseHref()));\n }\n else {\n this.app.send(SetNodeAttribute(id, name, value));\n }\n return;\n }\n if (name === 'src' ||\n name === 'srcset' ||\n name === 'integrity' ||\n name === 'crossorigin' ||\n name === 'autocomplete' ||\n name.substr(0, 2) === 'on') {\n return;\n }\n if (name === 'value' &&\n hasTag(node, 'INPUT') &&\n node.type !== 'button' &&\n node.type !== 'reset' &&\n node.type !== 'submit') {\n return;\n }\n if (value === null) {\n this.app.send(RemoveNodeAttribute(id, name));\n return;\n }\n if (name === 'style' || (name === 'href' && hasTag(node, 'LINK'))) {\n this.app.send(SetNodeAttributeURLBased(id, name, value, this.app.getBaseHref()));\n return;\n }\n if (name === 'href' || value.length > 1e5) {\n value = '';\n }\n this.app.send(SetNodeAttribute(id, name, value));\n }\n sendNodeData(id, parentElement, data) {\n if (hasTag(parentElement, 'STYLE') || hasTag(parentElement, 'style')) {\n this.app.send(SetCSSDataURLBased(id, data, this.app.getBaseHref()));\n return;\n }\n data = this.app.sanitizer.sanitize(id, data);\n this.app.send(SetNodeData(id, data));\n }\n bindNode(node) {\n const [id, isNew] = this.app.nodes.registerNode(node);\n if (isNew) {\n this.recents.set(id, RecentsType.New);\n }\n else if (this.recents.get(id) !== RecentsType.New) {\n this.recents.set(id, RecentsType.Removed);\n }\n }\n bindTree(node) {\n if (!isObservable(node)) {\n return;\n }\n this.bindNode(node);\n const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT, {\n acceptNode: (node) => isIgnored(node) || this.app.nodes.getID(node) !== undefined\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n }, \n // @ts-ignore\n false);\n while (walker.nextNode()) {\n this.bindNode(walker.currentNode);\n }\n }\n unbindTree(node) {\n const id = this.app.nodes.unregisterNode(node);\n if (id !== undefined && this.recents.get(id) === RecentsType.Removed) {\n // Sending RemoveNode only for parent to maintain\n this.app.send(RemoveNode(id));\n // Unregistering all the children in order to clear the memory\n const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT, {\n acceptNode: (node) => isIgnored(node) || this.app.nodes.getID(node) === undefined\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n }, \n // @ts-ignore\n false);\n while (walker.nextNode()) {\n this.app.nodes.unregisterNode(walker.currentNode);\n }\n // MBTODO: count and send RemovedNodesCount (for the page crash detection in heuristics)\n }\n }\n // A top-consumption function on the infinite lists test. (~1% of performance resources)\n _commitNode(id, node) {\n if (isRootNode(node)) {\n return true;\n }\n const parent = node.parentNode;\n let parentID;\n // Disable parent check for the upper context HTMLHtmlElement, because it is root there... (before)\n // TODO: get rid of \"special\" cases (there is an issue with CreateDocument altered behaviour though)\n // TODO: Clean the logic (though now it workd fine)\n if (!hasTag(node, 'HTML') || !this.isTopContext) {\n if (parent === null) {\n // Sometimes one observation contains attribute mutations for the removimg node, which gets ignored here.\n // That shouldn't affect the visual rendering ( should it? maybe when transition applied? )\n this.unbindTree(node);\n return false;\n }\n parentID = this.app.nodes.getID(parent);\n if (parentID === undefined) {\n this.unbindTree(node);\n return false;\n }\n if (!this.commitNode(parentID)) {\n this.unbindTree(node);\n return false;\n }\n this.app.sanitizer.handleNode(id, parentID, node);\n if (this.app.sanitizer.isHidden(parentID)) {\n return false;\n }\n }\n // From here parentID === undefined if node is top context HTML node\n let sibling = node.previousSibling;\n while (sibling !== null) {\n const siblingID = this.app.nodes.getID(sibling);\n if (siblingID !== undefined) {\n this.commitNode(siblingID);\n this.indexes[id] = this.indexes[siblingID] + 1;\n break;\n }\n sibling = sibling.previousSibling;\n }\n if (sibling === null) {\n this.indexes[id] = 0;\n }\n const recentsType = this.recents.get(id);\n const isNew = recentsType === RecentsType.New;\n const index = this.indexes[id];\n if (index === undefined) {\n throw 'commitNode: missing node index';\n }\n if (isNew) {\n if (isElementNode(node)) {\n let el = node;\n if (parentID !== undefined) {\n if (this.app.sanitizer.isHidden(id)) {\n const width = el.clientWidth;\n const height = el.clientHeight;\n el = node.cloneNode();\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n }\n this.app.send(CreateElementNode(id, parentID, index, el.tagName, isSVGElement(node)));\n }\n for (let i = 0; i < el.attributes.length; i++) {\n const attr = el.attributes[i];\n this.sendNodeAttribute(id, el, attr.nodeName, attr.value);\n }\n }\n else if (isTextNode(node)) {\n // for text node id != 0, hence parentID !== undefined and parent is Element\n this.app.send(CreateTextNode(id, parentID, index));\n this.sendNodeData(id, parent, node.data);\n }\n return true;\n }\n if (recentsType === RecentsType.Removed && parentID !== undefined) {\n this.app.send(MoveNode(id, parentID, index));\n }\n const attr = this.attributesMap.get(id);\n if (attr !== undefined) {\n if (!isElementNode(node)) {\n throw 'commitNode: node is not an element';\n }\n for (const name of attr) {\n this.sendNodeAttribute(id, node, name, node.getAttribute(name));\n }\n }\n if (this.textSet.has(id)) {\n if (!isTextNode(node)) {\n throw 'commitNode: node is not a text';\n }\n // for text node id != 0, hence parent is Element\n this.sendNodeData(id, parent, node.data);\n }\n return true;\n }\n commitNode(id) {\n const node = this.app.nodes.getNode(id);\n if (node === undefined) {\n return false;\n }\n const cmt = this.commited[id];\n if (cmt !== undefined) {\n return cmt;\n }\n return (this.commited[id] = this._commitNode(id, node));\n }\n commitNodes(isStart = false) {\n let node;\n this.recents.forEach((type, id) => {\n this.commitNode(id);\n if (type === RecentsType.New && (node = this.app.nodes.getNode(id))) {\n this.app.nodes.callNodeCallbacks(node, isStart);\n }\n });\n this.clear();\n }\n // ISSSUE (nodeToBinde should be the same as node. Look at the comment about 0-node at the beginning of the file.)\n // TODO: use one observer instance for all iframes/shadowRoots (composition instiad of inheritance)\n observeRoot(node, beforeCommit, nodeToBind = node) {\n this.observer.observe(node, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true,\n attributeOldValue: false,\n characterDataOldValue: false,\n });\n this.bindTree(nodeToBind);\n beforeCommit(this.app.nodes.getID(node));\n this.commitNodes(true);\n }\n disconnect() {\n this.observer.disconnect();\n this.clear();\n }\n}\n","import Observer from './observer.js';\nimport { CreateIFrameDocument } from '../messages.gen.js';\nexport default class IFrameObserver extends Observer {\n observe(iframe) {\n const doc = iframe.contentDocument;\n const hostID = this.app.nodes.getID(iframe);\n if (!doc || hostID === undefined) {\n return;\n } //log TODO common app.logger\n // Have to observe document, because the inner might be changed\n this.observeRoot(doc, (docID) => {\n //MBTODO: do not send if empty (send on load? it might be in-place iframe, like our replayer, which does not get loaded)\n if (docID === undefined) {\n console.log('OpenReplay: Iframe document not bound');\n return;\n }\n this.app.send(CreateIFrameDocument(hostID, docID));\n });\n }\n}\n","import Observer from './observer.js';\nimport { CreateIFrameDocument } from '../messages.gen.js';\nexport default class ShadowRootObserver extends Observer {\n observe(el) {\n const shRoot = el.shadowRoot;\n const hostID = this.app.nodes.getID(el);\n if (!shRoot || hostID === undefined) {\n return;\n } // log\n this.observeRoot(shRoot, (rootID) => {\n if (rootID === undefined) {\n console.log('OpenReplay: Shadow Root was not bound');\n return;\n }\n this.app.send(CreateIFrameDocument(hostID, rootID));\n });\n }\n}\n","// Le truc - for defining an absolute offset for (nested) iframe documents. (To track mouse movments)\nexport default class IFrameOffsets {\n constructor() {\n this.states = new Map();\n }\n calcOffset(state) {\n let parLeft = 0, parTop = 0;\n if (state.parent) {\n ;\n [parLeft, parTop] = this.calcOffset(state.parent);\n }\n if (!state.offset) {\n const { left, top } = state.iFrame.getBoundingClientRect();\n state.offset = [left, top];\n }\n const [left, top] = state.offset;\n return [parLeft + left, parTop + top]; // TODO: store absolute sum, invalidate whole subtree. Otherwise it is summated on each mousemove\n }\n getDocumentOffset(doc) {\n const state = this.states.get(doc);\n if (!state) {\n return [0, 0];\n } // topmost doc\n return this.calcOffset(state);\n }\n observe(iFrame) {\n var _a;\n const doc = iFrame.contentDocument;\n if (!doc) {\n return;\n }\n const parentDoc = iFrame.ownerDocument;\n const parentState = this.states.get(parentDoc);\n const state = {\n offset: null,\n iFrame,\n parent: parentState || null,\n clear: () => {\n var _a;\n parentDoc.removeEventListener('scroll', invalidateOffset);\n (_a = parentDoc.defaultView) === null || _a === void 0 ? void 0 : _a.removeEventListener('resize', invalidateOffset);\n },\n };\n const invalidateOffset = () => {\n state.offset = null;\n };\n // anything more reliable? This does not cover all cases (layout changes are ignored, for ex.)\n parentDoc.addEventListener('scroll', invalidateOffset);\n (_a = parentDoc.defaultView) === null || _a === void 0 ? void 0 : _a.addEventListener('resize', invalidateOffset);\n this.states.set(doc, state);\n }\n clear() {\n this.states.forEach((s) => s.clear());\n this.states.clear();\n }\n}\n","import Observer from './observer.js';\nimport { isElementNode, hasTag } from '../guards.js';\nimport IFrameObserver from './iframe_observer.js';\nimport ShadowRootObserver from './shadow_root_observer.js';\nimport IFrameOffsets from './iframe_offsets.js';\nimport { CreateDocument } from '../messages.gen.js';\nimport { IN_BROWSER, hasOpenreplayAttribute } from '../../utils.js';\nconst attachShadowNativeFn = IN_BROWSER ? Element.prototype.attachShadow : () => new ShadowRoot();\nexport default class TopObserver extends Observer {\n constructor(app, options) {\n super(app, true);\n this.iframeOffsets = new IFrameOffsets();\n this.contextCallbacks = [];\n // Attached once per Tracker instance\n this.contextsSet = new Set();\n this.iframeObservers = [];\n this.shadowRootObservers = [];\n this.options = Object.assign({\n captureIFrames: true,\n }, options);\n // IFrames\n this.app.nodes.attachNodeCallback((node) => {\n if (hasTag(node, 'IFRAME') &&\n ((this.options.captureIFrames && !hasOpenreplayAttribute(node, 'obscured')) ||\n hasOpenreplayAttribute(node, 'capture'))) {\n this.handleIframe(node);\n }\n });\n // ShadowDOM\n this.app.nodes.attachNodeCallback((node) => {\n if (isElementNode(node) && node.shadowRoot !== null) {\n this.handleShadowRoot(node.shadowRoot);\n }\n });\n }\n attachContextCallback(cb) {\n this.contextCallbacks.push(cb);\n }\n getDocumentOffset(doc) {\n return this.iframeOffsets.getDocumentOffset(doc);\n }\n handleIframe(iframe) {\n let doc = null;\n // setTimeout is required. Otherwise some event listeners (scroll, mousemove) applied in modules\n // do not work on the iframe document when it 've been loaded dynamically ((why?))\n const handle = this.app.safe(() => setTimeout(() => {\n const id = this.app.nodes.getID(iframe);\n if (id === undefined) {\n //log\n return;\n }\n const currentWin = iframe.contentWindow;\n const currentDoc = iframe.contentDocument;\n if (currentDoc && currentDoc !== doc) {\n const observer = new IFrameObserver(this.app);\n this.iframeObservers.push(observer);\n observer.observe(iframe); // TODO: call unregisterNode for the previous doc if present (incapsulate: one iframe - one observer)\n doc = currentDoc;\n this.iframeOffsets.observe(iframe);\n }\n if (currentWin &&\n // Sometimes currentWin.window is null (not in specification). Such window object is not functional\n currentWin === currentWin.window &&\n !this.contextsSet.has(currentWin) // for each context callbacks called once per Tracker (TopObserver) instance\n //TODO: more explicit logic\n ) {\n this.contextsSet.add(currentWin);\n //@ts-ignore https://github.com/microsoft/TypeScript/issues/41684\n this.contextCallbacks.forEach((cb) => cb(currentWin));\n }\n }, 0));\n iframe.addEventListener('load', handle); // why app.attachEventListener not working?\n handle();\n }\n handleShadowRoot(shRoot) {\n const observer = new ShadowRootObserver(this.app);\n this.shadowRootObservers.push(observer);\n observer.observe(shRoot.host);\n }\n observe() {\n // Protection from several subsequent calls?\n const observer = this;\n Element.prototype.attachShadow = function () {\n // eslint-disable-next-line\n const shadow = attachShadowNativeFn.apply(this, arguments);\n observer.handleShadowRoot(shadow);\n return shadow;\n };\n // Can observe documentElement () here, because it is not supposed to be changing.\n // However, it is possible in some exotic cases and may cause an ignorance of the newly created \n // In this case context.document have to be observed, but this will cause\n // the change in the re-player behaviour caused by CreateDocument message:\n // the 0-node (\"fRoot\") will become #document rather than documentElement as it is now.\n // Alternatively - observe(#document) then bindNode(documentElement)\n this.observeRoot(window.document, () => {\n this.app.send(CreateDocument());\n // it has no node_id here\n this.app.nodes.callNodeCallbacks(document, true);\n }, window.document.documentElement);\n }\n disconnect() {\n this.iframeOffsets.clear();\n Element.prototype.attachShadow = attachShadowNativeFn;\n this.iframeObservers.forEach((o) => o.disconnect());\n this.iframeObservers = [];\n this.shadowRootObservers.forEach((o) => o.disconnect());\n this.shadowRootObservers = [];\n super.disconnect();\n }\n}\n","import { stars, hasOpenreplayAttribute } from '../utils.js';\nimport { isElementNode } from './guards.js';\nexport var SanitizeLevel;\n(function (SanitizeLevel) {\n SanitizeLevel[SanitizeLevel[\"Plain\"] = 0] = \"Plain\";\n SanitizeLevel[SanitizeLevel[\"Obscured\"] = 1] = \"Obscured\";\n SanitizeLevel[SanitizeLevel[\"Hidden\"] = 2] = \"Hidden\";\n})(SanitizeLevel || (SanitizeLevel = {}));\nexport default class Sanitizer {\n constructor(app, options) {\n this.app = app;\n this.obscured = new Set();\n this.hidden = new Set();\n this.options = Object.assign({\n obscureTextEmails: true,\n obscureTextNumbers: false,\n }, options);\n }\n handleNode(id, parentID, node) {\n if (this.obscured.has(parentID) ||\n (isElementNode(node) &&\n (hasOpenreplayAttribute(node, 'masked') || hasOpenreplayAttribute(node, 'obscured')))) {\n this.obscured.add(id);\n }\n if (this.hidden.has(parentID) ||\n (isElementNode(node) &&\n (hasOpenreplayAttribute(node, 'htmlmasked') || hasOpenreplayAttribute(node, 'hidden')))) {\n this.hidden.add(id);\n }\n if (this.options.domSanitizer !== undefined && isElementNode(node)) {\n const sanitizeLevel = this.options.domSanitizer(node);\n if (sanitizeLevel === SanitizeLevel.Obscured) {\n this.obscured.add(id);\n }\n if (sanitizeLevel === SanitizeLevel.Hidden) {\n this.hidden.add(id);\n }\n }\n }\n sanitize(id, data) {\n if (this.obscured.has(id)) {\n // TODO: is it the best place to put trim() ? Might trimmed spaces be considered in layout in certain cases?\n return data\n .trim()\n .replace(/[^\\f\\n\\r\\t\\v\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]/g, '█');\n }\n if (this.options.obscureTextNumbers) {\n data = data.replace(/\\d/g, '0');\n }\n if (this.options.obscureTextEmails) {\n data = data.replace(/([^\\s]+)@([^\\s]+)\\.([^\\s]+)/g, (...f) => stars(f[1]) + '@' + stars(f[2]) + '.' + stars(f[3]));\n }\n return data;\n }\n isObscured(id) {\n return this.obscured.has(id);\n }\n isHidden(id) {\n return this.hidden.has(id);\n }\n getInnerTextSecure(el) {\n const id = this.app.nodes.getID(el);\n if (!id) {\n return '';\n }\n return this.sanitize(id, el.innerText);\n }\n clear() {\n this.obscured.clear();\n this.hidden.clear();\n }\n}\n","function wrap(callback, n) {\n let t = 0;\n return () => {\n if (t++ >= n) {\n t = 0;\n callback();\n }\n };\n}\nexport default class Ticker {\n constructor(app) {\n this.app = app;\n this.timer = null;\n this.callbacks = [];\n }\n attach(callback, n = 0, useSafe = true, thisArg) {\n if (thisArg) {\n callback = callback.bind(thisArg);\n }\n if (useSafe) {\n callback = this.app.safe(callback);\n }\n this.callbacks.unshift(n ? wrap(callback, n) : callback) - 1;\n }\n start() {\n if (this.timer === null) {\n this.timer = setInterval(() => this.callbacks.forEach((cb) => {\n if (cb)\n cb();\n }), 30);\n }\n }\n stop() {\n if (this.timer !== null) {\n clearInterval(this.timer);\n this.timer = null;\n }\n }\n}\n","export const LogLevel = {\n Verbose: 5,\n Log: 4,\n Warnings: 3,\n Errors: 2,\n Silent: 0,\n};\nfunction IsCustomLevel(l) {\n return typeof l === 'object';\n}\nexport default class Logger {\n constructor(options = LogLevel.Silent) {\n this.options =\n options === true\n ? { level: LogLevel.Verbose }\n : typeof options === 'number'\n ? { level: options }\n : options;\n }\n log(...args) {\n if (IsCustomLevel(this.options.level)\n ? this.options.level.log\n : this.options.level >= LogLevel.Log) {\n console.log(...args);\n }\n }\n warn(...args) {\n if (IsCustomLevel(this.options.level)\n ? this.options.level.warn\n : this.options.level >= LogLevel.Warnings) {\n console.warn(...args);\n }\n }\n error(...args) {\n if (IsCustomLevel(this.options.level)\n ? this.options.level.error\n : this.options.level >= LogLevel.Errors) {\n console.error(...args);\n }\n }\n}\n","export default class Session {\n constructor(app, options) {\n this.app = app;\n this.options = options;\n this.metadata = {};\n this.userID = null;\n this.callbacks = [];\n this.timestamp = 0;\n }\n attachUpdateCallback(cb) {\n this.callbacks.push(cb);\n }\n handleUpdate(newInfo) {\n if (newInfo.userID == null) {\n delete newInfo.userID;\n }\n if (newInfo.sessionID == null) {\n delete newInfo.sessionID;\n }\n this.callbacks.forEach((cb) => cb(newInfo));\n }\n assign(newInfo) {\n if (newInfo.userID !== undefined) {\n // TODO clear nullable/undefinable types\n this.userID = newInfo.userID;\n }\n if (newInfo.metadata !== undefined) {\n Object.entries(newInfo.metadata).forEach(([k, v]) => (this.metadata[k] = v));\n }\n if (newInfo.sessionID !== undefined) {\n this.sessionID = newInfo.sessionID;\n }\n if (newInfo.timestamp !== undefined) {\n this.timestamp = newInfo.timestamp;\n }\n if (newInfo.projectID !== undefined) {\n this.projectID = newInfo.projectID;\n }\n this.handleUpdate(newInfo);\n }\n setMetadata(key, value) {\n this.metadata[key] = value;\n this.handleUpdate({ metadata: { [key]: value } });\n }\n setUserID(userID) {\n this.userID = userID;\n this.handleUpdate({ userID });\n }\n getPageNumber() {\n const pageNoStr = this.app.sessionStorage.getItem(this.options.session_pageno_key);\n if (pageNoStr == null) {\n return undefined;\n }\n return parseInt(pageNoStr);\n }\n incPageNo() {\n let pageNo = this.getPageNumber();\n if (pageNo === undefined) {\n pageNo = 0;\n }\n else {\n pageNo++;\n }\n this.app.sessionStorage.setItem(this.options.session_pageno_key, pageNo.toString());\n return pageNo;\n }\n getSessionToken() {\n return this.app.sessionStorage.getItem(this.options.session_token_key) || undefined;\n }\n setSessionToken(token) {\n this.app.sessionStorage.setItem(this.options.session_token_key, token);\n }\n applySessionHash(hash) {\n const hashParts = decodeURI(hash).split('&');\n let token = hash;\n let pageNoStr = '100500'; // back-compat for sessionToken\n if (hashParts.length == 2) {\n ;\n [pageNoStr, token] = hashParts;\n }\n if (!pageNoStr || !token) {\n return;\n }\n this.app.sessionStorage.setItem(this.options.session_token_key, token);\n this.app.sessionStorage.setItem(this.options.session_pageno_key, pageNoStr);\n }\n getSessionHash() {\n const pageNo = this.getPageNumber();\n const token = this.getSessionToken();\n if (pageNo === undefined || token === undefined) {\n return;\n }\n return encodeURI(String(pageNo) + '&' + token);\n }\n getInfo() {\n return {\n sessionID: this.sessionID,\n metadata: this.metadata,\n userID: this.userID,\n timestamp: this.timestamp,\n projectID: this.projectID,\n };\n }\n reset() {\n this.app.sessionStorage.removeItem(this.options.session_token_key);\n this.metadata = {};\n this.userID = null;\n this.sessionID = undefined;\n this.timestamp = 0;\n }\n}\n","import { IN_BROWSER } from '../utils.js';\nimport { PerformanceTrack } from '../app/messages.gen.js';\nconst perf = IN_BROWSER && 'performance' in window && 'memory' in performance // works in Chrome only\n ? performance\n : { memory: {} };\nexport const deviceMemory = IN_BROWSER ? (navigator.deviceMemory || 0) * 1024 : 0;\nexport const jsHeapSizeLimit = perf.memory.jsHeapSizeLimit || 0;\nexport default function (app, opts) {\n const options = Object.assign({\n capturePerformance: true,\n }, opts);\n if (!options.capturePerformance) {\n return;\n }\n let frames;\n let ticks;\n const nextFrame = () => {\n if (frames === undefined || frames === -1) {\n return;\n }\n frames++;\n requestAnimationFrame(nextFrame);\n };\n app.ticker.attach(() => {\n if (ticks === undefined || ticks === -1) {\n return;\n }\n ticks++;\n }, 0, false);\n const sendPerformanceTrack = () => {\n if (frames === undefined || ticks === undefined) {\n return;\n }\n app.send(PerformanceTrack(frames, ticks, perf.memory.totalJSHeapSize || 0, perf.memory.usedJSHeapSize || 0));\n ticks = frames = document.hidden ? -1 : 0;\n };\n app.attachStartCallback(() => {\n ticks = frames = -1;\n sendPerformanceTrack();\n nextFrame();\n });\n app.attachStopCallback(() => {\n ticks = frames = undefined;\n });\n app.ticker.attach(sendPerformanceTrack, 40, false);\n if (document.hidden !== undefined) {\n app.attachEventListener(document, 'visibilitychange', sendPerformanceTrack, false, false);\n }\n}\n","import { Timestamp, Metadata, UserID } from './messages.gen.js';\nimport { now, adjustTimeOrigin } from '../utils.js';\nimport Nodes from './nodes.js';\nimport Observer from './observer/top_observer.js';\nimport Sanitizer from './sanitizer.js';\nimport Ticker from './ticker.js';\nimport Logger, { LogLevel } from './logger.js';\nimport Session from './session.js';\nimport { deviceMemory, jsHeapSizeLimit } from '../modules/performance.js';\nconst CANCELED = 'canceled';\nconst START_ERROR = ':(';\nconst UnsuccessfulStart = (reason) => ({ reason, success: false });\nconst SuccessfulStart = (body) => (Object.assign(Object.assign({}, body), { success: true }));\nvar ActivityState;\n(function (ActivityState) {\n ActivityState[ActivityState[\"NotActive\"] = 0] = \"NotActive\";\n ActivityState[ActivityState[\"Starting\"] = 1] = \"Starting\";\n ActivityState[ActivityState[\"Active\"] = 2] = \"Active\";\n})(ActivityState || (ActivityState = {}));\n// TODO: use backendHost only\nexport const DEFAULT_INGEST_POINT = 'https://api.openreplay.com/ingest';\nexport default class App {\n constructor(projectKey, sessionToken, options) {\n // if (options.onStart !== undefined) {\n // deprecationWarn(\"'onStart' option\", \"tracker.start().then(/* handle session info */)\")\n // } ?? maybe onStart is good\n var _a, _b;\n this.messages = [];\n this.startCallbacks = [];\n this.stopCallbacks = [];\n this.commitCallbacks = [];\n this.activityState = ActivityState.NotActive;\n this.version = '4.1.11'; // TODO: version compatability check inside each plugin.\n this.delay = 0;\n this.projectKey = projectKey;\n this.options = Object.assign({\n revID: '',\n node_id: '__openreplay_id',\n session_token_key: '__openreplay_token',\n session_pageno_key: '__openreplay_pageno',\n session_reset_key: '__openreplay_reset',\n local_uuid_key: '__openreplay_uuid',\n ingestPoint: DEFAULT_INGEST_POINT,\n resourceBaseHref: null,\n verbose: false,\n __is_snippet: false,\n __debug_report_edp: null,\n localStorage: null,\n sessionStorage: null,\n }, options);\n this.revID = this.options.revID;\n this.localStorage = (_a = this.options.localStorage) !== null && _a !== void 0 ? _a : window.localStorage;\n this.sessionStorage = (_b = this.options.sessionStorage) !== null && _b !== void 0 ? _b : window.sessionStorage;\n this.sanitizer = new Sanitizer(this, options);\n this.nodes = new Nodes(this.options.node_id);\n this.observer = new Observer(this, options);\n this.ticker = new Ticker(this);\n this.ticker.attach(() => this.commit());\n this.debug = new Logger(this.options.__debug__);\n this.notify = new Logger(this.options.verbose ? LogLevel.Warnings : LogLevel.Silent);\n this.session = new Session(this, this.options);\n this.session.attachUpdateCallback(({ userID, metadata }) => {\n if (userID != null) {\n // TODO: nullable userID\n this.send(UserID(userID));\n }\n if (metadata != null) {\n Object.entries(metadata).forEach(([key, value]) => this.send(Metadata(key, value)));\n }\n });\n // @depricated (use sessionHash on start instead)\n if (sessionToken != null) {\n this.session.applySessionHash(sessionToken);\n }\n try {\n this.worker = new Worker(URL.createObjectURL(new Blob(['\"use strict\";class t{constructor(t,i,s,e=10,n=1e3){this.onUnauthorised=i,this.onFailure=s,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.ingestURL=t+\"/v1/web/i\"}authorise(t){this.token=t}push(t){this.busy||!this.token?this.queue.push(t):this.sendBatch(t)}retry(t){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout(()=>this.sendBatch(t),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t){this.busy=!0,fetch(this.ingestURL,{body:t,method:\"POST\",headers:{Authorization:\"Bearer \"+this.token},keepalive:t.length<65536}).then(i=>{if(401===i.status)return this.busy=!1,void this.onUnauthorised();if(i.status>=400)return void this.retry(t);this.attemptsCount=0;const s=this.queue.shift();s?this.sendBatch(s):this.busy=!1}).catch(i=>{console.warn(\"OpenReplay:\",i),this.retry(t)})}clean(){this.queue.length=0}}const i=\"function\"==typeof TextEncoder?new TextEncoder:{encode(t){const i=t.length,s=new Uint8Array(3*i);let e=-1;for(let n=0,r=0,h=0;h!==i;){if(n=t.charCodeAt(h),h+=1,n>=55296&&n<=56319){if(h===i){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;break}if(r=t.charCodeAt(h),!(r>=56320&&r<=57343)){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;continue}if(n=1024*(n-55296)+r-56320+65536,h+=1,n>65535){s[e+=1]=240|n>>>18,s[e+=1]=128|n>>>12&63,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n;continue}}n<=127?s[e+=1]=0|n:n<=2047?(s[e+=1]=192|n>>>6,s[e+=1]=128|63&n):(s[e+=1]=224|n>>>12,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n)}return s.subarray(0,e+1)}};class s extends class{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,i){this.data.set(t,i)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const s=i.encode(t),e=s.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(s,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}{encode(t){switch(t[0]){case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 82:return this.uint(t[1])&&this.uint(t[2]);case 0:return this.uint(t[1]);case 4:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 11:return this.uint(t[1]);case 12:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 17:return this.uint(t[1])&&this.string(t[2]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 20:return this.uint(t[1])&&this.uint(t[2]);case 22:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 24:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 25:return this.string(t[1])&&this.string(t[2])&&this.string(t[3]);case 27:return this.string(t[1])&&this.string(t[2]);case 28:case 29:return this.string(t[1]);case 30:return this.string(t[1])&&this.string(t[2]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 38:return this.uint(t[1])&&this.uint(t[2]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 41:return this.string(t[1])&&this.string(t[2]);case 42:return this.string(t[1]);case 44:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 45:case 46:return this.string(t[1])&&this.string(t[2]);case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 54:return this.uint(t[1])&&this.string(t[2]);case 55:return this.boolean(t[1]);case 57:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 61:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 63:case 64:return this.string(t[1])&&this.string(t[2]);case 67:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 70:return this.uint(t[1])&&this.uint(t[2]);case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 75:case 76:case 77:return this.uint(t[1])&&this.uint(t[2]);case 79:return this.string(t[1])&&this.string(t[2]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])}}}class e{constructor(t,i,e,n){this.pageNo=t,this.timestamp=i,this.url=e,this.onBatch=n,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new s(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,i){for(let i=0;i<3;i++)this.sizeBuffer[i]=t>>8*i;this.encoder.set(this.sizeBuffer,i)}prepare(){if(!this.encoder.isEmpty())return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url];this.writeType(t),this.writeFields(t),this.isEmpty=!0}writeWithSize(t){const i=this.encoder;if(!this.writeType(t)||!i.skip(3))return!1;const s=i.getCurrentOffset(),e=this.writeFields(t);if(e){const e=i.getCurrentOffset()-s;if(e>16777215)return console.warn(\"OpenReplay: max message size overflow.\"),!1;this.writeSizeAt(e,s-3),i.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){if(0===t[0]&&(this.timestamp=t[1]),4===t[0]&&(this.url=t[1]),!this.writeWithSize(t))for(this.finaliseBatch();!this.writeWithSize(t);){if(this.beaconSize===this.beaconSizeLimit)return console.warn(\"OpenReplay: beacon size overflow. Skipping large message.\",t,this),this.encoder.reset(),void this.prepare();this.beaconSize=Math.min(2*this.beaconSize,this.beaconSizeLimit),this.encoder=new s(this.beaconSize),this.prepare()}}finaliseBatch(){this.isEmpty||(this.onBatch(this.encoder.flush()),this.prepare())}clean(){this.encoder.reset()}}var n;!function(t){t[t.NotActive=0]=\"NotActive\",t[t.Starting=1]=\"Starting\",t[t.Stopping=2]=\"Stopping\",t[t.Active=3]=\"Active\"}(n||(n={}));let r=null,h=null;function u(){h&&h.finaliseBatch()}function a(){n.Stopping,null!==g&&(clearInterval(g),g=null),h&&(h.clean(),h=null),r&&(r.clean(),r=null),n.NotActive}function o(){postMessage(\"restart\"),a()}n.NotActive;let c,g=null;self.onmessage=({data:i})=>{if(null!=i){if(\"stop\"===i)return u(),void a();if(Array.isArray(i)){if(!h)throw new Error(\"WebWorker: writer not initialised. Service Should be Started.\");const t=h;i.forEach(i=>{55===i[0]&&(i[1]?c=setTimeout(()=>o(),18e5):clearTimeout(c)),t.writeMessage(i)})}else{if(\"start\"===i.type)return n.Starting,r=new t(i.ingestPoint,()=>{o()},t=>{!function(t){postMessage({type:\"failure\",reason:t}),a()}(t)},i.connAttemptCount,i.connAttemptGap),h=new e(i.pageNo,i.timestamp,i.url,t=>r&&r.push(t)),null===g&&(g=setInterval(u,1e4)),n.Active;if(\"auth\"===i.type){if(!r)throw new Error(\"WebWorker: sender not initialised. Received auth.\");if(!h)throw new Error(\"WebWorker: writer not initialised. Received auth.\");return r.authorise(i.token),void(i.beaconSizeLimit&&h.setBeaconSizeLimit(i.beaconSizeLimit))}}}else u()};'], { type: 'text/javascript' })));\n this.worker.onerror = (e) => {\n this._debug('webworker_error', e);\n };\n this.worker.onmessage = ({ data }) => {\n if (data === 'restart') {\n this.stop(false);\n this.start({}, true);\n }\n else if (data.type === 'failure') {\n this.stop(false);\n this._debug('worker_failed', data.reason);\n }\n };\n const alertWorker = () => {\n if (this.worker) {\n this.worker.postMessage(null);\n }\n };\n // keep better tactics, discard others?\n this.attachEventListener(window, 'beforeunload', alertWorker, false);\n this.attachEventListener(document.body, 'mouseleave', alertWorker, false, false);\n // TODO: stop session after inactivity timeout (make configurable)\n this.attachEventListener(document, 'visibilitychange', alertWorker, false);\n }\n catch (e) {\n this._debug('worker_start', e);\n }\n }\n _debug(context, e) {\n if (this.options.__debug_report_edp !== null) {\n void fetch(this.options.__debug_report_edp, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n context,\n error: `${e}`,\n }),\n });\n }\n this.debug.error('OpenReplay error: ', context, e);\n }\n send(message, urgent = false) {\n if (this.activityState === ActivityState.NotActive) {\n return;\n }\n this.messages.push(message);\n // TODO: commit on start if there were `urgent` sends;\n // Clarify where urgent can be used for;\n // Clarify workflow for each type of message in case it was sent before start\n // (like Fetch before start; maybe add an option \"preCapture: boolean\" or sth alike)\n // Careful: `this.delay` is equal to zero before start hense all Timestamp-s will have to be updated on start\n if (this.activityState === ActivityState.Active && urgent) {\n this.commit();\n }\n }\n commit() {\n if (this.worker && this.messages.length) {\n this.messages.unshift(Timestamp(this.timestamp()));\n this.worker.postMessage(this.messages);\n this.commitCallbacks.forEach((cb) => cb(this.messages));\n this.messages.length = 0;\n }\n }\n timestamp() {\n return now() + this.delay;\n }\n safe(fn) {\n const app = this;\n return function (...args) {\n try {\n fn.apply(this, args);\n }\n catch (e) {\n app._debug('safe_fn_call', e);\n // time: this.timestamp(),\n // name: e.name,\n // message: e.message,\n // stack: e.stack\n }\n }; // TODO: correct typing\n }\n attachCommitCallback(cb) {\n this.commitCallbacks.push(cb);\n }\n attachStartCallback(cb, useSafe = false) {\n if (useSafe) {\n cb = this.safe(cb);\n }\n this.startCallbacks.push(cb);\n }\n attachStopCallback(cb, useSafe = false) {\n if (useSafe) {\n cb = this.safe(cb);\n }\n this.stopCallbacks.push(cb);\n }\n // Use app.nodes.attachNodeListener for registered nodes instead\n attachEventListener(target, type, listener, useSafe = true, useCapture = true) {\n if (useSafe) {\n listener = this.safe(listener);\n }\n this.attachStartCallback(() => target === null || target === void 0 ? void 0 : target.addEventListener(type, listener, useCapture), useSafe);\n this.attachStopCallback(() => target === null || target === void 0 ? void 0 : target.removeEventListener(type, listener, useCapture), useSafe);\n }\n // TODO: full correct semantic\n checkRequiredVersion(version) {\n const reqVer = version.split(/[.-]/);\n const ver = this.version.split(/[.-]/);\n for (let i = 0; i < 3; i++) {\n if (isNaN(Number(ver[i])) || isNaN(Number(reqVer[i]))) {\n return false;\n }\n if (Number(ver[i]) > Number(reqVer[i])) {\n return true;\n }\n if (Number(ver[i]) < Number(reqVer[i])) {\n return false;\n }\n }\n return true;\n }\n getTrackerInfo() {\n return {\n userUUID: this.localStorage.getItem(this.options.local_uuid_key),\n projectKey: this.projectKey,\n revID: this.revID,\n trackerVersion: this.version,\n isSnippet: this.options.__is_snippet,\n };\n }\n getSessionInfo() {\n return Object.assign(Object.assign({}, this.session.getInfo()), this.getTrackerInfo());\n }\n getSessionToken() {\n return this.session.getSessionToken();\n }\n getSessionID() {\n return this.session.getInfo().sessionID || undefined;\n }\n getSessionURL() {\n const { projectID, sessionID } = this.session.getInfo();\n if (!projectID || !sessionID) {\n this.debug.error('OpenReplay error: Unable to build session URL');\n return undefined;\n }\n const ingest = this.options.ingestPoint;\n const isSaas = ingest === DEFAULT_INGEST_POINT;\n const projectPath = isSaas ? ingest.replace('api', 'app') : ingest;\n return projectPath.replace(/ingest$/, `${projectID}/session/${sessionID}`);\n }\n getHost() {\n return new URL(this.options.ingestPoint).host;\n }\n getProjectKey() {\n return this.projectKey;\n }\n getBaseHref() {\n var _a, _b;\n if (typeof this.options.resourceBaseHref === 'string') {\n return this.options.resourceBaseHref;\n }\n else if (typeof this.options.resourceBaseHref === 'object') {\n //TODO: switch between types\n }\n if (document.baseURI) {\n return document.baseURI;\n }\n // IE only\n return (((_b = (_a = document.head) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('base')[0]) === null || _b === void 0 ? void 0 : _b.getAttribute('href')) ||\n location.origin + location.pathname);\n }\n resolveResourceURL(resourceURL) {\n const base = new URL(this.getBaseHref());\n base.pathname += '/' + new URL(resourceURL).pathname;\n base.pathname.replace(/\\/+/g, '/');\n return base.toString();\n }\n isServiceURL(url) {\n return url.startsWith(this.options.ingestPoint);\n }\n active() {\n return this.activityState === ActivityState.Active;\n }\n resetNextPageSession(flag) {\n if (flag) {\n this.sessionStorage.setItem(this.options.session_reset_key, 't');\n }\n else {\n this.sessionStorage.removeItem(this.options.session_reset_key);\n }\n }\n _start(startOpts = {}, resetByWorker = false) {\n if (!this.worker) {\n return Promise.resolve(UnsuccessfulStart('No worker found: perhaps, CSP is not set.'));\n }\n if (this.activityState !== ActivityState.NotActive) {\n return Promise.resolve(UnsuccessfulStart('OpenReplay: trying to call `start()` on the instance that has been started already.'));\n }\n this.activityState = ActivityState.Starting;\n adjustTimeOrigin();\n if (startOpts.sessionHash) {\n this.session.applySessionHash(startOpts.sessionHash);\n }\n if (startOpts.forceNew) {\n // Reset session metadata only if requested directly\n this.session.reset();\n }\n this.session.assign({\n // MBTODO: maybe it would make sense to `forceNew` if the `userID` was changed\n userID: startOpts.userID,\n metadata: startOpts.metadata,\n });\n const timestamp = now();\n this.worker.postMessage({\n type: 'start',\n pageNo: this.session.incPageNo(),\n ingestPoint: this.options.ingestPoint,\n timestamp,\n url: document.URL,\n connAttemptCount: this.options.connAttemptCount,\n connAttemptGap: this.options.connAttemptGap,\n });\n const lsReset = this.sessionStorage.getItem(this.options.session_reset_key) !== null;\n this.sessionStorage.removeItem(this.options.session_reset_key);\n const needNewSessionID = startOpts.forceNew || lsReset || resetByWorker;\n return window\n .fetch(this.options.ingestPoint + '/v1/web/start', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(Object.assign(Object.assign({}, this.getTrackerInfo()), { timestamp, userID: this.session.getInfo().userID, token: needNewSessionID ? undefined : this.session.getSessionToken(), deviceMemory,\n jsHeapSizeLimit })),\n })\n .then((r) => {\n if (r.status === 200) {\n return r.json();\n }\n else {\n return r\n .text()\n .then((text) => text === CANCELED\n ? Promise.reject(CANCELED)\n : Promise.reject(`Server error: ${r.status}. ${text}`));\n }\n })\n .then((r) => {\n if (!this.worker) {\n return Promise.reject('no worker found after start request (this might not happen)');\n }\n if (this.activityState === ActivityState.NotActive) {\n return Promise.reject('Tracker stopped during authorisation');\n }\n const { token, userUUID, projectID, beaconSizeLimit, delay, // derived from token\n sessionID, // derived from token\n startTimestamp, // real startTS (server time), derived from sessionID\n } = r;\n if (typeof token !== 'string' ||\n typeof userUUID !== 'string' ||\n (typeof startTimestamp !== 'number' && typeof startTimestamp !== 'undefined') ||\n typeof sessionID !== 'string' ||\n typeof delay !== 'number' ||\n (typeof beaconSizeLimit !== 'number' && typeof beaconSizeLimit !== 'undefined')) {\n return Promise.reject(`Incorrect server response: ${JSON.stringify(r)}`);\n }\n this.delay = delay;\n this.session.setSessionToken(token);\n this.session.assign({\n sessionID,\n timestamp: startTimestamp || timestamp,\n projectID,\n });\n // (Re)send Metadata for the case of a new session\n Object.entries(this.session.getInfo().metadata).forEach(([key, value]) => this.send(Metadata(key, value)));\n this.localStorage.setItem(this.options.local_uuid_key, userUUID);\n this.worker.postMessage({\n type: 'auth',\n token,\n beaconSizeLimit,\n });\n const onStartInfo = { sessionToken: token, userUUID, sessionID };\n // TODO: start as early as possible (before receiving the token)\n this.startCallbacks.forEach((cb) => cb(onStartInfo)); // MBTODO: callbacks after DOM \"mounted\" (observed)\n this.observer.observe();\n this.ticker.start();\n this.activityState = ActivityState.Active;\n this.notify.log('OpenReplay tracking started.');\n // get rid of onStart ?\n if (typeof this.options.onStart === 'function') {\n this.options.onStart(onStartInfo);\n }\n return SuccessfulStart(onStartInfo);\n })\n .catch((reason) => {\n this.stop();\n this.session.reset();\n if (reason === CANCELED) {\n return UnsuccessfulStart(CANCELED);\n }\n this.notify.log('OpenReplay was unable to start. ', reason);\n this._debug('session_start', reason);\n return UnsuccessfulStart(START_ERROR);\n });\n }\n start(...args) {\n if (!document.hidden) {\n return this._start(...args);\n }\n else {\n return new Promise((resolve) => {\n const onVisibilityChange = () => {\n if (!document.hidden) {\n document.removeEventListener('visibilitychange', onVisibilityChange);\n resolve(this._start(...args));\n }\n };\n document.addEventListener('visibilitychange', onVisibilityChange);\n });\n }\n }\n stop(stopWorker = true) {\n if (this.activityState !== ActivityState.NotActive) {\n try {\n this.sanitizer.clear();\n this.observer.disconnect();\n this.nodes.clear();\n this.ticker.stop();\n this.stopCallbacks.forEach((cb) => cb());\n this.notify.log('OpenReplay tracking stopped.');\n if (this.worker && stopWorker) {\n this.worker.postMessage('stop');\n }\n }\n finally {\n this.activityState = ActivityState.NotActive;\n }\n }\n }\n}\n","import { IN_BROWSER } from '../utils.js';\nimport { ConsoleLog } from '../app/messages.gen.js';\nconst printError = IN_BROWSER && 'InstallTrigger' in window // detect Firefox\n ? (e) => e.message + '\\n' + e.stack\n : (e) => e.stack || e.message;\nfunction printString(arg) {\n if (arg === undefined) {\n return 'undefined';\n }\n if (arg === null) {\n return 'null';\n }\n if (arg instanceof Error) {\n return printError(arg);\n }\n if (Array.isArray(arg)) {\n return `Array(${arg.length})`;\n }\n return String(arg);\n}\nfunction printFloat(arg) {\n if (typeof arg !== 'number')\n return 'NaN';\n return arg.toString();\n}\nfunction printInt(arg) {\n if (typeof arg !== 'number')\n return 'NaN';\n return Math.floor(arg).toString();\n}\nfunction printObject(arg) {\n if (arg === undefined) {\n return 'undefined';\n }\n if (arg === null) {\n return 'null';\n }\n if (arg instanceof Error) {\n return printError(arg);\n }\n if (Array.isArray(arg)) {\n const length = arg.length;\n const values = arg.slice(0, 10).map(printString).join(', ');\n return `Array(${length})[${values}]`;\n }\n if (typeof arg === 'object') {\n const res = [];\n let i = 0;\n for (const k in arg) {\n if (++i === 10) {\n break;\n }\n const v = arg[k];\n res.push(k + ': ' + printString(v));\n }\n return '{' + res.join(', ') + '}';\n }\n return arg.toString();\n}\nfunction printf(args) {\n if (typeof args[0] === 'string') {\n args.unshift(args.shift().replace(/%(o|s|f|d|i)/g, (s, t) => {\n const arg = args.shift();\n if (arg === undefined)\n return s;\n switch (t) {\n case 'o':\n return printObject(arg);\n case 's':\n return printString(arg);\n case 'f':\n return printFloat(arg);\n case 'd':\n case 'i':\n return printInt(arg);\n default:\n return s;\n }\n }));\n }\n return args.map(printObject).join(' ');\n}\nconst consoleMethods = ['log', 'info', 'warn', 'error', 'debug', 'assert'];\nexport default function (app, opts) {\n const options = Object.assign({\n consoleMethods,\n consoleThrottling: 30,\n }, opts);\n if (!Array.isArray(options.consoleMethods) || options.consoleMethods.length === 0) {\n return;\n }\n const sendConsoleLog = app.safe((level, args) => app.send(ConsoleLog(level, printf(args))));\n let n;\n const reset = () => {\n n = 0;\n };\n app.attachStartCallback(reset);\n app.ticker.attach(reset, 33, false);\n const patchConsole = (console) => options.consoleMethods.forEach((method) => {\n if (consoleMethods.indexOf(method) === -1) {\n app.debug.error(`OpenReplay: unsupported console method \"${method}\"`);\n return;\n }\n const fn = console[method];\n console[method] = function (...args) {\n fn.apply(this, args);\n if (n++ > options.consoleThrottling) {\n return;\n }\n sendConsoleLog(method, args);\n };\n });\n const patchContext = app.safe((context) => patchConsole(context.console));\n patchContext(window);\n app.observer.attachContextCallback(patchContext);\n}\n","import { JSException } from '../app/messages.gen.js';\nimport ErrorStackParser from 'error-stack-parser';\nfunction getDefaultStack(e) {\n return [\n {\n columnNumber: e.colno,\n lineNumber: e.lineno,\n fileName: e.filename,\n functionName: '',\n source: '',\n },\n ];\n}\nexport function getExceptionMessage(error, fallbackStack, metadata = {}) {\n let stack = fallbackStack;\n try {\n stack = ErrorStackParser.parse(error);\n }\n catch (e) { }\n return JSException(error.name, error.message, JSON.stringify(stack), JSON.stringify(metadata));\n}\nexport function getExceptionMessageFromEvent(e, context = window, metadata = {}) {\n if (e instanceof ErrorEvent) {\n if (e.error instanceof Error) {\n return getExceptionMessage(e.error, getDefaultStack(e), metadata);\n }\n else {\n let [name, message] = e.message.split(':');\n if (!message) {\n name = 'Error';\n message = e.message;\n }\n return JSException(name, message, JSON.stringify(getDefaultStack(e)), JSON.stringify(metadata));\n }\n }\n else if ('PromiseRejectionEvent' in context && e instanceof context.PromiseRejectionEvent) {\n if (e.reason instanceof Error) {\n return getExceptionMessage(e.reason, [], metadata);\n }\n else {\n let message;\n try {\n message = JSON.stringify(e.reason);\n }\n catch (_) {\n message = String(e.reason);\n }\n return JSException('Unhandled Promise Rejection', message, '[]', JSON.stringify(metadata));\n }\n }\n return null;\n}\nexport default function (app, opts) {\n const options = Object.assign({\n captureExceptions: true,\n }, opts);\n function patchContext(context) {\n function handler(e) {\n const msg = getExceptionMessageFromEvent(e, context);\n if (msg != null) {\n app.send(msg);\n }\n }\n app.attachEventListener(context, 'unhandledrejection', handler);\n app.attachEventListener(context, 'error', handler);\n }\n if (options.captureExceptions) {\n app.observer.attachContextCallback(patchContext); // TODO: attach once-per-iframe (?)\n patchContext(window);\n }\n}\n","import { isURL, IS_FIREFOX, MAX_STR_LEN } from '../utils.js';\nimport { ResourceTiming, SetNodeAttributeURLBased, SetNodeAttribute } from '../app/messages.gen.js';\nimport { hasTag } from '../app/guards.js';\nfunction resolveURL(url, location = document.location) {\n url = url.trim();\n if (url.startsWith('/')) {\n return location.origin + url;\n }\n else if (url.startsWith('http://') ||\n url.startsWith('https://') ||\n url.startsWith('data:') // any other possible value here? https://bugzilla.mozilla.org/show_bug.cgi?id=1758035\n ) {\n return url;\n }\n else {\n return location.origin + location.pathname + url;\n }\n}\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1607081\nfunction isSVGInFireFox(url) {\n return IS_FIREFOX && (url.startsWith('data:image/svg+xml') || url.match(/.svg$|/i));\n}\nconst PLACEHOLDER_SRC = 'https://static.openreplay.com/tracker/placeholder.jpeg';\nexport default function (app) {\n function sendPlaceholder(id, node) {\n app.send(SetNodeAttribute(id, 'src', PLACEHOLDER_SRC));\n const { width, height } = node.getBoundingClientRect();\n if (!node.hasAttribute('width')) {\n app.send(SetNodeAttribute(id, 'width', String(width)));\n }\n if (!node.hasAttribute('height')) {\n app.send(SetNodeAttribute(id, 'height', String(height)));\n }\n }\n const sendSrcset = function (id, img) {\n const { srcset } = img;\n if (!srcset) {\n return;\n }\n const resolvedSrcset = srcset\n .split(',')\n .map((str) => resolveURL(str))\n .join(',');\n app.send(SetNodeAttribute(id, 'srcset', resolvedSrcset));\n };\n const sendSrc = function (id, img) {\n if (img.src.length > MAX_STR_LEN) {\n sendPlaceholder(id, img);\n }\n app.send(SetNodeAttributeURLBased(id, 'src', img.src, app.getBaseHref()));\n };\n const sendImgError = app.safe(function (img) {\n const resolvedSrc = resolveURL(img.src || ''); // Src type is null sometimes. - is it true?\n if (isURL(resolvedSrc)) {\n app.send(ResourceTiming(app.timestamp(), 0, 0, 0, 0, 0, resolvedSrc, 'img'));\n }\n });\n const sendImgAttrs = app.safe(function (img) {\n const id = app.nodes.getID(img);\n if (id === undefined) {\n return;\n }\n if (!img.complete) {\n return;\n }\n if (img.naturalHeight === 0 && img.naturalWidth === 0 && !isSVGInFireFox(img.src)) {\n sendImgError(img);\n }\n else if (app.sanitizer.isHidden(id) || app.sanitizer.isObscured(id)) {\n sendPlaceholder(id, img);\n }\n else {\n sendSrc(id, img);\n sendSrcset(id, img);\n }\n });\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type === 'attributes') {\n const target = mutation.target;\n const id = app.nodes.getID(target);\n if (id === undefined) {\n return;\n }\n if (mutation.attributeName === 'src') {\n sendSrc(id, target);\n }\n if (mutation.attributeName === 'srcset') {\n sendSrcset(id, target);\n }\n }\n }\n });\n app.attachStopCallback(() => {\n observer.disconnect();\n });\n app.nodes.attachNodeCallback((node) => {\n if (!hasTag(node, 'IMG')) {\n return;\n }\n app.nodes.attachNodeListener(node, 'error', () => sendImgError(node));\n app.nodes.attachNodeListener(node, 'load', () => sendImgAttrs(node));\n sendImgAttrs(node);\n observer.observe(node, { attributes: true, attributeFilter: ['src', 'srcset'] });\n });\n}\n","import { normSpaces, IN_BROWSER, getLabelAttribute } from '../utils.js';\nimport { hasTag } from '../app/guards.js';\nimport { SetInputTarget, SetInputValue, SetInputChecked } from '../app/messages.gen.js';\nconst INPUT_TYPES = ['text', 'password', 'email', 'search', 'number', 'range', 'date'];\nfunction isTextEditable(node) {\n if (hasTag(node, 'TEXTAREA')) {\n return true;\n }\n if (!hasTag(node, 'INPUT')) {\n return false;\n }\n return INPUT_TYPES.includes(node.type);\n}\nfunction isCheckable(node) {\n if (!hasTag(node, 'INPUT')) {\n return false;\n }\n const type = node.type;\n return type === 'checkbox' || type === 'radio';\n}\nconst labelElementFor = IN_BROWSER && 'labels' in HTMLInputElement.prototype\n ? (node) => {\n let p = node;\n while ((p = p.parentNode) !== null) {\n if (hasTag(p, 'LABEL')) {\n return p;\n }\n }\n const labels = node.labels;\n if (labels !== null && labels.length === 1) {\n return labels[0];\n }\n }\n : (node) => {\n let p = node;\n while ((p = p.parentNode) !== null) {\n if (hasTag(p, 'LABEL')) {\n return p;\n }\n }\n const id = node.id;\n if (id) {\n const labels = node.ownerDocument.querySelectorAll('label[for=\"' + id + '\"]');\n if (labels !== null && labels.length === 1) {\n return labels[0];\n }\n }\n };\nexport function getInputLabel(node) {\n let label = getLabelAttribute(node);\n if (label === null) {\n const labelElement = labelElementFor(node);\n label =\n (labelElement && labelElement.innerText) ||\n node.placeholder ||\n node.name ||\n node.id ||\n node.className ||\n node.type;\n }\n return normSpaces(label).slice(0, 100);\n}\nexport default function (app, opts) {\n const options = Object.assign({\n obscureInputNumbers: true,\n obscureInputEmails: true,\n defaultInputMode: 0 /* Plain */,\n obscureInputDates: false,\n }, opts);\n function sendInputTarget(id, node) {\n const label = getInputLabel(node);\n if (label !== '') {\n app.send(SetInputTarget(id, label));\n }\n }\n function sendInputValue(id, node) {\n let value = node.value;\n let inputMode = options.defaultInputMode;\n if (node.type === 'password' || app.sanitizer.isHidden(id)) {\n inputMode = 2 /* Hidden */;\n }\n else if (app.sanitizer.isObscured(id) ||\n (inputMode === 0 /* Plain */ &&\n ((options.obscureInputNumbers && node.type !== 'date' && /\\d\\d\\d\\d/.test(value)) ||\n (options.obscureInputDates && node.type === 'date') ||\n (options.obscureInputEmails && (node.type === 'email' || !!~value.indexOf('@')))))) {\n inputMode = 1 /* Obscured */;\n }\n let mask = 0;\n switch (inputMode) {\n case 2 /* Hidden */:\n mask = -1;\n value = '';\n break;\n case 1 /* Obscured */:\n mask = value.length;\n value = '';\n break;\n }\n app.send(SetInputValue(id, value, mask));\n }\n const inputValues = new Map();\n const checkableValues = new Map();\n const registeredTargets = new Set();\n app.attachStopCallback(() => {\n inputValues.clear();\n checkableValues.clear();\n registeredTargets.clear();\n });\n app.ticker.attach(() => {\n inputValues.forEach((value, id) => {\n const node = app.nodes.getNode(id);\n if (!node)\n return;\n if (!isTextEditable(node)) {\n inputValues.delete(id);\n return;\n }\n if (value !== node.value) {\n inputValues.set(id, node.value);\n if (!registeredTargets.has(id)) {\n registeredTargets.add(id);\n sendInputTarget(id, node);\n }\n sendInputValue(id, node);\n }\n });\n checkableValues.forEach((checked, id) => {\n const node = app.nodes.getNode(id);\n if (!node)\n return;\n if (!isCheckable(node)) {\n checkableValues.delete(id);\n return;\n }\n if (checked !== node.checked) {\n checkableValues.set(id, node.checked);\n app.send(SetInputChecked(id, node.checked));\n }\n });\n });\n app.ticker.attach(Set.prototype.clear, 100, false, registeredTargets);\n app.nodes.attachNodeCallback(app.safe((node) => {\n const id = app.nodes.getID(node);\n if (id === undefined) {\n return;\n }\n // TODO: support multiple select (?): use selectedOptions; Need send target?\n if (hasTag(node, 'SELECT')) {\n sendInputValue(id, node);\n app.attachEventListener(node, 'change', () => {\n sendInputValue(id, node);\n });\n }\n if (isTextEditable(node)) {\n inputValues.set(id, node.value);\n sendInputValue(id, node);\n return;\n }\n if (isCheckable(node)) {\n checkableValues.set(id, node.checked);\n app.send(SetInputChecked(id, node.checked));\n return;\n }\n }));\n}\n","import { hasTag, isSVGElement, isDocument } from '../app/guards.js';\nimport { normSpaces, hasOpenreplayAttribute, getLabelAttribute } from '../utils.js';\nimport { MouseMove, MouseClick } from '../app/messages.gen.js';\nimport { getInputLabel } from './input.js';\nfunction _getSelector(target, document) {\n let el = target;\n let selector = null;\n do {\n if (el.id) {\n return `#${el.id}` + (selector ? ` > ${selector}` : '');\n }\n selector =\n el.className\n .split(' ')\n .map((cn) => cn.trim())\n .filter((cn) => cn !== '')\n .reduce((sel, cn) => `${sel}.${cn}`, el.tagName.toLowerCase()) +\n (selector ? ` > ${selector}` : '');\n if (el === document.body) {\n return selector;\n }\n el = el.parentElement;\n } while (el !== document.body && el !== null);\n return selector;\n}\nfunction isClickable(element) {\n const tag = element.tagName.toUpperCase();\n return (tag === 'BUTTON' ||\n tag === 'A' ||\n tag === 'LI' ||\n tag === 'SELECT' ||\n element.onclick != null ||\n element.getAttribute('role') === 'button');\n //|| element.className.includes(\"btn\")\n // MBTODO: intersept addEventListener\n}\n//TODO: fix (typescript is not sure about target variable after assignation of svg)\nfunction getTarget(target, document) {\n if (target instanceof Element) {\n return _getTarget(target, document);\n }\n return null;\n}\nfunction _getTarget(target, document) {\n let element = target;\n while (element !== null && element !== document.documentElement) {\n if (hasOpenreplayAttribute(element, 'masked')) {\n return null;\n }\n element = element.parentElement;\n }\n if (isSVGElement(target)) {\n let owner = target.ownerSVGElement;\n while (owner !== null) {\n target = owner;\n owner = owner.ownerSVGElement;\n }\n }\n element = target;\n while (element !== null && element !== document.documentElement) {\n const tag = element.tagName.toUpperCase();\n if (tag === 'LABEL') {\n return null;\n }\n if (tag === 'INPUT') {\n return element;\n }\n if (isClickable(element) || getLabelAttribute(element) !== null) {\n return element;\n }\n element = element.parentElement;\n }\n return target === document.documentElement ? null : target;\n}\nexport default function (app) {\n function getTargetLabel(target) {\n const dl = getLabelAttribute(target);\n if (dl !== null) {\n return dl;\n }\n if (hasTag(target, 'INPUT')) {\n return getInputLabel(target);\n }\n if (isClickable(target)) {\n let label = '';\n if (target instanceof HTMLElement) {\n label = app.sanitizer.getInnerTextSecure(target);\n }\n label = label || target.id || target.className;\n return normSpaces(label).slice(0, 100);\n }\n return '';\n }\n let mousePositionX = -1;\n let mousePositionY = -1;\n let mousePositionChanged = false;\n let mouseTarget = null;\n let mouseTargetTime = 0;\n let selectorMap = {};\n app.attachStopCallback(() => {\n mousePositionX = -1;\n mousePositionY = -1;\n mousePositionChanged = false;\n mouseTarget = null;\n selectorMap = {};\n });\n const sendMouseMove = () => {\n if (mousePositionChanged) {\n app.send(MouseMove(mousePositionX, mousePositionY));\n mousePositionChanged = false;\n }\n };\n const patchDocument = (document, topframe = false) => {\n function getSelector(id, target) {\n return (selectorMap[id] = selectorMap[id] || _getSelector(target, document));\n }\n const attachListener = topframe\n ? app.attachEventListener.bind(app) // attached/removed on start/stop\n : app.nodes.attachNodeListener.bind(app.nodes); // attached/removed on node register/unregister\n attachListener(document.documentElement, 'mouseover', (e) => {\n const target = getTarget(e.target, document);\n if (target !== mouseTarget) {\n mouseTarget = target;\n mouseTargetTime = performance.now();\n }\n });\n attachListener(document, 'mousemove', (e) => {\n const [left, top] = app.observer.getDocumentOffset(document); // MBTODO?: document-id related message\n mousePositionX = e.clientX + left;\n mousePositionY = e.clientY + top;\n mousePositionChanged = true;\n }, false);\n attachListener(document, 'click', (e) => {\n const target = getTarget(e.target, document);\n if ((!e.clientX && !e.clientY) || target === null) {\n return;\n }\n const id = app.nodes.getID(target);\n if (id !== undefined) {\n sendMouseMove();\n app.send(MouseClick(id, mouseTarget === target ? Math.round(performance.now() - mouseTargetTime) : 0, getTargetLabel(target), getSelector(id, target)), true);\n }\n mouseTarget = null;\n });\n };\n app.nodes.attachNodeCallback((node) => {\n if (isDocument(node)) {\n patchDocument(node);\n }\n });\n patchDocument(document, true);\n app.ticker.attach(sendMouseMove, 10);\n}\n","import { SetViewportScroll, SetNodeScroll } from '../app/messages.gen.js';\nimport { isNode, isElementNode, isRootNode, isDocument } from '../app/guards.js';\nfunction getDocumentScroll(doc) {\n const win = doc.defaultView;\n return [\n (win && win.pageXOffset) ||\n (doc.documentElement && doc.documentElement.scrollLeft) ||\n (doc.body && doc.body.scrollLeft) ||\n 0,\n (win && win.pageYOffset) ||\n (doc.documentElement && doc.documentElement.scrollTop) ||\n (doc.body && doc.body.scrollTop) ||\n 0,\n ];\n}\nexport default function (app) {\n let documentScroll = false;\n const nodeScroll = new Map();\n function setNodeScroll(target) {\n if (!isNode(target)) {\n return;\n }\n if (isElementNode(target)) {\n nodeScroll.set(target, [target.scrollLeft, target.scrollTop]);\n }\n if (isDocument(target)) {\n nodeScroll.set(target, getDocumentScroll(target));\n }\n }\n const sendSetViewportScroll = app.safe(() => app.send(SetViewportScroll(...getDocumentScroll(document))));\n const sendSetNodeScroll = app.safe((s, node) => {\n const id = app.nodes.getID(node);\n if (id !== undefined) {\n app.send(SetNodeScroll(id, s[0], s[1]));\n }\n });\n app.attachStartCallback(sendSetViewportScroll);\n app.attachStopCallback(() => {\n documentScroll = false;\n nodeScroll.clear();\n });\n app.nodes.attachNodeCallback((node, isStart) => {\n // MBTODO: iterate over all the nodes on start instead of using isStart hack\n if (isStart) {\n if (isElementNode(node) && node.scrollLeft + node.scrollTop > 0) {\n nodeScroll.set(node, [node.scrollLeft, node.scrollTop]);\n }\n else if (isDocument(node)) {\n // DRY somehow?\n nodeScroll.set(node, getDocumentScroll(node));\n }\n }\n if (isRootNode(node)) {\n // scroll is not-composed event (https://javascript.info/shadow-dom-events)\n app.nodes.attachNodeListener(node, 'scroll', (e) => {\n setNodeScroll(e.target);\n });\n }\n });\n app.attachEventListener(document, 'scroll', (e) => {\n const target = e.target;\n if (target === document) {\n documentScroll = true;\n return;\n }\n setNodeScroll(target);\n });\n app.ticker.attach(() => {\n if (documentScroll) {\n sendSetViewportScroll();\n documentScroll = false;\n }\n nodeScroll.forEach(sendSetNodeScroll);\n nodeScroll.clear();\n }, 5, false);\n}\n","import { AdoptedSSReplaceURLBased, AdoptedSSInsertRuleURLBased, AdoptedSSAddOwner, AdoptedSSRemoveOwner, } from '../app/messages.gen.js';\nimport { isRootNode } from '../app/guards.js';\nfunction hasAdoptedSS(node) {\n return (isRootNode(node) &&\n // @ts-ignore\n !!node.adoptedStyleSheets);\n}\n// TODO: incapsulate to be init-ed on-start and join with cssrules.ts under one folder\nlet _id = 0xf;\nexport function nextID() {\n return _id++;\n}\nexport const styleSheetIDMap = new Map();\nexport default function (app) {\n if (app === null) {\n return;\n }\n if (!hasAdoptedSS(document)) {\n return;\n }\n const styleSheetIDMap = new Map();\n const adoptedStyleSheetsOwnings = new Map();\n const sendAdoptedStyleSheetsUpdate = (root) => setTimeout(() => {\n let nodeID = app.nodes.getID(root);\n if (root === document) {\n nodeID = 0; // main document doesn't have nodeID. ID count starts from the documentElement\n }\n if (nodeID === undefined) {\n return;\n }\n let pastOwning = adoptedStyleSheetsOwnings.get(nodeID);\n if (!pastOwning) {\n pastOwning = [];\n }\n const nowOwning = [];\n const styleSheets = root.adoptedStyleSheets;\n for (const s of styleSheets) {\n let sheetID = styleSheetIDMap.get(s);\n const init = !sheetID;\n if (!sheetID) {\n sheetID = nextID();\n styleSheetIDMap.set(s, sheetID);\n }\n if (!pastOwning.includes(sheetID)) {\n app.send(AdoptedSSAddOwner(sheetID, nodeID));\n }\n if (init) {\n const rules = s.cssRules;\n for (let i = 0; i < rules.length; i++) {\n app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()));\n }\n }\n nowOwning.push(sheetID);\n }\n for (const sheetID of pastOwning) {\n if (!nowOwning.includes(sheetID)) {\n app.send(AdoptedSSRemoveOwner(sheetID, nodeID));\n }\n }\n adoptedStyleSheetsOwnings.set(nodeID, nowOwning);\n }, 20); // Misterious bug:\n /* On the page https://explore.fast.design/components/fast-accordion\n the only rule inside the only adoptedStyleSheet of the iframe-s document\n gets changed during first milliseconds after the load.\n Howerer, none of the documented methods (replace, insertRule) is triggered.\n The rule is not substituted (remains the same object), however the text gets changed.\n */\n function patchAdoptedStyleSheets(prototype) {\n const nativeAdoptedStyleSheetsDescriptor = Object.getOwnPropertyDescriptor(prototype, 'adoptedStyleSheets');\n if (nativeAdoptedStyleSheetsDescriptor) {\n Object.defineProperty(prototype, 'adoptedStyleSheets', Object.assign(Object.assign({}, nativeAdoptedStyleSheetsDescriptor), { set: function (value) {\n // @ts-ignore\n const retVal = nativeAdoptedStyleSheetsDescriptor.set.call(this, value);\n sendAdoptedStyleSheetsUpdate(this);\n return retVal;\n } }));\n }\n }\n const patchContext = (context) => {\n // @ts-ignore\n if (context.__openreplay_adpss_patched__) {\n return;\n }\n else {\n // @ts-ignore\n context.__openreplay_adpss_patched__ = true;\n }\n patchAdoptedStyleSheets(context.Document.prototype);\n patchAdoptedStyleSheets(context.ShadowRoot.prototype);\n //@ts-ignore TODO: upgrade ts to 4.8+\n const { replace, replaceSync } = context.CSSStyleSheet.prototype;\n //@ts-ignore\n context.CSSStyleSheet.prototype.replace = function (text) {\n return replace.call(this, text).then((sheet) => {\n const sheetID = styleSheetIDMap.get(this);\n if (sheetID) {\n app.send(AdoptedSSReplaceURLBased(sheetID, text, app.getBaseHref()));\n }\n return sheet;\n });\n };\n //@ts-ignore\n context.CSSStyleSheet.prototype.replaceSync = function (text) {\n const sheetID = styleSheetIDMap.get(this);\n if (sheetID) {\n app.send(AdoptedSSReplaceURLBased(sheetID, text, app.getBaseHref()));\n }\n return replaceSync.call(this, text);\n };\n };\n patchContext(window);\n app.observer.attachContextCallback(app.safe(patchContext));\n app.attachStopCallback(() => {\n styleSheetIDMap.clear();\n adoptedStyleSheetsOwnings.clear();\n });\n // So far main Document is not triggered with nodeCallbacks\n app.attachStartCallback(() => {\n sendAdoptedStyleSheetsUpdate(document);\n });\n app.nodes.attachNodeCallback((node) => {\n if (hasAdoptedSS(node)) {\n sendAdoptedStyleSheetsUpdate(node);\n }\n });\n}\n","import App, { DEFAULT_INGEST_POINT } from './app/index.js';\nexport { default as App } from './app/index.js';\nimport { UserAnonymousID, RawCustomEvent, CustomIssue } from './app/messages.gen.js';\nimport * as _Messages from './app/messages.gen.js';\nexport const Messages = _Messages;\nexport { SanitizeLevel } from './app/sanitizer.js';\nimport Connection from './modules/connection.js';\nimport Console from './modules/console.js';\nimport Exception, { getExceptionMessageFromEvent, getExceptionMessage, } from './modules/exception.js';\nimport Img from './modules/img.js';\nimport Input from './modules/input.js';\nimport Mouse from './modules/mouse.js';\nimport Timing from './modules/timing.js';\nimport Performance from './modules/performance.js';\nimport Scroll from './modules/scroll.js';\nimport Viewport from './modules/viewport.js';\nimport CSSRules from './modules/cssrules.js';\nimport Focus from './modules/focus.js';\nimport Fonts from './modules/fonts.js';\nimport ConstructedStyleSheets from './modules/constructedStyleSheets.js';\nimport { IN_BROWSER, deprecationWarn, DOCS_HOST } from './utils.js';\nconst DOCS_SETUP = '/installation/setup-or';\nfunction processOptions(obj) {\n if (obj == null) {\n console.error(`OpenReplay: invalid options argument type. Please, check documentation on ${DOCS_HOST}${DOCS_SETUP}`);\n return false;\n }\n if (typeof obj.projectKey !== 'string') {\n if (typeof obj.projectKey !== 'number') {\n if (typeof obj.projectID !== 'number') {\n // Back compatability\n console.error(`OpenReplay: projectKey is missing or wrong type (string is expected). Please, check ${DOCS_HOST}${DOCS_SETUP} for more information.`);\n return false;\n }\n else {\n obj.projectKey = obj.projectID.toString();\n deprecationWarn('`projectID` option', '`projectKey` option', DOCS_SETUP);\n }\n }\n else {\n console.warn('OpenReplay: projectKey is expected to have a string type.');\n obj.projectKey = obj.projectKey.toString();\n }\n }\n if (obj.sessionToken != null) {\n deprecationWarn('`sessionToken` option', '`sessionHash` start() option', '/');\n }\n return true;\n}\nexport default class API {\n constructor(options) {\n this.options = options;\n this.app = null;\n this.handleError = (e, metadata = {}) => {\n if (this.app === null) {\n return;\n }\n if (e instanceof Error) {\n const msg = getExceptionMessage(e, [], metadata);\n this.app.send(msg);\n }\n else if (e instanceof ErrorEvent ||\n ('PromiseRejectionEvent' in window && e instanceof PromiseRejectionEvent)) {\n const msg = getExceptionMessageFromEvent(e, undefined, metadata);\n if (msg != null) {\n this.app.send(msg);\n }\n }\n };\n if (!IN_BROWSER || !processOptions(options)) {\n return;\n }\n if (window.__OPENREPLAY__) {\n console.error('OpenReplay: one tracker instance has been initialised already');\n return;\n }\n if (!options.__DISABLE_SECURE_MODE && location.protocol !== 'https:') {\n console.error('OpenReplay: Your website must be publicly accessible and running on SSL in order for OpenReplay to properly capture and replay the user session. You can disable this check by setting `__DISABLE_SECURE_MODE` option to `true` if you are testing in localhost. Keep in mind, that asset files on a local machine are not available to the outside world. This might affect tracking if you use css files.');\n return;\n }\n const doNotTrack = options.respectDoNotTrack &&\n (navigator.doNotTrack == '1' ||\n // @ts-ignore\n window.doNotTrack == '1');\n const app = (this.app =\n doNotTrack ||\n !('Map' in window) ||\n !('Set' in window) ||\n !('MutationObserver' in window) ||\n !('performance' in window) ||\n !('timing' in performance) ||\n !('startsWith' in String.prototype) ||\n !('Blob' in window) ||\n !('Worker' in window)\n ? null\n : new App(options.projectKey, options.sessionToken, options));\n if (app !== null) {\n Viewport(app);\n CSSRules(app);\n ConstructedStyleSheets(app);\n Connection(app);\n Console(app, options);\n Exception(app, options);\n Img(app);\n Input(app, options);\n Mouse(app);\n Timing(app, options);\n Performance(app, options);\n Scroll(app);\n Focus(app);\n Fonts(app);\n window.__OPENREPLAY__ = this;\n if (options.autoResetOnWindowOpen) {\n const wOpen = window.open;\n app.attachStartCallback(() => {\n // @ts-ignore ?\n window.open = function (...args) {\n app.resetNextPageSession(true);\n wOpen.call(window, ...args);\n app.resetNextPageSession(false);\n };\n });\n app.attachStopCallback(() => {\n window.open = wOpen;\n });\n }\n }\n else {\n console.log(\"OpenReplay: browser doesn't support API required for tracking or doNotTrack is set to 1.\");\n const req = new XMLHttpRequest();\n const orig = options.ingestPoint || DEFAULT_INGEST_POINT;\n req.open('POST', orig + '/v1/web/not-started');\n // no-cors issue only with text/plain or not-set Content-Type\n // req.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\n req.send(JSON.stringify({\n trackerVersion: '4.1.11',\n projectKey: options.projectKey,\n doNotTrack,\n // TODO: add precise reason (an exact API missing)\n }));\n }\n }\n use(fn) {\n return fn(this.app, this.options);\n }\n isActive() {\n if (this.app === null) {\n return false;\n }\n return this.app.active();\n }\n start(startOpts) {\n if (!IN_BROWSER) {\n console.error(`OpenReplay: you are trying to start Tracker on a node.js environment. If you want to use OpenReplay with SSR, please, use componentDidMount or useEffect API for placing the \\`tracker.start()\\` line. Check documentation on ${DOCS_HOST}${DOCS_SETUP}`);\n return Promise.reject('Trying to start not in browser.');\n }\n if (this.app === null) {\n return Promise.reject(\"Browser doesn't support required api, or doNotTrack is active.\");\n }\n // TODO: check argument type\n return this.app.start(startOpts);\n }\n stop() {\n if (this.app === null) {\n return;\n }\n this.app.stop();\n return this.app.session.getSessionHash();\n }\n getSessionToken() {\n if (this.app === null) {\n return null;\n }\n return this.app.getSessionToken();\n }\n getSessionID() {\n if (this.app === null) {\n return null;\n }\n return this.app.getSessionID();\n }\n sessionID() {\n deprecationWarn(\"'sessionID' method\", \"'getSessionID' method\", '/');\n return this.getSessionID();\n }\n getSessionURL() {\n if (this.app === null) {\n return undefined;\n }\n return this.app.getSessionURL();\n }\n setUserID(id) {\n if (typeof id === 'string' && this.app !== null) {\n this.app.session.setUserID(id);\n }\n }\n userID(id) {\n deprecationWarn(\"'userID' method\", \"'setUserID' method\", '/');\n this.setUserID(id);\n }\n setUserAnonymousID(id) {\n if (typeof id === 'string' && this.app !== null) {\n this.app.send(UserAnonymousID(id));\n }\n }\n userAnonymousID(id) {\n deprecationWarn(\"'userAnonymousID' method\", \"'setUserAnonymousID' method\", '/');\n this.setUserAnonymousID(id);\n }\n setMetadata(key, value) {\n if (typeof key === 'string' && typeof value === 'string' && this.app !== null) {\n this.app.session.setMetadata(key, value);\n }\n }\n metadata(key, value) {\n deprecationWarn(\"'metadata' method\", \"'setMetadata' method\", '/');\n this.setMetadata(key, value);\n }\n event(key, payload = null, issue = false) {\n if (typeof key === 'string' && this.app !== null) {\n if (issue) {\n return this.issue(key, payload);\n }\n else {\n try {\n payload = JSON.stringify(payload);\n }\n catch (e) {\n return;\n }\n this.app.send(RawCustomEvent(key, payload));\n }\n }\n }\n issue(key, payload = null) {\n if (typeof key === 'string' && this.app !== null) {\n try {\n payload = JSON.stringify(payload);\n }\n catch (e) {\n return;\n }\n this.app.send(CustomIssue(key, payload));\n }\n }\n}\n","import { getTimeOrigin } from '../utils.js';\nimport { SetPageLocation, SetViewportSize, SetPageVisibility } from '../app/messages.gen.js';\nexport default function (app) {\n let url, width, height;\n let navigationStart;\n const sendSetPageLocation = app.safe(() => {\n const { URL } = document;\n if (URL !== url) {\n url = URL;\n app.send(SetPageLocation(url, document.referrer, navigationStart));\n navigationStart = 0;\n }\n });\n const sendSetViewportSize = app.safe(() => {\n const { innerWidth, innerHeight } = window;\n if (innerWidth !== width || innerHeight !== height) {\n width = innerWidth;\n height = innerHeight;\n app.send(SetViewportSize(width, height));\n }\n });\n const sendSetPageVisibility = document.hidden === undefined\n ? Function.prototype\n : app.safe(() => app.send(SetPageVisibility(document.hidden)));\n app.attachStartCallback(() => {\n url = '';\n navigationStart = getTimeOrigin();\n width = height = -1;\n sendSetPageLocation();\n sendSetViewportSize();\n sendSetPageVisibility();\n });\n if (document.hidden !== undefined) {\n app.attachEventListener(document, 'visibilitychange', sendSetPageVisibility, false, false);\n }\n app.ticker.attach(sendSetPageLocation, 1, false);\n app.ticker.attach(sendSetViewportSize, 5, false);\n}\n","import { AdoptedSSInsertRuleURLBased, // TODO: rename to common StyleSheet names\nAdoptedSSDeleteRule, AdoptedSSAddOwner, TechnicalInfo, } from '../app/messages.gen.js';\nimport { hasTag } from '../app/guards.js';\nimport { nextID, styleSheetIDMap } from './constructedStyleSheets.js';\nexport default function (app) {\n if (app === null) {\n return;\n }\n if (!window.CSSStyleSheet) {\n app.send(TechnicalInfo('no_stylesheet_prototype_in_window', ''));\n return;\n }\n const sendInsertDeleteRule = app.safe((sheet, index, rule) => {\n const sheetID = styleSheetIDMap.get(sheet);\n if (!sheetID) {\n // OK-case. Sheet haven't been registered yet. Rules will be sent on registration.\n return;\n }\n if (typeof rule === 'string') {\n app.send(AdoptedSSInsertRuleURLBased(sheetID, rule, index, app.getBaseHref()));\n }\n else {\n app.send(AdoptedSSDeleteRule(sheetID, index));\n }\n });\n // TODO: proper rule insertion/removal (how?)\n const sendReplaceGroupingRule = app.safe((rule) => {\n let topmostRule = rule;\n while (topmostRule.parentRule) {\n topmostRule = topmostRule.parentRule;\n }\n const sheet = topmostRule.parentStyleSheet;\n if (!sheet) {\n app.debug.warn('No parent StyleSheet found for', topmostRule, rule);\n return;\n }\n const sheetID = styleSheetIDMap.get(sheet);\n if (!sheetID) {\n app.debug.warn('No sheedID found for', sheet, styleSheetIDMap);\n return;\n }\n const cssText = topmostRule.cssText;\n const ruleList = sheet.cssRules;\n const idx = Array.from(ruleList).indexOf(topmostRule);\n if (idx >= 0) {\n app.send(AdoptedSSInsertRuleURLBased(sheetID, cssText, idx, app.getBaseHref()));\n app.send(AdoptedSSDeleteRule(sheetID, idx + 1)); // Remove previous clone\n }\n else {\n app.debug.warn('Rule index not found in', sheet, topmostRule);\n }\n });\n const patchContext = app.safe((context) => {\n const { insertRule, deleteRule } = context.CSSStyleSheet.prototype;\n const { insertRule: groupInsertRule, deleteRule: groupDeleteRule } = context.CSSGroupingRule.prototype;\n context.CSSStyleSheet.prototype.insertRule = function (rule, index = 0) {\n sendInsertDeleteRule(this, index, rule);\n return insertRule.call(this, rule, index);\n };\n context.CSSStyleSheet.prototype.deleteRule = function (index) {\n sendInsertDeleteRule(this, index);\n return deleteRule.call(this, index);\n };\n context.CSSGroupingRule.prototype.insertRule = function (rule, index = 0) {\n const result = groupInsertRule.call(this, rule, index);\n sendReplaceGroupingRule(this);\n return result;\n };\n context.CSSGroupingRule.prototype.deleteRule = function (index = 0) {\n const result = groupDeleteRule.call(this, index);\n sendReplaceGroupingRule(this);\n return result;\n };\n });\n patchContext(window);\n app.observer.attachContextCallback(patchContext);\n app.nodes.attachNodeCallback((node) => {\n if (!(hasTag(node, 'STYLE') || hasTag(node, 'style')) || !node.sheet) {\n return;\n }\n if (node.textContent !== null && node.textContent.trim().length > 0) {\n return; // Non-virtual styles captured by the observer as a text\n }\n const nodeID = app.nodes.getID(node);\n if (!nodeID) {\n return;\n }\n const sheet = node.sheet;\n const sheetID = nextID();\n styleSheetIDMap.set(sheet, sheetID);\n app.send(AdoptedSSAddOwner(sheetID, nodeID));\n const rules = sheet.cssRules;\n for (let i = 0; i < rules.length; i++) {\n sendInsertDeleteRule(sheet, i, rules[i].cssText);\n }\n });\n}\n","import { ConnectionInformation } from '../app/messages.gen.js';\nexport default function (app) {\n const connection = navigator.connection ||\n navigator.mozConnection ||\n navigator.webkitConnection;\n if (connection === undefined) {\n return;\n }\n const sendConnectionInformation = () => app.send(ConnectionInformation(Math.round(connection.downlink * 1000), connection.type || 'unknown'));\n sendConnectionInformation();\n connection.addEventListener('change', sendConnectionInformation);\n}\n","import { hasTag } from '../app/guards.js';\nimport { isURL } from '../utils.js';\nimport { ResourceTiming, PageLoadTiming, PageRenderTiming } from '../app/messages.gen.js';\nfunction getPaintBlocks(resources) {\n const paintBlocks = [];\n const elements = document.getElementsByTagName('*');\n const styleURL = /url\\((\"[^\"]*\"|'[^']*'|[^)]*)\\)/i;\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n let src = '';\n if (hasTag(element, 'IMG')) {\n src = element.currentSrc || element.src;\n }\n if (!src) {\n const backgroundImage = getComputedStyle(element).getPropertyValue('background-image');\n if (backgroundImage) {\n const matches = styleURL.exec(backgroundImage);\n if (matches !== null) {\n src = matches[1];\n if (src.startsWith('\"') || src.startsWith(\"'\")) {\n src = src.substr(1, src.length - 2);\n }\n }\n }\n }\n if (!src)\n continue;\n const time = src.substr(0, 10) === 'data:image' ? 0 : resources[src];\n if (time === undefined)\n continue;\n const rect = element.getBoundingClientRect();\n const top = Math.max(rect.top, 0);\n const left = Math.max(rect.left, 0);\n const bottom = Math.min(rect.bottom, window.innerHeight ||\n (document.documentElement && document.documentElement.clientHeight) ||\n 0);\n const right = Math.min(rect.right, window.innerWidth || (document.documentElement && document.documentElement.clientWidth) || 0);\n if (bottom <= top || right <= left)\n continue;\n const area = (bottom - top) * (right - left);\n paintBlocks.push({ time, area });\n }\n return paintBlocks;\n}\nfunction calculateSpeedIndex(firstContentfulPaint, paintBlocks) {\n let a = (Math.max((document.documentElement && document.documentElement.clientWidth) || 0, window.innerWidth || 0) *\n Math.max((document.documentElement && document.documentElement.clientHeight) || 0, window.innerHeight || 0)) /\n 10;\n let s = a * firstContentfulPaint;\n for (let i = 0; i < paintBlocks.length; i++) {\n const { time, area } = paintBlocks[i];\n a += area;\n s += area * (time > firstContentfulPaint ? time : firstContentfulPaint);\n }\n return a === 0 ? 0 : s / a;\n}\nexport default function (app, opts) {\n const options = Object.assign({\n captureResourceTimings: true,\n capturePageLoadTimings: true,\n capturePageRenderTimings: true,\n }, opts);\n if (!('PerformanceObserver' in window)) {\n options.captureResourceTimings = false;\n }\n if (!options.captureResourceTimings) {\n return;\n } // Resources are necessary for all timings\n let resources = {};\n function resourceTiming(entry) {\n if (entry.duration < 0 || !isURL(entry.name) || app.isServiceURL(entry.name))\n return;\n if (resources !== null) {\n resources[entry.name] = entry.startTime + entry.duration;\n }\n app.send(ResourceTiming(entry.startTime + performance.timing.navigationStart, entry.duration, entry.responseStart && entry.startTime ? entry.responseStart - entry.startTime : 0, entry.transferSize > entry.encodedBodySize ? entry.transferSize - entry.encodedBodySize : 0, entry.encodedBodySize || 0, entry.decodedBodySize || 0, entry.name, entry.initiatorType));\n }\n const observer = new PerformanceObserver((list) => list.getEntries().forEach(resourceTiming));\n let prevSessionID;\n app.attachStartCallback(function ({ sessionID }) {\n if (sessionID !== prevSessionID) {\n // Send past page resources on a newly started session\n performance.getEntriesByType('resource').forEach(resourceTiming);\n prevSessionID = sessionID;\n }\n observer.observe({ entryTypes: ['resource'] });\n });\n app.attachStopCallback(function () {\n observer.disconnect();\n });\n let firstPaint = 0, firstContentfulPaint = 0;\n if (options.capturePageLoadTimings) {\n let pageLoadTimingSent = false;\n app.ticker.attach(() => {\n if (pageLoadTimingSent) {\n return;\n }\n if (firstPaint === 0 || firstContentfulPaint === 0) {\n performance.getEntriesByType('paint').forEach((entry) => {\n const { name, startTime } = entry;\n switch (name) {\n case 'first-paint':\n firstPaint = startTime;\n break;\n case 'first-contentful-paint':\n firstContentfulPaint = startTime;\n break;\n }\n });\n }\n if (performance.timing.loadEventEnd || performance.now() > 30000) {\n pageLoadTimingSent = true;\n const { navigationStart, requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, } = performance.timing;\n app.send(PageLoadTiming(requestStart - navigationStart || 0, responseStart - navigationStart || 0, responseEnd - navigationStart || 0, domContentLoadedEventStart - navigationStart || 0, domContentLoadedEventEnd - navigationStart || 0, loadEventStart - navigationStart || 0, loadEventEnd - navigationStart || 0, firstPaint, firstContentfulPaint));\n }\n }, 30);\n }\n if (options.capturePageRenderTimings) {\n let visuallyComplete = 0, interactiveWindowStartTime = 0, interactiveWindowTickTime = 0, paintBlocks = null;\n let pageRenderTimingSent = false;\n app.ticker.attach(() => {\n if (pageRenderTimingSent) {\n return;\n }\n const time = performance.now();\n if (resources !== null) {\n visuallyComplete = Math.max.apply(null, Object.keys(resources).map((k) => resources[k]));\n if (time - visuallyComplete > 1000) {\n paintBlocks = getPaintBlocks(resources);\n resources = null;\n }\n }\n if (interactiveWindowTickTime !== null) {\n if (time - interactiveWindowTickTime > 50) {\n interactiveWindowStartTime = time;\n }\n interactiveWindowTickTime = time - interactiveWindowStartTime > 5000 ? null : time;\n }\n if ((paintBlocks !== null && interactiveWindowTickTime === null) || time > 30000) {\n pageRenderTimingSent = true;\n resources = null;\n const speedIndex = paintBlocks === null\n ? 0\n : calculateSpeedIndex(firstContentfulPaint || firstPaint, paintBlocks);\n const { domContentLoadedEventEnd, navigationStart } = performance.timing;\n const timeToInteractive = interactiveWindowTickTime === null\n ? Math.max(interactiveWindowStartTime, firstContentfulPaint, domContentLoadedEventEnd - navigationStart || 0)\n : 0;\n app.send(PageRenderTiming(speedIndex, firstContentfulPaint > visuallyComplete ? firstContentfulPaint : visuallyComplete, timeToInteractive));\n }\n });\n }\n}\n","import { isNode, hasTag } from '../app/guards.js';\nimport { SetNodeFocus } from '../app/messages.gen.js';\nexport default function (app) {\n function sendSetNodeFocus(n) {\n const id = app.nodes.getID(n);\n if (id !== undefined) {\n app.send(SetNodeFocus(id));\n }\n }\n let blurred = false;\n app.nodes.attachNodeCallback((node) => {\n if (!hasTag(node, 'BODY')) {\n return;\n }\n app.nodes.attachNodeListener(node, 'focus', (e) => {\n if (!isNode(e.target)) {\n return;\n }\n sendSetNodeFocus(e.target);\n blurred = false;\n });\n app.nodes.attachNodeListener(node, 'blur', (e) => {\n if (e.relatedTarget === null) {\n blurred = true;\n setTimeout(() => {\n if (blurred) {\n app.send(SetNodeFocus(-1));\n }\n }, 0);\n }\n });\n });\n app.attachStartCallback(() => {\n let elem = document.activeElement;\n while (elem && hasTag(elem, 'IFRAME') && elem.contentDocument) {\n elem = elem.contentDocument.activeElement;\n }\n if (elem && elem !== elem.ownerDocument.body) {\n sendSetNodeFocus(elem);\n }\n }, true);\n}\n","import { isDocument } from '../app/guards.js';\nimport { LoadFontFace } from '../app/messages.gen.js';\nexport default function (app) {\n if (!window.FontFace) {\n return;\n }\n const docFonts = new Map();\n const patchWindow = (wnd) => {\n class FontFaceInterceptor extends wnd.FontFace {\n constructor(...args) {\n //maybe do this on load(). In this case check if the document.fonts.load(...) function calls the font's load()\n if (typeof args[1] === 'string') {\n let desc = '';\n if (args[2]) {\n app.safe(() => {\n desc = JSON.stringify(args[2]);\n });\n }\n const ffData = [args[0], args[1], desc];\n const ffDataArr = docFonts.get(wnd.document) || [];\n ffDataArr.push(ffData);\n docFonts.set(wnd.document, ffDataArr);\n const parentID = wnd === window ? 0 : app.nodes.getID(wnd.document);\n if (parentID === undefined) {\n return;\n }\n if (app.active()) {\n app.send(LoadFontFace(parentID, ...ffData));\n }\n }\n super(...args);\n }\n }\n wnd.FontFace = FontFaceInterceptor;\n };\n app.observer.attachContextCallback(patchWindow);\n patchWindow(window);\n app.nodes.attachNodeCallback((node) => {\n if (!isDocument(node)) {\n return;\n }\n const ffDataArr = docFonts.get(node);\n if (!ffDataArr) {\n return;\n }\n const parentID = node.defaultView === window ? 0 : app.nodes.getID(node);\n if (parentID === undefined) {\n return;\n }\n ffDataArr.forEach((ffData) => {\n app.send(LoadFontFace(parentID, ...ffData));\n });\n });\n}\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Injectable, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpRequest } from '@angular/common/http';\nimport * as i1$1 from '@ng-idle/core';\nimport { KeepaliveSvc, NgIdleModule } from '@ng-idle/core';\n\n/**\n * An example of an injectable service.\n */\nclass Keepalive extends KeepaliveSvc {\n /*\n * Initializes a new instance of Keepalive\n * @param http - The HTTP service.\n */\n constructor(http, zone) {\n super();\n this.http = http;\n this.zone = zone;\n this.pingInterval = 10 * 60;\n /*\n * An event emitted when the service is pinging.\n */\n this.onPing = new EventEmitter();\n /*\n * An event emitted when the service has pinged an HTTP endpoint and received a response.\n */\n this.onPingResponse = new EventEmitter();\n }\n /*\n * Sets the string or Request that should be used when pinging.\n * @param url - The URL or Request object to use when pinging.\n * @return The current Request used when pinging.\n */\n request(url) {\n if (typeof url === 'string') {\n this.pingRequest = new HttpRequest('GET', url);\n }\n else if (url instanceof HttpRequest) {\n this.pingRequest = url;\n }\n else if (url === null) {\n this.pingRequest = null;\n }\n return this.pingRequest;\n }\n /*\n * Sets the interval (in seconds) at which the ping operation will occur when start() is called.\n * @param seconds - The ping interval in seconds.\n * @return The current interval value.\n */\n interval(seconds) {\n if (!isNaN(seconds) && seconds > 0) {\n this.pingInterval = seconds;\n }\n else if (!isNaN(seconds) && seconds <= 0) {\n throw new Error('Interval value must be greater than zero.');\n }\n return this.pingInterval;\n }\n /*\n * Immediately performs the ping operation. If a request has been set, an HTTP\n * request will be made and the response will be emitted via the\n * onPingResponse event.\n */\n ping() {\n this.onPing.emit(null);\n if (this.pingRequest) {\n this.http.request(this.pingRequest).subscribe((response) => {\n this.onPingResponse.emit(response);\n }, (error) => {\n this.onPingResponse.emit(error);\n });\n }\n }\n /*\n * Starts pinging on an interval.\n */\n start() {\n this.stop();\n this.zone.runOutsideAngular(() => {\n this.pingHandle = setInterval(() => {\n this.zone.run(() => {\n this.ping();\n });\n }, this.pingInterval * 1000);\n });\n }\n /*\n * Stops pinging on an interval.\n */\n stop() {\n if (this.hasPingHandle()) {\n clearInterval(this.pingHandle);\n this.pingHandle = null;\n }\n }\n /*\n * Performs any cleanup tasks when Angular destroys the instance.\n */\n ngOnDestroy() {\n this.stop();\n }\n /*\n * Returns whether or not the service will ping automatically at the specified interval.\n * @return True if the service will ping at the specified interval; otherwise, false.\n */\n isRunning() {\n return this.hasPingHandle();\n }\n hasPingHandle() {\n return this.pingHandle !== null && typeof this.pingHandle !== 'undefined';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Keepalive, deps: [{ token: i1.HttpClient }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Keepalive }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Keepalive, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.NgZone }]; } });\n\nclass NgIdleKeepaliveModule {\n static forRoot() {\n return {\n ngModule: NgIdleKeepaliveModule,\n providers: [Keepalive, { provide: KeepaliveSvc, useExisting: Keepalive }]\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, imports: [i1$1.NgIdleModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, imports: [NgIdleModule.forRoot()] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, decorators: [{\n type: NgModule,\n args: [{ imports: [NgIdleModule.forRoot()] }]\n }] });\n\n/*\n * Public API Surface of keepalive\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Keepalive, NgIdleKeepaliveModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, Optional, Inject, NgModule, makeEnvironmentProviders } from '@angular/core';\n\nconst GoogleTagManagerConfigService = new InjectionToken('google-tag-manager-config');\n// adapted from https://github.com/auth0/auth0-angular#dynamic-configuration\nclass GoogleTagManagerConfiguration {\n constructor(googleTagManagerConfig) {\n this._googleTagManagerConfig = {\n id: null,\n gtm_auth: '',\n gtm_preview: '',\n };\n if (googleTagManagerConfig) {\n this.set(googleTagManagerConfig);\n }\n }\n set(googleTagManagerConfig) {\n this._googleTagManagerConfig = googleTagManagerConfig;\n }\n get() {\n return this._googleTagManagerConfig;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerConfiguration, deps: [{ token: GoogleTagManagerConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerConfiguration, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerConfiguration, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [GoogleTagManagerConfigService]\n }] }] });\n\nclass GoogleTagManagerModule {\n static forRoot(config) {\n return {\n ngModule: GoogleTagManagerModule,\n providers: [{ provide: GoogleTagManagerConfigService, useValue: config }],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule, decorators: [{\n type: NgModule\n }] });\n\nfunction provideGoogleTagManager(config) {\n return makeEnvironmentProviders([\n { provide: 'googleTagManagerId', useValue: config.id },\n { provide: 'googleTagManagerAuth', useValue: config.gtm_auth },\n { provide: 'googleTagManagerPreview', useValue: config.gtm_preview },\n {\n provide: 'googleTagManagerResourcePath',\n useValue: config.gtm_resource_path,\n },\n { provide: 'googleTagManagerCSPNonce', useValue: config.gtm_csp_none },\n { provide: 'googleTagManagerMode', useValue: config.gtm_mode },\n ]);\n}\n\nclass GoogleTagManagerService {\n constructor(googleTagManagerConfiguration, googleTagManagerId, googleTagManagerMode = \"noisy\", googleTagManagerAuth, googleTagManagerPreview, googleTagManagerResourcePath, googleTagManagerCSPNonce) {\n this.googleTagManagerConfiguration = googleTagManagerConfiguration;\n this.googleTagManagerId = googleTagManagerId;\n this.googleTagManagerMode = googleTagManagerMode;\n this.googleTagManagerAuth = googleTagManagerAuth;\n this.googleTagManagerPreview = googleTagManagerPreview;\n this.googleTagManagerResourcePath = googleTagManagerResourcePath;\n this.googleTagManagerCSPNonce = googleTagManagerCSPNonce;\n this.isLoaded = false;\n this.browserGlobals = {\n windowRef() {\n return window;\n },\n documentRef() {\n return document;\n },\n };\n this.config = this.googleTagManagerConfiguration?.get();\n if (this.config == null) {\n this.config = { id: null };\n }\n this.config = {\n ...this.config,\n id: googleTagManagerId || this.config.id,\n gtm_auth: googleTagManagerAuth || this.config.gtm_auth,\n gtm_preview: googleTagManagerPreview || this.config.gtm_preview,\n gtm_resource_path: googleTagManagerResourcePath || this.config.gtm_resource_path,\n };\n if (this.config.id == null) {\n return;\n }\n }\n checkForId() {\n if (this.googleTagManagerMode !== \"silent\" && !this.config.id) {\n throw new Error('Google tag manager ID not provided.');\n }\n else if (!this.config.id) {\n return false;\n }\n return true;\n }\n getDataLayer() {\n this.checkForId();\n const window = this.browserGlobals.windowRef();\n window.dataLayer = window.dataLayer || [];\n return window.dataLayer;\n }\n pushOnDataLayer(obj) {\n this.checkForId();\n const dataLayer = this.getDataLayer();\n dataLayer.push(obj);\n }\n addGtmToDom() {\n return new Promise((resolve, reject) => {\n if (this.isLoaded) {\n return resolve(this.isLoaded);\n }\n else if (!this.checkForId()) {\n return resolve(false);\n }\n const doc = this.browserGlobals.documentRef();\n this.pushOnDataLayer({\n 'gtm.start': new Date().getTime(),\n event: 'gtm.js',\n });\n const gtmScript = doc.createElement('script');\n gtmScript.id = 'GTMscript';\n gtmScript.async = true;\n gtmScript.src = this.applyGtmQueryParams(this.config.gtm_resource_path\n ? this.config.gtm_resource_path\n : 'https://www.googletagmanager.com/gtm.js');\n gtmScript.addEventListener('load', () => {\n return resolve((this.isLoaded = true));\n });\n gtmScript.addEventListener('error', () => {\n return reject(false);\n });\n if (this.googleTagManagerCSPNonce) {\n gtmScript.setAttribute('nonce', this.googleTagManagerCSPNonce);\n }\n doc.head.insertBefore(gtmScript, doc.head.firstChild);\n });\n }\n pushTag(item) {\n return new Promise((resolve, reject) => {\n if (!this.checkForId()) {\n return resolve();\n }\n if (!this.isLoaded) {\n this.addGtmToDom()\n .then(() => {\n this.pushOnDataLayer(item);\n return resolve();\n })\n .catch(() => reject());\n }\n else {\n this.pushOnDataLayer(item);\n return resolve();\n }\n });\n }\n applyGtmQueryParams(url) {\n if (url.indexOf('?') === -1) {\n url += '?';\n }\n return (url +\n Object.keys(this.config)\n .filter((k) => this.config[k])\n .map((k) => `${k}=${this.config[k]}`)\n .join('&'));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerService, deps: [{ token: GoogleTagManagerConfiguration, optional: true }, { token: 'googleTagManagerId', optional: true }, { token: 'googleTagManagerMode', optional: true }, { token: 'googleTagManagerAuth', optional: true }, { token: 'googleTagManagerPreview', optional: true }, { token: 'googleTagManagerResourcePath', optional: true }, { token: 'googleTagManagerCSPNonce', optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: GoogleTagManagerConfiguration, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [GoogleTagManagerConfiguration]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerId']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerMode']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerAuth']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerPreview']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerResourcePath']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerCSPNonce']\n }] }] });\n\n/*\n * Public API Surface of angular-google-tag-manager\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { GoogleTagManagerConfigService, GoogleTagManagerConfiguration, GoogleTagManagerModule, GoogleTagManagerService, provideGoogleTagManager };\n","import { Injectable, NgZone } from \"@angular/core\";\nimport { AuthService } from \"./auth/auth.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InactivityService {\n private timeoutId: any;\n private readonly inactivityTime = 20 * 60 * 1000;\n\n constructor(\n private readonly ngZone: NgZone,\n private readonly authService: AuthService,\n ) { }\n\n public setupActivityListeners() {\n ['mousemove', 'keydown', 'click', 'touchstart', 'touchmove'].forEach(event => {\n window.addEventListener(event, () => this.resetTimer());\n });\n this.resetTimer();\n }\n\n private resetTimer() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n this.ngZone.runOutsideAngular(() => {\n this.timeoutId = setTimeout(() => this.signOut(), this.inactivityTime);\n });\n }\n\n private signOut() {\n this.authService._manager.signoutSilent();\n }\n}","\n \n\n\n\n
\n
\n
\n \n
\n
\n
\n","import { DOCUMENT } from \"@angular/common\";\nimport { Component, Inject, OnInit, Renderer2 } from \"@angular/core\";\nimport { Title } from \"@angular/platform-browser\";\nimport { NavigationEnd, NavigationStart } from \"@angular/router\";\nimport { select } from \"@ngrx/store\";\nimport * as _ from \"lodash\";\nimport { AppSelector } from \"./@store/selectors/app.selectors\";\nimport { StsSelectors } from \"./@store/selectors/sts.selectors\";\nimport { MonitoringService } from \"./services/apm.service\";\nimport { filter, take, tap, withLatestFrom, map, mergeAll } from \"rxjs/operators\";\nimport { combineLatest, fromEvent, Observable } from \"rxjs\";\nimport { claimValues, EBodyClass, EPageTitle, GTM_PLACEHOLDER_VALUE } from \"./appsettings\";\nimport { AuthService } from \"./services/auth/auth.service\";\nimport { getRedirectUrl, isPrivateRoute, trimUrl } from \"./utils/common.utils\";\nimport { LoggerService } from \"./services/logger.service\";\nimport { EStorageKeys } from \"./models/storage.model\";\nimport { Idle, DEFAULT_INTERRUPTSOURCES, AutoResume } from \"@ng-idle/core\";\nimport { Keepalive } from \"@ng-idle/keepalive\";\nimport OpenReplay from \"@openreplay/tracker\";\nimport { GoogleTagManagerService } from \"angular-google-tag-manager\";\nimport { AppCommonServices } from \"./app-common.services\";\nimport { InactivityService } from \"./services/inactivity.service\";\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.scss\"],\n providers: [MonitoringService],\n})\nexport class AppComponent implements OnInit {\n private prevurl: string;\n private store = this.commonService.store;\n private config = this.commonService.config;\n private router = this.commonService.router;\n private transloco = this.commonService.transloco;\n\n tracker: OpenReplay;\n\n isLangLoading$: Observable;\n imgs = new Array();\n forceMFA$ = this.store.pipe(select(StsSelectors.isMFARequired));\n useNewNav$: Observable = this.store.pipe(select(StsSelectors.useNewNav));\n isFiTenant$ = this.store.pipe(select(StsSelectors.isFITenant));\n\n constructor(\n @Inject(DOCUMENT) private document,\n private renderer2: Renderer2,\n private commonService: AppCommonServices,\n private title: Title,\n private auth: AuthService,\n private loggerService: LoggerService,\n private idle: Idle,\n private keepalive: Keepalive,\n private gtmService: GoogleTagManagerService,\n private readonly inactivityService: InactivityService,\n ) {\n this.setPageClass(this.renderer2);\n this.setTitle(this.renderer2);\n this._fetchFreshToken();\n\n // enable idleTimer in EE and DK\n this.config.envConfig$\n .pipe(\n filter((v) => !!v),\n take(1),\n withLatestFrom(\n this.store.pipe(select(StsSelectors.isEstoniaInstance)),\n this.store.pipe(select(StsSelectors.useNewUI))\n ),\n tap(([config, isEE, isNewUI]) => {\n if (isEE) {\n const idleTimeTemp = config.eeIdleTimeOutInSeconds || 900;\n const idleTime = Number(idleTimeTemp);\n\n this.loggerService.log({ idleTime });\n this._enableIdleTimer(idleTime);\n }\n\n if (isNewUI) {\n this.subscribeToLangChanges();\n }\n this.setCountries();\n })\n )\n .subscribe();\n\n this.config.envConfig$\n .pipe(\n filter((v) => !!v && v.EnableGoogleTag.toLowerCase() == claimValues.TRUE),\n take(1)\n )\n .subscribe((v) => {\n this.router.events.forEach((item) => {\n if (item instanceof NavigationEnd && this.gtmService.googleTagManagerId != GTM_PLACEHOLDER_VALUE) {\n const gtmTag = {\n event: \"page\",\n pageName: item.url,\n };\n\n this.gtmService.pushTag(gtmTag);\n }\n });\n });\n }\n\n private setCountries() {\n const changes$ = this.transloco.langChanges$;\n const authUrl: string = this.config._envConfig.BaseAuthUrl;\n // if language changes reload country dropdowns with correct active-language http header\n changes$.pipe(tap(async (locale) => await this.config.getCountries(authUrl).toPromise())).subscribe();\n }\n\n signout() {\n this.auth.startSignoutMainWindow();\n }\n\n ngOnInit() {\n this.pload(\"assets/images/spinner.gif\", \"assets/images/activation-link-used.png\", \"assets/images/success-icon.png\");\n\n // enable OpenReplay\n this.store\n .pipe(select(StsSelectors.getUserUserId))\n .pipe(\n withLatestFrom(\n this.config.envConfig$,\n this.store.pipe(select(StsSelectors.getEnableOpenReplay)),\n this.store.pipe(select(StsSelectors.getAppEnvironment))\n ),\n tap(([userId, config, openReplayEnabled, env]) => {\n this.loggerService.log({ config, openReplayEnabled, userId, env });\n if (userId) {\n const { OpenReplayProjectKey, OpenReplayIngestPoint } = config;\n this.loggerService.log({ OpenReplayProjectKey, OpenReplayIngestPoint });\n if (openReplayEnabled) {\n this.tracker = new OpenReplay({\n projectKey: OpenReplayProjectKey,\n ingestPoint: OpenReplayIngestPoint,\n });\n\n this.tracker.start({\n userID: userId,\n metadata: { environment: env },\n });\n } else {\n if (this.tracker?.isActive) {\n this.tracker.stop();\n }\n }\n }\n })\n )\n .subscribe();\n\n setTimeout(() => {\n this.isLangLoading$ = this.store.pipe(select(AppSelector.isLanguageLoading));\n }, 0);\n\n this.isFiTenant$.pipe(take(1)).subscribe((isFi) => {\n if (isFi) {\n this.inactivityService.setupActivityListeners();\n }\n });\n }\n\n pload(...args: any[]): void {\n for (let i = 0; i < args.length; i++) {\n this.imgs[i] = new Image();\n this.imgs[i].src = args[i];\n }\n }\n\n setTitle(r: Renderer2) {\n combineLatest([\n this.store.pipe(select(StsSelectors.isEstoniaInstance)),\n this.store.pipe(select(StsSelectors.isAppWhiteLabeled)),\n ])\n .pipe(\n take(1),\n tap(([isEETenant, isWhiteLabeled]) => {\n let title = EPageTitle.DEFAULT;\n if (isWhiteLabeled && isEETenant) {\n title = EPageTitle.ESTONIA;\n }\n\n this.title.setTitle(title);\n })\n )\n .subscribe();\n }\n\n setPageClass(r: Renderer2) {\n this.router.events\n .pipe(\n withLatestFrom(this.store.select(StsSelectors.getWhiteLabelName)),\n tap(([event, whiteLabelName]) => {\n // set class based on tenant name\n if (whiteLabelName) {\n r.addClass(document.body, `tenant-${_.kebabCase(whiteLabelName)}`);\n }\n\n // set body class based on route path\n if (event instanceof NavigationStart) {\n if (this.prevurl) {\n r.removeClass(document.body, this.prevurl);\n }\n let currentUrlSlug = _.kebabCase(event.url.slice(1) || \"\");\n if (currentUrlSlug) {\n r.addClass(document.body, currentUrlSlug);\n }\n this.prevurl = currentUrlSlug;\n }\n })\n )\n .subscribe();\n }\n\n private _fetchFreshToken() {\n const referrer = trimUrl(window.document?.referrer);\n const origin = window.location?.host;\n\n this.loggerService.log({ from: referrer, to: origin });\n if (referrer != origin) {\n const redirect = getRedirectUrl();\n const routes = this.router.config;\n const privateRoute = isPrivateRoute(redirect, routes);\n this.loggerService.log(\"Check if redirectURL is private route before calling startSigninMainWindow():\", {\n privateRoute,\n redirect,\n });\n\n if (privateRoute) {\n document.querySelector(\"body\").classList.add(\"signin-redirecting\");\n this.auth.signinRedirectTrigger$.next(true);\n if (redirect) {\n localStorage.setItem(EStorageKeys.REDIRECT_URL, redirect);\n }\n }\n }\n }\n\n private _enableIdleTimer(idleTimerInSeconds: number) {\n this.idle.setIdle(30); // how long can they be inactive before considered idle, in seconds\n this.idle.setTimeout(idleTimerInSeconds); // how long can they be idle before considered timed out, in seconds\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n this.idle.setAutoResume(AutoResume.idle);\n\n this.idle.onTimeout.subscribe(() => {\n this.loggerService.log({ onTimeout: true });\n this.auth\n .isLoggedInObs()\n .pipe(\n take(1),\n tap((isLoggedIn) => {\n this.loggerService.log({ isLoggedIn });\n if (isLoggedIn) {\n this.auth.startSignoutMainWindow();\n }\n })\n )\n .subscribe();\n });\n this.idle.onIdleStart.subscribe(() => this.loggerService.log(\"You've gone idle!\"));\n this.idle.onTimeoutWarning.subscribe((countdown) =>\n this.loggerService.log(\"You will time out in \" + countdown + \" seconds!\")\n );\n\n this.keepalive.interval(15);\n this.keepalive.onPing.subscribe(() => this.loggerService.log(\"User is idle!\"));\n\n // right when the component initializes, start reset state and start watching\n this.reset();\n }\n\n reset() {\n // we'll call this method when we want to start/reset the idle process\n // reset any component state and be sure to call idle.watch()\n this.idle.watch();\n }\n\n cookieBotDetailToggled = false;\n cookieBotFrame: HTMLIFrameElement;\n\n private createIframes(locale: string) {\n const iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"src\", `/assets/iframe/cookiebot-${locale}.html`);\n iframe.setAttribute(\"data-consent\", \"marketing\");\n iframe.setAttribute(\"data-locale\", locale);\n return iframe;\n }\n\n private subscribeToLangChanges() {\n const changes$ = this.transloco.langChanges$;\n const isCookieBotEnabled = (this.config._envConfig.CookieBotEnabled || \"\").toLowerCase() === \"true\";\n if (!isCookieBotEnabled) return;\n changes$\n .pipe(\n // test if consent has already been given then no need to show again.\n filter(() => !document.cookie.includes(\"CookieConsent\"))\n )\n .subscribe((locale) => {\n if (this.cookieBotFrame?.getAttribute(\"data-locale\") == locale) {\n return false;\n }\n\n if (!document.querySelector(\".cookiebot-iframes\")) {\n // creates the iframe group for each supported locale\n const iFrameContainer: HTMLDivElement = this.document.createElement(\"div\");\n iFrameContainer.classList.add(\"cookiebot-iframes\");\n const availableLocales = this.transloco.getAvailableLangs() as string[];\n availableLocales.forEach((locale: string) => iFrameContainer.appendChild(this.createIframes(locale)));\n this.document.querySelector(\"body\").appendChild(iFrameContainer);\n }\n // hide all visible iframes\n document\n .querySelectorAll(\".cookiebot-iframes iframe\")\n .forEach((el: Element) => el.classList.contains(\"visible\") && el.classList.remove(\"visible\"));\n\n this.cookieBotFrame = document.querySelector(`.cookiebot-iframes [data-locale='${locale}']`);\n\n if (this.cookieBotFrame) {\n this.cookieBotFrame.contentWindow.location.reload();\n const expandElementSelector =\n \"#CybotCookiebotDialogBodyEdgeMoreDetailsLink, #CybotCookiebotDialogBodyLevelButtonCustomize\";\n // waits for iframe to be ready, then waits for the document object to load, then wait for cookiebot to be displayed\n const onIframeReady = fromEvent(this.cookieBotFrame, \"load\").pipe(\n map(() =>\n fromEvent(this.cookieBotFrame.contentWindow, \"load\").pipe(\n map(() => fromEvent(this.cookieBotFrame.contentWindow, \"CookiebotOnDialogDisplay\"))\n )\n )\n );\n const onMoreDetails = onIframeReady.pipe(\n mergeAll(),\n map(() =>\n fromEvent(this.cookieBotFrame.contentWindow.document.querySelectorAll(expandElementSelector), \"click\")\n )\n );\n const onAcceptClick = onIframeReady.pipe(\n mergeAll(),\n map(() => fromEvent(this.cookieBotFrame.contentWindow, \"CookiebotOnAccept\"))\n );\n const onDeclineClick = onIframeReady.pipe(\n mergeAll(),\n map(() => fromEvent(this.cookieBotFrame.contentWindow, \"CookiebotOnDecline\"))\n );\n // hide the active iframe once the user accepts.\n onAcceptClick.pipe(mergeAll()).subscribe(() => {\n this.cookieBotFrame.classList.remove(\"visible\");\n });\n // hide the active iframe once the user declines.\n onDeclineClick.pipe(mergeAll()).subscribe(() => {\n this.cookieBotFrame.classList.remove(\"visible\");\n });\n // expand theh container height when more info is toggled\n onMoreDetails.pipe(mergeAll()).subscribe(() => {\n this.cookieBotFrame.style.height = \"70vh\";\n this.cookieBotDetailToggled = true;\n });\n //show only relevant cookiebot popup\n onIframeReady.pipe(mergeAll()).subscribe(() => {\n if (this.cookieBotDetailToggled)\n this.cookieBotFrame.contentWindow.document\n .getElementById(\"CybotCookiebotDialogBodyEdgeMoreDetailsLink\")\n .click();\n this.cookieBotFrame.classList.add(\"visible\");\n });\n }\n });\n }\n}\n","
\n
\n \"Ouch!\"\n
\n
\n \n {{ t(\"ouchText\") }}\n \n \n {{ t(\"noAccessMessage\") }}\n \n
\n
\n \n
\n
\n","import { Component } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-unauthorized\",\n templateUrl: \"./unauthorized.component.html\",\n styleUrls: [\"./unauthorized.component.scss\"],\n})\nexport class UnauthorizedComponent {\n constructor(private auth: AuthService) {}\n logout() {\n this.auth.startSignoutMainWindow();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UnauthorizedComponent } from '../modules/shared/unauthorized/unauthorized.component';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorHandlerService {\n\n constructor(\n private readonly matDialog: MatDialog,\n public readonly toastrService: ToastrService,\n ) { }\n\n handleError(error: any): void {\n const status = error.status || error.Status;\n const errorResponse = error.error || error.Error;\n\n // Log the error\n console.error(\"HTTP Error:\", error);\n\n // Handle specific HTTP status codes\n if (status === 401) {\n this.handleUnauthorized();\n } else if (status === 403) {\n this.handleForbidden();\n } else if (status === 404) {\n this.handleNotFound(errorResponse);\n } else if (status >= 500) {\n this.handleServerError(errorResponse);\n } else {\n this.handleGenericError(errorResponse);\n }\n }\n\n private handleNotFound(error: any): void {\n const message = error.message || error.Message;\n this.toastrService.error(message, 'Resource not found.', { timeOut: 5000 });\n }\n\n private handleServerError(error: any): void {\n const message = error.message || error.Message;\n this.toastrService.error(message, 'Server error occurred.', { timeOut: 5000 });\n }\n\n private handleGenericError(error: any): void {\n const message = error.message || error.Message;\n this.toastrService.error(message, 'An unexpected error occurred.', { timeOut: 5000 });\n }\n\n protected handleUnauthorized(): void {\n this.matDialog.open(UnauthorizedComponent, { disableClose: true });\n }\n\n protected handleForbidden(): void {\n this.matDialog.open(UnauthorizedComponent, { disableClose: true });\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from \"@angular/common/http\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { UnauthorizedComponent } from \"src/app/modules/shared/unauthorized/unauthorized.component\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { ApiService } from \"../../api/api.service\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { ErrorHandlerService } from \"../../error-handler.service\";\nimport { isNewErrorSchema } from \"src/app/utils/is-new-error-schema\";\nimport { ToastrService } from \"ngx-toastr\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class TokenInterceptor implements HttpInterceptor {\n private session = [];\n private localSession = [];\n constructor(\n private dialog: MatDialog,\n private transloco: TranslocoService,\n private api: ApiService,\n private readonly errorHandlerService: ErrorHandlerService,\n private readonly toastrService: ToastrService,\n ) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n this.session = Object.keys(sessionStorage);\n let user = null;\n let tokenJson = null;\n\n if (this.session.length) {\n user = this.session.find((key) => key.indexOf(\"oidc.user:\") > -1);\n\n if (user) tokenJson = JSON.parse(sessionStorage.getItem(user));\n }\n\n if (user == null) {\n // refer to local storage when session was not found\n // used to transfer session\n this.localSession = Object.keys(localStorage);\n\n if (this.localSession.length) {\n user = this.localSession.find((key) => key.indexOf(\"session-transfer\") > -1);\n\n if (user) {\n const userSessionToken = JSON.parse(localStorage.getItem(user));\n tokenJson = {\n access_token: userSessionToken.accessToken,\n token_type: \"Bearer\",\n };\n }\n }\n }\n\n request = request?.clone({\n // withCredentials: true,\n setHeaders: {\n Authorization: tokenJson ? `${tokenJson.token_type} ${tokenJson.access_token}` : \"\",\n \"Accept-Language\": this.getActiveLanguage(),\n },\n });\n\n return next.handle(request).pipe(\n catchError((error) => {\n const errorResponse = error.error || error.Error;\n const errorStatus = error.status || error.Status;\n\n if (isNewErrorSchema(errorResponse)) {\n this.errorHandlerService.handleError(error);\n this.toastrService.toastrConfig.preventDuplicates = true;\n\n const originalFn = this.toastrService.error;\n this.toastrService.error = (() => { }) as any;\n setTimeout(() => {\n this.toastrService.error = originalFn;\n }, 300);\n\n } else if (errorStatus === 401 || errorStatus === 403) {\n setTimeout(() => {\n this.dialog.open(UnauthorizedComponent, { disableClose: true });\n }, 1050);\n }\n return throwError(error);\n })\n );\n }\n\n private getActiveLanguage(): string {\n let activeLang = this.transloco.getActiveLang().toLowerCase();\n return this.api.formatAcceptLanguage(activeLang);\n }\n}\n","export function isNewErrorSchema(inputError: any): boolean {\n const lowerCaseErrors = (\n typeof inputError === 'object' &&\n inputError !== null &&\n 'success' in inputError &&\n 'message' in inputError &&\n 'data' in inputError &&\n 'errorCode' in inputError &&\n 'errors' in inputError\n );\n const upperCaseErrors = (\n typeof inputError === 'object' &&\n inputError !== null &&\n 'Success' in inputError &&\n 'Message' in inputError &&\n 'Data' in inputError &&\n 'ErrorCode' in inputError &&\n 'Errors' in inputError\n );\n\n return lowerCaseErrors || upperCaseErrors;\n}\n","/**\n * @license Angular v17.3.12\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, AnimationMetadataType, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode &&\n \"animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))\");\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map((err) => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map((err) => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors\n .map((err) => err.message)\n .join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode &&\n `Unable to animate due to the following errors:${LINE_START}${errors\n .map((err) => err.message)\n .join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode &&\n `Unable to build the animation due to the following errors: ${errors\n .map((err) => err.message)\n .join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && \"The requested animation doesn't exist or has already been destroyed\");\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode &&\n `Unable to create the animation due to the following errors:${errors\n .map((err) => err.message)\n .join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors\n .map((err) => err.message)\n .join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors\n .map((err) => err.message)\n .join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map((err) => err.message).join('\\n- ')}`);\n}\n\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(normalizer, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach((kf) => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue = normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, (value = defaultValue));\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nconst documentElement = /* @__PURE__ */ (() => typeof document === 'undefined' ? null : document.documentElement)();\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host || null; // consider host to support shadow DOM\n if (parent === documentElement) {\n return null;\n }\n return parent;\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? 'WebkitAppearance' in _CACHED_BODY.style : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nfunction containsElement(elm1, elm2) {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n}\nfunction invokeQuery(element, selector, multi) {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n}\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @publicApi\n *\n * `AnimationDriver` implentation for Noop animations\n */\nclass NoopAnimationDriver {\n /**\n * @returns Whether `prop` is a valid CSS property\n */\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n /**\n * @deprecated unused\n */\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n /**\n *\n * @returns Whether elm1 contains elm2.\n */\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n /**\n * @returns Rhe parent of the given element or `null` if the element is the `document`\n */\n getParentElement(element) {\n return getParentElement(element);\n }\n /**\n * @returns The result of the query selector on the element. The array will contain up to 1 item\n * if `multi` is `false`.\n */\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n /**\n * @returns The `defaultValue` or empty string\n */\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n /**\n * @returns An `NoopAnimationPlayer`\n */\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationDriver }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n /**\n * @deprecated Use the NoopAnimationDriver class.\n */\n static { this.NOOP = new NoopAnimationDriver(); }\n}\n\nclass AnimationStyleNormalizer {\n}\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration')\n ? timings\n : parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map((kf) => new Map(Object.entries(kf)));\n}\nfunction normalizeStyles(styles) {\n return Array.isArray(styles) ? new Map(...styles) : new Map(styles);\n}\nfunction setStyles(element, styles, formerStyles) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n}\nfunction eraseStyles(element, styles) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach((varName) => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while ((match = PARAM_REGEX.exec(value))) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = `${value}`;\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach((prop) => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\nconst DIMENSIONAL_PROP_SET = new Set([\n 'width',\n 'height',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'left',\n 'top',\n 'bottom',\n 'right',\n 'fontSize',\n 'outlineWidth',\n 'outlineOffset',\n 'paddingTop',\n 'paddingLeft',\n 'paddingBottom',\n 'paddingRight',\n 'marginTop',\n 'marginLeft',\n 'marginBottom',\n 'marginRight',\n 'borderRadius',\n 'borderWidth',\n 'borderTopWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'textIndent',\n 'perspective',\n]);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\n\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings\n .filter(Boolean)\n .map((warning) => warning)\n .join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\n\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue\n .split(/\\s*,\\s*/)\n .forEach((str) => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n return;\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`s*${SELF_TOKEN}s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = (visitDslNode(this, normalizeAnimationEntry(metadata), context));\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [\n ...context.unsupportedCSSPropertiesFound.keys(),\n ]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = (context.queryCount = 0);\n let depCount = (context.depCount = 0);\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach((def) => {\n this._resetContextStyleTimingState(context);\n if (def.type == AnimationMetadataType.State) {\n const stateDef = def;\n const name = stateDef.name;\n name\n .toString()\n .split(/\\s*,\\s*/)\n .forEach((n) => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == AnimationMetadataType.Transition) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: AnimationMetadataType.Trigger,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null,\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach((style) => {\n if (style instanceof Map) {\n style.forEach((value) => {\n extractStyleParams(value).forEach((sub) => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n context.errors.push(invalidState(metadata.name, [...missingSubs.values()]));\n }\n }\n return {\n type: AnimationMetadataType.State,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null,\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: AnimationMetadataType.Transition,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitSequence(metadata, context) {\n return {\n type: AnimationMetadataType.Sequence,\n steps: metadata.steps.map((s) => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map((step) => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: AnimationMetadataType.Group,\n steps,\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles\n ? metadata.styles\n : style({});\n if (styleMetadata.type == AnimationMetadataType.Keyframes) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: AnimationMetadataType.Animate,\n timings: timingAst,\n style: styleAst,\n options: null,\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(new Map(Object.entries(styleTuple)));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach((styleData) => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: AnimationMetadataType.Style,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null,\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach((tuple) => {\n if (typeof tuple === 'string')\n return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime &&\n startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, { startTime, endTime });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: AnimationMetadataType.Keyframes, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map((styles) => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : generatedOffset * i) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: AnimationMetadataType.Reference,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: AnimationMetadataType.AnimateRef,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector = parentSelector.length\n ? parentSelector + ' ' + selector\n : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: AnimationMetadataType.Query,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full'\n ? { duration: 0, delay: 0, easing: 'full' }\n : resolveTiming(metadata.timings, context.errors, true);\n return {\n type: AnimationMetadataType.Stagger,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null,\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find((token) => token == SELF_TOKEN)\n ? true\n : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector\n .replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, (match) => NG_TRIGGER_SELECTOR + '-' + match.slice(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? { ...obj } : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = new Map();\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach((styleTuple) => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n }\n else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some((v) => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = { ...options };\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline,\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, (existingInstructions = []));\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter((timeline) => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length\n ? timelines.map((timeline) => timeline.buildKeyframes())\n : [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number'\n ? animationDelay\n : resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach((instruction) => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime = Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == AnimationMetadataType.Style) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach((s) => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach((s) => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach((timeline) => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params\n ? interpolateParams(strValue, context.params, context.errors)\n : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = (context.currentAnimateTimings = this._visitTiming(ast.timings, context));\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == AnimationMetadataType.Keyframes) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = context.currentTimeline.duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach((step) => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === AnimationMetadataType.Style ||\n (startTime == 0 && context.currentTimeline.hasCurrentStyleProperties()))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n tl.currentTime - startingTime + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach((name) => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = (options['params'] = {});\n Object.keys(oldParams).forEach((name) => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: '',\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) {\n // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements =\n limit < 0\n ? elements.slice(elements.length + limit, elements.length)\n : elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this.easing = null;\n this._previousKeyframe = new Map();\n this._currentKeyframe = new Map();\n this._keyframes = new Map();\n this._styleSummary = new Map();\n this._localTimelineStyles = new Map();\n this._pendingStyles = new Map();\n this._backFill = new Map();\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, { time: this.currentTime, value });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0)\n return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = new Map([...this._backFill, ...keyframe]);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = [...preStyleProps.values()];\n const postProps = [...postStyleProps.values()];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = new Map(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = new Map(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = new Map(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach((token) => {\n if (token === '*') {\n allProperties ??= allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n }\n else {\n for (let [prop, val] of token) {\n styles.set(prop, val);\n }\n }\n });\n return styles;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors,\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = (this.ast.options && this.ast.options.params) || EMPTY_OBJECT;\n const currentAnimationParams = (currentOptions && currentOptions.params) || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = (nextOptions && nextOptions.params) || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay,\n };\n const timelines = skipAstBuild\n ? []\n : buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach((tl) => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach((tl) => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach((prop) => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach((prop) => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, [...queriedElements.values()], preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const allowedNonAnimatableProps = new Set([\n // 'easing' is a utility/synthetic prop we use to represent\n // easing functions, it represents a property of the animation\n // which is not animatable but different values can be used\n // in different steps\n 'easing',\n ]);\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({ keyframes }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach((keyframe) => {\n const entriesToCheck = Array.from(keyframe.entries()).filter(([prop]) => !allowedNonAnimatableProps.has(prop));\n for (const [prop, value] of entriesToCheck) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n }\n else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` +\n ' not animatable properties: ' +\n Array.from(invalidNonAnimatableProps).join(', ') +\n '\\n' +\n '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some((fn) => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = { ...defaults };\n Object.entries(userParams).forEach(([key, value]) => {\n if (value != null) {\n result[key] = value;\n }\n });\n return result;\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = applyParamDefaults(params, this.defaultParams);\n this.styles.styles.forEach((value) => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(prop, val);\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = new Map();\n ast.states.forEach((ast) => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach((ast) => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find((f) => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: AnimationMetadataType.Sequence, steps: [], options: null };\n const transition = {\n type: AnimationMetadataType.Transition,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0,\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n }\n else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\n\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = new Map();\n this._playersById = new Map();\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._normalizer, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach((inst) => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach((prop) => styles.set(prop, null));\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map((i) => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false,\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true,\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n get params() {\n return this.options.params;\n }\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n // we drop the value property from options.\n const { value, ...options } = input;\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach((prop) => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = new Map();\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n }\n else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, (triggersWithStates = new Map()));\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach((player) => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition,\n });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach((stateMap) => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter((entry) => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach((player) => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach((elm) => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach((ns) => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach((elm) => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach((listener) => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true,\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length\n ? engine.playersByQueriedElement.get(element)\n : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while ((parent = parent.parentNode)) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach((entry) => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach((p) => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n}\nclass TransitionAnimationEngine {\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n constructor(bodyNode, driver, _normalizer, scheduler) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.scheduler = scheduler;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach((ns) => {\n ns.players.forEach((player) => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return (this._namespaceLookup[namespaceId] = ns);\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n this.afterFlush(() => { });\n this.afterFlushAnimationsDone(() => {\n const ns = this._fetchNamespace(namespaceId);\n this.namespacesByHostElement.delete(ns.hostElement);\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n ns.destroy(context);\n delete this._namespaceLookup[namespaceId];\n });\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, context) {\n if (isElementNode(element)) {\n this.scheduler?.notify();\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues,\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach((element) => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach((element) => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach((player) => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach((player) => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise((resolve) => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach((node) => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach((fn) => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach((fn) => fn());\n });\n }\n else {\n quietFns.forEach((fn) => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach((node) => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach((node) => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver\n .query(element, STAR_SELECTOR, true)\n .forEach((elm) => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach((node) => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach((node) => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach((node) => removeClass(node, className));\n });\n allLeaveNodes.forEach((element) => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach((entry) => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach((tl) => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach((element) => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, (setVal = new Set()));\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, (setVal = new Set()));\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach((instruction) => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach((player) => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach((entry) => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach((player) => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach((prevPlayer) => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter((node) => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach((node) => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach((node) => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...(post?.entries() ?? []), ...(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach((entry) => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while ((elm = elm.parentNode)) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach((parent) => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach((player) => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach((player) => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter((p) => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach((player) => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach((player) => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter((player) => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition\n ? undefined\n : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition\n ? undefined\n : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach((player) => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map((timelineInstruction) => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY).map((p) => p.getRealPlayer())).filter((p) => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this._normalizer, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach((player) => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach((element) => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach((element) => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach((element) => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = new Map();\n this.destroyed = false;\n this.parentPlayer = null;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach((callback) => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach((element) => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach((prop) => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach((element) => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach((root) => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) {\n // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) {\n // ngIf inside ngIf\n root = NULL_NODE;\n }\n else {\n // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach((node) => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach((data) => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(doc, _driver, _normalizer, scheduler) {\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(doc.body, _driver, _normalizer, scheduler);\n this._timelineEngine = new TimelineAnimationEngine(doc.body, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context) {\n this._transitionEngine.removeNode(namespaceId, element, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return [...this._transitionEngine.players, ...this._timelineEngine.players];\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n afterFlushAnimationsDone(cb) {\n this._transitionEngine.afterFlushAnimationsDone(cb);\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return startStyles || endStyles ? new SpecialCasedStyles(element, startStyles, endStyles) : null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n static { this.initialStylesByElement = new WeakMap(); }\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* SpecialCasedStylesState.Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, (initialStyles = new Map()));\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n}\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = new Map();\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach((fn) => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n // @ts-expect-error overwriting a readonly property\n this.domPlayer = this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n const onFinish = () => this._onFinish();\n this.domPlayer.addEventListener('finish', onFinish);\n this.onDestroy(() => {\n // We must remove the `finish` event listener once an animation has completed all its\n // iterations. This action is necessary to prevent a memory leak since the listener captures\n // `this`, creating a closure that prevents `this` from being garbage collected.\n this.domPlayer.removeEventListener('finish', onFinish);\n });\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach((frame) => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n return element.animate(this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach((fn) => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach((fn) => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n // tsc is complaining with TS2362 without the conversion to number\n return +(this.domPlayer.currentTime ?? 0) / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach((fn) => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return computeStyle(element, prop);\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = (previousPlayers.filter((player) => player instanceof WebAnimationsPlayer));\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach((player) => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map((styles) => new Map(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\n\nfunction createEngine(type, doc, scheduler) {\n // TODO: find a way to make this tree shakable.\n if (type === 'noop') {\n return new AnimationEngine(doc, new NoopAnimationDriver(), new NoopAnimationStyleNormalizer(), scheduler);\n }\n return new AnimationEngine(doc, new WebAnimationsDriver(), new WebAnimationsStyleNormalizer(), scheduler);\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles)\n ? normalizeStyles(startingStyles)\n : startingStyles;\n const dest = Array.isArray(destinationStyles)\n ? normalizeStyles(destinationStyles)\n : destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass BaseAnimationRenderer {\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n // We need to explicitly type this property because of an api-extractor bug\n // See https://github.com/microsoft/rushstack/issues/4390\n this.ɵtype = 0 /* AnimationRendererType.Regular */;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n }\n else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, (event) => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\n\nclass AnimationRendererFactory {\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n this._currentId = 0;\n this._microtaskId = 1;\n this._animationCallbacksBuffer = [];\n this._rendererCache = new Map();\n this._cdRecurDepth = 0;\n engine.onRemovalComplete = (element, delegate) => {\n // Note: if a component element has a leave animation, and a host leave animation,\n // the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n const parentNode = delegate?.parentNode(element);\n if (parentNode) {\n delegate.removeChild(parentNode, element);\n }\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type?.data?.['animation']) {\n const cache = this._rendererCache;\n let renderer = cache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => cache.delete(delegate);\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n cache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = (trigger) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n }\n else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n const animationCallbacksBuffer = this._animationCallbacksBuffer;\n if (animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n animationCallbacksBuffer.forEach((tuple) => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, NoopAnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, BaseAnimationRenderer as ɵBaseAnimationRenderer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, camelCaseToDashCase as ɵcamelCaseToDashCase, containsElement as ɵcontainsElement, createEngine as ɵcreateEngine, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty, validateWebAnimatableStyleProperty as ɵvalidateWebAnimatableStyleProperty };\n","/**\n * @license Angular v17.3.12\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { inject, ɵChangeDetectionScheduler, Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule, ɵperformanceMarkFeature } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\n\nclass InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer) {\n super(doc, driver, normalizer, inject(ɵChangeDetectionScheduler, { optional: true }));\n }\n ngOnDestroy() {\n this.flush();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: InjectableAnimationEngine, deps: [{ token: DOCUMENT }, { token: i1.AnimationDriver }, { token: i1.ɵAnimationStyleNormalizer }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: InjectableAnimationEngine }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: InjectableAnimationEngine, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }] });\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [\n { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },\n { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n }\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useFactory: () => new ɵWebAnimationsDriver() },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useClass: NoopAnimationDriver },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nclass BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS :\n BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, exports: [BrowserModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, providers: BROWSER_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n ɵperformanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nclass NoopAnimationsModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, exports: [BrowserModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n@NgModule({\n declarations: [ForgotPasswordComponent],\n imports: [CommonModule, SharedModule, FormsModule, ReactiveFormsModule],\n providers: [{ provide: Window, useValue: window }],\n})\nexport class ForgotPasswordModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DeleteAccountComponent } from \"./delete-account.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\n\n@NgModule({\n declarations: [DeleteAccountComponent],\n imports: [CommonModule, SharedModule, MatProgressSpinnerModule],\n})\nexport class DeleteAccountModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TermsOfUseMobileComponent } from \"./terms-of-use-mobile.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n declarations: [TermsOfUseMobileComponent],\n imports: [CommonModule, SharedModule],\n exports: [TermsOfUseMobileComponent],\n})\nexport class TermsOfUseMobileModule {}\n","import { createReducer, on } from \"@ngrx/store\";\nimport { HeaderActions } from \"../actions/header.actions\";\n\nexport const headerFeatureKey = \"header\";\n\nexport interface State {\n visible: boolean;\n}\n\nexport const initialState: State = {\n visible: true,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(HeaderActions.setVisibility, (state, { visible }) => ({\n ...state,\n visible,\n }))\n);\n","import { InjectionToken } from \"@angular/core\";\nimport { ActionReducer, ActionReducerMap, MetaReducer } from \"@ngrx/store\";\nimport { StoreService } from \"src/app/services/store.service\";\n\nimport * as STSReducer from \"./sts.reducer\";\nimport * as ProfileReducer from \"./profile.reducer\";\nimport * as AppReducer from \"./app.reducer\";\nimport * as RegisterProfileReducer from \"./register-profile.reducer\";\nimport * as RegistrationReducer from \"./registration.reducer\";\nimport * as TaraRegisterProfileReducer from \"./tara-register-profile.reducer\";\nimport * as HeaderReducer from \"./header.reducer\";\nimport * as DKMFAResetReducer from \"../dk-mfa-reset/dk-mfa-reset.reducer\";\nimport { legalDocumentFeatureKey, legalDocumentsReducer } from \"../legal-documents/legal-documents.store\";\nimport { LegalDocumentStateInterface } from \"src/app/interfaces/legal-document-state.interface\";\n\nexport interface AppState {\n [AppReducer.appFeatureKey]: AppReducer.State;\n [STSReducer.stsFeatureKey]: STSReducer.State;\n [ProfileReducer.profileFeatureKey]: ProfileReducer.State;\n [RegisterProfileReducer.featureKey]: RegisterProfileReducer.State;\n [RegistrationReducer.registrationFeatureKey]: RegistrationReducer.State;\n [TaraRegisterProfileReducer.featureKey]: TaraRegisterProfileReducer.State;\n [HeaderReducer.headerFeatureKey]: HeaderReducer.State;\n [DKMFAResetReducer.dkMfaResetFeatureKey]: DKMFAResetReducer.State;\n [legalDocumentFeatureKey]: LegalDocumentStateInterface;\n}\n\nexport const reducers: ActionReducerMap = {\n app: AppReducer.reducer,\n sts: STSReducer.reducer,\n profile: ProfileReducer.reducer,\n registerProfile: RegisterProfileReducer.reducer,\n registration: RegistrationReducer.reducer,\n taraRegisterProfile: TaraRegisterProfileReducer.reducer,\n [HeaderReducer.headerFeatureKey]: HeaderReducer.reducer,\n dkMfaReset: DKMFAResetReducer.reducer,\n [legalDocumentFeatureKey]: legalDocumentsReducer,\n};\n\n/** log all actions */\nexport const REDUCER_TOKEN = new InjectionToken>(\"Registered Reducers\");\n\nexport function getReducers(s: StoreService) {\n return s.getReducers();\n}\n","import { Injectable } from \"@angular/core\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { select, Store } from \"@ngrx/store\";\nimport { of } from \"rxjs\";\nimport { catchError, map, switchMap, tap, withLatestFrom } from \"rxjs/operators\";\nimport { Consents, ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { AccountsService } from \"src/app/services/accounts/accounts.service\";\nimport { ProfileActions } from \"../actions/profile.actions\";\nimport { ProfileSelectors } from \"../selectors/profile.selectors\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { registerProfile } from \"../selectors/register-profile.selectors\";\nimport { claimTypes } from \"src/app/appsettings\";\n\nconst residenceCountryCodeKey = \"residenceCountryCode\";\nfunction storageAvailable(type) {\n let storage;\n try {\n storage = window[type];\n let x = \"__storage_test__\";\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return (\n e instanceof DOMException &&\n (e.code === 22 ||\n e.code === 1014 ||\n e.name === \"QuotaExceededError\" ||\n e.name === \"NS_ERROR_DOM_QUOTA_REACHED\") &&\n storage &&\n storage.length !== 0\n );\n }\n}\n\nfunction saveToStorage(key: string, value: string) {\n if (storageAvailable(\"sessionStorage\")) {\n sessionStorage.setItem(key, value);\n }\n}\n\nfunction getFromStorage(key: string): string {\n if (storageAvailable(\"sessionStorage\")) {\n return sessionStorage.getItem(key);\n } else {\n return undefined;\n }\n}\n\nfunction removeFromStorage(key: string) {\n if (storageAvailable(\"sessionStorage\")) {\n return sessionStorage.removeItem(key);\n }\n}\n\nfunction stringToBoolean(v: boolean | string): boolean {\n if (typeof v == \"boolean\") {\n return v;\n }\n return v && v.toLocaleLowerCase() === \"true\";\n}\n\n@Injectable()\nexport class ProfileEffects {\n constructor(\n private actions$: Actions,\n private store: Store,\n private acc: AccountsService\n // private auth: AuthService\n ) {\n this.store.dispatch(ProfileActions.restoreResidence({ countryCode: getFromStorage(residenceCountryCodeKey) }));\n }\n\n saveResidenceCountryCode$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.setResidence),\n tap(({ countryCode }) => {\n saveToStorage(residenceCountryCodeKey, countryCode);\n }),\n catchError((error, caught) => {\n console.error(\"Failed to save code\", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n removeStoredResidence$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.removeStoredResidence),\n tap(() => removeFromStorage(residenceCountryCodeKey)),\n catchError((error, caught) => {\n console.error(\"Failed to clear code\", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getProfile$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.getProfile),\n withLatestFrom(this.store.pipe(select(StsSelectors.getUserInfo))),\n switchMap(([action, user]) => {\n if (user) {\n return this.acc.get(user.userId);\n } else {\n return of([]);\n }\n }),\n map((x) => {\n const data = x.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {});\n this.store.dispatch(ProfileActions.getProfileSuccess({ data }));\n }),\n catchError((error, caught) => {\n console.error(\"Error: \", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getConsents$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.getConsent),\n switchMap((action) => this.acc.getConsent(action.synlabId, action.categoryName)),\n withLatestFrom(this.store.pipe(select(ProfileSelectors.getConsentsPayload))),\n map(([consents, payload]: [Consents[], ConsentsPayload[]]) => {\n if (consents) {\n return consents?.map((d) => {\n // check if there's existing payload, it means the user have already interacted and we only need translation locales\n let x = payload?.find((p) => p.ConsentId == d.consentId).Allowed;\n return { ...d, allowed: x === undefined ? (d.allowed ? stringToBoolean(d.allowed) : false) : x };\n });\n }\n }),\n tap((c) => {\n this.store.dispatch(ProfileActions.getConsentSuccess({ data: c }));\n }),\n catchError((error, caught) => {\n this.store.dispatch(ProfileActions.getConsentFailed({ error: error }));\n console.error(\"Error: \", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getConsentSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.getConsentSuccess),\n withLatestFrom(this.store.select(StsSelectors.getWhiteLabelName), this.store.select(registerProfile)),\n switchMap(([action, tenant, claims]) => {\n if (tenant === \"fi\") {\n const emailAddress: string = claims?.find((c) => c.claimType == claimTypes.EMAIL)?.claimValue;\n if (emailAddress) {\n return this.acc.checkIfMarketingConsentIsChecked(emailAddress);\n }\n }\n return of(false);\n }),\n tap((c) => this.store.dispatch(ProfileActions.getMarketingConsentsCheckedSuccess({ value: c }))),\n catchError((error, caught) => {\n console.error(\"Error: \", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from \"@angular/core\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { createEffect } from \"@ngrx/effects\";\nimport { map } from \"rxjs/operators\";\nimport { AppActions } from \"src/app/@store/actions/app.actions\";\n@Injectable()\nexport class AppEffects {\n constructor(private transloco: TranslocoService) {}\n setAppLanguage$ = createEffect(() =>\n this.transloco.langChanges$.pipe(map((language) => AppActions.setActiveLanguage({ language })))\n );\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { select, Store } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { forkJoin, merge, of, throwError } from \"rxjs\";\nimport { catchError, map, mergeAll, switchMap, take, tap, withLatestFrom } from \"rxjs/operators\";\nimport { queryParamKey, ACCOUNT_ACTIVATION, AUTH_METHOD, userTypes, WEBREQ_ADMIN_USER_TYPES, BOOKING_ADMIN_USER_TYPES } from \"src/app/appsettings\";\nimport { EAuthenticationType } from \"src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { generalScopeKey, twoFactorAuthenticatorScopeKey } from \"src/app/services/i18n/i18n.service\";\nimport { RegisterActions } from \"../actions/registration.actions\";\nimport { AppState } from \"../reducers\";\nimport { IClaim } from \"../reducers/registration.reducer\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { getErrorMessage } from \"src/app/utils/error.util\";\nimport { RegisterProfileApiService } from \"src/app/services/register-profile-api/register-profile-api.service\";\nimport { RegistrationSelectors } from \"../selectors/registration.selectors\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\nconst translationKey = \"taraEmailNotificationComponent\";\n\n@Injectable()\nexport class RegistrationEffects {\n bookingUrl$ = this._store.pipe(select(StsSelectors.getBaseBookingUrl));\n plasmaUrl$ = this._store.pipe(select(StsSelectors.getBasePlasmaUrl));\n bookingAdminUrl$ = this._store.pipe(select(StsSelectors.getBookingAdminUrl));\n adminUrl$ = this._store.pipe(select(StsSelectors.getAdminUrl));\n webreqAdminUrl$ = this._store.pipe(select(StsSelectors.getWebreqAdminUrl));\n isCZTenant$ = this._store.pipe(select(StsSelectors.isCzechRepublic));\n isBETenant$ = this._store.pipe(select(StsSelectors.isBETenant));\n isFITenant$ = this._store.pipe(select(StsSelectors.isFITenant));\n isPatient$ = this._store.select(RegistrationSelectors.getRegistrationIsPatient);\n registrationUserType$ = this._store.select(RegistrationSelectors.getRegistrationUserType);\n isForBooking$ = this._activatedRoute.queryParamMap.pipe(\n map((x) => {\n const isForBookingQuery = x.get(\"isForBooking\");\n return typeof isForBookingQuery === \"string\" && isForBookingQuery.trim().toLowerCase() === \"true\";\n })\n );\n paramMap$ = this._activatedRoute.queryParamMap;\n userId$ = this.paramMap$.pipe(map((x) => x.get(queryParamKey.USER_ID)));\n\n constructor(\n private _actions$: Actions,\n private _api: ApiService,\n private _store: Store,\n private _router: Router,\n private _activatedRoute: ActivatedRoute,\n private _transloco: TranslocoService,\n private _toastr: ToastrService,\n private configService: ConfigService,\n private registerProfileApi: RegisterProfileApiService,\n ) {}\n\n loadRegistrationClaims$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadRegistrationClaims),\n switchMap(({ id, seqId }) => {\n return this._api.get(\"/manage/accounts/complete_profile\", {\n id,\n seqId,\n sequenceId: seqId,\n });\n }),\n tap((n) => {\n const claims = this.getClaimsAsObject(n);\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadRegistrationClaimFailed({ error }));\n return of(null);\n })\n ),\n { dispatch: false }\n );\n\n loadExistsRegistrationClaims$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadExistingUserClaims),\n switchMap((action) => this.registerProfileApi.getPtExisitngProfile(action.userid)),\n tap((n) => {\n const claims = this.getClaimsAsObject(n);\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadRegistrationClaimFailed({ error }));\n return of(null);\n })\n ),\n { dispatch: false }\n );\n\n loadExternalAuthProviders$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadExternalAuthProviders),\n switchMap(() => this._api.get(\"/manage/externalauthproviders\")),\n tap((items) => {\n this._store.dispatch(RegisterActions.loadExternalAuthProviderSuccess({ items }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadExternalAuthProviderFailed({ error }));\n return of(null);\n })\n ),\n { dispatch: false },\n );\n\n setUserPassword$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.setUserPassword),\n switchMap(({ payload, regId }) =>\n this._api.put(`/manage/accounts/set_authentication_provider?id=${regId}`, payload).pipe(map((n) => regId))\n ),\n tap((id) => {\n this.bookingUrl$.pipe(\n withLatestFrom(\n this.isPatient$,\n this.isBETenant$,\n this.isCZTenant$,\n this.isFITenant$,\n this.plasmaUrl$,\n this.bookingAdminUrl$,\n this.webreqAdminUrl$,\n this.adminUrl$,\n this.registrationUserType$\n ),\n take(1)\n )\n .subscribe(([bookingUrl, isPatient, isBe, isCZ, isFi, basePlasmaUrl, bookingAdminUrl, webreqAdminUrl, adminUrl, userType]) => {\n let arrUserType: string[] = Array.isArray(userType) ? userType : userType?.split(',');\n arrUserType = arrUserType ?? [];\n\n const isWebreqAdmin =\n arrUserType?.filter(role => WEBREQ_ADMIN_USER_TYPES.includes(role as any)).length > 0;\n const isBookingAdmin =\n arrUserType?.filter(role => BOOKING_ADMIN_USER_TYPES.includes(role as any)).length > 0;\n const isFIAdmin =\n arrUserType?.filter(role => ![userTypes.SYNLAB_ACCESS_USER, userTypes.DOCTOR].includes(role as any)).length > 0;\n\n const activeLanguage = this._transloco.getActiveLang();\n\n if (isCZ || isBe) {\n window.location.href = `${basePlasmaUrl}?langCode=${activeLanguage}`;\n } else if (isFi && isBookingAdmin) {\n window.location.href = bookingAdminUrl;\n } else if (isFi && isWebreqAdmin) {\n window.location.href = webreqAdminUrl;\n } else if (isFIAdmin) {\n window.location.href = adminUrl;\n } else if (bookingUrl && isPatient) {\n let isTara = false;\n this._store.select('registerProfile').pipe(take(1)).subscribe(registerProfile => {\n registerProfile.registerProfile.forEach(claim => {\n if (claim?.claimType === 'authentication_provider' && claim?.claimValue?.toLowerCase() === 'tara') {\n isTara = true;\n }\n });\n });\n if (isTara) {\n window.location.href = bookingUrl;\n } else {\n window.location.href = this.configService.baseAuthUrl;\n }\n } else {\n this._router.navigate([\"registrationv2\", \"success\"], { queryParams: { id } });\n }\n });\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.setUserPasswordFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n loadTaraUserInfo$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadTaraUserInfo),\n switchMap(({ userId }) =>\n this._api.get(`/manage/accounts/tara-user-information/${userId}`).pipe(map((n) => n?.email))\n ),\n tap((email) => this._store.dispatch(RegisterActions.loadTaraUserInfoSuccess({ email }))),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadTaraUserInfoFailed({ error }));\n this.redirect(error);\n\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n taraResendEmailActivation$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.taraResendEmailActivation),\n switchMap(({ userId }) => this._api.put(`/manage/accounts/tara-resend-invitation/${userId}`)),\n tap(() => {\n this._store.dispatch(RegisterActions.taraResendEmailActivationSuccess());\n\n const title = this.translate(generalScopeKey, \"successTitle\");\n const message = this.translate(translationKey, \"resendEMailActivationLinkSuccess\");\n\n this._toastr.success(message, title);\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.taraResendEmailActivationFailed({ error }));\n this.redirect(error);\n\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n activateUserAccount$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.activateUserAccount),\n switchMap(({ userId, accountType }) => {\n const isTelia: boolean = accountType == AUTH_METHOD.TELIA;\n const authMethod: string = isTelia ? AUTH_METHOD.TELIA : AUTH_METHOD.TARA;\n return this._api.put(`/manage/accounts/${authMethod}-activate-user/${userId}`);\n }),\n tap((value) => {\n this.navigate(ACCOUNT_ACTIVATION.EMAIL_VERIFIED);\n this._store.dispatch(RegisterActions.activateTaraUserSuccess({ activated: true }));\n }),\n catchError((error) => {\n this.navigate(ACCOUNT_ACTIVATION.VERIFICATION_FAILED);\n this._store.dispatch(RegisterActions.activateTaraUserFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n updatePhoneNumber$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.updatePhoneNumber),\n switchMap(({ payload }) =>\n this._api.put(`/manage/accounts/change_phone`, payload).pipe(\n map((n) => ({\n phone: payload?.phone,\n result: n,\n }))\n )\n ),\n tap(({ phone }) => {\n this._store.dispatch(RegisterActions.updatePhoneNumberSuccess({ phone }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.updatePhoneNumberFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n updatePhoneNumberFailure$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.updatePhoneNumberFailed),\n tap(({ error }) => this._toastr.error(getErrorMessage(error)))\n ),\n { dispatch: false }\n );\n\n verifyPhoneNumber$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.verifyPhoneNumber),\n switchMap(({ payload }) => this._api.put(`/manage/accounts/verify_phone`, payload)),\n tap((success: boolean) => {\n this._store.dispatch(RegisterActions.verifyPhoneNumberSuccess({ success }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.verifyPhoneNumberFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n verifyPhoneNumberSuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.verifyPhoneNumberSuccess),\n map(({ success }) => {\n if (success) {\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.mobileNumberVerified`);\n this._toastr.success(m);\n } else {\n const h = this._transloco.translate(`${generalScopeKey}.errorOccuredTitle`);\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.invalidTokenMessage`);\n this._toastr.error(m, h);\n }\n })\n ),\n { dispatch: false }\n );\n\n enableMFA$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFA),\n switchMap(({ payload }) =>\n this._api.put(`/manage/accounts/set_two_factor_authentication`, payload).pipe(\n map((n) => ({\n result: n,\n type: payload.twoFactorProvider,\n }))\n )\n ),\n tap((r) =>\n this._store.dispatch(\n RegisterActions.enableMFASuccess({\n data: r.result,\n authType: r.type,\n })\n )\n ),\n catchError((error) => {\n this._store.dispatch(RegisterActions.enableMFAFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n enableMFASuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFASuccess),\n map(({ data, authType }) => {\n if (authType == EAuthenticationType.AUTHENTICATOR) {\n this._store.dispatch(RegisterActions.setAuthenticatorAppData({ data }));\n }\n })\n ),\n { dispatch: false }\n );\n\n enableMFAVerify$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFAVerify),\n switchMap(({ payload }) =>\n this._api.put(`/manage/accounts/verify_two_factor_authentication`, payload).pipe(\n map((n: boolean) => ({\n result: n,\n type: payload.tokenProvider,\n }))\n )\n ),\n tap((data) => this._store.dispatch(RegisterActions.enableMFAVerifySuccess({ data: data }))),\n catchError((error) => {\n this._store.dispatch(RegisterActions.enableMFAVerifyFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n enableMFAVerifySuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFAVerifySuccess),\n withLatestFrom(this.userId$, this.bookingUrl$),\n map(([{ data }, userid, bookingUrl]) => {\n if (data.result) {\n // show success message\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.twoFaSuccessText`);\n this._toastr.success(m);\n //redirect to booking pt-ee user\n if (userid) {\n window.location.assign(bookingUrl);\n }\n } else {\n // show error message\n const h = this._transloco.translate(`${generalScopeKey}.errorOccuredTitle`);\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.invalidTokenMessage`);\n\n this._toastr.error(m, h);\n }\n })\n ),\n { dispatch: false }\n );\n\n enableMFAVerifyFailed$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFAVerifyFailed),\n map(({ error }) => {\n const message = error?.error?.ErrorMessage;\n const title = this._transloco.translate(`${generalScopeKey}.errorOccuredTitle`);\n this._toastr.error(message, title);\n })\n ),\n { dispatch: false }\n );\n\n getClaimsAsObject(claims: IClaim[]) {\n return claims.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {});\n }\n\n translate(scope: string, key: string): string {\n return this._transloco.translate(`${scope}.${key}`);\n }\n\n redirect(e: HttpErrorResponse) {\n let activated: boolean = false;\n const message: string = e.error?.message || e.error?.ErrorMessage;\n if (message?.toLowerCase() == \"user is already activated\") {\n activated = true;\n }\n\n if (activated) {\n return this.navigate(ACCOUNT_ACTIVATION.EMAIL_ACTIVATED);\n }\n return this.navigate(ACCOUNT_ACTIVATION.VERIFICATION_FAILED);\n }\n\n navigate(status: ACCOUNT_ACTIVATION) {\n this._router.navigate([\"registration\", \"account_activation\"], {\n queryParams: { status },\n });\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { Store } from \"@ngrx/store\";\nimport { merge, of } from \"rxjs\";\nimport { catchError, map, mergeMap, switchMap, withLatestFrom, tap } from \"rxjs/operators\";\nimport * as RegisterProfileActions from \"src/app/@store/actions/register-profile.actions\";\nimport { AUTH_METHOD, claimTypes, claimValues, queryParamKey, whiteLabelNames } from \"src/app/appsettings\";\nimport { RegisterProfileApiService } from \"src/app/services/register-profile-api/register-profile-api.service\";\nimport { getErrorMessage } from \"src/app/utils/error.util\";\nimport { AppState } from \"../reducers\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { EStorageKeys } from \"src/app/models/storage.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n@Injectable()\nexport class RegisterProfileEffects {\n private isFinland$ = this.store.select(StsSelectors.isFITenant);\n\n constructor(\n private actions$: Actions,\n private registerProfileApi: RegisterProfileApiService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private store: Store,\n private readonly configService: ConfigService,\n ) {}\n loadRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.loadRegisterProfile),\n mergeMap(({ regId, seqId, bankId }) => {\n if (bankId) {\n return this.registerProfileApi.getRegisterProfileForCzechRepublic(bankId);\n }\n return this.registerProfileApi.getRegisterProfile(regId, seqId);\n }),\n map((claims) => RegisterProfileActions.loadRegisterProfileSuccess({ data: claims })),\n catchError((error: HttpErrorResponse, caught) => {\n\n const msg = getErrorMessage(error);\n const message = error.error || (error).Message;\n if (message === 'User is already active.') {\n window.location.href = this.configService._envConfig.BaseAuthUrl;\n return;\n }\n\n return merge(of(RegisterProfileActions.loadRegisterProfileFailure({ error: msg, errorObject: error })), caught);\n })\n )\n );\n\n loadExistingPTProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.loadExistingPTProfile),\n mergeMap((action) => this.registerProfileApi.getPtExisitngProfile(action.userId)),\n withLatestFrom(this.isFinland$),\n map(([claims, isFinland]) => {\n if (isFinland) {\n // we need to update query params, for finland, no userId supplied in the url, so we need to update query string to add userid\n const userIdEncoded: string = btoa(\n claims.find((claim) => claim.claimType == claimTypes.USERID)?.claimValue || \"\"\n );\n\n this.router.navigate([], {\n relativeTo: this.activatedRoute,\n queryParams: { [queryParamKey.USER_ID]: userIdEncoded },\n queryParamsHandling: \"merge\",\n });\n }\n\n return RegisterProfileActions.loadExistingPTProfileSuccess({ data: claims });\n }),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(\n RegisterProfileActions.loadExistingPTProfileFailure({\n error: msg,\n errorObject: error,\n })\n ),\n caught\n );\n })\n )\n );\n\n submitRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.submitRegisterProfile),\n mergeMap((action) =>\n this.registerProfileApi\n .submitRegisterProfile(action.regId, action.data)\n .pipe(map((res) => [res, action] as const))\n ),\n switchMap(([res, action]) =>\n this.registerProfileApi.updateConsents(action.consents, action.synlabId, action.seqId)\n ),\n map(() => RegisterProfileActions.submitRegisterProfileSuccess()),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(RegisterProfileActions.submitRegisterProfileFailure({ error: msg, errorObject: error })),\n caught\n );\n })\n )\n );\n\n updatePtExisitingProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.updatePtExistingProfile),\n withLatestFrom(this.isFinland$),\n mergeMap(([action, isFinland]) => {\n const tenant: string = isFinland ? whiteLabelNames.FINLAND : \"\";\n return this.registerProfileApi.updatePtExistingProfile(action.userId, action.data, tenant).pipe(\n withLatestFrom(this.store.select(StsSelectors.getBaseBookingUrl)),\n tap(([result, bookingUrl]) => {\n if (isFinland) {\n if (bookingUrl) {\n window.location.assign(bookingUrl);\n }\n\n const { returnUrl } = result as any;\n localStorage.setItem(EStorageKeys.REGISTER_REDIRECT_URL, returnUrl);\n }\n }),\n map((res) => [res, action] as const)\n );\n }),\n switchMap(([res, action]) =>\n this.registerProfileApi.updateConsents(action.consents, action.synlabId, action.seqId)\n ),\n map(() => RegisterProfileActions.updatePtExistingProfileSuccess()),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(RegisterProfileActions.updatePtExistingProfileFailure({ error: msg, errorObject: error })),\n caught\n );\n })\n )\n );\n\n signupToTaraCLicked$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.signupToTaraClicked),\n mergeMap((action) => this.registerProfileApi.rollBackUser(action.userId)),\n map(() => RegisterProfileActions.signupToTaraClickedSuccess()),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(\n RegisterProfileActions.signupToTaraClickedFailure({\n error: msg,\n errorObject: error,\n })\n ),\n caught\n );\n })\n )\n );\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { TaraUserRegisterGetResponse, TaraUserRegisterUpdateResponse } from \"src/app/models/tara-user.model\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { ApiService } from \"../api/api.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class TaraRegisterProfileApiService {\n private readonly taraRegisterGetEndpoint = \"/manage/accounts/tara-register-user\";\n private readonly taraRegisterUpdateEndpoint = \"/manage/accounts/tara-create-user\";\n\n constructor(\n private http: HttpClient,\n private config: ConfigService,\n private api: ApiService\n ) {}\n getRegisterProfile(regId: string): Observable {\n return this.http.get(\n `${this.config.baseAuthUrl}${this.taraRegisterGetEndpoint}/${regId}`\n );\n }\n\n submitRegisterProfile(\n taraUniqueId: string,\n claims: Claim[],\n hasEmail?: boolean,\n userId?: string\n ): Observable {\n if (hasEmail) {\n return this.api.put(\n `${this.taraRegisterUpdateEndpoint}?taraUniqueId=${taraUniqueId}&userId=${userId}`,\n claims\n );\n }\n return this.api.post(`${this.taraRegisterUpdateEndpoint}/${taraUniqueId}`, claims);\n }\n\n updateConsents(consents: ConsentsPayload[], userId: string) {\n return this.api.put(`/api/consent/tarauser/${userId}`, consents);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { TaraMigrateRequest } from \"src/app/models/tara-migrate.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class TaraMigrateApiService {\n private readonly taraResultMigrateEndpoint = \"/api/migration-requests/result\";\n private readonly taraOrderMigrateEndpoint = \"/api/migration-requests/order\";\n constructor(\n private http: HttpClient,\n private config: ConfigService\n ) {}\n migrateResults(request: TaraMigrateRequest): Observable {\n return this.http.post(`${this.config.baseAccountUrl}${this.taraResultMigrateEndpoint}`, request, { responseType: 'text' });\n }\n migrateOrders(request: TaraMigrateRequest): Observable {\n return this.http.post(`${this.config.baseAccountUrl}${this.taraOrderMigrateEndpoint}`, request, { responseType: 'text' });\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { firstValueFrom, merge, of, throwError } from \"rxjs\";\nimport { mergeMap, map, catchError, filter, tap, switchMap } from \"rxjs/operators\";\nimport { getErrorMessage } from \"src/app/utils/error.util\";\nimport * as TaraRegisterProfileActions from \"src/app/@store/actions/tara-register-profile.actions\";\nimport { TaraRegisterProfileApiService } from \"src/app/services/tara-register-profile-api/tara-register-profile-api.service\";\nimport { CheckIfTrueString, getClaimValueWithType } from \"src/app/services/accounts/accounts.model\";\nimport { claimTypes } from \"src/app/appsettings\";\nimport { TaraMigrateApiService } from \"src/app/services/tara-migrate-api/tara-migrate-api.service\";\nimport { TaraMigrateRequest } from \"src/app/models/tara-migrate.model\";\nimport { Router } from \"@angular/router\";\n\n@Injectable()\nexport class TaraRegisterProfileEffects {\n constructor(\n private actions$: Actions,\n private taraRegisterProfileApi: TaraRegisterProfileApiService,\n private taraMigrateApi: TaraMigrateApiService,\n private _router: Router\n ) {}\n loadRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.loadRegisterProfile),\n mergeMap((action) => this.taraRegisterProfileApi.getRegisterProfile(action.regId)),\n map((claims) => TaraRegisterProfileActions.loadRegisterProfileSuccess({ data: claims })),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(\n TaraRegisterProfileActions.loadRegisterProfileFailure({\n error: msg,\n errorObject: error,\n })\n ),\n caught\n );\n })\n )\n );\n\n submitRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.submitRegisterProfile),\n mergeMap((action) =>\n this.taraRegisterProfileApi\n .submitRegisterProfile(action.regId, action.data, action.hasEmail, action.userId)\n .pipe(map((res) => [res, action] as const))\n ),\n switchMap(([response, action]) =>\n this.taraRegisterProfileApi\n .updateConsents(action.consents, response.userId)\n .pipe(map((res) => [response, action.data, res] as const))\n ),\n switchMap(([response, claims, res]) => {\n const body: TaraMigrateRequest = {\n Ssn: getClaimValueWithType(claimTypes.SSN, claims),\n Email: getClaimValueWithType(claimTypes.EMAIL, claims),\n SynlabId: response.synlabId,\n CreatedDate: new Date().toISOString(),\n };\n\n console.log(\"tara-register-profile: Starting tara orders migration.\");\n\n return this.taraMigrateApi.migrateOrders(body)\n .pipe(\n tap((response) => {\n console.log(\"Sent migration request: Orders.\", response);\n }),\n map(() => [response, claims, res]),\n catchError((error) => {\n console.warn(\"Failed to send migration request: Orders.\", error);\n return throwError(() => new Error(\"Failed to send migration request: Orders.\"));\n })\n );\n }),\n switchMap(([response, claims, res]) => {\n const body: TaraMigrateRequest = {\n Ssn: getClaimValueWithType(claimTypes.SSN, claims),\n Email: getClaimValueWithType(claimTypes.EMAIL, claims),\n SynlabId: response.synlabId,\n CreatedDate: new Date().toISOString(),\n };\n\n console.log(\"tara-register-profile: Starting tara results migration.\");\n\n return this.taraMigrateApi.migrateResults(body)\n .pipe(\n tap((response) => {\n console.log(\"Sent migration request: results.\", response);\n }),\n map(() => [response, claims, res]),\n catchError((error) => {\n console.warn(\"Failed to send migration request: results.\", error);\n return throwError(() => new Error(\"Failed to send migration request: results.\"));\n })\n );\n }),\n map(([response, claims, res]) => TaraRegisterProfileActions.submitRegisterProfileSuccess({ response, claims })),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(TaraRegisterProfileActions.submitRegisterProfileFailure({ error: msg, errorObject: error })),\n caught\n );\n })\n )\n );\n\n /** no success or failure codes. as implemented in complete-profile */\n migrate$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.submitRegisterProfileSuccess),\n filter((action) => CheckIfTrueString(getClaimValueWithType(claimTypes.EE_MIGRATION_ACCEPTED, action.claims))),\n tap(async (action) => {\n // const body: TaraMigrateRequest = {\n // Ssn: getClaimValueWithType(claimTypes.SSN, action.claims),\n // Email: getClaimValueWithType(claimTypes.EMAIL, action.claims),\n // SynlabId: action.response.synlabId,\n // CreatedDate: new Date().toISOString(),\n // };\n\n // console.log(\"tara-register-profile: Starting tara migration.\");\n\n // try {\n // const request = this.taraMigrateApi.migrateOrders(body);\n // const response = await firstValueFrom(request);\n // console.log(\"Sent migration request: Orders.\", response);\n // } catch (error) {\n // console.warn(\"Failed to send migration request: Orders.\", error);\n // }\n\n // try {\n // const request = this.taraMigrateApi.migrateResults(body);\n // const response = await firstValueFrom(request);\n // console.log(\"Sent migration request: results.\", response);\n // } catch (error) {\n // console.warn(\"Failed to send migration request: results.\", error);\n // }\n })\n ),\n { dispatch: false }\n );\n\n // check if = true, if true, redirect to \"A verification link has been sent page\"\n loadRegisterProfileSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.loadRegisterProfileSuccess),\n map(({ data }) => {\n if (data?.registrationDone) {\n this._router.navigate([\"/account\", \"profile\"]);\n // this._router.navigate([\"registration\", \"update_tara\"], {\n // queryParams: { id: data?.userId },\n // });\n }\n })\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../api/api.service\";\n\nexport interface CountryInfo {\n countryName: string;\n cultureCode: string;\n isSupported: boolean;\n ssnMaskCode: string;\n ssnRegex: string;\n twoLetterCountryCode: string;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CountryService {\n constructor(private apiService: ApiService) {}\n\n public async getByCode(code: string): Promise {\n return this.apiService.get(`/manage/country/code/${code}`).toPromise();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { from, of } from \"rxjs\";\nimport { switchMap, map, catchError, withLatestFrom, delay } from \"rxjs/operators\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { STSActions } from \"../actions/sts.actions\";\nimport { CountryService } from \"src/app/services/country/country.service\";\nimport { select, Store } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { claimValues } from \"src/app/appsettings\";\n\n@Injectable()\nexport class StsEffects {\n constructor(\n private actions$: Actions,\n private countryService: CountryService,\n private store: Store,\n private api: ApiService\n ) {}\n\n loadCountry$ = createEffect(() =>\n this.actions$.pipe(\n ofType(STSActions.loadCountry),\n switchMap(({ code }) =>\n from(this.countryService.getByCode(code)).pipe(\n map((country) => STSActions.loadCountrySuccess({ payload: country })),\n catchError(async () => STSActions.loadCountryFailed())\n )\n )\n )\n );\n\n fetchGeneplanetHasOrders = createEffect(() =>\n this.actions$.pipe(\n ofType(STSActions.fetchHasGeneplanetOrders),\n delay(3000),\n withLatestFrom(\n this.store.pipe(select(StsSelectors.getSynlabId)),\n this.store.pipe(select(StsSelectors.isSynlabAccessUser)),\n this.store.pipe(select(StsSelectors.getAccountsBaseUrl))\n ),\n switchMap(([action, synlabId, isSAuser, baseUrl]) => {\n if (synlabId && isSAuser) {\n return this.api.getHttp(`${baseUrl}/api/results/ee-has-gp-result/${synlabId}`).pipe(\n map((response) => `${response}`.toLowerCase() == claimValues.TRUE),\n catchError(() => of(false))\n );\n }\n return of(null);\n }),\n map((result) => STSActions.setHasGeneplanetOrders({ hasOrders: result }))\n )\n );\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { select, Store } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { auditTime, catchError, map, switchMap, withLatestFrom } from \"rxjs/operators\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { IClaim } from \"src/app/view/dk-mfa-reset/enum-dk-mfa\";\nimport { AppState } from \"../reducers\";\nimport { DkMfaResetAction } from \"./dk-mfa-reset.actions\";\nimport { DKMFAResetSelector } from \"./dk-mfa-reset.selectors\";\n\n@Injectable()\nexport class DkMfaResetEffects {\n phone$ = this._st.pipe(select(DKMFAResetSelector.getPhone));\n\n constructor(\n private actions$: Actions,\n private _api: ApiService,\n private _st: Store,\n private _tostr: ToastrService,\n private _rt: Router,\n private _lang: TranslocoService\n ) {}\n\n validateMFAResetLink$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.validateMFAResetLink),\n switchMap(({ payload }) => this._api.get(\"/manage/accounts/mfa_reset_isvalid\", payload)),\n map((res) => {\n this._st.dispatch(DkMfaResetAction.validateMFAResetLinkSuccess({ value: res }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.validateMFAResetLinkFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getMFAResetClaims$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.getMFAResetClaims),\n auditTime(120),\n switchMap(({ params }) => this._api.get(\"/manage/accounts/mfa_reset_info\", params)),\n map((res: IClaim[]) => {\n const claims = res.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {});\n this._st.dispatch(DkMfaResetAction.getMFAResetClaimsSuccess({ claims }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.getMFAResetClaimsFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n changePhone$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.changePhone),\n switchMap(({ params, body }) =>\n this._api.put(\"/manage/accounts/reset_change_phone\", body, {\n params,\n })\n ),\n map((res) => {\n this._st.dispatch(DkMfaResetAction.changePhoneSuccess({ data: res }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.changePhoneFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n verifyChangePhone$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.verifyChangePhone),\n switchMap(({ params, body }) =>\n this._api.put(\"/manage/accounts/reset_verify_phone\", body, {\n params,\n })\n ),\n map((res) => {\n if (res) {\n this._st.dispatch(DkMfaResetAction.verifyChangePhoneSuccess({ data: res }));\n } else {\n this.showError(\"INVALID_OTP_CODE\");\n this._st.dispatch(DkMfaResetAction.verifyChangePhoneFailed({ error: \"INVALID_OTP_CODE\" }));\n }\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.verifyChangePhoneFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n set2FA$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.set2FA),\n withLatestFrom(this.phone$),\n switchMap(([{ params, body }, phone]) =>\n this._api\n .put(\"/manage/accounts/reset_set_two_factor_authentication\", body, {\n params,\n })\n .pipe(\n map((n) => ({\n data: n,\n mfaType: body.twoFactorProvider,\n phone: phone,\n }))\n )\n ),\n map(({ data, mfaType, phone }) => {\n this._st.dispatch(DkMfaResetAction.set2FASuccess({ data, mfaType, phone }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.set2FAFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n verifySet2FA$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.verifySet2FA),\n switchMap(({ params, body }) =>\n this._api.put(\"/manage/accounts/reset_verify_two_factor_authentication\", body, { params })\n ),\n map((res) => {\n if (res) {\n this._st.dispatch(DkMfaResetAction.verifySet2FASuccess({ data: res }));\n this._rt.navigate([\"/\"]);\n } else {\n this.showError(\"INVALID_OTP_CODE\");\n this._st.dispatch(DkMfaResetAction.verifySet2FAFailed({ error: \"INVALID_OTP_CODE\" }));\n }\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.verifySet2FAFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n private showError(error: HttpErrorResponse | string) {\n const errorMessage: string = this._lang.translate(\"taraActivationComponent.anUnexpectedErrorHasOccured\");\n\n if (typeof error == \"string\") {\n const message: string = this._lang.translate(`errorMessage.${error}`);\n\n this._tostr.error(message || errorMessage);\n } else {\n const key: string = error && error.error && error.error.ErrorMessage;\n const message: string = this._lang.translate(`errorMessage.${key}`);\n\n this._tostr.error(message || errorMessage);\n }\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { LegalDocumentVersionInterface } from \"src/app/interfaces/legal-document-version.interface\";\nimport { LegalDocumentInterface } from \"src/app/interfaces/legal-document.interface\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LegalDocumentsService {\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {}\n\n public searchLegalDocuments(userId: string) {\n return this.http.get(\n `${this.configService.baseAuthUrl}/manage/agreement/GetUserLegalDocuments/${userId}`\n );\n }\n\n public searchLegalDocumentsVersions(userId: string, type: string) {\n return this.http.get(\n `${this.configService.baseAuthUrl}/manage/agreement/GetUserLegalDocumentVersions/${userId}/${type}`\n );\n }\n}\n","import { ProfileEffects } from \"./profile.effects\";\nimport { AppEffects } from \"./app.effects\";\nimport { RegistrationEffects } from \"./registration.effects\";\nimport { RegisterProfileEffects } from \"src/app/@store/effects/register-profile.effects\";\nimport { TaraRegisterProfileEffects } from \"src/app/@store/effects/tara-register-profile.effects\";\nimport { StsEffects } from \"./sts.effects\";\n\nimport { DkMfaResetEffects } from \"../dk-mfa-reset/dk-mfa-reset.effects\";\nimport { LegalDocumentsEffects } from \"../legal-documents/legal-documents.effects\";\nexport const effects: any[] = [\n ProfileEffects,\n AppEffects,\n RegistrationEffects,\n RegisterProfileEffects,\n TaraRegisterProfileEffects,\n StsEffects,\n DkMfaResetEffects,\n LegalDocumentsEffects,\n];\n","import { Injectable } from \"@angular/core\";\nimport { LegalDocumentsService } from \"./legal-documents.service\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport {\n searchLegalDocumentsAction,\n searchLegalDocumentsSuccessAction,\n searchLegalDocumentsVersionsAction,\n searchLegalDocumentsVersionsSuccessAction,\n} from \"./legal-documents.actions\";\nimport { catchError, exhaustMap, map } from \"rxjs/operators\";\nimport { EMPTY } from \"rxjs\";\nimport { ToastrService } from \"ngx-toastr\";\n\n@Injectable()\nexport class LegalDocumentsEffects {\n public searchLegalDocuments$ = this.createSearchLegalDocumentsEffect();\n public searchLegalDocumentsVersions$ = this.createSearchLegalDocumentsVersionsEffect();\n\n constructor(\n private readonly actions$: Actions,\n private readonly toastrService: ToastrService,\n private readonly legalDocumentsService: LegalDocumentsService\n ) {\n this.catchError = this.catchError.bind(this);\n }\n\n private createSearchLegalDocumentsVersionsEffect() {\n return createEffect(() =>\n this.actions$.pipe(\n ofType(searchLegalDocumentsVersionsAction),\n exhaustMap(({ userId, docType }) =>\n this.legalDocumentsService.searchLegalDocumentsVersions(userId, docType).pipe(\n map((versions) => searchLegalDocumentsVersionsSuccessAction({ versions })),\n catchError(this.catchError)\n )\n )\n )\n );\n }\n\n private createSearchLegalDocumentsEffect() {\n return createEffect(() =>\n this.actions$.pipe(\n ofType(searchLegalDocumentsAction),\n exhaustMap(({ userId }) =>\n this.legalDocumentsService.searchLegalDocuments(userId).pipe(\n map((legalDocuments) => searchLegalDocumentsSuccessAction({ legalDocuments })),\n catchError(this.catchError)\n )\n )\n )\n );\n }\n\n private catchError(error: any) {\n const errorMessage = error?.error?.message || \"Something went wrong.\";\n this.toastrService.error(errorMessage, \"Error\", { timeOut: 5000 });\n return EMPTY;\n }\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport const TimeoutError = createErrorClass((_super) => function TimeoutErrorImpl(info = null) {\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n});\nexport function timeout(config, schedulerArg) {\n const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler, meta = null, } = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate((source, subscriber) => {\n let originalSourceSubscription;\n let timerSubscription;\n let lastValue = null;\n let seen = 0;\n const startTimer = (delay) => {\n timerSubscription = executeSchedule(subscriber, scheduler, () => {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta,\n lastValue,\n seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, () => {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, NgZone, Injectable, Inject, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport * as i2 from '@ngrx/store';\nimport { ActionsSubject, UPDATE, INIT, INITIAL_STATE, StateObservable, ReducerManagerDispatcher } from '@ngrx/store';\nimport { EMPTY, Observable, of, merge, queueScheduler, ReplaySubject } from 'rxjs';\nimport { share, filter, map, concatMap, timeout, debounceTime, catchError, take, takeUntil, switchMap, skip, observeOn, withLatestFrom, scan } from 'rxjs/operators';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nconst PERFORM_ACTION = 'PERFORM_ACTION';\nconst REFRESH = 'REFRESH';\nconst RESET = 'RESET';\nconst ROLLBACK = 'ROLLBACK';\nconst COMMIT = 'COMMIT';\nconst SWEEP = 'SWEEP';\nconst TOGGLE_ACTION = 'TOGGLE_ACTION';\nconst SET_ACTIONS_ACTIVE = 'SET_ACTIONS_ACTIVE';\nconst JUMP_TO_STATE = 'JUMP_TO_STATE';\nconst JUMP_TO_ACTION = 'JUMP_TO_ACTION';\nconst IMPORT_STATE = 'IMPORT_STATE';\nconst LOCK_CHANGES = 'LOCK_CHANGES';\nconst PAUSE_RECORDING = 'PAUSE_RECORDING';\nclass PerformAction {\n constructor(action, timestamp) {\n this.action = action;\n this.timestamp = timestamp;\n this.type = PERFORM_ACTION;\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' +\n 'Have you misspelled a constant?');\n }\n }\n}\nclass Refresh {\n constructor() {\n this.type = REFRESH;\n }\n}\nclass Reset {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = RESET;\n }\n}\nclass Rollback {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = ROLLBACK;\n }\n}\nclass Commit {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = COMMIT;\n }\n}\nclass Sweep {\n constructor() {\n this.type = SWEEP;\n }\n}\nclass ToggleAction {\n constructor(id) {\n this.id = id;\n this.type = TOGGLE_ACTION;\n }\n}\nclass SetActionsActive {\n constructor(start, end, active = true) {\n this.start = start;\n this.end = end;\n this.active = active;\n this.type = SET_ACTIONS_ACTIVE;\n }\n}\nclass JumpToState {\n constructor(index) {\n this.index = index;\n this.type = JUMP_TO_STATE;\n }\n}\nclass JumpToAction {\n constructor(actionId) {\n this.actionId = actionId;\n this.type = JUMP_TO_ACTION;\n }\n}\nclass ImportState {\n constructor(nextLiftedState) {\n this.nextLiftedState = nextLiftedState;\n this.type = IMPORT_STATE;\n }\n}\nclass LockChanges {\n constructor(status) {\n this.status = status;\n this.type = LOCK_CHANGES;\n }\n}\nclass PauseRecording {\n constructor(status) {\n this.status = status;\n this.type = PAUSE_RECORDING;\n }\n}\n\n/**\n * Chrome extension documentation\n * @see https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md\n * Firefox extension documentation\n * @see https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md\n */\nclass StoreDevtoolsConfig {\n constructor() {\n /**\n * Maximum allowed actions to be stored in the history tree (default: `false`)\n */\n this.maxAge = false;\n }\n}\nconst STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');\n/**\n * Used to provide a `StoreDevtoolsConfig` for the store-devtools.\n */\nconst INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');\nfunction noMonitor() {\n return null;\n}\nconst DEFAULT_NAME = 'NgRx Store DevTools';\nfunction createConfig(optionsInput) {\n const DEFAULT_OPTIONS = {\n maxAge: false,\n monitor: noMonitor,\n actionSanitizer: undefined,\n stateSanitizer: undefined,\n name: DEFAULT_NAME,\n serialize: false,\n logOnly: false,\n autoPause: false,\n trace: false,\n traceLimit: 75,\n // Add all features explicitly. This prevent buggy behavior for\n // options like \"lock\" which might otherwise not show up.\n features: {\n pause: true, // Start/pause recording of dispatched actions\n lock: true, // Lock/unlock dispatching actions and side effects\n persist: true, // Persist states on page reloading\n export: true, // Export history of actions in a file\n import: 'custom', // Import history of actions from a file\n jump: true, // Jump back and forth (time travelling)\n skip: true, // Skip (cancel) actions\n reorder: true, // Drag and drop actions in the history list\n dispatch: true, // Dispatch custom actions or action creators\n test: true, // Generate tests for the selected actions\n },\n connectInZone: false,\n };\n const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;\n const logOnly = options.logOnly\n ? { pause: true, export: true, test: true }\n : false;\n const features = options.features ||\n logOnly ||\n DEFAULT_OPTIONS.features;\n if (features.import === true) {\n features.import = 'custom';\n }\n const config = Object.assign({}, DEFAULT_OPTIONS, { features }, options);\n if (config.maxAge && config.maxAge < 2) {\n throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);\n }\n return config;\n}\n\nfunction difference(first, second) {\n return first.filter((item) => second.indexOf(item) < 0);\n}\n/**\n * Provides an app's view into the state of the lifted store.\n */\nfunction unliftState(liftedState) {\n const { computedStates, currentStateIndex } = liftedState;\n // At start up NgRx dispatches init actions,\n // When these init actions are being filtered out by the predicate or safe/block list options\n // we don't have a complete computed states yet.\n // At this point it could happen that we're out of bounds, when this happens we fall back to the last known state\n if (currentStateIndex >= computedStates.length) {\n const { state } = computedStates[computedStates.length - 1];\n return state;\n }\n const { state } = computedStates[currentStateIndex];\n return state;\n}\nfunction unliftAction(liftedState) {\n return liftedState.actionsById[liftedState.nextActionId - 1];\n}\n/**\n * Lifts an app's action into an action on the lifted store.\n */\nfunction liftAction(action) {\n return new PerformAction(action, +Date.now());\n}\n/**\n * Sanitizes given actions with given function.\n */\nfunction sanitizeActions(actionSanitizer, actions) {\n return Object.keys(actions).reduce((sanitizedActions, actionIdx) => {\n const idx = Number(actionIdx);\n sanitizedActions[idx] = sanitizeAction(actionSanitizer, actions[idx], idx);\n return sanitizedActions;\n }, {});\n}\n/**\n * Sanitizes given action with given function.\n */\nfunction sanitizeAction(actionSanitizer, action, actionIdx) {\n return {\n ...action,\n action: actionSanitizer(action.action, actionIdx),\n };\n}\n/**\n * Sanitizes given states with given function.\n */\nfunction sanitizeStates(stateSanitizer, states) {\n return states.map((computedState, idx) => ({\n state: sanitizeState(stateSanitizer, computedState.state, idx),\n error: computedState.error,\n }));\n}\n/**\n * Sanitizes given state with given function.\n */\nfunction sanitizeState(stateSanitizer, state, stateIdx) {\n return stateSanitizer(state, stateIdx);\n}\n/**\n * Read the config and tell if actions should be filtered\n */\nfunction shouldFilterActions(config) {\n return config.predicate || config.actionsSafelist || config.actionsBlocklist;\n}\n/**\n * Return a full filtered lifted state\n */\nfunction filterLiftedState(liftedState, predicate, safelist, blocklist) {\n const filteredStagedActionIds = [];\n const filteredActionsById = {};\n const filteredComputedStates = [];\n liftedState.stagedActionIds.forEach((id, idx) => {\n const liftedAction = liftedState.actionsById[id];\n if (!liftedAction)\n return;\n if (idx &&\n isActionFiltered(liftedState.computedStates[idx], liftedAction, predicate, safelist, blocklist)) {\n return;\n }\n filteredActionsById[id] = liftedAction;\n filteredStagedActionIds.push(id);\n filteredComputedStates.push(liftedState.computedStates[idx]);\n });\n return {\n ...liftedState,\n stagedActionIds: filteredStagedActionIds,\n actionsById: filteredActionsById,\n computedStates: filteredComputedStates,\n };\n}\n/**\n * Return true is the action should be ignored\n */\nfunction isActionFiltered(state, action, predicate, safelist, blockedlist) {\n const predicateMatch = predicate && !predicate(state, action.action);\n const safelistMatch = safelist &&\n !action.action.type.match(safelist.map((s) => escapeRegExp(s)).join('|'));\n const blocklistMatch = blockedlist &&\n action.action.type.match(blockedlist.map((s) => escapeRegExp(s)).join('|'));\n return predicateMatch || safelistMatch || blocklistMatch;\n}\n/**\n * Return string with escaped RegExp special characters\n * https://stackoverflow.com/a/6969486/1337347\n */\nfunction escapeRegExp(s) {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction injectZoneConfig(connectInZone) {\n const ngZone = connectInZone ? inject(NgZone) : null;\n return { ngZone, connectInZone };\n}\n\nclass DevtoolsDispatcher extends ActionsSubject {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsDispatcher }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsDispatcher, decorators: [{\n type: Injectable\n }] });\n\nconst ExtensionActionTypes = {\n START: 'START',\n DISPATCH: 'DISPATCH',\n STOP: 'STOP',\n ACTION: 'ACTION',\n};\nconst REDUX_DEVTOOLS_EXTENSION = new InjectionToken('@ngrx/store-devtools Redux Devtools Extension');\nclass DevtoolsExtension {\n constructor(devtoolsExtension, config, dispatcher) {\n this.config = config;\n this.dispatcher = dispatcher;\n this.zoneConfig = injectZoneConfig(this.config.connectInZone);\n this.devtoolsExtension = devtoolsExtension;\n this.createActionStreams();\n }\n notify(action, state) {\n if (!this.devtoolsExtension) {\n return;\n }\n // Check to see if the action requires a full update of the liftedState.\n // If it is a simple action generated by the user's app and the recording\n // is not locked/paused, only send the action and the current state (fast).\n //\n // A full liftedState update (slow: serializes the entire liftedState) is\n // only required when:\n // a) redux-devtools-extension fires the @@Init action (ignored by\n // @ngrx/store-devtools)\n // b) an action is generated by an @ngrx module (e.g. @ngrx/effects/init\n // or @ngrx/store/update-reducers)\n // c) the state has been recomputed due to time-traveling\n // d) any action that is not a PerformAction to err on the side of\n // caution.\n if (action.type === PERFORM_ACTION) {\n if (state.isLocked || state.isPaused) {\n return;\n }\n const currentState = unliftState(state);\n if (shouldFilterActions(this.config) &&\n isActionFiltered(currentState, action, this.config.predicate, this.config.actionsSafelist, this.config.actionsBlocklist)) {\n return;\n }\n const sanitizedState = this.config.stateSanitizer\n ? sanitizeState(this.config.stateSanitizer, currentState, state.currentStateIndex)\n : currentState;\n const sanitizedAction = this.config.actionSanitizer\n ? sanitizeAction(this.config.actionSanitizer, action, state.nextActionId)\n : action;\n this.sendToReduxDevtools(() => this.extensionConnection.send(sanitizedAction, sanitizedState));\n }\n else {\n // Requires full state update\n const sanitizedLiftedState = {\n ...state,\n stagedActionIds: state.stagedActionIds,\n actionsById: this.config.actionSanitizer\n ? sanitizeActions(this.config.actionSanitizer, state.actionsById)\n : state.actionsById,\n computedStates: this.config.stateSanitizer\n ? sanitizeStates(this.config.stateSanitizer, state.computedStates)\n : state.computedStates,\n };\n this.sendToReduxDevtools(() => this.devtoolsExtension.send(null, sanitizedLiftedState, this.getExtensionConfig(this.config)));\n }\n }\n createChangesObservable() {\n if (!this.devtoolsExtension) {\n return EMPTY;\n }\n return new Observable((subscriber) => {\n const connection = this.zoneConfig.connectInZone\n ? // To reduce change detection cycles, we need to run the `connect` method\n // outside of the Angular zone. The `connect` method adds a `message`\n // event listener to communicate with an extension using `window.postMessage`\n // and handle message events.\n this.zoneConfig.ngZone.runOutsideAngular(() => this.devtoolsExtension.connect(this.getExtensionConfig(this.config)))\n : this.devtoolsExtension.connect(this.getExtensionConfig(this.config));\n this.extensionConnection = connection;\n connection.init();\n connection.subscribe((change) => subscriber.next(change));\n return connection.unsubscribe;\n });\n }\n createActionStreams() {\n // Listens to all changes\n const changes$ = this.createChangesObservable().pipe(share());\n // Listen for the start action\n const start$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.START));\n // Listen for the stop action\n const stop$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.STOP));\n // Listen for lifted actions\n const liftedActions$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.DISPATCH), map((change) => this.unwrapAction(change.payload)), concatMap((action) => {\n if (action.type === IMPORT_STATE) {\n // State imports may happen in two situations:\n // 1. Explicitly by user\n // 2. User activated the \"persist state accross reloads\" option\n // and now the state is imported during reload.\n // Because of option 2, we need to give possible\n // lazy loaded reducers time to instantiate.\n // As soon as there is no UPDATE action within 1 second,\n // it is assumed that all reducers are loaded.\n return this.dispatcher.pipe(filter((action) => action.type === UPDATE), timeout(1000), debounceTime(1000), map(() => action), catchError(() => of(action)), take(1));\n }\n else {\n return of(action);\n }\n }));\n // Listen for unlifted actions\n const actions$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.ACTION), map((change) => this.unwrapAction(change.payload)));\n const actionsUntilStop$ = actions$.pipe(takeUntil(stop$));\n const liftedUntilStop$ = liftedActions$.pipe(takeUntil(stop$));\n this.start$ = start$.pipe(takeUntil(stop$));\n // Only take the action sources between the start/stop events\n this.actions$ = this.start$.pipe(switchMap(() => actionsUntilStop$));\n this.liftedActions$ = this.start$.pipe(switchMap(() => liftedUntilStop$));\n }\n unwrapAction(action) {\n // indirect eval according to https://esbuild.github.io/content-types/#direct-eval\n return typeof action === 'string' ? (0, eval)(`(${action})`) : action;\n }\n getExtensionConfig(config) {\n const extensionOptions = {\n name: config.name,\n features: config.features,\n serialize: config.serialize,\n autoPause: config.autoPause ?? false,\n trace: config.trace ?? false,\n traceLimit: config.traceLimit ?? 75,\n // The action/state sanitizers are not added to the config\n // because sanitation is done in this class already.\n // It is done before sending it to the devtools extension for consistency:\n // - If we call extensionConnection.send(...),\n // the extension would call the sanitizers.\n // - If we call devtoolsExtension.send(...) (aka full state update),\n // the extension would NOT call the sanitizers, so we have to do it ourselves.\n };\n if (config.maxAge !== false /* support === 0 */) {\n extensionOptions.maxAge = config.maxAge;\n }\n return extensionOptions;\n }\n sendToReduxDevtools(send) {\n try {\n send();\n }\n catch (err) {\n console.warn('@ngrx/store-devtools: something went wrong inside the redux devtools', err);\n }\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsExtension, deps: [{ token: REDUX_DEVTOOLS_EXTENSION }, { token: STORE_DEVTOOLS_CONFIG }, { token: DevtoolsDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsExtension }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsExtension, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [REDUX_DEVTOOLS_EXTENSION]\n }] }, { type: StoreDevtoolsConfig, decorators: [{\n type: Inject,\n args: [STORE_DEVTOOLS_CONFIG]\n }] }, { type: DevtoolsDispatcher }] });\n\nconst INIT_ACTION = { type: INIT };\nconst RECOMPUTE = '@ngrx/store-devtools/recompute';\nconst RECOMPUTE_ACTION = { type: RECOMPUTE };\n/**\n * Computes the next entry in the log by applying an action.\n */\nfunction computeNextEntry(reducer, action, state, error, errorHandler) {\n if (error) {\n return {\n state,\n error: 'Interrupted by an error up the chain',\n };\n }\n let nextState = state;\n let nextError;\n try {\n nextState = reducer(state, action);\n }\n catch (err) {\n nextError = err.toString();\n errorHandler.handleError(err);\n }\n return {\n state: nextState,\n error: nextError,\n };\n}\n/**\n * Runs the reducer on invalidated actions to get a fresh computation log.\n */\nfunction recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused) {\n // Optimization: exit early and return the same reference\n // if we know nothing could have changed.\n if (minInvalidatedStateIndex >= computedStates.length &&\n computedStates.length === stagedActionIds.length) {\n return computedStates;\n }\n const nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex);\n // If the recording is paused, recompute all states up until the pause state,\n // else recompute all states.\n const lastIncludedActionId = stagedActionIds.length - (isPaused ? 1 : 0);\n for (let i = minInvalidatedStateIndex; i < lastIncludedActionId; i++) {\n const actionId = stagedActionIds[i];\n const action = actionsById[actionId].action;\n const previousEntry = nextComputedStates[i - 1];\n const previousState = previousEntry ? previousEntry.state : committedState;\n const previousError = previousEntry ? previousEntry.error : undefined;\n const shouldSkip = skippedActionIds.indexOf(actionId) > -1;\n const entry = shouldSkip\n ? previousEntry\n : computeNextEntry(reducer, action, previousState, previousError, errorHandler);\n nextComputedStates.push(entry);\n }\n // If the recording is paused, the last state will not be recomputed,\n // because it's essentially not part of the state history.\n if (isPaused) {\n nextComputedStates.push(computedStates[computedStates.length - 1]);\n }\n return nextComputedStates;\n}\nfunction liftInitialState(initialCommittedState, monitorReducer) {\n return {\n monitorState: monitorReducer(undefined, {}),\n nextActionId: 1,\n actionsById: { 0: liftAction(INIT_ACTION) },\n stagedActionIds: [0],\n skippedActionIds: [],\n committedState: initialCommittedState,\n currentStateIndex: 0,\n computedStates: [],\n isLocked: false,\n isPaused: false,\n };\n}\n/**\n * Creates a history state reducer from an app's reducer.\n */\nfunction liftReducerWith(initialCommittedState, initialLiftedState, errorHandler, monitorReducer, options = {}) {\n /**\n * Manages how the history actions modify the history state.\n */\n return (reducer) => (liftedState, liftedAction) => {\n let { monitorState, actionsById, nextActionId, stagedActionIds, skippedActionIds, committedState, currentStateIndex, computedStates, isLocked, isPaused, } = liftedState || initialLiftedState;\n if (!liftedState) {\n // Prevent mutating initialLiftedState\n actionsById = Object.create(actionsById);\n }\n function commitExcessActions(n) {\n // Auto-commits n-number of excess actions.\n let excess = n;\n let idsToDelete = stagedActionIds.slice(1, excess + 1);\n for (let i = 0; i < idsToDelete.length; i++) {\n if (computedStates[i + 1].error) {\n // Stop if error is found. Commit actions up to error.\n excess = i;\n idsToDelete = stagedActionIds.slice(1, excess + 1);\n break;\n }\n else {\n delete actionsById[idsToDelete[i]];\n }\n }\n skippedActionIds = skippedActionIds.filter((id) => idsToDelete.indexOf(id) === -1);\n stagedActionIds = [0, ...stagedActionIds.slice(excess + 1)];\n committedState = computedStates[excess].state;\n computedStates = computedStates.slice(excess);\n currentStateIndex =\n currentStateIndex > excess ? currentStateIndex - excess : 0;\n }\n function commitChanges() {\n // Consider the last committed state the new starting point.\n // Squash any staged actions into a single committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = computedStates[currentStateIndex].state;\n currentStateIndex = 0;\n computedStates = [];\n }\n // By default, aggressively recompute every state whatever happens.\n // This has O(n) performance, so we'll override this to a sensible\n // value whenever we feel like we don't have to recompute the states.\n let minInvalidatedStateIndex = 0;\n switch (liftedAction.type) {\n case LOCK_CHANGES: {\n isLocked = liftedAction.status;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case PAUSE_RECORDING: {\n isPaused = liftedAction.status;\n if (isPaused) {\n // Add a pause action to signal the devtools-user the recording is paused.\n // The corresponding state will be overwritten on each update to always contain\n // the latest state (see Actions.PERFORM_ACTION).\n stagedActionIds = [...stagedActionIds, nextActionId];\n actionsById[nextActionId] = new PerformAction({\n type: '@ngrx/devtools/pause',\n }, +Date.now());\n nextActionId++;\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = computedStates.concat(computedStates[computedStates.length - 1]);\n if (currentStateIndex === stagedActionIds.length - 2) {\n currentStateIndex++;\n }\n minInvalidatedStateIndex = Infinity;\n }\n else {\n commitChanges();\n }\n break;\n }\n case RESET: {\n // Get back to the state the store was created with.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = initialCommittedState;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case COMMIT: {\n commitChanges();\n break;\n }\n case ROLLBACK: {\n // Forget about any staged actions.\n // Start again from the last committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case TOGGLE_ACTION: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const { id: actionId } = liftedAction;\n const index = skippedActionIds.indexOf(actionId);\n if (index === -1) {\n skippedActionIds = [actionId, ...skippedActionIds];\n }\n else {\n skippedActionIds = skippedActionIds.filter((id) => id !== actionId);\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(actionId);\n break;\n }\n case SET_ACTIONS_ACTIVE: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const { start, end, active } = liftedAction;\n const actionIds = [];\n for (let i = start; i < end; i++)\n actionIds.push(i);\n if (active) {\n skippedActionIds = difference(skippedActionIds, actionIds);\n }\n else {\n skippedActionIds = [...skippedActionIds, ...actionIds];\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(start);\n break;\n }\n case JUMP_TO_STATE: {\n // Without recomputing anything, move the pointer that tell us\n // which state is considered the current one. Useful for sliders.\n currentStateIndex = liftedAction.index;\n // Optimization: we know the history has not changed.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case JUMP_TO_ACTION: {\n // Jumps to a corresponding state to a specific action.\n // Useful when filtering actions.\n const index = stagedActionIds.indexOf(liftedAction.actionId);\n if (index !== -1)\n currentStateIndex = index;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case SWEEP: {\n // Forget any actions that are currently being skipped.\n stagedActionIds = difference(stagedActionIds, skippedActionIds);\n skippedActionIds = [];\n currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1);\n break;\n }\n case PERFORM_ACTION: {\n // Ignore action and return state as is if recording is locked\n if (isLocked) {\n return liftedState || initialLiftedState;\n }\n if (isPaused ||\n (liftedState &&\n isActionFiltered(liftedState.computedStates[currentStateIndex], liftedAction, options.predicate, options.actionsSafelist, options.actionsBlocklist))) {\n // If recording is paused or if the action should be ignored, overwrite the last state\n // (corresponds to the pause action) and keep everything else as is.\n // This way, the app gets the new current state while the devtools\n // do not record another action.\n const lastState = computedStates[computedStates.length - 1];\n computedStates = [\n ...computedStates.slice(0, -1),\n computeNextEntry(reducer, liftedAction.action, lastState.state, lastState.error, errorHandler),\n ];\n minInvalidatedStateIndex = Infinity;\n break;\n }\n // Auto-commit as new actions come in.\n if (options.maxAge && stagedActionIds.length === options.maxAge) {\n commitExcessActions(1);\n }\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n const actionId = nextActionId++;\n // Mutation! This is the hottest path, and we optimize on purpose.\n // It is safe because we set a new key in a cache dictionary.\n actionsById[actionId] = liftedAction;\n stagedActionIds = [...stagedActionIds, actionId];\n // Optimization: we know that only the new action needs computing.\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n break;\n }\n case IMPORT_STATE: {\n // Completely replace everything.\n ({\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused,\n } = liftedAction.nextLiftedState);\n break;\n }\n case INIT: {\n // Always recompute states on hot reload and init.\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n case UPDATE: {\n const stateHasErrors = computedStates.filter((state) => state.error).length > 0;\n if (stateHasErrors) {\n // Recompute all states\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n }\n else {\n // If not paused/locked, add a new action to signal devtools-user\n // that there was a reducer update.\n if (!isPaused && !isLocked) {\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n // Add a new action to only recompute state\n const actionId = nextActionId++;\n actionsById[actionId] = new PerformAction(liftedAction, +Date.now());\n stagedActionIds = [...stagedActionIds, actionId];\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n }\n // Recompute state history with latest reducer and update action\n computedStates = computedStates.map((cmp) => ({\n ...cmp,\n state: reducer(cmp.state, RECOMPUTE_ACTION),\n }));\n currentStateIndex = stagedActionIds.length - 1;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n commitExcessActions(stagedActionIds.length - options.maxAge);\n }\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n default: {\n // If the action is not recognized, it's a monitor action.\n // Optimization: a monitor action can't change history.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n }\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n monitorState = monitorReducer(monitorState, liftedAction);\n return {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused,\n };\n };\n}\n\nclass StoreDevtools {\n constructor(dispatcher, actions$, reducers$, extension, scannedActions, errorHandler, initialState, config) {\n const liftedInitialState = liftInitialState(initialState, config.monitor);\n const liftReducer = liftReducerWith(initialState, liftedInitialState, errorHandler, config.monitor, config);\n const liftedAction$ = merge(merge(actions$.asObservable().pipe(skip(1)), extension.actions$).pipe(map(liftAction)), dispatcher, extension.liftedActions$).pipe(observeOn(queueScheduler));\n const liftedReducer$ = reducers$.pipe(map(liftReducer));\n const zoneConfig = injectZoneConfig(config.connectInZone);\n const liftedStateSubject = new ReplaySubject(1);\n this.liftedStateSubscription = liftedAction$\n .pipe(withLatestFrom(liftedReducer$), \n // The extension would post messages back outside of the Angular zone\n // because we call `connect()` wrapped with `runOutsideAngular`. We run change\n // detection only once at the end after all the required asynchronous tasks have\n // been processed (for instance, `setInterval` scheduled by the `timeout` operator).\n // We have to re-enter the Angular zone before the `scan` since it runs the reducer\n // which must be run within the Angular zone.\n emitInZone(zoneConfig), scan(({ state: liftedState }, [action, reducer]) => {\n let reducedLiftedState = reducer(liftedState, action);\n // On full state update\n // If we have actions filters, we must filter completely our lifted state to be sync with the extension\n if (action.type !== PERFORM_ACTION && shouldFilterActions(config)) {\n reducedLiftedState = filterLiftedState(reducedLiftedState, config.predicate, config.actionsSafelist, config.actionsBlocklist);\n }\n // Extension should be sent the sanitized lifted state\n extension.notify(action, reducedLiftedState);\n return { state: reducedLiftedState, action };\n }, { state: liftedInitialState, action: null }))\n .subscribe(({ state, action }) => {\n liftedStateSubject.next(state);\n if (action.type === PERFORM_ACTION) {\n const unliftedAction = action.action;\n scannedActions.next(unliftedAction);\n }\n });\n this.extensionStartSubscription = extension.start$\n .pipe(emitInZone(zoneConfig))\n .subscribe(() => {\n this.refresh();\n });\n const liftedState$ = liftedStateSubject.asObservable();\n const state$ = liftedState$.pipe(map(unliftState));\n Object.defineProperty(state$, 'state', {\n value: toSignal(state$, { manualCleanup: true, requireSync: true }),\n });\n this.dispatcher = dispatcher;\n this.liftedState = liftedState$;\n this.state = state$;\n }\n ngOnDestroy() {\n // Even though the store devtools plugin is recommended to be\n // used only in development mode, it can still cause a memory leak\n // in microfrontend applications that are being created and destroyed\n // multiple times during development. This results in excessive memory\n // consumption, as it prevents entire apps from being garbage collected.\n this.liftedStateSubscription.unsubscribe();\n this.extensionStartSubscription.unsubscribe();\n }\n dispatch(action) {\n this.dispatcher.next(action);\n }\n next(action) {\n this.dispatcher.next(action);\n }\n error(error) { }\n complete() { }\n performAction(action) {\n this.dispatch(new PerformAction(action, +Date.now()));\n }\n refresh() {\n this.dispatch(new Refresh());\n }\n reset() {\n this.dispatch(new Reset(+Date.now()));\n }\n rollback() {\n this.dispatch(new Rollback(+Date.now()));\n }\n commit() {\n this.dispatch(new Commit(+Date.now()));\n }\n sweep() {\n this.dispatch(new Sweep());\n }\n toggleAction(id) {\n this.dispatch(new ToggleAction(id));\n }\n jumpToAction(actionId) {\n this.dispatch(new JumpToAction(actionId));\n }\n jumpToState(index) {\n this.dispatch(new JumpToState(index));\n }\n importState(nextLiftedState) {\n this.dispatch(new ImportState(nextLiftedState));\n }\n lockChanges(status) {\n this.dispatch(new LockChanges(status));\n }\n pauseRecording(status) {\n this.dispatch(new PauseRecording(status));\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtools, deps: [{ token: DevtoolsDispatcher }, { token: i2.ActionsSubject }, { token: i2.ReducerObservable }, { token: DevtoolsExtension }, { token: i2.ScannedActionsSubject }, { token: i0.ErrorHandler }, { token: INITIAL_STATE }, { token: STORE_DEVTOOLS_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtools }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtools, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: DevtoolsDispatcher }, { type: i2.ActionsSubject }, { type: i2.ReducerObservable }, { type: DevtoolsExtension }, { type: i2.ScannedActionsSubject }, { type: i0.ErrorHandler }, { type: undefined, decorators: [{\n type: Inject,\n args: [INITIAL_STATE]\n }] }, { type: StoreDevtoolsConfig, decorators: [{\n type: Inject,\n args: [STORE_DEVTOOLS_CONFIG]\n }] }] });\n/**\n * If the devtools extension is connected out of the Angular zone,\n * this operator will emit all events within the zone.\n */\nfunction emitInZone({ ngZone, connectInZone, }) {\n return (source) => connectInZone\n ? new Observable((subscriber) => source.subscribe({\n next: (value) => ngZone.run(() => subscriber.next(value)),\n error: (error) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }))\n : source;\n}\n\nconst IS_EXTENSION_OR_MONITOR_PRESENT = new InjectionToken('@ngrx/store-devtools Is Devtools Extension or Monitor Present');\nfunction createIsExtensionOrMonitorPresent(extension, config) {\n return Boolean(extension) || config.monitor !== noMonitor;\n}\nfunction createReduxDevtoolsExtension() {\n const extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';\n if (typeof window === 'object' &&\n typeof window[extensionKey] !== 'undefined') {\n return window[extensionKey];\n }\n else {\n return null;\n }\n}\n/**\n * Provides developer tools and instrumentation for `Store`.\n *\n * @usageNotes\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideStoreDevtools({\n * maxAge: 25,\n * logOnly: !isDevMode(),\n * }),\n * ],\n * });\n * ```\n */\nfunction provideStoreDevtools(options = {}) {\n return makeEnvironmentProviders([\n DevtoolsExtension,\n DevtoolsDispatcher,\n StoreDevtools,\n {\n provide: INITIAL_OPTIONS,\n useValue: options,\n },\n {\n provide: IS_EXTENSION_OR_MONITOR_PRESENT,\n deps: [REDUX_DEVTOOLS_EXTENSION, STORE_DEVTOOLS_CONFIG],\n useFactory: createIsExtensionOrMonitorPresent,\n },\n {\n provide: REDUX_DEVTOOLS_EXTENSION,\n useFactory: createReduxDevtoolsExtension,\n },\n {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: createConfig,\n },\n {\n provide: StateObservable,\n deps: [StoreDevtools],\n useFactory: createStateObservable,\n },\n {\n provide: ReducerManagerDispatcher,\n useExisting: DevtoolsDispatcher,\n },\n ]);\n}\n\nfunction createStateObservable(devtools) {\n return devtools.state;\n}\nclass StoreDevtoolsModule {\n static instrument(options = {}) {\n return {\n ngModule: StoreDevtoolsModule,\n providers: [provideStoreDevtools(options)],\n };\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule }); }\n /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { INITIAL_OPTIONS, RECOMPUTE, REDUX_DEVTOOLS_EXTENSION, StoreDevtools, StoreDevtoolsConfig, StoreDevtoolsModule, provideStoreDevtools };\n","import { Injectable } from \"@angular/core\";\nimport { reducers } from \"../@store/reducers\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class StoreService {\n getReducers() {\n return reducers;\n }\n}\n","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2024 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n/******/ // The require scope\n/******/ var __webpack_require__ = {};\n/******/ \n/************************************************************************/\n/******/ /* webpack/runtime/define property getters */\n/******/ (() => {\n/******/ \t// define getter functions for harmony exports\n/******/ \t__webpack_require__.d = (exports, definition) => {\n/******/ \t\tfor(var key in definition) {\n/******/ \t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t};\n/******/ })();\n/******/ \n/******/ /* webpack/runtime/hasOwnProperty shorthand */\n/******/ (() => {\n/******/ \t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ })();\n/******/ \n/************************************************************************/\nvar __webpack_exports__ = globalThis.pdfjsLib = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n AbortException: () => (/* reexport */ AbortException),\n AnnotationEditorLayer: () => (/* reexport */ AnnotationEditorLayer),\n AnnotationEditorParamsType: () => (/* reexport */ AnnotationEditorParamsType),\n AnnotationEditorType: () => (/* reexport */ AnnotationEditorType),\n AnnotationEditorUIManager: () => (/* reexport */ AnnotationEditorUIManager),\n AnnotationLayer: () => (/* reexport */ AnnotationLayer),\n AnnotationMode: () => (/* reexport */ AnnotationMode),\n ColorPicker: () => (/* reexport */ ColorPicker),\n DOMSVGFactory: () => (/* reexport */ DOMSVGFactory),\n DrawLayer: () => (/* reexport */ DrawLayer),\n FeatureTest: () => (/* reexport */ util_FeatureTest),\n GlobalWorkerOptions: () => (/* reexport */ GlobalWorkerOptions),\n ImageKind: () => (/* reexport */ util_ImageKind),\n InvalidPDFException: () => (/* reexport */ InvalidPDFException),\n MissingPDFException: () => (/* reexport */ MissingPDFException),\n OPS: () => (/* reexport */ OPS),\n OutputScale: () => (/* reexport */ OutputScale),\n PDFDataRangeTransport: () => (/* reexport */ PDFDataRangeTransport),\n PDFDateString: () => (/* reexport */ PDFDateString),\n PDFWorker: () => (/* reexport */ PDFWorker),\n PasswordResponses: () => (/* reexport */ PasswordResponses),\n PermissionFlag: () => (/* reexport */ PermissionFlag),\n PixelsPerInch: () => (/* reexport */ PixelsPerInch),\n RenderingCancelledException: () => (/* reexport */ RenderingCancelledException),\n TextLayer: () => (/* reexport */ TextLayer),\n UnexpectedResponseException: () => (/* reexport */ UnexpectedResponseException),\n Util: () => (/* reexport */ Util),\n VerbosityLevel: () => (/* reexport */ VerbosityLevel),\n XfaLayer: () => (/* reexport */ XfaLayer),\n build: () => (/* reexport */ build),\n createValidAbsoluteUrl: () => (/* reexport */ createValidAbsoluteUrl),\n fetchData: () => (/* reexport */ fetchData),\n getDocument: () => (/* reexport */ getDocument),\n getFilenameFromUrl: () => (/* reexport */ getFilenameFromUrl),\n getPdfFilenameFromUrl: () => (/* reexport */ getPdfFilenameFromUrl),\n getXfaPageViewport: () => (/* reexport */ getXfaPageViewport),\n isDataScheme: () => (/* reexport */ isDataScheme),\n isPdfFile: () => (/* reexport */ isPdfFile),\n noContextMenu: () => (/* reexport */ noContextMenu),\n normalizeUnicode: () => (/* reexport */ normalizeUnicode),\n setLayerDimensions: () => (/* reexport */ setLayerDimensions),\n shadow: () => (/* reexport */ shadow),\n version: () => (/* reexport */ version)\n});\n\n;// ./src/shared/util.js\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n IS_EDITING: 0x80,\n OPLIST: 0x100\n};\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n HIGHLIGHT: 9,\n STAMP: 13,\n INK: 15\n};\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n HIGHLIGHT_COLOR: 31,\n HIGHLIGHT_DEFAULT_COLOR: 32,\n HIGHLIGHT_THICKNESS: 33,\n HIGHLIGHT_FREE: 34,\n HIGHLIGHT_SHOW_ALL: 35\n};\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nconst util_ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n setStrokeTransparent: 92,\n setFillTransparent: 93\n};\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch {\n return false;\n }\n}\nclass util_FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator !== \"undefined\" && typeof navigator?.platform === \"string\") {\n return shadow(this, \"platform\", {\n isMac: navigator.platform.includes(\"Mac\"),\n isWindows: navigator.platform.includes(\"Win\"),\n isFirefox: typeof navigator?.userAgent === \"string\" && navigator.userAgent.includes(\"Firefox\")\n });\n }\n return shadow(this, \"platform\", {\n isMac: false,\n isWindows: false,\n isFirefox: false\n });\n }\n static get isCSSRoundSupported() {\n return shadow(this, \"isCSSRoundSupported\", globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\"));\n }\n}\nconst hexNumbers = Array.from(Array(256).keys(), n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n }\n minMax[0] *= transform[0];\n minMax[2] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n }\n minMax[1] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n }\n minMax[1] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n }\n minMax[0] *= transform[2];\n minMax[2] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[5];\n minMax[2] += transform[4];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static #getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, t, minMax) {\n if (t <= 0 || t >= 1) {\n return;\n }\n const mt = 1 - t;\n const tt = t * t;\n const ttt = tt * t;\n const x = mt * (mt * (mt * x0 + 3 * t * x1) + 3 * tt * x2) + ttt * x3;\n const y = mt * (mt * (mt * y0 + 3 * t * y1) + 3 * tt * y2) + ttt * y3;\n minMax[0] = Math.min(minMax[0], x);\n minMax[1] = Math.min(minMax[1], y);\n minMax[2] = Math.max(minMax[2], x);\n minMax[3] = Math.max(minMax[3], y);\n }\n static #getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, a, b, c, minMax) {\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) >= 1e-12) {\n this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, -c / b, minMax);\n }\n return;\n }\n const delta = b ** 2 - 4 * c * a;\n if (delta < 0) {\n return;\n }\n const sqrtDelta = Math.sqrt(delta);\n const a2 = 2 * a;\n this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, (-b + sqrtDelta) / a2, minMax);\n this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, (-b - sqrtDelta) / a2, minMax);\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n if (minMax) {\n minMax[0] = Math.min(minMax[0], x0, x3);\n minMax[1] = Math.min(minMax[1], y0, y3);\n minMax[2] = Math.max(minMax[2], x0, x3);\n minMax[3] = Math.max(minMax[3], y0, y3);\n } else {\n minMax = [Math.min(x0, x3), Math.min(y0, y3), Math.max(x0, x3), Math.max(y0, y3)];\n }\n this.#getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, 3 * (-x0 + 3 * (x1 - x2) + x3), 6 * (x0 - 2 * x1 + x2), 3 * (x1 - x0), minMax);\n this.#getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, 3 * (-y0 + 3 * (y1 - y2) + y3), 6 * (y0 - 2 * y1 + y2), 3 * (y1 - y0), minMax);\n return minMax;\n }\n}\nconst PDFStringTranslateTable = (/* unused pure expression or super */ null && ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]));\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n if (str.length % 2 === 1) {\n str = str.slice(0, -1);\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n if (str.length % 2 === 1) {\n str = str.slice(0, -1);\n }\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n const decoded = decoder.decode(buffer);\n if (!decoded.includes(\"\\x1b\")) {\n return decoded;\n }\n return decoded.replaceAll(/\\x1b[^\\x1b]*(?:\\x1b|$)/g, \"\");\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const charCode = str.charCodeAt(i);\n if (charCode === 0x1b) {\n while (++i < ii && str.charCodeAt(i) !== 0x1b) {}\n continue;\n }\n const code = PDFStringTranslateTable[charCode];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2));\n}\nfunction getUuid() {\n if (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (typeof crypto !== \"undefined\" && typeof crypto?.getRandomValues === \"function\") {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nconst FontRenderOps = {\n BEZIER_CURVE_TO: 0,\n MOVE_TO: 1,\n LINE_TO: 2,\n QUADRATIC_CURVE_TO: 3,\n RESTORE: 4,\n SAVE: 5,\n SCALE: 6,\n TRANSFORM: 7,\n TRANSLATE: 8\n};\nfunction toHexUtil(arr) {\n if (Uint8Array.prototype.toHex) {\n return arr.toHex();\n }\n return Array.from(arr, num => hexNumbers[num]).join(\"\");\n}\nfunction toBase64Util(arr) {\n if (Uint8Array.prototype.toBase64) {\n return arr.toBase64();\n }\n return btoa(bytesToString(arr));\n}\nfunction fromBase64Util(str) {\n if (Uint8Array.fromBase64) {\n return Uint8Array.fromBase64(str);\n }\n return stringToBytes(atob(str));\n}\n\n;// ./src/display/display_utils.js\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nasync function fetchData(url, type = \"text\") {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n switch (type) {\n case \"arraybuffer\":\n return response.arrayBuffer();\n case \"blob\":\n return response.blob();\n case \"json\":\n return response.json();\n }\n return response.text();\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n request.responseType = type;\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n switch (type) {\n case \"arraybuffer\":\n case \"blob\":\n case \"json\":\n resolve(request.response);\n return;\n }\n resolve(request.responseText);\n return;\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return shadow(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n}\nclass RenderingCancelledException extends BaseException {\n constructor(msg, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.extraDelay = extraDelay;\n }\n}\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url) {\n [url] = url.split(/[#?]/, 1);\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n warn('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n warn(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n warn(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch {\n return false;\n }\n}\nfunction noContextMenu(e) {\n e.preventDefault();\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nclass PDFDateString {\n static #regex;\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n this.#regex ||= new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n const matches = this.#regex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n warn(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const useRound = util_FeatureTest.isCSSRoundSupported;\n const w = `var(--scale-factor) * ${pageWidth}px`,\n h = `var(--scale-factor) * ${pageHeight}px`;\n const widthStr = useRound ? `round(down, ${w}, var(--scale-round-x, 1px))` : `calc(${w})`,\n heightStr = useRound ? `round(down, ${h}, var(--scale-round-y, 1px))` : `calc(${h})`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n this.sx = pixelRatio;\n this.sy = pixelRatio;\n }\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n get symmetric() {\n return this.sx === this.sy;\n }\n}\n\n;// ./src/display/editor/toolbar.js\n\nclass EditorToolbar {\n #toolbar = null;\n #colorPicker = null;\n #editor;\n #buttons = null;\n #altText = null;\n static #l10nRemove = null;\n constructor(editor) {\n this.#editor = editor;\n EditorToolbar.#l10nRemove ||= Object.freeze({\n freetext: \"pdfjs-editor-remove-freetext-button\",\n highlight: \"pdfjs-editor-remove-highlight-button\",\n ink: \"pdfjs-editor-remove-ink-button\",\n stamp: \"pdfjs-editor-remove-stamp-button\"\n });\n }\n render() {\n const editToolbar = this.#toolbar = document.createElement(\"div\");\n editToolbar.classList.add(\"editToolbar\", \"hidden\");\n editToolbar.setAttribute(\"role\", \"toolbar\");\n const signal = this.#editor._uiManager._signal;\n editToolbar.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n editToolbar.addEventListener(\"pointerdown\", EditorToolbar.#pointerDown, {\n signal\n });\n const buttons = this.#buttons = document.createElement(\"div\");\n buttons.className = \"buttons\";\n editToolbar.append(buttons);\n const position = this.#editor.toolbarPosition;\n if (position) {\n const {\n style\n } = editToolbar;\n const x = this.#editor._uiManager.direction === \"ltr\" ? 1 - position[0] : position[0];\n style.insetInlineEnd = `${100 * x}%`;\n style.top = `calc(${100 * position[1]}% + var(--editor-toolbar-vert-offset))`;\n }\n this.#addDeleteButton();\n return editToolbar;\n }\n get div() {\n return this.#toolbar;\n }\n static #pointerDown(e) {\n e.stopPropagation();\n }\n #focusIn(e) {\n this.#editor._focusEventsAllowed = false;\n e.preventDefault();\n e.stopPropagation();\n }\n #focusOut(e) {\n this.#editor._focusEventsAllowed = true;\n e.preventDefault();\n e.stopPropagation();\n }\n #addListenersToElement(element) {\n const signal = this.#editor._uiManager._signal;\n element.addEventListener(\"focusin\", this.#focusIn.bind(this), {\n capture: true,\n signal\n });\n element.addEventListener(\"focusout\", this.#focusOut.bind(this), {\n capture: true,\n signal\n });\n element.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n }\n hide() {\n this.#toolbar.classList.add(\"hidden\");\n this.#colorPicker?.hideDropdown();\n }\n show() {\n this.#toolbar.classList.remove(\"hidden\");\n this.#altText?.shown();\n }\n #addDeleteButton() {\n const {\n editorType,\n _uiManager\n } = this.#editor;\n const button = document.createElement(\"button\");\n button.className = \"delete\";\n button.tabIndex = 0;\n button.setAttribute(\"data-l10n-id\", EditorToolbar.#l10nRemove[editorType]);\n this.#addListenersToElement(button);\n button.addEventListener(\"click\", e => {\n _uiManager.delete();\n }, {\n signal: _uiManager._signal\n });\n this.#buttons.append(button);\n }\n get #divider() {\n const divider = document.createElement(\"div\");\n divider.className = \"divider\";\n return divider;\n }\n async addAltText(altText) {\n const button = await altText.render();\n this.#addListenersToElement(button);\n this.#buttons.prepend(button, this.#divider);\n this.#altText = altText;\n }\n addColorPicker(colorPicker) {\n this.#colorPicker = colorPicker;\n const button = colorPicker.renderButton();\n this.#addListenersToElement(button);\n this.#buttons.prepend(button, this.#divider);\n }\n remove() {\n this.#toolbar.remove();\n this.#colorPicker?.destroy();\n this.#colorPicker = null;\n }\n}\nclass HighlightToolbar {\n #buttons = null;\n #toolbar = null;\n #uiManager;\n constructor(uiManager) {\n this.#uiManager = uiManager;\n }\n #render() {\n const editToolbar = this.#toolbar = document.createElement(\"div\");\n editToolbar.className = \"editToolbar\";\n editToolbar.setAttribute(\"role\", \"toolbar\");\n editToolbar.addEventListener(\"contextmenu\", noContextMenu, {\n signal: this.#uiManager._signal\n });\n const buttons = this.#buttons = document.createElement(\"div\");\n buttons.className = \"buttons\";\n editToolbar.append(buttons);\n this.#addHighlightButton();\n return editToolbar;\n }\n #getLastPoint(boxes, isLTR) {\n let lastY = 0;\n let lastX = 0;\n for (const box of boxes) {\n const y = box.y + box.height;\n if (y < lastY) {\n continue;\n }\n const x = box.x + (isLTR ? box.width : 0);\n if (y > lastY) {\n lastX = x;\n lastY = y;\n continue;\n }\n if (isLTR) {\n if (x > lastX) {\n lastX = x;\n }\n } else if (x < lastX) {\n lastX = x;\n }\n }\n return [isLTR ? 1 - lastX : lastX, lastY];\n }\n show(parent, boxes, isLTR) {\n const [x, y] = this.#getLastPoint(boxes, isLTR);\n const {\n style\n } = this.#toolbar ||= this.#render();\n parent.append(this.#toolbar);\n style.insetInlineEnd = `${100 * x}%`;\n style.top = `calc(${100 * y}% + var(--editor-toolbar-vert-offset))`;\n }\n hide() {\n this.#toolbar.remove();\n }\n #addHighlightButton() {\n const button = document.createElement(\"button\");\n button.className = \"highlightButton\";\n button.tabIndex = 0;\n button.setAttribute(\"data-l10n-id\", `pdfjs-highlight-floating-button1`);\n const span = document.createElement(\"span\");\n button.append(span);\n span.className = \"visuallyHidden\";\n span.setAttribute(\"data-l10n-id\", \"pdfjs-highlight-floating-button-label\");\n const signal = this.#uiManager._signal;\n button.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n button.addEventListener(\"click\", () => {\n this.#uiManager.highlightSelection(\"floating_button\");\n }, {\n signal\n });\n this.#buttons.append(button);\n }\n}\n\n;// ./src/display/editor/tools.js\n\n\n\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n get id() {\n return `${AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass ImageManager {\n #baseId = getUuid();\n #id = 0;\n #cache = null;\n static get _isSVGFittingCanvas() {\n const svg = `data:image/svg+xml;charset=UTF-8,`;\n const canvas = new OffscreenCanvas(1, 3);\n const ctx = canvas.getContext(\"2d\", {\n willReadFrequently: true\n });\n const image = new Image();\n image.src = svg;\n const promise = image.decode().then(() => {\n ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3);\n return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0;\n });\n return shadow(this, \"_isSVGFittingCanvas\", promise);\n }\n async #get(key, rawData) {\n this.#cache ||= new Map();\n let data = this.#cache.get(key);\n if (data === null) {\n return null;\n }\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n try {\n data ||= {\n bitmap: null,\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 0,\n isSvg: false\n };\n let image;\n if (typeof rawData === \"string\") {\n data.url = rawData;\n image = await fetchData(rawData, \"blob\");\n } else if (rawData instanceof File) {\n image = data.file = rawData;\n } else if (rawData instanceof Blob) {\n image = rawData;\n }\n if (image.type === \"image/svg+xml\") {\n const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas;\n const fileReader = new FileReader();\n const imageElement = new Image();\n const imagePromise = new Promise((resolve, reject) => {\n imageElement.onload = () => {\n data.bitmap = imageElement;\n data.isSvg = true;\n resolve();\n };\n fileReader.onload = async () => {\n const url = data.svgUrl = fileReader.result;\n imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url;\n };\n imageElement.onerror = fileReader.onerror = reject;\n });\n fileReader.readAsDataURL(image);\n await imagePromise;\n } else {\n data.bitmap = await createImageBitmap(image);\n }\n data.refCounter = 1;\n } catch (e) {\n console.error(e);\n data = null;\n }\n this.#cache.set(key, data);\n if (data) {\n this.#cache.set(data.id, data);\n }\n return data;\n }\n async getFromFile(file) {\n const {\n lastModified,\n name,\n size,\n type\n } = file;\n return this.#get(`${lastModified}_${name}_${size}_${type}`, file);\n }\n async getFromUrl(url) {\n return this.#get(url, url);\n }\n async getFromBlob(id, blobPromise) {\n const blob = await blobPromise;\n return this.#get(id, blob);\n }\n async getFromId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return null;\n }\n if (data.bitmap) {\n data.refCounter += 1;\n return data;\n }\n if (data.file) {\n return this.getFromFile(data.file);\n }\n if (data.blobPromise) {\n const {\n blobPromise\n } = data;\n delete data.blobPromise;\n return this.getFromBlob(data.id, blobPromise);\n }\n return this.getFromUrl(data.url);\n }\n getFromCanvas(id, canvas) {\n this.#cache ||= new Map();\n let data = this.#cache.get(id);\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n const offscreen = new OffscreenCanvas(canvas.width, canvas.height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(canvas, 0, 0);\n data = {\n bitmap: offscreen.transferToImageBitmap(),\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 1,\n isSvg: false\n };\n this.#cache.set(id, data);\n this.#cache.set(data.id, data);\n return data;\n }\n getSvgUrl(id) {\n const data = this.#cache.get(id);\n if (!data?.isSvg) {\n return null;\n }\n return data.svgUrl;\n }\n deleteId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return;\n }\n data.refCounter -= 1;\n if (data.refCounter !== 0) {\n return;\n }\n const {\n bitmap\n } = data;\n if (!data.url && !data.file) {\n const canvas = new OffscreenCanvas(bitmap.width, bitmap.height);\n const ctx = canvas.getContext(\"bitmaprenderer\");\n ctx.transferFromImageBitmap(bitmap);\n data.blobPromise = canvas.convertToBlob();\n }\n bitmap.close?.();\n data.bitmap = null;\n }\n isValidId(id) {\n return id.startsWith(`image_${this.#baseId}_`);\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n post,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n post,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n const {\n undo,\n post\n } = this.#commands[this.#position];\n undo();\n post?.();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n const {\n cmd,\n post\n } = this.#commands[this.#position];\n cmd();\n post?.();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = util_FeatureTest.platform;\n for (const [keys, callback, options = {}] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const info = this.callbacks.get(this.#serialize(event));\n if (!info) {\n return;\n }\n const {\n callback,\n options: {\n bubbles = false,\n args = [],\n checker = null\n }\n } = info;\n if (checker && !checker(self, event)) {\n return;\n }\n callback.bind(self, ...args, event)();\n if (!bubbles) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n}\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n getColorValues(colors);\n return shadow(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = getRGB(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return Util.makeHexColor(...rgb);\n }\n}\nclass AnnotationEditorUIManager {\n #abortController = new AbortController();\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #altTextManager = null;\n #annotationStorage = null;\n #changedExistingAnnotations = null;\n #commandManager = new CommandManager();\n #copyPasteAC = null;\n #currentPageIndex = 0;\n #deletedAnnotationsElementIds = new Set();\n #draggingEditors = null;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #enableHighlightFloatingButton = false;\n #enableUpdatedAddImage = false;\n #enableNewAltTextWhenAddingImage = false;\n #filterFactory = null;\n #focusMainContainerTimeoutId = null;\n #focusManagerAC = null;\n #highlightColors = null;\n #highlightWhenShiftUp = false;\n #highlightToolbar = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #isWaiting = false;\n #keyboardManagerAC = null;\n #lastActiveElement = null;\n #mainHighlightColorPicker = null;\n #mlManager = null;\n #mode = AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #selectedTextNode = null;\n #pageColors = null;\n #showAllStates = null;\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false,\n hasSelectedText: false\n };\n #translation = [0, 0];\n #translationTimeoutId = null;\n #container = null;\n #viewer = null;\n #updateModeCapability = null;\n static TRANSLATE_SMALL = 1;\n static TRANSLATE_BIG = 10;\n static get _keyboardManager() {\n const proto = AnnotationEditorUIManager.prototype;\n const arrowChecker = self => self.#container.contains(document.activeElement) && document.activeElement.tagName !== \"BUTTON\" && self.hasSomethingToControl();\n const textInputChecker = (_self, {\n target: el\n }) => {\n if (el instanceof HTMLInputElement) {\n const {\n type\n } = el;\n return type !== \"text\" && type !== \"number\";\n }\n return true;\n };\n const small = this.TRANSLATE_SMALL;\n const big = this.TRANSLATE_BIG;\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], proto.selectAll, {\n checker: textInputChecker\n }], [[\"ctrl+z\", \"mac+meta+z\"], proto.undo, {\n checker: textInputChecker\n }], [[\"ctrl+y\", \"ctrl+shift+z\", \"mac+meta+shift+z\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], proto.redo, {\n checker: textInputChecker\n }], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\", \"mac+Delete\"], proto.delete, {\n checker: textInputChecker\n }], [[\"Enter\", \"mac+Enter\"], proto.addNewEditorFromKeyboard, {\n checker: (self, {\n target: el\n }) => !(el instanceof HTMLButtonElement) && self.#container.contains(el) && !self.isEnterHandled\n }], [[\" \", \"mac+ \"], proto.addNewEditorFromKeyboard, {\n checker: (self, {\n target: el\n }) => !(el instanceof HTMLButtonElement) && self.#container.contains(document.activeElement)\n }], [[\"Escape\", \"mac+Escape\"], proto.unselectAll], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto.translateSelectedEditors, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto.translateSelectedEditors, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n constructor(container, viewer, altTextManager, eventBus, pdfDocument, pageColors, highlightColors, enableHighlightFloatingButton, enableUpdatedAddImage, enableNewAltTextWhenAddingImage, mlManager) {\n const signal = this._signal = this.#abortController.signal;\n this.#container = container;\n this.#viewer = viewer;\n this.#altTextManager = altTextManager;\n this._eventBus = eventBus;\n eventBus._on(\"editingaction\", this.onEditingAction.bind(this), {\n signal\n });\n eventBus._on(\"pagechanging\", this.onPageChanging.bind(this), {\n signal\n });\n eventBus._on(\"scalechanging\", this.onScaleChanging.bind(this), {\n signal\n });\n eventBus._on(\"rotationchanging\", this.onRotationChanging.bind(this), {\n signal\n });\n eventBus._on(\"setpreference\", this.onSetPreference.bind(this), {\n signal\n });\n eventBus._on(\"switchannotationeditorparams\", evt => this.updateParams(evt.type, evt.value), {\n signal\n });\n this.#addSelectionListener();\n this.#addDragAndDropListeners();\n this.#addKeyboardManager();\n this.#annotationStorage = pdfDocument.annotationStorage;\n this.#filterFactory = pdfDocument.filterFactory;\n this.#pageColors = pageColors;\n this.#highlightColors = highlightColors || null;\n this.#enableHighlightFloatingButton = enableHighlightFloatingButton;\n this.#enableUpdatedAddImage = enableUpdatedAddImage;\n this.#enableNewAltTextWhenAddingImage = enableNewAltTextWhenAddingImage;\n this.#mlManager = mlManager || null;\n this.viewParameters = {\n realScale: PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n this.isShiftKeyDown = false;\n }\n destroy() {\n this.#updateModeCapability?.resolve();\n this.#updateModeCapability = null;\n this.#abortController?.abort();\n this.#abortController = null;\n this._signal = null;\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n this.#altTextManager?.destroy();\n this.#highlightToolbar?.hide();\n this.#highlightToolbar = null;\n if (this.#focusMainContainerTimeoutId) {\n clearTimeout(this.#focusMainContainerTimeoutId);\n this.#focusMainContainerTimeoutId = null;\n }\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n this.#translationTimeoutId = null;\n }\n }\n combinedSignal(ac) {\n return AbortSignal.any([this._signal, ac.signal]);\n }\n get mlManager() {\n return this.#mlManager;\n }\n get useNewAltTextFlow() {\n return this.#enableUpdatedAddImage;\n }\n get useNewAltTextWhenAddingImage() {\n return this.#enableNewAltTextWhenAddingImage;\n }\n get hcmFilter() {\n return shadow(this, \"hcmFilter\", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : \"none\");\n }\n get direction() {\n return shadow(this, \"direction\", getComputedStyle(this.#container).direction);\n }\n get highlightColors() {\n return shadow(this, \"highlightColors\", this.#highlightColors ? new Map(this.#highlightColors.split(\",\").map(pair => pair.split(\"=\").map(x => x.trim()))) : null);\n }\n get highlightColorNames() {\n return shadow(this, \"highlightColorNames\", this.highlightColors ? new Map(Array.from(this.highlightColors, e => e.reverse())) : null);\n }\n setMainHighlightColorPicker(colorPicker) {\n this.#mainHighlightColorPicker = colorPicker;\n }\n editAltText(editor, firstTime = false) {\n this.#altTextManager?.editAltText(this, editor, firstTime);\n }\n switchToMode(mode, callback) {\n this._eventBus.on(\"annotationeditormodechanged\", callback, {\n once: true,\n signal: this._signal\n });\n this._eventBus.dispatch(\"showannotationeditorui\", {\n source: this,\n mode\n });\n }\n setPreference(name, value) {\n this._eventBus.dispatch(\"setpreference\", {\n source: this,\n name,\n value\n });\n }\n onSetPreference({\n name,\n value\n }) {\n switch (name) {\n case \"enableNewAltTextWhenAddingImage\":\n this.#enableNewAltTextWhenAddingImage = value;\n break;\n }\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n findParent(x, y) {\n for (const layer of this.#allLayers.values()) {\n const {\n x: layerX,\n y: layerY,\n width,\n height\n } = layer.div.getBoundingClientRect();\n if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) {\n return layer;\n }\n }\n return null;\n }\n disableUserSelect(value = false) {\n this.#viewer.classList.toggle(\"noUserSelect\", value);\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n #getAnchorElementForSelection({\n anchorNode\n }) {\n return anchorNode.nodeType === Node.TEXT_NODE ? anchorNode.parentElement : anchorNode;\n }\n #getLayerForTextLayer(textLayer) {\n const {\n currentLayer\n } = this;\n if (currentLayer.hasTextLayer(textLayer)) {\n return currentLayer;\n }\n for (const layer of this.#allLayers.values()) {\n if (layer.hasTextLayer(textLayer)) {\n return layer;\n }\n }\n return null;\n }\n highlightSelection(methodOfCreation = \"\") {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) {\n return;\n }\n const {\n anchorNode,\n anchorOffset,\n focusNode,\n focusOffset\n } = selection;\n const text = selection.toString();\n const anchorElement = this.#getAnchorElementForSelection(selection);\n const textLayer = anchorElement.closest(\".textLayer\");\n const boxes = this.getSelectionBoxes(textLayer);\n if (!boxes) {\n return;\n }\n selection.empty();\n const layer = this.#getLayerForTextLayer(textLayer);\n const isNoneMode = this.#mode === AnnotationEditorType.NONE;\n const callback = () => {\n layer?.createAndAddNewEditor({\n x: 0,\n y: 0\n }, false, {\n methodOfCreation,\n boxes,\n anchorNode,\n anchorOffset,\n focusNode,\n focusOffset,\n text\n });\n if (isNoneMode) {\n this.showAllEditors(\"highlight\", true, true);\n }\n };\n if (isNoneMode) {\n this.switchToMode(AnnotationEditorType.HIGHLIGHT, callback);\n return;\n }\n callback();\n }\n #displayHighlightToolbar() {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) {\n return;\n }\n const anchorElement = this.#getAnchorElementForSelection(selection);\n const textLayer = anchorElement.closest(\".textLayer\");\n const boxes = this.getSelectionBoxes(textLayer);\n if (!boxes) {\n return;\n }\n this.#highlightToolbar ||= new HighlightToolbar(this);\n this.#highlightToolbar.show(textLayer, boxes, this.direction === \"ltr\");\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #selectionChange() {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) {\n if (this.#selectedTextNode) {\n this.#highlightToolbar?.hide();\n this.#selectedTextNode = null;\n this.#dispatchUpdateStates({\n hasSelectedText: false\n });\n }\n return;\n }\n const {\n anchorNode\n } = selection;\n if (anchorNode === this.#selectedTextNode) {\n return;\n }\n const anchorElement = this.#getAnchorElementForSelection(selection);\n const textLayer = anchorElement.closest(\".textLayer\");\n if (!textLayer) {\n if (this.#selectedTextNode) {\n this.#highlightToolbar?.hide();\n this.#selectedTextNode = null;\n this.#dispatchUpdateStates({\n hasSelectedText: false\n });\n }\n return;\n }\n this.#highlightToolbar?.hide();\n this.#selectedTextNode = anchorNode;\n this.#dispatchUpdateStates({\n hasSelectedText: true\n });\n if (this.#mode !== AnnotationEditorType.HIGHLIGHT && this.#mode !== AnnotationEditorType.NONE) {\n return;\n }\n if (this.#mode === AnnotationEditorType.HIGHLIGHT) {\n this.showAllEditors(\"highlight\", true, true);\n }\n this.#highlightWhenShiftUp = this.isShiftKeyDown;\n if (!this.isShiftKeyDown) {\n const activeLayer = this.#mode === AnnotationEditorType.HIGHLIGHT ? this.#getLayerForTextLayer(textLayer) : null;\n activeLayer?.toggleDrawing();\n const ac = new AbortController();\n const signal = this.combinedSignal(ac);\n const pointerup = e => {\n if (e.type === \"pointerup\" && e.button !== 0) {\n return;\n }\n ac.abort();\n activeLayer?.toggleDrawing(true);\n if (e.type === \"pointerup\") {\n this.#onSelectEnd(\"main_toolbar\");\n }\n };\n window.addEventListener(\"pointerup\", pointerup, {\n signal\n });\n window.addEventListener(\"blur\", pointerup, {\n signal\n });\n }\n }\n #onSelectEnd(methodOfCreation = \"\") {\n if (this.#mode === AnnotationEditorType.HIGHLIGHT) {\n this.highlightSelection(methodOfCreation);\n } else if (this.#enableHighlightFloatingButton) {\n this.#displayHighlightToolbar();\n }\n }\n #addSelectionListener() {\n document.addEventListener(\"selectionchange\", this.#selectionChange.bind(this), {\n signal: this._signal\n });\n }\n #addFocusManager() {\n if (this.#focusManagerAC) {\n return;\n }\n this.#focusManagerAC = new AbortController();\n const signal = this.combinedSignal(this.#focusManagerAC);\n window.addEventListener(\"focus\", this.focus.bind(this), {\n signal\n });\n window.addEventListener(\"blur\", this.blur.bind(this), {\n signal\n });\n }\n #removeFocusManager() {\n this.#focusManagerAC?.abort();\n this.#focusManagerAC = null;\n }\n blur() {\n this.isShiftKeyDown = false;\n if (this.#highlightWhenShiftUp) {\n this.#highlightWhenShiftUp = false;\n this.#onSelectEnd(\"main_toolbar\");\n }\n if (!this.hasSelection) {\n return;\n }\n const {\n activeElement\n } = document;\n for (const editor of this.#selectedEditors) {\n if (editor.div.contains(activeElement)) {\n this.#lastActiveElement = [editor, activeElement];\n editor._focusEventsAllowed = false;\n break;\n }\n }\n }\n focus() {\n if (!this.#lastActiveElement) {\n return;\n }\n const [lastEditor, lastActiveElement] = this.#lastActiveElement;\n this.#lastActiveElement = null;\n lastActiveElement.addEventListener(\"focusin\", () => {\n lastEditor._focusEventsAllowed = true;\n }, {\n once: true,\n signal: this._signal\n });\n lastActiveElement.focus();\n }\n #addKeyboardManager() {\n if (this.#keyboardManagerAC) {\n return;\n }\n this.#keyboardManagerAC = new AbortController();\n const signal = this.combinedSignal(this.#keyboardManagerAC);\n window.addEventListener(\"keydown\", this.keydown.bind(this), {\n signal\n });\n window.addEventListener(\"keyup\", this.keyup.bind(this), {\n signal\n });\n }\n #removeKeyboardManager() {\n this.#keyboardManagerAC?.abort();\n this.#keyboardManagerAC = null;\n }\n #addCopyPasteListeners() {\n if (this.#copyPasteAC) {\n return;\n }\n this.#copyPasteAC = new AbortController();\n const signal = this.combinedSignal(this.#copyPasteAC);\n document.addEventListener(\"copy\", this.copy.bind(this), {\n signal\n });\n document.addEventListener(\"cut\", this.cut.bind(this), {\n signal\n });\n document.addEventListener(\"paste\", this.paste.bind(this), {\n signal\n });\n }\n #removeCopyPasteListeners() {\n this.#copyPasteAC?.abort();\n this.#copyPasteAC = null;\n }\n #addDragAndDropListeners() {\n const signal = this._signal;\n document.addEventListener(\"dragover\", this.dragOver.bind(this), {\n signal\n });\n document.addEventListener(\"drop\", this.drop.bind(this), {\n signal\n });\n }\n addEditListeners() {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n }\n removeEditListeners() {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n }\n dragOver(event) {\n for (const {\n type\n } of event.dataTransfer.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(type)) {\n event.dataTransfer.dropEffect = \"copy\";\n event.preventDefault();\n return;\n }\n }\n }\n }\n drop(event) {\n for (const item of event.dataTransfer.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n event.preventDefault();\n return;\n }\n }\n }\n }\n copy(event) {\n event.preventDefault();\n this.#activeEditor?.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n const serialized = editor.serialize(true);\n if (serialized) {\n editors.push(serialized);\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n async paste(event) {\n event.preventDefault();\n const {\n clipboardData\n } = event;\n for (const item of clipboardData.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n return;\n }\n }\n }\n let data = clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n warn(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.currentLayer;\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = await layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n warn(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.isShiftKeyDown && event.key === \"Shift\") {\n this.isShiftKeyDown = true;\n }\n if (this.#mode !== AnnotationEditorType.NONE && !this.isEditorHandlingKeyboard) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n keyup(event) {\n if (this.isShiftKeyDown && event.key === \"Shift\") {\n this.isShiftKeyDown = false;\n if (this.#highlightWhenShiftUp) {\n this.#highlightWhenShiftUp = false;\n this.#onSelectEnd(\"main_toolbar\");\n }\n }\n }\n onEditingAction({\n name\n }) {\n switch (name) {\n case \"undo\":\n case \"redo\":\n case \"delete\":\n case \"selectAll\":\n this[name]();\n break;\n case \"highlightSelection\":\n this.highlightSelection(\"context_menu\");\n break;\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this._eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n if (this.#mode === AnnotationEditorType.HIGHLIGHT && details.hasSelectedEditor === false) {\n this.#dispatchUpdateUI([[AnnotationEditorParamsType.HIGHLIGHT_FREE, true]]);\n }\n }\n }\n #dispatchUpdateUI(details) {\n this._eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addFocusManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeFocusManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n this.disableUserSelect(false);\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.id;\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n getLayer(pageIndex) {\n return this.#allLayers.get(pageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n async updateMode(mode, editId = null, isFromKeyboard = false) {\n if (this.#mode === mode) {\n return;\n }\n if (this.#updateModeCapability) {\n await this.#updateModeCapability.promise;\n if (!this.#updateModeCapability) {\n return;\n }\n }\n this.#updateModeCapability = Promise.withResolvers();\n this.#mode = mode;\n if (mode === AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n this.#updateModeCapability.resolve();\n return;\n }\n this.setEditingState(true);\n await this.#enableAll();\n this.unselectAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n if (!editId) {\n if (isFromKeyboard) {\n this.addNewEditorFromKeyboard();\n }\n this.#updateModeCapability.resolve();\n return;\n }\n for (const editor of this.#allEditors.values()) {\n if (editor.annotationElementId === editId) {\n this.setSelected(editor);\n editor.enterInEditMode();\n } else {\n editor.unselect();\n }\n }\n this.#updateModeCapability.resolve();\n }\n addNewEditorFromKeyboard() {\n if (this.currentLayer.canCreateNewEmptyEditor()) {\n this.currentLayer.addNewEditor();\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this._eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n switch (type) {\n case AnnotationEditorParamsType.CREATE:\n this.currentLayer.addNewEditor();\n return;\n case AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR:\n this.#mainHighlightColorPicker?.updateColor(value);\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL:\n this._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n data: {\n type: \"highlight\",\n action: \"toggle_visibility\"\n }\n }\n });\n (this.#showAllStates ||= new Map()).set(type, value);\n this.showAllEditors(\"highlight\", value);\n break;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n showAllEditors(type, visible, updateButton = false) {\n for (const editor of this.#allEditors.values()) {\n if (editor.editorType === type) {\n editor.show(visible);\n }\n }\n const state = this.#showAllStates?.get(AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL) ?? true;\n if (state !== visible) {\n this.#dispatchUpdateUI([[AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL, visible]]);\n }\n }\n enableWaiting(mustWait = false) {\n if (this.#isWaiting === mustWait) {\n return;\n }\n this.#isWaiting = mustWait;\n for (const layer of this.#allLayers.values()) {\n if (mustWait) {\n layer.disableClick();\n } else {\n layer.enableClick();\n }\n layer.div.classList.toggle(\"waiting\", mustWait);\n }\n }\n async #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n const promises = [];\n for (const layer of this.#allLayers.values()) {\n promises.push(layer.enable());\n }\n await Promise.all(promises);\n for (const editor of this.#allEditors.values()) {\n editor.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n for (const editor of this.#allEditors.values()) {\n editor.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n if (editor.div.contains(document.activeElement)) {\n if (this.#focusMainContainerTimeoutId) {\n clearTimeout(this.#focusMainContainerTimeoutId);\n }\n this.#focusMainContainerTimeoutId = setTimeout(() => {\n this.focusMainContainer();\n this.#focusMainContainerTimeoutId = null;\n }, 0);\n }\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) {\n this.#annotationStorage?.remove(editor.id);\n }\n }\n addDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.add(editor.annotationElementId);\n this.addChangedExistingAnnotation(editor);\n editor.deleted = true;\n }\n isDeletedAnnotationElement(annotationElementId) {\n return this.#deletedAnnotationsElementIds.has(annotationElementId);\n }\n removeDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.delete(editor.annotationElementId);\n this.removeChangedExistingAnnotation(editor);\n editor.deleted = false;\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n get #lastSelectedEditor() {\n let ed = null;\n for (ed of this.#selectedEditors) {}\n return ed;\n }\n updateUI(editor) {\n if (this.#lastSelectedEditor === editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n get firstSelectedEditor() {\n return this.#selectedEditors.values().next().value;\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n get isEnterHandled() {\n return this.#selectedEditors.size === 1 && this.firstSelectedEditor.isEnterHandled;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n hasSomethingToControl() {\n return this.#activeEditor || this.hasSelection;\n }\n #selectEditors(editors) {\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n if (this.#mode !== AnnotationEditorType.NONE) {\n return;\n }\n }\n if (!this.hasSelection) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n translateSelectedEditors(x, y, noCommit = false) {\n if (!noCommit) {\n this.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n this.#translation[0] += x;\n this.#translation[1] += y;\n const [totalX, totalY] = this.#translation;\n const editors = [...this.#selectedEditors];\n const TIME_TO_WAIT = 1000;\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n }\n this.#translationTimeoutId = setTimeout(() => {\n this.#translationTimeoutId = null;\n this.#translation[0] = this.#translation[1] = 0;\n this.addCommands({\n cmd: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(totalX, totalY);\n }\n }\n },\n undo: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(-totalX, -totalY);\n }\n }\n },\n mustExec: false\n });\n }, TIME_TO_WAIT);\n for (const editor of editors) {\n editor.translateInPage(x, y);\n }\n }\n setUpDragSession() {\n if (!this.hasSelection) {\n return;\n }\n this.disableUserSelect(true);\n this.#draggingEditors = new Map();\n for (const editor of this.#selectedEditors) {\n this.#draggingEditors.set(editor, {\n savedX: editor.x,\n savedY: editor.y,\n savedPageIndex: editor.pageIndex,\n newX: 0,\n newY: 0,\n newPageIndex: -1\n });\n }\n }\n endDragSession() {\n if (!this.#draggingEditors) {\n return false;\n }\n this.disableUserSelect(false);\n const map = this.#draggingEditors;\n this.#draggingEditors = null;\n let mustBeAddedInUndoStack = false;\n for (const [{\n x,\n y,\n pageIndex\n }, value] of map) {\n value.newX = x;\n value.newY = y;\n value.newPageIndex = pageIndex;\n mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex;\n }\n if (!mustBeAddedInUndoStack) {\n return false;\n }\n const move = (editor, x, y, pageIndex) => {\n if (this.#allEditors.has(editor.id)) {\n const parent = this.#allLayers.get(pageIndex);\n if (parent) {\n editor._setParentAndPosition(parent, x, y);\n } else {\n editor.pageIndex = pageIndex;\n editor.x = x;\n editor.y = y;\n }\n }\n };\n this.addCommands({\n cmd: () => {\n for (const [editor, {\n newX,\n newY,\n newPageIndex\n }] of map) {\n move(editor, newX, newY, newPageIndex);\n }\n },\n undo: () => {\n for (const [editor, {\n savedX,\n savedY,\n savedPageIndex\n }] of map) {\n move(editor, savedX, savedY, savedPageIndex);\n }\n },\n mustExec: true\n });\n return true;\n }\n dragSelectedEditors(tx, ty) {\n if (!this.#draggingEditors) {\n return;\n }\n for (const editor of this.#draggingEditors.keys()) {\n editor.drag(tx, ty);\n }\n }\n rebuild(editor) {\n if (editor.parent === null) {\n const parent = this.getLayer(editor.pageIndex);\n if (parent) {\n parent.changeParent(editor);\n parent.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n editor.rebuild();\n }\n } else {\n editor.parent.addOrRebuild(editor);\n }\n }\n get isEditorHandlingKeyboard() {\n return this.getActive()?.shouldGetKeyboardEvents() || this.#selectedEditors.size === 1 && this.firstSelectedEditor.shouldGetKeyboardEvents();\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n get imageManager() {\n return shadow(this, \"imageManager\", new ImageManager());\n }\n getSelectionBoxes(textLayer) {\n if (!textLayer) {\n return null;\n }\n const selection = document.getSelection();\n for (let i = 0, ii = selection.rangeCount; i < ii; i++) {\n if (!textLayer.contains(selection.getRangeAt(i).commonAncestorContainer)) {\n return null;\n }\n }\n const {\n x: layerX,\n y: layerY,\n width: parentWidth,\n height: parentHeight\n } = textLayer.getBoundingClientRect();\n let rotator;\n switch (textLayer.getAttribute(\"data-main-rotation\")) {\n case \"90\":\n rotator = (x, y, w, h) => ({\n x: (y - layerY) / parentHeight,\n y: 1 - (x + w - layerX) / parentWidth,\n width: h / parentHeight,\n height: w / parentWidth\n });\n break;\n case \"180\":\n rotator = (x, y, w, h) => ({\n x: 1 - (x + w - layerX) / parentWidth,\n y: 1 - (y + h - layerY) / parentHeight,\n width: w / parentWidth,\n height: h / parentHeight\n });\n break;\n case \"270\":\n rotator = (x, y, w, h) => ({\n x: 1 - (y + h - layerY) / parentHeight,\n y: (x - layerX) / parentWidth,\n width: h / parentHeight,\n height: w / parentWidth\n });\n break;\n default:\n rotator = (x, y, w, h) => ({\n x: (x - layerX) / parentWidth,\n y: (y - layerY) / parentHeight,\n width: w / parentWidth,\n height: h / parentHeight\n });\n break;\n }\n const boxes = [];\n for (let i = 0, ii = selection.rangeCount; i < ii; i++) {\n const range = selection.getRangeAt(i);\n if (range.collapsed) {\n continue;\n }\n for (const {\n x,\n y,\n width,\n height\n } of range.getClientRects()) {\n if (width === 0 || height === 0) {\n continue;\n }\n boxes.push(rotator(x, y, width, height));\n }\n }\n return boxes.length === 0 ? null : boxes;\n }\n addChangedExistingAnnotation({\n annotationElementId,\n id\n }) {\n (this.#changedExistingAnnotations ||= new Map()).set(annotationElementId, id);\n }\n removeChangedExistingAnnotation({\n annotationElementId\n }) {\n this.#changedExistingAnnotations?.delete(annotationElementId);\n }\n renderAnnotationElement(annotation) {\n const editorId = this.#changedExistingAnnotations?.get(annotation.data.id);\n if (!editorId) {\n return;\n }\n const editor = this.#annotationStorage.getRawValue(editorId);\n if (!editor) {\n return;\n }\n if (this.#mode === AnnotationEditorType.NONE && !editor.hasBeenModified) {\n return;\n }\n editor.renderAnnotationElement(annotation);\n }\n}\n\n;// ./src/display/editor/alt_text.js\n\nclass AltText {\n #altText = null;\n #altTextDecorative = false;\n #altTextButton = null;\n #altTextButtonLabel = null;\n #altTextTooltip = null;\n #altTextTooltipTimeout = null;\n #altTextWasFromKeyBoard = false;\n #badge = null;\n #editor = null;\n #guessedText = null;\n #textWithDisclaimer = null;\n #useNewAltTextFlow = false;\n static #l10nNewButton = null;\n static _l10n = null;\n constructor(editor) {\n this.#editor = editor;\n this.#useNewAltTextFlow = editor._uiManager.useNewAltTextFlow;\n AltText.#l10nNewButton ||= Object.freeze({\n added: \"pdfjs-editor-new-alt-text-added-button\",\n \"added-label\": \"pdfjs-editor-new-alt-text-added-button-label\",\n missing: \"pdfjs-editor-new-alt-text-missing-button\",\n \"missing-label\": \"pdfjs-editor-new-alt-text-missing-button-label\",\n review: \"pdfjs-editor-new-alt-text-to-review-button\",\n \"review-label\": \"pdfjs-editor-new-alt-text-to-review-button-label\"\n });\n }\n static initialize(l10n) {\n AltText._l10n ??= l10n;\n }\n async render() {\n const altText = this.#altTextButton = document.createElement(\"button\");\n altText.className = \"altText\";\n altText.tabIndex = \"0\";\n const label = this.#altTextButtonLabel = document.createElement(\"span\");\n altText.append(label);\n if (this.#useNewAltTextFlow) {\n altText.classList.add(\"new\");\n altText.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton.missing);\n label.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton[\"missing-label\"]);\n } else {\n altText.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-button\");\n label.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-button-label\");\n }\n const signal = this.#editor._uiManager._signal;\n altText.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n altText.addEventListener(\"pointerdown\", event => event.stopPropagation(), {\n signal\n });\n const onClick = event => {\n event.preventDefault();\n this.#editor._uiManager.editAltText(this.#editor);\n if (this.#useNewAltTextFlow) {\n this.#editor._reportTelemetry({\n action: \"pdfjs.image.alt_text.image_status_label_clicked\",\n data: {\n label: this.#label\n }\n });\n }\n };\n altText.addEventListener(\"click\", onClick, {\n capture: true,\n signal\n });\n altText.addEventListener(\"keydown\", event => {\n if (event.target === altText && event.key === \"Enter\") {\n this.#altTextWasFromKeyBoard = true;\n onClick(event);\n }\n }, {\n signal\n });\n await this.#setState();\n return altText;\n }\n get #label() {\n return this.#altText && \"added\" || this.#altText === null && this.guessedText && \"review\" || \"missing\";\n }\n finish() {\n if (!this.#altTextButton) {\n return;\n }\n this.#altTextButton.focus({\n focusVisible: this.#altTextWasFromKeyBoard\n });\n this.#altTextWasFromKeyBoard = false;\n }\n isEmpty() {\n if (this.#useNewAltTextFlow) {\n return this.#altText === null;\n }\n return !this.#altText && !this.#altTextDecorative;\n }\n hasData() {\n if (this.#useNewAltTextFlow) {\n return this.#altText !== null || !!this.#guessedText;\n }\n return this.isEmpty();\n }\n get guessedText() {\n return this.#guessedText;\n }\n async setGuessedText(guessedText) {\n if (this.#altText !== null) {\n return;\n }\n this.#guessedText = guessedText;\n this.#textWithDisclaimer = await AltText._l10n.get(\"pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer\", {\n generatedAltText: guessedText\n });\n this.#setState();\n }\n toggleAltTextBadge(visibility = false) {\n if (!this.#useNewAltTextFlow || this.#altText) {\n this.#badge?.remove();\n this.#badge = null;\n return;\n }\n if (!this.#badge) {\n const badge = this.#badge = document.createElement(\"div\");\n badge.className = \"noAltTextBadge\";\n this.#editor.div.append(badge);\n }\n this.#badge.classList.toggle(\"hidden\", !visibility);\n }\n serialize(isForCopying) {\n let altText = this.#altText;\n if (!isForCopying && this.#guessedText === altText) {\n altText = this.#textWithDisclaimer;\n }\n return {\n altText,\n decorative: this.#altTextDecorative,\n guessedText: this.#guessedText,\n textWithDisclaimer: this.#textWithDisclaimer\n };\n }\n get data() {\n return {\n altText: this.#altText,\n decorative: this.#altTextDecorative\n };\n }\n set data({\n altText,\n decorative,\n guessedText,\n textWithDisclaimer,\n cancel = false\n }) {\n if (guessedText) {\n this.#guessedText = guessedText;\n this.#textWithDisclaimer = textWithDisclaimer;\n }\n if (this.#altText === altText && this.#altTextDecorative === decorative) {\n return;\n }\n if (!cancel) {\n this.#altText = altText;\n this.#altTextDecorative = decorative;\n }\n this.#setState();\n }\n toggle(enabled = false) {\n if (!this.#altTextButton) {\n return;\n }\n if (!enabled && this.#altTextTooltipTimeout) {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n }\n this.#altTextButton.disabled = !enabled;\n }\n shown() {\n this.#editor._reportTelemetry({\n action: \"pdfjs.image.alt_text.image_status_label_displayed\",\n data: {\n label: this.#label\n }\n });\n }\n destroy() {\n this.#altTextButton?.remove();\n this.#altTextButton = null;\n this.#altTextButtonLabel = null;\n this.#altTextTooltip = null;\n this.#badge?.remove();\n this.#badge = null;\n }\n async #setState() {\n const button = this.#altTextButton;\n if (!button) {\n return;\n }\n if (this.#useNewAltTextFlow) {\n button.classList.toggle(\"done\", !!this.#altText);\n button.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton[this.#label]);\n this.#altTextButtonLabel?.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton[`${this.#label}-label`]);\n if (!this.#altText) {\n this.#altTextTooltip?.remove();\n return;\n }\n } else {\n if (!this.#altText && !this.#altTextDecorative) {\n button.classList.remove(\"done\");\n this.#altTextTooltip?.remove();\n return;\n }\n button.classList.add(\"done\");\n button.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-edit-button\");\n }\n let tooltip = this.#altTextTooltip;\n if (!tooltip) {\n this.#altTextTooltip = tooltip = document.createElement(\"span\");\n tooltip.className = \"tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n tooltip.id = `alt-text-tooltip-${this.#editor.id}`;\n const DELAY_TO_SHOW_TOOLTIP = 100;\n const signal = this.#editor._uiManager._signal;\n signal.addEventListener(\"abort\", () => {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n }, {\n once: true\n });\n button.addEventListener(\"mouseenter\", () => {\n this.#altTextTooltipTimeout = setTimeout(() => {\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip.classList.add(\"show\");\n this.#editor._reportTelemetry({\n action: \"alt_text_tooltip\"\n });\n }, DELAY_TO_SHOW_TOOLTIP);\n }, {\n signal\n });\n button.addEventListener(\"mouseleave\", () => {\n if (this.#altTextTooltipTimeout) {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n }\n this.#altTextTooltip?.classList.remove(\"show\");\n }, {\n signal\n });\n }\n if (this.#altTextDecorative) {\n tooltip.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-decorative-tooltip\");\n } else {\n tooltip.removeAttribute(\"data-l10n-id\");\n tooltip.textContent = this.#altText;\n }\n if (!tooltip.parentNode) {\n button.append(tooltip);\n }\n const element = this.#editor.getImageForAltText();\n element?.setAttribute(\"aria-describedby\", tooltip.id);\n }\n}\n\n;// ./src/display/editor/editor.js\n\n\n\n\n\nclass AnnotationEditor {\n #accessibilityData = null;\n #allResizerDivs = null;\n #altText = null;\n #disabled = false;\n #keepAspectRatio = false;\n #resizersDiv = null;\n #savedDimensions = null;\n #focusAC = null;\n #focusedResizerName = \"\";\n #hasBeenClicked = false;\n #initialPosition = null;\n #isEditing = false;\n #isInEditMode = false;\n #isResizerEnabledForKeyboard = false;\n #moveInDOMTimeout = null;\n #prevDragX = 0;\n #prevDragY = 0;\n #telemetryTimeouts = null;\n _editToolbar = null;\n _initialOptions = Object.create(null);\n _initialData = null;\n _isVisible = true;\n _uiManager = null;\n _focusEventsAllowed = true;\n static _l10n = null;\n static _l10nResizer = null;\n #isDraggable = false;\n #zIndex = AnnotationEditor._zIndex++;\n static _borderLineWidth = -1;\n static _colorManager = new ColorManager();\n static _zIndex = 1;\n static _telemetryTimeout = 1000;\n static get _resizerKeyboardManager() {\n const resize = AnnotationEditor.prototype._resizeWithKeyboard;\n const small = AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = AnnotationEditorUIManager.TRANSLATE_BIG;\n return shadow(this, \"_resizerKeyboardManager\", new KeyboardManager([[[\"ArrowLeft\", \"mac+ArrowLeft\"], resize, {\n args: [-small, 0]\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], resize, {\n args: [-big, 0]\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], resize, {\n args: [small, 0]\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], resize, {\n args: [big, 0]\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], resize, {\n args: [0, -small]\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], resize, {\n args: [0, -big]\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], resize, {\n args: [0, small]\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], resize, {\n args: [0, big]\n }], [[\"Escape\", \"mac+Escape\"], AnnotationEditor.prototype._stopResizingWithKeyboard]]));\n }\n constructor(parameters) {\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n this.annotationElementId = null;\n this._willKeepAspectRatio = false;\n this._initialOptions.isCentered = parameters.isCentered;\n this._structTreeParentId = null;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n this.deleted = false;\n }\n get editorType() {\n return Object.getPrototypeOf(this).constructor._type;\n }\n static get _defaultLineColor() {\n return shadow(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n static deleteAnnotationElement(editor) {\n const fakeEditor = new FakeEditor({\n id: editor.parent.getNextId(),\n parent: editor.parent,\n uiManager: editor._uiManager\n });\n fakeEditor.annotationElementId = editor.annotationElementId;\n fakeEditor.deleted = true;\n fakeEditor._uiManager.addToAnnotationStorage(fakeEditor);\n }\n static initialize(l10n, _uiManager) {\n AnnotationEditor._l10n ??= l10n;\n AnnotationEditor._l10nResizer ||= Object.freeze({\n topLeft: \"pdfjs-editor-resizer-top-left\",\n topMiddle: \"pdfjs-editor-resizer-top-middle\",\n topRight: \"pdfjs-editor-resizer-top-right\",\n middleRight: \"pdfjs-editor-resizer-middle-right\",\n bottomRight: \"pdfjs-editor-resizer-bottom-right\",\n bottomMiddle: \"pdfjs-editor-resizer-bottom-middle\",\n bottomLeft: \"pdfjs-editor-resizer-bottom-left\",\n middleLeft: \"pdfjs-editor-resizer-middle-left\"\n });\n if (AnnotationEditor._borderLineWidth !== -1) {\n return;\n }\n const style = getComputedStyle(document.documentElement);\n AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue(\"--outline-width\")) || 0;\n }\n static updateDefaultParams(_type, _value) {}\n static get defaultPropertiesToUpdate() {\n return [];\n }\n static isHandlingMimeForPasting(mime) {\n return false;\n }\n static paste(item, parent) {\n unreachable(\"Not implemented\");\n }\n get propertiesToUpdate() {\n return [];\n }\n get _isDraggable() {\n return this.#isDraggable;\n }\n set _isDraggable(value) {\n this.#isDraggable = value;\n this.div?.classList.toggle(\"draggable\", value);\n }\n get isEnterHandled() {\n return true;\n }\n center() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n switch (this.parentRotation) {\n case 90:\n this.x -= this.height * pageHeight / (pageWidth * 2);\n this.y += this.width * pageWidth / (pageHeight * 2);\n break;\n case 180:\n this.x += this.width / 2;\n this.y += this.height / 2;\n break;\n case 270:\n this.x += this.height * pageHeight / (pageWidth * 2);\n this.y -= this.width * pageWidth / (pageHeight * 2);\n break;\n default:\n this.x -= this.width / 2;\n this.y -= this.height / 2;\n break;\n }\n this.fixAndSetPosition();\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n } else {\n this.#stopResizing();\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.#hasBeenClicked) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenClicked = false;\n }\n }\n focusout(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.fixAndSetPosition();\n }\n #translate([width, height], x, y) {\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.fixAndSetPosition();\n }\n translate(x, y) {\n this.#translate(this.parentDimensions, x, y);\n }\n translateInPage(x, y) {\n this.#initialPosition ||= [this.x, this.y];\n this.#translate(this.pageDimensions, x, y);\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n drag(tx, ty) {\n this.#initialPosition ||= [this.x, this.y];\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.x += tx / parentWidth;\n this.y += ty / parentHeight;\n if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) {\n const {\n x,\n y\n } = this.div.getBoundingClientRect();\n if (this.parent.findNewParent(this, x, y)) {\n this.x -= Math.floor(this.x);\n this.y -= Math.floor(this.y);\n }\n }\n let {\n x,\n y\n } = this;\n const [bx, by] = this.getBaseTranslation();\n x += bx;\n y += by;\n this.div.style.left = `${(100 * x).toFixed(2)}%`;\n this.div.style.top = `${(100 * y).toFixed(2)}%`;\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n get _hasBeenMoved() {\n return !!this.#initialPosition && (this.#initialPosition[0] !== this.x || this.#initialPosition[1] !== this.y);\n }\n getBaseTranslation() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const {\n _borderLineWidth\n } = AnnotationEditor;\n const x = _borderLineWidth / parentWidth;\n const y = _borderLineWidth / parentHeight;\n switch (this.rotation) {\n case 90:\n return [-x, y];\n case 180:\n return [x, y];\n case 270:\n return [x, -y];\n default:\n return [-x, -y];\n }\n }\n get _mustFixPosition() {\n return true;\n }\n fixAndSetPosition(rotation = this.rotation) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n let {\n x,\n y,\n width,\n height\n } = this;\n width *= pageWidth;\n height *= pageHeight;\n x *= pageWidth;\n y *= pageHeight;\n if (this._mustFixPosition) {\n switch (rotation) {\n case 0:\n x = Math.max(0, Math.min(pageWidth - width, x));\n y = Math.max(0, Math.min(pageHeight - height, y));\n break;\n case 90:\n x = Math.max(0, Math.min(pageWidth - height, x));\n y = Math.min(pageHeight, Math.max(width, y));\n break;\n case 180:\n x = Math.min(pageWidth, Math.max(width, x));\n y = Math.min(pageHeight, Math.max(height, y));\n break;\n case 270:\n x = Math.min(pageWidth, Math.max(height, x));\n y = Math.max(0, Math.min(pageHeight - width, y));\n break;\n }\n }\n this.x = x /= pageWidth;\n this.y = y /= pageHeight;\n const [bx, by] = this.getBaseTranslation();\n x += bx;\n y += by;\n const {\n style\n } = this.div;\n style.left = `${(100 * x).toFixed(2)}%`;\n style.top = `${(100 * y).toFixed(2)}%`;\n this.moveInDOM();\n }\n static #rotatePoint(x, y, angle) {\n switch (angle) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n screenToPageTranslation(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, this.parentRotation);\n }\n pageTranslationToScreen(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation);\n }\n #getRotationMatrix(rotation) {\n switch (rotation) {\n case 90:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0];\n }\n case 180:\n return [-1, 0, 0, -1];\n case 270:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0];\n }\n default:\n return [1, 0, 0, 1];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n parentScale,\n pageDimensions: [pageWidth, pageHeight]\n } = this;\n return [pageWidth * parentScale, pageHeight * parentScale];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`;\n if (!this.#keepAspectRatio) {\n this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`;\n }\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = !this.#keepAspectRatio && height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`;\n }\n if (!this.#keepAspectRatio && !heightPercent) {\n style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n #createResizers() {\n if (this.#resizersDiv) {\n return;\n }\n this.#resizersDiv = document.createElement(\"div\");\n this.#resizersDiv.classList.add(\"resizers\");\n const classes = this._willKeepAspectRatio ? [\"topLeft\", \"topRight\", \"bottomRight\", \"bottomLeft\"] : [\"topLeft\", \"topMiddle\", \"topRight\", \"middleRight\", \"bottomRight\", \"bottomMiddle\", \"bottomLeft\", \"middleLeft\"];\n const signal = this._uiManager._signal;\n for (const name of classes) {\n const div = document.createElement(\"div\");\n this.#resizersDiv.append(div);\n div.classList.add(\"resizer\", name);\n div.setAttribute(\"data-resizer-name\", name);\n div.addEventListener(\"pointerdown\", this.#resizerPointerdown.bind(this, name), {\n signal\n });\n div.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n div.tabIndex = -1;\n }\n this.div.prepend(this.#resizersDiv);\n }\n #resizerPointerdown(name, event) {\n event.preventDefault();\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n this.#altText?.toggle(false);\n const savedDraggable = this._isDraggable;\n this._isDraggable = false;\n const ac = new AbortController();\n const signal = this._uiManager.combinedSignal(ac);\n this.parent.togglePointerEvents(false);\n window.addEventListener(\"pointermove\", this.#resizerPointermove.bind(this, name), {\n passive: true,\n capture: true,\n signal\n });\n window.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const savedParentCursor = this.parent.div.style.cursor;\n const savedCursor = this.div.style.cursor;\n this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor;\n const pointerUpCallback = () => {\n ac.abort();\n this.parent.togglePointerEvents(true);\n this.#altText?.toggle(true);\n this._isDraggable = savedDraggable;\n this.parent.div.style.cursor = savedParentCursor;\n this.div.style.cursor = savedCursor;\n this.#addResizeToUndoStack(savedX, savedY, savedWidth, savedHeight);\n };\n window.addEventListener(\"pointerup\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"blur\", pointerUpCallback, {\n signal\n });\n }\n #addResizeToUndoStack(savedX, savedY, savedWidth, savedHeight) {\n const newX = this.x;\n const newY = this.y;\n const newWidth = this.width;\n const newHeight = this.height;\n if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) {\n return;\n }\n this.addCommands({\n cmd: () => {\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n },\n undo: () => {\n this.width = savedWidth;\n this.height = savedHeight;\n this.x = savedX;\n this.y = savedY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * savedWidth, parentHeight * savedHeight);\n this.fixAndSetPosition();\n },\n mustExec: true\n });\n }\n #resizerPointermove(name, event) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const minWidth = AnnotationEditor.MIN_SIZE / parentWidth;\n const minHeight = AnnotationEditor.MIN_SIZE / parentHeight;\n const round = x => Math.round(x * 10000) / 10000;\n const rotationMatrix = this.#getRotationMatrix(this.rotation);\n const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y];\n const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation);\n const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y];\n let getPoint;\n let getOpposite;\n let isDiagonal = false;\n let isHorizontal = false;\n switch (name) {\n case \"topLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, 0];\n getOpposite = (w, h) => [w, h];\n break;\n case \"topMiddle\":\n getPoint = (w, h) => [w / 2, 0];\n getOpposite = (w, h) => [w / 2, h];\n break;\n case \"topRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, 0];\n getOpposite = (w, h) => [0, h];\n break;\n case \"middleRight\":\n isHorizontal = true;\n getPoint = (w, h) => [w, h / 2];\n getOpposite = (w, h) => [0, h / 2];\n break;\n case \"bottomRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, h];\n getOpposite = (w, h) => [0, 0];\n break;\n case \"bottomMiddle\":\n getPoint = (w, h) => [w / 2, h];\n getOpposite = (w, h) => [w / 2, 0];\n break;\n case \"bottomLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, h];\n getOpposite = (w, h) => [w, 0];\n break;\n case \"middleLeft\":\n isHorizontal = true;\n getPoint = (w, h) => [0, h / 2];\n getOpposite = (w, h) => [w, h / 2];\n break;\n }\n const point = getPoint(savedWidth, savedHeight);\n const oppositePoint = getOpposite(savedWidth, savedHeight);\n let transfOppositePoint = transf(...oppositePoint);\n const oppositeX = round(savedX + transfOppositePoint[0]);\n const oppositeY = round(savedY + transfOppositePoint[1]);\n let ratioX = 1;\n let ratioY = 1;\n let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY);\n [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight);\n if (isDiagonal) {\n const oldDiag = Math.hypot(savedWidth, savedHeight);\n ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);\n } else if (isHorizontal) {\n ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth;\n } else {\n ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight;\n }\n const newWidth = round(savedWidth * ratioX);\n const newHeight = round(savedHeight * ratioY);\n transfOppositePoint = transf(...getOpposite(newWidth, newHeight));\n const newX = oppositeX - transfOppositePoint[0];\n const newY = oppositeY - transfOppositePoint[1];\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n }\n altTextFinish() {\n this.#altText?.finish();\n }\n async addEditToolbar() {\n if (this._editToolbar || this.#isInEditMode) {\n return this._editToolbar;\n }\n this._editToolbar = new EditorToolbar(this);\n this.div.append(this._editToolbar.render());\n if (this.#altText) {\n await this._editToolbar.addAltText(this.#altText);\n }\n return this._editToolbar;\n }\n removeEditToolbar() {\n if (!this._editToolbar) {\n return;\n }\n this._editToolbar.remove();\n this._editToolbar = null;\n this.#altText?.destroy();\n }\n addContainer(container) {\n const editToolbarDiv = this._editToolbar?.div;\n if (editToolbarDiv) {\n editToolbarDiv.before(container);\n } else {\n this.div.append(container);\n }\n }\n getClientDimensions() {\n return this.div.getBoundingClientRect();\n }\n async addAltTextButton() {\n if (this.#altText) {\n return;\n }\n AltText.initialize(AnnotationEditor._l10n);\n this.#altText = new AltText(this);\n if (this.#accessibilityData) {\n this.#altText.data = this.#accessibilityData;\n this.#accessibilityData = null;\n }\n await this.addEditToolbar();\n }\n get altTextData() {\n return this.#altText?.data;\n }\n set altTextData(data) {\n if (!this.#altText) {\n return;\n }\n this.#altText.data = data;\n }\n get guessedAltText() {\n return this.#altText?.guessedText;\n }\n async setGuessedAltText(text) {\n await this.#altText?.setGuessedText(text);\n }\n serializeAltText(isForCopying) {\n return this.#altText?.serialize(isForCopying);\n }\n hasAltText() {\n return !!this.#altText && !this.#altText.isEmpty();\n }\n hasAltTextData() {\n return this.#altText?.hasData() ?? false;\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.tabIndex = this.#disabled ? -1 : 0;\n if (!this._isVisible) {\n this.div.classList.add(\"hidden\");\n }\n this.setInForeground();\n this.#addFocusListeners();\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.parentRotation % 180 !== 0) {\n this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`;\n this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`;\n }\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n bindEvents(this, this.div, [\"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n this.#hasBeenClicked = true;\n if (this._isDraggable) {\n this.#setUpDragSession(event);\n return;\n }\n this.#selectOnPointerEvent(event);\n }\n get isSelected() {\n return this._uiManager.isSelected(this);\n }\n #selectOnPointerEvent(event) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n }\n #setUpDragSession(event) {\n const {\n isSelected\n } = this;\n this._uiManager.setUpDragSession();\n const ac = new AbortController();\n const signal = this._uiManager.combinedSignal(ac);\n if (isSelected) {\n this.div.classList.add(\"moving\");\n this.#prevDragX = event.clientX;\n this.#prevDragY = event.clientY;\n const pointerMoveCallback = e => {\n const {\n clientX: x,\n clientY: y\n } = e;\n const [tx, ty] = this.screenToPageTranslation(x - this.#prevDragX, y - this.#prevDragY);\n this.#prevDragX = x;\n this.#prevDragY = y;\n this._uiManager.dragSelectedEditors(tx, ty);\n };\n window.addEventListener(\"pointermove\", pointerMoveCallback, {\n passive: true,\n capture: true,\n signal\n });\n }\n const pointerUpCallback = () => {\n ac.abort();\n if (isSelected) {\n this.div.classList.remove(\"moving\");\n }\n this.#hasBeenClicked = false;\n if (!this._uiManager.endDragSession()) {\n this.#selectOnPointerEvent(event);\n }\n };\n window.addEventListener(\"pointerup\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"blur\", pointerUpCallback, {\n signal\n });\n }\n moveInDOM() {\n if (this.#moveInDOMTimeout) {\n clearTimeout(this.#moveInDOMTimeout);\n }\n this.#moveInDOMTimeout = setTimeout(() => {\n this.#moveInDOMTimeout = null;\n this.parent?.moveEditorInDOM(this);\n }, 0);\n }\n _setParentAndPosition(parent, x, y) {\n parent.changeParent(this);\n this.x = x;\n this.y = y;\n this.fixAndSetPosition();\n }\n getRect(tx, ty, rotation = this.rotation) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return this.#isResizerEnabledForKeyboard;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n #addFocusListeners() {\n if (this.#focusAC || !this.div) {\n return;\n }\n this.#focusAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#focusAC);\n this.div.addEventListener(\"focusin\", this.focusin.bind(this), {\n signal\n });\n this.div.addEventListener(\"focusout\", this.focusout.bind(this), {\n signal\n });\n }\n rebuild() {\n this.#addFocusListeners();\n }\n rotate(_angle) {}\n serializeDeleted() {\n return {\n id: this.annotationElementId,\n deleted: true,\n pageIndex: this.pageIndex,\n popupRef: this._initialData?.popupRef || \"\"\n };\n }\n serialize(isForCopying = false, context = null) {\n unreachable(\"An editor must be serializable\");\n }\n static async deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n editor.#accessibilityData = data.accessibilityData;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n get hasBeenModified() {\n return !!this.annotationElementId && (this.deleted || this.serialize() !== null);\n }\n remove() {\n this.#focusAC?.abort();\n this.#focusAC = null;\n if (!this.isEmpty()) {\n this.commit();\n }\n if (this.parent) {\n this.parent.remove(this);\n } else {\n this._uiManager.removeEditor(this);\n }\n if (this.#moveInDOMTimeout) {\n clearTimeout(this.#moveInDOMTimeout);\n this.#moveInDOMTimeout = null;\n }\n this.#stopResizing();\n this.removeEditToolbar();\n if (this.#telemetryTimeouts) {\n for (const timeout of this.#telemetryTimeouts.values()) {\n clearTimeout(timeout);\n }\n this.#telemetryTimeouts = null;\n }\n this.parent = null;\n }\n get isResizable() {\n return false;\n }\n makeResizable() {\n if (this.isResizable) {\n this.#createResizers();\n this.#resizersDiv.classList.remove(\"hidden\");\n bindEvents(this, this.div, [\"keydown\"]);\n }\n }\n get toolbarPosition() {\n return null;\n }\n keydown(event) {\n if (!this.isResizable || event.target !== this.div || event.key !== \"Enter\") {\n return;\n }\n this._uiManager.setSelected(this);\n this.#savedDimensions = {\n savedX: this.x,\n savedY: this.y,\n savedWidth: this.width,\n savedHeight: this.height\n };\n const children = this.#resizersDiv.children;\n if (!this.#allResizerDivs) {\n this.#allResizerDivs = Array.from(children);\n const boundResizerKeydown = this.#resizerKeydown.bind(this);\n const boundResizerBlur = this.#resizerBlur.bind(this);\n const signal = this._uiManager._signal;\n for (const div of this.#allResizerDivs) {\n const name = div.getAttribute(\"data-resizer-name\");\n div.setAttribute(\"role\", \"spinbutton\");\n div.addEventListener(\"keydown\", boundResizerKeydown, {\n signal\n });\n div.addEventListener(\"blur\", boundResizerBlur, {\n signal\n });\n div.addEventListener(\"focus\", this.#resizerFocus.bind(this, name), {\n signal\n });\n div.setAttribute(\"data-l10n-id\", AnnotationEditor._l10nResizer[name]);\n }\n }\n const first = this.#allResizerDivs[0];\n let firstPosition = 0;\n for (const div of children) {\n if (div === first) {\n break;\n }\n firstPosition++;\n }\n const nextFirstPosition = (360 - this.rotation + this.parentRotation) % 360 / 90 * (this.#allResizerDivs.length / 4);\n if (nextFirstPosition !== firstPosition) {\n if (nextFirstPosition < firstPosition) {\n for (let i = 0; i < firstPosition - nextFirstPosition; i++) {\n this.#resizersDiv.append(this.#resizersDiv.firstChild);\n }\n } else if (nextFirstPosition > firstPosition) {\n for (let i = 0; i < nextFirstPosition - firstPosition; i++) {\n this.#resizersDiv.firstChild.before(this.#resizersDiv.lastChild);\n }\n }\n let i = 0;\n for (const child of children) {\n const div = this.#allResizerDivs[i++];\n const name = div.getAttribute(\"data-resizer-name\");\n child.setAttribute(\"data-l10n-id\", AnnotationEditor._l10nResizer[name]);\n }\n }\n this.#setResizerTabIndex(0);\n this.#isResizerEnabledForKeyboard = true;\n this.#resizersDiv.firstChild.focus({\n focusVisible: true\n });\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n #resizerKeydown(event) {\n AnnotationEditor._resizerKeyboardManager.exec(this, event);\n }\n #resizerBlur(event) {\n if (this.#isResizerEnabledForKeyboard && event.relatedTarget?.parentNode !== this.#resizersDiv) {\n this.#stopResizing();\n }\n }\n #resizerFocus(name) {\n this.#focusedResizerName = this.#isResizerEnabledForKeyboard ? name : \"\";\n }\n #setResizerTabIndex(value) {\n if (!this.#allResizerDivs) {\n return;\n }\n for (const div of this.#allResizerDivs) {\n div.tabIndex = value;\n }\n }\n _resizeWithKeyboard(x, y) {\n if (!this.#isResizerEnabledForKeyboard) {\n return;\n }\n this.#resizerPointermove(this.#focusedResizerName, {\n movementX: x,\n movementY: y\n });\n }\n #stopResizing() {\n this.#isResizerEnabledForKeyboard = false;\n this.#setResizerTabIndex(-1);\n if (this.#savedDimensions) {\n const {\n savedX,\n savedY,\n savedWidth,\n savedHeight\n } = this.#savedDimensions;\n this.#addResizeToUndoStack(savedX, savedY, savedWidth, savedHeight);\n this.#savedDimensions = null;\n }\n }\n _stopResizingWithKeyboard() {\n this.#stopResizing();\n this.div.focus();\n }\n select() {\n this.makeResizable();\n this.div?.classList.add(\"selectedEditor\");\n if (!this._editToolbar) {\n this.addEditToolbar().then(() => {\n if (this.div?.classList.contains(\"selectedEditor\")) {\n this._editToolbar?.show();\n }\n });\n return;\n }\n this._editToolbar?.show();\n this.#altText?.toggleAltTextBadge(false);\n }\n unselect() {\n this.#resizersDiv?.classList.add(\"hidden\");\n this.div?.classList.remove(\"selectedEditor\");\n if (this.div?.contains(document.activeElement)) {\n this._uiManager.currentLayer.div.focus({\n preventScroll: true\n });\n }\n this._editToolbar?.hide();\n this.#altText?.toggleAltTextBadge(true);\n }\n updateParams(type, value) {}\n disableEditing() {}\n enableEditing() {}\n enterInEditMode() {}\n getImageForAltText() {\n return null;\n }\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (!this.parent) {\n return;\n }\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n setAspectRatio(width, height) {\n this.#keepAspectRatio = true;\n const aspectRatio = width / height;\n const {\n style\n } = this.div;\n style.aspectRatio = aspectRatio;\n style.height = \"auto\";\n }\n static get MIN_SIZE() {\n return 16;\n }\n static canCreateNewEmptyEditor() {\n return true;\n }\n get telemetryInitialData() {\n return {\n action: \"added\"\n };\n }\n get telemetryFinalData() {\n return null;\n }\n _reportTelemetry(data, mustWait = false) {\n if (mustWait) {\n this.#telemetryTimeouts ||= new Map();\n const {\n action\n } = data;\n let timeout = this.#telemetryTimeouts.get(action);\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n this._reportTelemetry(data);\n this.#telemetryTimeouts.delete(action);\n if (this.#telemetryTimeouts.size === 0) {\n this.#telemetryTimeouts = null;\n }\n }, AnnotationEditor._telemetryTimeout);\n this.#telemetryTimeouts.set(action, timeout);\n return;\n }\n data.type ||= this.editorType;\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n data\n }\n });\n }\n show(visible = this._isVisible) {\n this.div.classList.toggle(\"hidden\", !visible);\n this._isVisible = visible;\n }\n enable() {\n if (this.div) {\n this.div.tabIndex = 0;\n }\n this.#disabled = false;\n }\n disable() {\n if (this.div) {\n this.div.tabIndex = -1;\n }\n this.#disabled = true;\n }\n renderAnnotationElement(annotation) {\n let content = annotation.container.querySelector(\".annotationContent\");\n if (!content) {\n content = document.createElement(\"div\");\n content.classList.add(\"annotationContent\", this.editorType);\n annotation.container.prepend(content);\n } else if (content.nodeName === \"CANVAS\") {\n const canvas = content;\n content = document.createElement(\"div\");\n content.classList.add(\"annotationContent\", this.editorType);\n canvas.before(content);\n }\n return content;\n }\n resetAnnotationElement(annotation) {\n const {\n firstChild\n } = annotation.container;\n if (firstChild?.nodeName === \"DIV\" && firstChild.classList.contains(\"annotationContent\")) {\n firstChild.remove();\n }\n }\n}\nclass FakeEditor extends AnnotationEditor {\n constructor(params) {\n super(params);\n this.annotationElementId = params.annotationElementId;\n this.deleted = true;\n }\n serialize() {\n return this.serializeDeleted();\n }\n}\n\n;// ./src/shared/murmurhash3.js\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if (ArrayBuffer.isView(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Invalid data format, must be a string or TypedArray.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\n\n;// ./src/display/annotation_storage.js\n\n\n\nconst SerializableEmpty = Object.freeze({\n map: null,\n hash: \"\",\n transfer: undefined\n});\nclass AnnotationStorage {\n #modified = false;\n #modifiedIds = null;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? objectFromMap(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return SerializableEmpty;\n }\n const map = new Map(),\n hash = new MurmurHash3_64(),\n transfer = [];\n const context = Object.create(null);\n let hasBitmap = false;\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof AnnotationEditor ? val.serialize(false, context) : val;\n if (serialized) {\n map.set(key, serialized);\n hash.update(`${key}:${JSON.stringify(serialized)}`);\n hasBitmap ||= !!serialized.bitmap;\n }\n }\n if (hasBitmap) {\n for (const value of map.values()) {\n if (value.bitmap) {\n transfer.push(value.bitmap);\n }\n }\n }\n return map.size > 0 ? {\n map,\n hash: hash.hexdigest(),\n transfer\n } : SerializableEmpty;\n }\n get editorStats() {\n let stats = null;\n const typeToEditor = new Map();\n for (const value of this.#storage.values()) {\n if (!(value instanceof AnnotationEditor)) {\n continue;\n }\n const editorStats = value.telemetryFinalData;\n if (!editorStats) {\n continue;\n }\n const {\n type\n } = editorStats;\n if (!typeToEditor.has(type)) {\n typeToEditor.set(type, Object.getPrototypeOf(value).constructor);\n }\n stats ||= Object.create(null);\n const map = stats[type] ||= new Map();\n for (const [key, val] of Object.entries(editorStats)) {\n if (key === \"type\") {\n continue;\n }\n let counters = map.get(key);\n if (!counters) {\n counters = new Map();\n map.set(key, counters);\n }\n const count = counters.get(val) ?? 0;\n counters.set(val, count + 1);\n }\n }\n for (const [type, editor] of typeToEditor) {\n stats[type] = editor.computeTelemetryFinalData(stats[type]);\n }\n return stats;\n }\n resetModifiedIds() {\n this.#modifiedIds = null;\n }\n get modifiedIds() {\n if (this.#modifiedIds) {\n return this.#modifiedIds;\n }\n const ids = [];\n for (const value of this.#storage.values()) {\n if (!(value instanceof AnnotationEditor) || !value.annotationElementId || !value.serialize()) {\n continue;\n }\n ids.push(value.annotationElementId);\n }\n return this.#modifiedIds = {\n ids: new Set(ids),\n hash: ids.join(\",\")\n };\n }\n}\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable;\n constructor(parent) {\n super();\n const {\n map,\n hash,\n transfer\n } = parent.serializable;\n const clone = structuredClone(map, transfer ? {\n transfer\n } : null);\n this.#serializable = {\n map: clone,\n hash,\n transfer\n };\n }\n get print() {\n unreachable(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n get modifiedIds() {\n return shadow(this, \"modifiedIds\", {\n ids: new Set(),\n hash: \"\"\n });\n }\n}\n\n;// ./src/display/font_loader.js\n\nclass FontLoader {\n #systemFonts = new Set();\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = new Set();\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.add(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n removeNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.delete(nativeFontFace);\n this._document.fonts.delete(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.clear();\n this.#systemFonts.clear();\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async loadSystemFont({\n systemFontInfo: info,\n _inspectFont\n }) {\n if (!info || this.#systemFonts.has(info.loadedName)) {\n return;\n }\n assert(!this.disableFontFace, \"loadSystemFont shouldn't be called when `disableFontFace` is set.\");\n if (this.isFontLoadingAPISupported) {\n const {\n loadedName,\n src,\n style\n } = info;\n const fontFace = new FontFace(loadedName, src, style);\n this.addNativeFontFace(fontFace);\n try {\n await fontFace.load();\n this.#systemFonts.add(loadedName);\n _inspectFont?.(info);\n } catch {\n warn(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`);\n this.removeNativeFontFace(fontFace);\n }\n return;\n }\n unreachable(\"Not implemented: loadSystemFont without the Font Loading API.\");\n }\n async bind(font) {\n if (font.attached || font.missingFile && !font.systemFontInfo) {\n return;\n }\n font.attached = true;\n if (font.systemFontInfo) {\n await this.loadSystemFont(font);\n return;\n }\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n warn(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return shadow(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && typeof navigator?.userAgent === \"string\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return shadow(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n assert(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n const testFont = atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n return shadow(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n warn(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, string32(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nclass FontFaceObject {\n constructor(translatedData, {\n disableFontFace = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.disableFontFace = disableFontFace === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const url = `url(data:${this.mimetype};base64,${toBase64Util(this.data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n warn(`getPathGenerator - ignoring character: \"${ex}\".`);\n }\n if (!Array.isArray(cmds) || cmds.length === 0) {\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n const commands = [];\n for (let i = 0, ii = cmds.length; i < ii;) {\n switch (cmds[i++]) {\n case FontRenderOps.BEZIER_CURVE_TO:\n {\n const [a, b, c, d, e, f] = cmds.slice(i, i + 6);\n commands.push(ctx => ctx.bezierCurveTo(a, b, c, d, e, f));\n i += 6;\n }\n break;\n case FontRenderOps.MOVE_TO:\n {\n const [a, b] = cmds.slice(i, i + 2);\n commands.push(ctx => ctx.moveTo(a, b));\n i += 2;\n }\n break;\n case FontRenderOps.LINE_TO:\n {\n const [a, b] = cmds.slice(i, i + 2);\n commands.push(ctx => ctx.lineTo(a, b));\n i += 2;\n }\n break;\n case FontRenderOps.QUADRATIC_CURVE_TO:\n {\n const [a, b, c, d] = cmds.slice(i, i + 4);\n commands.push(ctx => ctx.quadraticCurveTo(a, b, c, d));\n i += 4;\n }\n break;\n case FontRenderOps.RESTORE:\n commands.push(ctx => ctx.restore());\n break;\n case FontRenderOps.SAVE:\n commands.push(ctx => ctx.save());\n break;\n case FontRenderOps.SCALE:\n assert(commands.length === 2, \"Scale command is only valid at the third position.\");\n break;\n case FontRenderOps.TRANSFORM:\n {\n const [a, b, c, d, e, f] = cmds.slice(i, i + 6);\n commands.push(ctx => ctx.transform(a, b, c, d, e, f));\n i += 6;\n }\n break;\n case FontRenderOps.TRANSLATE:\n {\n const [a, b] = cmds.slice(i, i + 2);\n commands.push(ctx => ctx.translate(a, b));\n i += 2;\n }\n break;\n }\n }\n return this.compiledGlyphs[character] = function glyphDrawer(ctx, size) {\n commands[0](ctx);\n commands[1](ctx);\n ctx.scale(size, -size);\n for (let i = 2, ii = commands.length; i < ii; i++) {\n commands[i](ctx);\n }\n };\n }\n}\n\n;// ./src/display/canvas_factory.js\n\nclass BaseCanvasFactory {\n #enableHWA = false;\n constructor({\n enableHWA = false\n }) {\n this.#enableHWA = enableHWA;\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\", {\n willReadFrequently: !this.#enableHWA\n })\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n unreachable(\"Abstract method `_createCanvas` called.\");\n }\n}\nclass DOMCanvasFactory extends BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document,\n enableHWA = false\n }) {\n super({\n enableHWA\n });\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\n\n;// ./src/display/cmap_reader_factory.js\n\n\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error(\"Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.\");\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n return this._fetch(url).then(cMapData => ({\n cMapData,\n isCompressed: this.isCompressed\n })).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n async _fetch(url) {\n unreachable(\"Abstract method `_fetch` called.\");\n }\n}\nclass DOMCMapReaderFactory extends BaseCMapReaderFactory {\n async _fetch(url) {\n const data = await fetchData(url, this.isCompressed ? \"arraybuffer\" : \"text\");\n return data instanceof ArrayBuffer ? new Uint8Array(data) : stringToBytes(data);\n }\n}\n\n;// ./src/display/filter_factory.js\n\n\nclass BaseFilterFactory {\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n addAlphaFilter(map) {\n return \"none\";\n }\n addLuminosityFilter(map) {\n return \"none\";\n }\n addHighlightHCMFilter(filterName, fgColor, bgColor, newFgColor, newBgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nclass DOMFilterFactory extends BaseFilterFactory {\n #baseUrl;\n #_cache;\n #_defs;\n #docId;\n #document;\n #_hcmCache;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n }) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #hcmCache() {\n return this.#_hcmCache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n #createTables(maps) {\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n const table = buffer.join(\",\");\n return [table, table, table];\n }\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n return [bufferR.join(\",\"), bufferG.join(\",\"), bufferB.join(\",\")];\n }\n #createUrl(id) {\n if (this.#baseUrl === undefined) {\n this.#baseUrl = \"\";\n const url = this.#document.URL;\n if (url !== this.#document.baseURI) {\n if (isDataScheme(url)) {\n warn('#createUrl: ignore \"data:\"-URL for performance reasons.');\n } else {\n this.#baseUrl = url.split(\"#\", 1)[0];\n }\n }\n }\n return `url(${this.#baseUrl}#${id})`;\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n const [tableR, tableG, tableB] = this.#createTables(maps);\n const key = maps.length === 1 ? tableR : `${tableR}${tableG}${tableB}`;\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = this.#createUrl(id);\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapConversion(tableR, tableG, tableB, filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n const filterName = \"base\";\n let info = this.#hcmCache.get(filterName);\n if (info?.key === key) {\n return info.url;\n }\n if (info) {\n info.filter?.remove();\n info.key = key;\n info.url = \"none\";\n info.filter = null;\n } else {\n info = {\n key,\n url: \"none\",\n filter: null\n };\n this.#hcmCache.set(filterName, info);\n }\n if (!fgColor || !bgColor) {\n return info.url;\n }\n const fgRGB = this.#getRGB(fgColor);\n fgColor = Util.makeHexColor(...fgRGB);\n const bgRGB = this.#getRGB(bgColor);\n bgColor = Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return info.url;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = info.filter = this.#createFilter(id);\n this.#addTransferMapConversion(table, table, table, filter);\n this.#addGrayConversion(filter);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter);\n info.url = this.#createUrl(id);\n return info.url;\n }\n addAlphaFilter(map) {\n let value = this.#cache.get(map);\n if (value) {\n return value;\n }\n const [tableA] = this.#createTables([map]);\n const key = `alpha_${tableA}`;\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(map, value);\n return value;\n }\n const id = `g_${this.#docId}_alpha_map_${this.#id++}`;\n const url = this.#createUrl(id);\n this.#cache.set(map, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapAlphaConversion(tableA, filter);\n return url;\n }\n addLuminosityFilter(map) {\n let value = this.#cache.get(map || \"luminosity\");\n if (value) {\n return value;\n }\n let tableA, key;\n if (map) {\n [tableA] = this.#createTables([map]);\n key = `luminosity_${tableA}`;\n } else {\n key = \"luminosity\";\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(map, value);\n return value;\n }\n const id = `g_${this.#docId}_luminosity_map_${this.#id++}`;\n const url = this.#createUrl(id);\n this.#cache.set(map, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addLuminosityConversion(filter);\n if (map) {\n this.#addTransferMapAlphaConversion(tableA, filter);\n }\n return url;\n }\n addHighlightHCMFilter(filterName, fgColor, bgColor, newFgColor, newBgColor) {\n const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`;\n let info = this.#hcmCache.get(filterName);\n if (info?.key === key) {\n return info.url;\n }\n if (info) {\n info.filter?.remove();\n info.key = key;\n info.url = \"none\";\n info.filter = null;\n } else {\n info = {\n key,\n url: \"none\",\n filter: null\n };\n this.#hcmCache.set(filterName, info);\n }\n if (!fgColor || !bgColor) {\n return info.url;\n }\n const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this));\n let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]);\n let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]);\n let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this));\n if (bgGray < fgGray) {\n [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB];\n }\n this.#defs.style.color = \"\";\n const getSteps = (fg, bg, n) => {\n const arr = new Array(256);\n const step = (bgGray - fgGray) / n;\n const newStart = fg / 255;\n const newStep = (bg - fg) / (255 * n);\n let prev = 0;\n for (let i = 0; i <= n; i++) {\n const k = Math.round(fgGray + i * step);\n const value = newStart + i * newStep;\n for (let j = prev; j <= k; j++) {\n arr[j] = value;\n }\n prev = k + 1;\n }\n for (let i = prev; i < 256; i++) {\n arr[i] = arr[prev - 1];\n }\n return arr.join(\",\");\n };\n const id = `g_${this.#docId}_hcm_${filterName}_filter`;\n const filter = info.filter = this.#createFilter(id);\n this.#addGrayConversion(filter);\n this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter);\n info.url = this.#createUrl(id);\n return info.url;\n }\n destroy(keepHCM = false) {\n if (keepHCM && this.#hcmCache.size !== 0) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n #addLuminosityConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0\");\n filter.append(feColorMatrix);\n }\n #addGrayConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n }\n #createFilter(id) {\n const filter = this.#document.createElementNS(SVG_NS, \"filter\");\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n filter.setAttribute(\"id\", id);\n this.#defs.append(filter);\n return filter;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n #addTransferMapConversion(rTable, gTable, bTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", rTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", gTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", bTable);\n }\n #addTransferMapAlphaConversion(aTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncA\", aTable);\n }\n #getRGB(color) {\n this.#defs.style.color = color;\n return getRGB(getComputedStyle(this.#defs).getPropertyValue(\"color\"));\n }\n}\n\n;// ./src/display/standard_fontdata_factory.js\n\n\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error(\"Ensure that the `standardFontDataUrl` API parameter is provided.\");\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetch(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n async _fetch(url) {\n unreachable(\"Abstract method `_fetch` called.\");\n }\n}\nclass DOMStandardFontDataFactory extends BaseStandardFontDataFactory {\n async _fetch(url) {\n const data = await fetchData(url, \"arraybuffer\");\n return new Uint8Array(data);\n }\n}\n\n;// ./src/display/node_utils.js\n\n\n\n\n\nif (isNodeJS) {\n var packageCapability = Promise.withResolvers();\n var packageMap = null;\n const loadPackages = async () => {\n const fs = await import(/*webpackIgnore: true*/\"fs\"),\n http = await import(/*webpackIgnore: true*/\"http\"),\n https = await import(/*webpackIgnore: true*/\"https\"),\n url = await import(/*webpackIgnore: true*/\"url\");\n let canvas, path2d;\n return new Map(Object.entries({\n fs,\n http,\n https,\n url,\n canvas,\n path2d\n }));\n };\n loadPackages().then(map => {\n packageMap = map;\n packageCapability.resolve();\n }, reason => {\n warn(`loadPackages: ${reason}`);\n packageMap = new Map();\n packageCapability.resolve();\n });\n}\nclass NodePackages {\n static get promise() {\n return packageCapability.promise;\n }\n static get(name) {\n return packageMap?.get(name);\n }\n}\nasync function node_utils_fetchData(url) {\n const fs = NodePackages.get(\"fs\");\n const data = await fs.promises.readFile(url);\n return new Uint8Array(data);\n}\nclass NodeFilterFactory extends BaseFilterFactory {}\nclass NodeCanvasFactory extends BaseCanvasFactory {\n _createCanvas(width, height) {\n const canvas = NodePackages.get(\"canvas\");\n return canvas.createCanvas(width, height);\n }\n}\nclass NodeCMapReaderFactory extends BaseCMapReaderFactory {\n async _fetch(url) {\n return node_utils_fetchData(url);\n }\n}\nclass NodeStandardFontDataFactory extends BaseStandardFontDataFactory {\n async _fetch(url) {\n return node_utils_fetchData(url);\n }\n}\n\n;// ./src/display/pattern_helper.js\n\n\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n getPattern() {\n unreachable(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, getCurrentTransform(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n const k = y < y1 ? 0 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = Util.singularValueDecompose2dScale(getCurrentTransform(ctx));\n } else {\n scale = Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const {\n bbox,\n operatorList,\n paintType,\n tilingType,\n color,\n canvasGraphicsFactory\n } = this;\n let {\n xstep,\n ystep\n } = this;\n xstep = Math.abs(xstep);\n ystep = Math.abs(ystep);\n info(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const width = x1 - x0;\n const height = y1 - y0;\n const matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScaleX = matrixScale[0] * curMatrixScale[0];\n const combinedScaleY = matrixScale[1] * curMatrixScale[1];\n let canvasWidth = width,\n canvasHeight = height,\n redrawHorizontally = false,\n redrawVertically = false;\n const xScaledStep = Math.ceil(xstep * combinedScaleX);\n const yScaledStep = Math.ceil(ystep * combinedScaleY);\n const xScaledWidth = Math.ceil(width * combinedScaleX);\n const yScaledHeight = Math.ceil(height * combinedScaleY);\n if (xScaledStep >= xScaledWidth) {\n canvasWidth = xstep;\n } else {\n redrawHorizontally = true;\n }\n if (yScaledStep >= yScaledHeight) {\n canvasHeight = ystep;\n } else {\n redrawVertically = true;\n }\n const dimx = this.getSizeAndScale(canvasWidth, this.ctx.canvas.width, combinedScaleX);\n const dimy = this.getSizeAndScale(canvasHeight, this.ctx.canvas.height, combinedScaleY);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n tmpCtx.translate(-dimx.scale * x0, -dimy.scale * y0);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, x0, y0, x1, y1);\n graphics.baseTransform = getCurrentTransform(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n tmpCtx.restore();\n if (redrawHorizontally || redrawVertically) {\n const image = tmpCanvas.canvas;\n if (redrawHorizontally) {\n canvasWidth = xstep;\n }\n if (redrawVertically) {\n canvasHeight = ystep;\n }\n const dimx2 = this.getSizeAndScale(canvasWidth, this.ctx.canvas.width, combinedScaleX);\n const dimy2 = this.getSizeAndScale(canvasHeight, this.ctx.canvas.height, combinedScaleY);\n const xSize = dimx2.size;\n const ySize = dimy2.size;\n const tmpCanvas2 = owner.cachedCanvases.getCanvas(\"pattern-workaround\", xSize, ySize);\n const tmpCtx2 = tmpCanvas2.context;\n const ii = redrawHorizontally ? Math.floor(width / xstep) : 0;\n const jj = redrawVertically ? Math.floor(height / ystep) : 0;\n for (let i = 0; i <= ii; i++) {\n for (let j = 0; j <= jj; j++) {\n tmpCtx2.drawImage(image, xSize * i, ySize * j, xSize, ySize, 0, 0, xSize, ySize);\n }\n }\n return {\n canvas: tmpCanvas2.canvas,\n scaleX: dimx2.scale,\n scaleY: dimy2.scale,\n offsetX: x0,\n offsetY: y0\n };\n }\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: x0,\n offsetY: y0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax(getCurrentTransform(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\n\n;// ./src/shared/image_utils.js\n\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = util_FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n;// ./src/display/canvas.js\n\n\n\n\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = getCurrentTransform(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = Util.applyTransform(rect, transform);\n const p2 = Util.applyTransform(rect.slice(2), transform);\n const p3 = Util.applyTransform([rect[0], rect[3]], transform);\n const p4 = Util.applyTransform([rect[2], rect[1]], transform);\n this.minX = Math.min(this.minX, p1[0], p2[0], p3[0], p4[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1], p3[1], p4[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0], p3[0], p4[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1], p3[1], p4[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.minY = Math.min(this.minY, minMax[1]);\n this.maxX = Math.max(this.maxX, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3, minMax);\n if (minMax) {\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === PathType.STROKE) {\n if (!transform) {\n unreachable(\"Stroke bounding box must include transform.\");\n }\n const scale = Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = PathType.FILL, transform = null) {\n return Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === util_ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = util_FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === util_ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === util_ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = convertBlackAndWhiteToRGBA({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n if (interpolate) {\n return true;\n }\n const scale = Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * PixelsPerInch.PDF_TO_CSS_UNITS);\n return scale[0] <= actualScale && scale[1] <= actualScale;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = [-1, 0];\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...getCurrentTransform(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = getCurrentTransform(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.current.activeSMask = null;\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width ?? img.displayWidth;\n const height = img.height ?? img.displayHeight;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = getCurrentTransform(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const [minX, minY, maxX, maxY] = Util.getAxialAlignedBoundingBox([0, 0, width, height], maskToCanvas);\n const drawnWidth = Math.round(maxX - minX) || 1;\n const drawnHeight = Math.round(maxY - minY) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = minX;\n const offsetY = minY;\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, getCurrentTransformInverse(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(getCurrentTransform(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = Util.transform(getCurrentTransformInverse(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking[0] = -1;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...getCurrentTransform(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n this.composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n this.genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n }\n genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n let maskCanvas = maskCtx.canvas;\n let maskX = layerOffsetX - maskOffsetX;\n let maskY = layerOffsetY - maskOffsetY;\n if (backdrop) {\n const backdropRGB = Util.makeHexColor(...backdrop);\n if (maskX < 0 || maskY < 0 || maskX + width > maskCanvas.width || maskY + height > maskCanvas.height) {\n const canvas = this.cachedCanvases.getCanvas(\"maskExtension\", width, height);\n const ctx = canvas.context;\n ctx.drawImage(maskCanvas, -maskX, -maskY);\n ctx.globalCompositeOperation = \"destination-atop\";\n ctx.fillStyle = backdropRGB;\n ctx.fillRect(0, 0, width, height);\n ctx.globalCompositeOperation = \"source-over\";\n maskCanvas = canvas.canvas;\n maskX = maskY = 0;\n } else {\n maskCtx.save();\n maskCtx.globalAlpha = 1;\n maskCtx.setTransform(1, 0, 0, 1, 0, 0);\n const clip = new Path2D();\n clip.rect(maskX, maskY, width, height);\n maskCtx.clip(clip);\n maskCtx.globalCompositeOperation = \"destination-atop\";\n maskCtx.fillStyle = backdropRGB;\n maskCtx.fillRect(maskX, maskY, width, height);\n maskCtx.restore();\n }\n }\n layerCtx.save();\n layerCtx.globalAlpha = 1;\n layerCtx.setTransform(1, 0, 0, 1, 0, 0);\n if (subtype === \"Alpha\" && transferMap) {\n layerCtx.filter = this.filterFactory.addAlphaFilter(transferMap);\n } else if (subtype === \"Luminosity\") {\n layerCtx.filter = this.filterFactory.addLuminosityFilter(transferMap);\n }\n const clip = new Path2D();\n clip.rect(layerOffsetX, layerOffsetY, width, height);\n layerCtx.clip(clip);\n layerCtx.globalCompositeOperation = \"destination-in\";\n layerCtx.drawImage(maskCanvas, maskX, maskY, width, height, layerOffsetX, layerOffsetY, width, height);\n layerCtx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = getCurrentTransform(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n warn(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n const typeface = fontObj.systemFontInfo?.css || `\"${name}\", ${fontObj.fallbackName}`;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths ||= [];\n paths.push({\n transform: getCurrentTransform(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return shadow(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.FILL);\n patternTransform = getCurrentTransform(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n warn(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || getCurrentTransform(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n })\n };\n pattern = new TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n this.ctx.strokeStyle = this.current.strokeColor = Util.makeHexColor(r, g, b);\n }\n setStrokeTransparent() {\n this.ctx.strokeStyle = this.current.strokeColor = \"transparent\";\n }\n setFillRGBColor(r, g, b) {\n this.ctx.fillStyle = this.current.fillColor = Util.makeHexColor(r, g, b);\n this.current.patternFill = false;\n }\n setFillTransparent() {\n this.ctx.fillStyle = this.current.fillColor = \"transparent\";\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = getShadingPattern(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.SHADING);\n const inv = getCurrentTransformInverse(ctx);\n if (inv) {\n const {\n width,\n height\n } = ctx.canvas;\n const [x0, y0, x1, y1] = Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n unreachable(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n unreachable(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (matrix) {\n this.transform(...matrix);\n }\n this.baseTransform = getCurrentTransform(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax(getCurrentTransform(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n info(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n warn(\"Knockout groups not supported.\");\n }\n const currentTransform = getCurrentTransform(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = Util.getAxialAlignedBoundingBox(group.bbox, getCurrentTransform(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n const drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n const drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = getCurrentTransform(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (rect) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.endPath();\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.ctx.beginPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = getCurrentTransform(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, getCurrentTransformInverse(ctx), PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, getCurrentTransformInverse(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled(getCurrentTransform(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = getCurrentTransform(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (this._cachedScaleForStroking[0] === -1) {\n const {\n lineWidth\n } = this.current;\n const {\n a,\n b,\n c,\n d\n } = this.ctx.getTransform();\n let scaleX, scaleY;\n if (b === 0 && c === 0) {\n const normX = Math.abs(a);\n const normY = Math.abs(d);\n if (normX === normY) {\n if (lineWidth === 0) {\n scaleX = scaleY = 1 / normX;\n } else {\n const scaledLineWidth = normX * lineWidth;\n scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1;\n }\n } else if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(a * d - b * c);\n const normX = Math.hypot(a, b);\n const normY = Math.hypot(c, d);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking[0] = scaleX;\n this._cachedScaleForStroking[1] = scaleY;\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n const dashes = ctx.getLineDash();\n if (saveRestore) {\n ctx.save();\n }\n ctx.scale(scaleX, scaleY);\n if (dashes.length > 0) {\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(dashes.map(x => x / scale));\n ctx.lineDashOffset /= scale;\n }\n ctx.stroke();\n if (saveRestore) {\n ctx.restore();\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nfor (const op in OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n;// ./src/display/worker_options.js\nclass GlobalWorkerOptions {\n static #port = null;\n static #src = \"\";\n static get workerPort() {\n return this.#port;\n }\n static set workerPort(val) {\n if (!(typeof Worker !== \"undefined\" && val instanceof Worker) && val !== null) {\n throw new Error(\"Invalid `workerPort` type.\");\n }\n this.#port = val;\n }\n static get workerSrc() {\n return this.#src;\n }\n static set workerSrc(val) {\n if (typeof val !== \"string\") {\n throw new Error(\"Invalid `workerSrc` type.\");\n }\n this.#src = val;\n }\n}\n\n;// ./src/shared/message_handler.js\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n unreachable('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new AbortException(reason.message);\n case \"MissingPDFException\":\n return new MissingPDFException(reason.message);\n case \"PasswordException\":\n return new PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new UnknownErrorException(reason.message, reason.details);\n default:\n return new UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n #messageAC = new AbortController();\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n comObj.addEventListener(\"message\", this.#onMessage.bind(this), {\n signal: this.#messageAC.signal\n });\n }\n #onMessage({\n data\n }) {\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName,\n targetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = Promise.withResolvers();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = Promise.withResolvers();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = Promise.withResolvers();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n assert(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = Promise.withResolvers();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = Promise.withResolvers();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n assert(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: Promise.withResolvers(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n assert(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n assert(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n assert(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.#messageAC?.abort();\n this.#messageAC = null;\n }\n}\n\n;// ./src/display/metadata.js\n\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return objectFromMap(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\n\n;// ./src/display/optional_content_config.js\n\n\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #isDisplay = false;\n #isPrint = false;\n #userSet = false;\n #visible = true;\n constructor(renderingIntent, {\n name,\n intent,\n usage,\n rbGroups\n }) {\n this.#isDisplay = !!(renderingIntent & RenderingIntentFlag.DISPLAY);\n this.#isPrint = !!(renderingIntent & RenderingIntentFlag.PRINT);\n this.name = name;\n this.intent = intent;\n this.usage = usage;\n this.rbGroups = rbGroups;\n }\n get visible() {\n if (this.#userSet) {\n return this.#visible;\n }\n if (!this.#visible) {\n return false;\n }\n const {\n print,\n view\n } = this.usage;\n if (this.#isDisplay) {\n return view?.viewState !== \"OFF\";\n } else if (this.#isPrint) {\n return print?.printState !== \"OFF\";\n }\n return true;\n }\n _setVisible(internal, visible, userSet = false) {\n if (internal !== INTERNAL) {\n unreachable(\"Internal method `_setVisible` called.\");\n }\n this.#userSet = userSet;\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data, renderingIntent = RenderingIntentFlag.DISPLAY) {\n this.renderingIntent = renderingIntent;\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(renderingIntent, group));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n warn(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n info(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n warn(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n warn(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n warn(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true, preserveRB = true) {\n const group = this.#groups.get(id);\n if (!group) {\n warn(`Optional content group not found: ${id}`);\n return;\n }\n if (preserveRB && visible && group.rbGroups.length) {\n for (const rbGroup of group.rbGroups) {\n for (const otherId of rbGroup) {\n if (otherId !== id) {\n this.#groups.get(otherId)?._setVisible(INTERNAL, false, true);\n }\n }\n }\n }\n group._setVisible(INTERNAL, !!visible, true);\n this.#cachedGetHash = null;\n }\n setOCGState({\n state,\n preserveRB\n }) {\n let operator;\n for (const elem of state) {\n switch (elem) {\n case \"ON\":\n case \"OFF\":\n case \"Toggle\":\n operator = elem;\n continue;\n }\n const group = this.#groups.get(elem);\n if (!group) {\n continue;\n }\n switch (operator) {\n case \"ON\":\n this.setVisibility(elem, true, preserveRB);\n break;\n case \"OFF\":\n this.setVisibility(elem, false, preserveRB);\n break;\n case \"Toggle\":\n this.setVisibility(elem, !group.visible, preserveRB);\n break;\n }\n }\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.#initialHash === null || this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? objectFromMap(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\n\n;// ./src/display/transport_stream.js\n\n\nclass PDFDataTransportStream {\n constructor(pdfDataRangeTransport, {\n disableRange = false,\n disableStream = false\n }) {\n assert(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n const {\n length,\n initialData,\n progressiveDone,\n contentDispositionFilename\n } = pdfDataRangeTransport;\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n assert(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = isPdfFile(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n;// ./src/display/content_disposition.js\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n;// ./src/display/network_utils.js\n\n\n\nfunction createHeaders(isHttp, httpHeaders) {\n const headers = new Headers();\n if (!isHttp || !httpHeaders || typeof httpHeaders !== \"object\") {\n return headers;\n }\n for (const key in httpHeaders) {\n const val = httpHeaders[key];\n if (val !== undefined) {\n headers.append(key, val);\n }\n }\n return headers;\n}\nfunction validateRangeRequestCapabilities({\n responseHeaders,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(responseHeaders.get(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (responseHeaders.get(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = responseHeaders.get(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(responseHeaders) {\n const contentDisposition = responseHeaders.get(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = getFilenameFromContentDispositionHeader(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch {}\n }\n if (isPdfFile(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n;// ./src/display/fetch_stream.js\n\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n warn(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.headers = createHeaders(this.isHttp, source.httpHeaders);\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = Promise.withResolvers();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n const headers = new Headers(stream.headers);\n const url = source.url;\n fetch(url, createFetchOptions(headers, this._withCredentials, this._abortController)).then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const responseHeaders = response.headers;\n const {\n allowRangeRequests,\n suggestedLength\n } = validateRangeRequestCapabilities({\n responseHeaders,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = extractFilenameFromHeader(responseHeaders);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = Promise.withResolvers();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n const headers = new Headers(stream.headers);\n headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(headers, this._withCredentials, this._abortController)).then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n;// ./src/display/network.js\n\n\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction network_getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return stringToBytes(data).buffer;\n}\nclass NetworkManager {\n constructor({\n url,\n httpHeaders,\n withCredentials\n }) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.headers = createHeaders(this.isHttp, httpHeaders);\n this.withCredentials = withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const [key, val] of this.headers) {\n xhr.setRequestHeader(key, val);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = network_getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source);\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersCapability = Promise.withResolvers();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const responseHeaders = new Headers(fullRequestXhr.getAllResponseHeaders().trim().split(/[\\r\\n]+/).map(x => {\n const [key, ...val] = x.split(\": \");\n return [key, val.join(\": \")];\n }));\n const {\n allowRangeRequests,\n suggestedLength\n } = validateRangeRequestCapabilities({\n responseHeaders,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = extractFilenameFromHeader(responseHeaders);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = createResponseStatusError(status, this._url);\n this._headersCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = createResponseStatusError(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n;// ./src/display/node_stream.js\n\n\n\nconst urlRegex = /^[a-z][a-z0-9\\-+.]+:/i;\nfunction parseUrlOrPath(sourceUrl) {\n if (urlRegex.test(sourceUrl)) {\n return new URL(sourceUrl);\n }\n const url = NodePackages.get(\"url\");\n return new URL(url.pathToFileURL(sourceUrl));\n}\nfunction createRequest(url, headers, callback) {\n if (url.protocol === \"http:\") {\n const http = NodePackages.get(\"http\");\n return http.request(url, {\n headers\n }, callback);\n }\n const https = NodePackages.get(\"https\");\n return https.request(url, {\n headers\n }, callback);\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrlOrPath(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.headers = createHeaders(this.isHttp, source.httpHeaders);\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = Promise.withResolvers();\n this._headersCapability = Promise.withResolvers();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = Promise.withResolvers();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = Promise.withResolvers();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = Promise.withResolvers();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const headers = Object.fromEntries(stream.headers);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const responseHeaders = new Headers(this._readableStream.headers);\n const {\n allowRangeRequests,\n suggestedLength\n } = validateRangeRequestCapabilities({\n responseHeaders,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = extractFilenameFromHeader(responseHeaders);\n };\n this._request = createRequest(this._url, headers, handleResponse);\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n const headers = Object.fromEntries(stream.headers);\n headers.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = createRequest(this._url, headers, handleResponse);\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const fs = NodePackages.get(\"fs\");\n fs.promises.lstat(this._url).then(stat => {\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(this._url));\n this._headersCapability.resolve();\n }, error => {\n if (error.code === \"ENOENT\") {\n error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n const fs = NodePackages.get(\"fs\");\n this._setReadableStream(fs.createReadStream(this._url, {\n start,\n end: end - 1\n }));\n }\n}\n\n;// ./src/display/text_layer.js\n\n\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nclass TextLayer {\n #capability = Promise.withResolvers();\n #container = null;\n #disableProcessItems = false;\n #fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n #lang = null;\n #layoutTextParams = null;\n #pageHeight = 0;\n #pageWidth = 0;\n #reader = null;\n #rootContainer = null;\n #rotation = 0;\n #scale = 0;\n #styleCache = Object.create(null);\n #textContentItemsStr = [];\n #textContentSource = null;\n #textDivs = [];\n #textDivProperties = new WeakMap();\n #transform = null;\n static #ascentCache = new Map();\n static #canvasContexts = new Map();\n static #canvasCtxFonts = new WeakMap();\n static #minFontSize = null;\n static #pendingTextLayers = new Set();\n constructor({\n textContentSource,\n container,\n viewport\n }) {\n if (textContentSource instanceof ReadableStream) {\n this.#textContentSource = textContentSource;\n } else if (typeof textContentSource === \"object\") {\n this.#textContentSource = new ReadableStream({\n start(controller) {\n controller.enqueue(textContentSource);\n controller.close();\n }\n });\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n this.#container = this.#rootContainer = container;\n this.#scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n this.#rotation = viewport.rotation;\n this.#layoutTextParams = {\n div: null,\n properties: null,\n ctx: null\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this.#transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this.#pageWidth = pageWidth;\n this.#pageHeight = pageHeight;\n TextLayer.#ensureMinFontSizeComputed();\n setLayerDimensions(container, viewport);\n this.#capability.promise.finally(() => {\n TextLayer.#pendingTextLayers.delete(this);\n this.#layoutTextParams = null;\n this.#styleCache = null;\n }).catch(() => {});\n }\n static get fontFamilyMap() {\n const {\n isWindows,\n isFirefox\n } = util_FeatureTest.platform;\n return shadow(this, \"fontFamilyMap\", new Map([[\"sans-serif\", `${isWindows && isFirefox ? \"Calibri, \" : \"\"}sans-serif`], [\"monospace\", `${isWindows && isFirefox ? \"Lucida Console, \" : \"\"}monospace`]]));\n }\n render() {\n const pump = () => {\n this.#reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n this.#capability.resolve();\n return;\n }\n this.#lang ??= value.lang;\n Object.assign(this.#styleCache, value.styles);\n this.#processItems(value.items);\n pump();\n }, this.#capability.reject);\n };\n this.#reader = this.#textContentSource.getReader();\n TextLayer.#pendingTextLayers.add(this);\n pump();\n return this.#capability.promise;\n }\n update({\n viewport,\n onBefore = null\n }) {\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const rotation = viewport.rotation;\n if (rotation !== this.#rotation) {\n onBefore?.();\n this.#rotation = rotation;\n setLayerDimensions(this.#rootContainer, {\n rotation\n });\n }\n if (scale !== this.#scale) {\n onBefore?.();\n this.#scale = scale;\n const params = {\n div: null,\n properties: null,\n ctx: TextLayer.#getCtx(this.#lang)\n };\n for (const div of this.#textDivs) {\n params.properties = this.#textDivProperties.get(div);\n params.div = div;\n this.#layout(params);\n }\n }\n }\n cancel() {\n const abortEx = new AbortException(\"TextLayer task cancelled.\");\n this.#reader?.cancel(abortEx).catch(() => {});\n this.#reader = null;\n this.#capability.reject(abortEx);\n }\n get textDivs() {\n return this.#textDivs;\n }\n get textContentItemsStr() {\n return this.#textContentItemsStr;\n }\n #processItems(items) {\n if (this.#disableProcessItems) {\n return;\n }\n this.#layoutTextParams.ctx ??= TextLayer.#getCtx(this.#lang);\n const textDivs = this.#textDivs,\n textContentItemsStr = this.#textContentItemsStr;\n for (const item of items) {\n if (textDivs.length > MAX_TEXT_DIVS_TO_RENDER) {\n warn(\"Ignoring additional textDivs for performance reasons.\");\n this.#disableProcessItems = true;\n return;\n }\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this.#container;\n this.#container = document.createElement(\"span\");\n this.#container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this.#container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this.#container);\n } else if (item.type === \"endMarkedContent\") {\n this.#container = this.#container.parentNode;\n }\n continue;\n }\n textContentItemsStr.push(item.str);\n this.#appendText(item);\n }\n }\n #appendText(geom) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n this.#textDivs.push(textDiv);\n const tx = Util.transform(this.#transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = this.#styleCache[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n let fontFamily = this.#fontInspectorEnabled && style.fontSubstitution || style.fontFamily;\n fontFamily = TextLayer.fontFamilyMap.get(fontFamily) || fontFamily;\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * TextLayer.#getAscent(fontFamily, this.#lang);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (this.#container === this.#rootContainer) {\n divStyle.left = `${(100 * left / this.#pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / this.#pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${(TextLayer.#minFontSize * fontHeight).toFixed(2)}px)`;\n divStyle.fontFamily = fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (this.#fontInspectorEnabled) {\n textDiv.dataset.fontName = style.fontSubstitutionLoadedName || geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n this.#textDivProperties.set(textDiv, textDivProperties);\n this.#layoutTextParams.div = textDiv;\n this.#layoutTextParams.properties = textDivProperties;\n this.#layout(this.#layoutTextParams);\n if (textDivProperties.hasText) {\n this.#container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this.#container.append(br);\n }\n }\n #layout(params) {\n const {\n div,\n properties,\n ctx\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (TextLayer.#minFontSize > 1) {\n transform = `scale(${1 / TextLayer.#minFontSize})`;\n }\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n TextLayer.#ensureCtxFont(ctx, fontSize * this.#scale, fontFamily);\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * this.#scale / width}) ${transform}`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n }\n static cleanup() {\n if (this.#pendingTextLayers.size > 0) {\n return;\n }\n this.#ascentCache.clear();\n for (const {\n canvas\n } of this.#canvasContexts.values()) {\n canvas.remove();\n }\n this.#canvasContexts.clear();\n }\n static #getCtx(lang = null) {\n let ctx = this.#canvasContexts.get(lang ||= \"\");\n if (!ctx) {\n const canvas = document.createElement(\"canvas\");\n canvas.className = \"hiddenCanvasElement\";\n canvas.lang = lang;\n document.body.append(canvas);\n ctx = canvas.getContext(\"2d\", {\n alpha: false,\n willReadFrequently: true\n });\n this.#canvasContexts.set(lang, ctx);\n this.#canvasCtxFonts.set(ctx, {\n size: 0,\n family: \"\"\n });\n }\n return ctx;\n }\n static #ensureCtxFont(ctx, size, family) {\n const cached = this.#canvasCtxFonts.get(ctx);\n if (size === cached.size && family === cached.family) {\n return;\n }\n ctx.font = `${size}px ${family}`;\n cached.size = size;\n cached.family = family;\n }\n static #ensureMinFontSizeComputed() {\n if (this.#minFontSize !== null) {\n return;\n }\n const div = document.createElement(\"div\");\n div.style.opacity = 0;\n div.style.lineHeight = 1;\n div.style.fontSize = \"1px\";\n div.style.position = \"absolute\";\n div.textContent = \"X\";\n document.body.append(div);\n this.#minFontSize = div.getBoundingClientRect().height;\n div.remove();\n }\n static #getAscent(fontFamily, lang) {\n const cachedAscent = this.#ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = this.#getCtx(lang);\n ctx.canvas.width = ctx.canvas.height = DEFAULT_FONT_SIZE;\n this.#ensureCtxFont(ctx, DEFAULT_FONT_SIZE, fontFamily);\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n this.#ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n const ratio = ascent ? ascent / (ascent + descent) : DEFAULT_FONT_ASCENT;\n this.#ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n}\n\n;// ./src/display/xfa_text.js\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\n\n;// ./src/display/api.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nconst DefaultCanvasFactory = isNodeJS ? NodeCanvasFactory : DOMCanvasFactory;\nconst DefaultCMapReaderFactory = isNodeJS ? NodeCMapReaderFactory : DOMCMapReaderFactory;\nconst DefaultFilterFactory = isNodeJS ? NodeFilterFactory : DOMFilterFactory;\nconst DefaultStandardFontDataFactory = isNodeJS ? NodeStandardFontDataFactory : DOMStandardFontDataFactory;\nfunction getDocument(src = {}) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if (src instanceof ArrayBuffer || ArrayBuffer.isView(src)) {\n src = {\n data: src\n };\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !isDataScheme(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !isNodeJS;\n const isChrome = typeof src.isChrome === \"boolean\" ? src.isChrome : !util_FeatureTest.platform.isFirefox && typeof window !== \"undefined\" && !!window?.chrome;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const CanvasFactory = src.CanvasFactory || DefaultCanvasFactory;\n const FilterFactory = src.FilterFactory || DefaultFilterFactory;\n const enableHWA = src.enableHWA === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === DOMCMapReaderFactory && StandardFontDataFactory === DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && isValidFetchUrl(cMapUrl, document.baseURI) && isValidFetchUrl(standardFontDataUrl, document.baseURI);\n if (src.canvasFactory) {\n deprecated(\"`canvasFactory`-instance option, please use `CanvasFactory` instead.\");\n }\n if (src.filterFactory) {\n deprecated(\"`filterFactory`-instance option, please use `FilterFactory` instead.\");\n }\n const styleElement = null;\n setVerbosityLevel(verbosity);\n const transportFactory = {\n canvasFactory: new CanvasFactory({\n ownerDocument,\n enableHWA\n }),\n filterFactory: new FilterFactory({\n docId,\n ownerDocument\n }),\n cMapReaderFactory: useWorkerFetch ? null : new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n }),\n standardFontDataFactory: useWorkerFetch ? null : new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n })\n };\n if (!worker) {\n const workerParams = {\n verbosity,\n port: GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docParams = {\n docId,\n apiVersion: \"4.8.69\",\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n isChrome,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n disableFontFace,\n fontExtraProperties,\n ownerDocument,\n pdfBug,\n styleElement,\n loadingParams: {\n disableAutoFetch,\n enableXfa\n }\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerIdPromise = worker.messageHandler.sendWithPromise(\"GetDocRequest\", docParams, data ? [data.buffer] : null);\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(rangeTransport, {\n disableRange,\n disableStream\n });\n } else if (!data) {\n if (!url) {\n throw new Error(\"getDocument - no `url` parameter provided.\");\n }\n let NetworkStream;\n if (isNodeJS) {\n const isFetchSupported = typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype;\n NetworkStream = isFetchSupported && isValidFetchUrl(url) ? PDFFetchStream : PDFNodeStream;\n } else {\n NetworkStream = isValidFetchUrl(url) ? PDFFetchStream : PDFNetworkStream;\n }\n networkStream = new NetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n return workerIdPromise.then(workerId => {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const messageHandler = new MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch {\n if (isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n throw new Error(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return stringToBytes(val);\n }\n if (val instanceof ArrayBuffer || ArrayBuffer.isView(val) || typeof val === \"object\" && !isNaN(val?.length)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nfunction isRefProxy(ref) {\n return typeof ref === \"object\" && Number.isInteger(ref?.num) && ref.num >= 0 && Number.isInteger(ref?.gen) && ref.gen >= 0;\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = Promise.withResolvers();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = Promise.withResolvers();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get canvasFactory() {\n return this._transport.canvasFactory;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig({\n intent = \"display\"\n } = {}) {\n const {\n renderingIntent\n } = this._transport.getRenderingIntent(intent);\n return this._transport.getOptionalContentConfig(renderingIntent);\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n cachedPageNumber(ref) {\n return this._transport.cachedPageNumber(ref);\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const {\n renderingIntent\n } = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null,\n isEditing = false\n }) {\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, isEditing);\n const {\n renderingIntent,\n cacheKey\n } = intentArgs;\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n optionalContentConfigPromise ||= this._transport.getOptionalContentConfig(renderingIntent);\n let intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(cacheKey, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(renderingIntent & RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = Promise.withResolvers();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n if (globalThis.Stats?.enabled) {\n globalThis.Stats.add(this.pageNumber, this._stats);\n }\n }\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n if (!(optionalContentConfig.renderingIntent & renderingIntent)) {\n throw new Error(\"Must use the same `intent`-argument when calling the `PDFPageProxy.render` \" + \"and `PDFDocumentProxy.getOptionalContentConfig` methods.\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n printAnnotationStorage = null,\n isEditing = false\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, isEditing, true);\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = Promise.withResolvers();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => XfaText.textContent(xfa));\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n textContent.lang ??= value.lang;\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n lang: null\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intentState.opListReadCapability) {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable,\n modifiedIds\n }) {\n const {\n map,\n transfer\n } = annotationStorageSerializable;\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map,\n modifiedIds\n }, transfer);\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nclass LoopbackPort {\n #listeners = new Map();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const [listener] of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const {\n signal\n } = options;\n if (signal.aborted) {\n warn(\"LoopbackPort - cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this.removeEventListener(name, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n signal.addEventListener(\"abort\", onAbort);\n }\n this.#listeners.set(listener, rmAbort);\n }\n removeEventListener(name, listener) {\n const rmAbort = this.#listeners.get(listener);\n rmAbort?.();\n this.#listeners.delete(listener);\n }\n terminate() {\n for (const [, rmAbort] of this.#listeners) {\n rmAbort?.();\n }\n this.#listeners.clear();\n }\n}\nclass PDFWorker {\n static #fakeWorkerId = 0;\n static #isWorkerDisabled = false;\n static #workerPorts;\n static {\n if (isNodeJS) {\n this.#isWorkerDisabled = true;\n GlobalWorkerOptions.workerSrc ||= \"./pdf.worker.mjs\";\n }\n this._isSameOrigin = (baseUrl, otherUrl) => {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n this._createCDNWrapper = url => {\n const wrapper = `await import(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper], {\n type: \"text/javascript\"\n }));\n };\n }\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel()\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = Promise.withResolvers();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n if (isNodeJS) {\n return Promise.all([NodePackages.promise, this._readyCapability.promise]);\n }\n return this._readyCapability.promise;\n }\n #resolve() {\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this.#resolve();\n }\n _initialize() {\n if (PDFWorker.#isWorkerDisabled || PDFWorker.#mainThreadWorkerMessageHandler) {\n this._setupFakeWorker();\n return;\n }\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorker._isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorker._createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc, {\n type: \"module\"\n });\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n ac.abort();\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const ac = new AbortController();\n worker.addEventListener(\"error\", () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n }, {\n signal: ac.signal\n });\n messageHandler.on(\"test\", data => {\n ac.abort();\n if (this.destroyed || !data) {\n terminateEarly();\n return;\n }\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this.#resolve();\n });\n messageHandler.on(\"ready\", data => {\n ac.abort();\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch {\n info(\"The worker has been disabled.\");\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorker.#isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorker.#isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorker.#fakeWorkerId++}`;\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n this._messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this.#resolve();\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\"PDFWorker.fromPort - the worker is being destroyed.\\n\" + \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\");\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get #mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n if (this.#mainThreadWorkerMessageHandler) {\n return this.#mainThreadWorkerMessageHandler;\n }\n const worker = await import(/*webpackIgnore: true*/this.workerSrc);\n return worker.WorkerMessageHandler;\n };\n return shadow(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n #pageRefCache = new Map();\n #passwordCapability = null;\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this.loadingParams = params.loadingParams;\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = Promise.withResolvers();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return shadow(this, \"annotationStorage\", new AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = AnnotationMode.ENABLE, printAnnotationStorage = null, isEditing = false, isOpList = false) {\n let renderingIntent = RenderingIntentFlag.DISPLAY;\n let annotationStorageSerializable = SerializableEmpty;\n switch (intent) {\n case \"any\":\n renderingIntent = RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = RenderingIntentFlag.PRINT;\n break;\n default:\n warn(`getRenderingIntent - invalid intent: ${intent}`);\n }\n const annotationStorage = renderingIntent & RenderingIntentFlag.PRINT && printAnnotationStorage instanceof PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n switch (annotationMode) {\n case AnnotationMode.DISABLE:\n renderingIntent += RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case AnnotationMode.ENABLE:\n break;\n case AnnotationMode.ENABLE_FORMS:\n renderingIntent += RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case AnnotationMode.ENABLE_STORAGE:\n renderingIntent += RenderingIntentFlag.ANNOTATIONS_STORAGE;\n annotationStorageSerializable = annotationStorage.serializable;\n break;\n default:\n warn(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isEditing) {\n renderingIntent += RenderingIntentFlag.IS_EDITING;\n }\n if (isOpList) {\n renderingIntent += RenderingIntentFlag.OPLIST;\n }\n const {\n ids: modifiedIds,\n hash: modifiedIdsHash\n } = annotationStorage.modifiedIds;\n const cacheKeyBuf = [renderingIntent, annotationStorageSerializable.hash, modifiedIdsHash];\n return {\n renderingIntent,\n cacheKey: cacheKeyBuf.join(\"_\"),\n annotationStorageSerializable,\n modifiedIds\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = Promise.withResolvers();\n this.#passwordCapability?.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n this.#pageRefCache.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n TextLayer.cleanup();\n this._networkStream?.cancelAllRequests(new AbortException(\"Worker was terminated.\"));\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n assert(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n assert(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", async data => {\n await this._fullReader.headersReady;\n const {\n isStreamingSupported,\n isRangeSupported,\n contentLength\n } = this._fullReader;\n if (!isStreamingSupported || !isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n this._fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n return {\n isStreamingSupported,\n isRangeSupported,\n contentLength\n };\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n assert(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n assert(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new UnknownErrorException(ex.message, ex.details);\n break;\n default:\n unreachable(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this.#passwordCapability = Promise.withResolvers();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this.#passwordCapability.reject(password);\n } else {\n this.#passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this.#passwordCapability.reject(ex);\n }\n } else {\n this.#passwordCapability.reject(new PasswordException(exception.message, exception.code));\n }\n return this.#passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return null;\n }\n if (this.commonObjs.has(id)) {\n return null;\n }\n switch (type) {\n case \"Font\":\n const {\n disableFontFace,\n fontExtraProperties,\n pdfBug\n } = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n warn(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new FontFaceObject(exportedData, {\n disableFontFace,\n inspectFont\n });\n this.fontLoader.bind(font).catch(() => messageHandler.sendWithPromise(\"FontFallback\", {\n id\n })).finally(() => {\n if (!fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"CopyLocalImage\":\n const {\n imageRef\n } = exportedData;\n assert(imageRef, \"The imageRef must be defined.\");\n for (const pageProxy of this.#pageCache.values()) {\n for (const [, data] of pageProxy.objs) {\n if (data?.ref !== imageRef) {\n continue;\n }\n if (!data.dataLen) {\n return null;\n }\n this.commonObjs.resolve(id, structuredClone(data));\n return data.dataLen;\n }\n }\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n return null;\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n if (pageProxy._intentStates.size === 0) {\n imageData?.bitmap?.close();\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData?.dataLen > MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", async data => {\n if (this.destroyed) {\n throw new Error(\"Worker was destroyed.\");\n }\n if (!this.cMapReaderFactory) {\n throw new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\");\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", async data => {\n if (this.destroyed) {\n throw new Error(\"Worker was destroyed.\");\n }\n if (!this.standardFontDataFactory) {\n throw new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\");\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n warn(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n const {\n map,\n transfer\n } = this.annotationStorage.serializable;\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: map,\n filename: this._fullReader?.filename ?? null\n }, transfer).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n if (pageInfo.refStr) {\n this.#pageRefCache.set(pageInfo.refStr, pageNumber);\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (!isRefProxy(ref)) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getDocJSActions() {\n return this.#cacheSimpleMethod(\"GetDocJSActions\");\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig(renderingIntent) {\n return this.#cacheSimpleMethod(\"GetOptionalContentConfig\").then(data => new OptionalContentConfig(data, renderingIntent));\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => ({\n info: results[0],\n metadata: results[1] ? new Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n }));\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n TextLayer.cleanup();\n }\n cachedPageNumber(ref) {\n if (!isRefProxy(ref)) {\n return null;\n }\n const refStr = ref.gen === 0 ? `${ref.num}R` : `${ref.num}R${ref.gen}`;\n return this.#pageRefCache.get(refStr) ?? null;\n }\n}\nconst INITIAL_DATA = Symbol(\"INITIAL_DATA\");\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n return this.#objs[objId] ||= {\n ...Promise.withResolvers(),\n data: INITIAL_DATA\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj || obj.data === INITIAL_DATA) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return !!obj && obj.data !== INITIAL_DATA;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n *[Symbol.iterator]() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n if (data === INITIAL_DATA) {\n continue;\n }\n yield [objId, data];\n }\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nclass InternalRenderTask {\n #rAF = null;\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = Promise.withResolvers();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n if (this.#rAF) {\n window.cancelAnimationFrame(this.#rAF);\n this.#rAF = null;\n }\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback(error || new RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n this.#rAF = window.requestAnimationFrame(() => {\n this.#rAF = null;\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback();\n }\n }\n }\n}\nconst version = \"4.8.69\";\nconst build = \"3634dab10\";\n\n;// ./src/shared/scripting_utils.js\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join(\"\")}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\n\n;// ./src/display/svg_factory.js\n\n\nclass BaseSVGFactory {\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n unreachable(\"Abstract method `_createSVG` called.\");\n }\n}\nclass DOMSVGFactory extends BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\n\n;// ./src/display/xfa_layer.js\n\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n } else if (option.attributes.hasOwnProperty(\"selected\")) {\n delete option.attributes.selected;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const isNotForRichText = intent !== \"richText\";\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (isNotForRichText) {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n if (root.children.length === 0) {\n if (root.value) {\n const node = document.createTextNode(root.value);\n rootHtml.append(node);\n if (isNotForRichText && XfaText.shouldBuildText(root.name)) {\n textDivs.push(node);\n }\n }\n return {\n textDivs\n };\n }\n const stack = [[root, -1, rootHtml]];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name);\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children?.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (isNotForRichText && XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\n\n;// ./src/display/annotation_layer.js\n\n\n\n\n\n\nconst DEFAULT_TAB_INDEX = 1000;\nconst annotation_layer_DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n case \"Sig\":\n return new SignatureWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n #updates = null;\n #hasBorder = false;\n #popupElement = null;\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this.parent = parameters.parent;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this._createQuadrilaterals();\n }\n }\n static _hasPopupData({\n titleObj,\n contentsObj,\n richText\n }) {\n return !!(titleObj?.str || contentsObj?.str || richText?.str);\n }\n get _isEditable() {\n return this.data.isEditable;\n }\n get hasPopupData() {\n return AnnotationElement._hasPopupData(this.data);\n }\n updateEdited(params) {\n if (!this.container) {\n return;\n }\n this.#updates ||= {\n rect: this.data.rect.slice(0)\n };\n const {\n rect\n } = params;\n if (rect) {\n this.#setRectEdited(rect);\n }\n this.#popupElement?.popup.updateEdited(params);\n }\n resetEdited() {\n if (!this.#updates) {\n return;\n }\n this.#setRectEdited(this.#updates.rect);\n this.#popupElement?.popup.resetEdited();\n this.#updates = null;\n }\n #setRectEdited(rect) {\n const {\n container: {\n style\n },\n data: {\n rect: currentRect,\n rotation\n },\n parent: {\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n }\n } = this;\n currentRect?.splice(0, 4, ...rect);\n const {\n width,\n height\n } = getRectDims(rect);\n style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n style.top = `${100 * (pageHeight - rect[3] + pageY) / pageHeight}%`;\n if (rotation === 0) {\n style.width = `${100 * width / pageWidth}%`;\n style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation);\n }\n }\n _createContainer(ignoreBorder) {\n const {\n data,\n parent: {\n page,\n viewport\n }\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (!(this instanceof WidgetAnnotationElement)) {\n container.tabIndex = DEFAULT_TAB_INDEX;\n }\n const {\n style\n } = container;\n style.zIndex = this.parent.zIndex++;\n if (data.alternativeText) {\n container.title = data.alternativeText;\n }\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n if (!data.rect || this instanceof PopupAnnotationElement) {\n const {\n rotation\n } = data;\n if (!data.hasOwnCanvas && rotation !== 0) {\n this.setRotation(rotation, container);\n }\n return container;\n }\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case AnnotationBorderStyleType.SOLID:\n style.borderStyle = \"solid\";\n break;\n case AnnotationBorderStyleType.DASHED:\n style.borderStyle = \"dashed\";\n break;\n case AnnotationBorderStyleType.BEVELED:\n warn(\"Unimplemented border style: beveled\");\n break;\n case AnnotationBorderStyleType.INSET:\n warn(\"Unimplemented border style: inset\");\n break;\n case AnnotationBorderStyleType.UNDERLINE:\n style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n this.#hasBorder = true;\n style.borderColor = Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n style.borderWidth = 0;\n }\n }\n const rect = Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n style.width = `${100 * width / pageWidth}%`;\n style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n if (!this.data.rect) {\n return;\n }\n const {\n pageWidth,\n pageHeight\n } = this.parent.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n const colorType = color[0];\n const colorArray = color.slice(1);\n event.target.style[styleName] = ColorConverters[`${colorType}_HTML`](colorArray);\n this.annotationStorage.setValue(this.data.id, {\n [styleName]: ColorConverters[`${colorType}_rgb`](colorArray)\n });\n };\n return shadow(this, \"_commonActions\", {\n display: event => {\n const {\n display\n } = event.detail;\n const hidden = display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noView: hidden,\n noPrint: display === 1 || display === 2\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n noPrint: !event.detail.print\n });\n },\n hidden: event => {\n const {\n hidden\n } = event.detail;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noPrint: hidden,\n noView: hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n event.target.disabled = event.detail.readonly;\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals() {\n if (!this.container) {\n return;\n }\n const {\n quadPoints\n } = this.data;\n if (!quadPoints) {\n return;\n }\n const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect.map(x => Math.fround(x));\n if (quadPoints.length === 8) {\n const [trX, trY, blX, blY] = quadPoints.subarray(2, 6);\n if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) {\n return;\n }\n }\n const {\n style\n } = this.container;\n let svgBuffer;\n if (this.#hasBorder) {\n const {\n borderColor,\n borderWidth\n } = style;\n style.borderWidth = 0;\n svgBuffer = [\"url('data:image/svg+xml;utf8,\", ``, ``];\n this.container.classList.add(\"hasBorder\");\n }\n const width = rectTrX - rectBlX;\n const height = rectTrY - rectBlY;\n const {\n svgFactory\n } = this;\n const svg = svgFactory.createElement(\"svg\");\n svg.classList.add(\"quadrilateralsContainer\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n const defs = svgFactory.createElement(\"defs\");\n svg.append(defs);\n const clipPath = svgFactory.createElement(\"clipPath\");\n const id = `clippath_${this.data.id}`;\n clipPath.setAttribute(\"id\", id);\n clipPath.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n defs.append(clipPath);\n for (let i = 2, ii = quadPoints.length; i < ii; i += 8) {\n const trX = quadPoints[i];\n const trY = quadPoints[i + 1];\n const blX = quadPoints[i + 2];\n const blY = quadPoints[i + 3];\n const rect = svgFactory.createElement(\"rect\");\n const x = (blX - rectBlX) / width;\n const y = (rectTrY - trY) / height;\n const rectWidth = (trX - blX) / width;\n const rectHeight = (trY - blY) / height;\n rect.setAttribute(\"x\", x);\n rect.setAttribute(\"y\", y);\n rect.setAttribute(\"width\", rectWidth);\n rect.setAttribute(\"height\", rectHeight);\n clipPath.append(rect);\n svgBuffer?.push(``);\n }\n if (this.#hasBorder) {\n svgBuffer.push(`')`);\n style.backgroundImage = svgBuffer.join(\"\");\n }\n this.container.append(svg);\n this.container.style.clipPath = `url(#${id})`;\n }\n _createPopup() {\n const {\n data\n } = this;\n const popup = this.#popupElement = new PopupAnnotationElement({\n data: {\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n parentRect: data.rect,\n borderStyle: 0,\n id: `popup_${data.id}`,\n rotation: data.rotation\n },\n parent: this.parent,\n elements: [this]\n });\n this.parent.div.append(popup.render());\n }\n render() {\n unreachable(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n warn(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n show() {\n if (this.container) {\n this.container.hidden = false;\n }\n this.popup?.maybeShow();\n }\n hide() {\n if (this.container) {\n this.container.hidden = true;\n }\n this.popup?.forceHide();\n }\n getElementsToTriggerPopup() {\n return this.container;\n }\n addHighlightArea() {\n const triggers = this.getElementsToTriggerPopup();\n if (Array.isArray(triggers)) {\n for (const element of triggers) {\n element.classList.add(\"highlightArea\");\n }\n } else {\n triggers.classList.add(\"highlightArea\");\n }\n }\n _editOnDoubleClick() {\n if (!this._isEditable) {\n return;\n }\n const {\n annotationEditorType: mode,\n data: {\n id: editId\n }\n } = this;\n this.container.addEventListener(\"dblclick\", () => {\n this.linkService.eventBus?.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode,\n editId\n });\n });\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this.#bindAttachment(link, data.attachment, data.attachmentDest);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n #bindAttachment(link, attachment, dest = null) {\n link.href = this.linkService.getAnchorUrl(\"\");\n if (attachment.description) {\n link.title = attachment.description;\n }\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(attachment.content, attachment.filename, dest);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n warn(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n warn(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.setAttribute(\"data-l10n-id\", \"pdfjs-text-annotation-type\");\n image.setAttribute(\"data-l10n-args\", JSON.stringify({\n type: this.data.name\n }));\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n return util_FeatureTest.platform.isMac ? event.metaKey : event.ctrlKey;\n }\n _setEventListener(element, elementData, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n if (baseName === \"blur\") {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n } else if (baseName === \"focus\") {\n if (elementData.focused) {\n return;\n }\n elementData.focused = true;\n }\n if (!valueGetter) {\n return;\n }\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, elementData, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n if (eventName === \"Focus\" || eventName === \"Blur\") {\n elementData ||= {\n focused: false\n };\n }\n this._setEventListener(element, elementData, baseName, eventName, getter);\n if (eventName === \"Focus\" && !this.data.actions?.Blur) {\n this._setEventListener(element, elementData, \"blur\", \"Blur\", null);\n } else if (eventName === \"Blur\" && !this.data.actions?.Focus) {\n this._setEventListener(element, elementData, \"focus\", \"Focus\", null);\n }\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || annotation_layer_DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || parameters.data.hasOwnCanvas || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join(\"\\n\") || null;\n if (fieldFormattedValues && this.data.comb) {\n fieldFormattedValues = fieldFormattedValues.replaceAll(/\\s+/g, \"\");\n }\n const elementData = {\n userValue: textContent,\n formattedValue: fieldFormattedValues,\n lastCommittedValue: null,\n commitKey: 1,\n focused: false\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = fieldFormattedValues ?? textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", fieldFormattedValues ?? textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n elementData.formattedValue = null;\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.focused) {\n return;\n }\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n if (!this.data.actions?.Focus) {\n elementData.focused = true;\n }\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n if (!this.data.actions?.Blur) {\n elementData.focused = false;\n }\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, elementData, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass SignatureWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: !!parameters.data.hasOwnCanvas\n });\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n if (value) {\n for (const radio of this._getElementsByName(data.fieldName, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => ({\n displayValue: option.textContent,\n exportValue: option.value\n }));\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n const change = getValue(false);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n change,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, null, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const {\n data,\n elements\n } = parameters;\n super(parameters, {\n isRenderable: AnnotationElement._hasPopupData(data)\n });\n this.elements = elements;\n this.popup = null;\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const popup = this.popup = new PopupElement({\n container: this.container,\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText,\n rect: this.data.rect,\n parentRect: this.data.parentRect || null,\n parent: this.parent,\n elements: this.elements,\n open: this.data.open\n });\n const elementIds = [];\n for (const element of this.elements) {\n element.popup = popup;\n element.container.ariaHasPopup = \"dialog\";\n elementIds.push(element.data.id);\n element.addHighlightArea();\n }\n this.container.setAttribute(\"aria-controls\", elementIds.map(id => `${AnnotationPrefix}${id}`).join(\",\"));\n return this.container;\n }\n}\nclass PopupElement {\n #boundKeyDown = this.#keyDown.bind(this);\n #boundHide = this.#hide.bind(this);\n #boundShow = this.#show.bind(this);\n #boundToggle = this.#toggle.bind(this);\n #color = null;\n #container = null;\n #contentsObj = null;\n #dateObj = null;\n #elements = null;\n #parent = null;\n #parentRect = null;\n #pinned = false;\n #popup = null;\n #position = null;\n #rect = null;\n #richText = null;\n #titleObj = null;\n #updates = null;\n #wasVisible = false;\n constructor({\n container,\n color,\n elements,\n titleObj,\n modificationDate,\n contentsObj,\n richText,\n parent,\n rect,\n parentRect,\n open\n }) {\n this.#container = container;\n this.#titleObj = titleObj;\n this.#contentsObj = contentsObj;\n this.#richText = richText;\n this.#parent = parent;\n this.#color = color;\n this.#rect = rect;\n this.#parentRect = parentRect;\n this.#elements = elements;\n this.#dateObj = PDFDateString.toDateObject(modificationDate);\n this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup());\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this.#boundToggle);\n element.addEventListener(\"mouseenter\", this.#boundShow);\n element.addEventListener(\"mouseleave\", this.#boundHide);\n element.classList.add(\"popupTriggerArea\");\n }\n for (const element of elements) {\n element.container?.addEventListener(\"keydown\", this.#boundKeyDown);\n }\n this.#container.hidden = true;\n if (open) {\n this.#toggle();\n }\n }\n render() {\n if (this.#popup) {\n return;\n }\n const popup = this.#popup = document.createElement(\"div\");\n popup.className = \"popup\";\n if (this.#color) {\n const baseColor = popup.style.outlineColor = Util.makeHexColor(...this.#color);\n if (CSS.supports(\"background-color\", \"color-mix(in srgb, red 30%, white)\")) {\n popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`;\n } else {\n const BACKGROUND_ENLIGHT = 0.7;\n popup.style.backgroundColor = Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c)));\n }\n }\n const header = document.createElement(\"span\");\n header.className = \"header\";\n const title = document.createElement(\"h1\");\n header.append(title);\n ({\n dir: title.dir,\n str: title.textContent\n } = this.#titleObj);\n popup.append(header);\n if (this.#dateObj) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n modificationDate.setAttribute(\"data-l10n-id\", \"pdfjs-annotation-date-time-string\");\n modificationDate.setAttribute(\"data-l10n-args\", JSON.stringify({\n dateObj: this.#dateObj.valueOf()\n }));\n header.append(modificationDate);\n }\n const html = this.#html;\n if (html) {\n XfaLayer.render({\n xfaHtml: html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(this.#contentsObj);\n popup.append(contents);\n }\n this.#container.append(popup);\n }\n get #html() {\n const richText = this.#richText;\n const contentsObj = this.#contentsObj;\n if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) {\n return this.#richText.html || null;\n }\n return null;\n }\n get #fontSize() {\n return this.#html?.attributes?.style?.fontSize || 0;\n }\n get #fontColor() {\n return this.#html?.attributes?.style?.color || null;\n }\n #makePopupContent(text) {\n const popupLines = [];\n const popupContent = {\n str: text,\n html: {\n name: \"div\",\n attributes: {\n dir: \"auto\"\n },\n children: [{\n name: \"p\",\n children: popupLines\n }]\n }\n };\n const lineAttributes = {\n style: {\n color: this.#fontColor,\n fontSize: this.#fontSize ? `calc(${this.#fontSize}px * var(--scale-factor))` : \"\"\n }\n };\n for (const line of text.split(\"\\n\")) {\n popupLines.push({\n name: \"span\",\n value: line,\n attributes: lineAttributes\n });\n }\n return popupContent;\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n #keyDown(event) {\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Escape\" && this.#pinned) {\n this.#toggle();\n }\n }\n updateEdited({\n rect,\n popupContent\n }) {\n this.#updates ||= {\n contentsObj: this.#contentsObj,\n richText: this.#richText\n };\n if (rect) {\n this.#position = null;\n }\n if (popupContent) {\n this.#richText = this.#makePopupContent(popupContent);\n this.#contentsObj = null;\n }\n this.#popup?.remove();\n this.#popup = null;\n }\n resetEdited() {\n if (!this.#updates) {\n return;\n }\n ({\n contentsObj: this.#contentsObj,\n richText: this.#richText\n } = this.#updates);\n this.#updates = null;\n this.#popup?.remove();\n this.#popup = null;\n this.#position = null;\n }\n #setPosition() {\n if (this.#position !== null) {\n return;\n }\n const {\n page: {\n view\n },\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n } = this.#parent;\n let useParentRect = !!this.#parentRect;\n let rect = useParentRect ? this.#parentRect : this.#rect;\n for (const element of this.#elements) {\n if (!rect || Util.intersect(element.data.rect, rect) !== null) {\n rect = element.data.rect;\n useParentRect = true;\n break;\n }\n }\n const normalizedRect = Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]);\n const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5;\n const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0;\n const popupLeft = normalizedRect[0] + parentWidth;\n const popupTop = normalizedRect[1];\n this.#position = [100 * (popupLeft - pageX) / pageWidth, 100 * (popupTop - pageY) / pageHeight];\n const {\n style\n } = this.#container;\n style.left = `${this.#position[0]}%`;\n style.top = `${this.#position[1]}%`;\n }\n #toggle() {\n this.#pinned = !this.#pinned;\n if (this.#pinned) {\n this.#show();\n this.#container.addEventListener(\"click\", this.#boundToggle);\n this.#container.addEventListener(\"keydown\", this.#boundKeyDown);\n } else {\n this.#hide();\n this.#container.removeEventListener(\"click\", this.#boundToggle);\n this.#container.removeEventListener(\"keydown\", this.#boundKeyDown);\n }\n }\n #show() {\n if (!this.#popup) {\n this.render();\n }\n if (!this.isVisible) {\n this.#setPosition();\n this.#container.hidden = false;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000;\n } else if (this.#pinned) {\n this.#container.classList.add(\"focused\");\n }\n }\n #hide() {\n this.#container.classList.remove(\"focused\");\n if (this.#pinned || !this.isVisible) {\n return;\n }\n this.#container.hidden = true;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000;\n }\n forceHide() {\n this.#wasVisible = this.isVisible;\n if (!this.#wasVisible) {\n return;\n }\n this.#container.hidden = true;\n }\n maybeShow() {\n if (!this.#wasVisible) {\n return;\n }\n if (!this.#popup) {\n this.#show();\n }\n this.#wasVisible = false;\n this.#container.hidden = false;\n }\n get isVisible() {\n return this.#container.hidden === false;\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n this.textPosition = parameters.data.textPosition;\n this.annotationEditorType = AnnotationEditorType.FREETEXT;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nclass LineAnnotationElement extends AnnotationElement {\n #line = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.#line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#line;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n #square = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.#square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#square;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n #circle = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.#circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#circle;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n #polyline = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const {\n data: {\n rect,\n vertices,\n borderStyle,\n popupRef\n }\n } = this;\n if (!vertices) {\n return this.container;\n }\n const {\n width,\n height\n } = getRectDims(rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (let i = 0, ii = vertices.length; i < ii; i += 2) {\n const x = vertices[i] - rect[0];\n const y = rect[3] - vertices[i + 1];\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n if (!popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polyline;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n #polylines = [];\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n this.annotationEditorType = this.data.it === \"InkHighlight\" ? AnnotationEditorType.HIGHLIGHT : AnnotationEditorType.INK;\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const {\n data: {\n rect,\n inkLists,\n borderStyle,\n popupRef\n }\n } = this;\n const {\n width,\n height\n } = getRectDims(rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of inkLists) {\n let points = [];\n for (let i = 0, ii = inkList.length; i < ii; i += 2) {\n const x = inkList[i] - rect[0];\n const y = rect[3] - inkList[i + 1];\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n this.#polylines.push(polyline);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n }\n if (!popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(svg);\n this._editOnDoubleClick();\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polylines;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n this.annotationEditorType = AnnotationEditorType.HIGHLIGHT;\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"highlightAnnotation\");\n this._editOnDoubleClick();\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.annotationEditorType = AnnotationEditorType.STAMP;\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n this.container.setAttribute(\"role\", \"img\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n #trigger = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n file\n } = this.data;\n this.filename = file.filename;\n this.content = file.content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n ...file\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n const {\n container,\n data\n } = this;\n let trigger;\n if (data.hasAppearance || data.fillAlpha === 0) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n if (data.fillAlpha && data.fillAlpha < 1) {\n trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`;\n }\n }\n trigger.addEventListener(\"dblclick\", this.#download.bind(this));\n this.#trigger = trigger;\n const {\n isMac\n } = util_FeatureTest.platform;\n container.addEventListener(\"keydown\", evt => {\n if (evt.key === \"Enter\" && (isMac ? evt.metaKey : evt.ctrlKey)) {\n this.#download();\n }\n });\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n } else {\n trigger.classList.add(\"popupTriggerArea\");\n }\n container.append(trigger);\n return container;\n }\n getElementsToTriggerPopup() {\n return this.#trigger;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n #download() {\n this.downloadManager?.openOrDownloadData(this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n #accessibilityManager = null;\n #annotationCanvasMap = null;\n #editableAnnotations = new Map();\n #structTreeLayer = null;\n constructor({\n div,\n accessibilityManager,\n annotationCanvasMap,\n annotationEditorUIManager,\n page,\n viewport,\n structTreeLayer\n }) {\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationCanvasMap = annotationCanvasMap;\n this.#structTreeLayer = structTreeLayer || null;\n this.page = page;\n this.viewport = viewport;\n this.zIndex = 0;\n this._annotationEditorUIManager = annotationEditorUIManager;\n }\n hasEditableAnnotations() {\n return this.#editableAnnotations.size > 0;\n }\n async #appendElement(element, id) {\n const contentElement = element.firstChild || element;\n const annotationId = contentElement.id = `${AnnotationPrefix}${id}`;\n const ariaAttributes = await this.#structTreeLayer?.getAriaAttributes(annotationId);\n if (ariaAttributes) {\n for (const [key, value] of ariaAttributes) {\n contentElement.setAttribute(key, value);\n }\n }\n this.div.append(element);\n this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false);\n }\n async render(params) {\n const {\n annotations\n } = params;\n const layer = this.div;\n setLayerDimensions(layer, this.viewport);\n const popupToElements = new Map();\n const elementParams = {\n data: null,\n layer,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects,\n parent: this,\n elements: null\n };\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n const isPopupAnnotation = data.annotationType === AnnotationType.POPUP;\n if (!isPopupAnnotation) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n } else {\n const elements = popupToElements.get(data.id);\n if (!elements) {\n continue;\n }\n elementParams.elements = elements;\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n if (!isPopupAnnotation && data.popupRef) {\n const elements = popupToElements.get(data.popupRef);\n if (!elements) {\n popupToElements.set(data.popupRef, [element]);\n } else {\n elements.push(element);\n }\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n await this.#appendElement(rendered, data.id);\n if (element._isEditable) {\n this.#editableAnnotations.set(element.data.id, element);\n this._annotationEditorUIManager?.renderAnnotationElement(element);\n }\n }\n this.#setAnnotationCanvasMap();\n }\n update({\n viewport\n }) {\n const layer = this.div;\n this.viewport = viewport;\n setLayerDimensions(layer, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap();\n layer.hidden = false;\n }\n #setAnnotationCanvasMap() {\n if (!this.#annotationCanvasMap) {\n return;\n }\n const layer = this.div;\n for (const [id, canvas] of this.#annotationCanvasMap) {\n const element = layer.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n canvas.className = \"annotationContent\";\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else if (!firstChild.classList.contains(\"annotationContent\")) {\n firstChild.before(canvas);\n } else {\n firstChild.after(canvas);\n }\n }\n this.#annotationCanvasMap.clear();\n }\n getEditableAnnotations() {\n return Array.from(this.#editableAnnotations.values());\n }\n getEditableAnnotation(id) {\n return this.#editableAnnotations.get(id);\n }\n}\n\n;// ./src/display/editor/freetext.js\n\n\n\n\nconst EOL_PATTERN = /\\r\\n?|\\n/g;\nclass FreeTextEditor extends AnnotationEditor {\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #editModeAC = null;\n #fontSize;\n static _freeTextDefaultContent = \"\";\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static get _keyboardManager() {\n const proto = FreeTextEditor.prototype;\n const arrowChecker = self => self.isEmpty();\n const small = AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = AnnotationEditorUIManager.TRANSLATE_BIG;\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+s\", \"mac+meta+s\", \"ctrl+p\", \"mac+meta+p\"], proto.commitOrRemove, {\n bubbles: true\n }], [[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], proto.commitOrRemove], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._translateEmpty, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto._translateEmpty, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._translateEmpty, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto._translateEmpty, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._translateEmpty, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto._translateEmpty, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._translateEmpty, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto._translateEmpty, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n static _type = \"freetext\";\n static _editorType = AnnotationEditorType.FREETEXT;\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: setFontsize.bind(this, fontSize),\n undo: setFontsize.bind(this, savedFontsize),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const setColor = col => {\n this.#color = this.editorDiv.style.color = col;\n };\n const savedColor = this.#color;\n this.addCommands({\n cmd: setColor.bind(this, color),\n undo: setColor.bind(this, savedColor),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n _translateEmpty(x, y) {\n this._uiManager.translateSelectedEditors(x, y, true);\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this._isDraggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.#editModeAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#editModeAC);\n this.editorDiv.addEventListener(\"keydown\", this.editorDivKeydown.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"focus\", this.editorDivFocus.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"blur\", this.editorDivBlur.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"input\", this.editorDivInput.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"paste\", this.editorDivPaste.bind(this), {\n signal\n });\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this._isDraggable = true;\n this.#editModeAC?.abort();\n this.#editModeAC = null;\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freetextEditing\");\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n if (this._initialOptions?.isCentered) {\n this.center();\n }\n this._initialOptions = null;\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n if (this.parent) {\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freetextEditing\");\n }\n super.remove();\n }\n #extractText() {\n const buffer = [];\n this.editorDiv.normalize();\n let prevChild = null;\n for (const child of this.editorDiv.childNodes) {\n if (prevChild?.nodeType === Node.TEXT_NODE && child.nodeName === \"BR\") {\n continue;\n }\n buffer.push(FreeTextEditor.#getNodeContent(child));\n prevChild = child;\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n const savedVisibility = div.classList.contains(\"hidden\");\n div.classList.remove(\"hidden\");\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n div.classList.toggle(\"hidden\", savedVisibility);\n }\n if (this.rotation % 180 === this.parentRotation % 180) {\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n } else {\n this.width = rect.height / parentWidth;\n this.height = rect.width / parentHeight;\n }\n this.fixAndSetPosition();\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n this.disableEditMode();\n const savedText = this.#content;\n const newText = this.#content = this.#extractText().trimEnd();\n if (savedText === newText) {\n return;\n }\n const setText = text => {\n this.#content = text;\n if (!text) {\n this.remove();\n return;\n }\n this.#setContent();\n this._uiManager.rebuild(this);\n this.#setEditorDimensions();\n };\n this.addCommands({\n cmd: () => {\n setText(newText);\n },\n undo: () => {\n setText(savedText);\n },\n mustExec: false\n });\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n enterInEditMode() {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n dblclick(event) {\n this.enterInEditMode();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enterInEditMode();\n event.preventDefault();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freetextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.editorDiv.setAttribute(\"data-l10n-id\", \"pdfjs-free-text2\");\n this.editorDiv.setAttribute(\"data-l10n-attrs\", \"default-content\");\n this.enableEditing();\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n bindEvents(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.annotationElementId) {\n const {\n position\n } = this._initialData;\n let [tx, ty] = this.getInitialTranslation();\n [tx, ty] = this.pageTranslationToScreen(tx, ty);\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n let posX, posY;\n switch (this.rotation) {\n case 0:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY + this.height - (position[1] - pageY) / pageHeight;\n break;\n case 90:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [ty, -tx];\n break;\n case 180:\n posX = baseX - this.width + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [-tx, -ty];\n break;\n case 270:\n posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth;\n posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight;\n [tx, ty] = [-ty, tx];\n break;\n }\n this.setAt(posX * parentWidth, posY * parentHeight, tx, ty);\n } else {\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n this.#setContent();\n this._isDraggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this._isDraggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n static #getNodeContent(node) {\n return (node.nodeType === Node.TEXT_NODE ? node.nodeValue : node.innerText).replaceAll(EOL_PATTERN, \"\");\n }\n editorDivPaste(event) {\n const clipboardData = event.clipboardData || window.clipboardData;\n const {\n types\n } = clipboardData;\n if (types.length === 1 && types[0] === \"text/plain\") {\n return;\n }\n event.preventDefault();\n const paste = FreeTextEditor.#deserializeContent(clipboardData.getData(\"text\") || \"\").replaceAll(EOL_PATTERN, \"\\n\");\n if (!paste) {\n return;\n }\n const selection = window.getSelection();\n if (!selection.rangeCount) {\n return;\n }\n this.editorDiv.normalize();\n selection.deleteFromDocument();\n const range = selection.getRangeAt(0);\n if (!paste.includes(\"\\n\")) {\n range.insertNode(document.createTextNode(paste));\n this.editorDiv.normalize();\n selection.collapseToStart();\n return;\n }\n const {\n startContainer,\n startOffset\n } = range;\n const bufferBefore = [];\n const bufferAfter = [];\n if (startContainer.nodeType === Node.TEXT_NODE) {\n const parent = startContainer.parentElement;\n bufferAfter.push(startContainer.nodeValue.slice(startOffset).replaceAll(EOL_PATTERN, \"\"));\n if (parent !== this.editorDiv) {\n let buffer = bufferBefore;\n for (const child of this.editorDiv.childNodes) {\n if (child === parent) {\n buffer = bufferAfter;\n continue;\n }\n buffer.push(FreeTextEditor.#getNodeContent(child));\n }\n }\n bufferBefore.push(startContainer.nodeValue.slice(0, startOffset).replaceAll(EOL_PATTERN, \"\"));\n } else if (startContainer === this.editorDiv) {\n let buffer = bufferBefore;\n let i = 0;\n for (const child of this.editorDiv.childNodes) {\n if (i++ === startOffset) {\n buffer = bufferAfter;\n }\n buffer.push(FreeTextEditor.#getNodeContent(child));\n }\n }\n this.#content = `${bufferBefore.join(\"\\n\")}${paste}${bufferAfter.join(\"\\n\")}`;\n this.#setContent();\n const newRange = new Range();\n let beforeLength = bufferBefore.reduce((acc, line) => acc + line.length, 0);\n for (const {\n firstChild\n } of this.editorDiv.childNodes) {\n if (firstChild.nodeType === Node.TEXT_NODE) {\n const length = firstChild.nodeValue.length;\n if (beforeLength <= length) {\n newRange.setStart(firstChild, beforeLength);\n newRange.setEnd(firstChild, beforeLength);\n break;\n }\n beforeLength -= length;\n }\n }\n selection.removeAllRanges();\n selection.addRange(newRange);\n }\n #setContent() {\n this.editorDiv.replaceChildren();\n if (!this.#content) {\n return;\n }\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n }\n #serializeContent() {\n return this.#content.replaceAll(\"\\xa0\", \" \");\n }\n static #deserializeContent(content) {\n return content.replaceAll(\" \", \"\\xa0\");\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static async deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof FreeTextAnnotationElement) {\n const {\n data: {\n defaultAppearanceData: {\n fontSize,\n fontColor\n },\n rect,\n rotation,\n id,\n popupRef\n },\n textContent,\n textPosition,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n if (!textContent || textContent.length === 0) {\n return null;\n }\n initialData = data = {\n annotationType: AnnotationEditorType.FREETEXT,\n color: Array.from(fontColor),\n fontSize,\n value: textContent.join(\"\\n\"),\n position: textPosition,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n popupRef\n };\n }\n const editor = await super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = Util.makeHexColor(...data.color);\n editor.#content = FreeTextEditor.#deserializeContent(data.value);\n editor.annotationElementId = data.id || null;\n editor._initialData = initialData;\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return this.serializeDeleted();\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n const serialized = {\n annotationType: AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#serializeContent(),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n return serialized;\n }\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n value,\n fontSize,\n color,\n pageIndex\n } = this._initialData;\n return this._hasBeenMoved || serialized.value !== value || serialized.fontSize !== fontSize || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex;\n }\n renderAnnotationElement(annotation) {\n const content = super.renderAnnotationElement(annotation);\n if (this.deleted) {\n return content;\n }\n const {\n style\n } = content;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n content.replaceChildren();\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n content.append(div);\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n annotation.updateEdited({\n rect: this.getRect(padding, padding),\n popupContent: this.#content\n });\n return content;\n }\n resetAnnotationElement(annotation) {\n super.resetAnnotationElement(annotation);\n annotation.resetEdited();\n }\n}\n\n;// ./src/display/editor/drawers/outline.js\n\nclass Outline {\n toSVGPath() {\n unreachable(\"Abstract method `toSVGPath` must be implemented.\");\n }\n get box() {\n unreachable(\"Abstract getter `box` must be implemented.\");\n }\n serialize(_bbox, _rotation) {\n unreachable(\"Abstract method `serialize` must be implemented.\");\n }\n get classNamesForDrawing() {\n unreachable(\"Abstract getter `classNamesForDrawing` must be implemented.\");\n }\n get classNamesForOutlining() {\n unreachable(\"Abstract getter `classNamesForOutlining` must be implemented.\");\n }\n get mustRemoveSelfIntersections() {\n return false;\n }\n}\n\n;// ./src/display/editor/drawers/freedraw.js\n\n\nclass FreeDrawOutliner {\n #box;\n #bottom = [];\n #innerMargin;\n #isLTR;\n #top = [];\n #last = new Float64Array(18);\n #lastX;\n #lastY;\n #min;\n #min_dist;\n #scaleFactor;\n #thickness;\n #points = [];\n static #MIN_DIST = 8;\n static #MIN_DIFF = 2;\n static #MIN = FreeDrawOutliner.#MIN_DIST + FreeDrawOutliner.#MIN_DIFF;\n constructor({\n x,\n y\n }, box, scaleFactor, thickness, isLTR, innerMargin = 0) {\n this.#box = box;\n this.#thickness = thickness * scaleFactor;\n this.#isLTR = isLTR;\n this.#last.set([NaN, NaN, NaN, NaN, x, y], 6);\n this.#innerMargin = innerMargin;\n this.#min_dist = FreeDrawOutliner.#MIN_DIST * scaleFactor;\n this.#min = FreeDrawOutliner.#MIN * scaleFactor;\n this.#scaleFactor = scaleFactor;\n this.#points.push(x, y);\n }\n isEmpty() {\n return isNaN(this.#last[8]);\n }\n #getLastCoords() {\n const lastTop = this.#last.subarray(4, 6);\n const lastBottom = this.#last.subarray(16, 18);\n const [x, y, width, height] = this.#box;\n return [(this.#lastX + (lastTop[0] - lastBottom[0]) / 2 - x) / width, (this.#lastY + (lastTop[1] - lastBottom[1]) / 2 - y) / height, (this.#lastX + (lastBottom[0] - lastTop[0]) / 2 - x) / width, (this.#lastY + (lastBottom[1] - lastTop[1]) / 2 - y) / height];\n }\n add({\n x,\n y\n }) {\n this.#lastX = x;\n this.#lastY = y;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n let [x1, y1, x2, y2] = this.#last.subarray(8, 12);\n const diffX = x - x2;\n const diffY = y - y2;\n const d = Math.hypot(diffX, diffY);\n if (d < this.#min) {\n return false;\n }\n const diffD = d - this.#min_dist;\n const K = diffD / d;\n const shiftX = K * diffX;\n const shiftY = K * diffY;\n let x0 = x1;\n let y0 = y1;\n x1 = x2;\n y1 = y2;\n x2 += shiftX;\n y2 += shiftY;\n this.#points?.push(x, y);\n const nX = -shiftY / diffD;\n const nY = shiftX / diffD;\n const thX = nX * this.#thickness;\n const thY = nY * this.#thickness;\n this.#last.set(this.#last.subarray(2, 8), 0);\n this.#last.set([x2 + thX, y2 + thY], 4);\n this.#last.set(this.#last.subarray(14, 18), 12);\n this.#last.set([x2 - thX, y2 - thY], 16);\n if (isNaN(this.#last[6])) {\n if (this.#top.length === 0) {\n this.#last.set([x1 + thX, y1 + thY], 2);\n this.#top.push(NaN, NaN, NaN, NaN, (x1 + thX - layerX) / layerWidth, (y1 + thY - layerY) / layerHeight);\n this.#last.set([x1 - thX, y1 - thY], 14);\n this.#bottom.push(NaN, NaN, NaN, NaN, (x1 - thX - layerX) / layerWidth, (y1 - thY - layerY) / layerHeight);\n }\n this.#last.set([x0, y0, x1, y1, x2, y2], 6);\n return !this.isEmpty();\n }\n this.#last.set([x0, y0, x1, y1, x2, y2], 6);\n const angle = Math.abs(Math.atan2(y0 - y1, x0 - x1) - Math.atan2(shiftY, shiftX));\n if (angle < Math.PI / 2) {\n [x1, y1, x2, y2] = this.#last.subarray(2, 6);\n this.#top.push(NaN, NaN, NaN, NaN, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight);\n [x1, y1, x0, y0] = this.#last.subarray(14, 18);\n this.#bottom.push(NaN, NaN, NaN, NaN, ((x0 + x1) / 2 - layerX) / layerWidth, ((y0 + y1) / 2 - layerY) / layerHeight);\n return true;\n }\n [x0, y0, x1, y1, x2, y2] = this.#last.subarray(0, 6);\n this.#top.push(((x0 + 5 * x1) / 6 - layerX) / layerWidth, ((y0 + 5 * y1) / 6 - layerY) / layerHeight, ((5 * x1 + x2) / 6 - layerX) / layerWidth, ((5 * y1 + y2) / 6 - layerY) / layerHeight, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight);\n [x2, y2, x1, y1, x0, y0] = this.#last.subarray(12, 18);\n this.#bottom.push(((x0 + 5 * x1) / 6 - layerX) / layerWidth, ((y0 + 5 * y1) / 6 - layerY) / layerHeight, ((5 * x1 + x2) / 6 - layerX) / layerWidth, ((5 * y1 + y2) / 6 - layerY) / layerHeight, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight);\n return true;\n }\n toSVGPath() {\n if (this.isEmpty()) {\n return \"\";\n }\n const top = this.#top;\n const bottom = this.#bottom;\n if (isNaN(this.#last[6]) && !this.isEmpty()) {\n return this.#toSVGPathTwoPoints();\n }\n const buffer = [];\n buffer.push(`M${top[4]} ${top[5]}`);\n for (let i = 6; i < top.length; i += 6) {\n if (isNaN(top[i])) {\n buffer.push(`L${top[i + 4]} ${top[i + 5]}`);\n } else {\n buffer.push(`C${top[i]} ${top[i + 1]} ${top[i + 2]} ${top[i + 3]} ${top[i + 4]} ${top[i + 5]}`);\n }\n }\n this.#toSVGPathEnd(buffer);\n for (let i = bottom.length - 6; i >= 6; i -= 6) {\n if (isNaN(bottom[i])) {\n buffer.push(`L${bottom[i + 4]} ${bottom[i + 5]}`);\n } else {\n buffer.push(`C${bottom[i]} ${bottom[i + 1]} ${bottom[i + 2]} ${bottom[i + 3]} ${bottom[i + 4]} ${bottom[i + 5]}`);\n }\n }\n this.#toSVGPathStart(buffer);\n return buffer.join(\" \");\n }\n #toSVGPathTwoPoints() {\n const [x, y, width, height] = this.#box;\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n return `M${(this.#last[2] - x) / width} ${(this.#last[3] - y) / height} L${(this.#last[4] - x) / width} ${(this.#last[5] - y) / height} L${lastTopX} ${lastTopY} L${lastBottomX} ${lastBottomY} L${(this.#last[16] - x) / width} ${(this.#last[17] - y) / height} L${(this.#last[14] - x) / width} ${(this.#last[15] - y) / height} Z`;\n }\n #toSVGPathStart(buffer) {\n const bottom = this.#bottom;\n buffer.push(`L${bottom[4]} ${bottom[5]} Z`);\n }\n #toSVGPathEnd(buffer) {\n const [x, y, width, height] = this.#box;\n const lastTop = this.#last.subarray(4, 6);\n const lastBottom = this.#last.subarray(16, 18);\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n buffer.push(`L${(lastTop[0] - x) / width} ${(lastTop[1] - y) / height} L${lastTopX} ${lastTopY} L${lastBottomX} ${lastBottomY} L${(lastBottom[0] - x) / width} ${(lastBottom[1] - y) / height}`);\n }\n newFreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR) {\n return new FreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR);\n }\n getOutlines() {\n const top = this.#top;\n const bottom = this.#bottom;\n const last = this.#last;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const points = new Float64Array((this.#points?.length ?? 0) + 2);\n for (let i = 0, ii = points.length - 2; i < ii; i += 2) {\n points[i] = (this.#points[i] - layerX) / layerWidth;\n points[i + 1] = (this.#points[i + 1] - layerY) / layerHeight;\n }\n points[points.length - 2] = (this.#lastX - layerX) / layerWidth;\n points[points.length - 1] = (this.#lastY - layerY) / layerHeight;\n if (isNaN(last[6]) && !this.isEmpty()) {\n return this.#getOutlineTwoPoints(points);\n }\n const outline = new Float64Array(this.#top.length + 24 + this.#bottom.length);\n let N = top.length;\n for (let i = 0; i < N; i += 2) {\n if (isNaN(top[i])) {\n outline[i] = outline[i + 1] = NaN;\n continue;\n }\n outline[i] = top[i];\n outline[i + 1] = top[i + 1];\n }\n N = this.#getOutlineEnd(outline, N);\n for (let i = bottom.length - 6; i >= 6; i -= 6) {\n for (let j = 0; j < 6; j += 2) {\n if (isNaN(bottom[i + j])) {\n outline[N] = outline[N + 1] = NaN;\n N += 2;\n continue;\n }\n outline[N] = bottom[i + j];\n outline[N + 1] = bottom[i + j + 1];\n N += 2;\n }\n }\n this.#getOutlineStart(outline, N);\n return this.newFreeDrawOutline(outline, points, this.#box, this.#scaleFactor, this.#innerMargin, this.#isLTR);\n }\n #getOutlineTwoPoints(points) {\n const last = this.#last;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n const outline = new Float64Array(36);\n outline.set([NaN, NaN, NaN, NaN, (last[2] - layerX) / layerWidth, (last[3] - layerY) / layerHeight, NaN, NaN, NaN, NaN, (last[4] - layerX) / layerWidth, (last[5] - layerY) / layerHeight, NaN, NaN, NaN, NaN, lastTopX, lastTopY, NaN, NaN, NaN, NaN, lastBottomX, lastBottomY, NaN, NaN, NaN, NaN, (last[16] - layerX) / layerWidth, (last[17] - layerY) / layerHeight, NaN, NaN, NaN, NaN, (last[14] - layerX) / layerWidth, (last[15] - layerY) / layerHeight], 0);\n return this.newFreeDrawOutline(outline, points, this.#box, this.#scaleFactor, this.#innerMargin, this.#isLTR);\n }\n #getOutlineStart(outline, pos) {\n const bottom = this.#bottom;\n outline.set([NaN, NaN, NaN, NaN, bottom[4], bottom[5]], pos);\n return pos += 6;\n }\n #getOutlineEnd(outline, pos) {\n const lastTop = this.#last.subarray(4, 6);\n const lastBottom = this.#last.subarray(16, 18);\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n outline.set([NaN, NaN, NaN, NaN, (lastTop[0] - layerX) / layerWidth, (lastTop[1] - layerY) / layerHeight, NaN, NaN, NaN, NaN, lastTopX, lastTopY, NaN, NaN, NaN, NaN, lastBottomX, lastBottomY, NaN, NaN, NaN, NaN, (lastBottom[0] - layerX) / layerWidth, (lastBottom[1] - layerY) / layerHeight], pos);\n return pos += 24;\n }\n}\nclass FreeDrawOutline extends Outline {\n #box;\n #bbox = null;\n #innerMargin;\n #isLTR;\n #points;\n #scaleFactor;\n #outline;\n constructor(outline, points, box, scaleFactor, innerMargin, isLTR) {\n super();\n this.#outline = outline;\n this.#points = points;\n this.#box = box;\n this.#scaleFactor = scaleFactor;\n this.#innerMargin = innerMargin;\n this.#isLTR = isLTR;\n this.#computeMinMax(isLTR);\n const {\n x,\n y,\n width,\n height\n } = this.#bbox;\n for (let i = 0, ii = outline.length; i < ii; i += 2) {\n outline[i] = (outline[i] - x) / width;\n outline[i + 1] = (outline[i + 1] - y) / height;\n }\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = (points[i] - x) / width;\n points[i + 1] = (points[i + 1] - y) / height;\n }\n }\n toSVGPath() {\n const buffer = [`M${this.#outline[4]} ${this.#outline[5]}`];\n for (let i = 6, ii = this.#outline.length; i < ii; i += 6) {\n if (isNaN(this.#outline[i])) {\n buffer.push(`L${this.#outline[i + 4]} ${this.#outline[i + 5]}`);\n continue;\n }\n buffer.push(`C${this.#outline[i]} ${this.#outline[i + 1]} ${this.#outline[i + 2]} ${this.#outline[i + 3]} ${this.#outline[i + 4]} ${this.#outline[i + 5]}`);\n }\n buffer.push(\"Z\");\n return buffer.join(\" \");\n }\n serialize([blX, blY, trX, trY], rotation) {\n const width = trX - blX;\n const height = trY - blY;\n let outline;\n let points;\n switch (rotation) {\n case 0:\n outline = this.#rescale(this.#outline, blX, trY, width, -height);\n points = this.#rescale(this.#points, blX, trY, width, -height);\n break;\n case 90:\n outline = this.#rescaleAndSwap(this.#outline, blX, blY, width, height);\n points = this.#rescaleAndSwap(this.#points, blX, blY, width, height);\n break;\n case 180:\n outline = this.#rescale(this.#outline, trX, blY, -width, height);\n points = this.#rescale(this.#points, trX, blY, -width, height);\n break;\n case 270:\n outline = this.#rescaleAndSwap(this.#outline, trX, trY, -width, -height);\n points = this.#rescaleAndSwap(this.#points, trX, trY, -width, -height);\n break;\n }\n return {\n outline: Array.from(outline),\n points: [Array.from(points)]\n };\n }\n #rescale(src, tx, ty, sx, sy) {\n const dest = new Float64Array(src.length);\n for (let i = 0, ii = src.length; i < ii; i += 2) {\n dest[i] = tx + src[i] * sx;\n dest[i + 1] = ty + src[i + 1] * sy;\n }\n return dest;\n }\n #rescaleAndSwap(src, tx, ty, sx, sy) {\n const dest = new Float64Array(src.length);\n for (let i = 0, ii = src.length; i < ii; i += 2) {\n dest[i] = tx + src[i + 1] * sx;\n dest[i + 1] = ty + src[i] * sy;\n }\n return dest;\n }\n #computeMinMax(isLTR) {\n const outline = this.#outline;\n let lastX = outline[4];\n let lastY = outline[5];\n let minX = lastX;\n let minY = lastY;\n let maxX = lastX;\n let maxY = lastY;\n let lastPointX = lastX;\n let lastPointY = lastY;\n const ltrCallback = isLTR ? Math.max : Math.min;\n for (let i = 6, ii = outline.length; i < ii; i += 6) {\n if (isNaN(outline[i])) {\n minX = Math.min(minX, outline[i + 4]);\n minY = Math.min(minY, outline[i + 5]);\n maxX = Math.max(maxX, outline[i + 4]);\n maxY = Math.max(maxY, outline[i + 5]);\n if (lastPointY < outline[i + 5]) {\n lastPointX = outline[i + 4];\n lastPointY = outline[i + 5];\n } else if (lastPointY === outline[i + 5]) {\n lastPointX = ltrCallback(lastPointX, outline[i + 4]);\n }\n } else {\n const bbox = Util.bezierBoundingBox(lastX, lastY, ...outline.slice(i, i + 6));\n minX = Math.min(minX, bbox[0]);\n minY = Math.min(minY, bbox[1]);\n maxX = Math.max(maxX, bbox[2]);\n maxY = Math.max(maxY, bbox[3]);\n if (lastPointY < bbox[3]) {\n lastPointX = bbox[2];\n lastPointY = bbox[3];\n } else if (lastPointY === bbox[3]) {\n lastPointX = ltrCallback(lastPointX, bbox[2]);\n }\n }\n lastX = outline[i + 4];\n lastY = outline[i + 5];\n }\n const x = minX - this.#innerMargin,\n y = minY - this.#innerMargin,\n width = maxX - minX + 2 * this.#innerMargin,\n height = maxY - minY + 2 * this.#innerMargin;\n this.#bbox = {\n x,\n y,\n width,\n height,\n lastPoint: [lastPointX, lastPointY]\n };\n }\n get box() {\n return this.#bbox;\n }\n newOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin = 0) {\n return new FreeDrawOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin);\n }\n getNewOutline(thickness, innerMargin) {\n const {\n x,\n y,\n width,\n height\n } = this.#bbox;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const sx = width * layerWidth;\n const sy = height * layerHeight;\n const tx = x * layerWidth + layerX;\n const ty = y * layerHeight + layerY;\n const outliner = this.newOutliner({\n x: this.#points[0] * sx + tx,\n y: this.#points[1] * sy + ty\n }, this.#box, this.#scaleFactor, thickness, this.#isLTR, innerMargin ?? this.#innerMargin);\n for (let i = 2; i < this.#points.length; i += 2) {\n outliner.add({\n x: this.#points[i] * sx + tx,\n y: this.#points[i + 1] * sy + ty\n });\n }\n return outliner.getOutlines();\n }\n get mustRemoveSelfIntersections() {\n return true;\n }\n}\n\n;// ./src/display/editor/drawers/highlight.js\n\n\nclass HighlightOutliner {\n #box;\n #verticalEdges = [];\n #intervals = [];\n constructor(boxes, borderWidth = 0, innerMargin = 0, isLTR = true) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n const NUMBER_OF_DIGITS = 4;\n const EPSILON = 10 ** -NUMBER_OF_DIGITS;\n for (const {\n x,\n y,\n width,\n height\n } of boxes) {\n const x1 = Math.floor((x - borderWidth) / EPSILON) * EPSILON;\n const x2 = Math.ceil((x + width + borderWidth) / EPSILON) * EPSILON;\n const y1 = Math.floor((y - borderWidth) / EPSILON) * EPSILON;\n const y2 = Math.ceil((y + height + borderWidth) / EPSILON) * EPSILON;\n const left = [x1, y1, y2, true];\n const right = [x2, y1, y2, false];\n this.#verticalEdges.push(left, right);\n minX = Math.min(minX, x1);\n maxX = Math.max(maxX, x2);\n minY = Math.min(minY, y1);\n maxY = Math.max(maxY, y2);\n }\n const bboxWidth = maxX - minX + 2 * innerMargin;\n const bboxHeight = maxY - minY + 2 * innerMargin;\n const shiftedMinX = minX - innerMargin;\n const shiftedMinY = minY - innerMargin;\n const lastEdge = this.#verticalEdges.at(isLTR ? -1 : -2);\n const lastPoint = [lastEdge[0], lastEdge[2]];\n for (const edge of this.#verticalEdges) {\n const [x, y1, y2] = edge;\n edge[0] = (x - shiftedMinX) / bboxWidth;\n edge[1] = (y1 - shiftedMinY) / bboxHeight;\n edge[2] = (y2 - shiftedMinY) / bboxHeight;\n }\n this.#box = {\n x: shiftedMinX,\n y: shiftedMinY,\n width: bboxWidth,\n height: bboxHeight,\n lastPoint\n };\n }\n getOutlines() {\n this.#verticalEdges.sort((a, b) => a[0] - b[0] || a[1] - b[1] || a[2] - b[2]);\n const outlineVerticalEdges = [];\n for (const edge of this.#verticalEdges) {\n if (edge[3]) {\n outlineVerticalEdges.push(...this.#breakEdge(edge));\n this.#insert(edge);\n } else {\n this.#remove(edge);\n outlineVerticalEdges.push(...this.#breakEdge(edge));\n }\n }\n return this.#getOutlines(outlineVerticalEdges);\n }\n #getOutlines(outlineVerticalEdges) {\n const edges = [];\n const allEdges = new Set();\n for (const edge of outlineVerticalEdges) {\n const [x, y1, y2] = edge;\n edges.push([x, y1, edge], [x, y2, edge]);\n }\n edges.sort((a, b) => a[1] - b[1] || a[0] - b[0]);\n for (let i = 0, ii = edges.length; i < ii; i += 2) {\n const edge1 = edges[i][2];\n const edge2 = edges[i + 1][2];\n edge1.push(edge2);\n edge2.push(edge1);\n allEdges.add(edge1);\n allEdges.add(edge2);\n }\n const outlines = [];\n let outline;\n while (allEdges.size > 0) {\n const edge = allEdges.values().next().value;\n let [x, y1, y2, edge1, edge2] = edge;\n allEdges.delete(edge);\n let lastPointX = x;\n let lastPointY = y1;\n outline = [x, y2];\n outlines.push(outline);\n while (true) {\n let e;\n if (allEdges.has(edge1)) {\n e = edge1;\n } else if (allEdges.has(edge2)) {\n e = edge2;\n } else {\n break;\n }\n allEdges.delete(e);\n [x, y1, y2, edge1, edge2] = e;\n if (lastPointX !== x) {\n outline.push(lastPointX, lastPointY, x, lastPointY === y1 ? y1 : y2);\n lastPointX = x;\n }\n lastPointY = lastPointY === y1 ? y2 : y1;\n }\n outline.push(lastPointX, lastPointY);\n }\n return new HighlightOutline(outlines, this.#box);\n }\n #binarySearch(y) {\n const array = this.#intervals;\n let start = 0;\n let end = array.length - 1;\n while (start <= end) {\n const middle = start + end >> 1;\n const y1 = array[middle][0];\n if (y1 === y) {\n return middle;\n }\n if (y1 < y) {\n start = middle + 1;\n } else {\n end = middle - 1;\n }\n }\n return end + 1;\n }\n #insert([, y1, y2]) {\n const index = this.#binarySearch(y1);\n this.#intervals.splice(index, 0, [y1, y2]);\n }\n #remove([, y1, y2]) {\n const index = this.#binarySearch(y1);\n for (let i = index; i < this.#intervals.length; i++) {\n const [start, end] = this.#intervals[i];\n if (start !== y1) {\n break;\n }\n if (start === y1 && end === y2) {\n this.#intervals.splice(i, 1);\n return;\n }\n }\n for (let i = index - 1; i >= 0; i--) {\n const [start, end] = this.#intervals[i];\n if (start !== y1) {\n break;\n }\n if (start === y1 && end === y2) {\n this.#intervals.splice(i, 1);\n return;\n }\n }\n }\n #breakEdge(edge) {\n const [x, y1, y2] = edge;\n const results = [[x, y1, y2]];\n const index = this.#binarySearch(y2);\n for (let i = 0; i < index; i++) {\n const [start, end] = this.#intervals[i];\n for (let j = 0, jj = results.length; j < jj; j++) {\n const [, y3, y4] = results[j];\n if (end <= y3 || y4 <= start) {\n continue;\n }\n if (y3 >= start) {\n if (y4 > end) {\n results[j][1] = end;\n } else {\n if (jj === 1) {\n return [];\n }\n results.splice(j, 1);\n j--;\n jj--;\n }\n continue;\n }\n results[j][2] = start;\n if (y4 > end) {\n results.push([x, end, y4]);\n }\n }\n }\n return results;\n }\n}\nclass HighlightOutline extends Outline {\n #box;\n #outlines;\n constructor(outlines, box) {\n super();\n this.#outlines = outlines;\n this.#box = box;\n }\n toSVGPath() {\n const buffer = [];\n for (const polygon of this.#outlines) {\n let [prevX, prevY] = polygon;\n buffer.push(`M${prevX} ${prevY}`);\n for (let i = 2; i < polygon.length; i += 2) {\n const x = polygon[i];\n const y = polygon[i + 1];\n if (x === prevX) {\n buffer.push(`V${y}`);\n prevY = y;\n } else if (y === prevY) {\n buffer.push(`H${x}`);\n prevX = x;\n }\n }\n buffer.push(\"Z\");\n }\n return buffer.join(\" \");\n }\n serialize([blX, blY, trX, trY], _rotation) {\n const outlines = [];\n const width = trX - blX;\n const height = trY - blY;\n for (const outline of this.#outlines) {\n const points = new Array(outline.length);\n for (let i = 0; i < outline.length; i += 2) {\n points[i] = blX + outline[i] * width;\n points[i + 1] = trY - outline[i + 1] * height;\n }\n outlines.push(points);\n }\n return outlines;\n }\n get box() {\n return this.#box;\n }\n get classNamesForDrawing() {\n return [\"highlight\"];\n }\n get classNamesForOutlining() {\n return [\"highlightOutline\"];\n }\n}\nclass FreeHighlightOutliner extends FreeDrawOutliner {\n newFreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR) {\n return new FreeHighlightOutline(outline, points, box, scaleFactor, innerMargin, isLTR);\n }\n get classNamesForDrawing() {\n return [\"highlight\", \"free\"];\n }\n}\nclass FreeHighlightOutline extends FreeDrawOutline {\n get classNamesForDrawing() {\n return [\"highlight\", \"free\"];\n }\n get classNamesForOutlining() {\n return [\"highlightOutline\", \"free\"];\n }\n newOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin = 0) {\n return new FreeHighlightOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin);\n }\n}\n\n;// ./src/display/editor/color_picker.js\n\n\n\nclass ColorPicker {\n #button = null;\n #buttonSwatch = null;\n #defaultColor;\n #dropdown = null;\n #dropdownWasFromKeyboard = false;\n #isMainColorPicker = false;\n #editor = null;\n #eventBus;\n #openDropdownAC = null;\n #uiManager = null;\n #type;\n static #l10nColor = null;\n static get _keyboardManager() {\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"Escape\", \"mac+Escape\"], ColorPicker.prototype._hideDropdownFromKeyboard], [[\" \", \"mac+ \"], ColorPicker.prototype._colorSelectFromKeyboard], [[\"ArrowDown\", \"ArrowRight\", \"mac+ArrowDown\", \"mac+ArrowRight\"], ColorPicker.prototype._moveToNext], [[\"ArrowUp\", \"ArrowLeft\", \"mac+ArrowUp\", \"mac+ArrowLeft\"], ColorPicker.prototype._moveToPrevious], [[\"Home\", \"mac+Home\"], ColorPicker.prototype._moveToBeginning], [[\"End\", \"mac+End\"], ColorPicker.prototype._moveToEnd]]));\n }\n constructor({\n editor = null,\n uiManager = null\n }) {\n if (editor) {\n this.#isMainColorPicker = false;\n this.#type = AnnotationEditorParamsType.HIGHLIGHT_COLOR;\n this.#editor = editor;\n } else {\n this.#isMainColorPicker = true;\n this.#type = AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR;\n }\n this.#uiManager = editor?._uiManager || uiManager;\n this.#eventBus = this.#uiManager._eventBus;\n this.#defaultColor = editor?.color || this.#uiManager?.highlightColors.values().next().value || \"#FFFF98\";\n ColorPicker.#l10nColor ||= Object.freeze({\n blue: \"pdfjs-editor-colorpicker-blue\",\n green: \"pdfjs-editor-colorpicker-green\",\n pink: \"pdfjs-editor-colorpicker-pink\",\n red: \"pdfjs-editor-colorpicker-red\",\n yellow: \"pdfjs-editor-colorpicker-yellow\"\n });\n }\n renderButton() {\n const button = this.#button = document.createElement(\"button\");\n button.className = \"colorPicker\";\n button.tabIndex = \"0\";\n button.setAttribute(\"data-l10n-id\", \"pdfjs-editor-colorpicker-button\");\n button.setAttribute(\"aria-haspopup\", true);\n const signal = this.#uiManager._signal;\n button.addEventListener(\"click\", this.#openDropdown.bind(this), {\n signal\n });\n button.addEventListener(\"keydown\", this.#keyDown.bind(this), {\n signal\n });\n const swatch = this.#buttonSwatch = document.createElement(\"span\");\n swatch.className = \"swatch\";\n swatch.setAttribute(\"aria-hidden\", true);\n swatch.style.backgroundColor = this.#defaultColor;\n button.append(swatch);\n return button;\n }\n renderMainDropdown() {\n const dropdown = this.#dropdown = this.#getDropdownRoot();\n dropdown.setAttribute(\"aria-orientation\", \"horizontal\");\n dropdown.setAttribute(\"aria-labelledby\", \"highlightColorPickerLabel\");\n return dropdown;\n }\n #getDropdownRoot() {\n const div = document.createElement(\"div\");\n const signal = this.#uiManager._signal;\n div.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n div.className = \"dropdown\";\n div.role = \"listbox\";\n div.setAttribute(\"aria-multiselectable\", false);\n div.setAttribute(\"aria-orientation\", \"vertical\");\n div.setAttribute(\"data-l10n-id\", \"pdfjs-editor-colorpicker-dropdown\");\n for (const [name, color] of this.#uiManager.highlightColors) {\n const button = document.createElement(\"button\");\n button.tabIndex = \"0\";\n button.role = \"option\";\n button.setAttribute(\"data-color\", color);\n button.title = name;\n button.setAttribute(\"data-l10n-id\", ColorPicker.#l10nColor[name]);\n const swatch = document.createElement(\"span\");\n button.append(swatch);\n swatch.className = \"swatch\";\n swatch.style.backgroundColor = color;\n button.setAttribute(\"aria-selected\", color === this.#defaultColor);\n button.addEventListener(\"click\", this.#colorSelect.bind(this, color), {\n signal\n });\n div.append(button);\n }\n div.addEventListener(\"keydown\", this.#keyDown.bind(this), {\n signal\n });\n return div;\n }\n #colorSelect(color, event) {\n event.stopPropagation();\n this.#eventBus.dispatch(\"switchannotationeditorparams\", {\n source: this,\n type: this.#type,\n value: color\n });\n }\n _colorSelectFromKeyboard(event) {\n if (event.target === this.#button) {\n this.#openDropdown(event);\n return;\n }\n const color = event.target.getAttribute(\"data-color\");\n if (!color) {\n return;\n }\n this.#colorSelect(color, event);\n }\n _moveToNext(event) {\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n return;\n }\n if (event.target === this.#button) {\n this.#dropdown.firstChild?.focus();\n return;\n }\n event.target.nextSibling?.focus();\n }\n _moveToPrevious(event) {\n if (event.target === this.#dropdown?.firstChild || event.target === this.#button) {\n if (this.#isDropdownVisible) {\n this._hideDropdownFromKeyboard();\n }\n return;\n }\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n }\n event.target.previousSibling?.focus();\n }\n _moveToBeginning(event) {\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n return;\n }\n this.#dropdown.firstChild?.focus();\n }\n _moveToEnd(event) {\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n return;\n }\n this.#dropdown.lastChild?.focus();\n }\n #keyDown(event) {\n ColorPicker._keyboardManager.exec(this, event);\n }\n #openDropdown(event) {\n if (this.#isDropdownVisible) {\n this.hideDropdown();\n return;\n }\n this.#dropdownWasFromKeyboard = event.detail === 0;\n if (!this.#openDropdownAC) {\n this.#openDropdownAC = new AbortController();\n window.addEventListener(\"pointerdown\", this.#pointerDown.bind(this), {\n signal: this.#uiManager.combinedSignal(this.#openDropdownAC)\n });\n }\n if (this.#dropdown) {\n this.#dropdown.classList.remove(\"hidden\");\n return;\n }\n const root = this.#dropdown = this.#getDropdownRoot();\n this.#button.append(root);\n }\n #pointerDown(event) {\n if (this.#dropdown?.contains(event.target)) {\n return;\n }\n this.hideDropdown();\n }\n hideDropdown() {\n this.#dropdown?.classList.add(\"hidden\");\n this.#openDropdownAC?.abort();\n this.#openDropdownAC = null;\n }\n get #isDropdownVisible() {\n return this.#dropdown && !this.#dropdown.classList.contains(\"hidden\");\n }\n _hideDropdownFromKeyboard() {\n if (this.#isMainColorPicker) {\n return;\n }\n if (!this.#isDropdownVisible) {\n this.#editor?.unselect();\n return;\n }\n this.hideDropdown();\n this.#button.focus({\n preventScroll: true,\n focusVisible: this.#dropdownWasFromKeyboard\n });\n }\n updateColor(color) {\n if (this.#buttonSwatch) {\n this.#buttonSwatch.style.backgroundColor = color;\n }\n if (!this.#dropdown) {\n return;\n }\n const i = this.#uiManager.highlightColors.values();\n for (const child of this.#dropdown.children) {\n child.setAttribute(\"aria-selected\", i.next().value === color);\n }\n }\n destroy() {\n this.#button?.remove();\n this.#button = null;\n this.#buttonSwatch = null;\n this.#dropdown?.remove();\n this.#dropdown = null;\n }\n}\n\n;// ./src/display/editor/highlight.js\n\n\n\n\n\n\n\nclass HighlightEditor extends AnnotationEditor {\n #anchorNode = null;\n #anchorOffset = 0;\n #boxes;\n #clipPathId = null;\n #colorPicker = null;\n #focusOutlines = null;\n #focusNode = null;\n #focusOffset = 0;\n #highlightDiv = null;\n #highlightOutlines = null;\n #id = null;\n #isFreeHighlight = false;\n #lastPoint = null;\n #opacity;\n #outlineId = null;\n #text = \"\";\n #thickness;\n #methodOfCreation = \"\";\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 12;\n static _type = \"highlight\";\n static _editorType = AnnotationEditorType.HIGHLIGHT;\n static _freeHighlightId = -1;\n static _freeHighlight = null;\n static _freeHighlightClipId = \"\";\n static get _keyboardManager() {\n const proto = HighlightEditor.prototype;\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._moveCaret, {\n args: [0]\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._moveCaret, {\n args: [1]\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._moveCaret, {\n args: [2]\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._moveCaret, {\n args: [3]\n }]]));\n }\n constructor(params) {\n super({\n ...params,\n name: \"highlightEditor\"\n });\n this.color = params.color || HighlightEditor._defaultColor;\n this.#thickness = params.thickness || HighlightEditor._defaultThickness;\n this.#opacity = params.opacity || HighlightEditor._defaultOpacity;\n this.#boxes = params.boxes || null;\n this.#methodOfCreation = params.methodOfCreation || \"\";\n this.#text = params.text || \"\";\n this._isDraggable = false;\n if (params.highlightId > -1) {\n this.#isFreeHighlight = true;\n this.#createFreeOutlines(params);\n this.#addToDrawLayer();\n } else if (this.#boxes) {\n this.#anchorNode = params.anchorNode;\n this.#anchorOffset = params.anchorOffset;\n this.#focusNode = params.focusNode;\n this.#focusOffset = params.focusOffset;\n this.#createOutlines();\n this.#addToDrawLayer();\n this.rotate(this.rotation);\n }\n }\n get telemetryInitialData() {\n return {\n action: \"added\",\n type: this.#isFreeHighlight ? \"free_highlight\" : \"highlight\",\n color: this._uiManager.highlightColorNames.get(this.color),\n thickness: this.#thickness,\n methodOfCreation: this.#methodOfCreation\n };\n }\n get telemetryFinalData() {\n return {\n type: \"highlight\",\n color: this._uiManager.highlightColorNames.get(this.color)\n };\n }\n static computeTelemetryFinalData(data) {\n return {\n numberOfColors: data.get(\"color\").size\n };\n }\n #createOutlines() {\n const outliner = new HighlightOutliner(this.#boxes, 0.001);\n this.#highlightOutlines = outliner.getOutlines();\n ({\n x: this.x,\n y: this.y,\n width: this.width,\n height: this.height\n } = this.#highlightOutlines.box);\n const outlinerForOutline = new HighlightOutliner(this.#boxes, 0.0025, 0.001, this._uiManager.direction === \"ltr\");\n this.#focusOutlines = outlinerForOutline.getOutlines();\n const {\n lastPoint\n } = this.#focusOutlines.box;\n this.#lastPoint = [(lastPoint[0] - this.x) / this.width, (lastPoint[1] - this.y) / this.height];\n }\n #createFreeOutlines({\n highlightOutlines,\n highlightId,\n clipPathId\n }) {\n this.#highlightOutlines = highlightOutlines;\n const extraThickness = 1.5;\n this.#focusOutlines = highlightOutlines.getNewOutline(this.#thickness / 2 + extraThickness, 0.0025);\n if (highlightId >= 0) {\n this.#id = highlightId;\n this.#clipPathId = clipPathId;\n this.parent.drawLayer.finalizeLine(highlightId, highlightOutlines);\n this.#outlineId = this.parent.drawLayer.drawOutline(this.#focusOutlines);\n } else if (this.parent) {\n const angle = this.parent.viewport.rotation;\n this.parent.drawLayer.updateLine(this.#id, highlightOutlines);\n this.parent.drawLayer.updateBox(this.#id, HighlightEditor.#rotateBbox(this.#highlightOutlines.box, (angle - this.rotation + 360) % 360));\n this.parent.drawLayer.updateLine(this.#outlineId, this.#focusOutlines);\n this.parent.drawLayer.updateBox(this.#outlineId, HighlightEditor.#rotateBbox(this.#focusOutlines.box, angle));\n }\n const {\n x,\n y,\n width,\n height\n } = highlightOutlines.box;\n switch (this.rotation) {\n case 0:\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n break;\n case 90:\n {\n const [pageWidth, pageHeight] = this.parentDimensions;\n this.x = y;\n this.y = 1 - x;\n this.width = width * pageHeight / pageWidth;\n this.height = height * pageWidth / pageHeight;\n break;\n }\n case 180:\n this.x = 1 - x;\n this.y = 1 - y;\n this.width = width;\n this.height = height;\n break;\n case 270:\n {\n const [pageWidth, pageHeight] = this.parentDimensions;\n this.x = 1 - y;\n this.y = x;\n this.width = width * pageHeight / pageWidth;\n this.height = height * pageWidth / pageHeight;\n break;\n }\n }\n const {\n lastPoint\n } = this.#focusOutlines.box;\n this.#lastPoint = [(lastPoint[0] - x) / width, (lastPoint[1] - y) / height];\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n HighlightEditor._defaultColor ||= uiManager.highlightColors?.values().next().value || \"#fff066\";\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR:\n HighlightEditor._defaultColor = value;\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS:\n HighlightEditor._defaultThickness = value;\n break;\n }\n }\n translateInPage(x, y) {}\n get toolbarPosition() {\n return this.#lastPoint;\n }\n updateParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.HIGHLIGHT_COLOR:\n this.#updateColor(value);\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS:\n this.#updateThickness(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR, HighlightEditor._defaultColor], [AnnotationEditorParamsType.HIGHLIGHT_THICKNESS, HighlightEditor._defaultThickness]];\n }\n get propertiesToUpdate() {\n return [[AnnotationEditorParamsType.HIGHLIGHT_COLOR, this.color || HighlightEditor._defaultColor], [AnnotationEditorParamsType.HIGHLIGHT_THICKNESS, this.#thickness || HighlightEditor._defaultThickness], [AnnotationEditorParamsType.HIGHLIGHT_FREE, this.#isFreeHighlight]];\n }\n #updateColor(color) {\n const setColorAndOpacity = (col, opa) => {\n this.color = col;\n this.parent?.drawLayer.changeColor(this.#id, col);\n this.#colorPicker?.updateColor(col);\n this.#opacity = opa;\n this.parent?.drawLayer.changeOpacity(this.#id, opa);\n };\n const savedColor = this.color;\n const savedOpacity = this.#opacity;\n this.addCommands({\n cmd: setColorAndOpacity.bind(this, color, HighlightEditor._defaultOpacity),\n undo: setColorAndOpacity.bind(this, savedColor, savedOpacity),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.HIGHLIGHT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n this._reportTelemetry({\n action: \"color_changed\",\n color: this._uiManager.highlightColorNames.get(color)\n }, true);\n }\n #updateThickness(thickness) {\n const savedThickness = this.#thickness;\n const setThickness = th => {\n this.#thickness = th;\n this.#changeThickness(th);\n };\n this.addCommands({\n cmd: setThickness.bind(this, thickness),\n undo: setThickness.bind(this, savedThickness),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n this._reportTelemetry({\n action: \"thickness_changed\",\n thickness\n }, true);\n }\n async addEditToolbar() {\n const toolbar = await super.addEditToolbar();\n if (!toolbar) {\n return null;\n }\n if (this._uiManager.highlightColors) {\n this.#colorPicker = new ColorPicker({\n editor: this\n });\n toolbar.addColorPicker(this.#colorPicker);\n }\n return toolbar;\n }\n disableEditing() {\n super.disableEditing();\n this.div.classList.toggle(\"disabled\", true);\n }\n enableEditing() {\n super.enableEditing();\n this.div.classList.toggle(\"disabled\", false);\n }\n fixAndSetPosition() {\n return super.fixAndSetPosition(this.#getRotation());\n }\n getBaseTranslation() {\n return [0, 0];\n }\n getRect(tx, ty) {\n return super.getRect(tx, ty, this.#getRotation());\n }\n onceAdded() {\n if (!this.annotationElementId) {\n this.parent.addUndoableEditor(this);\n }\n this.div.focus();\n }\n remove() {\n this.#cleanDrawLayer();\n this._reportTelemetry({\n action: \"deleted\"\n });\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n this.#addToDrawLayer();\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n setParent(parent) {\n let mustBeSelected = false;\n if (this.parent && !parent) {\n this.#cleanDrawLayer();\n } else if (parent) {\n this.#addToDrawLayer(parent);\n mustBeSelected = !this.parent && this.div?.classList.contains(\"selectedEditor\");\n }\n super.setParent(parent);\n this.show(this._isVisible);\n if (mustBeSelected) {\n this.select();\n }\n }\n #changeThickness(thickness) {\n if (!this.#isFreeHighlight) {\n return;\n }\n this.#createFreeOutlines({\n highlightOutlines: this.#highlightOutlines.getNewOutline(thickness / 2)\n });\n this.fixAndSetPosition();\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n }\n #cleanDrawLayer() {\n if (this.#id === null || !this.parent) {\n return;\n }\n this.parent.drawLayer.remove(this.#id);\n this.#id = null;\n this.parent.drawLayer.remove(this.#outlineId);\n this.#outlineId = null;\n }\n #addToDrawLayer(parent = this.parent) {\n if (this.#id !== null) {\n return;\n }\n ({\n id: this.#id,\n clipPathId: this.#clipPathId\n } = parent.drawLayer.draw(this.#highlightOutlines, this.color, this.#opacity));\n this.#outlineId = parent.drawLayer.drawOutline(this.#focusOutlines);\n if (this.#highlightDiv) {\n this.#highlightDiv.style.clipPath = this.#clipPathId;\n }\n }\n static #rotateBbox({\n x,\n y,\n width,\n height\n }, angle) {\n switch (angle) {\n case 90:\n return {\n x: 1 - y - height,\n y: x,\n width: height,\n height: width\n };\n case 180:\n return {\n x: 1 - x - width,\n y: 1 - y - height,\n width,\n height\n };\n case 270:\n return {\n x: y,\n y: 1 - x - width,\n width: height,\n height: width\n };\n }\n return {\n x,\n y,\n width,\n height\n };\n }\n rotate(angle) {\n const {\n drawLayer\n } = this.parent;\n let box;\n if (this.#isFreeHighlight) {\n angle = (angle - this.rotation + 360) % 360;\n box = HighlightEditor.#rotateBbox(this.#highlightOutlines.box, angle);\n } else {\n box = HighlightEditor.#rotateBbox(this, angle);\n }\n drawLayer.rotate(this.#id, angle);\n drawLayer.rotate(this.#outlineId, angle);\n drawLayer.updateBox(this.#id, box);\n drawLayer.updateBox(this.#outlineId, HighlightEditor.#rotateBbox(this.#focusOutlines.box, angle));\n }\n render() {\n if (this.div) {\n return this.div;\n }\n const div = super.render();\n if (this.#text) {\n div.setAttribute(\"aria-label\", this.#text);\n div.setAttribute(\"role\", \"mark\");\n }\n if (this.#isFreeHighlight) {\n div.classList.add(\"free\");\n } else {\n this.div.addEventListener(\"keydown\", this.#keydown.bind(this), {\n signal: this._uiManager._signal\n });\n }\n const highlightDiv = this.#highlightDiv = document.createElement(\"div\");\n div.append(highlightDiv);\n highlightDiv.setAttribute(\"aria-hidden\", \"true\");\n highlightDiv.className = \"internal\";\n highlightDiv.style.clipPath = this.#clipPathId;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n bindEvents(this, this.#highlightDiv, [\"pointerover\", \"pointerleave\"]);\n this.enableEditing();\n return div;\n }\n pointerover() {\n if (!this.isSelected) {\n this.parent.drawLayer.addClass(this.#outlineId, \"hovered\");\n }\n }\n pointerleave() {\n if (!this.isSelected) {\n this.parent.drawLayer.removeClass(this.#outlineId, \"hovered\");\n }\n }\n #keydown(event) {\n HighlightEditor._keyboardManager.exec(this, event);\n }\n _moveCaret(direction) {\n this.parent.unselect(this);\n switch (direction) {\n case 0:\n case 2:\n this.#setCaret(true);\n break;\n case 1:\n case 3:\n this.#setCaret(false);\n break;\n }\n }\n #setCaret(start) {\n if (!this.#anchorNode) {\n return;\n }\n const selection = window.getSelection();\n if (start) {\n selection.setPosition(this.#anchorNode, this.#anchorOffset);\n } else {\n selection.setPosition(this.#focusNode, this.#focusOffset);\n }\n }\n select() {\n super.select();\n if (!this.#outlineId) {\n return;\n }\n this.parent?.drawLayer.removeClass(this.#outlineId, \"hovered\");\n this.parent?.drawLayer.addClass(this.#outlineId, \"selected\");\n }\n unselect() {\n super.unselect();\n if (!this.#outlineId) {\n return;\n }\n this.parent?.drawLayer.removeClass(this.#outlineId, \"selected\");\n if (!this.#isFreeHighlight) {\n this.#setCaret(false);\n }\n }\n get _mustFixPosition() {\n return !this.#isFreeHighlight;\n }\n show(visible = this._isVisible) {\n super.show(visible);\n if (this.parent) {\n this.parent.drawLayer.show(this.#id, visible);\n this.parent.drawLayer.show(this.#outlineId, visible);\n }\n }\n #getRotation() {\n return this.#isFreeHighlight ? this.rotation : 0;\n }\n #serializeBoxes() {\n if (this.#isFreeHighlight) {\n return null;\n }\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const boxes = this.#boxes;\n const quadPoints = new Float32Array(boxes.length * 8);\n let i = 0;\n for (const {\n x,\n y,\n width,\n height\n } of boxes) {\n const sx = x * pageWidth + pageX;\n const sy = (1 - y - height) * pageHeight + pageY;\n quadPoints[i] = quadPoints[i + 4] = sx;\n quadPoints[i + 1] = quadPoints[i + 3] = sy;\n quadPoints[i + 2] = quadPoints[i + 6] = sx + width * pageWidth;\n quadPoints[i + 5] = quadPoints[i + 7] = sy + height * pageHeight;\n i += 8;\n }\n return quadPoints;\n }\n #serializeOutlines(rect) {\n return this.#highlightOutlines.serialize(rect, this.#getRotation());\n }\n static startHighlighting(parent, isLTR, {\n target: textLayer,\n x,\n y\n }) {\n const {\n x: layerX,\n y: layerY,\n width: parentWidth,\n height: parentHeight\n } = textLayer.getBoundingClientRect();\n const ac = new AbortController();\n const signal = parent.combinedSignal(ac);\n const pointerDown = e => {\n e.preventDefault();\n e.stopPropagation();\n };\n const pointerUpCallback = e => {\n ac.abort();\n this.#endHighlight(parent, e);\n };\n window.addEventListener(\"blur\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"pointerup\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"pointerdown\", pointerDown, {\n capture: true,\n passive: false,\n signal\n });\n window.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n textLayer.addEventListener(\"pointermove\", this.#highlightMove.bind(this, parent), {\n signal\n });\n this._freeHighlight = new FreeHighlightOutliner({\n x,\n y\n }, [layerX, layerY, parentWidth, parentHeight], parent.scale, this._defaultThickness / 2, isLTR, 0.001);\n ({\n id: this._freeHighlightId,\n clipPathId: this._freeHighlightClipId\n } = parent.drawLayer.draw(this._freeHighlight, this._defaultColor, this._defaultOpacity, true));\n }\n static #highlightMove(parent, event) {\n if (this._freeHighlight.add(event)) {\n parent.drawLayer.updatePath(this._freeHighlightId, this._freeHighlight);\n }\n }\n static #endHighlight(parent, event) {\n if (!this._freeHighlight.isEmpty()) {\n parent.createAndAddNewEditor(event, false, {\n highlightId: this._freeHighlightId,\n highlightOutlines: this._freeHighlight.getOutlines(),\n clipPathId: this._freeHighlightClipId,\n methodOfCreation: \"main_toolbar\"\n });\n } else {\n parent.drawLayer.remove(this._freeHighlightId);\n }\n this._freeHighlightId = -1;\n this._freeHighlight = null;\n this._freeHighlightClipId = \"\";\n }\n static async deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof HighlightAnnotationElement) {\n const {\n data: {\n quadPoints,\n rect,\n rotation,\n id,\n color,\n opacity,\n popupRef\n },\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n initialData = data = {\n annotationType: AnnotationEditorType.HIGHLIGHT,\n color: Array.from(color),\n opacity,\n quadPoints,\n boxes: null,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n popupRef\n };\n } else if (data instanceof InkAnnotationElement) {\n const {\n data: {\n inkLists,\n rect,\n rotation,\n id,\n color,\n borderStyle: {\n rawWidth: thickness\n },\n popupRef\n },\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n initialData = data = {\n annotationType: AnnotationEditorType.HIGHLIGHT,\n color: Array.from(color),\n thickness,\n inkLists,\n boxes: null,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n popupRef\n };\n }\n const {\n color,\n quadPoints,\n inkLists,\n opacity\n } = data;\n const editor = await super.deserialize(data, parent, uiManager);\n editor.color = Util.makeHexColor(...color);\n editor.#opacity = opacity || 1;\n if (inkLists) {\n editor.#thickness = data.thickness;\n }\n editor.annotationElementId = data.id || null;\n editor._initialData = initialData;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [pageX, pageY] = editor.pageTranslation;\n if (quadPoints) {\n const boxes = editor.#boxes = [];\n for (let i = 0; i < quadPoints.length; i += 8) {\n boxes.push({\n x: (quadPoints[i] - pageX) / pageWidth,\n y: 1 - (quadPoints[i + 1] - pageY) / pageHeight,\n width: (quadPoints[i + 2] - quadPoints[i]) / pageWidth,\n height: (quadPoints[i + 1] - quadPoints[i + 5]) / pageHeight\n });\n }\n editor.#createOutlines();\n editor.#addToDrawLayer();\n editor.rotate(editor.rotation);\n } else if (inkLists) {\n editor.#isFreeHighlight = true;\n const points = inkLists[0];\n const point = {\n x: points[0] - pageX,\n y: pageHeight - (points[1] - pageY)\n };\n const outliner = new FreeHighlightOutliner(point, [0, 0, pageWidth, pageHeight], 1, editor.#thickness / 2, true, 0.001);\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n point.x = points[i] - pageX;\n point.y = pageHeight - (points[i + 1] - pageY);\n outliner.add(point);\n }\n const {\n id,\n clipPathId\n } = parent.drawLayer.draw(outliner, editor.color, editor._defaultOpacity, true);\n editor.#createFreeOutlines({\n highlightOutlines: outliner.getOutlines(),\n highlightId: id,\n clipPathId\n });\n editor.#addToDrawLayer();\n }\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty() || isForCopying) {\n return null;\n }\n if (this.deleted) {\n return this.serializeDeleted();\n }\n const rect = this.getRect(0, 0);\n const color = AnnotationEditor._colorManager.convert(this.color);\n const serialized = {\n annotationType: AnnotationEditorType.HIGHLIGHT,\n color,\n opacity: this.#opacity,\n thickness: this.#thickness,\n quadPoints: this.#serializeBoxes(),\n outlines: this.#serializeOutlines(rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.#getRotation(),\n structTreeParentId: this._structTreeParentId\n };\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n color\n } = this._initialData;\n return serialized.color.some((c, i) => c !== color[i]);\n }\n renderAnnotationElement(annotation) {\n annotation.updateEdited({\n rect: this.getRect(0, 0)\n });\n return null;\n }\n static canCreateNewEmptyEditor() {\n return false;\n }\n}\n\n;// ./src/display/editor/ink.js\n\n\n\n\n\nclass InkEditor extends AnnotationEditor {\n #baseHeight = 0;\n #baseWidth = 0;\n #canvasContextMenuTimeoutId = null;\n #currentPath2D = new Path2D();\n #disableEditing = false;\n #drawingAC = null;\n #hasSomethingToDraw = false;\n #isCanvasInitialized = false;\n #observer = null;\n #pointerdownAC = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _type = \"ink\";\n static _editorType = AnnotationEditorType.INK;\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.allRawPaths = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n this._willKeepAspectRatio = true;\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || AnnotationEditor._defaultLineColor], [AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n get propertiesToUpdate() {\n return [[AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || AnnotationEditor._defaultLineColor], [AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];\n }\n #updateThickness(thickness) {\n const setThickness = th => {\n this.thickness = th;\n this.#fitToContent();\n };\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: setThickness.bind(this, thickness),\n undo: setThickness.bind(this, savedThickness),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const setColor = col => {\n this.color = col;\n this.#redraw();\n };\n const savedColor = this.color;\n this.addCommands({\n cmd: setColor.bind(this, color),\n undo: setColor.bind(this, savedColor),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n const setOpacity = op => {\n this.opacity = op;\n this.#redraw();\n };\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: setOpacity.bind(this, opacity),\n undo: setOpacity.bind(this, savedOpacity),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n if (this.#canvasContextMenuTimeoutId) {\n clearTimeout(this.#canvasContextMenuTimeoutId);\n this.#canvasContextMenuTimeoutId = null;\n }\n this.#observer?.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this._isDraggable = false;\n this.#addPointerdownListener();\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this._isDraggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.#removePointerdownListener();\n }\n onceAdded() {\n this._isDraggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${opacityToHex(opacity)}`;\n }\n #startDrawing(x, y) {\n this.canvas.addEventListener(\"contextmenu\", noContextMenu, {\n signal: this._uiManager._signal\n });\n this.#removePointerdownListener();\n this.#drawingAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#drawingAC);\n this.canvas.addEventListener(\"pointerleave\", this.canvasPointerleave.bind(this), {\n signal\n });\n this.canvas.addEventListener(\"pointermove\", this.canvasPointermove.bind(this), {\n signal\n });\n this.canvas.addEventListener(\"pointerup\", this.canvasPointerup.bind(this), {\n signal\n });\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#hasSomethingToDraw = false;\n this.#setStroke();\n this.#requestFrameCallback = () => {\n this.#drawPoints();\n if (this.#requestFrameCallback) {\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (this.currentPath.length > 1 && x === lastX && y === lastY) {\n return;\n }\n const currentPath = this.currentPath;\n let path2D = this.#currentPath2D;\n currentPath.push([x, y]);\n this.#hasSomethingToDraw = true;\n if (currentPath.length <= 2) {\n path2D.moveTo(...currentPath[0]);\n path2D.lineTo(x, y);\n return;\n }\n if (currentPath.length === 3) {\n this.#currentPath2D = path2D = new Path2D();\n path2D.moveTo(...currentPath[0]);\n }\n this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y);\n }\n #endPath() {\n if (this.currentPath.length === 0) {\n return;\n }\n const lastPoint = this.currentPath.at(-1);\n this.#currentPath2D.lineTo(...lastPoint);\n }\n #stopDrawing(x, y) {\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n this.#draw(x, y);\n this.#endPath();\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = this.#generateBezierPoints();\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = this.#currentPath2D;\n const currentPath = this.currentPath;\n this.currentPath = [];\n this.#currentPath2D = new Path2D();\n const cmd = () => {\n this.allRawPaths.push(currentPath);\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this._uiManager.rebuild(this);\n };\n const undo = () => {\n this.allRawPaths.pop();\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #drawPoints() {\n if (!this.#hasSomethingToDraw) {\n return;\n }\n this.#hasSomethingToDraw = false;\n const thickness = Math.ceil(this.thickness * this.parentScale);\n const lastPoints = this.currentPath.slice(-3);\n const x = lastPoints.map(xy => xy[0]);\n const y = lastPoints.map(xy => xy[1]);\n const xMin = Math.min(...x) - thickness;\n const xMax = Math.max(...x) + thickness;\n const yMin = Math.min(...y) - thickness;\n const yMax = Math.max(...y) + thickness;\n const {\n ctx\n } = this;\n ctx.save();\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n ctx.stroke(this.#currentPath2D);\n ctx.restore();\n }\n #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) {\n const prevX = (x0 + x1) / 2;\n const prevY = (y0 + y1) / 2;\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3);\n }\n #generateBezierPoints() {\n const path = this.currentPath;\n if (path.length <= 2) {\n return [[path[0], path[0], path.at(-1), path.at(-1)]];\n }\n const bezierPoints = [];\n let i;\n let [x0, y0] = path[0];\n for (i = 1; i < path.length - 2; i++) {\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]);\n [x0, y0] = [x3, y3];\n }\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]);\n return bezierPoints;\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.select();\n this.parent.addInkEditorIfNeeded(true);\n this.moveInDOM();\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n this.enableEditMode();\n }\n #addPointerdownListener() {\n if (this.#pointerdownAC) {\n return;\n }\n this.#pointerdownAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#pointerdownAC);\n this.canvas.addEventListener(\"pointerdown\", this.canvasPointerdown.bind(this), {\n signal\n });\n }\n #removePointerdownListener() {\n this.pointerdownAC?.abort();\n this.pointerdownAC = null;\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n event.preventDefault();\n if (!this.div.contains(document.activeElement)) {\n this.div.focus({\n preventScroll: true\n });\n }\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.preventDefault();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n event.preventDefault();\n this.#endDrawing(event);\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n }\n #endDrawing(event) {\n this.#drawingAC?.abort();\n this.#drawingAC = null;\n this.#addPointerdownListener();\n if (this.#canvasContextMenuTimeoutId) {\n clearTimeout(this.#canvasContextMenuTimeoutId);\n }\n this.#canvasContextMenuTimeoutId = setTimeout(() => {\n this.#canvasContextMenuTimeoutId = null;\n this.canvas.removeEventListener(\"contextmenu\", noContextMenu);\n }, 10);\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.addToAnnotationStorage();\n this.setInBackground();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n this.canvas.setAttribute(\"data-l10n-id\", \"pdfjs-ink-canvas\");\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n this._uiManager._signal.addEventListener(\"abort\", () => {\n this.#observer?.disconnect();\n this.#observer = null;\n }, {\n once: true\n });\n }\n get isResizable() {\n return !this.isEmpty() && this.#disableEditing;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.setAttribute(\"data-l10n-id\", \"pdfjs-ink\");\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAspectRatio(this.width * parentWidth, this.height * parentHeight);\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.fixAndSetPosition();\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n static #toPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] += blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] + blX;\n points[i + 1] = x + blY;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] += blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trX - points[i + 1];\n points[i + 1] = trY - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n static #fromPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] -= blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] - blY;\n points[i + 1] = x - blX;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] -= blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trY - points[i + 1];\n points[i + 1] = trX - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n #serializePaths(s, tx, ty, rect) {\n const paths = [];\n const padding = this.thickness / 2;\n const shiftX = s * tx + padding;\n const shiftY = s * ty + padding;\n for (const bezier of this.paths) {\n const buffer = [];\n const points = [];\n for (let j = 0, jj = bezier.length; j < jj; j++) {\n const [first, control1, control2, second] = bezier[j];\n if (first[0] === second[0] && first[1] === second[1] && jj === 1) {\n const p0 = s * first[0] + shiftX;\n const p1 = s * first[1] + shiftY;\n buffer.push(p0, p1);\n points.push(p0, p1);\n break;\n }\n const p10 = s * first[0] + shiftX;\n const p11 = s * first[1] + shiftY;\n const p20 = s * control1[0] + shiftX;\n const p21 = s * control1[1] + shiftY;\n const p30 = s * control2[0] + shiftX;\n const p31 = s * control2[1] + shiftY;\n const p40 = s * second[0] + shiftX;\n const p41 = s * second[1] + shiftY;\n if (j === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n points.push(p20, p21);\n if (j === jj - 1) {\n points.push(p40, p41);\n }\n }\n paths.push({\n bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation),\n points: InkEditor.#toPDFCoordinates(points, rect, this.rotation)\n });\n }\n return paths;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setAspectRatio(width, height);\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n static async deserialize(data, parent, uiManager) {\n if (data instanceof InkAnnotationElement) {\n return null;\n }\n const editor = await super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n const {\n paths,\n rect,\n rotation\n } = data;\n for (let {\n bezier\n } of paths) {\n bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation);\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const color = AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n }\n}\n\n;// ./src/display/editor/stamp.js\n\n\n\n\nclass StampEditor extends AnnotationEditor {\n #bitmap = null;\n #bitmapId = null;\n #bitmapPromise = null;\n #bitmapUrl = null;\n #bitmapFile = null;\n #bitmapFileName = \"\";\n #canvas = null;\n #observer = null;\n #resizeTimeoutId = null;\n #isSvg = false;\n #hasBeenAddedInUndoStack = false;\n static _type = \"stamp\";\n static _editorType = AnnotationEditorType.STAMP;\n constructor(params) {\n super({\n ...params,\n name: \"stampEditor\"\n });\n this.#bitmapUrl = params.bitmapUrl;\n this.#bitmapFile = params.bitmapFile;\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n }\n static get supportedTypes() {\n const types = [\"apng\", \"avif\", \"bmp\", \"gif\", \"jpeg\", \"png\", \"svg+xml\", \"webp\", \"x-icon\"];\n return shadow(this, \"supportedTypes\", types.map(type => `image/${type}`));\n }\n static get supportedTypesStr() {\n return shadow(this, \"supportedTypesStr\", this.supportedTypes.join(\",\"));\n }\n static isHandlingMimeForPasting(mime) {\n return this.supportedTypes.includes(mime);\n }\n static paste(item, parent) {\n parent.pasteEditor(AnnotationEditorType.STAMP, {\n bitmapFile: item.getAsFile()\n });\n }\n altTextFinish() {\n if (this._uiManager.useNewAltTextFlow) {\n this.div.hidden = false;\n }\n super.altTextFinish();\n }\n get telemetryFinalData() {\n return {\n type: \"stamp\",\n hasAltText: !!this.altTextData?.altText\n };\n }\n static computeTelemetryFinalData(data) {\n const hasAltTextStats = data.get(\"hasAltText\");\n return {\n hasAltText: hasAltTextStats.get(true) ?? 0,\n hasNoAltText: hasAltTextStats.get(false) ?? 0\n };\n }\n #getBitmapFetched(data, fromId = false) {\n if (!data) {\n this.remove();\n return;\n }\n this.#bitmap = data.bitmap;\n if (!fromId) {\n this.#bitmapId = data.id;\n this.#isSvg = data.isSvg;\n }\n if (data.file) {\n this.#bitmapFileName = data.file.name;\n }\n this.#createCanvas();\n }\n #getBitmapDone() {\n this.#bitmapPromise = null;\n this._uiManager.enableWaiting(false);\n if (!this.#canvas) {\n return;\n }\n if (this._uiManager.useNewAltTextWhenAddingImage && this._uiManager.useNewAltTextFlow && this.#bitmap) {\n this._editToolbar.hide();\n this._uiManager.editAltText(this, true);\n return;\n }\n if (!this._uiManager.useNewAltTextWhenAddingImage && this._uiManager.useNewAltTextFlow && this.#bitmap) {\n this._reportTelemetry({\n action: \"pdfjs.image.image_added\",\n data: {\n alt_text_modal: false,\n alt_text_type: \"empty\"\n }\n });\n try {\n this.mlGuessAltText();\n } catch {}\n }\n this.div.focus();\n }\n async mlGuessAltText(imageData = null, updateAltTextData = true) {\n if (this.hasAltTextData()) {\n return null;\n }\n const {\n mlManager\n } = this._uiManager;\n if (!mlManager) {\n throw new Error(\"No ML.\");\n }\n if (!(await mlManager.isEnabledFor(\"altText\"))) {\n throw new Error(\"ML isn't enabled for alt text.\");\n }\n const {\n data,\n width,\n height\n } = imageData || this.copyCanvas(null, null, true).imageData;\n const response = await mlManager.guess({\n name: \"altText\",\n request: {\n data,\n width,\n height,\n channels: data.length / (width * height)\n }\n });\n if (!response) {\n throw new Error(\"No response from the AI service.\");\n }\n if (response.error) {\n throw new Error(\"Error from the AI service.\");\n }\n if (response.cancel) {\n return null;\n }\n if (!response.output) {\n throw new Error(\"No valid response from the AI service.\");\n }\n const altText = response.output;\n await this.setGuessedAltText(altText);\n if (updateAltTextData && !this.hasAltTextData()) {\n this.altTextData = {\n alt: altText,\n decorative: false\n };\n }\n return altText;\n }\n #getBitmap() {\n if (this.#bitmapId) {\n this._uiManager.enableWaiting(true);\n this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapUrl) {\n const url = this.#bitmapUrl;\n this.#bitmapUrl = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapFile) {\n const file = this.#bitmapFile;\n this.#bitmapFile = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = StampEditor.supportedTypesStr;\n const signal = this._uiManager._signal;\n this.#bitmapPromise = new Promise(resolve => {\n input.addEventListener(\"change\", async () => {\n if (!input.files || input.files.length === 0) {\n this.remove();\n } else {\n this._uiManager.enableWaiting(true);\n const data = await this._uiManager.imageManager.getFromFile(input.files[0]);\n this._reportTelemetry({\n action: \"pdfjs.image.image_selected\",\n data: {\n alt_text_modal: this._uiManager.useNewAltTextFlow\n }\n });\n this.#getBitmapFetched(data);\n }\n resolve();\n }, {\n signal\n });\n input.addEventListener(\"cancel\", () => {\n this.remove();\n resolve();\n }, {\n signal\n });\n }).finally(() => this.#getBitmapDone());\n input.click();\n }\n remove() {\n if (this.#bitmapId) {\n this.#bitmap = null;\n this._uiManager.imageManager.deleteId(this.#bitmapId);\n this.#canvas?.remove();\n this.#canvas = null;\n this.#observer?.disconnect();\n this.#observer = null;\n if (this.#resizeTimeoutId) {\n clearTimeout(this.#resizeTimeoutId);\n this.#resizeTimeoutId = null;\n }\n }\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (this.#bitmapId && this.#canvas === null) {\n this.#getBitmap();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n onceAdded() {\n this._isDraggable = true;\n this.div.focus();\n }\n isEmpty() {\n return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile || this.#bitmapId);\n }\n get isResizable() {\n return true;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.hidden = true;\n this.div.setAttribute(\"role\", \"figure\");\n this.addAltTextButton();\n if (this.#bitmap) {\n this.#createCanvas();\n } else {\n this.#getBitmap();\n }\n if (this.width && !this.annotationElementId) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n return this.div;\n }\n #createCanvas() {\n const {\n div\n } = this;\n let {\n width,\n height\n } = this.#bitmap;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const MAX_RATIO = 0.75;\n if (this.width) {\n width = this.width * pageWidth;\n height = this.height * pageHeight;\n } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) {\n const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height);\n width *= factor;\n height *= factor;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight);\n this._uiManager.enableWaiting(false);\n const canvas = this.#canvas = document.createElement(\"canvas\");\n canvas.setAttribute(\"role\", \"img\");\n this.addContainer(canvas);\n if (!this._uiManager.useNewAltTextWhenAddingImage || !this._uiManager.useNewAltTextFlow || this.annotationElementId) {\n div.hidden = false;\n }\n this.#drawBitmap(width, height);\n this.#createObserver();\n if (!this.#hasBeenAddedInUndoStack) {\n this.parent.addUndoableEditor(this);\n this.#hasBeenAddedInUndoStack = true;\n }\n this._reportTelemetry({\n action: \"inserted_image\"\n });\n if (this.#bitmapFileName) {\n canvas.setAttribute(\"aria-label\", this.#bitmapFileName);\n }\n }\n copyCanvas(maxDataDimension, maxPreviewDimension, createImageData = false) {\n if (!maxDataDimension) {\n maxDataDimension = 224;\n }\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n const outputScale = new OutputScale();\n let bitmap = this.#bitmap;\n let width = bitmapWidth,\n height = bitmapHeight;\n let canvas = null;\n if (maxPreviewDimension) {\n if (bitmapWidth > maxPreviewDimension || bitmapHeight > maxPreviewDimension) {\n const ratio = Math.min(maxPreviewDimension / bitmapWidth, maxPreviewDimension / bitmapHeight);\n width = Math.floor(bitmapWidth * ratio);\n height = Math.floor(bitmapHeight * ratio);\n }\n canvas = document.createElement(\"canvas\");\n const scaledWidth = canvas.width = Math.ceil(width * outputScale.sx);\n const scaledHeight = canvas.height = Math.ceil(height * outputScale.sy);\n if (!this.#isSvg) {\n bitmap = this.#scaleBitmap(scaledWidth, scaledHeight);\n }\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n let white = \"white\",\n black = \"#cfcfd8\";\n if (this._uiManager.hcmFilter !== \"none\") {\n black = \"black\";\n } else if (window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches) {\n white = \"#8f8f9d\";\n black = \"#42414d\";\n }\n const boxDim = 15;\n const boxDimWidth = boxDim * outputScale.sx;\n const boxDimHeight = boxDim * outputScale.sy;\n const pattern = new OffscreenCanvas(boxDimWidth * 2, boxDimHeight * 2);\n const patternCtx = pattern.getContext(\"2d\");\n patternCtx.fillStyle = white;\n patternCtx.fillRect(0, 0, boxDimWidth * 2, boxDimHeight * 2);\n patternCtx.fillStyle = black;\n patternCtx.fillRect(0, 0, boxDimWidth, boxDimHeight);\n patternCtx.fillRect(boxDimWidth, boxDimHeight, boxDimWidth, boxDimHeight);\n ctx.fillStyle = ctx.createPattern(pattern, \"repeat\");\n ctx.fillRect(0, 0, scaledWidth, scaledHeight);\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, scaledWidth, scaledHeight);\n }\n let imageData = null;\n if (createImageData) {\n let dataWidth, dataHeight;\n if (outputScale.symmetric && bitmap.width < maxDataDimension && bitmap.height < maxDataDimension) {\n dataWidth = bitmap.width;\n dataHeight = bitmap.height;\n } else {\n bitmap = this.#bitmap;\n if (bitmapWidth > maxDataDimension || bitmapHeight > maxDataDimension) {\n const ratio = Math.min(maxDataDimension / bitmapWidth, maxDataDimension / bitmapHeight);\n dataWidth = Math.floor(bitmapWidth * ratio);\n dataHeight = Math.floor(bitmapHeight * ratio);\n if (!this.#isSvg) {\n bitmap = this.#scaleBitmap(dataWidth, dataHeight);\n }\n }\n }\n const offscreen = new OffscreenCanvas(dataWidth, dataHeight);\n const offscreenCtx = offscreen.getContext(\"2d\", {\n willReadFrequently: true\n });\n offscreenCtx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, dataWidth, dataHeight);\n imageData = {\n width: dataWidth,\n height: dataHeight,\n data: offscreenCtx.getImageData(0, 0, dataWidth, dataHeight).data\n };\n }\n return {\n canvas,\n width,\n height,\n imageData\n };\n }\n #setDimensions(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n if (this._initialOptions?.isCentered) {\n this.center();\n } else {\n this.fixAndSetPosition();\n }\n this._initialOptions = null;\n if (this.#resizeTimeoutId !== null) {\n clearTimeout(this.#resizeTimeoutId);\n }\n const TIME_TO_WAIT = 200;\n this.#resizeTimeoutId = setTimeout(() => {\n this.#resizeTimeoutId = null;\n this.#drawBitmap(width, height);\n }, TIME_TO_WAIT);\n }\n #scaleBitmap(width, height) {\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n let newWidth = bitmapWidth;\n let newHeight = bitmapHeight;\n let bitmap = this.#bitmap;\n while (newWidth > 2 * width || newHeight > 2 * height) {\n const prevWidth = newWidth;\n const prevHeight = newHeight;\n if (newWidth > 2 * width) {\n newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2);\n }\n if (newHeight > 2 * height) {\n newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2);\n }\n const offscreen = new OffscreenCanvas(newWidth, newHeight);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);\n bitmap = offscreen.transferToImageBitmap();\n }\n return bitmap;\n }\n #drawBitmap(width, height) {\n const outputScale = new OutputScale();\n const scaledWidth = Math.ceil(width * outputScale.sx);\n const scaledHeight = Math.ceil(height * outputScale.sy);\n const canvas = this.#canvas;\n if (!canvas || canvas.width === scaledWidth && canvas.height === scaledHeight) {\n return;\n }\n canvas.width = scaledWidth;\n canvas.height = scaledHeight;\n const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(scaledWidth, scaledHeight);\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, scaledWidth, scaledHeight);\n }\n getImageForAltText() {\n return this.#canvas;\n }\n #serializeBitmap(toUrl) {\n if (toUrl) {\n if (this.#isSvg) {\n const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId);\n if (url) {\n return url;\n }\n }\n const canvas = document.createElement(\"canvas\");\n ({\n width: canvas.width,\n height: canvas.height\n } = this.#bitmap);\n const ctx = canvas.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0);\n return canvas.toDataURL();\n }\n if (this.#isSvg) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n const width = Math.round(this.width * pageWidth * PixelsPerInch.PDF_TO_CSS_UNITS);\n const height = Math.round(this.height * pageHeight * PixelsPerInch.PDF_TO_CSS_UNITS);\n const offscreen = new OffscreenCanvas(width, height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height);\n return offscreen.transferToImageBitmap();\n }\n return structuredClone(this.#bitmap);\n }\n #createObserver() {\n if (!this._uiManager._signal) {\n return;\n }\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.#setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n this._uiManager._signal.addEventListener(\"abort\", () => {\n this.#observer?.disconnect();\n this.#observer = null;\n }, {\n once: true\n });\n }\n static async deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof StampAnnotationElement) {\n const {\n data: {\n rect,\n rotation,\n id,\n structParent,\n popupRef\n },\n container,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n const canvas = container.querySelector(\"canvas\");\n const imageData = uiManager.imageManager.getFromCanvas(container.id, canvas);\n canvas.remove();\n const altText = (await parent._structTree.getAriaAttributes(`${AnnotationPrefix}${id}`))?.get(\"aria-label\") || \"\";\n initialData = data = {\n annotationType: AnnotationEditorType.STAMP,\n bitmapId: imageData.id,\n bitmap: imageData.bitmap,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n accessibilityData: {\n decorative: false,\n altText\n },\n isSvg: false,\n structParent,\n popupRef\n };\n }\n const editor = await super.deserialize(data, parent, uiManager);\n const {\n rect,\n bitmap,\n bitmapUrl,\n bitmapId,\n isSvg,\n accessibilityData\n } = data;\n if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) {\n editor.#bitmapId = bitmapId;\n if (bitmap) {\n editor.#bitmap = bitmap;\n }\n } else {\n editor.#bitmapUrl = bitmapUrl;\n }\n editor.#isSvg = isSvg;\n const [parentWidth, parentHeight] = editor.pageDimensions;\n editor.width = (rect[2] - rect[0]) / parentWidth;\n editor.height = (rect[3] - rect[1]) / parentHeight;\n editor.annotationElementId = data.id || null;\n if (accessibilityData) {\n editor.altTextData = accessibilityData;\n }\n editor._initialData = initialData;\n editor.#hasBeenAddedInUndoStack = !!initialData;\n return editor;\n }\n serialize(isForCopying = false, context = null) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return this.serializeDeleted();\n }\n const serialized = {\n annotationType: AnnotationEditorType.STAMP,\n bitmapId: this.#bitmapId,\n pageIndex: this.pageIndex,\n rect: this.getRect(0, 0),\n rotation: this.rotation,\n isSvg: this.#isSvg,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n serialized.bitmapUrl = this.#serializeBitmap(true);\n serialized.accessibilityData = this.serializeAltText(true);\n return serialized;\n }\n const {\n decorative,\n altText\n } = this.serializeAltText(false);\n if (!decorative && altText) {\n serialized.accessibilityData = {\n type: \"Figure\",\n alt: altText\n };\n }\n if (this.annotationElementId) {\n const changes = this.#hasElementChanged(serialized);\n if (changes.isSame) {\n return null;\n }\n if (changes.isSameAltText) {\n delete serialized.accessibilityData;\n } else {\n serialized.accessibilityData.structParent = this._initialData.structParent ?? -1;\n }\n }\n serialized.id = this.annotationElementId;\n if (context === null) {\n return serialized;\n }\n context.stamps ||= new Map();\n const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null;\n if (!context.stamps.has(this.#bitmapId)) {\n context.stamps.set(this.#bitmapId, {\n area,\n serialized\n });\n serialized.bitmap = this.#serializeBitmap(false);\n } else if (this.#isSvg) {\n const prevData = context.stamps.get(this.#bitmapId);\n if (area > prevData.area) {\n prevData.area = area;\n prevData.serialized.bitmap.close();\n prevData.serialized.bitmap = this.#serializeBitmap(false);\n }\n }\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n rect,\n pageIndex,\n accessibilityData: {\n altText\n }\n } = this._initialData;\n const isSameRect = serialized.rect.every((x, i) => Math.abs(x - rect[i]) < 1);\n const isSamePageIndex = serialized.pageIndex === pageIndex;\n const isSameAltText = (serialized.accessibilityData?.alt || \"\") === altText;\n return {\n isSame: isSameRect && isSamePageIndex && isSameAltText,\n isSameAltText\n };\n }\n renderAnnotationElement(annotation) {\n annotation.updateEdited({\n rect: this.getRect(0, 0)\n });\n return null;\n }\n}\n\n;// ./src/display/editor/annotation_editor_layer.js\n\n\n\n\n\n\n\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #annotationLayer = null;\n #clickAC = null;\n #editorFocusTimeoutId = null;\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #isDisabling = false;\n #textLayer = null;\n #textSelectionAC = null;\n #uiManager;\n static _initialized = false;\n static #editorTypes = new Map([FreeTextEditor, InkEditor, StampEditor, HighlightEditor].map(type => [type._editorType, type]));\n constructor({\n uiManager,\n pageIndex,\n div,\n structTreeLayer,\n accessibilityManager,\n annotationLayer,\n drawLayer,\n textLayer,\n viewport,\n l10n\n }) {\n const editorTypes = [...AnnotationEditorLayer.#editorTypes.values()];\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n for (const editorType of editorTypes) {\n editorType.initialize(l10n, uiManager);\n }\n }\n uiManager.registerEditorTypes(editorTypes);\n this.#uiManager = uiManager;\n this.pageIndex = pageIndex;\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationLayer = annotationLayer;\n this.viewport = viewport;\n this.#textLayer = textLayer;\n this.drawLayer = drawLayer;\n this._structTree = structTreeLayer;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n get isInvisible() {\n return this.isEmpty && this.#uiManager.getMode() === AnnotationEditorType.NONE;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n switch (mode) {\n case AnnotationEditorType.NONE:\n this.disableTextSelection();\n this.togglePointerEvents(false);\n this.toggleAnnotationLayerPointerEvents(true);\n this.disableClick();\n return;\n case AnnotationEditorType.INK:\n this.addInkEditorIfNeeded(false);\n this.disableTextSelection();\n this.togglePointerEvents(true);\n this.disableClick();\n break;\n case AnnotationEditorType.HIGHLIGHT:\n this.enableTextSelection();\n this.togglePointerEvents(false);\n this.disableClick();\n break;\n default:\n this.disableTextSelection();\n this.togglePointerEvents(true);\n this.enableClick();\n }\n this.toggleAnnotationLayerPointerEvents(false);\n const {\n classList\n } = this.div;\n for (const editorType of AnnotationEditorLayer.#editorTypes.values()) {\n classList.toggle(`${editorType._type}Editing`, mode === editorType._editorType);\n }\n this.div.hidden = false;\n }\n hasTextLayer(textLayer) {\n return textLayer === this.#textLayer?.div;\n }\n addInkEditorIfNeeded(isCommitting) {\n if (this.#uiManager.getMode() !== AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n }, false);\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n toggleDrawing(enabled = false) {\n this.div.classList.toggle(\"drawing\", !enabled);\n }\n togglePointerEvents(enabled = false) {\n this.div.classList.toggle(\"disabled\", !enabled);\n }\n toggleAnnotationLayerPointerEvents(enabled = false) {\n this.#annotationLayer?.div.classList.toggle(\"disabled\", !enabled);\n }\n async enable() {\n this.div.tabIndex = 0;\n this.togglePointerEvents(true);\n const annotationElementIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n editor.show(true);\n if (editor.annotationElementId) {\n this.#uiManager.removeChangedExistingAnnotation(editor);\n annotationElementIds.add(editor.annotationElementId);\n }\n }\n if (!this.#annotationLayer) {\n return;\n }\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n editable.hide();\n if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) {\n continue;\n }\n if (annotationElementIds.has(editable.data.id)) {\n continue;\n }\n const editor = await this.deserialize(editable);\n if (!editor) {\n continue;\n }\n this.addOrRebuild(editor);\n editor.enableEditing();\n }\n }\n disable() {\n this.#isDisabling = true;\n this.div.tabIndex = -1;\n this.togglePointerEvents(false);\n const changedAnnotations = new Map();\n const resetAnnotations = new Map();\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n if (!editor.annotationElementId) {\n continue;\n }\n if (editor.serialize() !== null) {\n changedAnnotations.set(editor.annotationElementId, editor);\n continue;\n } else {\n resetAnnotations.set(editor.annotationElementId, editor);\n }\n this.getEditableAnnotation(editor.annotationElementId)?.show();\n editor.remove();\n }\n if (this.#annotationLayer) {\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n const {\n id\n } = editable.data;\n if (this.#uiManager.isDeletedAnnotationElement(id)) {\n continue;\n }\n let editor = resetAnnotations.get(id);\n if (editor) {\n editor.resetAnnotationElement(editable);\n editor.show(false);\n editable.show();\n continue;\n }\n editor = changedAnnotations.get(id);\n if (editor) {\n this.#uiManager.addChangedExistingAnnotation(editor);\n if (editor.renderAnnotationElement(editable)) {\n editor.show(false);\n }\n }\n editable.show();\n }\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n const {\n classList\n } = this.div;\n for (const editorType of AnnotationEditorLayer.#editorTypes.values()) {\n classList.remove(`${editorType._type}Editing`);\n }\n this.disableTextSelection();\n this.toggleAnnotationLayerPointerEvents(true);\n this.#isDisabling = false;\n }\n getEditableAnnotation(id) {\n return this.#annotationLayer?.getEditableAnnotation(id) || null;\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableTextSelection() {\n this.div.tabIndex = -1;\n if (this.#textLayer?.div && !this.#textSelectionAC) {\n this.#textSelectionAC = new AbortController();\n const signal = this.#uiManager.combinedSignal(this.#textSelectionAC);\n this.#textLayer.div.addEventListener(\"pointerdown\", this.#textLayerPointerDown.bind(this), {\n signal\n });\n this.#textLayer.div.classList.add(\"highlighting\");\n }\n }\n disableTextSelection() {\n this.div.tabIndex = 0;\n if (this.#textLayer?.div && this.#textSelectionAC) {\n this.#textSelectionAC.abort();\n this.#textSelectionAC = null;\n this.#textLayer.div.classList.remove(\"highlighting\");\n }\n }\n #textLayerPointerDown(event) {\n this.#uiManager.unselectAll();\n const {\n target\n } = event;\n if (target === this.#textLayer.div || (target.getAttribute(\"role\") === \"img\" || target.classList.contains(\"endOfContent\")) && this.#textLayer.div.contains(target)) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n this.#uiManager.showAllEditors(\"highlight\", true, true);\n this.#textLayer.div.classList.add(\"free\");\n this.toggleDrawing();\n HighlightEditor.startHighlighting(this, this.#uiManager.direction === \"ltr\", {\n target: this.#textLayer.div,\n x: event.x,\n y: event.y\n });\n this.#textLayer.div.addEventListener(\"pointerup\", () => {\n this.#textLayer.div.classList.remove(\"free\");\n this.toggleDrawing(true);\n }, {\n once: true,\n signal: this.#uiManager._signal\n });\n event.preventDefault();\n }\n }\n enableClick() {\n if (this.#clickAC) {\n return;\n }\n this.#clickAC = new AbortController();\n const signal = this.#uiManager.combinedSignal(this.#clickAC);\n this.div.addEventListener(\"pointerdown\", this.pointerdown.bind(this), {\n signal\n });\n this.div.addEventListener(\"pointerup\", this.pointerup.bind(this), {\n signal\n });\n }\n disableClick() {\n this.#clickAC?.abort();\n this.#clickAC = null;\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n const {\n annotationElementId\n } = editor;\n if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) {\n this.#uiManager.removeDeletedAnnotationElement(editor);\n }\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n if (!this.#isDisabling && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor);\n }\n }\n remove(editor) {\n this.detach(editor);\n this.#uiManager.removeEditor(editor);\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n if (editor.parent && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId);\n AnnotationEditor.deleteAnnotationElement(editor);\n editor.annotationElementId = null;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n if (editor.parent === this && editor.isAttachedToDOM) {\n return;\n }\n this.changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n editor.fixAndSetPosition();\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n editor._reportTelemetry(editor.telemetryInitialData);\n }\n moveEditorInDOM(editor) {\n if (!editor.isAttachedToDOM) {\n return;\n }\n const {\n activeElement\n } = document;\n if (editor.div.contains(activeElement) && !this.#editorFocusTimeoutId) {\n editor._focusEventsAllowed = false;\n this.#editorFocusTimeoutId = setTimeout(() => {\n this.#editorFocusTimeoutId = null;\n if (!editor.div.contains(document.activeElement)) {\n editor.div.addEventListener(\"focusin\", () => {\n editor._focusEventsAllowed = true;\n }, {\n once: true,\n signal: this.#uiManager._signal\n });\n activeElement.focus();\n } else {\n editor._focusEventsAllowed = true;\n }\n }, 0);\n }\n editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.parent ||= this;\n editor.rebuild();\n editor.show();\n } else {\n this.add(editor);\n }\n }\n addUndoableEditor(editor) {\n const cmd = () => editor._uiManager.rebuild(editor);\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n get #currentEditorType() {\n return AnnotationEditorLayer.#editorTypes.get(this.#uiManager.getMode());\n }\n combinedSignal(ac) {\n return this.#uiManager.combinedSignal(ac);\n }\n #createNewEditor(params) {\n const editorType = this.#currentEditorType;\n return editorType ? new editorType.prototype.constructor(params) : null;\n }\n canCreateNewEmptyEditor() {\n return this.#currentEditorType?.canCreateNewEmptyEditor();\n }\n pasteEditor(mode, params) {\n this.#uiManager.updateToolbar(mode);\n this.#uiManager.updateMode(mode);\n const {\n offsetX,\n offsetY\n } = this.#getCenterPoint();\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: offsetX,\n y: offsetY,\n uiManager: this.#uiManager,\n isCentered: true,\n ...params\n });\n if (editor) {\n this.add(editor);\n }\n }\n async deserialize(data) {\n return (await AnnotationEditorLayer.#editorTypes.get(data.annotationType ?? data.annotationEditorType)?.deserialize(data, this, this.#uiManager)) || null;\n }\n createAndAddNewEditor(event, isCentered, data = {}) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager,\n isCentered,\n ...data\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n #getCenterPoint() {\n const {\n x,\n y,\n width,\n height\n } = this.div.getBoundingClientRect();\n const tlX = Math.max(0, x);\n const tlY = Math.max(0, y);\n const brX = Math.min(window.innerWidth, x + width);\n const brY = Math.min(window.innerHeight, y + height);\n const centerX = (tlX + brX) / 2 - x;\n const centerY = (tlY + brY) / 2 - y;\n const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX];\n return {\n offsetX,\n offsetY\n };\n }\n addNewEditor() {\n this.createAndAddNewEditor(this.#getCenterPoint(), true);\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n if (this.#uiManager.getMode() === AnnotationEditorType.STAMP) {\n this.#uiManager.unselectAll();\n return;\n }\n this.createAndAddNewEditor(event, false);\n }\n pointerdown(event) {\n if (this.#uiManager.getMode() === AnnotationEditorType.HIGHLIGHT) {\n this.enableTextSelection();\n }\n if (this.#hadPointerDown) {\n this.#hadPointerDown = false;\n return;\n }\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n findNewParent(editor, x, y) {\n const layer = this.#uiManager.findParent(x, y);\n if (layer === null || layer === this) {\n return false;\n }\n layer.changeParent(editor);\n return true;\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.commitOrRemove();\n this.#uiManager.setActiveEditor(null);\n }\n if (this.#editorFocusTimeoutId) {\n clearTimeout(this.#editorFocusTimeoutId);\n this.#editorFocusTimeoutId = null;\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n setLayerDimensions(this.div, viewport);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n editor.rebuild();\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.#cleanup();\n const oldRotation = this.viewport.rotation;\n const rotation = viewport.rotation;\n this.viewport = viewport;\n setLayerDimensions(this.div, {\n rotation\n });\n if (oldRotation !== rotation) {\n for (const editor of this.#editors.values()) {\n editor.rotate(rotation);\n }\n }\n this.addInkEditorIfNeeded(false);\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n get scale() {\n return this.#uiManager.viewParameters.realScale;\n }\n}\n\n;// ./src/display/draw_layer.js\n\n\nclass DrawLayer {\n #parent = null;\n #id = 0;\n #mapping = new Map();\n #toUpdate = new Map();\n constructor({\n pageIndex\n }) {\n this.pageIndex = pageIndex;\n }\n setParent(parent) {\n if (!this.#parent) {\n this.#parent = parent;\n return;\n }\n if (this.#parent !== parent) {\n if (this.#mapping.size > 0) {\n for (const root of this.#mapping.values()) {\n root.remove();\n parent.append(root);\n }\n }\n this.#parent = parent;\n }\n }\n static get _svgFactory() {\n return shadow(this, \"_svgFactory\", new DOMSVGFactory());\n }\n static #setBox(element, {\n x = 0,\n y = 0,\n width = 1,\n height = 1\n } = {}) {\n const {\n style\n } = element;\n style.top = `${100 * y}%`;\n style.left = `${100 * x}%`;\n style.width = `${100 * width}%`;\n style.height = `${100 * height}%`;\n }\n #createSVG(box) {\n const svg = DrawLayer._svgFactory.create(1, 1, true);\n this.#parent.append(svg);\n svg.setAttribute(\"aria-hidden\", true);\n DrawLayer.#setBox(svg, box);\n return svg;\n }\n #createClipPath(defs, pathId) {\n const clipPath = DrawLayer._svgFactory.createElement(\"clipPath\");\n defs.append(clipPath);\n const clipPathId = `clip_${pathId}`;\n clipPath.setAttribute(\"id\", clipPathId);\n clipPath.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n const clipPathUse = DrawLayer._svgFactory.createElement(\"use\");\n clipPath.append(clipPathUse);\n clipPathUse.setAttribute(\"href\", `#${pathId}`);\n clipPathUse.classList.add(\"clip\");\n return clipPathId;\n }\n draw(outlines, color, opacity, isPathUpdatable = false) {\n const id = this.#id++;\n const root = this.#createSVG(outlines.box);\n root.classList.add(...outlines.classNamesForDrawing);\n const defs = DrawLayer._svgFactory.createElement(\"defs\");\n root.append(defs);\n const path = DrawLayer._svgFactory.createElement(\"path\");\n defs.append(path);\n const pathId = `path_p${this.pageIndex}_${id}`;\n path.setAttribute(\"id\", pathId);\n path.setAttribute(\"d\", outlines.toSVGPath());\n if (isPathUpdatable) {\n this.#toUpdate.set(id, path);\n }\n const clipPathId = this.#createClipPath(defs, pathId);\n const use = DrawLayer._svgFactory.createElement(\"use\");\n root.append(use);\n root.setAttribute(\"fill\", color);\n root.setAttribute(\"fill-opacity\", opacity);\n use.setAttribute(\"href\", `#${pathId}`);\n this.#mapping.set(id, root);\n return {\n id,\n clipPathId: `url(#${clipPathId})`\n };\n }\n drawOutline(outlines) {\n const id = this.#id++;\n const root = this.#createSVG(outlines.box);\n root.classList.add(...outlines.classNamesForOutlining);\n const defs = DrawLayer._svgFactory.createElement(\"defs\");\n root.append(defs);\n const path = DrawLayer._svgFactory.createElement(\"path\");\n defs.append(path);\n const pathId = `path_p${this.pageIndex}_${id}`;\n path.setAttribute(\"id\", pathId);\n path.setAttribute(\"d\", outlines.toSVGPath());\n path.setAttribute(\"vector-effect\", \"non-scaling-stroke\");\n let maskId;\n if (outlines.mustRemoveSelfIntersections) {\n const mask = DrawLayer._svgFactory.createElement(\"mask\");\n defs.append(mask);\n maskId = `mask_p${this.pageIndex}_${id}`;\n mask.setAttribute(\"id\", maskId);\n mask.setAttribute(\"maskUnits\", \"objectBoundingBox\");\n const rect = DrawLayer._svgFactory.createElement(\"rect\");\n mask.append(rect);\n rect.setAttribute(\"width\", \"1\");\n rect.setAttribute(\"height\", \"1\");\n rect.setAttribute(\"fill\", \"white\");\n const use = DrawLayer._svgFactory.createElement(\"use\");\n mask.append(use);\n use.setAttribute(\"href\", `#${pathId}`);\n use.setAttribute(\"stroke\", \"none\");\n use.setAttribute(\"fill\", \"black\");\n use.setAttribute(\"fill-rule\", \"nonzero\");\n use.classList.add(\"mask\");\n }\n const use1 = DrawLayer._svgFactory.createElement(\"use\");\n root.append(use1);\n use1.setAttribute(\"href\", `#${pathId}`);\n if (maskId) {\n use1.setAttribute(\"mask\", `url(#${maskId})`);\n }\n const use2 = use1.cloneNode();\n root.append(use2);\n use1.classList.add(\"mainOutline\");\n use2.classList.add(\"secondaryOutline\");\n this.#mapping.set(id, root);\n return id;\n }\n finalizeLine(id, line) {\n const path = this.#toUpdate.get(id);\n this.#toUpdate.delete(id);\n this.updateBox(id, line.box);\n path.setAttribute(\"d\", line.toSVGPath());\n }\n updateLine(id, line) {\n const root = this.#mapping.get(id);\n const defs = root.firstChild;\n const path = defs.firstChild;\n path.setAttribute(\"d\", line.toSVGPath());\n }\n updatePath(id, line) {\n this.#toUpdate.get(id).setAttribute(\"d\", line.toSVGPath());\n }\n updateBox(id, box) {\n DrawLayer.#setBox(this.#mapping.get(id), box);\n }\n show(id, visible) {\n this.#mapping.get(id).classList.toggle(\"hidden\", !visible);\n }\n rotate(id, angle) {\n this.#mapping.get(id).setAttribute(\"data-main-rotation\", angle);\n }\n changeColor(id, color) {\n this.#mapping.get(id).setAttribute(\"fill\", color);\n }\n changeOpacity(id, opacity) {\n this.#mapping.get(id).setAttribute(\"fill-opacity\", opacity);\n }\n addClass(id, className) {\n this.#mapping.get(id).classList.add(className);\n }\n removeClass(id, className) {\n this.#mapping.get(id).classList.remove(className);\n }\n getSVGRoot(id) {\n return this.#mapping.get(id);\n }\n remove(id) {\n this.#toUpdate.delete(id);\n if (this.#parent === null) {\n return;\n }\n this.#mapping.get(id).remove();\n this.#mapping.delete(id);\n }\n destroy() {\n this.#parent = null;\n for (const root of this.#mapping.values()) {\n root.remove();\n }\n this.#mapping.clear();\n this.#toUpdate.clear();\n }\n}\n\n;// ./src/pdf.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst pdfjsVersion = \"4.8.69\";\nconst pdfjsBuild = \"3634dab10\";\n\nvar __webpack_exports__AbortException = __webpack_exports__.AbortException;\nvar __webpack_exports__AnnotationEditorLayer = __webpack_exports__.AnnotationEditorLayer;\nvar __webpack_exports__AnnotationEditorParamsType = __webpack_exports__.AnnotationEditorParamsType;\nvar __webpack_exports__AnnotationEditorType = __webpack_exports__.AnnotationEditorType;\nvar __webpack_exports__AnnotationEditorUIManager = __webpack_exports__.AnnotationEditorUIManager;\nvar __webpack_exports__AnnotationLayer = __webpack_exports__.AnnotationLayer;\nvar __webpack_exports__AnnotationMode = __webpack_exports__.AnnotationMode;\nvar __webpack_exports__ColorPicker = __webpack_exports__.ColorPicker;\nvar __webpack_exports__DOMSVGFactory = __webpack_exports__.DOMSVGFactory;\nvar __webpack_exports__DrawLayer = __webpack_exports__.DrawLayer;\nvar __webpack_exports__FeatureTest = __webpack_exports__.FeatureTest;\nvar __webpack_exports__GlobalWorkerOptions = __webpack_exports__.GlobalWorkerOptions;\nvar __webpack_exports__ImageKind = __webpack_exports__.ImageKind;\nvar __webpack_exports__InvalidPDFException = __webpack_exports__.InvalidPDFException;\nvar __webpack_exports__MissingPDFException = __webpack_exports__.MissingPDFException;\nvar __webpack_exports__OPS = __webpack_exports__.OPS;\nvar __webpack_exports__OutputScale = __webpack_exports__.OutputScale;\nvar __webpack_exports__PDFDataRangeTransport = __webpack_exports__.PDFDataRangeTransport;\nvar __webpack_exports__PDFDateString = __webpack_exports__.PDFDateString;\nvar __webpack_exports__PDFWorker = __webpack_exports__.PDFWorker;\nvar __webpack_exports__PasswordResponses = __webpack_exports__.PasswordResponses;\nvar __webpack_exports__PermissionFlag = __webpack_exports__.PermissionFlag;\nvar __webpack_exports__PixelsPerInch = __webpack_exports__.PixelsPerInch;\nvar __webpack_exports__RenderingCancelledException = __webpack_exports__.RenderingCancelledException;\nvar __webpack_exports__TextLayer = __webpack_exports__.TextLayer;\nvar __webpack_exports__UnexpectedResponseException = __webpack_exports__.UnexpectedResponseException;\nvar __webpack_exports__Util = __webpack_exports__.Util;\nvar __webpack_exports__VerbosityLevel = __webpack_exports__.VerbosityLevel;\nvar __webpack_exports__XfaLayer = __webpack_exports__.XfaLayer;\nvar __webpack_exports__build = __webpack_exports__.build;\nvar __webpack_exports__createValidAbsoluteUrl = __webpack_exports__.createValidAbsoluteUrl;\nvar __webpack_exports__fetchData = __webpack_exports__.fetchData;\nvar __webpack_exports__getDocument = __webpack_exports__.getDocument;\nvar __webpack_exports__getFilenameFromUrl = __webpack_exports__.getFilenameFromUrl;\nvar __webpack_exports__getPdfFilenameFromUrl = __webpack_exports__.getPdfFilenameFromUrl;\nvar __webpack_exports__getXfaPageViewport = __webpack_exports__.getXfaPageViewport;\nvar __webpack_exports__isDataScheme = __webpack_exports__.isDataScheme;\nvar __webpack_exports__isPdfFile = __webpack_exports__.isPdfFile;\nvar __webpack_exports__noContextMenu = __webpack_exports__.noContextMenu;\nvar __webpack_exports__normalizeUnicode = __webpack_exports__.normalizeUnicode;\nvar __webpack_exports__setLayerDimensions = __webpack_exports__.setLayerDimensions;\nvar __webpack_exports__shadow = __webpack_exports__.shadow;\nvar __webpack_exports__version = __webpack_exports__.version;\nexport { __webpack_exports__AbortException as AbortException, __webpack_exports__AnnotationEditorLayer as AnnotationEditorLayer, __webpack_exports__AnnotationEditorParamsType as AnnotationEditorParamsType, __webpack_exports__AnnotationEditorType as AnnotationEditorType, __webpack_exports__AnnotationEditorUIManager as AnnotationEditorUIManager, __webpack_exports__AnnotationLayer as AnnotationLayer, __webpack_exports__AnnotationMode as AnnotationMode, __webpack_exports__ColorPicker as ColorPicker, __webpack_exports__DOMSVGFactory as DOMSVGFactory, __webpack_exports__DrawLayer as DrawLayer, __webpack_exports__FeatureTest as FeatureTest, __webpack_exports__GlobalWorkerOptions as GlobalWorkerOptions, __webpack_exports__ImageKind as ImageKind, __webpack_exports__InvalidPDFException as InvalidPDFException, __webpack_exports__MissingPDFException as MissingPDFException, __webpack_exports__OPS as OPS, __webpack_exports__OutputScale as OutputScale, __webpack_exports__PDFDataRangeTransport as PDFDataRangeTransport, __webpack_exports__PDFDateString as PDFDateString, __webpack_exports__PDFWorker as PDFWorker, __webpack_exports__PasswordResponses as PasswordResponses, __webpack_exports__PermissionFlag as PermissionFlag, __webpack_exports__PixelsPerInch as PixelsPerInch, __webpack_exports__RenderingCancelledException as RenderingCancelledException, __webpack_exports__TextLayer as TextLayer, __webpack_exports__UnexpectedResponseException as UnexpectedResponseException, __webpack_exports__Util as Util, __webpack_exports__VerbosityLevel as VerbosityLevel, __webpack_exports__XfaLayer as XfaLayer, __webpack_exports__build as build, __webpack_exports__createValidAbsoluteUrl as createValidAbsoluteUrl, __webpack_exports__fetchData as fetchData, __webpack_exports__getDocument as getDocument, __webpack_exports__getFilenameFromUrl as getFilenameFromUrl, __webpack_exports__getPdfFilenameFromUrl as getPdfFilenameFromUrl, __webpack_exports__getXfaPageViewport as getXfaPageViewport, __webpack_exports__isDataScheme as isDataScheme, __webpack_exports__isPdfFile as isPdfFile, __webpack_exports__noContextMenu as noContextMenu, __webpack_exports__normalizeUnicode as normalizeUnicode, __webpack_exports__setLayerDimensions as setLayerDimensions, __webpack_exports__shadow as shadow, __webpack_exports__version as version };\n\n","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nexport { _OverloadYield as default };","import OverloadYield from \"./OverloadYield.js\";\nfunction _awaitAsyncGenerator(e) {\n return new OverloadYield(e, 0);\n}\nexport { _awaitAsyncGenerator as default };","import OverloadYield from \"./OverloadYield.js\";\nfunction _wrapAsyncGenerator(e) {\n return function () {\n return new AsyncGenerator(e.apply(this, arguments));\n };\n}\nfunction AsyncGenerator(e) {\n var r, t;\n function resume(r, t) {\n try {\n var n = e[r](t),\n o = n.value,\n u = o instanceof OverloadYield;\n Promise.resolve(u ? o.v : o).then(function (t) {\n if (u) {\n var i = \"return\" === r ? \"return\" : \"next\";\n if (!o.k || t.done) return resume(i, t);\n t = e[i](t).value;\n }\n settle(n.done ? \"return\" : \"normal\", t);\n }, function (e) {\n resume(\"throw\", e);\n });\n } catch (e) {\n settle(\"throw\", e);\n }\n }\n function settle(e, n) {\n switch (e) {\n case \"return\":\n r.resolve({\n value: n,\n done: !0\n });\n break;\n case \"throw\":\n r.reject(n);\n break;\n default:\n r.resolve({\n value: n,\n done: !1\n });\n }\n (r = r.next) ? resume(r.key, r.arg) : t = null;\n }\n this._invoke = function (e, n) {\n return new Promise(function (o, u) {\n var i = {\n key: e,\n arg: n,\n resolve: o,\n reject: u,\n next: null\n };\n t ? t = t.next = i : (r = t = i, resume(e, n));\n });\n }, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, AsyncGenerator.prototype.next = function (e) {\n return this._invoke(\"next\", e);\n}, AsyncGenerator.prototype[\"throw\"] = function (e) {\n return this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype[\"return\"] = function (e) {\n return this._invoke(\"return\", e);\n};\nexport { _wrapAsyncGenerator as default };","function _asyncIterator(r) {\n var n,\n t,\n o,\n e = 2;\n for (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n if (t && null != (n = r[t])) return n.call(r);\n if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n t = \"@@asyncIterator\", o = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(r) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var n = r.done;\n return Promise.resolve(r.value).then(function (r) {\n return {\n value: r,\n done: n\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {\n this.s = r, this.n = r.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.resolve({\n value: r,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n },\n \"throw\": function _throw(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(r);\n}\nexport { _asyncIterator as default };","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2024 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n/******/ // The require scope\n/******/ var __webpack_require__ = {};\n/******/ \n/************************************************************************/\n/******/ /* webpack/runtime/define property getters */\n/******/ (() => {\n/******/ \t// define getter functions for harmony exports\n/******/ \t__webpack_require__.d = (exports, definition) => {\n/******/ \t\tfor(var key in definition) {\n/******/ \t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t};\n/******/ })();\n/******/ \n/******/ /* webpack/runtime/hasOwnProperty shorthand */\n/******/ (() => {\n/******/ \t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ })();\n/******/ \n/************************************************************************/\nvar __webpack_exports__ = globalThis.pdfjsViewer = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n AnnotationLayerBuilder: () => (/* reexport */ AnnotationLayerBuilder),\n DownloadManager: () => (/* reexport */ DownloadManager),\n EventBus: () => (/* reexport */ EventBus),\n FindState: () => (/* reexport */ FindState),\n GenericL10n: () => (/* reexport */ genericl10n_GenericL10n),\n LinkTarget: () => (/* reexport */ LinkTarget),\n PDFFindController: () => (/* reexport */ PDFFindController),\n PDFHistory: () => (/* reexport */ PDFHistory),\n PDFLinkService: () => (/* reexport */ PDFLinkService),\n PDFPageView: () => (/* reexport */ PDFPageView),\n PDFScriptingManager: () => (/* reexport */ PDFScriptingManagerComponents),\n PDFSinglePageViewer: () => (/* reexport */ PDFSinglePageViewer),\n PDFViewer: () => (/* reexport */ PDFViewer),\n ProgressBar: () => (/* reexport */ ProgressBar),\n RenderingStates: () => (/* reexport */ RenderingStates),\n ScrollMode: () => (/* reexport */ ScrollMode),\n SimpleLinkService: () => (/* reexport */ SimpleLinkService),\n SpreadMode: () => (/* reexport */ SpreadMode),\n StructTreeLayerBuilder: () => (/* reexport */ StructTreeLayerBuilder),\n TextLayerBuilder: () => (/* reexport */ TextLayerBuilder),\n XfaLayerBuilder: () => (/* reexport */ XfaLayerBuilder),\n parseQueryString: () => (/* reexport */ parseQueryString)\n});\n\n;// ./web/ui_utils.js\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2\n};\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nconst CursorTool = {\n SELECT: 0,\n HAND: 1,\n ZOOM: 2\n};\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback, abortSignal = undefined) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, {\n useCapture: true,\n signal: abortSignal\n });\n abortSignal?.addEventListener(\"abort\", () => window.cancelAnimationFrame(rAF), {\n once: true\n });\n return state;\n}\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\nconst InvisibleCharsRegExp = /[\\x00-\\x1F]/g;\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (!InvisibleCharsRegExp.test(str)) {\n return str;\n }\n if (replaceInvisible) {\n return str.replaceAll(InvisibleCharsRegExp, m => m === \"\\x00\" ? \"\" : \" \");\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction floorToDivide(x, div) {\n return x - x % div;\n}\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n index = i;\n }\n return index;\n}\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n let lastEdge = horizontal ? right : -1;\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n const first = visible[0],\n last = visible.at(-1);\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n return delta;\n}\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode;\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nconst docStyle = document.documentElement.style;\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\nclass ProgressBar {\n #classList = null;\n #disableAutoFetchTimeout = null;\n #percent = 0;\n #style = null;\n #visible = true;\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n get percent() {\n return this.#percent;\n }\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n setDisableAutoFetch(delay = 5000) {\n if (this.#percent === 100 || isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n return curActiveOrFocused;\n}\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return {\n scrollMode,\n spreadMode\n };\n}\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE;\n}\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\nfunction toggleExpandedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-expanded\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\nconst calcRound = function () {\n const e = document.createElement(\"div\");\n e.style.width = \"round(down, calc(1.6666666666666665 * 792px), 1px)\";\n return e.style.width === \"calc(1320px)\" ? Math.fround : x => x;\n}();\n\n;// ./web/pdf_find_utils.js\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n return CharacterType.ALPHA_LETTER;\n }\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n return CharacterType.ALPHA_LETTER;\n}\nlet NormalizeWithNFKC;\nfunction getNormalizeWithNFKC() {\n NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`;\n return NormalizeWithNFKC;\n}\n\n;// ./web/pdf_find_controller.js\n\n\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nlet DIACRITICS_EXCEPTION_STR;\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nconst SYLLABLES_REG_EXP = /[\\uAC00-\\uD7AF\\uFA6C\\uFACF-\\uFAD1\\uFAD5-\\uFAD7]+/g;\nconst SYLLABLES_LENGTHS = new Map();\nconst FIRST_CHAR_SYLLABLES_REG_EXP = \"[\\\\u1100-\\\\u1112\\\\ud7a4-\\\\ud7af\\\\ud84a\\\\ud84c\\\\ud850\\\\ud854\\\\ud857\\\\ud85f]\";\nconst NFKC_CHARS_TO_NORMALIZE = new Map();\nlet noSyllablesRegExp = null;\nlet withSyllablesRegExp = null;\nfunction normalize(text) {\n const syllablePositions = [];\n let m;\n while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {\n let {\n index\n } = m;\n for (const char of m[0]) {\n let len = SYLLABLES_LENGTHS.get(char);\n if (!len) {\n len = char.normalize(\"NFD\").length;\n SYLLABLES_LENGTHS.set(char, len);\n }\n syllablePositions.push([len, index++]);\n }\n }\n let normalizationRegex;\n if (syllablePositions.length === 0 && noSyllablesRegExp) {\n normalizationRegex = noSyllablesRegExp;\n } else if (syllablePositions.length > 0 && withSyllablesRegExp) {\n normalizationRegex = withSyllablesRegExp;\n } else {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n const toNormalizeWithNFKC = getNormalizeWithNFKC();\n const CJK = \"(?:\\\\p{Ideographic}|[\\u3040-\\u30FF])\";\n const HKDiacritics = \"(?:\\u3099|\\u309A)\";\n const CompoundWord = \"\\\\p{Ll}-\\\\n\\\\p{Lu}\";\n const regexp = `([${replace}])|([${toNormalizeWithNFKC}])|(${HKDiacritics}\\\\n)|(\\\\p{M}+(?:-\\\\n)?)|(${CompoundWord})|(\\\\S-\\\\n)|(${CJK}\\\\n)|(\\\\n)`;\n if (syllablePositions.length === 0) {\n normalizationRegex = noSyllablesRegExp = new RegExp(regexp + \"|(\\\\u0000)\", \"gum\");\n } else {\n normalizationRegex = withSyllablesRegExp = new RegExp(regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`, \"gum\");\n }\n }\n const rawDiacriticsPositions = [];\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n let normalized = text.normalize(\"NFD\");\n const positions = [[0, 0]];\n let rawDiacriticsIndex = 0;\n let syllableIndex = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, p6, p7, p8, p9, i) => {\n i -= shiftOrigin;\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[p1];\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p2) {\n let replacement = NFKC_CHARS_TO_NORMALIZE.get(p2);\n if (!replacement) {\n replacement = p2.normalize(\"NFKC\");\n NFKC_CHARS_TO_NORMALIZE.set(p2, replacement);\n }\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p3) {\n hasDiacritics = true;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n ++rawDiacriticsIndex;\n } else {\n positions.push([i - 1 - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n }\n positions.push([i - shift + 1, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n if (p4) {\n const hasTrailingDashEOL = p4.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p4.length - 2 : p4.length;\n hasDiacritics = true;\n let jj = len;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n jj -= rawDiacriticsPositions[rawDiacriticsIndex][0];\n ++rawDiacriticsIndex;\n }\n for (let j = 1; j <= jj; j++) {\n positions.push([i - 1 - shift + j, shift - j]);\n }\n shift -= jj;\n shiftOrigin += jj;\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p4.slice(0, len);\n }\n return p4;\n }\n if (p5) {\n positions.push([i - shift + 3, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p5.replace(\"\\n\", \"\");\n }\n if (p6) {\n const len = p6.length - 2;\n positions.push([i - shift + len, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p6.slice(0, -2);\n }\n if (p7) {\n const len = p7.length - 1;\n positions.push([i - shift + len, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p7.slice(0, -1);\n }\n if (p8) {\n positions.push([i - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n }\n if (i + eol === syllablePositions[syllableIndex]?.[1]) {\n const newCharLen = syllablePositions[syllableIndex][0] - 1;\n ++syllableIndex;\n for (let j = 1; j <= newCharLen; j++) {\n positions.push([i - (shift - j), shift - j]);\n }\n shift -= newCharLen;\n shiftOrigin += newCharLen;\n }\n return p9;\n });\n positions.push([normalized.length, shift]);\n return [normalized, positions, hasDiacritics];\n}\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n const start = pos;\n const end = pos + len - 1;\n let i = binarySearchFirstItem(diffs, x => x[0] >= start);\n if (diffs[i][0] > start) {\n --i;\n }\n let j = binarySearchFirstItem(diffs, x => x[0] >= end, i);\n if (diffs[j][0] > end) {\n --j;\n }\n const oldStart = start + diffs[i][1];\n const oldEnd = end + diffs[j][1];\n const oldLen = oldEnd + 1 - oldStart;\n return [oldStart, oldLen];\n}\nclass PDFFindController {\n #state = null;\n #updateMatchesCountOnProgress = true;\n #visitedPagesCount = 0;\n constructor({\n linkService,\n eventBus,\n updateMatchesCountOnProgress = true\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#updateMatchesCountOnProgress = updateMatchesCountOnProgress;\n this.onIsPageVisible = null;\n this.#reset();\n eventBus._on(\"find\", this.#onFind.bind(this));\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n get highlightMatches() {\n return this._highlightMatches;\n }\n get pageMatches() {\n return this._pageMatches;\n }\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n get selected() {\n return this._selected;\n }\n get state() {\n return this.#state;\n }\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n if (!pdfDocument) {\n return;\n }\n this._pdfDocument = pdfDocument;\n this._firstPageCapability.resolve();\n }\n #onFind(state) {\n if (!state) {\n return;\n }\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n if (this.#state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n this.#state = state;\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n if (findbarClosed && this.#state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n scrollIntoView(element, spot, true);\n }\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this.#visitedPagesCount = 0;\n this.#state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = Promise.withResolvers();\n }\n get #query() {\n const {\n query\n } = this.#state;\n if (typeof query === \"string\") {\n if (query !== this._rawQuery) {\n this._rawQuery = query;\n [this._normalizedQuery] = normalize(query);\n }\n return this._normalizedQuery;\n }\n return (query || []).filter(q => !!q).map(q => normalize(q)[0]);\n }\n #shouldDirtyMatch(state) {\n const newQuery = state.query,\n prevQuery = this.#state.query;\n const newType = typeof newQuery,\n prevType = typeof prevQuery;\n if (newType !== prevType) {\n return true;\n }\n if (newType === \"string\") {\n if (newQuery !== prevQuery) {\n return true;\n }\n } else if (JSON.stringify(newQuery) !== JSON.stringify(prevQuery)) {\n return true;\n }\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n return pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !(this.onIsPageVisible?.(pageNumber) ?? true);\n case \"highlightallchange\":\n return false;\n }\n return true;\n }\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n if (getCharacterType(first) === getCharacterType(limit)) {\n return false;\n }\n }\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n if (getCharacterType(last) === getCharacterType(limit)) {\n return false;\n }\n }\n return true;\n }\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this.#state;\n let isUnicode = false;\n query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n if (p3) {\n return \"[ ]+\";\n }\n if (matchDiacritics) {\n return p4 || p5;\n }\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n if (matchDiacritics) {\n if (hasDiacritics) {\n DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(...DIACRITICS_EXCEPTION);\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n return [isUnicode, query];\n }\n #calculateMatch(pageIndex) {\n const query = this.#query;\n if (query.length === 0) {\n return;\n }\n const pageContent = this._pageContents[pageIndex];\n const matcherResult = this.match(query, pageContent, pageIndex);\n const matches = this._pageMatches[pageIndex] = [];\n const matchesLength = this._pageMatchesLength[pageIndex] = [];\n const diffs = this._pageDiffs[pageIndex];\n matcherResult?.forEach(({\n index,\n length\n }) => {\n const [matchPos, matchLen] = getOriginalIndex(diffs, index, length);\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n });\n if (this.#state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n const pageMatchesCount = matches.length;\n this._matchesCountTotal += pageMatchesCount;\n if (this.#updateMatchesCountOnProgress) {\n if (pageMatchesCount > 0) {\n this.#updateUIResultsCount();\n }\n } else if (++this.#visitedPagesCount === this._linkService.pagesCount) {\n this.#updateUIResultsCount();\n }\n }\n match(query, pageContent, pageIndex) {\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n if (typeof query === \"string\") {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n query = query.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n if (!query) {\n return undefined;\n }\n const {\n caseSensitive,\n entireWord\n } = this.#state;\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = new RegExp(query, flags);\n const matches = [];\n let match;\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n matches.push({\n index: match.index,\n length: match[0].length\n });\n }\n return matches;\n }\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n let deferred = Promise.resolve();\n const textOptions = {\n disableNormalization: true\n };\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const {\n promise,\n resolve\n } = Promise.withResolvers();\n this._extractTextPromises[i] = promise;\n deferred = deferred.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => pdfPage.getTextContent(textOptions)).then(textContent => {\n const strBuf = [];\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n resolve();\n });\n });\n }\n }\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n #nextMatch() {\n const previous = this.#state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this.#visitedPagesCount = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n this._pendingFindMatches.add(i);\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n this.#calculateMatch(i);\n });\n }\n }\n const query = this.#query;\n if (query.length === 0) {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n if (this._resumePageIdx) {\n return;\n }\n const offset = this._offset;\n this._pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n this.#advanceOffsetPage(previous);\n }\n this.#nextPageMatch();\n }\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this.#state.findPrevious;\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n this.#advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n return false;\n }\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n let matches = null;\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n this.#updateUIState(state, this.#state.findPrevious);\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n current += matchIdx + 1;\n }\n if (current < 1 || current > total) {\n current = total = 0;\n }\n return {\n current,\n total\n };\n }\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n #updateUIState(state, previous = false) {\n if (!this.#updateMatchesCountOnProgress && (this.#visitedPagesCount !== this._linkService.pagesCount || state === FindState.PENDING)) {\n return;\n }\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n entireWord: this.#state?.entireWord ?? null,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this.#state?.query ?? null\n });\n }\n}\n\n;// ./web/pdf_link_service.js\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nclass PDFLinkService {\n externalLinkEnabled = true;\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n get page() {\n return this.pdfDocument ? this.pdfViewer.currentPageNumber : 1;\n }\n set page(value) {\n if (this.pdfDocument) {\n this.pdfViewer.currentPageNumber = value;\n }\n }\n get rotation() {\n return this.pdfDocument ? this.pdfViewer.pagesRotation : 0;\n }\n set rotation(value) {\n if (this.pdfDocument) {\n this.pdfViewer.pagesRotation = value;\n }\n }\n get isInPresentationMode() {\n return this.pdfDocument ? this.pdfViewer.isInPresentationMode : false;\n }\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest, pageNumber;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(`goToDestination: \"${explicitDest}\" is not a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n const [destRef] = explicitDest;\n if (destRef && typeof destRef === \"object\") {\n pageNumber = this.pdfDocument.cachedPageNumber(destRef);\n if (!pageNumber) {\n try {\n pageNumber = (await this.pdfDocument.getPageIndex(destRef)) + 1;\n } catch {\n console.error(`goToDestination: \"${destRef}\" is not a valid page reference, for dest=\"${dest}\".`);\n return;\n }\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`goToDestination: \"${pageNumber}\" is not a valid page number, for dest=\"${dest}\".`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n addLinkAttributes(link, url, newWindow = false) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const target = newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel = this.externalLinkRel;\n if (this.externalLinkEnabled) {\n link.href = link.title = url;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${url}`;\n link.onclick = () => false;\n }\n let targetStr = \"\";\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g)\n });\n }\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n return;\n }\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch {}\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDest(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n executeNamedAction(action) {\n if (!this.pdfDocument) {\n return;\n }\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n case \"FirstPage\":\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n async executeSetOCGState(action) {\n if (!this.pdfDocument) {\n return;\n }\n const pdfDocument = this.pdfDocument,\n optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n optionalContentConfig.setOCGState(action);\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig);\n }\n static #isValidExplicitDest(dest) {\n if (!Array.isArray(dest) || dest.length < 2) {\n return false;\n }\n const [page, zoom, ...args] = dest;\n if (!(typeof page === \"object\" && Number.isInteger(page?.num) && Number.isInteger(page?.gen)) && !Number.isInteger(page)) {\n return false;\n }\n if (!(typeof zoom === \"object\" && typeof zoom?.name === \"string\")) {\n return false;\n }\n const argsLen = args.length;\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (argsLen < 2 || argsLen > 3) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return argsLen === 0;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (argsLen > 1) {\n return false;\n }\n break;\n case \"FitR\":\n if (argsLen !== 4) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (const arg of args) {\n if (!(typeof arg === \"number\" || allowNull && arg === null)) {\n return false;\n }\n }\n return true;\n }\n}\nclass SimpleLinkService extends PDFLinkService {\n setDocument(pdfDocument, baseUrl = null) {}\n}\n\n;// ./web/pdfjs.js\nconst {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n build,\n ColorPicker,\n createValidAbsoluteUrl,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getXfaPageViewport,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n MissingPDFException,\n noContextMenu,\n normalizeUnicode,\n OPS,\n OutputScale,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n setLayerDimensions,\n shadow,\n TextLayer,\n UnexpectedResponseException,\n Util,\n VerbosityLevel,\n version,\n XfaLayer\n} = globalThis.pdfjsLib;\n\n;// ./web/annotation_layer_builder.js\n\n\nclass AnnotationLayerBuilder {\n #onAppend = null;\n #eventAbortController = null;\n constructor({\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n annotationEditorUIManager = null,\n onAppend = null\n }) {\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false);\n this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null);\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n this._annotationEditorUIManager = annotationEditorUIManager;\n this.#onAppend = onAppend;\n this.annotationLayer = null;\n this.div = null;\n this._cancelled = false;\n this._eventBus = linkService.eventBus;\n }\n async render(viewport, options, intent = \"display\") {\n if (this.div) {\n if (this._cancelled || !this.annotationLayer) {\n return;\n }\n this.annotationLayer.update({\n viewport: viewport.clone({\n dontFlip: true\n })\n });\n return;\n }\n const [annotations, hasJSActions, fieldObjects] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n if (this._cancelled) {\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationLayer\";\n this.#onAppend?.(div);\n if (annotations.length === 0) {\n this.hide();\n return;\n }\n this.annotationLayer = new AnnotationLayer({\n div,\n accessibilityManager: this._accessibilityManager,\n annotationCanvasMap: this._annotationCanvasMap,\n annotationEditorUIManager: this._annotationEditorUIManager,\n page: this.pdfPage,\n viewport: viewport.clone({\n dontFlip: true\n }),\n structTreeLayer: options?.structTreeLayer || null\n });\n await this.annotationLayer.render({\n annotations,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects\n });\n if (this.linkService.isInPresentationMode) {\n this.#updatePresentationModeState(PresentationModeState.FULLSCREEN);\n }\n if (!this.#eventAbortController) {\n this.#eventAbortController = new AbortController();\n this._eventBus?._on(\"presentationmodechanged\", evt => {\n this.#updatePresentationModeState(evt.state);\n }, {\n signal: this.#eventAbortController.signal\n });\n }\n }\n cancel() {\n this._cancelled = true;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n hasEditableAnnotations() {\n return !!this.annotationLayer?.hasEditableAnnotations();\n }\n #updatePresentationModeState(state) {\n if (!this.div) {\n return;\n }\n let disableFormElements = false;\n switch (state) {\n case PresentationModeState.FULLSCREEN:\n disableFormElements = true;\n break;\n case PresentationModeState.NORMAL:\n break;\n default:\n return;\n }\n for (const section of this.div.childNodes) {\n if (section.hasAttribute(\"data-internal-link\")) {\n continue;\n }\n section.inert = disableFormElements;\n }\n }\n}\n\n;// ./web/download_manager.js\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n a.href = blobUrl;\n a.target = \"_parent\";\n if (\"download\" in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).append(a);\n a.click();\n a.remove();\n}\nclass DownloadManager {\n #openBlobUrls = new WeakMap();\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n openOrDownloadData(data, filename, dest = null) {\n const isPdfData = isPdfFile(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n this.downloadData(data, filename, contentType);\n return false;\n }\n download(data, url, filename) {\n let blobUrl;\n if (data) {\n blobUrl = URL.createObjectURL(new Blob([data], {\n type: \"application/pdf\"\n }));\n } else {\n if (!createValidAbsoluteUrl(url, \"http://example.com\")) {\n console.error(`download - not a valid URL: ${url}`);\n return;\n }\n blobUrl = url + \"#pdfjs.action=download\";\n }\n download(blobUrl, filename);\n }\n}\n\n;// ./web/event_utils.js\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nasync function waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n const {\n promise,\n resolve\n } = Promise.withResolvers();\n const ac = new AbortController();\n function handler(type) {\n ac.abort();\n clearTimeout(timeout);\n resolve(type);\n }\n const evtMethod = target instanceof EventBus ? \"_on\" : \"addEventListener\";\n target[evtMethod](name, handler.bind(null, WaitOnType.EVENT), {\n signal: ac.signal\n });\n const timeout = setTimeout(handler.bind(null, WaitOnType.TIMEOUT), delay);\n return promise;\n}\nclass EventBus {\n #listeners = Object.create(null);\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once,\n signal: options?.signal\n });\n }\n off(eventName, listener, options = null) {\n this._off(eventName, listener);\n }\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n let externalListeners;\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n listener(data);\n }\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n externalListeners = null;\n }\n }\n _on(eventName, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const {\n signal\n } = options;\n if (signal.aborted) {\n console.error(\"Cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this._off(eventName, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n signal.addEventListener(\"abort\", onAbort);\n }\n const eventListeners = this.#listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true,\n rmAbort\n });\n }\n _off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n const evt = eventListeners[i];\n if (evt.listener === listener) {\n evt.rmAbort?.();\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n}\nclass FirefoxEventBus extends EventBus {\n #externalServices;\n #globalEventNames;\n #isInAutomation;\n constructor(globalEventNames, externalServices, isInAutomation) {\n super();\n this.#globalEventNames = globalEventNames;\n this.#externalServices = externalServices;\n this.#isInAutomation = isInAutomation;\n }\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: FirefoxEventBus.dispatch\");\n }\n}\n\n;// ./node_modules/@fluent/bundle/esm/types.js\nclass FluentType {\n constructor(value) {\n this.value = value;\n }\n valueOf() {\n return this.value;\n }\n}\nclass FluentNone extends FluentType {\n constructor(value = \"???\") {\n super(value);\n }\n toString(scope) {\n return `{${this.value}}`;\n }\n}\nclass FluentNumber extends FluentType {\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n toString(scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n } catch (err) {\n scope.reportError(err);\n return this.value.toString(10);\n }\n }\n}\nclass FluentDateTime extends FluentType {\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n toString(scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n } catch (err) {\n scope.reportError(err);\n return new Date(this.value).toISOString();\n }\n }\n}\n;// ./node_modules/@fluent/bundle/esm/resolver.js\n\nconst MAX_PLACEABLES = 100;\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\nfunction match(scope, selector, key) {\n if (key === selector) {\n return true;\n }\n if (key instanceof FluentNumber && selector instanceof FluentNumber && key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope.memoizeIntlObject(Intl.PluralRules, selector.opts).select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n } else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return {\n positional,\n named\n };\n}\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\nfunction resolveVariableReference(scope, {\n name\n}) {\n let arg;\n if (scope.params) {\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n } else {\n return new FluentNone(`$${name}`);\n }\n } else if (scope.args && Object.prototype.hasOwnProperty.call(scope.args, name)) {\n arg = scope.args[name];\n } else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n if (arg instanceof FluentType) {\n return arg;\n }\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (arg instanceof Date) {\n return new FluentDateTime(arg.getTime());\n }\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\nfunction resolveMessageReference(scope, {\n name,\n attr\n}) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\nfunction resolveTermReference(scope, {\n name,\n attr,\n args\n}) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\nfunction resolveFunctionReference(scope, {\n name,\n args\n}) {\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n } catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\nfunction resolveSelectExpression(scope, {\n selector,\n variants,\n star\n}) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\nfunction resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n scope.dirty.add(ptn);\n const result = [];\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` + `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\nfunction resolvePattern(scope, value) {\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n;// ./node_modules/@fluent/bundle/esm/scope.js\nclass Scope {\n constructor(bundle, errors, args) {\n this.dirty = new WeakSet();\n this.params = null;\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n;// ./node_modules/@fluent/bundle/esm/builtins.js\n\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\"unitDisplay\", \"currencyDisplay\", \"useGrouping\", \"minimumIntegerDigits\", \"minimumFractionDigits\", \"maximumFractionDigits\", \"minimumSignificantDigits\", \"maximumSignificantDigits\"];\nfunction NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.valueOf(), {\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\"dateStyle\", \"timeStyle\", \"fractionalSecondDigits\", \"dayPeriod\", \"hour12\", \"weekday\", \"era\", \"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"timeZoneName\"];\nfunction DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime) {\n return new FluentDateTime(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, DATETIME_ALLOWED)\n });\n }\n if (arg instanceof FluentNumber) {\n return new FluentDateTime(arg.valueOf(), {\n ...values(opts, DATETIME_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n;// ./node_modules/@fluent/bundle/esm/memoizer.js\nconst cache = new Map();\nfunction getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n;// ./node_modules/@fluent/bundle/esm/bundle.js\n\n\n\n\n\nclass FluentBundle {\n constructor(locales, {\n functions,\n useIsolating = true,\n transform = v => v\n } = {}) {\n this._terms = new Map();\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER: NUMBER,\n DATETIME: DATETIME,\n ...functions\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n hasMessage(id) {\n return this._messages.has(id);\n }\n getMessage(id) {\n return this._messages.get(id);\n }\n addResource(res, {\n allowOverrides = false\n } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n } else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n formatPattern(pattern, args = null, errors = null) {\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n } catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n;// ./node_modules/@fluent/bundle/esm/resource.js\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\nconst RE_BLANK_LINES = / *\\r?\\n/g;\nconst RE_INDENT = /( *)$/;\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\nclass FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n } catch (err) {\n if (err instanceof SyntaxError) {\n continue;\n }\n throw err;\n }\n }\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return {\n id,\n value,\n attributes\n };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n let indent = parseIndent();\n if (indent) {\n if (first) {\n return parsePatternElements([first, indent], indent.length);\n }\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return {\n type: \"var\",\n name\n };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n return {\n type: \"term\",\n name,\n attr,\n args\n };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return {\n type: \"func\",\n name,\n args\n };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n return {\n type: \"term\",\n name,\n attr,\n args: []\n };\n }\n return {\n type: \"mesg\",\n name,\n attr\n };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\":\n cursor++;\n return args;\n case undefined:\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral()\n };\n }\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = {\n key,\n value\n };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return {\n variants,\n star\n };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n } else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER)\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return {\n type: \"str\",\n value\n };\n }\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint ? String.fromCodePoint(codepoint) : \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined:\n return false;\n case \"{\":\n return makeIndent(source.slice(start, cursor));\n }\n if (source[cursor - 1] === \" \") {\n return makeIndent(source.slice(start, cursor));\n }\n return false;\n }\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n;// ./node_modules/@fluent/bundle/esm/index.js\n\n\n\n;// ./node_modules/@fluent/dom/esm/overlay.js\nconst reOverlay = /<|&#?\\w+;/;\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\"em\", \"strong\", \"small\", \"s\", \"cite\", \"q\", \"dfn\", \"abbr\", \"data\", \"time\", \"code\", \"var\", \"samp\", \"kbd\", \"sub\", \"sup\", \"i\", \"b\", \"u\", \"mark\", \"bdi\", \"bdo\", \"span\", \"br\", \"wbr\"]\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"]\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\"accesskey\", \"aria-label\", \"aria-valuetext\", \"label\", \"title\", \"tooltiptext\"],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"]\n }\n};\nfunction translateElement(element, translation) {\n const {\n value\n } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" && element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n element.textContent = value;\n } else if (!reOverlay.test(value)) {\n element.textContent = value;\n } else {\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n overlayAttributes(translation, element);\n}\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` + \"the translation. Only safe text-level elements and elements with \" + \"data-l10n-name are allowed.\");\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\") ? toElement.getAttribute(\"data-l10n-attrs\").split(\",\").map(i => i.trim()) : null;\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n if (!fromElement.attributes) {\n return;\n }\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` + `but its type ${translatedChild.localName} didn't match the ` + `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n sourceElement.removeChild(sourceChild);\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\nfunction createSanitizedElement(element) {\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n if (allowed.global.includes(attrName)) {\n return true;\n }\n if (!allowed[elemName]) {\n return false;\n }\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" && elemName === \"input\" && attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n;// ./node_modules/cached-iterable/src/cached_iterable.mjs\nclass CachedIterable extends Array {\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n return new this(iterable);\n }\n}\n;// ./node_modules/cached-iterable/src/cached_sync_iterable.mjs\n\nclass CachedSyncIterable extends CachedIterable {\n constructor(iterable) {\n super();\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n return this[this.length - 1];\n }\n}\n;// ./node_modules/cached-iterable/src/cached_async_iterable.mjs\n\nclass CachedAsyncIterable extends CachedIterable {\n constructor(iterable) {\n super();\n if (Symbol.asyncIterator in Object(iterable)) {\n this.iterator = iterable[Symbol.asyncIterator]();\n } else if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n [Symbol.asyncIterator]() {\n const cached = this;\n let cur = 0;\n return {\n async next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n async touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && (await last).done) {\n break;\n }\n this.push(this.iterator.next());\n }\n return this[this.length - 1];\n }\n}\n;// ./node_modules/cached-iterable/src/index.mjs\n\n\n;// ./node_modules/@fluent/dom/esm/localization.js\n\nclass Localization {\n constructor(resourceIds = [], generateBundles) {\n this.resourceIds = resourceIds;\n this.generateBundles = generateBundles;\n this.onChange(true);\n }\n addResourceIds(resourceIds, eager = false) {\n this.resourceIds.push(...resourceIds);\n this.onChange(eager);\n return this.resourceIds.length;\n }\n removeResourceIds(resourceIds) {\n this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r));\n this.onChange();\n return this.resourceIds.length;\n }\n async formatWithFallback(keys, method) {\n const translations = [];\n let hasAtLeastOneBundle = false;\n for await (const bundle of this.bundles) {\n hasAtLeastOneBundle = true;\n const missingIds = keysFromBundle(method, bundle, keys, translations);\n if (missingIds.size === 0) {\n break;\n }\n if (typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const ids = Array.from(missingIds).join(\", \");\n console.warn(`[fluent] Missing translations in ${locale}: ${ids}`);\n }\n }\n if (!hasAtLeastOneBundle && typeof console !== \"undefined\") {\n console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(keys)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`);\n }\n return translations;\n }\n formatMessages(keys) {\n return this.formatWithFallback(keys, messageFromBundle);\n }\n formatValues(keys) {\n return this.formatWithFallback(keys, valueFromBundle);\n }\n async formatValue(id, args) {\n const [val] = await this.formatValues([{\n id,\n args\n }]);\n return val;\n }\n handleEvent() {\n this.onChange();\n }\n onChange(eager = false) {\n this.bundles = CachedAsyncIterable.from(this.generateBundles(this.resourceIds));\n if (eager) {\n this.bundles.touchNext(2);\n }\n }\n}\nfunction valueFromBundle(bundle, errors, message, args) {\n if (message.value) {\n return bundle.formatPattern(message.value, args, errors);\n }\n return null;\n}\nfunction messageFromBundle(bundle, errors, message, args) {\n const formatted = {\n value: null,\n attributes: null\n };\n if (message.value) {\n formatted.value = bundle.formatPattern(message.value, args, errors);\n }\n let attrNames = Object.keys(message.attributes);\n if (attrNames.length > 0) {\n formatted.attributes = new Array(attrNames.length);\n for (let [i, name] of attrNames.entries()) {\n let value = bundle.formatPattern(message.attributes[name], args, errors);\n formatted.attributes[i] = {\n name,\n value\n };\n }\n }\n return formatted;\n}\nfunction keysFromBundle(method, bundle, keys, translations) {\n const messageErrors = [];\n const missingIds = new Set();\n keys.forEach(({\n id,\n args\n }, i) => {\n if (translations[i] !== undefined) {\n return;\n }\n let message = bundle.getMessage(id);\n if (message) {\n messageErrors.length = 0;\n translations[i] = method(bundle, messageErrors, message, args);\n if (messageErrors.length > 0 && typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const errors = messageErrors.join(\", \");\n console.warn(`[fluent][resolver] errors in ${locale}/${id}: ${errors}.`);\n }\n } else {\n missingIds.add(id);\n }\n });\n return missingIds;\n}\n;// ./node_modules/@fluent/dom/esm/dom_localization.js\n\n\nconst L10NID_ATTR_NAME = \"data-l10n-id\";\nconst L10NARGS_ATTR_NAME = \"data-l10n-args\";\nconst L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`;\nclass DOMLocalization extends Localization {\n constructor(resourceIds, generateBundles) {\n super(resourceIds, generateBundles);\n this.roots = new Set();\n this.pendingrAF = null;\n this.pendingElements = new Set();\n this.windowElement = null;\n this.mutationObserver = null;\n this.observerConfig = {\n attributes: true,\n characterData: false,\n childList: true,\n subtree: true,\n attributeFilter: [L10NID_ATTR_NAME, L10NARGS_ATTR_NAME]\n };\n }\n onChange(eager = false) {\n super.onChange(eager);\n if (this.roots) {\n this.translateRoots();\n }\n }\n setAttributes(element, id, args) {\n element.setAttribute(L10NID_ATTR_NAME, id);\n if (args) {\n element.setAttribute(L10NARGS_ATTR_NAME, JSON.stringify(args));\n } else {\n element.removeAttribute(L10NARGS_ATTR_NAME);\n }\n return element;\n }\n getAttributes(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null)\n };\n }\n connectRoot(newRoot) {\n for (const root of this.roots) {\n if (root === newRoot || root.contains(newRoot) || newRoot.contains(root)) {\n throw new Error(\"Cannot add a root that overlaps with existing root.\");\n }\n }\n if (this.windowElement) {\n if (this.windowElement !== newRoot.ownerDocument.defaultView) {\n throw new Error(`Cannot connect a root:\n DOMLocalization already has a root from a different window.`);\n }\n } else {\n this.windowElement = newRoot.ownerDocument.defaultView;\n this.mutationObserver = new this.windowElement.MutationObserver(mutations => this.translateMutations(mutations));\n }\n this.roots.add(newRoot);\n this.mutationObserver.observe(newRoot, this.observerConfig);\n }\n disconnectRoot(root) {\n this.roots.delete(root);\n this.pauseObserving();\n if (this.roots.size === 0) {\n this.mutationObserver = null;\n if (this.windowElement && this.pendingrAF) {\n this.windowElement.cancelAnimationFrame(this.pendingrAF);\n }\n this.windowElement = null;\n this.pendingrAF = null;\n this.pendingElements.clear();\n return true;\n }\n this.resumeObserving();\n return false;\n }\n translateRoots() {\n const roots = Array.from(this.roots);\n return Promise.all(roots.map(root => this.translateFragment(root)));\n }\n pauseObserving() {\n if (!this.mutationObserver) {\n return;\n }\n this.translateMutations(this.mutationObserver.takeRecords());\n this.mutationObserver.disconnect();\n }\n resumeObserving() {\n if (!this.mutationObserver) {\n return;\n }\n for (const root of this.roots) {\n this.mutationObserver.observe(root, this.observerConfig);\n }\n }\n translateMutations(mutations) {\n for (const mutation of mutations) {\n switch (mutation.type) {\n case \"attributes\":\n if (mutation.target.hasAttribute(\"data-l10n-id\")) {\n this.pendingElements.add(mutation.target);\n }\n break;\n case \"childList\":\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType === addedNode.ELEMENT_NODE) {\n if (addedNode.childElementCount) {\n for (const element of this.getTranslatables(addedNode)) {\n this.pendingElements.add(element);\n }\n } else if (addedNode.hasAttribute(L10NID_ATTR_NAME)) {\n this.pendingElements.add(addedNode);\n }\n }\n }\n break;\n }\n }\n if (this.pendingElements.size > 0) {\n if (this.pendingrAF === null) {\n this.pendingrAF = this.windowElement.requestAnimationFrame(() => {\n this.translateElements(Array.from(this.pendingElements));\n this.pendingElements.clear();\n this.pendingrAF = null;\n });\n }\n }\n }\n translateFragment(frag) {\n return this.translateElements(this.getTranslatables(frag));\n }\n async translateElements(elements) {\n if (!elements.length) {\n return undefined;\n }\n const keys = elements.map(this.getKeysForElement);\n const translations = await this.formatMessages(keys);\n return this.applyTranslations(elements, translations);\n }\n applyTranslations(elements, translations) {\n this.pauseObserving();\n for (let i = 0; i < elements.length; i++) {\n if (translations[i] !== undefined) {\n translateElement(elements[i], translations[i]);\n }\n }\n this.resumeObserving();\n }\n getTranslatables(element) {\n const nodes = Array.from(element.querySelectorAll(L10N_ELEMENT_QUERY));\n if (typeof element.hasAttribute === \"function\" && element.hasAttribute(L10NID_ATTR_NAME)) {\n nodes.push(element);\n }\n return nodes;\n }\n getKeysForElement(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null)\n };\n }\n}\n;// ./node_modules/@fluent/dom/esm/index.js\n\n\n;// ./web/l10n.js\nclass L10n {\n #dir;\n #elements;\n #lang;\n #l10n;\n constructor({\n lang,\n isRTL\n }, l10n = null) {\n this.#lang = L10n.#fixupLangCode(lang);\n this.#l10n = l10n;\n this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? \"rtl\" : \"ltr\";\n }\n _setL10n(l10n) {\n this.#l10n = l10n;\n }\n getLanguage() {\n return this.#lang;\n }\n getDirection() {\n return this.#dir;\n }\n async get(ids, args = null, fallback) {\n if (Array.isArray(ids)) {\n ids = ids.map(id => ({\n id\n }));\n const messages = await this.#l10n.formatMessages(ids);\n return messages.map(message => message.value);\n }\n const messages = await this.#l10n.formatMessages([{\n id: ids,\n args\n }]);\n return messages[0]?.value || fallback;\n }\n async translate(element) {\n (this.#elements ||= new Set()).add(element);\n try {\n this.#l10n.connectRoot(element);\n await this.#l10n.translateRoots();\n } catch {}\n }\n async translateOnce(element) {\n try {\n await this.#l10n.translateElements([element]);\n } catch (ex) {\n console.error(`translateOnce: \"${ex}\".`);\n }\n }\n async destroy() {\n if (this.#elements) {\n for (const element of this.#elements) {\n this.#l10n.disconnectRoot(element);\n }\n this.#elements.clear();\n this.#elements = null;\n }\n this.#l10n.pauseObserving();\n }\n pause() {\n this.#l10n.pauseObserving();\n }\n resume() {\n this.#l10n.resumeObserving();\n }\n static #fixupLangCode(langCode) {\n langCode = langCode?.toLowerCase() || \"en-us\";\n const PARTIAL_LANG_CODES = {\n en: \"en-us\",\n es: \"es-es\",\n fy: \"fy-nl\",\n ga: \"ga-ie\",\n gu: \"gu-in\",\n hi: \"hi-in\",\n hy: \"hy-am\",\n nb: \"nb-no\",\n ne: \"ne-np\",\n nn: \"nn-no\",\n pa: \"pa-in\",\n pt: \"pt-pt\",\n sv: \"sv-se\",\n zh: \"zh-cn\"\n };\n return PARTIAL_LANG_CODES[langCode] || langCode;\n }\n static #isRTL(lang) {\n const shortCode = lang.split(\"-\", 1)[0];\n return [\"ar\", \"he\", \"fa\", \"ps\", \"ur\"].includes(shortCode);\n }\n}\nconst GenericL10n = null;\n\n;// ./web/genericl10n.js\n\n\n\n\nfunction createBundle(lang, text) {\n const resource = new FluentResource(text);\n const bundle = new FluentBundle(lang);\n const errors = bundle.addResource(resource);\n if (errors.length) {\n console.error(\"L10n errors\", errors);\n }\n return bundle;\n}\nclass genericl10n_GenericL10n extends L10n {\n constructor(lang) {\n super({\n lang\n });\n const generateBundles = !lang ? genericl10n_GenericL10n.#generateBundlesFallback.bind(genericl10n_GenericL10n, this.getLanguage()) : genericl10n_GenericL10n.#generateBundles.bind(genericl10n_GenericL10n, \"en-us\", this.getLanguage());\n this._setL10n(new DOMLocalization([], generateBundles));\n }\n static async *#generateBundles(defaultLang, baseLang) {\n const {\n baseURL,\n paths\n } = await this.#getPaths();\n const langs = [baseLang];\n if (defaultLang !== baseLang) {\n const shortLang = baseLang.split(\"-\", 1)[0];\n if (shortLang !== baseLang) {\n langs.push(shortLang);\n }\n langs.push(defaultLang);\n }\n for (const lang of langs) {\n const bundle = await this.#createBundle(lang, baseURL, paths);\n if (bundle) {\n yield bundle;\n } else if (lang === \"en-us\") {\n yield this.#createBundleFallback(lang);\n }\n }\n }\n static async #createBundle(lang, baseURL, paths) {\n const path = paths[lang];\n if (!path) {\n return null;\n }\n const url = new URL(path, baseURL);\n const text = await fetchData(url, \"text\");\n return createBundle(lang, text);\n }\n static async #getPaths() {\n try {\n const {\n href\n } = document.querySelector(`link[type=\"application/l10n\"]`);\n const paths = await fetchData(href, \"json\");\n return {\n baseURL: href.replace(/[^/]*$/, \"\") || \"./\",\n paths\n };\n } catch {}\n return {\n baseURL: \"./\",\n paths: Object.create(null)\n };\n }\n static async *#generateBundlesFallback(lang) {\n yield this.#createBundleFallback(lang);\n }\n static async #createBundleFallback(lang) {\n const text = \"pdfjs-previous-button =\\n .title = Previous Page\\npdfjs-previous-button-label = Previous\\npdfjs-next-button =\\n .title = Next Page\\npdfjs-next-button-label = Next\\npdfjs-page-input =\\n .title = Page\\npdfjs-of-pages = of { $pagesCount }\\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\\npdfjs-zoom-out-button =\\n .title = Zoom Out\\npdfjs-zoom-out-button-label = Zoom Out\\npdfjs-zoom-in-button =\\n .title = Zoom In\\npdfjs-zoom-in-button-label = Zoom In\\npdfjs-zoom-select =\\n .title = Zoom\\npdfjs-presentation-mode-button =\\n .title = Switch to Presentation Mode\\npdfjs-presentation-mode-button-label = Presentation Mode\\npdfjs-open-file-button =\\n .title = Open File\\npdfjs-open-file-button-label = Open\\npdfjs-print-button =\\n .title = Print\\npdfjs-print-button-label = Print\\npdfjs-save-button =\\n .title = Save\\npdfjs-save-button-label = Save\\npdfjs-download-button =\\n .title = Download\\npdfjs-download-button-label = Download\\npdfjs-bookmark-button =\\n .title = Current Page (View URL from Current Page)\\npdfjs-bookmark-button-label = Current Page\\npdfjs-tools-button =\\n .title = Tools\\npdfjs-tools-button-label = Tools\\npdfjs-first-page-button =\\n .title = Go to First Page\\npdfjs-first-page-button-label = Go to First Page\\npdfjs-last-page-button =\\n .title = Go to Last Page\\npdfjs-last-page-button-label = Go to Last Page\\npdfjs-page-rotate-cw-button =\\n .title = Rotate Clockwise\\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\\npdfjs-page-rotate-ccw-button =\\n .title = Rotate Counterclockwise\\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\\npdfjs-cursor-text-select-tool-button =\\n .title = Enable Text Selection Tool\\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\\npdfjs-cursor-hand-tool-button =\\n .title = Enable Hand Tool\\npdfjs-cursor-hand-tool-button-label = Hand Tool\\npdfjs-scroll-page-button =\\n .title = Use Page Scrolling\\npdfjs-scroll-page-button-label = Page Scrolling\\npdfjs-scroll-vertical-button =\\n .title = Use Vertical Scrolling\\npdfjs-scroll-vertical-button-label = Vertical Scrolling\\npdfjs-scroll-horizontal-button =\\n .title = Use Horizontal Scrolling\\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\\npdfjs-scroll-wrapped-button =\\n .title = Use Wrapped Scrolling\\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\\npdfjs-spread-none-button =\\n .title = Do not join page spreads\\npdfjs-spread-none-button-label = No Spreads\\npdfjs-spread-odd-button =\\n .title = Join page spreads starting with odd-numbered pages\\npdfjs-spread-odd-button-label = Odd Spreads\\npdfjs-spread-even-button =\\n .title = Join page spreads starting with even-numbered pages\\npdfjs-spread-even-button-label = Even Spreads\\npdfjs-document-properties-button =\\n .title = Document Properties\\u2026\\npdfjs-document-properties-button-label = Document Properties\\u2026\\npdfjs-document-properties-file-name = File name:\\npdfjs-document-properties-file-size = File size:\\npdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)\\npdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)\\npdfjs-document-properties-title = Title:\\npdfjs-document-properties-author = Author:\\npdfjs-document-properties-subject = Subject:\\npdfjs-document-properties-keywords = Keywords:\\npdfjs-document-properties-creation-date = Creation Date:\\npdfjs-document-properties-modification-date = Modification Date:\\npdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: \\\"short\\\", timeStyle: \\\"medium\\\") }\\npdfjs-document-properties-creator = Creator:\\npdfjs-document-properties-producer = PDF Producer:\\npdfjs-document-properties-version = PDF Version:\\npdfjs-document-properties-page-count = Page Count:\\npdfjs-document-properties-page-size = Page Size:\\npdfjs-document-properties-page-size-unit-inches = in\\npdfjs-document-properties-page-size-unit-millimeters = mm\\npdfjs-document-properties-page-size-orientation-portrait = portrait\\npdfjs-document-properties-page-size-orientation-landscape = landscape\\npdfjs-document-properties-page-size-name-a-three = A3\\npdfjs-document-properties-page-size-name-a-four = A4\\npdfjs-document-properties-page-size-name-letter = Letter\\npdfjs-document-properties-page-size-name-legal = Legal\\npdfjs-document-properties-page-size-dimension-string = { $width } \\xD7 { $height } { $unit } ({ $orientation })\\npdfjs-document-properties-page-size-dimension-name-string = { $width } \\xD7 { $height } { $unit } ({ $name }, { $orientation })\\npdfjs-document-properties-linearized = Fast Web View:\\npdfjs-document-properties-linearized-yes = Yes\\npdfjs-document-properties-linearized-no = No\\npdfjs-document-properties-close-button = Close\\npdfjs-print-progress-message = Preparing document for printing\\u2026\\npdfjs-print-progress-percent = { $progress }%\\npdfjs-print-progress-close-button = Cancel\\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\\npdfjs-toggle-sidebar-button =\\n .title = Toggle Sidebar\\npdfjs-toggle-sidebar-notification-button =\\n .title = Toggle Sidebar (document contains outline/attachments/layers)\\npdfjs-toggle-sidebar-button-label = Toggle Sidebar\\npdfjs-document-outline-button =\\n .title = Show Document Outline (double-click to expand/collapse all items)\\npdfjs-document-outline-button-label = Document Outline\\npdfjs-attachments-button =\\n .title = Show Attachments\\npdfjs-attachments-button-label = Attachments\\npdfjs-layers-button =\\n .title = Show Layers (double-click to reset all layers to the default state)\\npdfjs-layers-button-label = Layers\\npdfjs-thumbs-button =\\n .title = Show Thumbnails\\npdfjs-thumbs-button-label = Thumbnails\\npdfjs-current-outline-item-button =\\n .title = Find Current Outline Item\\npdfjs-current-outline-item-button-label = Current Outline Item\\npdfjs-findbar-button =\\n .title = Find in Document\\npdfjs-findbar-button-label = Find\\npdfjs-additional-layers = Additional Layers\\npdfjs-thumb-page-title =\\n .title = Page { $page }\\npdfjs-thumb-page-canvas =\\n .aria-label = Thumbnail of Page { $page }\\npdfjs-find-input =\\n .title = Find\\n .placeholder = Find in document\\u2026\\npdfjs-find-previous-button =\\n .title = Find the previous occurrence of the phrase\\npdfjs-find-previous-button-label = Previous\\npdfjs-find-next-button =\\n .title = Find the next occurrence of the phrase\\npdfjs-find-next-button-label = Next\\npdfjs-find-highlight-checkbox = Highlight All\\npdfjs-find-match-case-checkbox-label = Match Case\\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\\npdfjs-find-entire-word-checkbox-label = Whole Words\\npdfjs-find-reached-top = Reached top of document, continued from bottom\\npdfjs-find-reached-bottom = Reached end of document, continued from top\\npdfjs-find-match-count =\\n { $total ->\\n [one] { $current } of { $total } match\\n *[other] { $current } of { $total } matches\\n }\\npdfjs-find-match-count-limit =\\n { $limit ->\\n [one] More than { $limit } match\\n *[other] More than { $limit } matches\\n }\\npdfjs-find-not-found = Phrase not found\\npdfjs-page-scale-width = Page Width\\npdfjs-page-scale-fit = Page Fit\\npdfjs-page-scale-auto = Automatic Zoom\\npdfjs-page-scale-actual = Actual Size\\npdfjs-page-scale-percent = { $scale }%\\npdfjs-page-landmark =\\n .aria-label = Page { $page }\\npdfjs-loading-error = An error occurred while loading the PDF.\\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\\npdfjs-missing-file-error = Missing PDF file.\\npdfjs-unexpected-response-error = Unexpected server response.\\npdfjs-rendering-error = An error occurred while rendering the page.\\npdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: \\\"short\\\", timeStyle: \\\"medium\\\") }\\npdfjs-text-annotation-type =\\n .alt = [{ $type } Annotation]\\npdfjs-password-label = Enter the password to open this PDF file.\\npdfjs-password-invalid = Invalid password. Please try again.\\npdfjs-password-ok-button = OK\\npdfjs-password-cancel-button = Cancel\\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\\npdfjs-editor-free-text-button =\\n .title = Text\\npdfjs-editor-free-text-button-label = Text\\npdfjs-editor-ink-button =\\n .title = Draw\\npdfjs-editor-ink-button-label = Draw\\npdfjs-editor-stamp-button =\\n .title = Add or edit images\\npdfjs-editor-stamp-button-label = Add or edit images\\npdfjs-editor-highlight-button =\\n .title = Highlight\\npdfjs-editor-highlight-button-label = Highlight\\npdfjs-highlight-floating-button1 =\\n .title = Highlight\\n .aria-label = Highlight\\npdfjs-highlight-floating-button-label = Highlight\\npdfjs-editor-remove-ink-button =\\n .title = Remove drawing\\npdfjs-editor-remove-freetext-button =\\n .title = Remove text\\npdfjs-editor-remove-stamp-button =\\n .title = Remove image\\npdfjs-editor-remove-highlight-button =\\n .title = Remove highlight\\npdfjs-editor-free-text-color-input = Color\\npdfjs-editor-free-text-size-input = Size\\npdfjs-editor-ink-color-input = Color\\npdfjs-editor-ink-thickness-input = Thickness\\npdfjs-editor-ink-opacity-input = Opacity\\npdfjs-editor-stamp-add-image-button =\\n .title = Add image\\npdfjs-editor-stamp-add-image-button-label = Add image\\npdfjs-editor-free-highlight-thickness-input = Thickness\\npdfjs-editor-free-highlight-thickness-title =\\n .title = Change thickness when highlighting items other than text\\npdfjs-free-text2 =\\n .aria-label = Text Editor\\n .default-content = Start typing\\u2026\\npdfjs-ink =\\n .aria-label = Draw Editor\\npdfjs-ink-canvas =\\n .aria-label = User-created image\\npdfjs-editor-alt-text-button =\\n .aria-label = Alt text\\npdfjs-editor-alt-text-button-label = Alt text\\npdfjs-editor-alt-text-edit-button =\\n .aria-label = Edit alt text\\npdfjs-editor-alt-text-dialog-label = Choose an option\\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can\\u2019t see the image or when it doesn\\u2019t load.\\npdfjs-editor-alt-text-add-description-label = Add a description\\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\\npdfjs-editor-alt-text-cancel-button = Cancel\\npdfjs-editor-alt-text-save-button = Save\\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\\npdfjs-editor-alt-text-textarea =\\n .placeholder = For example, \\u201CA young man sits down at a table to eat a meal\\u201D\\npdfjs-editor-resizer-top-left =\\n .aria-label = Top left corner \\u2014 resize\\npdfjs-editor-resizer-top-middle =\\n .aria-label = Top middle \\u2014 resize\\npdfjs-editor-resizer-top-right =\\n .aria-label = Top right corner \\u2014 resize\\npdfjs-editor-resizer-middle-right =\\n .aria-label = Middle right \\u2014 resize\\npdfjs-editor-resizer-bottom-right =\\n .aria-label = Bottom right corner \\u2014 resize\\npdfjs-editor-resizer-bottom-middle =\\n .aria-label = Bottom middle \\u2014 resize\\npdfjs-editor-resizer-bottom-left =\\n .aria-label = Bottom left corner \\u2014 resize\\npdfjs-editor-resizer-middle-left =\\n .aria-label = Middle left \\u2014 resize\\npdfjs-editor-highlight-colorpicker-label = Highlight color\\npdfjs-editor-colorpicker-button =\\n .title = Change color\\npdfjs-editor-colorpicker-dropdown =\\n .aria-label = Color choices\\npdfjs-editor-colorpicker-yellow =\\n .title = Yellow\\npdfjs-editor-colorpicker-green =\\n .title = Green\\npdfjs-editor-colorpicker-blue =\\n .title = Blue\\npdfjs-editor-colorpicker-pink =\\n .title = Pink\\npdfjs-editor-colorpicker-red =\\n .title = Red\\npdfjs-editor-highlight-show-all-button-label = Show all\\npdfjs-editor-highlight-show-all-button =\\n .title = Show all\\npdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)\\npdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)\\npdfjs-editor-new-alt-text-textarea =\\n .placeholder = Write your description here\\u2026\\npdfjs-editor-new-alt-text-description = Short description for people who can\\u2019t see the image or when the image doesn\\u2019t load.\\npdfjs-editor-new-alt-text-disclaimer1 = This alt text was created automatically and may be inaccurate.\\npdfjs-editor-new-alt-text-disclaimer-learn-more-url = Learn more\\npdfjs-editor-new-alt-text-create-automatically-button-label = Create alt text automatically\\npdfjs-editor-new-alt-text-not-now-button = Not now\\npdfjs-editor-new-alt-text-error-title = Couldn\\u2019t create alt text automatically\\npdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.\\npdfjs-editor-new-alt-text-error-close-button = Close\\npdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\\n .aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\\npdfjs-editor-new-alt-text-added-button =\\n .aria-label = Alt text added\\npdfjs-editor-new-alt-text-added-button-label = Alt text added\\npdfjs-editor-new-alt-text-missing-button =\\n .aria-label = Missing alt text\\npdfjs-editor-new-alt-text-missing-button-label = Missing alt text\\npdfjs-editor-new-alt-text-to-review-button =\\n .aria-label = Review alt text\\npdfjs-editor-new-alt-text-to-review-button-label = Review alt text\\npdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatically: { $generatedAltText }\\npdfjs-image-alt-text-settings-button =\\n .title = Image alt text settings\\npdfjs-image-alt-text-settings-button-label = Image alt text settings\\npdfjs-editor-alt-text-settings-dialog-label = Image alt text settings\\npdfjs-editor-alt-text-settings-automatic-title = Automatic alt text\\npdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically\\npdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can\\u2019t see the image or when the image doesn\\u2019t load.\\npdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)\\npdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.\\npdfjs-editor-alt-text-settings-delete-model-button = Delete\\npdfjs-editor-alt-text-settings-download-model-button = Download\\npdfjs-editor-alt-text-settings-downloading-model-button = Downloading\\u2026\\npdfjs-editor-alt-text-settings-editor-title = Alt text editor\\npdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image\\npdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.\\npdfjs-editor-alt-text-settings-close-button = Close\";\n return createBundle(lang, text);\n }\n}\n\n;// ./web/pdf_history.js\n\n\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\nfunction getCurrentHash() {\n return document.location.hash;\n}\nclass PDFHistory {\n #eventAbortController = null;\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n if (this._initialized) {\n this.reset();\n }\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n this.#bindEvents();\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n if (!this.#isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this.#parseCurrentHash(true);\n if (!hash || reInitialized || resetHistory) {\n this.#pushOrReplaceState(null, true);\n return;\n }\n this.#pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n const destination = state.destination;\n this.#updateInternalState(destination, state.uid, true);\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n reset() {\n if (this._initialized) {\n this.#pageHide();\n this._initialized = false;\n this.#unbindEvents();\n }\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this.#isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n const hash = namedDest || JSON.stringify(explicitDest);\n if (!hash) {\n return;\n }\n let forceReplace = false;\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n forceReplace = true;\n }\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n this.#pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n if (!this.#isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n if (this._destination?.page === pageNumber) {\n return;\n }\n if (this._popStateInProgress) {\n return;\n }\n this.#pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n this.#tryPushCurrentPosition();\n }\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this.#isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this.#isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n #pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n this.#updateInternalState(destination, newState.uid);\n let newUrl;\n if (this._updateUrl && destination?.hash) {\n const baseUrl = document.location.href.split(\"#\", 1)[0];\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n #tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n let position = this._position;\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n if (!this._destination) {\n this.#pushOrReplaceState(position);\n return;\n }\n if (this._destination.temporary) {\n this.#pushOrReplaceState(position, true);\n return;\n }\n if (this._destination.hash === position.hash) {\n return;\n }\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n let forceReplace = false;\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n forceReplace = true;\n }\n this.#pushOrReplaceState(position, forceReplace);\n }\n #isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n #isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n return true;\n }\n #updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n #parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = parseQueryString(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n if (!this.#isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n #updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n if (this._popStateInProgress) {\n return;\n }\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this.#tryPushCurrentPosition(true);\n }\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n #popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n if (!state) {\n this._uid++;\n const {\n hash,\n page,\n rotation\n } = this.#parseCurrentHash();\n this.#pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n if (!this.#isValidState(state)) {\n return;\n }\n this._popStateInProgress = true;\n if (hashChanged) {\n this._blockHashChange++;\n waitOnEventOrTimeout({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n const destination = state.destination;\n this.#updateInternalState(destination, state.uid, true);\n if (isValidRotation(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n #pageHide() {\n if (!this._destination || this._destination.temporary) {\n this.#tryPushCurrentPosition();\n }\n }\n #bindEvents() {\n if (this.#eventAbortController) {\n return;\n }\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n this.eventBus._on(\"updateviewarea\", this.#updateViewarea.bind(this), {\n signal\n });\n window.addEventListener(\"popstate\", this.#popState.bind(this), {\n signal\n });\n window.addEventListener(\"pagehide\", this.#pageHide.bind(this), {\n signal\n });\n }\n #unbindEvents() {\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n }\n}\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n if (destHash === pushHash) {\n return true;\n }\n const nameddest = parseQueryString(destHash).get(\"nameddest\");\n if (nameddest === pushHash) {\n return true;\n }\n return false;\n}\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n }\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n return true;\n}\n\n;// ./web/annotation_editor_layer_builder.js\n\n\nclass AnnotationEditorLayerBuilder {\n #annotationLayer = null;\n #drawLayer = null;\n #onAppend = null;\n #structTreeLayer = null;\n #textLayer = null;\n #uiManager;\n constructor(options) {\n this.pdfPage = options.pdfPage;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n this.#annotationLayer = options.annotationLayer || null;\n this.#textLayer = options.textLayer || null;\n this.#drawLayer = options.drawLayer || null;\n this.#onAppend = options.onAppend || null;\n this.#structTreeLayer = options.structTreeLayer || null;\n }\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n if (this._cancelled) {\n return;\n }\n const clonedViewport = viewport.clone({\n dontFlip: true\n });\n if (this.div) {\n this.annotationEditorLayer.update({\n viewport: clonedViewport\n });\n this.show();\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationEditorLayer\";\n div.hidden = true;\n div.dir = this.#uiManager.direction;\n this.#onAppend?.(div);\n this.annotationEditorLayer = new AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div,\n structTreeLayer: this.#structTreeLayer,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage.pageNumber - 1,\n l10n: this.l10n,\n viewport: clonedViewport,\n annotationLayer: this.#annotationLayer,\n textLayer: this.#textLayer,\n drawLayer: this.#drawLayer\n });\n const parameters = {\n viewport: clonedViewport,\n div,\n annotations: null,\n intent\n };\n this.annotationEditorLayer.render(parameters);\n this.show();\n }\n cancel() {\n this._cancelled = true;\n if (!this.div) {\n return;\n }\n this.annotationEditorLayer.destroy();\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n show() {\n if (!this.div || this.annotationEditorLayer.isInvisible) {\n return;\n }\n this.div.hidden = false;\n }\n}\n\n;// ./web/app_options.js\n{\n var compatParams = new Map();\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n (function () {\n if (isIOS || isAndroid) {\n compatParams.set(\"maxCanvasPixels\", 5242880);\n }\n })();\n (function () {\n if (isAndroid) {\n compatParams.set(\"useSystemFonts\", false);\n }\n })();\n}\nconst OptionKind = {\n BROWSER: 0x01,\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n EVENT_DISPATCH: 0x10,\n PREFERENCE: 0x80\n};\nconst Type = {\n BOOLEAN: 0x01,\n NUMBER: 0x02,\n OBJECT: 0x04,\n STRING: 0x08,\n UNDEFINED: 0x10\n};\nconst defaultOptions = {\n allowedGlobalEvents: {\n value: null,\n kind: OptionKind.BROWSER\n },\n canvasMaxAreaInBytes: {\n value: -1,\n kind: OptionKind.BROWSER + OptionKind.API\n },\n isInAutomation: {\n value: false,\n kind: OptionKind.BROWSER\n },\n localeProperties: {\n value: {\n lang: navigator.language || \"en-US\"\n },\n kind: OptionKind.BROWSER\n },\n nimbusDataStr: {\n value: \"\",\n kind: OptionKind.BROWSER\n },\n supportsCaretBrowsingMode: {\n value: false,\n kind: OptionKind.BROWSER\n },\n supportsDocumentFonts: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsIntegratedFind: {\n value: false,\n kind: OptionKind.BROWSER\n },\n supportsMouseWheelZoomCtrlKey: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsMouseWheelZoomMetaKey: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsPinchToZoom: {\n value: true,\n kind: OptionKind.BROWSER\n },\n toolbarDensity: {\n value: 0,\n kind: OptionKind.BROWSER + OptionKind.EVENT_DISPATCH\n },\n altTextLearnMoreUrl: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationEditorMode: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n debuggerSrc: {\n value: \"./debugger.mjs\",\n kind: OptionKind.VIEWER\n },\n defaultZoomDelay: {\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableAltText: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableAltTextModelDownload: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH\n },\n enableGuessAltText: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH\n },\n enableHighlightFloatingButton: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableNewAltTextWhenAddingImage: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableUpdatedAddImage: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n highlightEditorColors: {\n value: \"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 2 ** 25,\n kind: OptionKind.VIEWER\n },\n forcePageColors: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableHWA: {\n value: true,\n kind: OptionKind.API + OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n isOffscreenCanvasSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n useSystemFonts: {\n value: undefined,\n kind: OptionKind.API,\n type: Type.BOOLEAN + Type.UNDEFINED\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.mjs\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.defaultUrl = {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.mjs\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.viewerCssTheme = {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n };\n defaultOptions.enableFakeMLManager = {\n value: true,\n kind: OptionKind.VIEWER\n };\n}\n{\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n}\nclass AppOptions {\n static eventBus;\n static #opts = new Map();\n static {\n for (const name in defaultOptions) {\n this.#opts.set(name, defaultOptions[name].value);\n }\n for (const [name, value] of compatParams) {\n this.#opts.set(name, value);\n }\n this._hasInvokedSet = false;\n this._checkDisablePreferences = () => {\n if (this.get(\"disablePreferences\")) {\n return true;\n }\n if (this._hasInvokedSet) {\n console.warn(\"The Preferences may override manually set AppOptions; \" + 'please use the \"disablePreferences\"-option to prevent that.');\n }\n return false;\n };\n }\n static get(name) {\n return this.#opts.get(name);\n }\n static getAll(kind = null, defaultOnly = false) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOpt = defaultOptions[name];\n if (kind && !(kind & defaultOpt.kind)) {\n continue;\n }\n options[name] = !defaultOnly ? this.#opts.get(name) : defaultOpt.value;\n }\n return options;\n }\n static set(name, value) {\n this.setAll({\n [name]: value\n });\n }\n static setAll(options, prefs = false) {\n this._hasInvokedSet ||= true;\n let events;\n for (const name in options) {\n const defaultOpt = defaultOptions[name],\n userOpt = options[name];\n if (!defaultOpt || !(typeof userOpt === typeof defaultOpt.value || Type[(typeof userOpt).toUpperCase()] & defaultOpt.type)) {\n continue;\n }\n const {\n kind\n } = defaultOpt;\n if (prefs && !(kind & OptionKind.BROWSER || kind & OptionKind.PREFERENCE)) {\n continue;\n }\n if (this.eventBus && kind & OptionKind.EVENT_DISPATCH) {\n (events ||= new Map()).set(name, userOpt);\n }\n this.#opts.set(name, userOpt);\n }\n if (events) {\n for (const [name, value] of events) {\n this.eventBus.dispatch(name.toLowerCase(), {\n source: this,\n value\n });\n }\n }\n }\n}\n\n;// ./web/draw_layer_builder.js\n\nclass DrawLayerBuilder {\n #drawLayer = null;\n constructor(options) {\n this.pageIndex = options.pageIndex;\n }\n async render(intent = \"display\") {\n if (intent !== \"display\" || this.#drawLayer || this._cancelled) {\n return;\n }\n this.#drawLayer = new DrawLayer({\n pageIndex: this.pageIndex\n });\n }\n cancel() {\n this._cancelled = true;\n if (!this.#drawLayer) {\n return;\n }\n this.#drawLayer.destroy();\n this.#drawLayer = null;\n }\n setParent(parent) {\n this.#drawLayer?.setParent(parent);\n }\n getDrawLayer() {\n return this.#drawLayer;\n }\n}\n\n;// ./web/struct_tree_layer_builder.js\n\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst HEADING_PATTERN = /^H(\\d+)$/;\nclass StructTreeLayerBuilder {\n #promise;\n #treeDom = null;\n #treePromise;\n #elementAttributes = new Map();\n #rawDims;\n #elementsToAddToTextLayer = null;\n constructor(pdfPage, rawDims) {\n this.#promise = pdfPage.getStructTree();\n this.#rawDims = rawDims;\n }\n async render() {\n if (this.#treePromise) {\n return this.#treePromise;\n }\n const {\n promise,\n resolve,\n reject\n } = Promise.withResolvers();\n this.#treePromise = promise;\n try {\n this.#treeDom = this.#walk(await this.#promise);\n } catch (ex) {\n reject(ex);\n }\n this.#promise = null;\n this.#treeDom?.classList.add(\"structTree\");\n resolve(this.#treeDom);\n return promise;\n }\n async getAriaAttributes(annotationId) {\n try {\n await this.render();\n return this.#elementAttributes.get(annotationId);\n } catch {}\n return null;\n }\n hide() {\n if (this.#treeDom && !this.#treeDom.hidden) {\n this.#treeDom.hidden = true;\n }\n }\n show() {\n if (this.#treeDom?.hidden) {\n this.#treeDom.hidden = false;\n }\n }\n #setAttributes(structElement, htmlElement) {\n const {\n alt,\n id,\n lang\n } = structElement;\n if (alt !== undefined) {\n let added = false;\n const label = removeNullCharacters(alt);\n for (const child of structElement.children) {\n if (child.type === \"annotation\") {\n let attrs = this.#elementAttributes.get(child.id);\n if (!attrs) {\n attrs = new Map();\n this.#elementAttributes.set(child.id, attrs);\n }\n attrs.set(\"aria-label\", label);\n added = true;\n }\n }\n if (!added) {\n htmlElement.setAttribute(\"aria-label\", label);\n }\n }\n if (id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", id);\n }\n if (lang !== undefined) {\n htmlElement.setAttribute(\"lang\", removeNullCharacters(lang, true));\n }\n }\n #addImageInTextLayer(node, element) {\n const {\n alt,\n bbox,\n children\n } = node;\n const child = children?.[0];\n if (!this.#rawDims || !alt || !bbox || child?.type !== \"content\") {\n return false;\n }\n const {\n id\n } = child;\n if (!id) {\n return false;\n }\n element.setAttribute(\"aria-owns\", id);\n const img = document.createElement(\"span\");\n (this.#elementsToAddToTextLayer ||= new Map()).set(id, img);\n img.setAttribute(\"role\", \"img\");\n img.setAttribute(\"aria-label\", removeNullCharacters(alt));\n const {\n pageHeight,\n pageX,\n pageY\n } = this.#rawDims;\n const calc = \"calc(var(--scale-factor)*\";\n const {\n style\n } = img;\n style.width = `${calc}${bbox[2] - bbox[0]}px)`;\n style.height = `${calc}${bbox[3] - bbox[1]}px)`;\n style.left = `${calc}${bbox[0] - pageX}px)`;\n style.top = `${calc}${pageHeight - bbox[3] + pageY}px)`;\n return true;\n }\n addElementsToTextLayer() {\n if (!this.#elementsToAddToTextLayer) {\n return;\n }\n for (const [id, img] of this.#elementsToAddToTextLayer) {\n document.getElementById(id)?.append(img);\n }\n this.#elementsToAddToTextLayer.clear();\n this.#elementsToAddToTextLayer = null;\n }\n #walk(node) {\n if (!node) {\n return null;\n }\n const element = document.createElement(\"span\");\n if (\"role\" in node) {\n const {\n role\n } = node;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n if (role === \"Figure\" && this.#addImageInTextLayer(node, element)) {\n return element;\n }\n }\n this.#setAttributes(node, element);\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this.#setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this.#walk(kid));\n }\n }\n }\n return element;\n }\n}\n\n;// ./web/text_accessibility.js\n\nclass TextAccessibilityManager {\n #enabled = false;\n #textChildren = null;\n #textNodes = new Map();\n #waitingElements = new Map();\n setTextMapping(textDivs) {\n this.#textChildren = textDivs;\n }\n static #compareElementPositions(e1, e2) {\n const rect1 = e1.getBoundingClientRect();\n const rect2 = e2.getBoundingClientRect();\n if (rect1.width === 0 && rect1.height === 0) {\n return +1;\n }\n if (rect2.width === 0 && rect2.height === 0) {\n return -1;\n }\n const top1 = rect1.y;\n const bot1 = rect1.y + rect1.height;\n const mid1 = rect1.y + rect1.height / 2;\n const top2 = rect2.y;\n const bot2 = rect2.y + rect2.height;\n const mid2 = rect2.y + rect2.height / 2;\n if (mid1 <= top2 && mid2 >= bot1) {\n return -1;\n }\n if (mid2 <= top1 && mid1 >= bot2) {\n return +1;\n }\n const centerX1 = rect1.x + rect1.width / 2;\n const centerX2 = rect2.x + rect2.width / 2;\n return centerX1 - centerX2;\n }\n enable() {\n if (this.#enabled) {\n throw new Error(\"TextAccessibilityManager is already enabled.\");\n }\n if (!this.#textChildren) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n this.#enabled = true;\n this.#textChildren = this.#textChildren.slice();\n this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions);\n if (this.#textNodes.size > 0) {\n const textChildren = this.#textChildren;\n for (const [id, nodeIndex] of this.#textNodes) {\n const element = document.getElementById(id);\n if (!element) {\n this.#textNodes.delete(id);\n continue;\n }\n this.#addIdToAriaOwns(id, textChildren[nodeIndex]);\n }\n }\n for (const [element, isRemovable] of this.#waitingElements) {\n this.addPointerInTextLayer(element, isRemovable);\n }\n this.#waitingElements.clear();\n }\n disable() {\n if (!this.#enabled) {\n return;\n }\n this.#waitingElements.clear();\n this.#textChildren = null;\n this.#enabled = false;\n }\n removePointerInTextLayer(element) {\n if (!this.#enabled) {\n this.#waitingElements.delete(element);\n return;\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const {\n id\n } = element;\n const nodeIndex = this.#textNodes.get(id);\n if (nodeIndex === undefined) {\n return;\n }\n const node = children[nodeIndex];\n this.#textNodes.delete(id);\n let owns = node.getAttribute(\"aria-owns\");\n if (owns?.includes(id)) {\n owns = owns.split(\" \").filter(x => x !== id).join(\" \");\n if (owns) {\n node.setAttribute(\"aria-owns\", owns);\n } else {\n node.removeAttribute(\"aria-owns\");\n node.setAttribute(\"role\", \"presentation\");\n }\n }\n }\n #addIdToAriaOwns(id, node) {\n const owns = node.getAttribute(\"aria-owns\");\n if (!owns?.includes(id)) {\n node.setAttribute(\"aria-owns\", owns ? `${owns} ${id}` : id);\n }\n node.removeAttribute(\"role\");\n }\n addPointerInTextLayer(element, isRemovable) {\n const {\n id\n } = element;\n if (!id) {\n return null;\n }\n if (!this.#enabled) {\n this.#waitingElements.set(element, isRemovable);\n return null;\n }\n if (isRemovable) {\n this.removePointerInTextLayer(element);\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return null;\n }\n const index = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);\n const nodeIndex = Math.max(0, index - 1);\n const child = children[nodeIndex];\n this.#addIdToAriaOwns(id, child);\n this.#textNodes.set(id, nodeIndex);\n const parent = child.parentNode;\n return parent?.classList.contains(\"markedContent\") ? parent.id : null;\n }\n moveElementInDOM(container, element, contentElement, isRemovable) {\n const id = this.addPointerInTextLayer(contentElement, isRemovable);\n if (!container.hasChildNodes()) {\n container.append(element);\n return id;\n }\n const children = Array.from(container.childNodes).filter(node => node !== element);\n if (children.length === 0) {\n return id;\n }\n const elementToCompare = contentElement || element;\n const index = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0);\n if (index === 0) {\n children[0].before(element);\n } else {\n children[index - 1].after(element);\n }\n return id;\n }\n}\n\n;// ./web/text_highlighter.js\nclass TextHighlighter {\n #eventAbortController = null;\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n this.enabled = true;\n if (!this.#eventAbortController) {\n this.#eventAbortController = new AbortController();\n this.eventBus._on(\"updatetextlayermatches\", evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n }, {\n signal: this.#eventAbortController.signal\n });\n }\n this._updateMatches();\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabled = false;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this._updateMatches(true);\n }\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n return result;\n }\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.before(span);\n span.append(div);\n textDivs[divIdx] = span;\n div = span;\n }\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.append(node);\n div.append(span);\n return className.includes(\"selected\") ? span.offsetLeft : 0;\n }\n div.append(node);\n return 0;\n }\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n let lastDivIdx = -1;\n let lastOffset = -1;\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n if (begin.divIdx === lastDivIdx && begin.offset === lastOffset) {\n continue;\n }\n lastDivIdx = begin.divIdx;\n lastOffset = begin.offset;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n prevEnd = end;\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n _updateMatches(reset = false) {\n if (!this.enabled && !reset) {\n return;\n }\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n for (const match of matches) {\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (!findController?.highlightMatches || reset) {\n return;\n }\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n this._renderMatches(this.matches);\n }\n}\n\n;// ./web/text_layer_builder.js\n\n\nclass TextLayerBuilder {\n #enablePermissions = false;\n #onAppend = null;\n #renderingDone = false;\n #textLayer = null;\n static #textLayers = new Map();\n static #selectionChangeAbortController = null;\n constructor({\n pdfPage,\n highlighter = null,\n accessibilityManager = null,\n enablePermissions = false,\n onAppend = null\n }) {\n this.pdfPage = pdfPage;\n this.highlighter = highlighter;\n this.accessibilityManager = accessibilityManager;\n this.#enablePermissions = enablePermissions === true;\n this.#onAppend = onAppend;\n this.div = document.createElement(\"div\");\n this.div.tabIndex = 0;\n this.div.className = \"textLayer\";\n }\n async render(viewport, textContentParams = null) {\n if (this.#renderingDone && this.#textLayer) {\n this.#textLayer.update({\n viewport,\n onBefore: this.hide.bind(this)\n });\n this.show();\n return;\n }\n this.cancel();\n this.#textLayer = new TextLayer({\n textContentSource: this.pdfPage.streamTextContent(textContentParams || {\n includeMarkedContent: true,\n disableNormalization: true\n }),\n container: this.div,\n viewport\n });\n const {\n textDivs,\n textContentItemsStr\n } = this.#textLayer;\n this.highlighter?.setTextMapping(textDivs, textContentItemsStr);\n this.accessibilityManager?.setTextMapping(textDivs);\n await this.#textLayer.render();\n this.#renderingDone = true;\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.div.append(endOfContent);\n this.#bindMouse(endOfContent);\n this.#onAppend?.(this.div);\n this.highlighter?.enable();\n this.accessibilityManager?.enable();\n }\n hide() {\n if (!this.div.hidden && this.#renderingDone) {\n this.highlighter?.disable();\n this.div.hidden = true;\n }\n }\n show() {\n if (this.div.hidden && this.#renderingDone) {\n this.div.hidden = false;\n this.highlighter?.enable();\n }\n }\n cancel() {\n this.#textLayer?.cancel();\n this.#textLayer = null;\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n TextLayerBuilder.#removeGlobalSelectionListener(this.div);\n }\n #bindMouse(end) {\n const {\n div\n } = this;\n div.addEventListener(\"mousedown\", () => {\n div.classList.add(\"selecting\");\n });\n div.addEventListener(\"copy\", event => {\n if (!this.#enablePermissions) {\n const selection = document.getSelection();\n event.clipboardData.setData(\"text/plain\", removeNullCharacters(normalizeUnicode(selection.toString())));\n }\n event.preventDefault();\n event.stopPropagation();\n });\n TextLayerBuilder.#textLayers.set(div, end);\n TextLayerBuilder.#enableGlobalSelectionListener();\n }\n static #removeGlobalSelectionListener(textLayerDiv) {\n this.#textLayers.delete(textLayerDiv);\n if (this.#textLayers.size === 0) {\n this.#selectionChangeAbortController?.abort();\n this.#selectionChangeAbortController = null;\n }\n }\n static #enableGlobalSelectionListener() {\n if (this.#selectionChangeAbortController) {\n return;\n }\n this.#selectionChangeAbortController = new AbortController();\n const {\n signal\n } = this.#selectionChangeAbortController;\n const reset = (end, textLayer) => {\n textLayer.append(end);\n end.style.width = \"\";\n end.style.height = \"\";\n textLayer.classList.remove(\"selecting\");\n };\n let isPointerDown = false;\n document.addEventListener(\"pointerdown\", () => {\n isPointerDown = true;\n }, {\n signal\n });\n document.addEventListener(\"pointerup\", () => {\n isPointerDown = false;\n this.#textLayers.forEach(reset);\n }, {\n signal\n });\n window.addEventListener(\"blur\", () => {\n isPointerDown = false;\n this.#textLayers.forEach(reset);\n }, {\n signal\n });\n document.addEventListener(\"keyup\", () => {\n if (!isPointerDown) {\n this.#textLayers.forEach(reset);\n }\n }, {\n signal\n });\n var isFirefox, prevRange;\n document.addEventListener(\"selectionchange\", () => {\n const selection = document.getSelection();\n if (selection.rangeCount === 0) {\n this.#textLayers.forEach(reset);\n return;\n }\n const activeTextLayers = new Set();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n for (const textLayerDiv of this.#textLayers.keys()) {\n if (!activeTextLayers.has(textLayerDiv) && range.intersectsNode(textLayerDiv)) {\n activeTextLayers.add(textLayerDiv);\n }\n }\n }\n for (const [textLayerDiv, endDiv] of this.#textLayers) {\n if (activeTextLayers.has(textLayerDiv)) {\n textLayerDiv.classList.add(\"selecting\");\n } else {\n reset(endDiv, textLayerDiv);\n }\n }\n isFirefox ??= getComputedStyle(this.#textLayers.values().next().value).getPropertyValue(\"-moz-user-select\") === \"none\";\n if (isFirefox) {\n return;\n }\n const range = selection.getRangeAt(0);\n const modifyStart = prevRange && (range.compareBoundaryPoints(Range.END_TO_END, prevRange) === 0 || range.compareBoundaryPoints(Range.START_TO_END, prevRange) === 0);\n let anchor = modifyStart ? range.startContainer : range.endContainer;\n if (anchor.nodeType === Node.TEXT_NODE) {\n anchor = anchor.parentNode;\n }\n const parentTextLayer = anchor.parentElement?.closest(\".textLayer\");\n const endDiv = this.#textLayers.get(parentTextLayer);\n if (endDiv) {\n endDiv.style.width = parentTextLayer.style.width;\n endDiv.style.height = parentTextLayer.style.height;\n anchor.parentElement.insertBefore(endDiv, modifyStart ? anchor : anchor.nextSibling);\n }\n prevRange = range.cloneRange();\n }, {\n signal\n });\n }\n}\n\n;// ./web/xfa_layer_builder.js\n\nclass XfaLayerBuilder {\n constructor({\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n async render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n this.div = document.createElement(\"div\");\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n }\n const xfaHtml = await this.pdfPage.getXfa();\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n if (this.div) {\n return XfaLayer.update(parameters);\n }\n this.div = document.createElement(\"div\");\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n }\n cancel() {\n this._cancelled = true;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\n;// ./web/pdf_page_view.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DEFAULT_LAYER_PROPERTIES = {\n annotationEditorUIManager: null,\n annotationStorage: null,\n downloadManager: null,\n enableScripting: false,\n fieldObjectsPromise: null,\n findController: null,\n hasJSActionsPromise: null,\n get linkService() {\n return new SimpleLinkService();\n }\n};\nconst LAYERS_ORDER = new Map([[\"canvasWrapper\", 0], [\"textLayer\", 1], [\"annotationLayer\", 2], [\"annotationEditorLayer\", 3], [\"xfaLayer\", 3]]);\nclass PDFPageView {\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n #enableHWA = false;\n #hasRestrictedScaling = false;\n #isEditing = false;\n #layerProperties = null;\n #loadingId = null;\n #previousRotation = null;\n #scaleRoundX = 1;\n #scaleRoundY = 1;\n #renderError = null;\n #renderingState = RenderingStates.INITIAL;\n #textLayerMode = TextLayerMode.ENABLE;\n #useThumbnailCanvas = {\n directDrawing: true,\n initialOptionalContent: true,\n regularAnnotations: true\n };\n #viewportMap = new WeakMap();\n #layers = [null, null, null, null];\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.#layerProperties = options.layerProperties || DEFAULT_LAYER_PROPERTIES;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.maxCanvasPixels = options.maxCanvasPixels ?? AppOptions.get(\"maxCanvasPixels\");\n this.pageColors = options.pageColors || null;\n this.#enableHWA = options.enableHWA || false;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.renderTask = null;\n this.resume = null;\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._container = container;\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.annotationEditorLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n this.drawLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n div.setAttribute(\"data-l10n-id\", \"pdfjs-page-landmark\");\n div.setAttribute(\"data-l10n-args\", JSON.stringify({\n page: this.id\n }));\n this.div = div;\n this.#setDimensions();\n container?.append(div);\n if (this._isStandalone) {\n container?.style.setProperty(\"--scale-factor\", this.scale * PixelsPerInch.PDF_TO_CSS_UNITS);\n if (this.pageColors?.background) {\n container?.style.setProperty(\"--page-bg-color\", this.pageColors.background);\n }\n const {\n optionalContentConfigPromise\n } = options;\n if (optionalContentConfigPromise) {\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n if (!options.l10n) {\n this.l10n.translate(this.div);\n }\n }\n }\n #addLayer(div, name) {\n const pos = LAYERS_ORDER.get(name);\n const oldDiv = this.#layers[pos];\n this.#layers[pos] = div;\n if (oldDiv) {\n oldDiv.replaceWith(div);\n return;\n }\n for (let i = pos - 1; i >= 0; i--) {\n const layer = this.#layers[i];\n if (layer) {\n layer.after(div);\n return;\n }\n }\n this.div.prepend(div);\n }\n get renderingState() {\n return this.#renderingState;\n }\n set renderingState(state) {\n if (state === this.#renderingState) {\n return;\n }\n this.#renderingState = state;\n if (this.#loadingId) {\n clearTimeout(this.#loadingId);\n this.#loadingId = null;\n }\n switch (state) {\n case RenderingStates.PAUSED:\n this.div.classList.remove(\"loading\");\n break;\n case RenderingStates.RUNNING:\n this.div.classList.add(\"loadingIcon\");\n this.#loadingId = setTimeout(() => {\n this.div.classList.add(\"loading\");\n this.#loadingId = null;\n }, 0);\n break;\n case RenderingStates.INITIAL:\n case RenderingStates.FINISHED:\n this.div.classList.remove(\"loadingIcon\", \"loading\");\n break;\n }\n }\n #setDimensions() {\n const {\n viewport\n } = this;\n if (this.pdfPage) {\n if (this.#previousRotation === viewport.rotation) {\n return;\n }\n this.#previousRotation = viewport.rotation;\n }\n setLayerDimensions(this.div, viewport, true, false);\n }\n setPdfPage(pdfPage) {\n if (this._isStandalone && (this.pageColors?.foreground === \"CanvasText\" || this.pageColors?.background === \"Canvas\")) {\n this._container?.style.setProperty(\"--hcm-highlight-filter\", pdfPage.filterFactory.addHighlightHCMFilter(\"highlight\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n this._container?.style.setProperty(\"--hcm-highlight-selected-filter\", pdfPage.filterFactory.addHighlightHCMFilter(\"highlight_selected\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n }\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n this.reset();\n }\n destroy() {\n this.reset();\n this.pdfPage?.cleanup();\n }\n hasEditableAnnotations() {\n return !!this.annotationLayer?.hasEditableAnnotations();\n }\n get _textHighlighter() {\n return shadow(this, \"_textHighlighter\", new TextHighlighter({\n pageIndex: this.id - 1,\n eventBus: this.eventBus,\n findController: this.#layerProperties.findController\n }));\n }\n #dispatchLayerRendered(name, error) {\n this.eventBus.dispatch(name, {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n async #renderAnnotationLayer() {\n let error = null;\n try {\n await this.annotationLayer.render(this.viewport, {\n structTreeLayer: this.structTreeLayer\n }, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.#dispatchLayerRendered(\"annotationlayerrendered\", error);\n }\n }\n async #renderAnnotationEditorLayer() {\n let error = null;\n try {\n await this.annotationEditorLayer.render(this.viewport, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationEditorLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.#dispatchLayerRendered(\"annotationeditorlayerrendered\", error);\n }\n }\n async #renderDrawLayer() {\n try {\n await this.drawLayer.render(\"display\");\n } catch (ex) {\n console.error(`#renderDrawLayer: \"${ex}\".`);\n }\n }\n async #renderXfaLayer() {\n let error = null;\n try {\n const result = await this.xfaLayer.render(this.viewport, \"display\");\n if (result?.textDivs && this._textHighlighter) {\n this.#buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n console.error(`#renderXfaLayer: \"${ex}\".`);\n error = ex;\n } finally {\n if (this.xfaLayer?.div) {\n this.l10n.pause();\n this.#addLayer(this.xfaLayer.div, \"xfaLayer\");\n this.l10n.resume();\n }\n this.#dispatchLayerRendered(\"xfalayerrendered\", error);\n }\n }\n async #renderTextLayer() {\n if (!this.textLayer) {\n return;\n }\n let error = null;\n try {\n await this.textLayer.render(this.viewport);\n } catch (ex) {\n if (ex instanceof AbortException) {\n return;\n }\n console.error(`#renderTextLayer: \"${ex}\".`);\n error = ex;\n }\n this.#dispatchLayerRendered(\"textlayerrendered\", error);\n this.#renderStructTreeLayer();\n }\n async #renderStructTreeLayer() {\n if (!this.textLayer) {\n return;\n }\n const treeDom = await this.structTreeLayer?.render();\n if (treeDom) {\n this.l10n.pause();\n this.structTreeLayer?.addElementsToTextLayer();\n if (this.canvas && treeDom.parentNode !== this.canvas) {\n this.canvas.append(treeDom);\n }\n this.l10n.resume();\n }\n this.structTreeLayer?.show();\n }\n async #buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n for (const item of text.items) {\n items.push(item.str);\n }\n this._textHighlighter.setTextMapping(textDivs, items);\n this._textHighlighter.enable();\n }\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.#viewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n this.zoomLayer = null;\n }\n reset({\n keepZoomLayer = false,\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false\n } = {}) {\n this.cancelRendering({\n keepAnnotationLayer,\n keepAnnotationEditorLayer,\n keepXfaLayer,\n keepTextLayer\n });\n this.renderingState = RenderingStates.INITIAL;\n const div = this.div;\n const childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null,\n textLayerNode = keepTextLayer && this.textLayer?.div || null;\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case annotationEditorLayerNode:\n case xfaLayerNode:\n case textLayerNode:\n continue;\n }\n node.remove();\n const layerIndex = this.#layers.indexOf(node);\n if (layerIndex >= 0) {\n this.#layers[layerIndex] = null;\n }\n }\n div.removeAttribute(\"data-loaded\");\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n if (annotationEditorLayerNode) {\n this.annotationEditorLayer.hide();\n }\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n if (textLayerNode) {\n this.textLayer.hide();\n }\n this.structTreeLayer?.hide();\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.#viewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n this._resetZoomLayer();\n }\n }\n toggleEditingMode(isEditing) {\n if (!this.hasEditableAnnotations()) {\n return;\n }\n this.#isEditing = isEditing;\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true\n });\n }\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null,\n drawingDelay = -1\n }) {\n this.scale = scale || this.scale;\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n this.#useThumbnailCanvas.directDrawing = true;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n if (this._isStandalone) {\n this._container?.style.setProperty(\"--scale-factor\", this.viewport.scale);\n }\n if (this.canvas) {\n let onlyCssZoom = false;\n if (this.#hasRestrictedScaling) {\n if (this.maxCanvasPixels === 0) {\n onlyCssZoom = true;\n } else if (this.maxCanvasPixels > 0) {\n const {\n width,\n height\n } = this.viewport;\n const {\n sx,\n sy\n } = this.outputScale;\n onlyCssZoom = (Math.floor(width) * sx | 0) * (Math.floor(height) * sy | 0) > this.maxCanvasPixels;\n }\n }\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n if (postponeDrawing || onlyCssZoom) {\n if (postponeDrawing && !onlyCssZoom && this.renderingState !== RenderingStates.FINISHED) {\n this.cancelRendering({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n cancelExtraDelay: drawingDelay\n });\n this.renderingState = RenderingStates.FINISHED;\n this.#useThumbnailCanvas.directDrawing = false;\n }\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawAnnotationEditorLayer: true,\n redrawXfaLayer: true,\n redrawTextLayer: !postponeDrawing,\n hideTextLayer: postponeDrawing\n });\n if (postponeDrawing) {\n return;\n }\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this.#renderError\n });\n return;\n }\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true\n });\n }\n cancelRendering({\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false,\n cancelExtraDelay = 0\n } = {}) {\n if (this.renderTask) {\n this.renderTask.cancel(cancelExtraDelay);\n this.renderTask = null;\n }\n this.resume = null;\n if (this.textLayer && (!keepTextLayer || !this.textLayer.div)) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n if (this.structTreeLayer && !this.textLayer) {\n this.structTreeLayer = null;\n }\n if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {\n if (this.drawLayer) {\n this.drawLayer.cancel();\n this.drawLayer = null;\n }\n this.annotationEditorLayer.cancel();\n this.annotationEditorLayer = null;\n }\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this._textHighlighter?.disable();\n }\n }\n cssTransform({\n target,\n redrawAnnotationLayer = false,\n redrawAnnotationEditorLayer = false,\n redrawXfaLayer = false,\n redrawTextLayer = false,\n hideTextLayer = false\n }) {\n if (!target.hasAttribute(\"zooming\")) {\n target.setAttribute(\"zooming\", true);\n const {\n style\n } = target;\n style.width = style.height = \"\";\n }\n const originalViewport = this.#viewportMap.get(target);\n if (this.viewport !== originalViewport) {\n const relativeRotation = this.viewport.rotation - originalViewport.rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n if (absRotation === 90 || absRotation === 270) {\n const {\n width,\n height\n } = this.viewport;\n scaleX = height / width;\n scaleY = width / height;\n }\n target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;\n }\n if (redrawAnnotationLayer && this.annotationLayer) {\n this.#renderAnnotationLayer();\n }\n if (redrawAnnotationEditorLayer && this.annotationEditorLayer) {\n if (this.drawLayer) {\n this.#renderDrawLayer();\n }\n this.#renderAnnotationEditorLayer();\n }\n if (redrawXfaLayer && this.xfaLayer) {\n this.#renderXfaLayer();\n }\n if (this.textLayer) {\n if (hideTextLayer) {\n this.textLayer.hide();\n this.structTreeLayer?.hide();\n } else if (redrawTextLayer) {\n this.#renderTextLayer();\n }\n }\n }\n get width() {\n return this.viewport.width;\n }\n get height() {\n return this.viewport.height;\n }\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n async #finishRenderTask(renderTask, error = null) {\n if (renderTask === this.renderTask) {\n this.renderTask = null;\n }\n if (error instanceof RenderingCancelledException) {\n this.#renderError = null;\n return;\n }\n this.#renderError = error;\n this.renderingState = RenderingStates.FINISHED;\n this._resetZoomLayer(true);\n this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots;\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: this.#renderError\n });\n if (error) {\n throw error;\n }\n }\n async draw() {\n if (this.renderingState !== RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n const {\n div,\n l10n,\n pageColors,\n pdfPage,\n viewport\n } = this;\n if (!pdfPage) {\n this.renderingState = RenderingStates.FINISHED;\n throw new Error(\"pdfPage is not loaded\");\n }\n this.renderingState = RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.classList.add(\"canvasWrapper\");\n this.#addLayer(canvasWrapper, \"canvasWrapper\");\n if (!this.textLayer && this.#textLayerMode !== TextLayerMode.DISABLE && !pdfPage.isPureXfa) {\n this._accessibilityManager ||= new TextAccessibilityManager();\n this.textLayer = new TextLayerBuilder({\n pdfPage,\n highlighter: this._textHighlighter,\n accessibilityManager: this._accessibilityManager,\n enablePermissions: this.#textLayerMode === TextLayerMode.ENABLE_PERMISSIONS,\n onAppend: textLayerDiv => {\n this.l10n.pause();\n this.#addLayer(textLayerDiv, \"textLayer\");\n this.l10n.resume();\n }\n });\n }\n if (!this.annotationLayer && this.#annotationMode !== AnnotationMode.DISABLE) {\n const {\n annotationStorage,\n annotationEditorUIManager,\n downloadManager,\n enableScripting,\n fieldObjectsPromise,\n hasJSActionsPromise,\n linkService\n } = this.#layerProperties;\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer = new AnnotationLayerBuilder({\n pdfPage,\n annotationStorage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.#annotationMode === AnnotationMode.ENABLE_FORMS,\n linkService,\n downloadManager,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager,\n annotationEditorUIManager,\n onAppend: annotationLayerDiv => {\n this.#addLayer(annotationLayerDiv, \"annotationLayer\");\n }\n });\n }\n const renderContinueCallback = cont => {\n showCanvas?.(false);\n if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = RenderingStates.PAUSED;\n this.resume = () => {\n this.renderingState = RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n const {\n width,\n height\n } = viewport;\n const canvas = document.createElement(\"canvas\");\n canvas.setAttribute(\"role\", \"presentation\");\n canvas.hidden = true;\n const hasHCM = !!(pageColors?.background && pageColors?.foreground);\n let showCanvas = isLastShow => {\n if (!hasHCM || isLastShow) {\n canvas.hidden = false;\n showCanvas = null;\n }\n };\n canvasWrapper.append(canvas);\n this.canvas = canvas;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false,\n willReadFrequently: !this.#enableHWA\n });\n const outputScale = this.outputScale = new OutputScale();\n if (this.maxCanvasPixels === 0) {\n const invScale = 1 / this.scale;\n outputScale.sx *= invScale;\n outputScale.sy *= invScale;\n this.#hasRestrictedScaling = true;\n } else if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = width * height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n this.#hasRestrictedScaling = true;\n } else {\n this.#hasRestrictedScaling = false;\n }\n }\n const sfx = approximateFraction(outputScale.sx);\n const sfy = approximateFraction(outputScale.sy);\n const canvasWidth = canvas.width = floorToDivide(calcRound(width * outputScale.sx), sfx[0]);\n const canvasHeight = canvas.height = floorToDivide(calcRound(height * outputScale.sy), sfy[0]);\n const pageWidth = floorToDivide(calcRound(width), sfx[1]);\n const pageHeight = floorToDivide(calcRound(height), sfy[1]);\n outputScale.sx = canvasWidth / pageWidth;\n outputScale.sy = canvasHeight / pageHeight;\n if (this.#scaleRoundX !== sfx[1]) {\n div.style.setProperty(\"--scale-round-x\", `${sfx[1]}px`);\n this.#scaleRoundX = sfx[1];\n }\n if (this.#scaleRoundY !== sfy[1]) {\n div.style.setProperty(\"--scale-round-y\", `${sfy[1]}px`);\n this.#scaleRoundY = sfy[1];\n }\n this.#viewportMap.set(canvas, viewport);\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors,\n isEditing: this.#isEditing\n };\n const renderTask = this.renderTask = pdfPage.render(renderContext);\n renderTask.onContinue = renderContinueCallback;\n const resultPromise = renderTask.promise.then(async () => {\n showCanvas?.(true);\n await this.#finishRenderTask(renderTask);\n this.structTreeLayer ||= new StructTreeLayerBuilder(pdfPage, viewport.rawDims);\n this.#renderTextLayer();\n if (this.annotationLayer) {\n await this.#renderAnnotationLayer();\n }\n const {\n annotationEditorUIManager\n } = this.#layerProperties;\n if (!annotationEditorUIManager) {\n return;\n }\n this.drawLayer ||= new DrawLayerBuilder({\n pageIndex: this.id\n });\n await this.#renderDrawLayer();\n this.drawLayer.setParent(canvasWrapper);\n this.annotationEditorLayer ||= new AnnotationEditorLayerBuilder({\n uiManager: annotationEditorUIManager,\n pdfPage,\n l10n,\n structTreeLayer: this.structTreeLayer,\n accessibilityManager: this._accessibilityManager,\n annotationLayer: this.annotationLayer?.annotationLayer,\n textLayer: this.textLayer,\n drawLayer: this.drawLayer.getDrawLayer(),\n onAppend: annotationEditorLayerDiv => {\n this.#addLayer(annotationEditorLayerDiv, \"annotationEditorLayer\");\n }\n });\n this.#renderAnnotationEditorLayer();\n }, error => {\n if (!(error instanceof RenderingCancelledException)) {\n showCanvas?.(true);\n }\n return this.#finishRenderTask(renderTask, error);\n });\n if (pdfPage.isPureXfa) {\n if (!this.xfaLayer) {\n const {\n annotationStorage,\n linkService\n } = this.#layerProperties;\n this.xfaLayer = new XfaLayerBuilder({\n pdfPage,\n annotationStorage,\n linkService\n });\n }\n this.#renderXfaLayer();\n }\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n this.div.setAttribute(\"data-l10n-args\", JSON.stringify({\n page: this.pageLabel ?? this.id\n }));\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n get thumbnailCanvas() {\n const {\n directDrawing,\n initialOptionalContent,\n regularAnnotations\n } = this.#useThumbnailCanvas;\n return directDrawing && initialOptionalContent && regularAnnotations ? this.canvas : null;\n }\n}\n\n;// ./web/generic_scripting.js\n\nasync function docProperties(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\", 1)[0];\n let {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n if (!contentLength) {\n const {\n length\n } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n return {\n ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || getPdfFilenameFromUrl(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = new Promise((resolve, reject) => {\n const sandbox = import(/*webpackIgnore: true*/sandboxBundleSrc);\n sandbox.then(pdfjsSandbox => {\n resolve(pdfjsSandbox.QuickJSSandbox());\n }).catch(reject);\n });\n }\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n}\n\n;// ./web/pdf_scripting_manager.js\n\n\nclass PDFScriptingManager {\n #closeCapability = null;\n #destroyCapability = null;\n #docProperties = null;\n #eventAbortController = null;\n #eventBus = null;\n #externalServices = null;\n #pdfDocument = null;\n #pdfViewer = null;\n #ready = false;\n #scripting = null;\n #willPrintCapability = null;\n constructor({\n eventBus,\n externalServices = null,\n docProperties = null\n }) {\n this.#eventBus = eventBus;\n this.#externalServices = externalServices;\n this.#docProperties = docProperties;\n }\n setViewer(pdfViewer) {\n this.#pdfViewer = pdfViewer;\n }\n async setDocument(pdfDocument) {\n if (this.#pdfDocument) {\n await this.#destroyScripting();\n }\n this.#pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n if (!objects && !docActions) {\n await this.#destroyScripting();\n return;\n }\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n try {\n this.#scripting = this.#initScripting();\n } catch (error) {\n console.error(`setDocument: \"${error.message}\".`);\n await this.#destroyScripting();\n return;\n }\n const eventBus = this.#eventBus;\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n eventBus._on(\"updatefromsandbox\", event => {\n if (event?.source === window) {\n this.#updateFromSandbox(event.detail);\n }\n }, {\n signal\n });\n eventBus._on(\"dispatcheventinsandbox\", event => {\n this.#scripting?.dispatchEventInSandbox(event.detail);\n }, {\n signal\n });\n eventBus._on(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n this.#dispatchPageClose(previous);\n this.#dispatchPageOpen(pageNumber);\n }, {\n signal\n });\n eventBus._on(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n if (pageNumber !== this.#pdfViewer.currentPageNumber) {\n return;\n }\n this.#dispatchPageOpen(pageNumber);\n }, {\n signal\n });\n eventBus._on(\"pagesdestroy\", async () => {\n await this.#dispatchPageClose(this.#pdfViewer.currentPageNumber);\n await this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this.#closeCapability?.resolve();\n }, {\n signal\n });\n try {\n const docProperties = await this.#docProperties(pdfDocument);\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: {\n ...docProperties,\n actions: docActions\n }\n });\n eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(`setDocument: \"${error.message}\".`);\n await this.#destroyScripting();\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this.#dispatchPageOpen(this.#pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this.#pdfDocument) {\n this.#ready = true;\n }\n });\n }\n async dispatchWillSave() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n async dispatchDidSave() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n async dispatchWillPrint() {\n if (!this.#scripting) {\n return;\n }\n await this.#willPrintCapability?.promise;\n this.#willPrintCapability = Promise.withResolvers();\n try {\n await this.#scripting.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n } catch (ex) {\n this.#willPrintCapability.resolve();\n this.#willPrintCapability = null;\n throw ex;\n }\n await this.#willPrintCapability.promise;\n }\n async dispatchDidPrint() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n get destroyPromise() {\n return this.#destroyCapability?.promise || null;\n }\n get ready() {\n return this.#ready;\n }\n get _pageOpenPending() {\n return shadow(this, \"_pageOpenPending\", new Set());\n }\n get _visitedPages() {\n return shadow(this, \"_visitedPages\", new Map());\n }\n async #updateFromSandbox(detail) {\n const pdfViewer = this.#pdfViewer;\n const isInPresentationMode = pdfViewer.isInPresentationMode || pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n case \"error\":\n console.error(value);\n break;\n case \"layout\":\n if (!isInPresentationMode) {\n const modes = apiPageLayoutToViewerModes(value);\n pdfViewer.spreadMode = modes.spreadMode;\n }\n break;\n case \"page-num\":\n pdfViewer.currentPageNumber = value + 1;\n break;\n case \"print\":\n await pdfViewer.pagesPromise;\n this.#eventBus.dispatch(\"print\", {\n source: this\n });\n break;\n case \"println\":\n console.log(value);\n break;\n case \"zoom\":\n if (!isInPresentationMode) {\n pdfViewer.currentScaleValue = value;\n }\n break;\n case \"SaveAs\":\n this.#eventBus.dispatch(\"download\", {\n source: this\n });\n break;\n case \"FirstPage\":\n pdfViewer.currentPageNumber = 1;\n break;\n case \"LastPage\":\n pdfViewer.currentPageNumber = pdfViewer.pagesCount;\n break;\n case \"NextPage\":\n pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n pdfViewer.previousPage();\n break;\n case \"ZoomViewIn\":\n if (!isInPresentationMode) {\n pdfViewer.increaseScale();\n }\n break;\n case \"ZoomViewOut\":\n if (!isInPresentationMode) {\n pdfViewer.decreaseScale();\n }\n break;\n case \"WillPrintFinished\":\n this.#willPrintCapability?.resolve();\n this.#willPrintCapability = null;\n break;\n }\n return;\n }\n if (isInPresentationMode && detail.focus) {\n return;\n }\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n for (const elementId of ids) {\n const element = document.querySelector(`[data-element-id=\"${elementId}\"]`);\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this.#pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n async #dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this.#pdfDocument,\n visitedPages = this._visitedPages;\n if (initialize) {\n this.#closeCapability = Promise.withResolvers();\n }\n if (!this.#closeCapability) {\n return;\n }\n const pageView = this.#pdfViewer.getPageView(pageNumber - 1);\n if (pageView?.renderingState !== RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n return;\n }\n this._pageOpenPending.delete(pageNumber);\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n visitedPages.set(pageNumber, actionsPromise);\n }\n async #dispatchPageClose(pageNumber) {\n const pdfDocument = this.#pdfDocument,\n visitedPages = this._visitedPages;\n if (!this.#closeCapability) {\n return;\n }\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n const actionsPromise = visitedPages.get(pageNumber);\n if (!actionsPromise) {\n return;\n }\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n #initScripting() {\n this.#destroyCapability = Promise.withResolvers();\n if (this.#scripting) {\n throw new Error(\"#initScripting: Scripting already exists.\");\n }\n return this.#externalServices.createScripting();\n }\n async #destroyScripting() {\n if (!this.#scripting) {\n this.#pdfDocument = null;\n this.#destroyCapability?.resolve();\n return;\n }\n if (this.#closeCapability) {\n await Promise.race([this.#closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(() => {});\n this.#closeCapability = null;\n }\n this.#pdfDocument = null;\n try {\n await this.#scripting.destroySandbox();\n } catch {}\n this.#willPrintCapability?.reject(new Error(\"Scripting destroyed.\"));\n this.#willPrintCapability = null;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this._pageOpenPending.clear();\n this._visitedPages.clear();\n this.#scripting = null;\n this.#ready = false;\n this.#destroyCapability?.resolve();\n }\n}\n\n;// ./web/pdf_scripting_manager.component.js\n\n\nclass PDFScriptingManagerComponents extends PDFScriptingManager {\n constructor(options) {\n if (!options.externalServices) {\n window.addEventListener(\"updatefromsandbox\", event => {\n options.eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n options.externalServices ||= {\n createScripting: () => new GenericScripting(options.sandboxBundleSrc)\n };\n options.docProperties ||= pdfDocument => docProperties(pdfDocument);\n super(options);\n }\n}\n\n;// ./web/pdf_rendering_queue.js\n\n\nconst CLEANUP_TIMEOUT = 30000;\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n Object.defineProperty(this, \"hasViewer\", {\n value: () => !!this.pdfViewer\n });\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n if (numVisible === 0) {\n return null;\n }\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n const firstId = visible.first.id,\n lastId = visible.last.id;\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n if (visibleIds.has(holeId)) {\n continue;\n }\n const holeView = views[holeId - 1];\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n return null;\n }\n isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n renderView(view) {\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof RenderingCancelledException) {\n return;\n }\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n return true;\n }\n}\n\n;// ./web/pdf_viewer.js\n\n\n\n\n\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 10000,\n FORCE_LAZY_PAGE_INIT: 5000,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nfunction isValidAnnotationEditorMode(mode) {\n return Object.values(AnnotationEditorType).includes(mode) && mode !== AnnotationEditorType.DISABLE;\n}\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n constructor(size) {\n this.#size = size;\n }\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view);\n }\n buf.add(view);\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n has(view) {\n return this.#buf.has(view);\n }\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\nclass PDFViewer {\n #buffer = null;\n #altTextManager = null;\n #annotationEditorHighlightColors = null;\n #annotationEditorMode = AnnotationEditorType.NONE;\n #annotationEditorUIManager = null;\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n #containerTopLeft = null;\n #enableHWA = false;\n #enableHighlightFloatingButton = false;\n #enablePermissions = false;\n #enableUpdatedAddImage = false;\n #enableNewAltTextWhenAddingImage = false;\n #eventAbortController = null;\n #mlManager = null;\n #switchAnnotationEditorModeAC = null;\n #switchAnnotationEditorModeTimeoutId = null;\n #getAllTextInProgress = false;\n #hiddenCopyElement = null;\n #interruptCopyCondition = false;\n #previousContainerHeight = 0;\n #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this));\n #scrollModePageState = null;\n #scaleTimeoutId = null;\n #textLayerMode = TextLayerMode.ENABLE;\n constructor(options) {\n const viewerVersion = \"4.8.69\";\n if (version !== viewerVersion) {\n throw new Error(`The API version \"${version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n if (this.container?.tagName !== \"DIV\" || this.viewer?.tagName !== \"DIV\") {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n this.#resizeObserver.observe(this.container);\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.#altTextManager = options.altTextManager || null;\n if (this.findController) {\n this.findController.onIsPageVisible = pageNumber => this._getVisiblePages().ids.has(pageNumber);\n }\n this._scriptingManager = options.scriptingManager || null;\n this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode = options.annotationEditorMode ?? AnnotationEditorType.NONE;\n this.#annotationEditorHighlightColors = options.annotationEditorHighlightColors || null;\n this.#enableHighlightFloatingButton = options.enableHighlightFloatingButton === true;\n this.#enableUpdatedAddImage = options.enableUpdatedAddImage === true;\n this.#enableNewAltTextWhenAddingImage = options.enableNewAltTextWhenAddingImage === true;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.removePageBorders = options.removePageBorders || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n this.#mlManager = options.mlManager || null;\n this.#enableHWA = options.enableHWA || false;\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n const {\n abortSignal\n } = options;\n abortSignal?.addEventListener(\"abort\", () => {\n this.#resizeObserver.disconnect();\n this.#resizeObserver = null;\n }, {\n once: true\n });\n this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this), abortSignal);\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.#updateContainerHeightCss();\n this.eventBus._on(\"thumbnailrendered\", ({\n pageNumber,\n pdfPage\n }) => {\n const pageView = this._pages[pageNumber - 1];\n if (!this.#buffer.has(pageView)) {\n pdfPage?.cleanup();\n }\n });\n if (!options.l10n) {\n this.l10n.translate(this.container);\n }\n }\n get pagesCount() {\n return this._pages.length;\n }\n getPageView(index) {\n return this._pages[index];\n }\n getCachedPageViews() {\n return new Set(this.#buffer);\n }\n get pageViewsReady() {\n return this._pages.every(pageView => pageView?.pdfPage);\n }\n get renderForms() {\n return this.#annotationMode === AnnotationMode.ENABLE_FORMS;\n }\n get enableScripting() {\n return !!this._scriptingManager;\n }\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0;\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n get currentScale() {\n return this._currentScale !== UNKNOWN_SCALE ? this._currentScale : DEFAULT_SCALE;\n }\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get pagesRotation() {\n return this._pagesRotation;\n }\n set pagesRotation(rotation) {\n if (!isValidRotation(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return;\n }\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n this.refresh(true, {\n rotation\n });\n if (this._currentScaleValue) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n get _layerProperties() {\n const self = this;\n return shadow(this, \"_layerProperties\", {\n get annotationEditorUIManager() {\n return self.#annotationEditorUIManager;\n },\n get annotationStorage() {\n return self.pdfDocument?.annotationStorage;\n },\n get downloadManager() {\n return self.downloadManager;\n },\n get enableScripting() {\n return !!self._scriptingManager;\n },\n get fieldObjectsPromise() {\n return self.pdfDocument?.getFieldObjects();\n },\n get findController() {\n return self.findController;\n },\n get hasJSActionsPromise() {\n return self.pdfDocument?.hasJSActions();\n },\n get linkService() {\n return self.linkService;\n }\n });\n }\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.#textLayerMode\n };\n if (!permissions) {\n return params;\n }\n if (!permissions.includes(PermissionFlag.COPY) && this.#textLayerMode === TextLayerMode.ENABLE) {\n params.textLayerMode = TextLayerMode.ENABLE_PERMISSIONS;\n }\n if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = AnnotationEditorType.DISABLE;\n }\n if (!permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === AnnotationMode.ENABLE_FORMS) {\n params.annotationMode = AnnotationMode.ENABLE;\n }\n return params;\n }\n async #onePageRenderedOrForceFetch(signal) {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return;\n }\n const hiddenCapability = Promise.withResolvers(),\n ac = new AbortController();\n document.addEventListener(\"visibilitychange\", () => {\n if (document.visibilityState === \"hidden\") {\n hiddenCapability.resolve();\n }\n }, {\n signal: typeof AbortSignal.any === \"function\" ? AbortSignal.any([signal, ac.signal]) : signal\n });\n await Promise.race([this._onePageRenderedCapability.promise, hiddenCapability.promise]);\n ac.abort();\n }\n async getAllText() {\n const texts = [];\n const buffer = [];\n for (let pageNum = 1, pagesCount = this.pdfDocument.numPages; pageNum <= pagesCount; ++pageNum) {\n if (this.#interruptCopyCondition) {\n return null;\n }\n buffer.length = 0;\n const page = await this.pdfDocument.getPage(pageNum);\n const {\n items\n } = await page.getTextContent();\n for (const item of items) {\n if (item.str) {\n buffer.push(item.str);\n }\n if (item.hasEOL) {\n buffer.push(\"\\n\");\n }\n }\n texts.push(removeNullCharacters(buffer.join(\"\")));\n }\n return texts.join(\"\\n\");\n }\n #copyCallback(textLayerMode, event) {\n const selection = document.getSelection();\n const {\n focusNode,\n anchorNode\n } = selection;\n if (anchorNode && focusNode && selection.containsNode(this.#hiddenCopyElement)) {\n if (this.#getAllTextInProgress || textLayerMode === TextLayerMode.ENABLE_PERMISSIONS) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.#getAllTextInProgress = true;\n const {\n classList\n } = this.viewer;\n classList.add(\"copyAll\");\n const ac = new AbortController();\n window.addEventListener(\"keydown\", ev => this.#interruptCopyCondition = ev.key === \"Escape\", {\n signal: ac.signal\n });\n this.getAllText().then(async text => {\n if (text !== null) {\n await navigator.clipboard.writeText(text);\n }\n }).catch(reason => {\n console.warn(`Something goes wrong when extracting the text: ${reason.message}`);\n }).finally(() => {\n this.#getAllTextInProgress = false;\n this.#interruptCopyCondition = false;\n ac.abort();\n classList.remove(\"copyAll\");\n });\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n this._cancelRendering();\n this._resetView();\n this.findController?.setDocument(null);\n this._scriptingManager?.setDocument(null);\n this.#annotationEditorUIManager?.destroy();\n this.#annotationEditorUIManager = null;\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig({\n intent: \"display\"\n });\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n const {\n eventBus,\n pageColors,\n viewer\n } = this;\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = ScrollMode.PAGE;\n eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n this._pagesCapability.promise.then(() => {\n eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n const onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n if (!pageView) {\n return;\n }\n this.#buffer.push(pageView);\n };\n eventBus._on(\"pagerender\", onBeforeDraw, {\n signal\n });\n const onAfterDraw = evt => {\n if (evt.cssTransform) {\n return;\n }\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n eventBus._off(\"pagerendered\", onAfterDraw);\n };\n eventBus._on(\"pagerendered\", onAfterDraw, {\n signal\n });\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this._firstPageCapability.resolve(firstPdfPage);\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n const {\n annotationEditorMode,\n annotationMode,\n textLayerMode\n } = this.#initializePermissions(permissions);\n if (textLayerMode !== TextLayerMode.DISABLE) {\n const element = this.#hiddenCopyElement = document.createElement(\"div\");\n element.id = \"hiddenCopyElement\";\n viewer.before(element);\n }\n if (typeof AbortSignal.any === \"function\" && annotationEditorMode !== AnnotationEditorType.DISABLE) {\n const mode = annotationEditorMode;\n if (pdfDocument.isPureXfa) {\n console.warn(\"Warning: XFA-editing is not implemented.\");\n } else if (isValidAnnotationEditorMode(mode)) {\n this.#annotationEditorUIManager = new AnnotationEditorUIManager(this.container, viewer, this.#altTextManager, eventBus, pdfDocument, pageColors, this.#annotationEditorHighlightColors, this.#enableHighlightFloatingButton, this.#enableUpdatedAddImage, this.#enableNewAltTextWhenAddingImage, this.#mlManager);\n eventBus.dispatch(\"annotationeditoruimanager\", {\n source: this,\n uiManager: this.#annotationEditorUIManager\n });\n if (mode !== AnnotationEditorType.NONE) {\n if (mode === AnnotationEditorType.STAMP) {\n this.#mlManager?.loadModel(\"altText\");\n }\n this.#annotationEditorUIManager.updateMode(mode);\n }\n } else {\n console.error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n }\n const viewerElement = this._scrollMode === ScrollMode.PAGE ? null : viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * PixelsPerInch.PDF_TO_CSS_UNITS\n });\n viewer.style.setProperty(\"--scale-factor\", viewport.scale);\n if (pageColors?.background) {\n viewer.style.setProperty(\"--page-bg-color\", pageColors.background);\n }\n if (pageColors?.foreground === \"CanvasText\" || pageColors?.background === \"Canvas\") {\n viewer.style.setProperty(\"--hcm-highlight-filter\", pdfDocument.filterFactory.addHighlightHCMFilter(\"highlight\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n viewer.style.setProperty(\"--hcm-highlight-selected-filter\", pdfDocument.filterFactory.addHighlightHCMFilter(\"highlight_selected\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"ButtonText\"));\n }\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new PDFPageView({\n container: viewerElement,\n eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerMode,\n annotationMode,\n imageResourcesPath: this.imageResourcesPath,\n maxCanvasPixels: this.maxCanvasPixels,\n pageColors,\n l10n: this.l10n,\n layerProperties: this._layerProperties,\n enableHWA: this.#enableHWA\n });\n this._pages.push(pageView);\n }\n this._pages[0]?.setPdfPage(firstPdfPage);\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n this.#onePageRenderedOrForceFetch(signal).then(async () => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this.findController?.setDocument(pdfDocument);\n this._scriptingManager?.setDocument(pdfDocument);\n if (this.#hiddenCopyElement) {\n document.addEventListener(\"copy\", this.#copyCallback.bind(this, textLayerMode), {\n signal\n });\n }\n if (this.#annotationEditorUIManager) {\n eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode: this.#annotationEditorMode\n });\n }\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n return;\n }\n let getPagesLeft = pagesCount - 1;\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n return;\n }\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n if (info.Language) {\n viewer.lang = info.Language;\n }\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n this._pagesCapability.reject(reason);\n });\n }\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = Promise.withResolvers();\n this._onePageRenderedCapability = Promise.withResolvers();\n this._pagesCapability = Promise.withResolvers();\n this._scrollMode = ScrollMode.VERTICAL;\n this._previousScrollMode = ScrollMode.UNKNOWN;\n this._spreadMode = SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this.viewer.textContent = \"\";\n this._updateScrollMode();\n this.viewer.removeAttribute(\"lang\");\n this.#hiddenCopyElement?.remove();\n this.#hiddenCopyElement = null;\n this.#cleanupSwitchAnnotationEditorMode();\n }\n #ensurePageViewVisible() {\n if (this._scrollMode !== ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n if (this._spreadMode === SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.append(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.append(dummyPage);\n }\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n if (!pageView) {\n continue;\n }\n spread.append(pageView.div);\n state.pages.push(pageView);\n }\n viewer.append(spread);\n }\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n this.update();\n }\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n if (this._currentPageNumber !== id) {\n this._setCurrentPageNumber(id);\n }\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n this.update();\n }\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n if (this._scrollMode === ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n scrollIntoView(div, pageSpot);\n if (!this._currentScaleValue && this._location) {\n this._location = null;\n }\n }\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n #setScaleUpdatePages(newScale, newValue, {\n noScroll = false,\n preset = false,\n drawingDelay = -1,\n origin = null\n }) {\n this._currentScaleValue = newValue.toString();\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n return;\n }\n this.viewer.style.setProperty(\"--scale-factor\", newScale * PixelsPerInch.PDF_TO_CSS_UNITS);\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n this.refresh(true, {\n scale: newScale,\n drawingDelay: postponeDrawing ? drawingDelay : -1\n });\n if (postponeDrawing) {\n this.#scaleTimeoutId = setTimeout(() => {\n this.#scaleTimeoutId = null;\n this.refresh();\n }, drawingDelay);\n }\n const previousScale = this._currentScale;\n this._currentScale = newScale;\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n if (Array.isArray(origin)) {\n const scaleDiff = newScale / previousScale - 1;\n const [top, left] = this.containerTopLeft;\n this.container.scrollLeft += (origin[0] - left) * scaleDiff;\n this.container.scrollTop += (origin[1] - top) * scaleDiff;\n }\n }\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get #pageWidthScaleFactor() {\n if (this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL) {\n return 2;\n }\n return 1;\n }\n #setScale(value, options) {\n let scale = parseFloat(value);\n if (scale > 0) {\n options.preset = false;\n this.#setScaleUpdatePages(scale, value, options);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n let hPadding = SCROLLBAR_PADDING,\n vPadding = VERTICAL_PADDING;\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n if (this._spreadMode !== SpreadMode.NONE) {\n hPadding *= 2;\n }\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this.#pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n case \"page-width\":\n scale = pageWidthScale;\n break;\n case \"page-height\":\n scale = pageHeightScale;\n break;\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case \"auto\":\n const horizontalScale = isPortraitOrientation(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error(`#setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n options.preset = true;\n this.#setScaleUpdatePages(scale, value, options);\n }\n }\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n if (this.isInPresentationMode) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.#scrollIntoView(pageView);\n }\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n const i = this._pageLabels.indexOf(label);\n if (i < 0) {\n return null;\n }\n return i + 1;\n }\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n break;\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n let hPadding = SCROLLBAR_PADDING,\n vPadding = VERTICAL_PADDING;\n if (this.removePageBorders) {\n hPadding = vPadding = 0;\n }\n widthScale = (this.container.clientWidth - hPadding) / width / PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === UNKNOWN_SCALE) {\n this.currentScaleValue = DEFAULT_SCALE_VALUE;\n }\n }\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n update() {\n const visible = this._getVisiblePages();\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n if (numVisiblePages === 0) {\n return;\n }\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === SpreadMode.NONE && (this._scrollMode === ScrollMode.PAGE || this._scrollMode === ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n this._updateLocation(visible.first);\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n #switchToEditAnnotationMode() {\n const visible = this._getVisiblePages();\n const pagesToRefresh = [];\n const {\n ids,\n views\n } = visible;\n for (const page of views) {\n const {\n view\n } = page;\n if (!view.hasEditableAnnotations()) {\n ids.delete(view.id);\n continue;\n }\n pagesToRefresh.push(page);\n }\n if (pagesToRefresh.length === 0) {\n return null;\n }\n this.renderingQueue.renderHighestPriority({\n first: pagesToRefresh[0],\n last: pagesToRefresh.at(-1),\n views: pagesToRefresh,\n ids\n });\n return ids;\n }\n containsElement(element) {\n return this.container.contains(element);\n }\n focus() {\n this.container.focus();\n }\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n get isInPresentationMode() {\n return this.presentationModeState === PresentationModeState.FULLSCREEN;\n }\n get isChangingPresentationMode() {\n return this.presentationModeState === PresentationModeState.CHANGING;\n }\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n _getVisiblePages() {\n const views = this._scrollMode === ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return getVisibleElements({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n switch (this._scrollMode) {\n case ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n case ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n return this.scroll.down;\n }\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n getPagesOverview() {\n let initialOrientation;\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n const orientation = isPortraitOrientation(viewport);\n if (initialOrientation === undefined) {\n initialOrientation = orientation;\n } else if (this.enablePrintAutoRotate && orientation !== initialOrientation) {\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n }\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n }\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n if (!this._optionalContentConfigPromise) {\n console.error(\"optionalContentConfigPromise: Not initialized yet.\");\n return this.pdfDocument.getOptionalContentConfig({\n intent: \"display\"\n });\n }\n return this._optionalContentConfigPromise;\n }\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._optionalContentConfigPromise) {\n return;\n }\n this._optionalContentConfigPromise = promise;\n this.refresh(false, {\n optionalContentConfigPromise: promise\n });\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n get scrollMode() {\n return this._scrollMode;\n }\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n if (!isValidScrollMode(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n this._updateScrollMode(this._currentPageNumber);\n }\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === ScrollMode.WRAPPED);\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n if (scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n get spreadMode() {\n return this._spreadMode;\n }\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n if (!isValidSpreadMode(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n this._updateSpreadMode(this._currentPageNumber);\n }\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n const viewer = this.viewer,\n pages = this._pages;\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n if (this._spreadMode === SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.append(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.append(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.append(spread);\n }\n spread.append(pages[i].div);\n }\n }\n }\n if (!pageNumber) {\n return;\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n let yArray = pageLayout.get(y);\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n yArray.push(id);\n }\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n if (currentIndex === -1) {\n continue;\n }\n const numPages = yArray.length;\n if (numPages === 1) {\n break;\n }\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n if (previous) {\n const firstId = yArray[0];\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n break;\n }\n break;\n }\n case ScrollMode.HORIZONTAL:\n {\n break;\n }\n case ScrollMode.PAGE:\n case ScrollMode.VERTICAL:\n {\n if (this._spreadMode === SpreadMode.NONE) {\n break;\n }\n const parity = this._spreadMode - 1;\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n break;\n }\n break;\n }\n }\n return 1;\n }\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n if (currentPageNumber <= 1) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n updateScale({\n drawingDelay,\n scaleFactor = null,\n steps = null,\n origin\n }) {\n if (steps === null && scaleFactor === null) {\n throw new Error(\"Invalid updateScale options: either `steps` or `scaleFactor` must be provided.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 0 && scaleFactor !== 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else if (steps) {\n const delta = steps > 0 ? DEFAULT_SCALE_DELTA : 1 / DEFAULT_SCALE_DELTA;\n const round = steps > 0 ? Math.ceil : Math.floor;\n steps = Math.abs(steps);\n do {\n newScale = round((newScale * delta).toFixed(2) * 10) / 10;\n } while (--steps > 0);\n }\n newScale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, newScale));\n this.#setScale(newScale, {\n noScroll: false,\n drawingDelay,\n origin\n });\n }\n increaseScale(options = {}) {\n this.updateScale({\n ...options,\n steps: options.steps ?? 1\n });\n }\n decreaseScale(options = {}) {\n this.updateScale({\n ...options,\n steps: -(options.steps ?? 1)\n });\n }\n #updateContainerHeightCss(height = this.container.clientHeight) {\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n docStyle.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n #resizeObserverCallback(entries) {\n for (const entry of entries) {\n if (entry.target === this.container) {\n this.#updateContainerHeightCss(Math.floor(entry.borderBoxSize[0].blockSize));\n this.#containerTopLeft = null;\n break;\n }\n }\n }\n get containerTopLeft() {\n return this.#containerTopLeft ||= [this.container.offsetTop, this.container.offsetLeft];\n }\n #cleanupSwitchAnnotationEditorMode() {\n this.#switchAnnotationEditorModeAC?.abort();\n this.#switchAnnotationEditorModeAC = null;\n if (this.#switchAnnotationEditorModeTimeoutId !== null) {\n clearTimeout(this.#switchAnnotationEditorModeTimeoutId);\n this.#switchAnnotationEditorModeTimeoutId = null;\n }\n }\n get annotationEditorMode() {\n return this.#annotationEditorUIManager ? this.#annotationEditorMode : AnnotationEditorType.DISABLE;\n }\n set annotationEditorMode({\n mode,\n editId = null,\n isFromKeyboard = false\n }) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n if (this.#annotationEditorMode === mode) {\n return;\n }\n if (!isValidAnnotationEditorMode(mode)) {\n throw new Error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (mode === AnnotationEditorType.STAMP) {\n this.#mlManager?.loadModel(\"altText\");\n }\n const {\n eventBus\n } = this;\n const updater = () => {\n this.#cleanupSwitchAnnotationEditorMode();\n this.#annotationEditorMode = mode;\n this.#annotationEditorUIManager.updateMode(mode, editId, isFromKeyboard);\n eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode\n });\n };\n if (mode === AnnotationEditorType.NONE || this.#annotationEditorMode === AnnotationEditorType.NONE) {\n const isEditing = mode !== AnnotationEditorType.NONE;\n if (!isEditing) {\n this.pdfDocument.annotationStorage.resetModifiedIds();\n }\n for (const pageView of this._pages) {\n pageView.toggleEditingMode(isEditing);\n }\n const idsToRefresh = this.#switchToEditAnnotationMode();\n if (isEditing && idsToRefresh) {\n this.#cleanupSwitchAnnotationEditorMode();\n this.#switchAnnotationEditorModeAC = new AbortController();\n const signal = AbortSignal.any([this.#eventAbortController.signal, this.#switchAnnotationEditorModeAC.signal]);\n eventBus._on(\"pagerendered\", ({\n pageNumber\n }) => {\n idsToRefresh.delete(pageNumber);\n if (idsToRefresh.size === 0) {\n this.#switchAnnotationEditorModeTimeoutId = setTimeout(updater, 0);\n }\n }, {\n signal\n });\n return;\n }\n }\n updater();\n }\n refresh(noUpdate = false, updateArgs = Object.create(null)) {\n if (!this.pdfDocument) {\n return;\n }\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n if (this.#scaleTimeoutId !== null) {\n clearTimeout(this.#scaleTimeoutId);\n this.#scaleTimeoutId = null;\n }\n if (!noUpdate) {\n this.update();\n }\n }\n}\n\n;// ./web/pdf_single_page_viewer.js\n\n\nclass PDFSinglePageViewer extends PDFViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = ScrollMode.PAGE;\n this._spreadMode = SpreadMode.NONE;\n }\n set scrollMode(mode) {}\n _updateScrollMode() {}\n set spreadMode(mode) {}\n _updateSpreadMode() {}\n}\n\n;// ./web/pdf_viewer.component.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst pdfjsVersion = \"4.8.69\";\nconst pdfjsBuild = \"3634dab10\";\n\nvar __webpack_exports__AnnotationLayerBuilder = __webpack_exports__.AnnotationLayerBuilder;\nvar __webpack_exports__DownloadManager = __webpack_exports__.DownloadManager;\nvar __webpack_exports__EventBus = __webpack_exports__.EventBus;\nvar __webpack_exports__FindState = __webpack_exports__.FindState;\nvar __webpack_exports__GenericL10n = __webpack_exports__.GenericL10n;\nvar __webpack_exports__LinkTarget = __webpack_exports__.LinkTarget;\nvar __webpack_exports__PDFFindController = __webpack_exports__.PDFFindController;\nvar __webpack_exports__PDFHistory = __webpack_exports__.PDFHistory;\nvar __webpack_exports__PDFLinkService = __webpack_exports__.PDFLinkService;\nvar __webpack_exports__PDFPageView = __webpack_exports__.PDFPageView;\nvar __webpack_exports__PDFScriptingManager = __webpack_exports__.PDFScriptingManager;\nvar __webpack_exports__PDFSinglePageViewer = __webpack_exports__.PDFSinglePageViewer;\nvar __webpack_exports__PDFViewer = __webpack_exports__.PDFViewer;\nvar __webpack_exports__ProgressBar = __webpack_exports__.ProgressBar;\nvar __webpack_exports__RenderingStates = __webpack_exports__.RenderingStates;\nvar __webpack_exports__ScrollMode = __webpack_exports__.ScrollMode;\nvar __webpack_exports__SimpleLinkService = __webpack_exports__.SimpleLinkService;\nvar __webpack_exports__SpreadMode = __webpack_exports__.SpreadMode;\nvar __webpack_exports__StructTreeLayerBuilder = __webpack_exports__.StructTreeLayerBuilder;\nvar __webpack_exports__TextLayerBuilder = __webpack_exports__.TextLayerBuilder;\nvar __webpack_exports__XfaLayerBuilder = __webpack_exports__.XfaLayerBuilder;\nvar __webpack_exports__parseQueryString = __webpack_exports__.parseQueryString;\nexport { __webpack_exports__AnnotationLayerBuilder as AnnotationLayerBuilder, __webpack_exports__DownloadManager as DownloadManager, __webpack_exports__EventBus as EventBus, __webpack_exports__FindState as FindState, __webpack_exports__GenericL10n as GenericL10n, __webpack_exports__LinkTarget as LinkTarget, __webpack_exports__PDFFindController as PDFFindController, __webpack_exports__PDFHistory as PDFHistory, __webpack_exports__PDFLinkService as PDFLinkService, __webpack_exports__PDFPageView as PDFPageView, __webpack_exports__PDFScriptingManager as PDFScriptingManager, __webpack_exports__PDFSinglePageViewer as PDFSinglePageViewer, __webpack_exports__PDFViewer as PDFViewer, __webpack_exports__ProgressBar as ProgressBar, __webpack_exports__RenderingStates as RenderingStates, __webpack_exports__ScrollMode as ScrollMode, __webpack_exports__SimpleLinkService as SimpleLinkService, __webpack_exports__SpreadMode as SpreadMode, __webpack_exports__StructTreeLayerBuilder as StructTreeLayerBuilder, __webpack_exports__TextLayerBuilder as TextLayerBuilder, __webpack_exports__XfaLayerBuilder as XfaLayerBuilder, __webpack_exports__parseQueryString as parseQueryString };\n\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Component, ViewChild, Output, Input, NgModule } from '@angular/core';\nimport { fromEvent, Subject, from } from 'rxjs';\nimport { takeUntil, debounceTime, filter } from 'rxjs/operators';\nimport * as PDFJS from 'pdfjs-dist';\nimport { VerbosityLevel, GlobalWorkerOptions, getDocument } from 'pdfjs-dist';\nimport * as PDFJSViewer from 'pdfjs-dist/web/pdf_viewer.mjs';\n\n// interface EventBus {\n// on(eventName: string, listener: Function): void;\n// off(eventName: string, listener: Function): void;\n// _listeners: any;\n// dispatch(eventName: string, data: Object): void;\n// _on(eventName: any, listener: any, options?: null): void;\n// _off(eventName: any, listener: any, options?: null): void;\n// }\nfunction createEventBus(pdfJsViewer, destroy$) {\n const globalEventBus = new pdfJsViewer.EventBus();\n attachDOMEventsToEventBus(globalEventBus, destroy$);\n return globalEventBus;\n}\nfunction attachDOMEventsToEventBus(eventBus, destroy$) {\n fromEvent(eventBus, 'documentload')\n .pipe(takeUntil(destroy$))\n .subscribe(() => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('documentload', true, true, {});\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagerendered')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, cssTransform, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagerendered', true, true, {\n pageNumber,\n cssTransform,\n });\n source.div.dispatchEvent(event);\n });\n fromEvent(eventBus, 'textlayerrendered')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('textlayerrendered', true, true, { pageNumber });\n source.textLayerDiv?.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagechanging')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('pagechanging', true, true);\n /* tslint:disable:no-string-literal */\n event['pageNumber'] = pageNumber;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagesinit')\n .pipe(takeUntil(destroy$))\n .subscribe(({ source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesinit', true, true, null);\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagesloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pagesCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesloaded', true, true, { pagesCount });\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'scalechange')\n .pipe(takeUntil(destroy$))\n .subscribe(({ scale, presetValue, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('scalechange', true, true);\n /* tslint:disable:no-string-literal */\n event['scale'] = scale;\n /* tslint:disable:no-string-literal */\n event['presetValue'] = presetValue;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'updateviewarea')\n .pipe(takeUntil(destroy$))\n .subscribe(({ location, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('updateviewarea', true, true);\n event['location'] = location;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'find')\n .pipe(takeUntil(destroy$))\n .subscribe(({ source, type, query, phraseSearch, caseSensitive, highlightAll, findPrevious, }) => {\n if (source === window) {\n return; // event comes from FirefoxCom, no need to replicate\n }\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('find' + type, true, true, {\n query,\n phraseSearch,\n caseSensitive,\n highlightAll,\n findPrevious,\n });\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'attachmentsloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ attachmentsCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('attachmentsloaded', true, true, {\n attachmentsCount,\n });\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'sidebarviewchanged')\n .pipe(takeUntil(destroy$))\n .subscribe(({ view, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('sidebarviewchanged', true, true, { view });\n source.outerContainer.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagemode')\n .pipe(takeUntil(destroy$))\n .subscribe(({ mode, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagemode', true, true, { mode });\n source.pdfViewer.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'namedaction')\n .pipe(takeUntil(destroy$))\n .subscribe(({ action, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('namedaction', true, true, { action });\n source.pdfViewer.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'presentationmodechanged')\n .pipe(takeUntil(destroy$))\n .subscribe(({ active, switchInProgress }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('presentationmodechanged', true, true, {\n active,\n switchInProgress,\n });\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'outlineloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ outlineCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('outlineloaded', true, true, { outlineCount });\n source.container.dispatchEvent(event);\n });\n}\n\nfunction assign(obj, prop, value) {\n obj[prop] = value;\n}\nfunction isSSR() {\n return typeof window === 'undefined';\n}\n\n/**\n * Created by vadimdez on 21/06/16.\n */\nif (!isSSR()) {\n assign(PDFJS, 'verbosity', VerbosityLevel.INFOS);\n}\n// @ts-expect-error This does not exist outside of polyfill which this is doing\nif (typeof Promise.withResolvers === 'undefined' && window) {\n // @ts-expect-error This does not exist outside of polyfill which this is doing\n window.Promise.withResolvers = () => {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n };\n}\nvar RenderTextMode;\n(function (RenderTextMode) {\n RenderTextMode[RenderTextMode[\"DISABLED\"] = 0] = \"DISABLED\";\n RenderTextMode[RenderTextMode[\"ENABLED\"] = 1] = \"ENABLED\";\n RenderTextMode[RenderTextMode[\"ENHANCED\"] = 2] = \"ENHANCED\";\n})(RenderTextMode || (RenderTextMode = {}));\nclass PdfViewerComponent {\n element;\n ngZone;\n static CSS_UNITS = 96.0 / 72.0;\n static BORDER_WIDTH = 9;\n pdfViewerContainer;\n eventBus;\n pdfLinkService;\n pdfFindController;\n pdfViewer;\n isVisible = false;\n _cMapsUrl = typeof PDFJS !== 'undefined'\n ? `https://unpkg.com/pdfjs-dist@${PDFJS.version}/cmaps/`\n : null;\n _imageResourcesPath = typeof PDFJS !== 'undefined'\n ? `https://unpkg.com/pdfjs-dist@${PDFJS.version}/web/images/`\n : undefined;\n _renderText = true;\n _renderTextMode = RenderTextMode.ENABLED;\n _stickToPage = false;\n _originalSize = true;\n _pdf;\n _page = 1;\n _zoom = 1;\n _zoomScale = 'page-width';\n _rotation = 0;\n _showAll = true;\n _canAutoResize = true;\n _fitToPage = false;\n _externalLinkTarget = 'blank';\n _showBorders = false;\n lastLoaded;\n _latestScrolledPage;\n pageScrollTimeout = null;\n isInitialized = false;\n loadingTask;\n destroy$ = new Subject();\n afterLoadComplete = new EventEmitter();\n pageRendered = new EventEmitter();\n pageInitialized = new EventEmitter();\n textLayerRendered = new EventEmitter();\n onError = new EventEmitter();\n onProgress = new EventEmitter();\n pageChange = new EventEmitter(true);\n src;\n set cMapsUrl(cMapsUrl) {\n this._cMapsUrl = cMapsUrl;\n }\n set page(_page) {\n _page = parseInt(_page, 10) || 1;\n const originalPage = _page;\n if (this._pdf) {\n _page = this.getValidPageNumber(_page);\n }\n this._page = _page;\n if (originalPage !== _page) {\n this.pageChange.emit(_page);\n }\n }\n set renderText(renderText) {\n this._renderText = renderText;\n }\n set renderTextMode(renderTextMode) {\n this._renderTextMode = renderTextMode;\n }\n set originalSize(originalSize) {\n this._originalSize = originalSize;\n }\n set showAll(value) {\n this._showAll = value;\n }\n set stickToPage(value) {\n this._stickToPage = value;\n }\n set zoom(value) {\n if (value <= 0) {\n return;\n }\n this._zoom = value;\n }\n get zoom() {\n return this._zoom;\n }\n set zoomScale(value) {\n this._zoomScale = value;\n }\n get zoomScale() {\n return this._zoomScale;\n }\n set rotation(value) {\n if (!(typeof value === 'number' && value % 90 === 0)) {\n console.warn('Invalid pages rotation angle.');\n return;\n }\n this._rotation = value;\n }\n set externalLinkTarget(value) {\n this._externalLinkTarget = value;\n }\n set autoresize(value) {\n this._canAutoResize = Boolean(value);\n }\n set fitToPage(value) {\n this._fitToPage = Boolean(value);\n }\n set showBorders(value) {\n this._showBorders = Boolean(value);\n }\n static getLinkTarget(type) {\n switch (type) {\n case 'blank':\n return PDFJSViewer.LinkTarget.BLANK;\n case 'none':\n return PDFJSViewer.LinkTarget.NONE;\n case 'self':\n return PDFJSViewer.LinkTarget.SELF;\n case 'parent':\n return PDFJSViewer.LinkTarget.PARENT;\n case 'top':\n return PDFJSViewer.LinkTarget.TOP;\n }\n return null;\n }\n constructor(element, ngZone) {\n this.element = element;\n this.ngZone = ngZone;\n if (isSSR()) {\n return;\n }\n let pdfWorkerSrc;\n const pdfJsVersion = PDFJS.version;\n const versionSpecificPdfWorkerUrl = window[`pdfWorkerSrc${pdfJsVersion}`];\n if (versionSpecificPdfWorkerUrl) {\n pdfWorkerSrc = versionSpecificPdfWorkerUrl;\n }\n else if (window.hasOwnProperty('pdfWorkerSrc') &&\n typeof window.pdfWorkerSrc === 'string' &&\n window.pdfWorkerSrc) {\n pdfWorkerSrc = window.pdfWorkerSrc;\n }\n else {\n pdfWorkerSrc = `https://cdn.jsdelivr.net/npm/pdfjs-dist@${pdfJsVersion}/legacy/build/pdf.worker.min.mjs`;\n }\n assign(GlobalWorkerOptions, 'workerSrc', pdfWorkerSrc);\n }\n ngAfterViewChecked() {\n if (this.isInitialized) {\n return;\n }\n const offset = this.pdfViewerContainer.nativeElement.offsetParent;\n if (this.isVisible === true && offset == null) {\n this.isVisible = false;\n return;\n }\n if (this.isVisible === false && offset != null) {\n this.isVisible = true;\n setTimeout(() => {\n this.initialize();\n this.ngOnChanges({ src: this.src });\n });\n }\n }\n ngOnInit() {\n this.initialize();\n this.setupResizeListener();\n }\n ngOnDestroy() {\n this.clear();\n this.destroy$.next();\n this.loadingTask = null;\n }\n ngOnChanges(changes) {\n if (isSSR() || !this.isVisible) {\n return;\n }\n if ('src' in changes) {\n this.loadPDF();\n }\n else if (this._pdf) {\n if ('renderText' in changes || 'showAll' in changes) {\n this.setupViewer();\n this.resetPdfDocument();\n }\n if ('page' in changes) {\n const { page } = changes;\n if (page.currentValue === this._latestScrolledPage) {\n return;\n }\n // New form of page changing: The viewer will now jump to the specified page when it is changed.\n // This behavior is introduced by using the PDFSinglePageViewer\n this.pdfViewer.scrollPageIntoView({ pageNumber: this._page });\n }\n this.update();\n }\n }\n updateSize() {\n from(this._pdf.getPage(this.pdfViewer.currentPageNumber))\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (page) => {\n const rotation = this._rotation + page.rotate;\n const viewportWidth = page.getViewport({\n scale: this._zoom,\n rotation\n }).width * PdfViewerComponent.CSS_UNITS;\n let scale = this._zoom;\n let stickToPage = true;\n // Scale the document when it shouldn't be in original size or doesn't fit into the viewport\n if (!this._originalSize ||\n (this._fitToPage &&\n viewportWidth > this.pdfViewerContainer.nativeElement.clientWidth)) {\n const viewPort = page.getViewport({ scale: 1, rotation });\n scale = this.getScale(viewPort.width, viewPort.height);\n stickToPage = !this._stickToPage;\n }\n this.pdfViewer.currentScale = scale;\n if (stickToPage)\n this.pdfViewer.scrollPageIntoView({ pageNumber: page.pageNumber, ignoreDestinationZoom: true });\n }\n });\n }\n clear() {\n if (this.loadingTask && !this.loadingTask.destroyed) {\n this.loadingTask.destroy();\n }\n if (this._pdf) {\n this._latestScrolledPage = 0;\n this._pdf.destroy();\n this._pdf = undefined;\n }\n this.pdfViewer && this.pdfViewer.setDocument(null);\n this.pdfLinkService && this.pdfLinkService.setDocument(null, null);\n this.pdfFindController && this.pdfFindController.setDocument(null);\n }\n getPDFLinkServiceConfig() {\n const linkTarget = PdfViewerComponent.getLinkTarget(this._externalLinkTarget);\n if (linkTarget) {\n return { externalLinkTarget: linkTarget };\n }\n return {};\n }\n initEventBus() {\n this.eventBus = createEventBus(PDFJSViewer, this.destroy$);\n fromEvent(this.eventBus, 'pagerendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageRendered.emit(event);\n });\n fromEvent(this.eventBus, 'pagesinit')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageInitialized.emit(event);\n });\n fromEvent(this.eventBus, 'pagechanging')\n .pipe(takeUntil(this.destroy$))\n .subscribe(({ pageNumber }) => {\n if (this.pageScrollTimeout) {\n clearTimeout(this.pageScrollTimeout);\n }\n this.pageScrollTimeout = window.setTimeout(() => {\n this._latestScrolledPage = pageNumber;\n this.pageChange.emit(pageNumber);\n }, 100);\n });\n fromEvent(this.eventBus, 'textlayerrendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.textLayerRendered.emit(event);\n });\n }\n initPDFServices() {\n this.pdfLinkService = new PDFJSViewer.PDFLinkService({\n eventBus: this.eventBus,\n ...this.getPDFLinkServiceConfig()\n });\n this.pdfFindController = new PDFJSViewer.PDFFindController({\n eventBus: this.eventBus,\n linkService: this.pdfLinkService,\n });\n }\n getPDFOptions() {\n return {\n eventBus: this.eventBus,\n container: this.element.nativeElement.querySelector('div'),\n removePageBorders: !this._showBorders,\n linkService: this.pdfLinkService,\n textLayerMode: this._renderText\n ? this._renderTextMode\n : RenderTextMode.DISABLED,\n findController: this.pdfFindController,\n l10n: new PDFJSViewer.GenericL10n('en'),\n imageResourcesPath: this._imageResourcesPath,\n annotationEditorMode: PDFJS.AnnotationEditorType.DISABLE,\n };\n }\n setupViewer() {\n if (this.pdfViewer) {\n this.pdfViewer.setDocument(null);\n }\n assign(PDFJS, 'disableTextLayer', !this._renderText);\n this.initPDFServices();\n if (this._showAll) {\n this.pdfViewer = new PDFJSViewer.PDFViewer(this.getPDFOptions());\n }\n else {\n this.pdfViewer = new PDFJSViewer.PDFSinglePageViewer(this.getPDFOptions());\n }\n this.pdfLinkService.setViewer(this.pdfViewer);\n this.pdfViewer._currentPageNumber = this._page;\n }\n getValidPageNumber(page) {\n if (page < 1) {\n return 1;\n }\n if (page > this._pdf.numPages) {\n return this._pdf.numPages;\n }\n return page;\n }\n getDocumentParams() {\n const srcType = typeof this.src;\n if (!this._cMapsUrl) {\n return this.src;\n }\n const params = {\n cMapUrl: this._cMapsUrl,\n cMapPacked: true,\n enableXfa: true,\n };\n params.isEvalSupported = false; // http://cve.org/CVERecord?id=CVE-2024-4367\n if (srcType === 'string') {\n params.url = this.src;\n }\n else if (srcType === 'object') {\n if (this.src.byteLength !== undefined) {\n params.data = this.src;\n }\n else {\n Object.assign(params, this.src);\n }\n }\n return params;\n }\n loadPDF() {\n if (!this.src) {\n return;\n }\n if (this.lastLoaded === this.src) {\n this.update();\n return;\n }\n this.clear();\n this.setupViewer();\n this.loadingTask = getDocument(this.getDocumentParams());\n this.loadingTask.onProgress = (progressData) => {\n this.onProgress.emit(progressData);\n };\n const src = this.src;\n from(this.loadingTask.promise)\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (pdf) => {\n this._pdf = pdf;\n this.lastLoaded = src;\n this.afterLoadComplete.emit(pdf);\n this.resetPdfDocument();\n this.update();\n },\n error: (error) => {\n this.lastLoaded = null;\n this.onError.emit(error);\n }\n });\n }\n update() {\n this.page = this._page;\n this.render();\n }\n render() {\n this._page = this.getValidPageNumber(this._page);\n if (this._rotation !== 0 ||\n this.pdfViewer.pagesRotation !== this._rotation) {\n // wait until at least the first page is available.\n this.pdfViewer.firstPagePromise?.then(() => (this.pdfViewer.pagesRotation = this._rotation));\n }\n if (this._stickToPage) {\n setTimeout(() => {\n this.pdfViewer.currentPageNumber = this._page;\n });\n }\n if (!this.pdfViewer._pages?.length) {\n // the first time we wait until pages init\n const sub = this.pageInitialized.subscribe(() => {\n this.updateSize();\n sub.unsubscribe();\n });\n }\n else {\n this.updateSize();\n }\n }\n getScale(viewportWidth, viewportHeight) {\n const borderSize = this._showBorders ? 2 * PdfViewerComponent.BORDER_WIDTH : 0;\n const pdfContainerWidth = this.pdfViewerContainer.nativeElement.clientWidth - borderSize;\n const pdfContainerHeight = this.pdfViewerContainer.nativeElement.clientHeight - borderSize;\n if (pdfContainerHeight === 0 ||\n viewportHeight === 0 ||\n pdfContainerWidth === 0 ||\n viewportWidth === 0) {\n return 1;\n }\n let ratio = 1;\n switch (this._zoomScale) {\n case 'page-fit':\n ratio = Math.min(pdfContainerHeight / viewportHeight, pdfContainerWidth / viewportWidth);\n break;\n case 'page-height':\n ratio = pdfContainerHeight / viewportHeight;\n break;\n case 'page-width':\n default:\n ratio = pdfContainerWidth / viewportWidth;\n break;\n }\n return (this._zoom * ratio) / PdfViewerComponent.CSS_UNITS;\n }\n resetPdfDocument() {\n this.pdfLinkService.setDocument(this._pdf, null);\n this.pdfFindController.setDocument(this._pdf);\n this.pdfViewer.setDocument(this._pdf);\n }\n initialize() {\n if (isSSR() || !this.isVisible) {\n return;\n }\n this.isInitialized = true;\n this.initEventBus();\n this.setupViewer();\n }\n setupResizeListener() {\n if (isSSR()) {\n return;\n }\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(debounceTime(100), filter(() => this._canAutoResize && !!this._pdf), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateSize();\n });\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"16.1.0\", type: PdfViewerComponent, selector: \"pdf-viewer\", inputs: { src: \"src\", cMapsUrl: [\"c-maps-url\", \"cMapsUrl\"], page: \"page\", renderText: [\"render-text\", \"renderText\"], renderTextMode: [\"render-text-mode\", \"renderTextMode\"], originalSize: [\"original-size\", \"originalSize\"], showAll: [\"show-all\", \"showAll\"], stickToPage: [\"stick-to-page\", \"stickToPage\"], zoom: \"zoom\", zoomScale: [\"zoom-scale\", \"zoomScale\"], rotation: \"rotation\", externalLinkTarget: [\"external-link-target\", \"externalLinkTarget\"], autoresize: \"autoresize\", fitToPage: [\"fit-to-page\", \"fitToPage\"], showBorders: [\"show-borders\", \"showBorders\"] }, outputs: { afterLoadComplete: \"after-load-complete\", pageRendered: \"page-rendered\", pageInitialized: \"pages-initialized\", textLayerRendered: \"text-layer-rendered\", onError: \"error\", onProgress: \"on-progress\", pageChange: \"pageChange\" }, viewQueries: [{ propertyName: \"pdfViewerContainer\", first: true, predicate: [\"pdfViewerContainer\"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `\n
\n
\n
\n `, isInline: true, styles: [\".ng2-pdf-viewer-container{overflow-x:auto;position:absolute;height:100%;width:100%;-webkit-overflow-scrolling:touch}:host{display:block;position:relative}:host ::ng-deep{--pdfViewer-padding-bottom: 0;--page-margin: 1px auto -8px;--page-border: 9px solid transparent;--spreadHorizontalWrapped-margin-LR: -3.5px;--viewer-container-height: 0;--annotation-unfocused-field-background: url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--xfa-unfocused-field-background: var( --annotation-unfocused-field-background );--page-border-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAA1ElEQVQ4jbWUWw6EIAxFy2NFs/8NzR4UJhpqLsdi5mOmSSMUOfYWqv3S0gMr4XlYH/64gZa/gN3ANYA7KAXALt4ktoQ5MI9YxqaG8bWmsIysMuT6piSQCa4whZThCu8CM4zP9YJaKci9jicPq3NcBWYoPMGUlhG7ivtkB+gVyFY75wXghOvh8t5mto1Mdim6e+MBqH6XsY+YAwjpq3vGF7weTWQptLEDVCZvPTMl5JZZsdh47FHW6qFMyvLYqjcnmdFfY9Xk/KDOlzCusX2mi/ofM7MPkzBcSp4Q1/wAAAAASUVORK5CYII=) 9 9 repeat;--scale-factor: 1;--focus-outline: solid 2px blue;--hover-outline: dashed 2px blue;--freetext-line-height: 1.35;--freetext-padding: 2px;--editorInk-editing-cursor: pointer}@media screen and (forced-colors: active){:host ::ng-deep{--pdfViewer-padding-bottom: 9px;--page-margin: 8px auto -1px;--page-border: 1px solid CanvasText;--page-border-image: none;--spreadHorizontalWrapped-margin-LR: 3.5px}}@media (forced-colors: active){:host ::ng-deep{--focus-outline: solid 3px ButtonText;--hover-outline: dashed 3px ButtonText}}:host ::ng-deep .textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:.2;line-height:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0}:host ::ng-deep .textLayer span,:host ::ng-deep .textLayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}:host ::ng-deep .textLayer span.markedContent{top:0;height:0}:host ::ng-deep .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}:host ::ng-deep .textLayer .highlight.appended{position:initial}:host ::ng-deep .textLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .textLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .textLayer .highlight.middle{border-radius:0}:host ::ng-deep .textLayer .highlight.selected{background-color:#006400}:host ::ng-deep .textLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .textLayer br::selection{background:transparent}:host ::ng-deep .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}:host ::ng-deep .textLayer .endOfContent.active{top:0}@media (forced-colors: active){:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid selectedItem}}:host ::ng-deep .annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}:host ::ng-deep .annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}:host ::ng-deep .annotationLayer .linkAnnotation>a,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>canvas{width:100%;height:100%}:host ::ng-deep .annotationLayer .linkAnnotation>a:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:rgb(255,255,0);box-shadow:0 2px 10px #ff0}:host ::ng-deep .annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid red}:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select option{padding:0}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea{resize:none}:host ::ng-deep .annotationLayer .textWidgetAnnotation input[disabled],:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea[disabled],:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:hover,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:hover,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:hover{border:1px solid rgb(0,0,0)}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:1px solid transparent}:host ::ng-deep .annotationLayer .textWidgetAnnotation input :focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea :focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-image:none;background-color:transparent;outline:auto}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:\\\"\\\";display:block;position:absolute}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none}:host ::ng-deep .annotationLayer .popupTriggerArea{height:100%;width:100%}:host ::ng-deep .annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}:host ::ng-deep .annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}:host ::ng-deep .annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popup h1{display:inline-block}:host ::ng-deep .annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popupContent{border-top:1px solid rgb(51,51,51);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}:host ::ng-deep .annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .highlightAnnotation,:host ::ng-deep .annotationLayer .underlineAnnotation,:host ::ng-deep .annotationLayer .squigglyAnnotation,:host ::ng-deep .annotationLayer .strikeoutAnnotation,:host ::ng-deep .annotationLayer .freeTextAnnotation,:host ::ng-deep .annotationLayer .lineAnnotation svg line,:host ::ng-deep .annotationLayer .squareAnnotation svg rect,:host ::ng-deep .annotationLayer .circleAnnotation svg ellipse,:host ::ng-deep .annotationLayer .polylineAnnotation svg polyline,:host ::ng-deep .annotationLayer .polygonAnnotation svg polygon,:host ::ng-deep .annotationLayer .caretAnnotation,:host ::ng-deep .annotationLayer .inkAnnotation svg polyline,:host ::ng-deep .annotationLayer .stampAnnotation,:host ::ng-deep .annotationLayer .fileAttachmentAnnotation{cursor:pointer}:host ::ng-deep .annotationLayer section svg{position:absolute;width:100%;height:100%}:host ::ng-deep .annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}:host ::ng-deep .annotationLayer .annotationTextContent span{width:100%;display:inline-block}@media (forced-colors: active){:host ::ng-deep .xfaLayer *:required{outline:1.5px solid selectedItem}}:host ::ng-deep .xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}:host ::ng-deep .xfaLayer .highlight.appended{position:initial}:host ::ng-deep .xfaLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .xfaLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .xfaLayer .highlight.middle{border-radius:0}:host ::ng-deep .xfaLayer .highlight.selected{background-color:#cbdfcb}:host ::ng-deep .xfaLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .xfaPage{overflow:hidden;position:relative}:host ::ng-deep .xfaContentarea{position:absolute}:host ::ng-deep .xfaPrintOnly{display:none}:host ::ng-deep .xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}:host ::ng-deep .xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}:host ::ng-deep .xfaLayer *:required{outline:1.5px solid red}:host ::ng-deep .xfaLayer div{pointer-events:none}:host ::ng-deep .xfaLayer svg{pointer-events:none}:host ::ng-deep .xfaLayer svg *{pointer-events:none}:host ::ng-deep .xfaLayer a{color:#00f}:host ::ng-deep .xfaRich li{margin-left:3em}:host ::ng-deep .xfaFont{color:#000;font-weight:400;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}:host ::ng-deep .xfaCaption{overflow:hidden;flex:0 0 auto}:host ::ng-deep .xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}:host ::ng-deep .xfaLabel{height:100%;width:100%}:host ::ng-deep .xfaLeft{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .xfaRight{display:flex;flex-direction:row-reverse;align-items:center}:host ::ng-deep .xfaLeft>.xfaCaption,:host ::ng-deep .xfaLeft>.xfaCaptionForCheckButton,:host ::ng-deep .xfaRight>.xfaCaption,:host ::ng-deep .xfaRight>.xfaCaptionForCheckButton{max-height:100%}:host ::ng-deep .xfaTop{display:flex;flex-direction:column;align-items:flex-start}:host ::ng-deep .xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}:host ::ng-deep .xfaTop>.xfaCaption,:host ::ng-deep .xfaTop>.xfaCaptionForCheckButton,:host ::ng-deep .xfaBottom>.xfaCaption,:host ::ng-deep .xfaBottom>.xfaCaptionForCheckButton{width:100%}:host ::ng-deep .xfaBorder{background-color:transparent;position:absolute;pointer-events:none}:host ::ng-deep .xfaWrapped{width:100%;height:100%}:host ::ng-deep .xfaTextfield:focus,:host ::ng-deep .xfaSelect:focus{background-image:none;background-color:transparent;outline:auto;outline-offset:-1px}:host ::ng-deep .xfaCheckbox:focus,:host ::ng-deep .xfaRadio:focus{outline:auto}:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}:host ::ng-deep .xfaTop>.xfaTextfield,:host ::ng-deep .xfaTop>.xfaSelect,:host ::ng-deep .xfaBottom>.xfaTextfield,:host ::ng-deep .xfaBottom>.xfaSelect{flex:0 1 auto}:host ::ng-deep .xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}:host ::ng-deep .xfaLink{width:100%;height:100%;position:absolute;top:0;left:0}:host ::ng-deep .xfaCheckbox,:host ::ng-deep .xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}:host ::ng-deep .xfaRich{white-space:pre-wrap;width:100%;height:100%}:host ::ng-deep .xfaImage{object-position:left top;object-fit:contain;width:100%;height:100%}:host ::ng-deep .xfaLrTb,:host ::ng-deep .xfaRlTb,:host ::ng-deep .xfaTb{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaLr{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}:host ::ng-deep .xfaTb>div{justify-content:left}:host ::ng-deep .xfaPosition{position:relative}:host ::ng-deep .xfaArea{position:relative}:host ::ng-deep .xfaValignMiddle{display:flex;align-items:center}:host ::ng-deep .xfaTable{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}:host ::ng-deep .xfaTable .xfaRlRow>div{flex:1}:host ::ng-deep .xfaNonInteractive input,:host ::ng-deep .xfaNonInteractive textarea,:host ::ng-deep .xfaDisabled input,:host ::ng-deep .xfaDisabled textarea,:host ::ng-deep .xfaReadOnly input,:host ::ng-deep .xfaReadOnly textarea{background:initial}@media print{:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{background:transparent}:host ::ng-deep .xfaSelect{-webkit-appearance:none;appearance:none;text-indent:1px;text-overflow:\\\"\\\"}}:host ::ng-deep [data-editor-rotation=\\\"90\\\"]{transform:rotate(90deg)}:host ::ng-deep [data-editor-rotation=\\\"180\\\"]{transform:rotate(180deg)}:host ::ng-deep [data-editor-rotation=\\\"270\\\"]{transform:rotate(270deg)}:host ::ng-deep .annotationEditorLayer{background:transparent;position:absolute;top:0;left:0;font-size:calc(100px * var(--scale-factor));transform-origin:0 0}:host ::ng-deep .annotationEditorLayer .selectedEditor{outline:var(--focus-outline);resize:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor{position:absolute;background:transparent;border-radius:3px;padding:calc(var(--freetext-padding) * var(--scale-factor));resize:none;width:auto;height:auto;z-index:1;transform-origin:0 0;touch-action:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;top:0;left:0;overflow:visible;white-space:nowrap;resize:none;font:10px sans-serif;line-height:var(--freetext-line-height)}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay.enabled{display:block}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:empty:before{content:attr(default-content);color:gray}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:focus{outline:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled{resize:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled.selectedEditor{resize:horizontal}:host ::ng-deep .annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),:host ::ng-deep .annotationEditorLayer .inkEditor:hover:not(.selectedEditor){outline:var(--hover-outline)}:host ::ng-deep .annotationEditorLayer .inkEditor{position:absolute;background:transparent;border-radius:3px;overflow:auto;width:100%;height:100%;z-index:1;transform-origin:0 0;cursor:auto}:host ::ng-deep .annotationEditorLayer .inkEditor.editing{resize:none;cursor:var(--editorInk-editing-cursor),pointer}:host ::ng-deep .annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}:host ::ng-deep [data-main-rotation=\\\"90\\\"]{transform:rotate(90deg) translateY(-100%)}:host ::ng-deep [data-main-rotation=\\\"180\\\"]{transform:rotate(180deg) translate(-100%,-100%)}:host ::ng-deep [data-main-rotation=\\\"270\\\"]{transform:rotate(270deg) translate(-100%)}:host ::ng-deep .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}:host ::ng-deep .pdfViewer .canvasWrapper{overflow:hidden}:host ::ng-deep .pdfViewer .canvasWrapper canvas{width:100%}:host ::ng-deep .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);border-image:var(--page-border-image);background-clip:content-box;background-color:#fff}:host ::ng-deep .pdfViewer .dummyPage{position:relative;width:0;height:var(--viewer-container-height)}:host ::ng-deep .pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}:host ::ng-deep .pdfViewer.singlePageView{display:inline-block}:host ::ng-deep .pdfViewer.singlePageView .page{margin:0;border:none}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .pdfViewer.scrollWrapped,:host ::ng-deep .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .spread{white-space:nowrap}:host ::ng-deep .pdfViewer.removePageBorders,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}:host ::ng-deep .spread .page,:host ::ng-deep .spread .dummyPage,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{display:inline-block;vertical-align:middle}:host ::ng-deep .spread .page,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page{margin-left:var(--spreadHorizontalWrapped-margin-LR);margin-right:var(--spreadHorizontalWrapped-margin-LR)}:host ::ng-deep .pdfViewer.removePageBorders .spread .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollHorizontal .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollWrapped .page{margin-left:5px;margin-right:5px}:host ::ng-deep .pdfViewer .page canvas{margin:0;display:block}:host ::ng-deep .pdfViewer .page canvas[hidden]{display:none}:host ::ng-deep .pdfViewer .page .loadingIcon{position:absolute;display:block;inset:0;background:url(data:image/gif;base64,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) center no-repeat}:host ::ng-deep .pdfViewer .page .loadingIcon.notVisible{background:none}:host ::ng-deep .pdfViewer.enablePermissions .textLayer span{-webkit-user-select:none!important;user-select:none!important;cursor:not-allowed}:host ::ng-deep .pdfPresentationMode .pdfViewer{padding-bottom:0}:host ::ng-deep .pdfPresentationMode .spread{margin:0}:host ::ng-deep .pdfPresentationMode .pdfViewer .page{margin:0 auto;border:2px solid transparent}\\n\"] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'pdf-viewer', template: `\n
\n
\n
\n `, styles: [\".ng2-pdf-viewer-container{overflow-x:auto;position:absolute;height:100%;width:100%;-webkit-overflow-scrolling:touch}:host{display:block;position:relative}:host ::ng-deep{--pdfViewer-padding-bottom: 0;--page-margin: 1px auto -8px;--page-border: 9px solid transparent;--spreadHorizontalWrapped-margin-LR: -3.5px;--viewer-container-height: 0;--annotation-unfocused-field-background: url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--xfa-unfocused-field-background: var( --annotation-unfocused-field-background );--page-border-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAA1ElEQVQ4jbWUWw6EIAxFy2NFs/8NzR4UJhpqLsdi5mOmSSMUOfYWqv3S0gMr4XlYH/64gZa/gN3ANYA7KAXALt4ktoQ5MI9YxqaG8bWmsIysMuT6piSQCa4whZThCu8CM4zP9YJaKci9jicPq3NcBWYoPMGUlhG7ivtkB+gVyFY75wXghOvh8t5mto1Mdim6e+MBqH6XsY+YAwjpq3vGF7weTWQptLEDVCZvPTMl5JZZsdh47FHW6qFMyvLYqjcnmdFfY9Xk/KDOlzCusX2mi/ofM7MPkzBcSp4Q1/wAAAAASUVORK5CYII=) 9 9 repeat;--scale-factor: 1;--focus-outline: solid 2px blue;--hover-outline: dashed 2px blue;--freetext-line-height: 1.35;--freetext-padding: 2px;--editorInk-editing-cursor: pointer}@media screen and (forced-colors: active){:host ::ng-deep{--pdfViewer-padding-bottom: 9px;--page-margin: 8px auto -1px;--page-border: 1px solid CanvasText;--page-border-image: none;--spreadHorizontalWrapped-margin-LR: 3.5px}}@media (forced-colors: active){:host ::ng-deep{--focus-outline: solid 3px ButtonText;--hover-outline: dashed 3px ButtonText}}:host ::ng-deep .textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:.2;line-height:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0}:host ::ng-deep .textLayer span,:host ::ng-deep .textLayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}:host ::ng-deep .textLayer span.markedContent{top:0;height:0}:host ::ng-deep .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}:host ::ng-deep .textLayer .highlight.appended{position:initial}:host ::ng-deep .textLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .textLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .textLayer .highlight.middle{border-radius:0}:host ::ng-deep .textLayer .highlight.selected{background-color:#006400}:host ::ng-deep .textLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .textLayer br::selection{background:transparent}:host ::ng-deep .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}:host ::ng-deep .textLayer .endOfContent.active{top:0}@media (forced-colors: active){:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid selectedItem}}:host ::ng-deep .annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}:host ::ng-deep .annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}:host ::ng-deep .annotationLayer .linkAnnotation>a,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>canvas{width:100%;height:100%}:host ::ng-deep .annotationLayer .linkAnnotation>a:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:rgb(255,255,0);box-shadow:0 2px 10px #ff0}:host ::ng-deep .annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid red}:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select option{padding:0}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea{resize:none}:host ::ng-deep .annotationLayer .textWidgetAnnotation input[disabled],:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea[disabled],:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:hover,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:hover,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:hover{border:1px solid rgb(0,0,0)}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:1px solid transparent}:host ::ng-deep .annotationLayer .textWidgetAnnotation input :focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea :focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-image:none;background-color:transparent;outline:auto}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:\\\"\\\";display:block;position:absolute}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none}:host ::ng-deep .annotationLayer .popupTriggerArea{height:100%;width:100%}:host ::ng-deep .annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}:host ::ng-deep .annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}:host ::ng-deep .annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popup h1{display:inline-block}:host ::ng-deep .annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popupContent{border-top:1px solid rgb(51,51,51);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}:host ::ng-deep .annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .highlightAnnotation,:host ::ng-deep .annotationLayer .underlineAnnotation,:host ::ng-deep .annotationLayer .squigglyAnnotation,:host ::ng-deep .annotationLayer .strikeoutAnnotation,:host ::ng-deep .annotationLayer .freeTextAnnotation,:host ::ng-deep .annotationLayer .lineAnnotation svg line,:host ::ng-deep .annotationLayer .squareAnnotation svg rect,:host ::ng-deep .annotationLayer .circleAnnotation svg ellipse,:host ::ng-deep .annotationLayer .polylineAnnotation svg polyline,:host ::ng-deep .annotationLayer .polygonAnnotation svg polygon,:host ::ng-deep .annotationLayer .caretAnnotation,:host ::ng-deep .annotationLayer .inkAnnotation svg polyline,:host ::ng-deep .annotationLayer .stampAnnotation,:host ::ng-deep .annotationLayer .fileAttachmentAnnotation{cursor:pointer}:host ::ng-deep .annotationLayer section svg{position:absolute;width:100%;height:100%}:host ::ng-deep .annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}:host ::ng-deep .annotationLayer .annotationTextContent span{width:100%;display:inline-block}@media (forced-colors: active){:host ::ng-deep .xfaLayer *:required{outline:1.5px solid selectedItem}}:host ::ng-deep .xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}:host ::ng-deep .xfaLayer .highlight.appended{position:initial}:host ::ng-deep .xfaLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .xfaLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .xfaLayer .highlight.middle{border-radius:0}:host ::ng-deep .xfaLayer .highlight.selected{background-color:#cbdfcb}:host ::ng-deep .xfaLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .xfaPage{overflow:hidden;position:relative}:host ::ng-deep .xfaContentarea{position:absolute}:host ::ng-deep .xfaPrintOnly{display:none}:host ::ng-deep .xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}:host ::ng-deep .xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}:host ::ng-deep .xfaLayer *:required{outline:1.5px solid red}:host ::ng-deep .xfaLayer div{pointer-events:none}:host ::ng-deep .xfaLayer svg{pointer-events:none}:host ::ng-deep .xfaLayer svg *{pointer-events:none}:host ::ng-deep .xfaLayer a{color:#00f}:host ::ng-deep .xfaRich li{margin-left:3em}:host ::ng-deep .xfaFont{color:#000;font-weight:400;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}:host ::ng-deep .xfaCaption{overflow:hidden;flex:0 0 auto}:host ::ng-deep .xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}:host ::ng-deep .xfaLabel{height:100%;width:100%}:host ::ng-deep .xfaLeft{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .xfaRight{display:flex;flex-direction:row-reverse;align-items:center}:host ::ng-deep .xfaLeft>.xfaCaption,:host ::ng-deep .xfaLeft>.xfaCaptionForCheckButton,:host ::ng-deep .xfaRight>.xfaCaption,:host ::ng-deep .xfaRight>.xfaCaptionForCheckButton{max-height:100%}:host ::ng-deep .xfaTop{display:flex;flex-direction:column;align-items:flex-start}:host ::ng-deep .xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}:host ::ng-deep .xfaTop>.xfaCaption,:host ::ng-deep .xfaTop>.xfaCaptionForCheckButton,:host ::ng-deep .xfaBottom>.xfaCaption,:host ::ng-deep .xfaBottom>.xfaCaptionForCheckButton{width:100%}:host ::ng-deep .xfaBorder{background-color:transparent;position:absolute;pointer-events:none}:host ::ng-deep .xfaWrapped{width:100%;height:100%}:host ::ng-deep .xfaTextfield:focus,:host ::ng-deep .xfaSelect:focus{background-image:none;background-color:transparent;outline:auto;outline-offset:-1px}:host ::ng-deep .xfaCheckbox:focus,:host ::ng-deep .xfaRadio:focus{outline:auto}:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}:host ::ng-deep .xfaTop>.xfaTextfield,:host ::ng-deep .xfaTop>.xfaSelect,:host ::ng-deep .xfaBottom>.xfaTextfield,:host ::ng-deep .xfaBottom>.xfaSelect{flex:0 1 auto}:host ::ng-deep .xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}:host ::ng-deep .xfaLink{width:100%;height:100%;position:absolute;top:0;left:0}:host ::ng-deep .xfaCheckbox,:host ::ng-deep .xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}:host ::ng-deep .xfaRich{white-space:pre-wrap;width:100%;height:100%}:host ::ng-deep .xfaImage{object-position:left top;object-fit:contain;width:100%;height:100%}:host ::ng-deep .xfaLrTb,:host ::ng-deep .xfaRlTb,:host ::ng-deep .xfaTb{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaLr{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}:host ::ng-deep .xfaTb>div{justify-content:left}:host ::ng-deep .xfaPosition{position:relative}:host ::ng-deep .xfaArea{position:relative}:host ::ng-deep .xfaValignMiddle{display:flex;align-items:center}:host ::ng-deep .xfaTable{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}:host ::ng-deep .xfaTable .xfaRlRow>div{flex:1}:host ::ng-deep .xfaNonInteractive input,:host ::ng-deep .xfaNonInteractive textarea,:host ::ng-deep .xfaDisabled input,:host ::ng-deep .xfaDisabled textarea,:host ::ng-deep .xfaReadOnly input,:host ::ng-deep .xfaReadOnly textarea{background:initial}@media print{:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{background:transparent}:host ::ng-deep .xfaSelect{-webkit-appearance:none;appearance:none;text-indent:1px;text-overflow:\\\"\\\"}}:host ::ng-deep [data-editor-rotation=\\\"90\\\"]{transform:rotate(90deg)}:host ::ng-deep [data-editor-rotation=\\\"180\\\"]{transform:rotate(180deg)}:host ::ng-deep [data-editor-rotation=\\\"270\\\"]{transform:rotate(270deg)}:host ::ng-deep .annotationEditorLayer{background:transparent;position:absolute;top:0;left:0;font-size:calc(100px * var(--scale-factor));transform-origin:0 0}:host ::ng-deep .annotationEditorLayer .selectedEditor{outline:var(--focus-outline);resize:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor{position:absolute;background:transparent;border-radius:3px;padding:calc(var(--freetext-padding) * var(--scale-factor));resize:none;width:auto;height:auto;z-index:1;transform-origin:0 0;touch-action:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;top:0;left:0;overflow:visible;white-space:nowrap;resize:none;font:10px sans-serif;line-height:var(--freetext-line-height)}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay.enabled{display:block}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:empty:before{content:attr(default-content);color:gray}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:focus{outline:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled{resize:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled.selectedEditor{resize:horizontal}:host ::ng-deep .annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),:host ::ng-deep .annotationEditorLayer .inkEditor:hover:not(.selectedEditor){outline:var(--hover-outline)}:host ::ng-deep .annotationEditorLayer .inkEditor{position:absolute;background:transparent;border-radius:3px;overflow:auto;width:100%;height:100%;z-index:1;transform-origin:0 0;cursor:auto}:host ::ng-deep .annotationEditorLayer .inkEditor.editing{resize:none;cursor:var(--editorInk-editing-cursor),pointer}:host ::ng-deep .annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}:host ::ng-deep [data-main-rotation=\\\"90\\\"]{transform:rotate(90deg) translateY(-100%)}:host ::ng-deep [data-main-rotation=\\\"180\\\"]{transform:rotate(180deg) translate(-100%,-100%)}:host ::ng-deep [data-main-rotation=\\\"270\\\"]{transform:rotate(270deg) translate(-100%)}:host ::ng-deep .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}:host ::ng-deep .pdfViewer .canvasWrapper{overflow:hidden}:host ::ng-deep .pdfViewer .canvasWrapper canvas{width:100%}:host ::ng-deep .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);border-image:var(--page-border-image);background-clip:content-box;background-color:#fff}:host ::ng-deep .pdfViewer .dummyPage{position:relative;width:0;height:var(--viewer-container-height)}:host ::ng-deep .pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}:host ::ng-deep .pdfViewer.singlePageView{display:inline-block}:host ::ng-deep .pdfViewer.singlePageView .page{margin:0;border:none}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .pdfViewer.scrollWrapped,:host ::ng-deep .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .spread{white-space:nowrap}:host ::ng-deep .pdfViewer.removePageBorders,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}:host ::ng-deep .spread .page,:host ::ng-deep .spread .dummyPage,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{display:inline-block;vertical-align:middle}:host ::ng-deep .spread .page,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page{margin-left:var(--spreadHorizontalWrapped-margin-LR);margin-right:var(--spreadHorizontalWrapped-margin-LR)}:host ::ng-deep .pdfViewer.removePageBorders .spread .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollHorizontal .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollWrapped .page{margin-left:5px;margin-right:5px}:host ::ng-deep .pdfViewer .page canvas{margin:0;display:block}:host ::ng-deep .pdfViewer .page canvas[hidden]{display:none}:host ::ng-deep .pdfViewer .page .loadingIcon{position:absolute;display:block;inset:0;background:url(data:image/gif;base64,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) center no-repeat}:host ::ng-deep .pdfViewer .page .loadingIcon.notVisible{background:none}:host ::ng-deep .pdfViewer.enablePermissions .textLayer span{-webkit-user-select:none!important;user-select:none!important;cursor:not-allowed}:host ::ng-deep .pdfPresentationMode .pdfViewer{padding-bottom:0}:host ::ng-deep .pdfPresentationMode .spread{margin:0}:host ::ng-deep .pdfPresentationMode .pdfViewer .page{margin:0 auto;border:2px solid transparent}\\n\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { pdfViewerContainer: [{\n type: ViewChild,\n args: ['pdfViewerContainer']\n }], afterLoadComplete: [{\n type: Output,\n args: ['after-load-complete']\n }], pageRendered: [{\n type: Output,\n args: ['page-rendered']\n }], pageInitialized: [{\n type: Output,\n args: ['pages-initialized']\n }], textLayerRendered: [{\n type: Output,\n args: ['text-layer-rendered']\n }], onError: [{\n type: Output,\n args: ['error']\n }], onProgress: [{\n type: Output,\n args: ['on-progress']\n }], pageChange: [{\n type: Output\n }], src: [{\n type: Input\n }], cMapsUrl: [{\n type: Input,\n args: ['c-maps-url']\n }], page: [{\n type: Input,\n args: ['page']\n }], renderText: [{\n type: Input,\n args: ['render-text']\n }], renderTextMode: [{\n type: Input,\n args: ['render-text-mode']\n }], originalSize: [{\n type: Input,\n args: ['original-size']\n }], showAll: [{\n type: Input,\n args: ['show-all']\n }], stickToPage: [{\n type: Input,\n args: ['stick-to-page']\n }], zoom: [{\n type: Input,\n args: ['zoom']\n }], zoomScale: [{\n type: Input,\n args: ['zoom-scale']\n }], rotation: [{\n type: Input,\n args: ['rotation']\n }], externalLinkTarget: [{\n type: Input,\n args: ['external-link-target']\n }], autoresize: [{\n type: Input,\n args: ['autoresize']\n }], fitToPage: [{\n type: Input,\n args: ['fit-to-page']\n }], showBorders: [{\n type: Input,\n args: ['show-borders']\n }] } });\n\n/**\n * Created by vadimdez on 01/11/2016.\n */\nclass PdfViewerModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule, declarations: [PdfViewerComponent], exports: [PdfViewerComponent] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [PdfViewerComponent],\n exports: [PdfViewerComponent]\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { PdfViewerComponent, PdfViewerModule, RenderTextMode };\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SelfSamplingInstructionComponent } from \"./self-sampling-instruction.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [SelfSamplingInstructionComponent],\n exports: [SelfSamplingInstructionComponent],\n})\nexport class SelfSamplingInstructionModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ParentSelfSamplingInstructionComponent } from \"./parent-self-sampling-instruction.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [ParentSelfSamplingInstructionComponent],\n exports: [ParentSelfSamplingInstructionComponent],\n})\nexport class ParentSelfSamplingInstructionModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { GeneralTermsComponent } from \"./general-terms.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n declarations: [GeneralTermsComponent],\n imports: [CommonModule, SharedModule],\n exports: [GeneralTermsComponent],\n})\nexport class GeneralTermsModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { InitSessionComponent } from \"./init-session.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [InitSessionComponent],\n})\nexport class InitSessionModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SendForgotPasswordComponent } from \"./send-forgot-password.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { DxpBackgroundModule } from \"src/app/modules/shared/dxp-background/dxp-background.module\";\nimport { DxpSendForgotPasswordComponent } from \"../dxp-send-forgot-password/dxp-send-forgot-password.component\";\n\n@NgModule({\n declarations: [SendForgotPasswordComponent, DxpSendForgotPasswordComponent],\n imports: [CommonModule, ReactiveFormsModule, SharedModule, DxpBackgroundModule],\n})\nexport class SendForgotPasswordModule {}\n","import { CommonModule, DOCUMENT } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, Inject, NgModule } from \"@angular/core\";\nimport { ActivatedRoute, RouterModule } from \"@angular/router\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { TranslocoService } from \"@ngneat/transloco\";\n\nexport type BrowserRedirectData = {\n app: string,\n path?: string,\n url?: string\n}\n@Component({\n selector: 'lib-redirect',\n templateUrl: './browser-redirect.component.html',\n styleUrls: ['./browser-redirect.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BrowserRedirectComponent {\n target:string;\n\n constructor(\n @Inject(DOCUMENT) private _doc: Document,\n private _r:ActivatedRoute,\n private _cfg:ConfigService,\n private _t:TranslocoService,\n ) {\n const dest:BrowserRedirectData = {\n url: this._r.snapshot.data[\"url\"],\n path: this._r.snapshot.data[\"path\"],\n app: this._r.snapshot.data[\"app\"]\n };\n if (dest.url) {\n this.target = dest.url;\n } else {\n this.target = this._cfg._envConfig[dest.app] + dest.path;\n }\n this._doc.location.href = this.target + '/?langCode=' + this._t.getActiveLang() ;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, MatProgressSpinnerModule],\n declarations: [BrowserRedirectComponent],\n exports: [BrowserRedirectComponent]\n})\nexport class BrowserRedirectModule {}\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport * as HeaderReducer from \"../reducers/header.reducer\";\n\nconst State = (state: AppState) => state[HeaderReducer.headerFeatureKey];\n\nconst getVisibility = createSelector(State, (state) => state.visible);\n\nexport const HeaderSelectors = {\n getVisibility,\n};\n","import { Injectable } from \"@angular/core\";\nimport { select, Store } from \"@ngrx/store\";\nimport { Observable } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { HeaderSelectors } from \"src/app/@store/selectors/header.selectors\";\nimport { HeaderVisibilityService as LibHeaderVisibilityService } from \"src/app/plasma-ui-common/synlab-access-ui-components/core/header-visibility/header-visibility.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class HeaderVisibilityService implements LibHeaderVisibilityService {\n visible$: Observable = this._store.pipe(select(HeaderSelectors.getVisibility));\n constructor(private _store: Store) {}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { ActivateAccountComponent } from \"./activate-account.component\";\nimport { TranslocoModule } from \"@ngneat/transloco\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\n\n@NgModule({\n declarations: [ActivateAccountComponent],\n imports: [CommonModule, SharedModule, MatProgressSpinnerModule, TranslocoModule],\n})\nexport class ActivateAccountModule {}\n","import { BrowserModule } from \"@angular/platform-browser\";\nimport { NgModule, APP_INITIALIZER, CSP_NONCE } from \"@angular/core\";\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\n\n/*Main*/\nimport { AppComponent } from \"./app.component\";\n\n/*Module*/\nimport { InitComponent } from \"./pages/init/init.component\";\n\n/*Services*/\nimport { AuthGuard } from \"./services/authGuard/auth.guard\";\nimport { ConfigService } from \"./services/config/config.service\";\nimport { AuthService } from \"./services/auth/auth.service\";\nimport { SiginCallbackComponent } from \"./pages/signin-callback/signin-callback.component\";\nimport { TokenInterceptor } from \"./services/auth/token-interceptor/token-interceptor.service\";\nimport { ToastrModule } from \"ngx-toastr\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { ForgotPasswordModule } from \"./pages/forgot-password/forgot-password.module\";\nimport { DeleteAccountModule } from \"./pages/delete-account/delete-account.module\";\nimport { RenewtokenComponent } from \"./pages/renewtoken/renewtoken.component\";\nimport { TranslocoRootModule } from \"./transloco-root.module\";\nimport { SharedModule } from \"./modules/shared/shared.module\";\nimport { TermsOfUseModule } from \"./pages/terms-of-use/terms-of-use.module\";\nimport { TermsOfUseMobileModule } from \"./pages/terms-of-use-mobile/terms-of-use-mobile.module\";\nimport { PrivacyPolicyModule } from \"./pages/privacy-policy/privacy-policy.module\";\nimport { StoreModule } from \"@ngrx/store\";\nimport { REDUCER_TOKEN, getReducers } from \"./@store/reducers\";\nimport { effects } from \"./@store/effects\";\nimport { EffectsModule } from \"@ngrx/effects\";\nimport { StoreDevtoolsModule } from \"@ngrx/store-devtools\";\nimport { environment } from \"src/environments/environment\";\nimport { StoreService } from \"./services/store.service\";\nimport { TermsComponent } from \"./modules/shared/terms/terms.component\";\nimport { PrivacyPolicyFrameComponent } from \"./modules/shared/privacy-policy-frame/privacy-policy-frame.component\";\nimport { PdfViewerModule } from \"ng2-pdf-viewer\";\nimport { SelfSamplingInstructionModule } from \"./pages/self-sampling-instruction/self-sampling-instruction.module\";\nimport { ParentSelfSamplingInstructionModule } from \"./pages/parent-self-sampling-instruction/parent-self-sampling-instruction.module\";\nimport { GeneralTermsModule } from \"./pages/general-terms/general-terms.module\";\nimport { InitSessionModule } from \"./pages/init-session/init-session.module\";\nimport { SendForgotPasswordModule } from \"./pages/send-forgot-password/send-forgot-password.module\";\nimport { CheckLogin } from \"./services/authGuard/check.login.guard\";\nimport { EePrivacyTermsComponent } from \"./pages/ee-privacy-terms/ee-privacy-terms.component\";\nimport { BrowserRedirectModule } from \"./plasma-ui-common/synlab-access-ui-components/browser-redirect/browser-redirect.component\";\nimport { SynlabHeaderModule } from \"./plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.component\";\nimport { UsertypeService } from \"./plasma-ui-common/synlab-access-ui-components/core/usertype/usertype.service\";\nimport { HeaderUsertypeService } from \"src/app/pages/index/services/header-usertype.service\";\nimport { HeaderConfigService } from \"src/app/pages/index/services/header-config.service\";\nimport { ProfileService } from \"./plasma-ui-common/synlab-access-ui-components/core/profile/profile.service\";\nimport { ConfigService as LibConfigService } from \"./plasma-ui-common/synlab-access-ui-components/core\";\nimport { LoggerService as LibLoggerService } from \"./plasma-ui-common/synlab-access-ui-components/core\";\nimport { LoggerService } from \"./services/logger.service\";\nimport { SpinnerModule } from \"./plasma-ui-common/synlab-access-ui-components/spinner/spinner.component\";\nimport { NgIdleKeepaliveModule } from \"@ng-idle/keepalive\";\nimport { GoogleTagManagerModule, GoogleTagManagerService } from \"angular-google-tag-manager\";\nimport { claimValues, GTM_PLACEHOLDER_VALUE } from \"./appsettings\";\nimport { HeaderVisibilityService as LibHeaderVisibilityService } from \"./plasma-ui-common/synlab-access-ui-components/core/header-visibility/header-visibility.service\";\nimport { HeaderVisibilityService } from \"./pages/index/services/header-visibility.service\";\nimport { ActivateAccountModule } from \"./pages/activate-account/activate-account.module\";\nimport { UserTypeGuard } from \"./services/guards/user-type.guard\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { RANDOM_NONCE } from \"./plasma-ui-common/synlab-access-ui-components/core/constants\";\n\nconst logr = new LoggerService(null);\n\n@NgModule({\n declarations: [\n AppComponent,\n SiginCallbackComponent,\n InitComponent,\n RenewtokenComponent,\n TermsComponent,\n PrivacyPolicyFrameComponent,\n EePrivacyTermsComponent,\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n BrowserAnimationsModule,\n ForgotPasswordModule,\n SendForgotPasswordModule,\n ToastrModule.forRoot(),\n GeneralTermsModule,\n TermsOfUseModule,\n TermsOfUseMobileModule,\n SelfSamplingInstructionModule,\n ParentSelfSamplingInstructionModule,\n PrivacyPolicyModule,\n TranslocoRootModule,\n SharedModule,\n AppRoutingModule,\n MatDialogModule,\n MatProgressSpinnerModule,\n PdfViewerModule,\n DeleteAccountModule,\n ActivateAccountModule,\n InitSessionModule,\n StoreModule.forRoot(REDUCER_TOKEN),\n EffectsModule.forRoot(effects),\n StoreDevtoolsModule.instrument({\n maxAge: 25,\n logOnly: environment.production,\n connectInZone: true,\n }),\n BrowserRedirectModule,\n SynlabHeaderModule,\n SpinnerModule,\n NgIdleKeepaliveModule.forRoot(),\n GoogleTagManagerModule,\n ],\n providers: [\n {\n provide: \"googleTagManagerId\",\n useValue: GTM_PLACEHOLDER_VALUE,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [ConfigService, GoogleTagManagerService],\n useFactory: (cfg: ConfigService, gtms: GoogleTagManagerService) => () => {\n cfg.load().then((c) => {\n const enableGtms = cfg._envConfig?.EnableGoogleTag?.toLowerCase() == claimValues.TRUE;\n const tagId = cfg._envConfig?.GoogleTagId;\n logr.log({ enableGtms, tagId });\n if (enableGtms && tagId) {\n gtms.googleTagManagerId = tagId;\n gtms[\"config\"].id = tagId;\n }\n });\n },\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [ConfigService],\n useFactory: (configService: ConfigService) => {\n return () => configService.loadEnvJson();\n },\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true,\n },\n ConfigService,\n AuthGuard,\n UserTypeGuard,\n CheckLogin,\n AuthService,\n LoggerService,\n {\n provide: REDUCER_TOKEN,\n deps: [StoreService],\n useFactory: getReducers,\n },\n {\n provide: UsertypeService,\n useClass: HeaderUsertypeService,\n },\n {\n provide: LibConfigService,\n useClass: HeaderConfigService,\n },\n {\n provide: LibLoggerService,\n useClass: LoggerService,\n },\n {\n provide: ProfileService,\n useClass: HeaderUsertypeService,\n },\n {\n provide: LibHeaderVisibilityService,\n useClass: HeaderVisibilityService,\n },\n {\n provide: CSP_NONCE,\n useValue: RANDOM_NONCE,\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { enableProdMode } from \"@angular/core\";\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\n\nimport { AppModule } from \"./app/app.module\";\nimport { environment } from \"./environments/environment\";\n\nexport function getBaseUrl() {\n return document.getElementsByTagName(\"base\")[0].href;\n}\n\nconst providers = [{ provide: \"BASE_URL\", useFactory: getBaseUrl, deps: [] }];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers)\n .bootstrapModule(AppModule)\n .catch((err) => console.log(err));\n","/*! MIT License. Copyright 2015-2018 Richard Moore . See LICENSE.txt. */\n(function(root) {\n \"use strict\";\n\n function checkInt(value) {\n return (parseInt(value) === value);\n }\n\n function checkInts(arrayish) {\n if (!checkInt(arrayish.length)) { return false; }\n\n for (var i = 0; i < arrayish.length; i++) {\n if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) {\n return false;\n }\n }\n\n return true;\n }\n\n function coerceArray(arg, copy) {\n\n // ArrayBuffer view\n if (arg.buffer && arg.name === 'Uint8Array') {\n\n if (copy) {\n if (arg.slice) {\n arg = arg.slice();\n } else {\n arg = Array.prototype.slice.call(arg);\n }\n }\n\n return arg;\n }\n\n // It's an array; check it is a valid representation of a byte\n if (Array.isArray(arg)) {\n if (!checkInts(arg)) {\n throw new Error('Array contains invalid value: ' + arg);\n }\n\n return new Uint8Array(arg);\n }\n\n // Something else, but behaves like an array (maybe a Buffer? Arguments?)\n if (checkInt(arg.length) && checkInts(arg)) {\n return new Uint8Array(arg);\n }\n\n throw new Error('unsupported array-like object');\n }\n\n function createArray(length) {\n return new Uint8Array(length);\n }\n\n function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {\n if (sourceStart != null || sourceEnd != null) {\n if (sourceArray.slice) {\n sourceArray = sourceArray.slice(sourceStart, sourceEnd);\n } else {\n sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);\n }\n }\n targetArray.set(sourceArray, targetStart);\n }\n\n\n\n var convertUtf8 = (function() {\n function toBytes(text) {\n var result = [], i = 0;\n text = encodeURI(text);\n while (i < text.length) {\n var c = text.charCodeAt(i++);\n\n // if it is a % sign, encode the following 2 bytes as a hex value\n if (c === 37) {\n result.push(parseInt(text.substr(i, 2), 16))\n i += 2;\n\n // otherwise, just the actual byte\n } else {\n result.push(c)\n }\n }\n\n return coerceArray(result);\n }\n\n function fromBytes(bytes) {\n var result = [], i = 0;\n\n while (i < bytes.length) {\n var c = bytes[i];\n\n if (c < 128) {\n result.push(String.fromCharCode(c));\n i++;\n } else if (c > 191 && c < 224) {\n result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f)));\n i += 2;\n } else {\n result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)));\n i += 3;\n }\n }\n\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n var convertHex = (function() {\n function toBytes(text) {\n var result = [];\n for (var i = 0; i < text.length; i += 2) {\n result.push(parseInt(text.substr(i, 2), 16));\n }\n\n return result;\n }\n\n // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html\n var Hex = '0123456789abcdef';\n\n function fromBytes(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i++) {\n var v = bytes[i];\n result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);\n }\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n\n // Number of rounds by keysize\n var numberOfRounds = {16: 10, 24: 12, 32: 14}\n\n // Round constant words\n var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n\n // S-box and Inverse S-box (S is for Substitution)\n var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\n var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n\n // Transformations for encryption\n var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\n var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\n var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\n var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n\n // Transformations for decryption\n var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\n var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\n var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\n var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n\n // Transformations for decryption key expansion\n var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\n var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\n var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\n var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\n\n function convertToInt32(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i += 4) {\n result.push(\n (bytes[i ] << 24) |\n (bytes[i + 1] << 16) |\n (bytes[i + 2] << 8) |\n bytes[i + 3]\n );\n }\n return result;\n }\n\n var AES = function(key) {\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n Object.defineProperty(this, 'key', {\n value: coerceArray(key, true)\n });\n\n this._prepare();\n }\n\n\n AES.prototype._prepare = function() {\n\n var rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new Error('invalid key size (must be 16, 24 or 32 bytes)');\n }\n\n // encryption round keys\n this._Ke = [];\n\n // decryption round keys\n this._Kd = [];\n\n for (var i = 0; i <= rounds; i++) {\n this._Ke.push([0, 0, 0, 0]);\n this._Kd.push([0, 0, 0, 0]);\n }\n\n var roundKeyCount = (rounds + 1) * 4;\n var KC = this.key.length / 4;\n\n // convert the key into ints\n var tk = convertToInt32(this.key);\n\n // copy values into round key arrays\n var index;\n for (var i = 0; i < KC; i++) {\n index = i >> 2;\n this._Ke[index][i % 4] = tk[i];\n this._Kd[rounds - index][i % 4] = tk[i];\n }\n\n // key expansion (fips-197 section 5.2)\n var rconpointer = 0;\n var t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[ tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (var i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n } else {\n for (var i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n\n tk[KC / 2] ^= (S[ tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n\n for (var i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n\n // copy values into round key arrays\n var i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n this._Ke[r][c] = tk[i];\n this._Kd[rounds - r][c] = tk[i++];\n t++;\n }\n }\n\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (var r = 1; r < rounds; r++) {\n for (var c = 0; c < 4; c++) {\n tt = this._Kd[r][c];\n this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[ tt & 0xFF]);\n }\n }\n }\n\n AES.prototype.encrypt = function(plaintext) {\n if (plaintext.length != 16) {\n throw new Error('invalid plaintext size (must be 16 bytes)');\n }\n\n var rounds = this._Ke.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(plaintext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Ke[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T1[(t[ i ] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[ t[(i + 3) % 4] & 0xff] ^\n this._Ke[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Ke[rounds][i];\n result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n AES.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length != 16) {\n throw new Error('invalid ciphertext size (must be 16 bytes)');\n }\n\n var rounds = this._Kd.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(ciphertext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Kd[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T5[(t[ i ] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[ t[(i + 1) % 4] & 0xff] ^\n this._Kd[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Kd[rounds][i];\n result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n\n /**\n * Mode Of Operation - Electonic Codebook (ECB)\n */\n var ModeOfOperationECB = function(key) {\n if (!(this instanceof ModeOfOperationECB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Electronic Code Block\";\n this.name = \"ecb\";\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationECB.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n block = this._aes.encrypt(block);\n copyArray(block, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationECB.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n copyArray(block, plaintext, i);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Block Chaining (CBC)\n */\n var ModeOfOperationCBC = function(key, iv) {\n if (!(this instanceof ModeOfOperationCBC)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Block Chaining\";\n this.name = \"cbc\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastCipherblock = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCBC.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n\n for (var j = 0; j < 16; j++) {\n block[j] ^= this._lastCipherblock[j];\n }\n\n this._lastCipherblock = this._aes.encrypt(block);\n copyArray(this._lastCipherblock, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n\n for (var j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ this._lastCipherblock[j];\n }\n\n copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Feedback (CFB)\n */\n var ModeOfOperationCFB = function(key, iv, segmentSize) {\n if (!(this instanceof ModeOfOperationCFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Feedback\";\n this.name = \"cfb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 size)');\n }\n\n if (!segmentSize) { segmentSize = 1; }\n\n this.segmentSize = segmentSize;\n\n this._shiftRegister = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCFB.prototype.encrypt = function(plaintext) {\n if ((plaintext.length % this.segmentSize) != 0) {\n throw new Error('invalid plaintext size (must be segmentSize bytes)');\n }\n\n var encrypted = coerceArray(plaintext, true);\n\n var xorSegment;\n for (var i = 0; i < encrypted.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for (var j = 0; j < this.segmentSize; j++) {\n encrypted[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return encrypted;\n }\n\n ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {\n if ((ciphertext.length % this.segmentSize) != 0) {\n throw new Error('invalid ciphertext size (must be segmentSize bytes)');\n }\n\n var plaintext = coerceArray(ciphertext, true);\n\n var xorSegment;\n for (var i = 0; i < plaintext.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n\n for (var j = 0; j < this.segmentSize; j++) {\n plaintext[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return plaintext;\n }\n\n /**\n * Mode Of Operation - Output Feedback (OFB)\n */\n var ModeOfOperationOFB = function(key, iv) {\n if (!(this instanceof ModeOfOperationOFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Output Feedback\";\n this.name = \"ofb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastPrecipher = coerceArray(iv, true);\n this._lastPrecipherIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationOFB.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._lastPrecipherIndex === 16) {\n this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);\n this._lastPrecipherIndex = 0;\n }\n encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;\n\n\n /**\n * Counter object for CTR common mode of operation\n */\n var Counter = function(initialValue) {\n if (!(this instanceof Counter)) {\n throw Error('Counter must be instanitated with `new`');\n }\n\n // We allow 0, but anything false-ish uses the default 1\n if (initialValue !== 0 && !initialValue) { initialValue = 1; }\n\n if (typeof(initialValue) === 'number') {\n this._counter = createArray(16);\n this.setValue(initialValue);\n\n } else {\n this.setBytes(initialValue);\n }\n }\n\n Counter.prototype.setValue = function(value) {\n if (typeof(value) !== 'number' || parseInt(value) != value) {\n throw new Error('invalid counter value (must be an integer)');\n }\n\n // We cannot safely handle numbers beyond the safe range for integers\n if (value > Number.MAX_SAFE_INTEGER) {\n throw new Error('integer value out of safe range');\n }\n\n for (var index = 15; index >= 0; --index) {\n this._counter[index] = value % 256;\n value = parseInt(value / 256);\n }\n }\n\n Counter.prototype.setBytes = function(bytes) {\n bytes = coerceArray(bytes, true);\n\n if (bytes.length != 16) {\n throw new Error('invalid counter bytes size (must be 16 bytes)');\n }\n\n this._counter = bytes;\n };\n\n Counter.prototype.increment = function() {\n for (var i = 15; i >= 0; i--) {\n if (this._counter[i] === 255) {\n this._counter[i] = 0;\n } else {\n this._counter[i]++;\n break;\n }\n }\n }\n\n\n /**\n * Mode Of Operation - Counter (CTR)\n */\n var ModeOfOperationCTR = function(key, counter) {\n if (!(this instanceof ModeOfOperationCTR)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Counter\";\n this.name = \"ctr\";\n\n if (!(counter instanceof Counter)) {\n counter = new Counter(counter)\n }\n\n this._counter = counter;\n\n this._remainingCounter = null;\n this._remainingCounterIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCTR.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._remainingCounterIndex === 16) {\n this._remainingCounter = this._aes.encrypt(this._counter._counter);\n this._remainingCounterIndex = 0;\n this._counter.increment();\n }\n encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;\n\n\n ///////////////////////\n // Padding\n\n // See:https://tools.ietf.org/html/rfc2315\n function pkcs7pad(data) {\n data = coerceArray(data, true);\n var padder = 16 - (data.length % 16);\n var result = createArray(data.length + padder);\n copyArray(data, result);\n for (var i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n }\n\n function pkcs7strip(data) {\n data = coerceArray(data, true);\n if (data.length < 16) { throw new Error('PKCS#7 invalid length'); }\n\n var padder = data[data.length - 1];\n if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); }\n\n var length = data.length - padder;\n for (var i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new Error('PKCS#7 invalid padding byte');\n }\n }\n\n var result = createArray(length);\n copyArray(data, result, 0, 0, length);\n return result;\n }\n\n ///////////////////////\n // Exporting\n\n\n // The block cipher\n var aesjs = {\n AES: AES,\n Counter: Counter,\n\n ModeOfOperation: {\n ecb: ModeOfOperationECB,\n cbc: ModeOfOperationCBC,\n cfb: ModeOfOperationCFB,\n ofb: ModeOfOperationOFB,\n ctr: ModeOfOperationCTR\n },\n\n utils: {\n hex: convertHex,\n utf8: convertUtf8\n },\n\n padding: {\n pkcs7: {\n pad: pkcs7pad,\n strip: pkcs7strip\n }\n },\n\n _arrayTest: {\n coerceArray: coerceArray,\n createArray: createArray,\n copyArray: copyArray,\n }\n };\n\n\n // node.js\n if (typeof exports !== 'undefined') {\n module.exports = aesjs\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define([], function() { return aesjs; });\n\n // Web Browsers\n } else {\n\n // If there was an existing library at \"aesjs\" make sure it's still available\n if (root.aesjs) {\n aesjs._aesjs = root.aesjs;\n }\n\n root.aesjs = aesjs;\n }\n\n\n})(this);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bytesToBase64 = bytesToBase64;\nexports.base64ToBytes = base64ToBytes;\nexports.base64encode = base64encode;\nexports.base64decode = base64decode;\n\n/*\r\nMIT License\r\n\r\nCopyright (c) 2020 Egor Nepomnyaschih\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n*/\n\n/*\r\n// This constant can also be computed with the following algorithm:\r\nconst base64abc = [],\r\n A = \"A\".charCodeAt(0),\r\n a = \"a\".charCodeAt(0),\r\n n = \"0\".charCodeAt(0);\r\nfor (let i = 0; i < 26; ++i) {\r\n base64abc.push(String.fromCharCode(A + i));\r\n}\r\nfor (let i = 0; i < 26; ++i) {\r\n base64abc.push(String.fromCharCode(a + i));\r\n}\r\nfor (let i = 0; i < 10; ++i) {\r\n base64abc.push(String.fromCharCode(n + i));\r\n}\r\nbase64abc.push(\"+\");\r\nbase64abc.push(\"/\");\r\n*/\nvar base64abc = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"+\", \"/\"];\n/*\r\n// This constant can also be computed with the following algorithm:\r\nconst l = 256, base64codes = new Uint8Array(l);\r\nfor (let i = 0; i < l; ++i) {\r\n base64codes[i] = 255; // invalid character\r\n}\r\nbase64abc.forEach((char, index) => {\r\n base64codes[char.charCodeAt(0)] = index;\r\n});\r\nbase64codes[\"=\".charCodeAt(0)] = 0; // ignored anyway, so we just need to prevent an error\r\n*/\n\nvar base64codes = [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 0, 255, 255, 255, 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, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51];\n\nfunction getBase64Code(charCode) {\n if (charCode >= base64codes.length) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n var code = base64codes[charCode];\n\n if (code === 255) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n return code;\n}\n\nfunction bytesToBase64(bytes) {\n var result = '',\n i,\n l = bytes.length;\n\n for (i = 2; i < l; i += 3) {\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];\n result += base64abc[(bytes[i - 1] & 0x0F) << 2 | bytes[i] >> 6];\n result += base64abc[bytes[i] & 0x3F];\n }\n\n if (i === l + 1) {\n // 1 octet yet to write\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4];\n result += \"==\";\n }\n\n if (i === l) {\n // 2 octets yet to write\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];\n result += base64abc[(bytes[i - 1] & 0x0F) << 2];\n result += \"=\";\n }\n\n return result;\n}\n\nfunction base64ToBytes(str) {\n if (str.length % 4 !== 0) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n var index = str.indexOf(\"=\");\n\n if (index !== -1 && index < str.length - 2) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n var missingOctets = str.endsWith(\"==\") ? 2 : str.endsWith(\"=\") ? 1 : 0,\n n = str.length,\n result = new Uint8Array(3 * (n / 4)),\n buffer;\n\n for (var i = 0, j = 0; i < n; i += 4, j += 3) {\n buffer = getBase64Code(str.charCodeAt(i)) << 18 | getBase64Code(str.charCodeAt(i + 1)) << 12 | getBase64Code(str.charCodeAt(i + 2)) << 6 | getBase64Code(str.charCodeAt(i + 3));\n result[j] = buffer >> 16;\n result[j + 1] = buffer >> 8 & 0xFF;\n result[j + 2] = buffer & 0xFF;\n }\n\n return result.subarray(0, result.length - missingOctets);\n}\n\nfunction base64encode(str) {\n var encoder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new TextEncoder();\n return bytesToBase64(encoder.encode(str));\n}\n\nfunction base64decode(str) {\n var decoder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new TextDecoder();\n return decoder.decode(base64ToBytes(str));\n}\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n}));\n","\"use strict\";\n\nvar numberIsNaN = require(\"../../number/is-nan\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , value = require(\"../../object/valid-value\")\n , indexOf = Array.prototype.indexOf\n , objHasOwnProperty = Object.prototype.hasOwnProperty\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (searchElement /*, fromIndex*/) {\n\tvar i, length, fromIndex, val;\n\tif (!numberIsNaN(searchElement)) return indexOf.apply(this, arguments);\n\n\tlength = toPosInt(value(this).length);\n\tfromIndex = arguments[1];\n\tif (isNaN(fromIndex)) fromIndex = 0;\n\telse if (fromIndex >= 0) fromIndex = floor(fromIndex);\n\telse fromIndex = toPosInt(this.length) - floor(abs(fromIndex));\n\n\tfor (i = fromIndex; i < length; ++i) {\n\t\tif (objHasOwnProperty.call(this, i)) {\n\t\t\tval = this[i];\n\t\t\tif (numberIsNaN(val)) return i; // Jslint: ignore\n\t\t}\n\t}\n\treturn -1;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Array.from : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n","\"use strict\";\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArguments = require(\"../../function/is-arguments\")\n , isFunction = require(\"../../function/is-function\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , callable = require(\"../../object/valid-callable\")\n , validValue = require(\"../../object/valid-value\")\n , isValue = require(\"../../object/is-value\")\n , isString = require(\"../../string/is-string\")\n , isArray = Array.isArray\n , call = Function.prototype.call\n , desc = { configurable: true, enumerable: true, writable: true, value: null }\n , defineProperty = Object.defineProperty;\n\n// eslint-disable-next-line complexity, max-lines-per-function\nmodule.exports = function (arrayLike /*, mapFn, thisArg*/) {\n\tvar mapFn = arguments[1]\n\t , thisArg = arguments[2]\n\t , Context\n\t , i\n\t , j\n\t , arr\n\t , length\n\t , code\n\t , iterator\n\t , result\n\t , getIterator\n\t , value;\n\n\tarrayLike = Object(validValue(arrayLike));\n\n\tif (isValue(mapFn)) callable(mapFn);\n\tif (!this || this === Array || !isFunction(this)) {\n\t\t// Result: Plain array\n\t\tif (!mapFn) {\n\t\t\tif (isArguments(arrayLike)) {\n\t\t\t\t// Source: Arguments\n\t\t\t\tlength = arrayLike.length;\n\t\t\t\tif (length !== 1) return Array.apply(null, arrayLike);\n\t\t\t\tarr = new Array(1);\n\t\t\t\tarr[0] = arrayLike[0];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tif (isArray(arrayLike)) {\n\t\t\t\t// Source: Array\n\t\t\t\tarr = new Array((length = arrayLike.length));\n\t\t\t\tfor (i = 0; i < length; ++i) arr[i] = arrayLike[i];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t}\n\t\tarr = [];\n\t} else {\n\t\t// Result: Non plain array\n\t\tContext = this;\n\t}\n\n\tif (!isArray(arrayLike)) {\n\t\tif ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {\n\t\t\t// Source: Iterator\n\t\t\titerator = callable(getIterator).call(arrayLike);\n\t\t\tif (Context) arr = new Context();\n\t\t\tresult = iterator.next();\n\t\t\ti = 0;\n\t\t\twhile (!result.done) {\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[i] = value;\n\t\t\t\t}\n\t\t\t\tresult = iterator.next();\n\t\t\t\t++i;\n\t\t\t}\n\t\t\tlength = i;\n\t\t} else if (isString(arrayLike)) {\n\t\t\t// Source: String\n\t\t\tlength = arrayLike.length;\n\t\t\tif (Context) arr = new Context();\n\t\t\tfor (i = 0, j = 0; i < length; ++i) {\n\t\t\t\tvalue = arrayLike[i];\n\t\t\t\tif (i + 1 < length) {\n\t\t\t\t\tcode = value.charCodeAt(0);\n\t\t\t\t\t// eslint-disable-next-line max-depth\n\t\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];\n\t\t\t\t}\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, j, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[j] = value;\n\t\t\t\t}\n\t\t\t\t++j;\n\t\t\t}\n\t\t\tlength = j;\n\t\t}\n\t}\n\tif (length === undefined) {\n\t\t// Source: array or array-like\n\t\tlength = toPosInt(arrayLike.length);\n\t\tif (Context) arr = new Context(length);\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n\t\t\tif (Context) {\n\t\t\t\tdesc.value = value;\n\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t} else {\n\t\t\t\tarr[i] = value;\n\t\t\t}\n\t\t}\n\t}\n\tif (Context) {\n\t\tdesc.value = null;\n\t\tarr.length = length;\n\t}\n\treturn arr;\n};\n","\"use strict\";\n\nvar from = require(\"./from\")\n , isArray = Array.isArray;\n\nmodule.exports = function (arrayLike) { return isArray(arrayLike) ? arrayLike : from(arrayLike); };\n","\"use strict\";\n\nvar assign = require(\"../object/assign\")\n , isObject = require(\"../object/is-object\")\n , isValue = require(\"../object/is-value\")\n , captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (message /*, code, ext*/) {\n\tvar err = new Error(message), code = arguments[1], ext = arguments[2];\n\tif (!isValue(ext)) {\n\t\tif (isObject(code)) {\n\t\t\text = code;\n\t\t\tcode = null;\n\t\t}\n\t}\n\tif (isValue(ext)) assign(err, ext);\n\tif (isValue(code)) err.code = code;\n\tif (captureStackTrace) captureStackTrace(err, module.exports);\n\treturn err;\n};\n","\"use strict\";\n\nvar toPosInt = require(\"../number/to-pos-integer\");\n\nvar test = function (arg1, arg2) { return arg2; };\n\nvar desc, defineProperty, generate, mixin;\n\ntry {\n\tObject.defineProperty(test, \"length\", {\n\t\tconfigurable: true,\n\t\twritable: false,\n\t\tenumerable: false,\n\t\tvalue: 1\n\t});\n}\ncatch (ignore) {}\n\nif (test.length === 1) {\n\t// ES6\n\tdesc = { configurable: true, writable: false, enumerable: false };\n\tdefineProperty = Object.defineProperty;\n\tmodule.exports = function (fn, length) {\n\t\tlength = toPosInt(length);\n\t\tif (fn.length === length) return fn;\n\t\tdesc.value = length;\n\t\treturn defineProperty(fn, \"length\", desc);\n\t};\n} else {\n\tmixin = require(\"../object/mixin\");\n\tgenerate = (function () {\n\t\tvar cache = [];\n\t\treturn function (length) {\n\t\t\tvar args, i = 0;\n\t\t\tif (cache[length]) return cache[length];\n\t\t\targs = [];\n\t\t\twhile (length--) args.push(\"a\" + (++i).toString(36));\n\t\t\t// eslint-disable-next-line no-new-func\n\t\t\treturn new Function(\n\t\t\t\t\"fn\",\n\t\t\t\t\"return function (\" + args.join(\", \") + \") { return fn.apply(this, arguments); };\"\n\t\t\t);\n\t\t};\n\t})();\n\tmodule.exports = function (src, length) {\n\t\tvar target;\n\t\tlength = toPosInt(length);\n\t\tif (src.length === length) return src;\n\t\ttarget = generate(length)(src);\n\t\ttry { mixin(target, src); }\n\t\tcatch (ignore) {}\n\t\treturn target;\n\t};\n}\n","\"use strict\";\n\nvar objToString = Object.prototype.toString\n , id = objToString.call((function () { return arguments; })());\n\nmodule.exports = function (value) { return objToString.call(value) === id; };\n","\"use strict\";\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Math.sign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar sign = Math.sign;\n\tif (typeof sign !== \"function\") return false;\n\treturn sign(10) === 1 && sign(-20) === -1;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tvalue = Number(value);\n\tif (isNaN(value) || value === 0) return value;\n\treturn value > 0 ? 1 : -1;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Number.isNaN : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar numberIsNaN = Number.isNaN;\n\tif (typeof numberIsNaN !== \"function\") return false;\n\treturn !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\t// eslint-disable-next-line no-self-compare\n\treturn value !== value;\n};\n","\"use strict\";\n\nvar sign = require(\"../math/sign\")\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (value) {\n\tif (isNaN(value)) return 0;\n\tvalue = Number(value);\n\tif (value === 0 || !isFinite(value)) return value;\n\treturn sign(value) * floor(abs(value));\n};\n","\"use strict\";\n\nvar toInteger = require(\"./to-integer\")\n , max = Math.max;\n\nmodule.exports = function (value) { return max(0, toInteger(value)); };\n","// Internal method, used by iteration functions.\n// Calls a function for each key-value pair found in object\n// Optionally takes compareFn to iterate object in specific order\n\n\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , value = require(\"./valid-value\")\n , bind = Function.prototype.bind\n , call = Function.prototype.call\n , keys = Object.keys\n , objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nmodule.exports = function (method, defVal) {\n\treturn function (obj, cb /*, thisArg, compareFn*/) {\n\t\tvar list, thisArg = arguments[2], compareFn = arguments[3];\n\t\tobj = Object(value(obj));\n\t\tcallable(cb);\n\n\t\tlist = keys(obj);\n\t\tif (compareFn) {\n\t\t\tlist.sort(typeof compareFn === \"function\" ? bind.call(compareFn, obj) : undefined);\n\t\t}\n\t\tif (typeof method !== \"function\") method = list[method];\n\t\treturn call.call(method, list, function (key, index) {\n\t\t\tif (!objPropertyIsEnumerable.call(obj, key)) return defVal;\n\t\t\treturn call.call(cb, thisArg, obj[key], key, obj, index);\n\t\t});\n\t};\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./_iterate\")(\"forEach\");\n","// Deprecated\n\n\"use strict\";\n\nmodule.exports = function (obj) { return typeof obj === \"function\"; };\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , forEach = require(\"./for-each\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb /*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nvar value = require(\"./valid-value\")\n , defineProperty = Object.defineProperty\n , getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor\n , getOwnPropertyNames = Object.getOwnPropertyNames\n , getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\nmodule.exports = function (target, source) {\n\tvar error, sourceObject = Object(value(source));\n\ttarget = Object(value(target));\n\tgetOwnPropertyNames(sourceObject).forEach(function (name) {\n\t\ttry {\n\t\t\tdefineProperty(target, name, getOwnPropertyDescriptor(source, name));\n\t\t} catch (e) { error = e; }\n\t});\n\tif (typeof getOwnPropertySymbols === \"function\") {\n\t\tgetOwnPropertySymbols(sourceObject).forEach(function (symbol) {\n\t\t\ttry {\n\t\t\t\tdefineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));\n\t\t\t} catch (e) { error = e; }\n\t\t});\n\t}\n\tif (error !== undefined) throw error;\n\treturn target;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (arg /*, …args*/) {\n\tvar set = create(null);\n\tforEach.call(arguments, function (name) { set[name] = true; });\n\treturn set;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar ensureValue = require(\"./valid-value\")\n , stringifiable = require(\"./validate-stringifiable\");\n\nmodule.exports = function (value) { return stringifiable(ensureValue(value)); };\n","\"use strict\";\n\nvar isCallable = require(\"./is-callable\");\n\nmodule.exports = function (stringifiable) {\n\ttry {\n\t\tif (stringifiable && isCallable(stringifiable.toString)) return stringifiable.toString();\n\t\treturn String(stringifiable);\n\t} catch (e) {\n\t\tthrow new TypeError(\"Passed argument cannot be stringifed\");\n\t}\n};\n","\"use strict\";\n\nvar isCallable = require(\"./object/is-callable\");\n\nmodule.exports = function (value) {\n\ttry {\n\t\tif (value && isCallable(value.toString)) return value.toString();\n\t\treturn String(value);\n\t} catch (e) {\n\t\treturn \"\";\n\t}\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n","\"use strict\";\n\nvar safeToString = require(\"./safe-to-string\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"…\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\treturn JSON.stringify(char).slice(1, -1);\n\t});\n\treturn string;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")()\n\t? require(\"ext/global-this\").Symbol\n\t: require(\"./polyfill\");\n","\"use strict\";\n\nvar global = require(\"ext/global-this\")\n , validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar Symbol = global.Symbol;\n\tvar symbol;\n\tif (typeof Symbol !== \"function\") return false;\n\tsymbol = Symbol(\"test symbol\");\n\ttry { String(symbol); }\n\tcatch (e) { return false; }\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tif (!value) return false;\n\tif (typeof value === \"symbol\") return true;\n\tif (!value.constructor) return false;\n\tif (value.constructor.name !== \"Symbol\") return false;\n\treturn value[value.constructor.toStringTag] === \"Symbol\";\n};\n","\"use strict\";\n\nvar d = require(\"d\");\n\nvar create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;\n\nvar created = create(null);\nmodule.exports = function (desc) {\n\tvar postfix = 0, name, ie11BugWorkaround;\n\twhile (created[desc + (postfix || \"\")]) ++postfix;\n\tdesc += postfix || \"\";\n\tcreated[desc] = true;\n\tname = \"@@\" + desc;\n\tdefineProperty(\n\t\tobjPrototype, name,\n\t\td.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t})\n\t);\n\treturn name;\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , NativeSymbol = require(\"ext/global-this\").Symbol;\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t\t// fallback to eventual native implementation of given symbol\n\t\thasInstance: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(\"hasInstance\")\n\t\t),\n\t\tisConcatSpreadable: d(\n\t\t\t\"\",\n\t\t\t(NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n\t\t\t\tSymbolPolyfill(\"isConcatSpreadable\")\n\t\t),\n\t\titerator: d(\"\", (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(\"iterator\")),\n\t\tmatch: d(\"\", (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(\"match\")),\n\t\treplace: d(\"\", (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(\"replace\")),\n\t\tsearch: d(\"\", (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(\"search\")),\n\t\tspecies: d(\"\", (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(\"species\")),\n\t\tsplit: d(\"\", (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(\"split\")),\n\t\ttoPrimitive: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(\"toPrimitive\")\n\t\t),\n\t\ttoStringTag: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(\"toStringTag\")\n\t\t),\n\t\tunscopables: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(\"unscopables\")\n\t\t)\n\t});\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"../../../validate-symbol\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n","// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"./validate-symbol\")\n , NativeSymbol = require(\"ext/global-this\").Symbol\n , generateName = require(\"./lib/private/generate-name\")\n , setupStandardSymbols = require(\"./lib/private/setup/standard-symbols\")\n , setupSymbolRegistry = require(\"./lib/private/setup/symbol-registry\");\n\nvar create = Object.create\n , defineProperties = Object.defineProperties\n , defineProperty = Object.defineProperty;\n\nvar SymbolPolyfill, HiddenSymbol, isNativeSafe;\n\nif (typeof NativeSymbol === \"function\") {\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n} else {\n\tNativeSymbol = null;\n}\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError(\"Symbol is not a constructor\");\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError(\"Symbol is not a constructor\");\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? \"\" : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d(\"\", description),\n\t\t__name__: d(\"\", generateName(description))\n\t});\n};\n\nsetupStandardSymbols(SymbolPolyfill);\nsetupSymbolRegistry(SymbolPolyfill);\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d(\"\", function () { return this.__name__; })\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () { return \"Symbol (\" + validateSymbol(this).__description__ + \")\"; }),\n\tvalueOf: d(function () { return validateSymbol(this); })\n});\ndefineProperty(\n\tSymbolPolyfill.prototype, SymbolPolyfill.toPrimitive,\n\td(\"\", function () {\n\t\tvar symbol = validateSymbol(this);\n\t\tif (typeof symbol === \"symbol\") return symbol;\n\t\treturn symbol.toString();\n\t})\n);\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d(\"c\", \"Symbol\"));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])\n);\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])\n);\n","\"use strict\";\n\nvar isSymbol = require(\"./is-symbol\");\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of Object.prototype being sealed (via preventExtensions, seal or freeze)\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ is resolved with global context, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? globalThis : require(\"./implementation\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tif (typeof globalThis !== \"object\") return false;\n\tif (!globalThis) return false;\n\treturn globalThis.Array === Array;\n};\n","module.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nfunction flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nfunction unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n ) ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object ? [] : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.libphonenumber = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i=e}},\"es6\",\"es3\");\n$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e=f}},\"es6\",\"es3\");\n$jscomp.polyfill(\"String.prototype.repeat\",function(a){return a?a:function(b){var c=$jscomp.checkStringArgs(this,null,\"repeat\");if(0>b||1342177279>>=1)c+=c;return d}},\"es6\",\"es3\");$jscomp.initSymbol=function(){};\n$jscomp.polyfill(\"Symbol\",function(a){if(a)return a;var b=function(e,f){this.$jscomp$symbol$id_=e;$jscomp.defineProperty(this,\"description\",{configurable:!0,writable:!0,value:f})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c=0,d=function(e){if(this instanceof d)throw new TypeError(\"Symbol is not a constructor\");return new b(\"jscomp_symbol_\"+(e||\"\")+\"_\"+c++,e)};return d},\"es6\",\"es3\");\n$jscomp.polyfill(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;cc&&(c=Math.max(c+e,0));c>>0);\ngoog.uidCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if(\"object\"==b||\"array\"==b){if(\"function\"===typeof a.clone)return a.clone();b=\"array\"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};\ngoog.bindJs_=function(a,b,c){if(!a)throw Error();if(2\").replace(/'/g,\"'\").replace(/"/g,'\"').replace(/&/g,\"&\"));b&&(a=a.replace(/\\{\\$([^}]+)}/g,function(d,e){return null!=b&&e in b?b[e]:d}));return a};\ngoog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,!0,c)};goog.exportProperty=function(a,b,c){a[b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});\na(\"es7\",function(){return b(\"2 ** 2 == 4\")});a(\"es8\",function(){return b(\"async () => 1, true\")});a(\"es9\",function(){return b(\"({...rest} = {}), true\")});a(\"es_next\",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if(\"always\"==goog.TRANSPILE)return!0;if(\"never\"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();this.requiresTranspilation_=c.map;this.transpilationTarget_=this.transpilationTarget_||\nc.target}if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||\"es6\"!=b||\"noModule\"in goog.global.document.createElement(\"script\")?!1:!0;throw Error(\"Unknown language mode: \"+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\\/(SCRIPT)/ig,\"\\\\x3c/$1\")},goog.DebugLoader_=function(){this.dependencies_={};\nthis.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e\\x3c/script>';f+=\"\";f=goog.Dependency.defer_?f+(\"document.getElementById('script-\"+e+\"').onload = function() {\\n goog.Dependency.callback_('\"+e+\"', this);\\n};\\n\"):f+(\"goog.Dependency.callback_('\"+e+\"', document.getElementById('script-\"+e+\"'));\");f+=\"\\x3c/script>\";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(f):f)}else{var g=b.createElement(\"script\");g.defer=goog.Dependency.defer_;\ng.async=!1;c&&(g.nonce=c);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),g.onreadystatechange=function(){if(\"loaded\"==g.readyState||\"complete\"==g.readyState)a.loaded(),a.resume()}):g.onload=function(){g.onload=null;a.loaded()};g.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(g)}}else goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"),\"deps.js\"==this.relativePath?(goog.logToConsole_(\"Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true.\"),\na.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(l,p){var m=\"\",n=goog.getScriptNonce();n&&(m=' nonce=\"'+n+'\"');l=p?'