@prosopo/provider 5.13.4 → 5.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +30 -30
- package/.turbo/turbo-build$colon$tsc.log +27 -30
- package/.turbo/turbo-build.log +30 -33
- package/CHANGELOG.md +233 -0
- package/LICENSE +201 -0
- package/dist/api/adminAuthOptions.d.ts +4 -0
- package/dist/api/adminAuthOptions.d.ts.map +1 -0
- package/dist/api/adminAuthOptions.js +34 -0
- package/dist/api/adminAuthOptions.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +2 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +16 -11
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +5 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +20 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +24 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -11
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +12 -17
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/api/detectorPoolBodyParser.d.ts +4 -0
- package/dist/api/detectorPoolBodyParser.d.ts.map +1 -0
- package/dist/api/detectorPoolBodyParser.js +31 -0
- package/dist/api/detectorPoolBodyParser.js.map +1 -0
- package/dist/api/domainMiddleware.d.ts.map +1 -1
- package/dist/api/domainMiddleware.js +5 -1
- package/dist/api/domainMiddleware.js.map +1 -1
- package/dist/api/metrics.d.ts +2 -1
- package/dist/api/metrics.d.ts.map +1 -1
- package/dist/api/metrics.js +46 -4
- package/dist/api/metrics.js.map +1 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts +14 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts.map +1 -1
- package/dist/api/rawTlsSignalsMiddleware.js +111 -23
- package/dist/api/rawTlsSignalsMiddleware.js.map +1 -1
- package/dist/api/startProviderApi.d.ts.map +1 -1
- package/dist/api/startProviderApi.js +8 -5
- package/dist/api/startProviderApi.js.map +1 -1
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +50 -8
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/adminAuthOptions.cjs +35 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +14 -8
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +20 -0
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +24 -0
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +10 -15
- package/dist/cjs/api/detectorPoolBodyParser.cjs +33 -0
- package/dist/cjs/api/domainMiddleware.cjs +5 -1
- package/dist/cjs/api/metrics.cjs +46 -3
- package/dist/cjs/api/rawTlsSignalsMiddleware.cjs +111 -22
- package/dist/cjs/api/startProviderApi.cjs +8 -5
- package/dist/cjs/api/verify.cjs +50 -8
- package/dist/cjs/compositeIpAddress.cjs +21 -7
- package/dist/cjs/tasks/captchaManager.cjs +15 -0
- package/dist/cjs/tasks/captchaTypeSelection.cjs +23 -2
- package/dist/cjs/tasks/client/clientTasks.cjs +25 -4
- package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +1 -1
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +26 -23
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +4 -11
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +7 -11
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +2 -0
- package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -3
- package/dist/cjs/tasks/puzzle/nativeBackground.cjs +12 -5
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +4 -3
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +2 -9
- package/dist/cjs/utils/tarpitPadding.cjs +81 -10
- package/dist/compositeIpAddress.d.ts.map +1 -1
- package/dist/compositeIpAddress.js +21 -7
- package/dist/compositeIpAddress.js.map +1 -1
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +16 -1
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/captchaTypeSelection.d.ts +3 -1
- package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
- package/dist/tasks/captchaTypeSelection.js +23 -3
- package/dist/tasks/captchaTypeSelection.js.map +1 -1
- package/dist/tasks/client/clientTasks.d.ts +1 -0
- package/dist/tasks/client/clientTasks.d.ts.map +1 -1
- package/dist/tasks/client/clientTasks.js +25 -5
- package/dist/tasks/client/clientTasks.js.map +1 -1
- package/dist/tasks/dataset/datasetTasksUtils.js +1 -1
- package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +3 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +28 -25
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +1 -2
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +4 -11
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +8 -12
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts +1 -0
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +2 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.d.ts +3 -2
- package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.js +3 -3
- package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts +5 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.js +12 -5
- package/dist/tasks/puzzle/nativeBackground.js.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.d.ts +2 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +4 -3
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +2 -9
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +2 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/unit/api/adminAuthOptions.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/adminAuthOptions.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/adminAuthOptions.unit.test.js +38 -0
- package/dist/tests/unit/api/adminAuthOptions.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +35 -2
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +45 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +15 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.js +64 -0
- package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.js.map +1 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js +67 -0
- package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js.map +1 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +174 -23
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
- package/dist/tests/unit/api/metricsAccess.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/metricsAccess.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/metricsAccess.unit.test.js +87 -0
- package/dist/tests/unit/api/metricsAccess.unit.test.js.map +1 -0
- package/dist/tests/unit/api/public.unit.test.js +4 -1
- package/dist/tests/unit/api/public.unit.test.js.map +1 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js +96 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js.map +1 -1
- package/dist/tests/unit/api/validateAddress.unit.test.js +1 -1
- package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -1
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.js +96 -0
- package/dist/tests/unit/api/verifyBadDappSignature.unit.test.js.map +1 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.js +89 -0
- package/dist/tests/unit/api/verifyMalformedToken.unit.test.js.map +1 -0
- package/dist/tests/unit/compositeIpAddress.unit.test.js +12 -3
- package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +51 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +20 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +33 -1
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +14 -1
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +94 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +103 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +23 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js +1 -4
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +10 -3
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js +35 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js +49 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js.map +1 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +17 -14
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -1
- package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -1
- package/dist/tests/unit/utils/tarpitPadding.unit.test.js +118 -36
- package/dist/tests/unit/utils/tarpitPadding.unit.test.js.map +1 -1
- package/dist/utils/tarpitPadding.d.ts.map +1 -1
- package/dist/utils/tarpitPadding.js +81 -10
- package/dist/utils/tarpitPadding.js.map +1 -1
- package/package.json +105 -103
package/dist/api/verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,SAAS,EACT,WAAW,EACX,cAAc,EAEd,iCAAiC,EAEjC,oCAAoC,EAGpC,kBAAkB,EAElB,sBAAsB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,OAAwB,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACN,qBAAqB,EACrB,yBAAyB,GACzB,MAAM,kBAAkB,CAAC;AAK1B,MAAM,kBAAkB,GAAG,CAC1B,IAAa,EACyB,EAAE;IACxC,IAAI,kBAAkB,EAAE;QAAE,OAAO,aAAa,CAAC;IAC/C,IAAI,CAAC;QACJ,MAAM,KAAK,GAAI,IAA2B,EAAE,KAAK,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,qBAAqB,CAAC,IAAI,CAAC;gBAAE,OAAO,UAAU,CAAC;QACpD,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAGF,MAAM,gBAAgB,GAAiD;IACtE,CAAC,cAAc,CAAC,8BAA8B,CAAC,EAAE,WAAW,CAAC,KAAK;IAClE,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,WAAW,CAAC,GAAG;IAC1D,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,WAAW,CAAC,MAAM;CAChE,CAAC;AAQF,MAAM,UAAU,mBAAmB,CAAC,GAAwB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAGhC,IAAI,sBAA0C,CAAC;IAC/C,IAAI,CAAC;QACJ,sBAAsB,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,yBAAyB,EAAE,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,wFAAwF;YAC7F,GAAG;SACH,CAAC,CAAC,CAAC;QACJ,sBAAsB,GAAG,SAAkB,CAAC;IAC7C,CAAC;IAQD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,cAAc,EAAE;YAAE,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAsB,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,CAClB,IAAI;oBACJ,OAAO,IAAI,KAAK,QAAQ;oBACvB,IAA+B,CAAC,QAAQ,CACzC,CAAC;gBACF,mBAAmB,CAAC;oBACnB,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;iBACpC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;IAYH,MAAM,CAAC,IAAI,CACV,cAAc,CAAC,8BAA8B,EAC7C,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAIxB,IAAI,kBAAkB,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,6EAA6E;aAClF,CAAC,CAAC,CAAC;YACJ,MAAM,oBAAoB,GACzB,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAGD,IAAI,MAAoC,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,qBAAqB,EAAE;gBAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;gBACnE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;QAGD,MAAM,EACL,aAAa,EACb,KAAK,EACL,EAAE,EACF,eAAe,EACf,KAAK,EACL,eAAe,GACf,GAAG,MAAM,CAAC;QACX,IAAI,CAAC;YAEJ,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GACzD,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAK/B,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,oBAAoB,GAA8B;oBACvD,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,WAAW;iBACrB,CAAC;gBACF,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,CAAC;YAMD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC;gBAChD,GAAG;gBACH,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,cAAc,CAAC,8BAA8B;gBACnD,WAAW;gBACX,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,MAAM;gBACZ,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,SAAS;aACpE,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAKD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAGzC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAGjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,6BAA6B,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3C,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;iBAClB,CAAC,CACF,CAAC;YACH,CAAC;YAGD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAGjD,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;YAE9D,MAAM,QAAQ,GACb,MAAM,KAAK,CAAC,iBAAiB,CAAC,0BAA0B,CACvD,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,eAAe,EACf,EAAE,EACF,YAAY,CAAC,QAAQ,CAAC,eAAe,EACrC,sBAAsB,EACtB,KAAK,EACL,YAAY,CAAC,QAAQ,CAAC,2BAA2B,EACjD,YAAY,CAAC,QAAQ,CAAC,UAAU,EAChC,YAAY,CAAC,QAAQ,CAAC,aAAa,EACnC,YAAY,CAAC,QAAQ,CAAC,aAAa,EACnC,eAAe,CACf,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,oBAAoB,GACzB,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAC9C,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC5B,YAAY,EACZ,GAAG,CAAC,IAAI,CAAC,CAAC,EACV,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EACzB,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,EAChC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAC1B,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAC7B,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvB,GAAG;gBACH,GAAG,EAAE,qCAAqC;gBAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;aACzC,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;gBACnE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC,CACD,CAAC;IASF,MAAM,CAAC,IAAI,CACV,cAAc,CAAC,wBAAwB,EACvC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAIxB,IAAI,kBAAkB,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,2EAA2E;aAChF,CAAC,CAAC,CAAC;YACJ,MAAM,oBAAoB,GACzB,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAA+C,CAAC;QAGpD,IAAI,CAAC;YACJ,MAAM,GAAG,iCAAiC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,qBAAqB,EAAE;gBAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;gBACnE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;YAGpE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GACtD,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAK/B,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,oBAAoB,GAAyB;oBAClD,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,WAAW;iBACrB,CAAC;gBACF,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,CAAC;YAMD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC;gBAChD,GAAG;gBACH,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,cAAc,CAAC,wBAAwB;gBAC7C,WAAW;gBACX,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,MAAM;gBACZ,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,SAAS;aACpE,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAKD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAGzC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAGjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,6BAA6B,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;oBACrC,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;iBAClB,CAAC,CACF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,kBAAkB,GAAyB;oBAChD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBAC3C,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK;iBAC3B,CAAC;gBACF,OAAO,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,CAAC;YAGD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAGlD,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE/D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAC3C,MAAM,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,CAC3D,IAAI,EACJ,SAAS,EACT,YAAY,CAAC,QAAQ,CAAC,eAAe,EACrC,GAAG,EACH,EAAE,EACF,sBAAsB,EACtB,KAAK,EACL,YAAY,CAAC,QAAQ,CAAC,2BAA2B,EACjD,YAAY,CAAC,QAAQ,CAAC,UAAU,EAChC,YAAY,CAAC,QAAQ,CAAC,aAAa,EACnC,YAAY,CAAC,QAAQ,CAAC,aAAa,EACnC,eAAe,CACf,CAAC;YAEH,MAAM,oBAAoB,GACzB,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAC9C,QAAQ,EACR,YAAY,EACZ,GAAG,CAAC,IAAI,CAAC,CAAC,EACV,KAAK,EACL,MAAM,EACN,SAAS,CACT,CAAC;YAEH,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvB,GAAG,EAAE,mCAAmC;gBACxC,GAAG;gBACH,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;aACzC,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC,CACD,CAAC;IASF,MAAM,CAAC,IAAI,CACV,cAAc,CAAC,2BAA2B,EAC1C,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAIxB,IAAI,kBAAkB,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,8EAA8E;aACnF,CAAC,CAAC,CAAC;YACJ,MAAM,oBAAoB,GACzB,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAAkD,CAAC;QAGvD,IAAI,CAAC;YACJ,MAAM,GAAG,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,qBAAqB,EAAE;gBAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;gBACnE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;YAGpE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GACtD,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAK/B,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,oBAAoB,GAAyB;oBAClD,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,WAAW;iBACrB,CAAC;gBACF,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,CAAC;YAMD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC;gBAChD,GAAG;gBACH,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,cAAc,CAAC,2BAA2B;gBAChD,WAAW;gBACX,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,MAAM;gBACZ,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,SAAS;aACpE,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAKD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAGzC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAGjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,6BAA6B,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;oBACrC,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;iBAClB,CAAC,CACF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,kBAAkB,GAAyB;oBAChD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBAC3C,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK;iBAC3B,CAAC;gBACF,OAAO,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,CAAC;YAGD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAGlD,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE/D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GACnC,MAAM,KAAK,CAAC,oBAAoB,CAAC,iCAAiC,CACjE,IAAI,EACJ,SAAS,EACT,YAAY,CAAC,QAAQ,CAAC,eAAe,EACrC,GAAG,EACH,EAAE,EACF,sBAAsB,EACtB,KAAK,EACL,YAAY,CAAC,QAAQ,CAAC,2BAA2B,EACjD,YAAY,CAAC,QAAQ,CAAC,UAAU,EAChC,YAAY,CAAC,QAAQ,CAAC,aAAa,EACnC,YAAY,CAAC,QAAQ,CAAC,aAAa,EACnC,eAAe,CACf,CAAC;YAEH,MAAM,oBAAoB,GACzB,KAAK,CAAC,oBAAoB,CAAC,uBAAuB,CACjD,QAAQ,EACR,YAAY,EACZ,GAAG,CAAC,IAAI,CAAC,CAAC,EACV,KAAK,EACL,SAAS,EACT,SAAS,CACT,CAAC;YAEH,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvB,GAAG,EAAE,sCAAsC;gBAC3C,GAAG;gBACH,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;aACzC,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC,CACD,CAAC;IAUF,MAAM,CAAC,IAAI,CACV,cAAc,CAAC,0BAA0B,EACzC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,kBAAkB,EAAE,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GACzB,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAAoC,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,qBAAqB,EAAE;gBAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;gBACnE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAC7D,IAAI,CAAC;YACJ,MAAM,EACL,IAAI,EACJ,IAAI,EACJ,SAAS,EAKT,YAAY,EAAE,SAAS,EACvB,WAAW,GACX,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAElC,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC;gBAChD,GAAG;gBACH,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,cAAc,CAAC,0BAA0B;gBAC/C,WAAW;gBACX,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,MAAM;gBACZ,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,SAAS;aACpE,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAEjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,6BAA6B,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3C,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;iBAClB,CAAC,CACF,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjD,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;YAE9D,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,mCAAmC;oBAC3C,QAAQ,EAAE,KAAK;iBACf,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GACZ,MAAM,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CACzD,SAAS,EACT,EAAE,EACF,eAAe,CACf,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvB,GAAG;gBACH,GAAG,EAAE,qCAAqC;gBAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;aACzC,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;gBACnE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC,CACD,CAAC;IAKF,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEzB,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
let _prosopo_api_express_router = require("@prosopo/api-express-router");
|
|
2
|
+
//#region src/api/adminAuthOptions.ts
|
|
3
|
+
/** Longest admin token lifetime (exp - iat) accepted by default, in seconds. */
|
|
4
|
+
var DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS = 3600;
|
|
5
|
+
var parseList = (value) => (value ?? "").split(",").map((entry) => entry.trim()).filter((entry) => entry.length > 0);
|
|
6
|
+
/**
|
|
7
|
+
* Admin JWT checks for this provider.
|
|
8
|
+
*
|
|
9
|
+
* - Audience: a token carrying `aud` must name this provider. The accepted
|
|
10
|
+
* values come from PROSOPO_ADMIN_JWT_AUDIENCE (comma separated), else from
|
|
11
|
+
* the provider host as both `host` and `https://host`. Tokens without `aud`
|
|
12
|
+
* are still accepted until PROSOPO_ADMIN_JWT_REQUIRE_AUDIENCE=true.
|
|
13
|
+
* - Replay: a token carrying `jti` is accepted once per process.
|
|
14
|
+
* - Lifetime: exp - iat may not exceed PROSOPO_ADMIN_JWT_MAX_LIFETIME_SECONDS
|
|
15
|
+
* (default one hour).
|
|
16
|
+
*/
|
|
17
|
+
var adminAuthOptions = (vars, host) => {
|
|
18
|
+
const configured = parseList(vars.PROSOPO_ADMIN_JWT_AUDIENCE);
|
|
19
|
+
const requireAudience = vars.PROSOPO_ADMIN_JWT_REQUIRE_AUDIENCE === "true";
|
|
20
|
+
const derived = host ? [host, `https://${host}`] : [];
|
|
21
|
+
const candidates = configured.length > 0 ? configured : derived;
|
|
22
|
+
const audience = candidates.length > 0 || requireAudience ? candidates : void 0;
|
|
23
|
+
const maxLifetime = Number.parseInt(vars.PROSOPO_ADMIN_JWT_MAX_LIFETIME_SECONDS ?? "", 10);
|
|
24
|
+
return {
|
|
25
|
+
verify: {
|
|
26
|
+
audience,
|
|
27
|
+
requireAudience,
|
|
28
|
+
maxLifetimeSeconds: Number.isFinite(maxLifetime) && maxLifetime > 0 ? maxLifetime : DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS
|
|
29
|
+
},
|
|
30
|
+
replayGuard: (0, _prosopo_api_express_router.createMemoryJwtReplayGuard)()
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS = DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS;
|
|
35
|
+
exports.adminAuthOptions = adminAuthOptions;
|
|
@@ -13,6 +13,15 @@ var resolveScoreLadder = (configured) => {
|
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
|
+
* The types any session minted by /frictionless may be. The owner's
|
|
17
|
+
* `frictionlessTypes` only governs the frictionless flow, so a site pinned to
|
|
18
|
+
* a concrete `captchaType` is held to the feature flags alone.
|
|
19
|
+
*/
|
|
20
|
+
var resolveSiteAllowedCaptchaTypes = (settings) => (0, _prosopo_types.resolveAllowedCaptchaTypes)({
|
|
21
|
+
captchaTypeFeatureFlags: settings.captchaTypeFeatureFlags,
|
|
22
|
+
...(!settings.captchaType || settings.captchaType === _prosopo_types.CaptchaType.frictionless) && { frictionlessTypes: settings.frictionlessTypes }
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
16
25
|
* Size an image challenge by how much was actually found. `base` is the
|
|
17
26
|
* sitekey's ordinary image round count; each triggered signal adds a round,
|
|
18
27
|
* capped by `MAX_DETECTOR_EXTRA_IMAGE_ROUNDS`. A session with nothing
|
|
@@ -24,3 +33,4 @@ var getRoundsFromTriggeredDetectors = (base, triggeredDetectors) => base + Math.
|
|
|
24
33
|
//#endregion
|
|
25
34
|
exports.getRoundsFromTriggeredDetectors = getRoundsFromTriggeredDetectors;
|
|
26
35
|
exports.resolveScoreLadder = resolveScoreLadder;
|
|
36
|
+
exports.resolveSiteAllowedCaptchaTypes = resolveSiteAllowedCaptchaTypes;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
const require_metrics = require("../../metrics.cjs");
|
|
2
2
|
const require_dnsEventUrl = require("../../dnsEventUrl.cjs");
|
|
3
|
+
const require_rawTlsSignalsMiddleware = require("../../rawTlsSignalsMiddleware.cjs");
|
|
3
4
|
const require_compositeIpAddress = require("../../../compositeIpAddress.cjs");
|
|
4
5
|
const require_blacklistRequestInspector = require("../../blacklistRequestInspector.cjs");
|
|
6
|
+
const require_captchaTypeSelection = require("../../../tasks/captchaTypeSelection.cjs");
|
|
5
7
|
const require_devicePlatform = require("../../../utils/devicePlatform.cjs");
|
|
6
8
|
const require_tasks = require("../../../tasks/tasks.cjs");
|
|
7
9
|
const require_apiToggleMaintenanceModeEndpoint = require("../../admin/apiToggleMaintenanceModeEndpoint.cjs");
|
|
@@ -9,7 +11,6 @@ const require_testSiteKey = require("../../testSiteKey.cjs");
|
|
|
9
11
|
const require_normalizeRequestIp = require("../../../utils/normalizeRequestIp.cjs");
|
|
10
12
|
const require_hashUserAgent = require("../../../utils/hashUserAgent.cjs");
|
|
11
13
|
const require_hashUserIp = require("../../../utils/hashUserIp.cjs");
|
|
12
|
-
const require_rawTlsSignalsMiddleware = require("../../rawTlsSignalsMiddleware.cjs");
|
|
13
14
|
const require_maintenanceModeResponses = require("../maintenanceModeResponses.cjs");
|
|
14
15
|
const require_trafficFilterRequestTime = require("../trafficFilterRequestTime.cjs");
|
|
15
16
|
const require_honeypotResponse = require("./honeypotResponse.cjs");
|
|
@@ -17,6 +18,7 @@ const require_accessPolicy = require("./accessPolicy.cjs");
|
|
|
17
18
|
const require_constants = require("./constants.cjs");
|
|
18
19
|
const require_decisionMachine = require("./decisionMachine.cjs");
|
|
19
20
|
const require_decryptSimdReadings = require("./decryptSimdReadings.cjs");
|
|
21
|
+
const require_refreshLineage = require("./refreshLineage.cjs");
|
|
20
22
|
const require_sessionDedup = require("./sessionDedup.cjs");
|
|
21
23
|
const require_shortCircuit = require("./shortCircuit.cjs");
|
|
22
24
|
let _prosopo_common = require("@prosopo/common");
|
|
@@ -38,7 +40,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
38
40
|
}
|
|
39
41
|
}));
|
|
40
42
|
});
|
|
41
|
-
const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId } = _prosopo_types.GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
|
|
43
|
+
const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId, refreshOf } = _prosopo_types.GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
|
|
42
44
|
const currentUrl = (0, _prosopo_util.sanitisePageUrl)(reportedCurrentUrl);
|
|
43
45
|
const iframeUrl = (0, _prosopo_util.sanitisePageUrl)(reportedIframeUrl);
|
|
44
46
|
const isProtect = (0, _prosopo_util.isProtectDeployment)(currentUrl, iframeUrl);
|
|
@@ -108,6 +110,8 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
108
110
|
i18n: req.i18n,
|
|
109
111
|
logger: req.logger
|
|
110
112
|
}));
|
|
113
|
+
const allowedCaptchaTypes = require_constants.resolveSiteAllowedCaptchaTypes(clientRecord.settings);
|
|
114
|
+
tasks.frictionlessManager.setAllowedCaptchaTypes(allowedCaptchaTypes);
|
|
111
115
|
if (dedup) {
|
|
112
116
|
const dedupCountryCode = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.countryCode : void 0;
|
|
113
117
|
const dedupAsn = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.asnNumber : void 0;
|
|
@@ -144,16 +148,17 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
144
148
|
...dedupTrafficPolicies && { trafficPolicies: dedupTrafficPolicies }
|
|
145
149
|
}
|
|
146
150
|
}) : { captchaType: cachedCaptchaType };
|
|
147
|
-
const dedupConflictsWithRouting = dedupRouted.captchaType !== cachedCaptchaType;
|
|
151
|
+
const dedupConflictsWithRouting = require_captchaTypeSelection.coerceToEnabledCaptchaType(dedupRouted.captchaType, allowedCaptchaTypes) !== cachedCaptchaType;
|
|
152
|
+
const dedupConflictsWithAllowedTypes = require_captchaTypeSelection.coerceToEnabledCaptchaType(cachedCaptchaType, allowedCaptchaTypes) !== cachedCaptchaType;
|
|
148
153
|
let dedupConflictsWithBundle = false;
|
|
149
154
|
let dedupIncomingBundleId;
|
|
150
155
|
if (detectorSessionId && dedup.session.bundleId) {
|
|
151
156
|
dedupIncomingBundleId = (await tasks.frictionlessManager.resolveBundleByDetectorSession(detectorSessionId))?.bundleId;
|
|
152
157
|
if (dedupIncomingBundleId !== void 0 && dedupIncomingBundleId !== dedup.session.bundleId) dedupConflictsWithBundle = true;
|
|
153
158
|
}
|
|
154
|
-
if (dedupConflictsWithPolicy || dedupConflictsWithRouting) {
|
|
159
|
+
if (dedupConflictsWithPolicy || dedupConflictsWithRouting || dedupConflictsWithAllowedTypes) {
|
|
155
160
|
req.logger.info(() => ({
|
|
156
|
-
msg: "Evicting reused session: cached captchaType conflicts with access policy or
|
|
161
|
+
msg: "Evicting reused session: cached captchaType conflicts with access policy, routing machine or allowed types",
|
|
157
162
|
data: {
|
|
158
163
|
userSitekeyIpHash,
|
|
159
164
|
sessionId: dedup.sessionId,
|
|
@@ -162,7 +167,8 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
162
167
|
policyType: dedupAccessPolicy?.type,
|
|
163
168
|
policyCaptchaType: dedupAccessPolicy?.captchaType
|
|
164
169
|
},
|
|
165
|
-
...dedupConflictsWithRouting && { routedCaptchaType: dedupRouted.captchaType }
|
|
170
|
+
...dedupConflictsWithRouting && { routedCaptchaType: dedupRouted.captchaType },
|
|
171
|
+
...dedupConflictsWithAllowedTypes && { allowedCaptchaTypes }
|
|
166
172
|
}
|
|
167
173
|
}));
|
|
168
174
|
await tasks.db.checkAndRemoveSession(dedup.sessionId);
|
|
@@ -306,6 +312,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
306
312
|
...triggeredDetectors && triggeredDetectors.length > 0 && { triggeredDetectors },
|
|
307
313
|
...shadowDomPenalty !== void 0 && { shadowDomPenalty }
|
|
308
314
|
};
|
|
315
|
+
const refreshLineage = await require_refreshLineage.resolveRefreshLineage(tasks.db, refreshOf, dapp, /* @__PURE__ */ new Date());
|
|
309
316
|
tasks.frictionlessManager.setSessionParams({
|
|
310
317
|
token: sessionToken,
|
|
311
318
|
score: botScore,
|
|
@@ -326,6 +333,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
326
333
|
...decodedSimdReadings && { simdReadings: decodedSimdReadings },
|
|
327
334
|
...d !== void 0 && { d },
|
|
328
335
|
...clientSessionId && { clientMetaData: { clientSessionId } },
|
|
336
|
+
...refreshLineage,
|
|
329
337
|
...req.tcpToChelloUs !== void 0 && { tcpToChelloUs: req.tcpToChelloUs },
|
|
330
338
|
...req.chelloToHandshakeUs !== void 0 && { chelloToHandshakeUs: req.chelloToHandshakeUs },
|
|
331
339
|
...require_rawTlsSignalsMiddleware.rawTlsSignalsForSession(req)
|
|
@@ -341,7 +349,6 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
341
349
|
score: botScore,
|
|
342
350
|
imageMaxRounds: clientRecord.settings.imageMaxRounds,
|
|
343
351
|
imageMinRounds: clientRecord.settings.imageMinRounds,
|
|
344
|
-
frictionlessTypes: clientRecord.settings.frictionlessTypes,
|
|
345
352
|
baseImageRounds: env.config.captchas.solved.count,
|
|
346
353
|
puzzleMaxDifficulty: clientRecord.settings.puzzleMaxDifficulty,
|
|
347
354
|
platform: require_devicePlatform.derivePlatform(requestUserAgent, webView, { ...typeof ipInfoMobile === "boolean" && { isMobile: ipInfoMobile } }),
|
|
@@ -378,7 +385,6 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
378
385
|
botScore = accessPolicyOutcome.botScore;
|
|
379
386
|
scoreComponents = accessPolicyOutcome.scoreComponents;
|
|
380
387
|
const trafficFilterVerdict = require_trafficFilterRequestTime.applyTrafficFilterAtRequestTime(req.ipInfo, clientRecord.settings?.trafficFilter, req.logger);
|
|
381
|
-
res.locals.padBytes = trafficFilterVerdict.padBytes;
|
|
382
388
|
const trafficFilterOutcome = await require_trafficFilterRequestTime.handleFrictionlessTrafficFilter({
|
|
383
389
|
verdict: trafficFilterVerdict,
|
|
384
390
|
frictionlessManager: tasks.frictionlessManager,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.ts
|
|
2
|
+
/**
|
|
3
|
+
* Work out where a refresh sits in its chain from the session it replaced.
|
|
4
|
+
*
|
|
5
|
+
* An unknown session, or one from another site, is ignored rather than
|
|
6
|
+
* rejected: the request then mints an ordinary session, which is all a client
|
|
7
|
+
* that never sent `refreshOf` would have got.
|
|
8
|
+
*/
|
|
9
|
+
var resolveRefreshLineage = async (db, refreshOf, siteKey, now) => {
|
|
10
|
+
if (!refreshOf) return void 0;
|
|
11
|
+
const replaced = await db.getSessionRecordBySessionId(refreshOf);
|
|
12
|
+
if (!replaced || replaced.siteKey !== siteKey) return void 0;
|
|
13
|
+
return {
|
|
14
|
+
refreshOf,
|
|
15
|
+
refreshCount: (replaced.refreshCount ?? 0) + 1,
|
|
16
|
+
refreshedAfterMs: Math.max(0, now.getTime() - new Date(replaced.createdAt).getTime())
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.resolveRefreshLineage = resolveRefreshLineage;
|
|
@@ -13,6 +13,7 @@ const require_requestBodySummary = require("../requestBodySummary.cjs");
|
|
|
13
13
|
let _prosopo_common = require("@prosopo/common");
|
|
14
14
|
let _prosopo_types = require("@prosopo/types");
|
|
15
15
|
let _prosopo_util = require("@prosopo/util");
|
|
16
|
+
let _prosopo_puzzle_assets = require("@prosopo/puzzle-assets");
|
|
16
17
|
//#region src/api/captcha/getPuzzleCaptchaChallenge.ts
|
|
17
18
|
var getPuzzleCaptchaChallenge_default = (env, userAccessRulesStorage) => async (req, res, next) => {
|
|
18
19
|
let parsed;
|
|
@@ -113,6 +114,29 @@ var getPuzzleCaptchaChallenge_default = (env, userAccessRulesStorage) => async (
|
|
|
113
114
|
targetX: challenge.targetX,
|
|
114
115
|
targetY: challenge.targetY
|
|
115
116
|
}, effectivePuzzleSettings, effectivePieceSize);
|
|
117
|
+
await tasks.db.updatePuzzleCaptchaRecord(challenge.challenge, { render: {
|
|
118
|
+
...sessionRecord?.puzzleLevel !== void 0 && { level: sessionRecord.puzzleLevel },
|
|
119
|
+
pieceSize: images.pieceSize,
|
|
120
|
+
geometry: {
|
|
121
|
+
width: _prosopo_puzzle_assets.DEFAULT_GEOMETRY.width,
|
|
122
|
+
height: _prosopo_puzzle_assets.DEFAULT_GEOMETRY.height,
|
|
123
|
+
notchSize: _prosopo_puzzle_assets.DEFAULT_GEOMETRY.notchSize
|
|
124
|
+
},
|
|
125
|
+
settings: {
|
|
126
|
+
decoyCount: effectivePuzzleSettings.decoyCount,
|
|
127
|
+
decoyEdgeDarkness: effectivePuzzleSettings.decoyEdgeDarkness,
|
|
128
|
+
decoyBodyBrightness: effectivePuzzleSettings.decoyBodyBrightness,
|
|
129
|
+
holeDarken: effectivePuzzleSettings.holeDarken,
|
|
130
|
+
decoyHoleDarken: effectivePuzzleSettings.decoyHoleDarken
|
|
131
|
+
},
|
|
132
|
+
backgroundSeed: images.backgroundSeed,
|
|
133
|
+
renderSeed: images.renderSeed
|
|
134
|
+
} }).catch((updateErr) => {
|
|
135
|
+
req.logger.warn(() => ({
|
|
136
|
+
err: updateErr,
|
|
137
|
+
msg: "Failed to patch puzzle render inputs onto the challenge record"
|
|
138
|
+
}));
|
|
139
|
+
});
|
|
116
140
|
const padBytes = trafficVerdict.padBytes;
|
|
117
141
|
const getPuzzleCaptchaResponse = {
|
|
118
142
|
[_prosopo_types.ApiParams.status]: "ok",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const require_validateAddress = require("../validateAddress.cjs");
|
|
2
|
+
const require_rawTlsSignalsMiddleware = require("../rawTlsSignalsMiddleware.cjs");
|
|
2
3
|
const require_captchaTypeSelection = require("../../tasks/captchaTypeSelection.cjs");
|
|
3
4
|
const require_puzzleDifficulty = require("../../tasks/puzzle/puzzleDifficulty.cjs");
|
|
4
5
|
const require_devicePlatform = require("../../utils/devicePlatform.cjs");
|
|
5
6
|
const require_tasks = require("../../tasks/tasks.cjs");
|
|
6
7
|
const require_apiToggleMaintenanceModeEndpoint = require("../admin/apiToggleMaintenanceModeEndpoint.cjs");
|
|
7
8
|
const require_testSiteKey = require("../testSiteKey.cjs");
|
|
8
|
-
const require_rawTlsSignalsMiddleware = require("../rawTlsSignalsMiddleware.cjs");
|
|
9
9
|
const require_requestBodySummary = require("../requestBodySummary.cjs");
|
|
10
10
|
let _prosopo_common = require("@prosopo/common");
|
|
11
11
|
let _prosopo_types = require("@prosopo/types");
|
|
@@ -100,8 +100,9 @@ var submitPoWCaptchaSolution_default = (env) => async (req, res, next) => {
|
|
|
100
100
|
chelloToHandshakeUs: req.chelloToHandshakeUs,
|
|
101
101
|
...require_rawTlsSignalsMiddleware.rawTlsSignalsForSession(req)
|
|
102
102
|
}, {
|
|
103
|
-
|
|
104
|
-
imageMaxRounds: clientRecord.settings?.imageMaxRounds
|
|
103
|
+
allowedCaptchaTypes: (0, _prosopo_types.resolveAllowedCaptchaTypes)(clientRecord.settings),
|
|
104
|
+
imageMaxRounds: clientRecord.settings?.imageMaxRounds,
|
|
105
|
+
puzzleMaxDifficulty: clientRecord.settings?.puzzleMaxDifficulty
|
|
105
106
|
});
|
|
106
107
|
const response = {
|
|
107
108
|
status: "ok",
|
|
@@ -144,17 +145,19 @@ var buildEscalation = async (tasks, result, challenge, perConnectionSignals, sit
|
|
|
144
145
|
const originSession = await tasks.db.getSessionRecordBySessionId(powRecord.sessionId);
|
|
145
146
|
if (!originSession) return void 0;
|
|
146
147
|
const routed = result.routingOutput;
|
|
147
|
-
const escalatedType = require_captchaTypeSelection.coerceToEnabledCaptchaType(routed.captchaType, siteConstraints?.
|
|
148
|
+
const escalatedType = require_captchaTypeSelection.coerceToEnabledCaptchaType(routed.captchaType, siteConstraints?.allowedCaptchaTypes);
|
|
148
149
|
if (escalatedType === _prosopo_types.CaptchaType.pow) return void 0;
|
|
149
150
|
const imageMaxRounds = siteConstraints?.imageMaxRounds ?? _prosopo_types.imageMaxRoundsDefault;
|
|
150
151
|
const escalationPuzzleOverrides = (() => {
|
|
151
152
|
if (escalatedType !== _prosopo_types.CaptchaType.puzzle) return void 0;
|
|
152
|
-
const
|
|
153
|
+
const { isMobile } = require_devicePlatform.derivePlatform(originSession.headers?.["user-agent"] ?? "", originSession.webView);
|
|
154
|
+
const level = (0, _prosopo_captcha_severity.severityToPuzzleDifficulty)(routed.solvedImagesCount ?? originSession.solvedImagesCount, tasks.config.captchas.solved.count, (0, _prosopo_captcha_severity.resolveMaxEscalationLevel)(siteConstraints?.puzzleMaxDifficulty, isMobile));
|
|
153
155
|
if (level === 0) return void 0;
|
|
154
156
|
const difficulty = require_puzzleDifficulty.samplePuzzleDifficulty(level, _prosopo_puzzle_assets.DEFAULT_RENDER_SETTINGS.holeDarken);
|
|
155
157
|
return {
|
|
156
158
|
puzzleTolerance: difficulty.tolerance,
|
|
157
|
-
puzzle: difficulty.puzzle
|
|
159
|
+
puzzle: difficulty.puzzle,
|
|
160
|
+
puzzleLevel: difficulty.level
|
|
158
161
|
};
|
|
159
162
|
})();
|
|
160
163
|
const selectionReason = routed.reason ?? originSession.reason;
|
|
@@ -185,15 +188,7 @@ var buildEscalation = async (tasks, result, challenge, perConnectionSignals, sit
|
|
|
185
188
|
originSessionId: originSession.sessionId,
|
|
186
189
|
tcpToChelloUs: perConnectionSignals?.tcpToChelloUs,
|
|
187
190
|
chelloToHandshakeUs: perConnectionSignals?.chelloToHandshakeUs,
|
|
188
|
-
|
|
189
|
-
synackNs: perConnectionSignals?.synackNs,
|
|
190
|
-
ackNs: perConnectionSignals?.ackNs,
|
|
191
|
-
observedTtl: perConnectionSignals?.observedTtl,
|
|
192
|
-
tcpMss: perConnectionSignals?.tcpMss,
|
|
193
|
-
tcpWscale: perConnectionSignals?.tcpWscale,
|
|
194
|
-
tcpOptsFlags: perConnectionSignals?.tcpOptsFlags,
|
|
195
|
-
tcpOptsOrder: perConnectionSignals?.tcpOptsOrder,
|
|
196
|
-
tcpWindow: perConnectionSignals?.tcpWindow,
|
|
191
|
+
...require_rawTlsSignalsMiddleware.rawTlsSignalsFromRecord(perConnectionSignals),
|
|
197
192
|
puzzleTolerance: escalationPuzzleOverrides?.puzzleTolerance,
|
|
198
193
|
puzzle: escalationPuzzleOverrides?.puzzle,
|
|
199
194
|
clientMetaData: originSession.clientMetaData
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let express = require("express");
|
|
3
|
+
express = require_runtime.__toESM(express, 1);
|
|
4
|
+
//#region src/api/detectorPoolBodyParser.ts
|
|
5
|
+
var hasValidAdminJwt = (req, pair, authAccount) => {
|
|
6
|
+
const header = req.headers.authorization;
|
|
7
|
+
if (typeof header !== "string" || !header.startsWith("Bearer ")) return false;
|
|
8
|
+
const jwt = header.slice(7);
|
|
9
|
+
try {
|
|
10
|
+
return authAccount?.jwtVerify(jwt).isValid === true || pair?.jwtVerify(jwt).isValid === true;
|
|
11
|
+
} catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Parses the detector-pool push body with its large limit, but only for a
|
|
17
|
+
* request that carries a valid admin JWT. This parser runs before the admin
|
|
18
|
+
* auth middleware and the rate limits, so without the check anyone could make
|
|
19
|
+
* the provider buffer and parse a body of up to `limit`. Other requests fall
|
|
20
|
+
* through to the default, much smaller, JSON parser.
|
|
21
|
+
*/
|
|
22
|
+
var detectorPoolBodyParser = (limit, pair, authAccount) => {
|
|
23
|
+
const parse = express.default.json({ limit });
|
|
24
|
+
return (req, res, next) => {
|
|
25
|
+
if (!hasValidAdminJwt(req, pair, authAccount)) {
|
|
26
|
+
next();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
parse(req, res, next);
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.detectorPoolBodyParser = detectorPoolBodyParser;
|
|
@@ -48,9 +48,13 @@ var domainMiddleware = (env) => {
|
|
|
48
48
|
require_metrics.recordDomainValidation("rejected");
|
|
49
49
|
if (err instanceof _prosopo_common.ProsopoApiError || err instanceof zod.ZodError || err instanceof SyntaxError) (0, _prosopo_api_express_router.handleErrors)(err, req, res, next);
|
|
50
50
|
else {
|
|
51
|
+
req.logger.error(() => ({
|
|
52
|
+
err,
|
|
53
|
+
msg: "Domain middleware error"
|
|
54
|
+
}));
|
|
51
55
|
res.status(401).json({
|
|
52
56
|
error: "Unauthorized",
|
|
53
|
-
message:
|
|
57
|
+
message: "Unauthorized"
|
|
54
58
|
});
|
|
55
59
|
return;
|
|
56
60
|
}
|
package/dist/cjs/api/metrics.cjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
let _prosopo_types = require("@prosopo/types");
|
|
2
|
+
let node_crypto = require("node:crypto");
|
|
3
|
+
let node_net = require("node:net");
|
|
2
4
|
let prom_client = require("prom-client");
|
|
3
5
|
//#region src/api/metrics.ts
|
|
4
6
|
var metricsEnabled = () => process.env.PROSOPO_METRICS_ENABLED !== "false";
|
|
@@ -340,11 +342,51 @@ var metricsMiddleware = () => {
|
|
|
340
342
|
next();
|
|
341
343
|
};
|
|
342
344
|
};
|
|
345
|
+
var internalNetworks = () => {
|
|
346
|
+
const list = new node_net.BlockList();
|
|
347
|
+
list.addSubnet("127.0.0.0", 8, "ipv4");
|
|
348
|
+
list.addSubnet("10.0.0.0", 8, "ipv4");
|
|
349
|
+
list.addSubnet("172.16.0.0", 12, "ipv4");
|
|
350
|
+
list.addSubnet("192.168.0.0", 16, "ipv4");
|
|
351
|
+
list.addAddress("::1", "ipv6");
|
|
352
|
+
list.addSubnet("fc00::", 7, "ipv6");
|
|
353
|
+
list.addSubnet("fe80::", 10, "ipv6");
|
|
354
|
+
return list;
|
|
355
|
+
};
|
|
356
|
+
var INTERNAL_NETWORKS = internalNetworks();
|
|
357
|
+
var isInternalAddress = (address) => {
|
|
358
|
+
if (!address) return false;
|
|
359
|
+
const v4 = address.startsWith("::ffff:") ? address.slice(7) : address;
|
|
360
|
+
if ((0, node_net.isIPv4)(v4)) return INTERNAL_NETWORKS.check(v4, "ipv4");
|
|
361
|
+
if ((0, node_net.isIPv6)(address)) return INTERNAL_NETWORKS.check(address, "ipv6");
|
|
362
|
+
return false;
|
|
363
|
+
};
|
|
364
|
+
var tokenMatches = (header, token) => {
|
|
365
|
+
const expected = Buffer.from(`Bearer ${token}`);
|
|
366
|
+
const actual = Buffer.from(header ?? "");
|
|
367
|
+
return actual.length === expected.length && (0, node_crypto.timingSafeEqual)(actual, expected);
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* Who may scrape /metrics.
|
|
371
|
+
*
|
|
372
|
+
* - PROSOPO_METRICS_TOKEN set: any caller with `Authorization: Bearer <token>`.
|
|
373
|
+
* - Otherwise only direct connections from loopback or private addresses, e.g.
|
|
374
|
+
* vector on the docker network. A request that came through a reverse proxy
|
|
375
|
+
* (it carries a forwarding header) is refused even though its socket peer is
|
|
376
|
+
* the proxy's private address, so the public site cannot reach it.
|
|
377
|
+
* - PROSOPO_METRICS_PUBLIC=true restores the old open endpoint.
|
|
378
|
+
*/
|
|
379
|
+
var metricsAccess = (req, vars = process.env) => {
|
|
380
|
+
const token = vars.PROSOPO_METRICS_TOKEN;
|
|
381
|
+
if (token) return tokenMatches(req.headers.authorization, token) ? 200 : 401;
|
|
382
|
+
if (vars.PROSOPO_METRICS_PUBLIC === "true") return 200;
|
|
383
|
+
return !(req.headers["x-forwarded-for"] !== void 0 || req.headers.forwarded !== void 0 || req.headers["x-real-ip"] !== void 0) && isInternalAddress(req.socket?.remoteAddress) ? 200 : 403;
|
|
384
|
+
};
|
|
343
385
|
var metricsHandler = (env) => {
|
|
344
386
|
return async (req, res) => {
|
|
345
|
-
const
|
|
346
|
-
if (
|
|
347
|
-
res.status(
|
|
387
|
+
const access = metricsAccess(req);
|
|
388
|
+
if (access !== 200) {
|
|
389
|
+
res.status(access).send(access === 401 ? "Unauthorized" : "Forbidden");
|
|
348
390
|
return;
|
|
349
391
|
}
|
|
350
392
|
const m = getMetrics();
|
|
@@ -363,6 +405,7 @@ var metricsHandler = (env) => {
|
|
|
363
405
|
//#endregion
|
|
364
406
|
exports.getMetrics = getMetrics;
|
|
365
407
|
exports.measureSync = measureSync;
|
|
408
|
+
exports.metricsAccess = metricsAccess;
|
|
366
409
|
exports.metricsEnabled = metricsEnabled;
|
|
367
410
|
exports.metricsHandler = metricsHandler;
|
|
368
411
|
exports.metricsMiddleware = metricsMiddleware;
|