From 7d43d3fc4c10222c9743d7b59c8fca50e2c73dd8 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 19 Aug 2020 20:05:34 -0400 Subject: [PATCH] switch to commonjs and es2018 for compatibility --- build/NeuralNetwork.js | 20 +- build/NeuralNetwork.js.map | 2 +- build/ageGenderNet/AgeGenderNet.js | 44 +- build/ageGenderNet/AgeGenderNet.js.map | 2 +- build/ageGenderNet/extractParams.js | 12 +- build/ageGenderNet/extractParams.js.map | 2 +- .../extractParamsFromWeigthMap.js | 12 +- .../extractParamsFromWeigthMap.js.map | 2 +- build/ageGenderNet/index.js | 7 +- build/ageGenderNet/index.js.map | 2 +- build/ageGenderNet/types.js | 7 +- build/ageGenderNet/types.js.map | 2 +- build/classes/BoundingBox.js | 8 +- build/classes/BoundingBox.js.map | 2 +- build/classes/Box.js | 28 +- build/classes/Box.js.map | 2 +- build/classes/Dimensions.js | 10 +- build/classes/Dimensions.js.map | 2 +- build/classes/FaceDetection.js | 8 +- build/classes/FaceDetection.js.map | 2 +- build/classes/FaceLandmarks.js | 42 +- build/classes/FaceLandmarks.js.map | 2 +- build/classes/FaceLandmarks5.js | 12 +- build/classes/FaceLandmarks5.js.map | 2 +- build/classes/FaceLandmarks68.js | 12 +- build/classes/FaceLandmarks68.js.map | 2 +- build/classes/FaceMatch.js | 10 +- build/classes/FaceMatch.js.map | 2 +- build/classes/LabeledBox.js | 14 +- build/classes/LabeledBox.js.map | 2 +- build/classes/LabeledFaceDescriptors.js | 6 +- build/classes/LabeledFaceDescriptors.js.map | 2 +- build/classes/ObjectDetection.js | 16 +- build/classes/ObjectDetection.js.map | 2 +- build/classes/Point.js | 6 +- build/classes/Point.js.map | 2 +- build/classes/PredictedBox.js | 16 +- build/classes/PredictedBox.js.map | 2 +- build/classes/Rect.js | 8 +- build/classes/Rect.js.map | 2 +- build/classes/index.js | 31 +- build/classes/index.js.map | 2 +- build/common/convLayer.js | 8 +- build/common/convLayer.js.map | 2 +- build/common/depthwiseSeparableConv.js | 8 +- build/common/depthwiseSeparableConv.js.map | 2 +- build/common/disposeUnusedWeightTensors.js | 6 +- .../common/disposeUnusedWeightTensors.js.map | 2 +- build/common/extractConvParamsFactory.js | 8 +- build/common/extractConvParamsFactory.js.map | 2 +- build/common/extractFCParamsFactory.js | 8 +- build/common/extractFCParamsFactory.js.map | 2 +- .../extractSeparableConvParamsFactory.js | 17 +- .../extractSeparableConvParamsFactory.js.map | 2 +- build/common/extractWeightEntryFactory.js | 10 +- build/common/extractWeightEntryFactory.js.map | 2 +- build/common/extractWeightsFactory.js | 6 +- build/common/extractWeightsFactory.js.map | 2 +- build/common/fullyConnectedLayer.js | 8 +- build/common/fullyConnectedLayer.js.map | 2 +- build/common/getModelUris.js | 6 +- build/common/getModelUris.js.map | 2 +- build/common/index.js | 23 +- build/common/index.js.map | 2 +- build/common/loadConvParamsFactory.js | 6 +- build/common/loadConvParamsFactory.js.map | 2 +- build/common/types.js | 6 +- build/common/types.js.map | 2 +- build/dom/NetInput.js | 38 +- build/dom/NetInput.js.map | 2 +- build/dom/awaitMediaLoaded.js | 12 +- build/dom/awaitMediaLoaded.js.map | 2 +- build/dom/bufferToImage.js | 10 +- build/dom/bufferToImage.js.map | 2 +- build/dom/createCanvas.js | 29 +- build/dom/createCanvas.js.map | 2 +- build/dom/extractFaceTensors.js | 20 +- build/dom/extractFaceTensors.js.map | 2 +- build/dom/extractFaces.js | 32 +- build/dom/extractFaces.js.map | 2 +- build/dom/fetchImage.js | 14 +- build/dom/fetchImage.js.map | 2 +- build/dom/fetchJson.js | 10 +- build/dom/fetchJson.js.map | 2 +- build/dom/fetchNetWeights.js | 10 +- build/dom/fetchNetWeights.js.map | 2 +- build/dom/fetchOrThrow.js | 10 +- build/dom/fetchOrThrow.js.map | 2 +- build/dom/getContext2dOrThrow.js | 14 +- build/dom/getContext2dOrThrow.js.map | 2 +- build/dom/getMediaDimensions.js | 18 +- build/dom/getMediaDimensions.js.map | 2 +- build/dom/imageTensorToCanvas.js | 16 +- build/dom/imageTensorToCanvas.js.map | 2 +- build/dom/imageToSquare.js | 24 +- build/dom/imageToSquare.js.map | 2 +- build/dom/index.js | 45 +- build/dom/index.js.map | 2 +- build/dom/isMediaElement.js | 10 +- build/dom/isMediaElement.js.map | 2 +- build/dom/isMediaLoaded.js | 10 +- build/dom/isMediaLoaded.js.map | 2 +- build/dom/loadWeightMap.js | 16 +- build/dom/loadWeightMap.js.map | 2 +- build/dom/matchDimensions.js | 10 +- build/dom/matchDimensions.js.map | 2 +- build/dom/resolveInput.js | 10 +- build/dom/resolveInput.js.map | 2 +- build/dom/toNetInput.js | 28 +- build/dom/toNetInput.js.map | 2 +- build/dom/types.js | 2 + build/draw/DrawBox.js | 25 +- build/draw/DrawBox.js.map | 2 +- build/draw/DrawFaceLandmarks.js | 44 +- build/draw/DrawFaceLandmarks.js.map | 2 +- build/draw/DrawTextField.js | 21 +- build/draw/DrawTextField.js.map | 2 +- build/draw/drawContour.js | 6 +- build/draw/drawContour.js.map | 2 +- build/draw/drawDetections.js | 28 +- build/draw/drawDetections.js.map | 2 +- build/draw/drawFaceExpressions.js | 28 +- build/draw/drawFaceExpressions.js.map | 2 +- build/draw/index.js | 15 +- build/draw/index.js.map | 2 +- build/env/createBrowserEnv.js | 6 +- build/env/createBrowserEnv.js.map | 2 +- build/env/createFileSystem.js | 6 +- build/env/createFileSystem.js.map | 2 +- build/env/createNodejsEnv.js | 10 +- build/env/createNodejsEnv.js.map | 2 +- build/env/index.js | 36 +- build/env/index.js.map | 2 +- build/env/isBrowser.js | 6 +- build/env/isBrowser.js.map | 2 +- build/env/isNodejs.js | 6 +- build/env/isNodejs.js.map | 2 +- build/env/types.js | 2 + build/euclideanDistance.js | 6 +- build/euclideanDistance.js.map | 2 +- build/faceExpressionNet/FaceExpressionNet.js | 24 +- .../FaceExpressionNet.js.map | 2 +- build/faceExpressionNet/FaceExpressions.js | 12 +- .../faceExpressionNet/FaceExpressions.js.map | 2 +- build/faceExpressionNet/index.js | 7 +- build/faceExpressionNet/index.js.map | 2 +- .../FaceFeatureExtractor.js | 36 +- .../FaceFeatureExtractor.js.map | 2 +- .../TinyFaceFeatureExtractor.js | 34 +- .../TinyFaceFeatureExtractor.js.map | 2 +- build/faceFeatureExtractor/denseBlock.js | 27 +- build/faceFeatureExtractor/denseBlock.js.map | 2 +- build/faceFeatureExtractor/extractParams.js | 14 +- .../faceFeatureExtractor/extractParams.js.map | 2 +- .../extractParamsFromWeigthMap.js | 14 +- .../extractParamsFromWeigthMap.js.map | 2 +- .../extractParamsFromWeigthMapTiny.js | 14 +- .../extractParamsFromWeigthMapTiny.js.map | 2 +- .../faceFeatureExtractor/extractParamsTiny.js | 14 +- .../extractParamsTiny.js.map | 2 +- .../faceFeatureExtractor/extractorsFactory.js | 12 +- .../extractorsFactory.js.map | 2 +- build/faceFeatureExtractor/index.js | 7 +- build/faceFeatureExtractor/index.js.map | 2 +- .../faceFeatureExtractor/loadParamsFactory.js | 16 +- .../loadParamsFactory.js.map | 2 +- build/faceFeatureExtractor/types.js | 2 + build/faceLandmarkNet/FaceLandmark68Net.js | 12 +- .../faceLandmarkNet/FaceLandmark68Net.js.map | 2 +- .../faceLandmarkNet/FaceLandmark68NetBase.js | 28 +- .../FaceLandmark68NetBase.js.map | 2 +- .../faceLandmarkNet/FaceLandmark68TinyNet.js | 12 +- .../FaceLandmark68TinyNet.js.map | 2 +- build/faceLandmarkNet/index.js | 13 +- build/faceLandmarkNet/index.js.map | 2 +- build/faceProcessor/FaceProcessor.js | 30 +- build/faceProcessor/FaceProcessor.js.map | 2 +- build/faceProcessor/extractParams.js | 12 +- build/faceProcessor/extractParams.js.map | 2 +- .../extractParamsFromWeigthMap.js | 12 +- .../extractParamsFromWeigthMap.js.map | 2 +- build/faceProcessor/index.js | 5 +- build/faceProcessor/index.js.map | 2 +- build/faceProcessor/types.js | 2 + build/faceProcessor/util.js | 6 +- build/faceProcessor/util.js.map | 2 +- .../faceRecognitionNet/FaceRecognitionNet.js | 62 +- .../FaceRecognitionNet.js.map | 2 +- build/faceRecognitionNet/convLayer.js | 18 +- build/faceRecognitionNet/convLayer.js.map | 2 +- build/faceRecognitionNet/extractParams.js | 16 +- build/faceRecognitionNet/extractParams.js.map | 2 +- .../extractParamsFromWeigthMap.js | 16 +- .../extractParamsFromWeigthMap.js.map | 2 +- build/faceRecognitionNet/index.js | 13 +- build/faceRecognitionNet/index.js.map | 2 +- build/faceRecognitionNet/residualLayer.js | 21 +- build/faceRecognitionNet/residualLayer.js.map | 2 +- build/faceRecognitionNet/scaleLayer.js | 8 +- build/faceRecognitionNet/scaleLayer.js.map | 2 +- build/faceRecognitionNet/types.js | 2 + build/factories/WithAge.js | 9 +- build/factories/WithAge.js.map | 2 +- build/factories/WithFaceDescriptor.js | 6 +- build/factories/WithFaceDescriptor.js.map | 2 +- build/factories/WithFaceDetection.js | 13 +- build/factories/WithFaceDetection.js.map | 2 +- build/factories/WithFaceExpressions.js | 13 +- build/factories/WithFaceExpressions.js.map | 2 +- build/factories/WithFaceLandmarks.js | 25 +- build/factories/WithFaceLandmarks.js.map | 2 +- build/factories/WithGender.js | 17 +- build/factories/WithGender.js.map | 2 +- build/factories/index.js | 15 +- build/factories/index.js.map | 2 +- build/globalApi/ComposableTask.js | 6 +- build/globalApi/ComposableTask.js.map | 2 +- .../globalApi/ComputeFaceDescriptorsTasks.js | 40 +- .../ComputeFaceDescriptorsTasks.js.map | 2 +- build/globalApi/DetectFaceLandmarksTasks.js | 56 +- .../globalApi/DetectFaceLandmarksTasks.js.map | 2 +- build/globalApi/DetectFacesTasks.js | 48 +- build/globalApi/DetectFacesTasks.js.map | 2 +- build/globalApi/FaceMatcher.js | 26 +- build/globalApi/FaceMatcher.js.map | 2 +- build/globalApi/PredictAgeAndGenderTask.js | 52 +- .../globalApi/PredictAgeAndGenderTask.js.map | 2 +- build/globalApi/PredictFaceExpressionsTask.js | 50 +- .../PredictFaceExpressionsTask.js.map | 2 +- build/globalApi/detectFaces.js | 17 +- build/globalApi/detectFaces.js.map | 2 +- .../extractFacesAndComputeResults.js | 21 +- .../extractFacesAndComputeResults.js.map | 2 +- build/globalApi/index.js | 19 +- build/globalApi/index.js.map | 2 +- build/globalApi/nets.js | 65 +- build/globalApi/nets.js.map | 2 +- build/globalApi/types.js | 2 + build/index.js | 44 +- build/index.js.map | 2 +- build/ops/index.js | 22 +- build/ops/index.js.map | 2 +- build/ops/iou.js | 6 +- build/ops/iou.js.map | 2 +- build/ops/minBbox.js | 10 +- build/ops/minBbox.js.map | 2 +- build/ops/nonMaxSuppression.js | 10 +- build/ops/nonMaxSuppression.js.map | 2 +- build/ops/normalize.js | 8 +- build/ops/normalize.js.map | 2 +- build/ops/padToSquare.js | 8 +- build/ops/padToSquare.js.map | 2 +- build/ops/shuffleArray.js | 6 +- build/ops/shuffleArray.js.map | 2 +- build/resizeResults.js | 28 +- build/resizeResults.js.map | 2 +- build/tinyFaceDetector/TinyFaceDetector.js | 20 +- .../tinyFaceDetector/TinyFaceDetector.js.map | 2 +- .../TinyFaceDetectorOptions.js | 8 +- .../TinyFaceDetectorOptions.js.map | 2 +- build/tinyFaceDetector/const.js | 21 +- build/tinyFaceDetector/const.js.map | 2 +- build/tinyFaceDetector/index.js | 15 +- build/tinyFaceDetector/index.js.map | 2 +- build/tinyYolov2/TinyYolov2.js | 24 +- build/tinyYolov2/TinyYolov2.js.map | 2 +- build/tinyYolov2/TinyYolov2Base.js | 102 +- build/tinyYolov2/TinyYolov2Base.js.map | 2 +- build/tinyYolov2/TinyYolov2Options.js | 10 +- build/tinyYolov2/TinyYolov2Options.js.map | 2 +- build/tinyYolov2/config.js | 6 +- build/tinyYolov2/config.js.map | 2 +- build/tinyYolov2/const.js | 37 +- build/tinyYolov2/const.js.map | 2 +- build/tinyYolov2/convWithBatchNorm.js | 12 +- build/tinyYolov2/convWithBatchNorm.js.map | 2 +- build/tinyYolov2/depthwiseSeparableConv.js | 12 +- .../tinyYolov2/depthwiseSeparableConv.js.map | 2 +- build/tinyYolov2/extractParams.js | 20 +- build/tinyYolov2/extractParams.js.map | 2 +- .../tinyYolov2/extractParamsFromWeigthMap.js | 18 +- .../extractParamsFromWeigthMap.js.map | 2 +- build/tinyYolov2/index.js | 19 +- build/tinyYolov2/index.js.map | 2 +- build/tinyYolov2/leaky.js | 8 +- build/tinyYolov2/leaky.js.map | 2 +- build/tinyYolov2/types.js | 2 + build/utils/index.js | 57 +- build/utils/index.js.map | 2 +- build/xception/TinyXception.js | 44 +- build/xception/TinyXception.js.map | 2 +- build/xception/extractParams.js | 18 +- build/xception/extractParams.js.map | 2 +- build/xception/extractParamsFromWeigthMap.js | 22 +- .../extractParamsFromWeigthMap.js.map | 2 +- build/xception/index.js | 5 +- build/xception/index.js.map | 2 +- build/xception/types.js | 2 + dist/face-api.js | 9819 ++++++++++------- dist/face-api.js.map | 6 +- dist/face-api.min.js | 44 +- dist/face-api.min.js.map | 6 +- tsconfig.json | 6 +- 303 files changed, 7524 insertions(+), 5374 deletions(-) diff --git a/build/NeuralNetwork.js b/build/NeuralNetwork.js index 9fe968e..19d62b3 100644 --- a/build/NeuralNetwork.js +++ b/build/NeuralNetwork.js @@ -1,8 +1,11 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { getModelUris } from './common/getModelUris'; -import { loadWeightMap } from './dom'; -import { env } from './env'; -export class NeuralNetwork { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NeuralNetwork = void 0; +const tf = require("@tensorflow/tfjs-core"); +const getModelUris_1 = require("./common/getModelUris"); +const dom_1 = require("./dom"); +const env_1 = require("./env"); +class NeuralNetwork { constructor(_name) { this._name = _name; this._params = undefined; @@ -69,15 +72,15 @@ export class NeuralNetwork { if (uri && typeof uri !== 'string') { throw new Error(`${this._name}.loadFromUri - expected model uri`); } - const weightMap = await loadWeightMap(uri, this.getDefaultModelName()); + const weightMap = await dom_1.loadWeightMap(uri, this.getDefaultModelName()); this.loadFromWeightMap(weightMap); } async loadFromDisk(filePath) { if (filePath && typeof filePath !== 'string') { throw new Error(`${this._name}.loadFromDisk - expected model file path`); } - const { readFile } = env.getEnv(); - const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName()); + const { readFile } = env_1.env.getEnv(); + const { manifestUri, modelBaseUri } = getModelUris_1.getModelUris(filePath, this.getDefaultModelName()); const fetchWeightsFromDisk = (filePaths) => Promise.all(filePaths.map(filePath => readFile(filePath).then(buf => buf.buffer))); const loadWeights = tf.io.weightsLoaderFactory(fetchWeightsFromDisk); const manifest = JSON.parse((await readFile(manifestUri)).toString()); @@ -111,4 +114,5 @@ export class NeuralNetwork { return { obj, objProp }; } } +exports.NeuralNetwork = NeuralNetwork; //# sourceMappingURL=NeuralNetwork.js.map \ No newline at end of file diff --git a/build/NeuralNetwork.js.map b/build/NeuralNetwork.js.map index 274c0d8..34c6b9c 100644 --- a/build/NeuralNetwork.js.map +++ b/build/NeuralNetwork.js.map @@ -1 +1 @@ -{"version":3,"file":"NeuralNetwork.js","sourceRoot":"","sources":["../src/NeuralNetwork.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"NeuralNetwork.js","sourceRoot":"","sources":["../src/NeuralNetwork.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/ageGenderNet/AgeGenderNet.js b/build/ageGenderNet/AgeGenderNet.js index eab848c..2f9be25 100644 --- a/build/ageGenderNet/AgeGenderNet.js +++ b/build/ageGenderNet/AgeGenderNet.js @@ -1,14 +1,17 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { fullyConnectedLayer } from '../common/fullyConnectedLayer'; -import { seperateWeightMaps } from '../faceProcessor/util'; -import { TinyXception } from '../xception/TinyXception'; -import { extractParams } from './extractParams'; -import { extractParamsFromWeigthMap } from './extractParamsFromWeigthMap'; -import { Gender } from './types'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { NetInput, toNetInput } from '../dom'; -export class AgeGenderNet extends NeuralNetwork { - constructor(faceFeatureExtractor = new TinyXception(2)) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AgeGenderNet = void 0; +const tf = require("@tensorflow/tfjs-core"); +const fullyConnectedLayer_1 = require("../common/fullyConnectedLayer"); +const util_1 = require("../faceProcessor/util"); +const TinyXception_1 = require("../xception/TinyXception"); +const extractParams_1 = require("./extractParams"); +const extractParamsFromWeigthMap_1 = require("./extractParamsFromWeigthMap"); +const types_1 = require("./types"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const dom_1 = require("../dom"); +class AgeGenderNet extends NeuralNetwork_1.NeuralNetwork { + constructor(faceFeatureExtractor = new TinyXception_1.TinyXception(2)) { super('AgeGenderNet'); this._faceFeatureExtractor = faceFeatureExtractor; } @@ -21,12 +24,12 @@ export class AgeGenderNet extends NeuralNetwork { throw new Error(`${this._name} - load model before inference`); } return tf.tidy(() => { - const bottleneckFeatures = input instanceof NetInput + const bottleneckFeatures = input instanceof dom_1.NetInput ? this.faceFeatureExtractor.forwardInput(input) : input; const pooled = tf.avgPool(bottleneckFeatures, [7, 7], [2, 2], 'valid').as2D(bottleneckFeatures.shape[0], -1); - const age = fullyConnectedLayer(pooled, params.fc.age).as1D(); - const gender = fullyConnectedLayer(pooled, params.fc.gender); + const age = fullyConnectedLayer_1.fullyConnectedLayer(pooled, params.fc.age).as1D(); + const gender = fullyConnectedLayer_1.fullyConnectedLayer(pooled, params.fc.gender); return { age, gender }; }); } @@ -37,10 +40,10 @@ export class AgeGenderNet extends NeuralNetwork { }); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } async predictAgeAndGender(input) { - const netInput = await toNetInput(input); + const netInput = await dom_1.toNetInput(input); const out = await this.forwardInput(netInput); const ages = tf.unstack(out.age); const genders = tf.unstack(out.gender); @@ -52,7 +55,7 @@ export class AgeGenderNet extends NeuralNetwork { const age = (await ageTensor.data())[0]; const probMale = (await genderTensor.data())[0]; const isMale = probMale > 0.5; - const gender = isMale ? Gender.MALE : Gender.FEMALE; + const gender = isMale ? types_1.Gender.MALE : types_1.Gender.FEMALE; const genderProbability = isMale ? probMale : (1 - probMale); ageTensor.dispose(); genderTensor.dispose(); @@ -77,12 +80,12 @@ export class AgeGenderNet extends NeuralNetwork { this._paramMappings = paramMappings; } extractClassifierParams(weights) { - return extractParams(weights); + return extractParams_1.extractParams(weights); } extractParamsFromWeigthMap(weightMap) { - const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap); + const { featureExtractorMap, classifierMap } = util_1.seperateWeightMaps(weightMap); this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap); - return extractParamsFromWeigthMap(classifierMap); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(classifierMap); } extractParams(weights) { const classifierWeightSize = (512 * 1 + 1) + (512 * 2 + 2); @@ -92,4 +95,5 @@ export class AgeGenderNet extends NeuralNetwork { return this.extractClassifierParams(classifierWeights); } } +exports.AgeGenderNet = AgeGenderNet; //# sourceMappingURL=AgeGenderNet.js.map \ No newline at end of file diff --git a/build/ageGenderNet/AgeGenderNet.js.map b/build/ageGenderNet/AgeGenderNet.js.map index bceaba5..5fdfa13 100644 --- a/build/ageGenderNet/AgeGenderNet.js.map +++ b/build/ageGenderNet/AgeGenderNet.js.map @@ -1 +1 @@ -{"version":3,"file":"AgeGenderNet.js","sourceRoot":"","sources":["../../src/ageGenderNet/AgeGenderNet.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AgeGenderNet.js","sourceRoot":"","sources":["../../src/ageGenderNet/AgeGenderNet.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/ageGenderNet/extractParams.js b/build/ageGenderNet/extractParams.js index c3201fe..ab7d997 100644 --- a/build/ageGenderNet/extractParams.js +++ b/build/ageGenderNet/extractParams.js @@ -1,8 +1,11 @@ -import { extractFCParamsFactory, extractWeightsFactory } from '../common'; -export function extractParams(weights) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParams = void 0; +const common_1 = require("../common"); +function extractParams(weights) { const paramMappings = []; - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); - const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings); + const { extractWeights, getRemainingWeights } = common_1.extractWeightsFactory(weights); + const extractFCParams = common_1.extractFCParamsFactory(extractWeights, paramMappings); const age = extractFCParams(512, 1, 'fc/age'); const gender = extractFCParams(512, 2, 'fc/gender'); if (getRemainingWeights().length !== 0) { @@ -13,4 +16,5 @@ export function extractParams(weights) { params: { fc: { age, gender } } }; } +exports.extractParams = extractParams; //# sourceMappingURL=extractParams.js.map \ No newline at end of file diff --git a/build/ageGenderNet/extractParams.js.map b/build/ageGenderNet/extractParams.js.map index 12160f9..dd34254 100644 --- a/build/ageGenderNet/extractParams.js.map +++ b/build/ageGenderNet/extractParams.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/ageGenderNet/extractParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAgB,MAAM,WAAW,CAAC;AAGxF,MAAM,UAAU,aAAa,CAAC,OAAqB;IAEjD,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAE7E,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;IAEnD,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;KAChC,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/ageGenderNet/extractParams.ts"],"names":[],"mappings":";;;AAAA,sCAAwF;AAGxF,SAAgB,aAAa,CAAC,OAAqB;IAEjD,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,8BAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,eAAe,GAAG,+BAAsB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAE7E,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;IAEnD,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;KAChC,CAAA;AACH,CAAC;AAtBD,sCAsBC"} \ No newline at end of file diff --git a/build/ageGenderNet/extractParamsFromWeigthMap.js b/build/ageGenderNet/extractParamsFromWeigthMap.js index 58e0d84..2586c74 100644 --- a/build/ageGenderNet/extractParamsFromWeigthMap.js +++ b/build/ageGenderNet/extractParamsFromWeigthMap.js @@ -1,7 +1,10 @@ -import { disposeUnusedWeightTensors, extractWeightEntryFactory } from '../common'; -export function extractParamsFromWeigthMap(weightMap) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMap = void 0; +const common_1 = require("../common"); +function extractParamsFromWeigthMap(weightMap) { const paramMappings = []; - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); function extractFcParams(prefix) { const weights = extractWeightEntry(`${prefix}/weights`, 2); const bias = extractWeightEntry(`${prefix}/bias`, 1); @@ -13,7 +16,8 @@ export function extractParamsFromWeigthMap(weightMap) { gender: extractFcParams('fc/gender') } }; - disposeUnusedWeightTensors(weightMap, paramMappings); + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params, paramMappings }; } +exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; //# sourceMappingURL=extractParamsFromWeigthMap.js.map \ No newline at end of file diff --git a/build/ageGenderNet/extractParamsFromWeigthMap.js.map b/build/ageGenderNet/extractParamsFromWeigthMap.js.map index df329f4..f746836 100644 --- a/build/ageGenderNet/extractParamsFromWeigthMap.js.map +++ b/build/ageGenderNet/extractParamsFromWeigthMap.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/ageGenderNet/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAA0B,MAAM,WAAW,CAAC;AAG1G,MAAM,UAAU,0BAA0B,CACxC,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,SAAS,eAAe,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE;YACF,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC;SACrC;KACF,CAAA;IAED,0BAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/ageGenderNet/extractParamsFromWeigthMap.ts"],"names":[],"mappings":";;;AAEA,sCAA0G;AAG1G,SAAgB,0BAA0B,CACxC,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,kBAAkB,GAAG,kCAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,SAAS,eAAe,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE;YACF,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC;SACrC;KACF,CAAA;IAED,mCAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC;AAxBD,gEAwBC"} \ No newline at end of file diff --git a/build/ageGenderNet/index.js b/build/ageGenderNet/index.js index 6ef6393..50dd12c 100644 --- a/build/ageGenderNet/index.js +++ b/build/ageGenderNet/index.js @@ -1,3 +1,6 @@ -export * from './AgeGenderNet'; -export * from './types'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./AgeGenderNet"), exports); +tslib_1.__exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/ageGenderNet/index.js.map b/build/ageGenderNet/index.js.map index ede9f34..857ca5e 100644 --- a/build/ageGenderNet/index.js.map +++ b/build/ageGenderNet/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ageGenderNet/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ageGenderNet/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB"} \ No newline at end of file diff --git a/build/ageGenderNet/types.js b/build/ageGenderNet/types.js index 6808b5c..a7b86cb 100644 --- a/build/ageGenderNet/types.js +++ b/build/ageGenderNet/types.js @@ -1,6 +1,9 @@ -export var Gender; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Gender = void 0; +var Gender; (function (Gender) { Gender["FEMALE"] = "female"; Gender["MALE"] = "male"; -})(Gender || (Gender = {})); +})(Gender = exports.Gender || (exports.Gender = {})); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/ageGenderNet/types.js.map b/build/ageGenderNet/types.js.map index 762fc2b..27f3001 100644 --- a/build/ageGenderNet/types.js.map +++ b/build/ageGenderNet/types.js.map @@ -1 +1 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ageGenderNet/types.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,2BAAiB,CAAA;IACjB,uBAAa,CAAA;AACf,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB"} \ No newline at end of file +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ageGenderNet/types.ts"],"names":[],"mappings":";;;AAUA,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,2BAAiB,CAAA;IACjB,uBAAa,CAAA;AACf,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB"} \ No newline at end of file diff --git a/build/classes/BoundingBox.js b/build/classes/BoundingBox.js index c7d5175..db07c2e 100644 --- a/build/classes/BoundingBox.js +++ b/build/classes/BoundingBox.js @@ -1,7 +1,11 @@ -import { Box } from './Box'; -export class BoundingBox extends Box { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BoundingBox = void 0; +const Box_1 = require("./Box"); +class BoundingBox extends Box_1.Box { constructor(left, top, right, bottom, allowNegativeDimensions = false) { super({ left, top, right, bottom }, allowNegativeDimensions); } } +exports.BoundingBox = BoundingBox; //# sourceMappingURL=BoundingBox.js.map \ No newline at end of file diff --git a/build/classes/BoundingBox.js.map b/build/classes/BoundingBox.js.map index 8a61988..2028c54 100644 --- a/build/classes/BoundingBox.js.map +++ b/build/classes/BoundingBox.js.map @@ -1 +1 @@ -{"version":3,"file":"BoundingBox.js","sourceRoot":"","sources":["../../src/classes/BoundingBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAS5B,MAAM,OAAO,WAAY,SAAQ,GAAgB;IAC/C,YAAY,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,0BAAmC,KAAK;QAC5G,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAA;IAC9D,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"BoundingBox.js","sourceRoot":"","sources":["../../src/classes/BoundingBox.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAS5B,MAAa,WAAY,SAAQ,SAAgB;IAC/C,YAAY,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,0BAAmC,KAAK;QAC5G,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAA;IAC9D,CAAC;CACF;AAJD,kCAIC"} \ No newline at end of file diff --git a/build/classes/Box.js b/build/classes/Box.js index df4affa..1509b5d 100644 --- a/build/classes/Box.js +++ b/build/classes/Box.js @@ -1,10 +1,13 @@ -import { isDimensions, isValidNumber } from '../utils'; -import { Point } from './Point'; -export class Box { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Box = void 0; +const utils_1 = require("../utils"); +const Point_1 = require("./Point"); +class Box { constructor(_box, allowNegativeDimensions = true) { const box = (_box || {}); - const isBbox = [box.left, box.top, box.right, box.bottom].every(isValidNumber); - const isRect = [box.x, box.y, box.width, box.height].every(isValidNumber); + const isBbox = [box.left, box.top, box.right, box.bottom].every(utils_1.isValidNumber); + const isRect = [box.x, box.y, box.width, box.height].every(utils_1.isValidNumber); if (!isRect && !isBbox) { throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`); } @@ -18,7 +21,7 @@ export class Box { this._height = height; } static isRect(rect) { - return !!rect && [rect.x, rect.y, rect.width, rect.height].every(isValidNumber); + return !!rect && [rect.x, rect.y, rect.width, rect.height].every(utils_1.isValidNumber); } static assertIsValidBox(box, callee, allowNegativeDimensions = false) { if (!Box.isRect(box)) { @@ -37,10 +40,10 @@ export class Box { get right() { return this.x + this.width; } get bottom() { return this.y + this.height; } get area() { return this.width * this.height; } - get topLeft() { return new Point(this.left, this.top); } - get topRight() { return new Point(this.right, this.top); } - get bottomLeft() { return new Point(this.left, this.bottom); } - get bottomRight() { return new Point(this.right, this.bottom); } + get topLeft() { return new Point_1.Point(this.left, this.top); } + get topRight() { return new Point_1.Point(this.right, this.top); } + get bottomLeft() { return new Point_1.Point(this.left, this.bottom); } + get bottomRight() { return new Point_1.Point(this.right, this.bottom); } round() { const [x, y, width, height] = [this.x, this.y, this.width, this.height] .map(val => Math.round(val)); @@ -65,8 +68,8 @@ export class Box { return new Box({ x, y, width, height }); } rescale(s) { - const scaleX = isDimensions(s) ? s.width : s; - const scaleY = isDimensions(s) ? s.height : s; + const scaleX = utils_1.isDimensions(s) ? s.width : s; + const scaleY = utils_1.isDimensions(s) ? s.height : s; return new Box({ x: this.x * scaleX, y: this.y * scaleY, @@ -137,4 +140,5 @@ export class Box { }).toSquare().round(); } } +exports.Box = Box; //# sourceMappingURL=Box.js.map \ No newline at end of file diff --git a/build/classes/Box.js.map b/build/classes/Box.js.map index 54d5794..6368147 100644 --- a/build/classes/Box.js.map +++ b/build/classes/Box.js.map @@ -1 +1 @@ -{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/classes/Box.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/classes/Box.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/classes/Dimensions.js b/build/classes/Dimensions.js index 02482c8..3591323 100644 --- a/build/classes/Dimensions.js +++ b/build/classes/Dimensions.js @@ -1,7 +1,10 @@ -import { isValidNumber } from '../utils'; -export class Dimensions { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Dimensions = void 0; +const utils_1 = require("../utils"); +class Dimensions { constructor(width, height) { - if (!isValidNumber(width) || !isValidNumber(height)) { + if (!utils_1.isValidNumber(width) || !utils_1.isValidNumber(height)) { throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({ width, height })}`); } this._width = width; @@ -13,4 +16,5 @@ export class Dimensions { return new Dimensions(1 / this.width, 1 / this.height); } } +exports.Dimensions = Dimensions; //# sourceMappingURL=Dimensions.js.map \ No newline at end of file diff --git a/build/classes/Dimensions.js.map b/build/classes/Dimensions.js.map index bfe6d12..72bb474 100644 --- a/build/classes/Dimensions.js.map +++ b/build/classes/Dimensions.js.map @@ -1 +1 @@ -{"version":3,"file":"Dimensions.js","sourceRoot":"","sources":["../../src/classes/Dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,MAAM,OAAO,UAAU;IAKrB,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACnD,MAAM,IAAI,KAAK,CAAC,wFAAwF,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;SAC7I;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;IAE5C,OAAO;QACZ,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"Dimensions.js","sourceRoot":"","sources":["../../src/classes/Dimensions.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAOzC,MAAa,UAAU;IAKrB,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,qBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAa,CAAC,MAAM,CAAC,EAAE;YACnD,MAAM,IAAI,KAAK,CAAC,wFAAwF,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;SAC7I;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;IAE5C,OAAO;QACZ,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;CACF;AApBD,gCAoBC"} \ No newline at end of file diff --git a/build/classes/FaceDetection.js b/build/classes/FaceDetection.js index e685cdf..275f859 100644 --- a/build/classes/FaceDetection.js +++ b/build/classes/FaceDetection.js @@ -1,5 +1,8 @@ -import { ObjectDetection } from './ObjectDetection'; -export class FaceDetection extends ObjectDetection { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceDetection = void 0; +const ObjectDetection_1 = require("./ObjectDetection"); +class FaceDetection extends ObjectDetection_1.ObjectDetection { constructor(score, relativeBox, imageDims) { super(score, score, '', relativeBox, imageDims); } @@ -8,4 +11,5 @@ export class FaceDetection extends ObjectDetection { return new FaceDetection(score, relativeBox, imageDims); } } +exports.FaceDetection = FaceDetection; //# sourceMappingURL=FaceDetection.js.map \ No newline at end of file diff --git a/build/classes/FaceDetection.js.map b/build/classes/FaceDetection.js.map index 9d44742..d2491cb 100644 --- a/build/classes/FaceDetection.js.map +++ b/build/classes/FaceDetection.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceDetection.js","sourceRoot":"","sources":["../../src/classes/FaceDetection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,YACE,KAAa,EACb,WAAiB,EACjB,SAAsB;QAEtB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC;IAEM,OAAO,CAAC,KAAa,EAAE,MAAc;QAC1C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACzD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceDetection.js","sourceRoot":"","sources":["../../src/classes/FaceDetection.ts"],"names":[],"mappings":";;;AAEA,uDAAoD;AAQpD,MAAa,aAAc,SAAQ,iCAAe;IAChD,YACE,KAAa,EACb,WAAiB,EACjB,SAAsB;QAEtB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC;IAEM,OAAO,CAAC,KAAa,EAAE,MAAc;QAC1C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACzD,CAAC;CACF;AAbD,sCAaC"} \ No newline at end of file diff --git a/build/classes/FaceLandmarks.js b/build/classes/FaceLandmarks.js index cb83e12..78ccd3d 100644 --- a/build/classes/FaceLandmarks.js +++ b/build/classes/FaceLandmarks.js @@ -1,33 +1,36 @@ -import { minBbox } from '../ops'; -import { getCenterPoint } from '../utils'; -import { Box } from './Box'; -import { Dimensions } from './Dimensions'; -import { FaceDetection } from './FaceDetection'; -import { Point } from './Point'; -import { Rect } from './Rect'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmarks = void 0; +const ops_1 = require("../ops"); +const utils_1 = require("../utils"); +const Box_1 = require("./Box"); +const Dimensions_1 = require("./Dimensions"); +const FaceDetection_1 = require("./FaceDetection"); +const Point_1 = require("./Point"); +const Rect_1 = require("./Rect"); // face alignment constants const relX = 0.5; const relY = 0.43; const relScale = 0.45; -export class FaceLandmarks { - constructor(relativeFaceLandmarkPositions, imgDims, shift = new Point(0, 0)) { +class FaceLandmarks { + constructor(relativeFaceLandmarkPositions, imgDims, shift = new Point_1.Point(0, 0)) { const { width, height } = imgDims; - this._imgDims = new Dimensions(width, height); + this._imgDims = new Dimensions_1.Dimensions(width, height); this._shift = shift; - this._positions = relativeFaceLandmarkPositions.map(pt => pt.mul(new Point(width, height)).add(shift)); + this._positions = relativeFaceLandmarkPositions.map(pt => pt.mul(new Point_1.Point(width, height)).add(shift)); } - get shift() { return new Point(this._shift.x, this._shift.y); } + get shift() { return new Point_1.Point(this._shift.x, this._shift.y); } get imageWidth() { return this._imgDims.width; } get imageHeight() { return this._imgDims.height; } get positions() { return this._positions; } get relativePositions() { - return this._positions.map(pt => pt.sub(this._shift).div(new Point(this.imageWidth, this.imageHeight))); + return this._positions.map(pt => pt.sub(this._shift).div(new Point_1.Point(this.imageWidth, this.imageHeight))); } forSize(width, height) { return new this.constructor(this.relativePositions, { width, height }); } shiftBy(x, y) { - return new this.constructor(this.relativePositions, this._imgDims, new Point(x, y)); + return new this.constructor(this.relativePositions, this._imgDims, new Point_1.Point(x, y)); } shiftByPoint(pt) { return this.shiftBy(pt.x, pt.y); @@ -45,9 +48,9 @@ export class FaceLandmarks { */ align(detection, options = {}) { if (detection) { - const box = detection instanceof FaceDetection + const box = detection instanceof FaceDetection_1.FaceDetection ? detection.box.floor() - : new Box(detection); + : new Box_1.Box(detection); return this.shiftBy(box.x, box.y).align(null, options); } const { useDlibAlignment, minBoxPadding } = Object.assign({}, { useDlibAlignment: false, minBoxPadding: 0.2 }, options); @@ -62,18 +65,19 @@ export class FaceLandmarks { const distToMouth = (pt) => mouthCenter.sub(pt).magnitude(); const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2; const size = Math.floor(eyeToMouthDist / relScale); - const refPoint = getCenterPoint(centers); + const refPoint = utils_1.getCenterPoint(centers); // TODO: pad in case rectangle is out of image bounds const x = Math.floor(Math.max(0, refPoint.x - (relX * size))); const y = Math.floor(Math.max(0, refPoint.y - (relY * size))); - return new Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y)); + return new Rect_1.Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y)); } alignMinBbox(padding) { - const box = minBbox(this.positions); + const box = ops_1.minBbox(this.positions); return box.pad(box.width * padding, box.height * padding); } getRefPointsForAlignment() { throw new Error('getRefPointsForAlignment not implemented by base class'); } } +exports.FaceLandmarks = FaceLandmarks; //# sourceMappingURL=FaceLandmarks.js.map \ No newline at end of file diff --git a/build/classes/FaceLandmarks.js.map b/build/classes/FaceLandmarks.js.map index c9efbf1..754a7de 100644 --- a/build/classes/FaceLandmarks.js.map +++ b/build/classes/FaceLandmarks.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceLandmarks.js","sourceRoot":"","sources":["../../src/classes/FaceLandmarks.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"FaceLandmarks.js","sourceRoot":"","sources":["../../src/classes/FaceLandmarks.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/classes/FaceLandmarks5.js b/build/classes/FaceLandmarks5.js index 4f4d6f0..8c89e66 100644 --- a/build/classes/FaceLandmarks5.js +++ b/build/classes/FaceLandmarks5.js @@ -1,13 +1,17 @@ -import { getCenterPoint } from '../utils'; -import { FaceLandmarks } from './FaceLandmarks'; -export class FaceLandmarks5 extends FaceLandmarks { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmarks5 = void 0; +const utils_1 = require("../utils"); +const FaceLandmarks_1 = require("./FaceLandmarks"); +class FaceLandmarks5 extends FaceLandmarks_1.FaceLandmarks { getRefPointsForAlignment() { const pts = this.positions; return [ pts[0], pts[1], - getCenterPoint([pts[3], pts[4]]) + utils_1.getCenterPoint([pts[3], pts[4]]) ]; } } +exports.FaceLandmarks5 = FaceLandmarks5; //# sourceMappingURL=FaceLandmarks5.js.map \ No newline at end of file diff --git a/build/classes/FaceLandmarks5.js.map b/build/classes/FaceLandmarks5.js.map index 45742b8..a17f86f 100644 --- a/build/classes/FaceLandmarks5.js.map +++ b/build/classes/FaceLandmarks5.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceLandmarks5.js","sourceRoot":"","sources":["../../src/classes/FaceLandmarks5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAErC,wBAAwB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1B,OAAO;YACL,GAAG,CAAC,CAAC,CAAC;YACN,GAAG,CAAC,CAAC,CAAC;YACN,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC,CAAA;IACH,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceLandmarks5.js","sourceRoot":"","sources":["../../src/classes/FaceLandmarks5.ts"],"names":[],"mappings":";;;AAAA,oCAA0C;AAC1C,mDAAgD;AAIhD,MAAa,cAAe,SAAQ,6BAAa;IAErC,wBAAwB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1B,OAAO;YACL,GAAG,CAAC,CAAC,CAAC;YACN,GAAG,CAAC,CAAC,CAAC;YACN,sBAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC,CAAA;IACH,CAAC;CACF;AAVD,wCAUC"} \ No newline at end of file diff --git a/build/classes/FaceLandmarks68.js b/build/classes/FaceLandmarks68.js index b802995..2160a96 100644 --- a/build/classes/FaceLandmarks68.js +++ b/build/classes/FaceLandmarks68.js @@ -1,6 +1,9 @@ -import { getCenterPoint } from '../utils'; -import { FaceLandmarks } from './FaceLandmarks'; -export class FaceLandmarks68 extends FaceLandmarks { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmarks68 = void 0; +const utils_1 = require("../utils"); +const FaceLandmarks_1 = require("./FaceLandmarks"); +class FaceLandmarks68 extends FaceLandmarks_1.FaceLandmarks { getJawOutline() { return this.positions.slice(0, 17); } @@ -27,7 +30,8 @@ export class FaceLandmarks68 extends FaceLandmarks { this.getLeftEye(), this.getRightEye(), this.getMouth() - ].map(getCenterPoint); + ].map(utils_1.getCenterPoint); } } +exports.FaceLandmarks68 = FaceLandmarks68; //# sourceMappingURL=FaceLandmarks68.js.map \ No newline at end of file diff --git a/build/classes/FaceLandmarks68.js.map b/build/classes/FaceLandmarks68.js.map index 81207b8..eea87b7 100644 --- a/build/classes/FaceLandmarks68.js.map +++ b/build/classes/FaceLandmarks68.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceLandmarks68.js","sourceRoot":"","sources":["../../src/classes/FaceLandmarks68.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,OAAO,eAAgB,SAAQ,aAAa;IACzC,aAAa;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAES,wBAAwB;QAChC,OAAO;YACL,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,QAAQ,EAAE;SAChB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACvB,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceLandmarks68.js","sourceRoot":"","sources":["../../src/classes/FaceLandmarks68.ts"],"names":[],"mappings":";;;AAAA,oCAA0C;AAC1C,mDAAgD;AAGhD,MAAa,eAAgB,SAAQ,6BAAa;IACzC,aAAa;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;IAES,wBAAwB;QAChC,OAAO;YACL,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,QAAQ,EAAE;SAChB,CAAC,GAAG,CAAC,sBAAc,CAAC,CAAA;IACvB,CAAC;CACF;AApCD,0CAoCC"} \ No newline at end of file diff --git a/build/classes/FaceMatch.js b/build/classes/FaceMatch.js index 1a3cf1f..27f375b 100644 --- a/build/classes/FaceMatch.js +++ b/build/classes/FaceMatch.js @@ -1,5 +1,8 @@ -import { round } from '../utils'; -export class FaceMatch { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceMatch = void 0; +const utils_1 = require("../utils"); +class FaceMatch { constructor(label, distance) { this._label = label; this._distance = distance; @@ -7,7 +10,8 @@ export class FaceMatch { get label() { return this._label; } get distance() { return this._distance; } toString(withDistance = true) { - return `${this.label}${withDistance ? ` (${round(this.distance)})` : ''}`; + return `${this.label}${withDistance ? ` (${utils_1.round(this.distance)})` : ''}`; } } +exports.FaceMatch = FaceMatch; //# sourceMappingURL=FaceMatch.js.map \ No newline at end of file diff --git a/build/classes/FaceMatch.js.map b/build/classes/FaceMatch.js.map index 5db9542..8dea4bb 100644 --- a/build/classes/FaceMatch.js.map +++ b/build/classes/FaceMatch.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceMatch.js","sourceRoot":"","sources":["../../src/classes/FaceMatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOjC,MAAM,OAAO,SAAS;IAIpB,YAAY,KAAa,EAAE,QAAgB;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IAEhD,QAAQ,CAAC,eAAwB,IAAI;QAC1C,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAC3E,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceMatch.js","sourceRoot":"","sources":["../../src/classes/FaceMatch.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAOjC,MAAa,SAAS;IAIpB,YAAY,KAAa,EAAE,QAAgB;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IAEhD,QAAQ,CAAC,eAAwB,IAAI;QAC1C,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,aAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAC3E,CAAC;CACF;AAfD,8BAeC"} \ No newline at end of file diff --git a/build/classes/LabeledBox.js b/build/classes/LabeledBox.js index 49f2579..619b7f6 100644 --- a/build/classes/LabeledBox.js +++ b/build/classes/LabeledBox.js @@ -1,16 +1,20 @@ -import { isValidNumber } from '../utils'; -import { Box } from './Box'; -export class LabeledBox extends Box { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LabeledBox = void 0; +const utils_1 = require("../utils"); +const Box_1 = require("./Box"); +class LabeledBox extends Box_1.Box { constructor(box, label) { super(box); this._label = label; } static assertIsValidLabeledBox(box, callee) { - Box.assertIsValidBox(box, callee); - if (!isValidNumber(box.label)) { + Box_1.Box.assertIsValidBox(box, callee); + if (!utils_1.isValidNumber(box.label)) { throw new Error(`${callee} - expected property label (${box.label}) to be a number`); } } get label() { return this._label; } } +exports.LabeledBox = LabeledBox; //# sourceMappingURL=LabeledBox.js.map \ No newline at end of file diff --git a/build/classes/LabeledBox.js.map b/build/classes/LabeledBox.js.map index 8b65e62..54e4a61 100644 --- a/build/classes/LabeledBox.js.map +++ b/build/classes/LabeledBox.js.map @@ -1 +1 @@ -{"version":3,"file":"LabeledBox.js","sourceRoot":"","sources":["../../src/classes/LabeledBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,MAAM,OAAO,UAAW,SAAQ,GAAe;IAY7C,YAAY,GAA+B,EAAE,KAAa;QACxD,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IAbM,MAAM,CAAC,uBAAuB,CAAC,GAAQ,EAAE,MAAc;QAC5D,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,+BAA+B,GAAG,CAAC,KAAK,kBAAkB,CAAC,CAAA;SACrF;IACH,CAAC;IASD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;CAElD"} \ No newline at end of file +{"version":3,"file":"LabeledBox.js","sourceRoot":"","sources":["../../src/classes/LabeledBox.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,+BAA4B;AAG5B,MAAa,UAAW,SAAQ,SAAe;IAY7C,YAAY,GAA+B,EAAE,KAAa;QACxD,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IAbM,MAAM,CAAC,uBAAuB,CAAC,GAAQ,EAAE,MAAc;QAC5D,SAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,qBAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,+BAA+B,GAAG,CAAC,KAAK,kBAAkB,CAAC,CAAA;SACrF;IACH,CAAC;IASD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;CAElD;AAnBD,gCAmBC"} \ No newline at end of file diff --git a/build/classes/LabeledFaceDescriptors.js b/build/classes/LabeledFaceDescriptors.js index c41093f..66e6ad7 100644 --- a/build/classes/LabeledFaceDescriptors.js +++ b/build/classes/LabeledFaceDescriptors.js @@ -1,4 +1,7 @@ -export class LabeledFaceDescriptors { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LabeledFaceDescriptors = void 0; +class LabeledFaceDescriptors { constructor(label, descriptors) { if (!(typeof label === 'string')) { throw new Error('LabeledFaceDescriptors - constructor expected label to be a string'); @@ -24,4 +27,5 @@ export class LabeledFaceDescriptors { return new LabeledFaceDescriptors(json.label, descriptors); } } +exports.LabeledFaceDescriptors = LabeledFaceDescriptors; //# sourceMappingURL=LabeledFaceDescriptors.js.map \ No newline at end of file diff --git a/build/classes/LabeledFaceDescriptors.js.map b/build/classes/LabeledFaceDescriptors.js.map index 1fe1609..4274cd8 100644 --- a/build/classes/LabeledFaceDescriptors.js.map +++ b/build/classes/LabeledFaceDescriptors.js.map @@ -1 +1 @@ -{"version":3,"file":"LabeledFaceDescriptors.js","sourceRoot":"","sources":["../../src/classes/LabeledFaceDescriptors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAsB;IAIjC,YAAY,KAAa,EAAE,WAA2B;QACpD,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;SACtF;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,YAAY,CAAC,CAAC,EAAE;YAC5F,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAA;SAC5G;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,WAAW,KAAqB,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAE9D,MAAM;QACX,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAClD,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;CAEF"} \ No newline at end of file +{"version":3,"file":"LabeledFaceDescriptors.js","sourceRoot":"","sources":["../../src/classes/LabeledFaceDescriptors.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;IAIjC,YAAY,KAAa,EAAE,WAA2B;QACpD,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;SACtF;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,YAAY,CAAC,CAAC,EAAE;YAC5F,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAA;SAC5G;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,WAAW,KAAqB,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAE9D,MAAM;QACX,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAClD,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;CAEF;AAlCD,wDAkCC"} \ No newline at end of file diff --git a/build/classes/ObjectDetection.js b/build/classes/ObjectDetection.js index b4af12d..c3f296b 100644 --- a/build/classes/ObjectDetection.js +++ b/build/classes/ObjectDetection.js @@ -1,12 +1,15 @@ -import { Box } from './Box'; -import { Dimensions } from './Dimensions'; -export class ObjectDetection { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ObjectDetection = void 0; +const Box_1 = require("./Box"); +const Dimensions_1 = require("./Dimensions"); +class ObjectDetection { constructor(score, classScore, className, relativeBox, imageDims) { - this._imageDims = new Dimensions(imageDims.width, imageDims.height); + this._imageDims = new Dimensions_1.Dimensions(imageDims.width, imageDims.height); this._score = score; this._classScore = classScore; this._className = className; - this._box = new Box(relativeBox).rescale(this._imageDims); + this._box = new Box_1.Box(relativeBox).rescale(this._imageDims); } get score() { return this._score; } get classScore() { return this._classScore; } @@ -15,9 +18,10 @@ export class ObjectDetection { get imageDims() { return this._imageDims; } get imageWidth() { return this.imageDims.width; } get imageHeight() { return this.imageDims.height; } - get relativeBox() { return new Box(this._box).rescale(this.imageDims.reverse()); } + get relativeBox() { return new Box_1.Box(this._box).rescale(this.imageDims.reverse()); } forSize(width, height) { return new ObjectDetection(this.score, this.classScore, this.className, this.relativeBox, { width, height }); } } +exports.ObjectDetection = ObjectDetection; //# sourceMappingURL=ObjectDetection.js.map \ No newline at end of file diff --git a/build/classes/ObjectDetection.js.map b/build/classes/ObjectDetection.js.map index 8e8f888..0890ba9 100644 --- a/build/classes/ObjectDetection.js.map +++ b/build/classes/ObjectDetection.js.map @@ -1 +1 @@ -{"version":3,"file":"ObjectDetection.js","sourceRoot":"","sources":["../../src/classes/ObjectDetection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAe,MAAM,cAAc,CAAC;AAGvD,MAAM,OAAO,eAAe;IAO1B,YACE,KAAa,EACb,UAAkB,EAClB,SAAiB,EACjB,WAAkB,EAClB,SAAsB;QAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAC3D,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IACzD,IAAW,GAAG,KAAU,OAAO,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC;IAC1C,IAAW,SAAS,KAAiB,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IAC7D,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA,CAAC,CAAC;IAC/D,IAAW,WAAW,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA,CAAC,CAAC;IACjE,IAAW,WAAW,KAAU,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC,CAAC;IAEtF,OAAO,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,eAAe,CACxB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,EAAE,KAAK,EAAE,MAAM,EAAC,CACjB,CAAA;IACH,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"ObjectDetection.js","sourceRoot":"","sources":["../../src/classes/ObjectDetection.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,6CAAuD;AAGvD,MAAa,eAAe;IAO1B,YACE,KAAa,EACb,UAAkB,EAClB,SAAiB,EACjB,WAAkB,EAClB,SAAsB;QAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,SAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAC3D,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IACzD,IAAW,GAAG,KAAU,OAAO,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC;IAC1C,IAAW,SAAS,KAAiB,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IAC7D,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA,CAAC,CAAC;IAC/D,IAAW,WAAW,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA,CAAC,CAAC;IACjE,IAAW,WAAW,KAAU,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC,CAAC;IAEtF,OAAO,CAAC,KAAa,EAAE,MAAc;QAC1C,OAAO,IAAI,eAAe,CACxB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,EAAE,KAAK,EAAE,MAAM,EAAC,CACjB,CAAA;IACH,CAAC;CACF;AAvCD,0CAuCC"} \ No newline at end of file diff --git a/build/classes/Point.js b/build/classes/Point.js index 1cd1ac0..e76424b 100644 --- a/build/classes/Point.js +++ b/build/classes/Point.js @@ -1,4 +1,7 @@ -export class Point { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Point = void 0; +class Point { constructor(x, y) { this._x = x; this._y = y; @@ -27,4 +30,5 @@ export class Point { return new Point(Math.floor(this.x), Math.floor(this.y)); } } +exports.Point = Point; //# sourceMappingURL=Point.js.map \ No newline at end of file diff --git a/build/classes/Point.js.map b/build/classes/Point.js.map index 9e94353..dc7c64c 100644 --- a/build/classes/Point.js.map +++ b/build/classes/Point.js.map @@ -1 +1 @@ -{"version":3,"file":"Point.js","sourceRoot":"","sources":["../../src/classes/Point.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,KAAK;IAIhB,YAAY,CAAS,EAAE,CAAS;QAC9B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACb,CAAC;IAED,IAAI,CAAC,KAAa,OAAO,IAAI,CAAC,EAAE,CAAA,CAAC,CAAC;IAClC,IAAI,CAAC,KAAa,OAAO,IAAI,CAAC,EAAE,CAAA,CAAC,CAAC;IAE3B,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"Point.js","sourceRoot":"","sources":["../../src/classes/Point.ts"],"names":[],"mappings":";;;AAKA,MAAa,KAAK;IAIhB,YAAY,CAAS,EAAE,CAAS;QAC9B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACb,CAAC;IAED,IAAI,CAAC,KAAa,OAAO,IAAI,CAAC,EAAE,CAAA,CAAC,CAAC;IAClC,IAAI,CAAC,KAAa,OAAO,IAAI,CAAC,EAAE,CAAA,CAAC,CAAC;IAE3B,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG,CAAC,EAAU;QACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;CACF;AAvCD,sBAuCC"} \ No newline at end of file diff --git a/build/classes/PredictedBox.js b/build/classes/PredictedBox.js index ad33c9c..597861e 100644 --- a/build/classes/PredictedBox.js +++ b/build/classes/PredictedBox.js @@ -1,19 +1,23 @@ -import { isValidProbablitiy } from '../utils'; -import { LabeledBox } from './LabeledBox'; -export class PredictedBox extends LabeledBox { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PredictedBox = void 0; +const utils_1 = require("../utils"); +const LabeledBox_1 = require("./LabeledBox"); +class PredictedBox extends LabeledBox_1.LabeledBox { constructor(box, label, score, classScore) { super(box, label); this._score = score; this._classScore = classScore; } static assertIsValidPredictedBox(box, callee) { - LabeledBox.assertIsValidLabeledBox(box, callee); - if (!isValidProbablitiy(box.score) - || !isValidProbablitiy(box.classScore)) { + LabeledBox_1.LabeledBox.assertIsValidLabeledBox(box, callee); + if (!utils_1.isValidProbablitiy(box.score) + || !utils_1.isValidProbablitiy(box.classScore)) { throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`); } } get score() { return this._score; } get classScore() { return this._classScore; } } +exports.PredictedBox = PredictedBox; //# sourceMappingURL=PredictedBox.js.map \ No newline at end of file diff --git a/build/classes/PredictedBox.js.map b/build/classes/PredictedBox.js.map index d08214a..52ec289 100644 --- a/build/classes/PredictedBox.js.map +++ b/build/classes/PredictedBox.js.map @@ -1 +1 @@ -{"version":3,"file":"PredictedBox.js","sourceRoot":"","sources":["../../src/classes/PredictedBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,OAAO,YAAa,SAAQ,UAAU;IAgB1C,YAAY,GAA+B,EAAE,KAAa,EAAE,KAAa,EAAE,UAAkB;QAC3F,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,CAAC;IAlBM,MAAM,CAAC,yBAAyB,CAAC,GAAQ,EAAE,MAAc;QAC9D,UAAU,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAE/C,IACE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;eAC3B,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EACtC;YACA,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,iCAAiC,GAAG,CAAC,KAAK,UAAU,GAAG,CAAC,UAAU,iCAAiC,CAAC,CAAA;SAC9H;IACH,CAAC;IAWD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;CAE5D"} \ No newline at end of file +{"version":3,"file":"PredictedBox.js","sourceRoot":"","sources":["../../src/classes/PredictedBox.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAE9C,6CAA0C;AAG1C,MAAa,YAAa,SAAQ,uBAAU;IAgB1C,YAAY,GAA+B,EAAE,KAAa,EAAE,KAAa,EAAE,UAAkB;QAC3F,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,CAAC;IAlBM,MAAM,CAAC,yBAAyB,CAAC,GAAQ,EAAE,MAAc;QAC9D,uBAAU,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAE/C,IACE,CAAC,0BAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;eAC3B,CAAC,0BAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EACtC;YACA,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,iCAAiC,GAAG,CAAC,KAAK,UAAU,GAAG,CAAC,UAAU,iCAAiC,CAAC,CAAA;SAC9H;IACH,CAAC;IAWD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACjD,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;CAE5D;AAzBD,oCAyBC"} \ No newline at end of file diff --git a/build/classes/Rect.js b/build/classes/Rect.js index 711acfd..cb6da80 100644 --- a/build/classes/Rect.js +++ b/build/classes/Rect.js @@ -1,7 +1,11 @@ -import { Box } from './Box'; -export class Rect extends Box { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Rect = void 0; +const Box_1 = require("./Box"); +class Rect extends Box_1.Box { constructor(x, y, width, height, allowNegativeDimensions = false) { super({ x, y, width, height }, allowNegativeDimensions); } } +exports.Rect = Rect; //# sourceMappingURL=Rect.js.map \ No newline at end of file diff --git a/build/classes/Rect.js.map b/build/classes/Rect.js.map index d7e1adf..e98f071 100644 --- a/build/classes/Rect.js.map +++ b/build/classes/Rect.js.map @@ -1 +1 @@ -{"version":3,"file":"Rect.js","sourceRoot":"","sources":["../../src/classes/Rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAS5B,MAAM,OAAO,IAAK,SAAQ,GAAS;IACjC,YAAY,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,0BAAmC,KAAK;QACvG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAA;IACzD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"Rect.js","sourceRoot":"","sources":["../../src/classes/Rect.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAS5B,MAAa,IAAK,SAAQ,SAAS;IACjC,YAAY,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,0BAAmC,KAAK;QACvG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAA;IACzD,CAAC;CACF;AAJD,oBAIC"} \ No newline at end of file diff --git a/build/classes/index.js b/build/classes/index.js index a6d936b..2e46577 100644 --- a/build/classes/index.js +++ b/build/classes/index.js @@ -1,15 +1,18 @@ -export * from './BoundingBox'; -export * from './Box'; -export * from './Dimensions'; -export * from './FaceDetection'; -export * from './FaceLandmarks'; -export * from './FaceLandmarks5'; -export * from './FaceLandmarks68'; -export * from './FaceMatch'; -export * from './LabeledBox'; -export * from './LabeledFaceDescriptors'; -export * from './ObjectDetection'; -export * from './Point'; -export * from './PredictedBox'; -export * from './Rect'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./BoundingBox"), exports); +tslib_1.__exportStar(require("./Box"), exports); +tslib_1.__exportStar(require("./Dimensions"), exports); +tslib_1.__exportStar(require("./FaceDetection"), exports); +tslib_1.__exportStar(require("./FaceLandmarks"), exports); +tslib_1.__exportStar(require("./FaceLandmarks5"), exports); +tslib_1.__exportStar(require("./FaceLandmarks68"), exports); +tslib_1.__exportStar(require("./FaceMatch"), exports); +tslib_1.__exportStar(require("./LabeledBox"), exports); +tslib_1.__exportStar(require("./LabeledFaceDescriptors"), exports); +tslib_1.__exportStar(require("./ObjectDetection"), exports); +tslib_1.__exportStar(require("./Point"), exports); +tslib_1.__exportStar(require("./PredictedBox"), exports); +tslib_1.__exportStar(require("./Rect"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/classes/index.js.map b/build/classes/index.js.map index cb05ee0..2efeb6a 100644 --- a/build/classes/index.js.map +++ b/build/classes/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B;AAC7B,gDAAqB;AACrB,uDAA4B;AAC5B,0DAAgC;AAChC,0DAAgC;AAChC,2DAAiC;AACjC,4DAAkC;AAClC,sDAA4B;AAC5B,uDAA4B;AAC5B,mEAAyC;AACzC,4DAAiC;AACjC,kDAAuB;AACvB,yDAA8B;AAC9B,iDAAsB"} \ No newline at end of file diff --git a/build/common/convLayer.js b/build/common/convLayer.js index 411439a..27c4274 100644 --- a/build/common/convLayer.js +++ b/build/common/convLayer.js @@ -1,8 +1,12 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function convLayer(x, params, padding = 'same', withRelu = false) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convLayer = void 0; +const tf = require("@tensorflow/tfjs-core"); +function convLayer(x, params, padding = 'same', withRelu = false) { return tf.tidy(() => { const out = tf.add(tf.conv2d(x, params.filters, [1, 1], padding), params.bias); return withRelu ? tf.relu(out) : out; }); } +exports.convLayer = convLayer; //# sourceMappingURL=convLayer.js.map \ No newline at end of file diff --git a/build/common/convLayer.js.map b/build/common/convLayer.js.map index c148fa0..801f130 100644 --- a/build/common/convLayer.js.map +++ b/build/common/convLayer.js.map @@ -1 +1 @@ -{"version":3,"file":"convLayer.js","sourceRoot":"","sources":["../../src/common/convLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,UAAU,SAAS,CACvB,CAAc,EACd,MAAkB,EAClB,UAA4B,MAAM,EAClC,WAAoB,KAAK;IAEzB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAChB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,MAAM,CAAC,IAAI,CACG,CAAA;QAEhB,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"convLayer.js","sourceRoot":"","sources":["../../src/common/convLayer.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAI5C,SAAgB,SAAS,CACvB,CAAc,EACd,MAAkB,EAClB,UAA4B,MAAM,EAClC,WAAoB,KAAK;IAEzB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAChB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,MAAM,CAAC,IAAI,CACG,CAAA;QAEhB,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAdD,8BAcC"} \ No newline at end of file diff --git a/build/common/depthwiseSeparableConv.js b/build/common/depthwiseSeparableConv.js index a91a632..26aff68 100644 --- a/build/common/depthwiseSeparableConv.js +++ b/build/common/depthwiseSeparableConv.js @@ -1,9 +1,13 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function depthwiseSeparableConv(x, params, stride) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.depthwiseSeparableConv = void 0; +const tf = require("@tensorflow/tfjs-core"); +function depthwiseSeparableConv(x, params, stride) { return tf.tidy(() => { let out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, 'same'); out = tf.add(out, params.bias); return out; }); } +exports.depthwiseSeparableConv = depthwiseSeparableConv; //# sourceMappingURL=depthwiseSeparableConv.js.map \ No newline at end of file diff --git a/build/common/depthwiseSeparableConv.js.map b/build/common/depthwiseSeparableConv.js.map index de28b10..a42fe49 100644 --- a/build/common/depthwiseSeparableConv.js.map +++ b/build/common/depthwiseSeparableConv.js.map @@ -1 +1 @@ -{"version":3,"file":"depthwiseSeparableConv.js","sourceRoot":"","sources":["../../src/common/depthwiseSeparableConv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,UAAU,sBAAsB,CACpC,CAAc,EACd,MAA2B,EAC3B,MAAwB;IAExB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACjG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"depthwiseSeparableConv.js","sourceRoot":"","sources":["../../src/common/depthwiseSeparableConv.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAI5C,SAAgB,sBAAsB,CACpC,CAAc,EACd,MAA2B,EAC3B,MAAwB;IAExB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACjG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC;AAVD,wDAUC"} \ No newline at end of file diff --git a/build/common/disposeUnusedWeightTensors.js b/build/common/disposeUnusedWeightTensors.js index 08a5c61..269fa36 100644 --- a/build/common/disposeUnusedWeightTensors.js +++ b/build/common/disposeUnusedWeightTensors.js @@ -1,8 +1,12 @@ -export function disposeUnusedWeightTensors(weightMap, paramMappings) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.disposeUnusedWeightTensors = void 0; +function disposeUnusedWeightTensors(weightMap, paramMappings) { Object.keys(weightMap).forEach(path => { if (!paramMappings.some(pm => pm.originalPath === path)) { weightMap[path].dispose(); } }); } +exports.disposeUnusedWeightTensors = disposeUnusedWeightTensors; //# sourceMappingURL=disposeUnusedWeightTensors.js.map \ No newline at end of file diff --git a/build/common/disposeUnusedWeightTensors.js.map b/build/common/disposeUnusedWeightTensors.js.map index b917cd1..37fa8ea 100644 --- a/build/common/disposeUnusedWeightTensors.js.map +++ b/build/common/disposeUnusedWeightTensors.js.map @@ -1 +1 @@ -{"version":3,"file":"disposeUnusedWeightTensors.js","sourceRoot":"","sources":["../../src/common/disposeUnusedWeightTensors.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,SAAc,EAAE,aAA6B;IACtF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE;YACvD,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;SAC1B;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"disposeUnusedWeightTensors.js","sourceRoot":"","sources":["../../src/common/disposeUnusedWeightTensors.ts"],"names":[],"mappings":";;;AAEA,SAAgB,0BAA0B,CAAC,SAAc,EAAE,aAA6B;IACtF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE;YACvD,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;SAC1B;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAND,gEAMC"} \ No newline at end of file diff --git a/build/common/extractConvParamsFactory.js b/build/common/extractConvParamsFactory.js index 5aec5cd..b981925 100644 --- a/build/common/extractConvParamsFactory.js +++ b/build/common/extractConvParamsFactory.js @@ -1,5 +1,8 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function extractConvParamsFactory(extractWeights, paramMappings) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractConvParamsFactory = void 0; +const tf = require("@tensorflow/tfjs-core"); +function extractConvParamsFactory(extractWeights, paramMappings) { return function (channelsIn, channelsOut, filterSize, mappedPrefix) { const filters = tf.tensor4d(extractWeights(channelsIn * channelsOut * filterSize * filterSize), [filterSize, filterSize, channelsIn, channelsOut]); const bias = tf.tensor1d(extractWeights(channelsOut)); @@ -7,4 +10,5 @@ export function extractConvParamsFactory(extractWeights, paramMappings) { return { filters, bias }; }; } +exports.extractConvParamsFactory = extractConvParamsFactory; //# sourceMappingURL=extractConvParamsFactory.js.map \ No newline at end of file diff --git a/build/common/extractConvParamsFactory.js.map b/build/common/extractConvParamsFactory.js.map index 1668983..f6868cd 100644 --- a/build/common/extractConvParamsFactory.js.map +++ b/build/common/extractConvParamsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"extractConvParamsFactory.js","sourceRoot":"","sources":["../../src/common/extractConvParamsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,UAAU,wBAAwB,CACtC,cAAsC,EACtC,aAA6B;IAG7B,OAAO,UACL,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,YAAoB;QAGpB,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CACzB,cAAc,CAAC,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,EAClE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAClD,CAAA;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAErD,aAAa,CAAC,IAAI,CAChB,EAAE,SAAS,EAAE,GAAG,YAAY,UAAU,EAAE,EACxC,EAAE,SAAS,EAAE,GAAG,YAAY,OAAO,EAAE,CACtC,CAAA;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC,CAAA;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractConvParamsFactory.js","sourceRoot":"","sources":["../../src/common/extractConvParamsFactory.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAI5C,SAAgB,wBAAwB,CACtC,cAAsC,EACtC,aAA6B;IAG7B,OAAO,UACL,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,YAAoB;QAGpB,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CACzB,cAAc,CAAC,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,EAClE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAClD,CAAA;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAErD,aAAa,CAAC,IAAI,CAChB,EAAE,SAAS,EAAE,GAAG,YAAY,UAAU,EAAE,EACxC,EAAE,SAAS,EAAE,GAAG,YAAY,OAAO,EAAE,CACtC,CAAA;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC,CAAA;AAEH,CAAC;AA1BD,4DA0BC"} \ No newline at end of file diff --git a/build/common/extractFCParamsFactory.js b/build/common/extractFCParamsFactory.js index 0065198..ee16d90 100644 --- a/build/common/extractFCParamsFactory.js +++ b/build/common/extractFCParamsFactory.js @@ -1,5 +1,8 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function extractFCParamsFactory(extractWeights, paramMappings) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractFCParamsFactory = void 0; +const tf = require("@tensorflow/tfjs-core"); +function extractFCParamsFactory(extractWeights, paramMappings) { return function (channelsIn, channelsOut, mappedPrefix) { const fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]); const fc_bias = tf.tensor1d(extractWeights(channelsOut)); @@ -10,4 +13,5 @@ export function extractFCParamsFactory(extractWeights, paramMappings) { }; }; } +exports.extractFCParamsFactory = extractFCParamsFactory; //# sourceMappingURL=extractFCParamsFactory.js.map \ No newline at end of file diff --git a/build/common/extractFCParamsFactory.js.map b/build/common/extractFCParamsFactory.js.map index ab9eed4..746a77e 100644 --- a/build/common/extractFCParamsFactory.js.map +++ b/build/common/extractFCParamsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"extractFCParamsFactory.js","sourceRoot":"","sources":["../../src/common/extractFCParamsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAK5C,MAAM,UAAU,sBAAsB,CACpC,cAAsC,EACtC,aAA6B;IAG7B,OAAO,UACL,UAAkB,EAClB,WAAmB,EACnB,YAAoB;QAGpB,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACnG,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAExD,aAAa,CAAC,IAAI,CAChB,EAAE,SAAS,EAAE,GAAG,YAAY,UAAU,EAAE,EACxC,EAAE,SAAS,EAAE,GAAG,YAAY,OAAO,EAAE,CACtC,CAAA;QAED,OAAO;YACL,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,OAAO;SACd,CAAA;IACH,CAAC,CAAA;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractFCParamsFactory.js","sourceRoot":"","sources":["../../src/common/extractFCParamsFactory.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAK5C,SAAgB,sBAAsB,CACpC,cAAsC,EACtC,aAA6B;IAG7B,OAAO,UACL,UAAkB,EAClB,WAAmB,EACnB,YAAoB;QAGpB,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACnG,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAExD,aAAa,CAAC,IAAI,CAChB,EAAE,SAAS,EAAE,GAAG,YAAY,UAAU,EAAE,EACxC,EAAE,SAAS,EAAE,GAAG,YAAY,OAAO,EAAE,CACtC,CAAA;QAED,OAAO;YACL,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,OAAO;SACd,CAAA;IACH,CAAC,CAAA;AAEH,CAAC;AAzBD,wDAyBC"} \ No newline at end of file diff --git a/build/common/extractSeparableConvParamsFactory.js b/build/common/extractSeparableConvParamsFactory.js index 5d9a7a8..20ba8c4 100644 --- a/build/common/extractSeparableConvParamsFactory.js +++ b/build/common/extractSeparableConvParamsFactory.js @@ -1,20 +1,25 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { SeparableConvParams } from './types'; -export function extractSeparableConvParamsFactory(extractWeights, paramMappings) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.loadSeparableConvParamsFactory = exports.extractSeparableConvParamsFactory = void 0; +const tf = require("@tensorflow/tfjs-core"); +const types_1 = require("./types"); +function extractSeparableConvParamsFactory(extractWeights, paramMappings) { return function (channelsIn, channelsOut, mappedPrefix) { const depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]); const pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]); const bias = tf.tensor1d(extractWeights(channelsOut)); paramMappings.push({ paramPath: `${mappedPrefix}/depthwise_filter` }, { paramPath: `${mappedPrefix}/pointwise_filter` }, { paramPath: `${mappedPrefix}/bias` }); - return new SeparableConvParams(depthwise_filter, pointwise_filter, bias); + return new types_1.SeparableConvParams(depthwise_filter, pointwise_filter, bias); }; } -export function loadSeparableConvParamsFactory(extractWeightEntry) { +exports.extractSeparableConvParamsFactory = extractSeparableConvParamsFactory; +function loadSeparableConvParamsFactory(extractWeightEntry) { return function (prefix) { const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4); const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4); const bias = extractWeightEntry(`${prefix}/bias`, 1); - return new SeparableConvParams(depthwise_filter, pointwise_filter, bias); + return new types_1.SeparableConvParams(depthwise_filter, pointwise_filter, bias); }; } +exports.loadSeparableConvParamsFactory = loadSeparableConvParamsFactory; //# sourceMappingURL=extractSeparableConvParamsFactory.js.map \ No newline at end of file diff --git a/build/common/extractSeparableConvParamsFactory.js.map b/build/common/extractSeparableConvParamsFactory.js.map index b173824..e830cc5 100644 --- a/build/common/extractSeparableConvParamsFactory.js.map +++ b/build/common/extractSeparableConvParamsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"extractSeparableConvParamsFactory.js","sourceRoot":"","sources":["../../src/common/extractSeparableConvParamsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAwC,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEpF,MAAM,UAAU,iCAAiC,CAC/C,cAAsC,EACtC,aAA6B;IAG7B,OAAO,UAAS,UAAkB,EAAE,WAAmB,EAAE,YAAoB;QAC3E,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/F,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QAC/G,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAErD,aAAa,CAAC,IAAI,CAChB,EAAE,SAAS,EAAE,GAAG,YAAY,mBAAmB,EAAE,EACjD,EAAE,SAAS,EAAE,GAAG,YAAY,mBAAmB,EAAE,EACjD,EAAE,SAAS,EAAE,GAAG,YAAY,OAAO,EAAE,CACtC,CAAA;QAED,OAAO,IAAI,mBAAmB,CAC5B,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,CACL,CAAA;IACH,CAAC,CAAA;AAEH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,kBAAqE;IAGrE,OAAO,UAAU,MAAc;QAC7B,MAAM,gBAAgB,GAAG,kBAAkB,CAAc,GAAG,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,gBAAgB,GAAG,kBAAkB,CAAc,GAAG,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QAEjE,OAAO,IAAI,mBAAmB,CAC5B,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,CACL,CAAA;IACH,CAAC,CAAA;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractSeparableConvParamsFactory.js","sourceRoot":"","sources":["../../src/common/extractSeparableConvParamsFactory.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,mCAAoF;AAEpF,SAAgB,iCAAiC,CAC/C,cAAsC,EACtC,aAA6B;IAG7B,OAAO,UAAS,UAAkB,EAAE,WAAmB,EAAE,YAAoB;QAC3E,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/F,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QAC/G,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAErD,aAAa,CAAC,IAAI,CAChB,EAAE,SAAS,EAAE,GAAG,YAAY,mBAAmB,EAAE,EACjD,EAAE,SAAS,EAAE,GAAG,YAAY,mBAAmB,EAAE,EACjD,EAAE,SAAS,EAAE,GAAG,YAAY,OAAO,EAAE,CACtC,CAAA;QAED,OAAO,IAAI,2BAAmB,CAC5B,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,CACL,CAAA;IACH,CAAC,CAAA;AAEH,CAAC;AAvBD,8EAuBC;AAED,SAAgB,8BAA8B,CAC5C,kBAAqE;IAGrE,OAAO,UAAU,MAAc;QAC7B,MAAM,gBAAgB,GAAG,kBAAkB,CAAc,GAAG,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,gBAAgB,GAAG,kBAAkB,CAAc,GAAG,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QAEjE,OAAO,IAAI,2BAAmB,CAC5B,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,CACL,CAAA;IACH,CAAC,CAAA;AAEH,CAAC;AAhBD,wEAgBC"} \ No newline at end of file diff --git a/build/common/extractWeightEntryFactory.js b/build/common/extractWeightEntryFactory.js index 6a87e33..38d4d40 100644 --- a/build/common/extractWeightEntryFactory.js +++ b/build/common/extractWeightEntryFactory.js @@ -1,12 +1,16 @@ -import { isTensor } from '../utils'; -export function extractWeightEntryFactory(weightMap, paramMappings) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractWeightEntryFactory = void 0; +const utils_1 = require("../utils"); +function extractWeightEntryFactory(weightMap, paramMappings) { return function (originalPath, paramRank, mappedPath) { const tensor = weightMap[originalPath]; - if (!isTensor(tensor, paramRank)) { + if (!utils_1.isTensor(tensor, paramRank)) { throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor}`); } paramMappings.push({ originalPath, paramPath: mappedPath || originalPath }); return tensor; }; } +exports.extractWeightEntryFactory = extractWeightEntryFactory; //# sourceMappingURL=extractWeightEntryFactory.js.map \ No newline at end of file diff --git a/build/common/extractWeightEntryFactory.js.map b/build/common/extractWeightEntryFactory.js.map index f335393..8a3640c 100644 --- a/build/common/extractWeightEntryFactory.js.map +++ b/build/common/extractWeightEntryFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"extractWeightEntryFactory.js","sourceRoot":"","sources":["../../src/common/extractWeightEntryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,MAAM,UAAU,yBAAyB,CAAC,SAAc,EAAE,aAA6B;IAErF,OAAO,UAAa,YAAoB,EAAE,SAAiB,EAAE,UAAmB;QAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;QAEtC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,mBAAmB,SAAS,mBAAmB,MAAM,EAAE,CAAC,CAAA;SAC3G;QAED,aAAa,CAAC,IAAI,CAChB,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,IAAI,YAAY,EAAE,CACxD,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractWeightEntryFactory.js","sourceRoot":"","sources":["../../src/common/extractWeightEntryFactory.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAGpC,SAAgB,yBAAyB,CAAC,SAAc,EAAE,aAA6B;IAErF,OAAO,UAAa,YAAoB,EAAE,SAAiB,EAAE,UAAmB;QAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;QAEtC,IAAI,CAAC,gBAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,mBAAmB,SAAS,mBAAmB,MAAM,EAAE,CAAC,CAAA;SAC3G;QAED,aAAa,CAAC,IAAI,CAChB,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,IAAI,YAAY,EAAE,CACxD,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AAEH,CAAC;AAhBD,8DAgBC"} \ No newline at end of file diff --git a/build/common/extractWeightsFactory.js b/build/common/extractWeightsFactory.js index 0bd2890..d887a9d 100644 --- a/build/common/extractWeightsFactory.js +++ b/build/common/extractWeightsFactory.js @@ -1,4 +1,7 @@ -export function extractWeightsFactory(weights) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractWeightsFactory = void 0; +function extractWeightsFactory(weights) { let remainingWeights = weights; function extractWeights(numWeights) { const ret = remainingWeights.slice(0, numWeights); @@ -13,4 +16,5 @@ export function extractWeightsFactory(weights) { getRemainingWeights }; } +exports.extractWeightsFactory = extractWeightsFactory; //# sourceMappingURL=extractWeightsFactory.js.map \ No newline at end of file diff --git a/build/common/extractWeightsFactory.js.map b/build/common/extractWeightsFactory.js.map index 18852fd..ae8f2bf 100644 --- a/build/common/extractWeightsFactory.js.map +++ b/build/common/extractWeightsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"extractWeightsFactory.js","sourceRoot":"","sources":["../../src/common/extractWeightsFactory.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,OAAqB;IACzD,IAAI,gBAAgB,GAAG,OAAO,CAAA;IAE9B,SAAS,cAAc,CAAC,UAAkB;QACxC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACjD,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACrD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,OAAO;QACL,cAAc;QACd,mBAAmB;KACpB,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractWeightsFactory.js","sourceRoot":"","sources":["../../src/common/extractWeightsFactory.ts"],"names":[],"mappings":";;;AAAA,SAAgB,qBAAqB,CAAC,OAAqB;IACzD,IAAI,gBAAgB,GAAG,OAAO,CAAA;IAE9B,SAAS,cAAc,CAAC,UAAkB;QACxC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACjD,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACrD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,OAAO;QACL,cAAc;QACd,mBAAmB;KACpB,CAAA;AACH,CAAC;AAjBD,sDAiBC"} \ No newline at end of file diff --git a/build/common/fullyConnectedLayer.js b/build/common/fullyConnectedLayer.js index 9ac4178..3223e30 100644 --- a/build/common/fullyConnectedLayer.js +++ b/build/common/fullyConnectedLayer.js @@ -1,5 +1,9 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function fullyConnectedLayer(x, params) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fullyConnectedLayer = void 0; +const tf = require("@tensorflow/tfjs-core"); +function fullyConnectedLayer(x, params) { return tf.tidy(() => tf.add(tf.matMul(x, params.weights), params.bias)); } +exports.fullyConnectedLayer = fullyConnectedLayer; //# sourceMappingURL=fullyConnectedLayer.js.map \ No newline at end of file diff --git a/build/common/fullyConnectedLayer.js.map b/build/common/fullyConnectedLayer.js.map index 450db69..ebb6d98 100644 --- a/build/common/fullyConnectedLayer.js.map +++ b/build/common/fullyConnectedLayer.js.map @@ -1 +1 @@ -{"version":3,"file":"fullyConnectedLayer.js","sourceRoot":"","sources":["../../src/common/fullyConnectedLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,UAAU,mBAAmB,CACjC,CAAc,EACd,MAAgB;IAEhB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAClB,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAC5B,MAAM,CAAC,IAAI,CACZ,CACF,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"fullyConnectedLayer.js","sourceRoot":"","sources":["../../src/common/fullyConnectedLayer.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAI5C,SAAgB,mBAAmB,CACjC,CAAc,EACd,MAAgB;IAEhB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAClB,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAC5B,MAAM,CAAC,IAAI,CACZ,CACF,CAAA;AACH,CAAC;AAVD,kDAUC"} \ No newline at end of file diff --git a/build/common/getModelUris.js b/build/common/getModelUris.js index f532647..c86016a 100644 --- a/build/common/getModelUris.js +++ b/build/common/getModelUris.js @@ -1,4 +1,7 @@ -export function getModelUris(uri, defaultModelName) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getModelUris = void 0; +function getModelUris(uri, defaultModelName) { const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`; if (!uri) { return { @@ -25,4 +28,5 @@ export function getModelUris(uri, defaultModelName) { manifestUri: modelBaseUri === '/' ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}` }; } +exports.getModelUris = getModelUris; //# sourceMappingURL=getModelUris.js.map \ No newline at end of file diff --git a/build/common/getModelUris.js.map b/build/common/getModelUris.js.map index c126833..c6f01f3 100644 --- a/build/common/getModelUris.js.map +++ b/build/common/getModelUris.js.map @@ -1 +1 @@ -{"version":3,"file":"getModelUris.js","sourceRoot":"","sources":["../../src/common/getModelUris.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,GAAuB,EAAE,gBAAwB;IAC5E,MAAM,uBAAuB,GAAG,GAAG,gBAAgB,wBAAwB,CAAA;IAE3E,IAAI,CAAC,GAAG,EAAE;QACR,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,uBAAuB;SACrC,CAAA;KACF;IAED,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,OAAO;YACL,YAAY,EAAE,GAAG;YACjB,WAAW,EAAE,IAAI,uBAAuB,EAAE;SAC3C,CAAA;KACF;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE3C,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,uBAAuB,CAAA;IAE3B,IAAI,YAAY,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1G,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAEtE,OAAO;QACL,YAAY;QACZ,WAAW,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE;KAC3F,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"getModelUris.js","sourceRoot":"","sources":["../../src/common/getModelUris.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,GAAuB,EAAE,gBAAwB;IAC5E,MAAM,uBAAuB,GAAG,GAAG,gBAAgB,wBAAwB,CAAA;IAE3E,IAAI,CAAC,GAAG,EAAE;QACR,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,uBAAuB;SACrC,CAAA;KACF;IAED,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,OAAO;YACL,YAAY,EAAE,GAAG;YACjB,WAAW,EAAE,IAAI,uBAAuB,EAAE;SAC3C,CAAA;KACF;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE3C,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,uBAAuB,CAAA;IAE3B,IAAI,YAAY,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1G,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAEtE,OAAO;QACL,YAAY;QACZ,WAAW,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE;KAC3F,CAAA;AACH,CAAC;AAhCD,oCAgCC"} \ No newline at end of file diff --git a/build/common/index.js b/build/common/index.js index fc1aa0f..d5d5780 100644 --- a/build/common/index.js +++ b/build/common/index.js @@ -1,11 +1,14 @@ -export * from './convLayer'; -export * from './depthwiseSeparableConv'; -export * from './disposeUnusedWeightTensors'; -export * from './extractConvParamsFactory'; -export * from './extractFCParamsFactory'; -export * from './extractSeparableConvParamsFactory'; -export * from './extractWeightEntryFactory'; -export * from './extractWeightsFactory'; -export * from './getModelUris'; -export * from './types'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./convLayer"), exports); +tslib_1.__exportStar(require("./depthwiseSeparableConv"), exports); +tslib_1.__exportStar(require("./disposeUnusedWeightTensors"), exports); +tslib_1.__exportStar(require("./extractConvParamsFactory"), exports); +tslib_1.__exportStar(require("./extractFCParamsFactory"), exports); +tslib_1.__exportStar(require("./extractSeparableConvParamsFactory"), exports); +tslib_1.__exportStar(require("./extractWeightEntryFactory"), exports); +tslib_1.__exportStar(require("./extractWeightsFactory"), exports); +tslib_1.__exportStar(require("./getModelUris"), exports); +tslib_1.__exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/common/index.js.map b/build/common/index.js.map index 88dbe26..eb4171e 100644 --- a/build/common/index.js.map +++ b/build/common/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qCAAqC,CAAA;AACnD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,mEAAwC;AACxC,uEAA4C;AAC5C,qEAA0C;AAC1C,mEAAwC;AACxC,8EAAmD;AACnD,sEAA2C;AAC3C,kEAAuC;AACvC,yDAA8B;AAC9B,kDAAuB"} \ No newline at end of file diff --git a/build/common/loadConvParamsFactory.js b/build/common/loadConvParamsFactory.js index 88f1b7a..0712637 100644 --- a/build/common/loadConvParamsFactory.js +++ b/build/common/loadConvParamsFactory.js @@ -1,8 +1,12 @@ -export function loadConvParamsFactory(extractWeightEntry) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.loadConvParamsFactory = void 0; +function loadConvParamsFactory(extractWeightEntry) { return function (prefix) { const filters = extractWeightEntry(`${prefix}/filters`, 4); const bias = extractWeightEntry(`${prefix}/bias`, 1); return { filters, bias }; }; } +exports.loadConvParamsFactory = loadConvParamsFactory; //# sourceMappingURL=loadConvParamsFactory.js.map \ No newline at end of file diff --git a/build/common/loadConvParamsFactory.js.map b/build/common/loadConvParamsFactory.js.map index 2207c63..6e53c83 100644 --- a/build/common/loadConvParamsFactory.js.map +++ b/build/common/loadConvParamsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"loadConvParamsFactory.js","sourceRoot":"","sources":["../../src/common/loadConvParamsFactory.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CAAC,kBAAqE;IACzG,OAAO,UAAS,MAAc;QAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QAEjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"loadConvParamsFactory.js","sourceRoot":"","sources":["../../src/common/loadConvParamsFactory.ts"],"names":[],"mappings":";;;AAIA,SAAgB,qBAAqB,CAAC,kBAAqE;IACzG,OAAO,UAAS,MAAc;QAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QAEjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC,CAAA;AACH,CAAC;AAPD,sDAOC"} \ No newline at end of file diff --git a/build/common/types.js b/build/common/types.js index b1cb624..98bb619 100644 --- a/build/common/types.js +++ b/build/common/types.js @@ -1,8 +1,12 @@ -export class SeparableConvParams { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SeparableConvParams = void 0; +class SeparableConvParams { constructor(depthwise_filter, pointwise_filter, bias) { this.depthwise_filter = depthwise_filter; this.pointwise_filter = pointwise_filter; this.bias = bias; } } +exports.SeparableConvParams = SeparableConvParams; //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/common/types.js.map b/build/common/types.js.map index 72e0e1f..b80887b 100644 --- a/build/common/types.js.map +++ b/build/common/types.js.map @@ -1 +1 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,mBAAmB;IAC9B,YACS,gBAA6B,EAC7B,gBAA6B,EAC7B,IAAiB;QAFjB,qBAAgB,GAAhB,gBAAgB,CAAa;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAa;QAC7B,SAAI,GAAJ,IAAI,CAAa;IACvB,CAAC;CACL"} \ No newline at end of file +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":";;;AAmBA,MAAa,mBAAmB;IAC9B,YACS,gBAA6B,EAC7B,gBAA6B,EAC7B,IAAiB;QAFjB,qBAAgB,GAAhB,gBAAgB,CAAa;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAa;QAC7B,SAAI,GAAJ,IAAI,CAAa;IACvB,CAAC;CACL;AAND,kDAMC"} \ No newline at end of file diff --git a/build/dom/NetInput.js b/build/dom/NetInput.js index a154818..2d9a0e4 100644 --- a/build/dom/NetInput.js +++ b/build/dom/NetInput.js @@ -1,10 +1,13 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { env } from '../env'; -import { padToSquare } from '../ops/padToSquare'; -import { computeReshapedDimensions, isTensor3D, isTensor4D, range } from '../utils'; -import { createCanvasFromMedia } from './createCanvas'; -import { imageToSquare } from './imageToSquare'; -export class NetInput { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NetInput = void 0; +const tf = require("@tensorflow/tfjs-core"); +const env_1 = require("../env"); +const padToSquare_1 = require("../ops/padToSquare"); +const utils_1 = require("../utils"); +const createCanvas_1 = require("./createCanvas"); +const imageToSquare_1 = require("./imageToSquare"); +class NetInput { constructor(inputs, treatAsBatchInput = false) { this._imageTensors = []; this._canvases = []; @@ -16,12 +19,12 @@ export class NetInput { this._treatAsBatchInput = treatAsBatchInput; this._batchSize = inputs.length; inputs.forEach((input, idx) => { - if (isTensor3D(input)) { + if (utils_1.isTensor3D(input)) { this._imageTensors[idx] = input; this._inputDimensions[idx] = input.shape; return; } - if (isTensor4D(input)) { + if (utils_1.isTensor4D(input)) { const batchSize = input.shape[0]; if (batchSize !== 1) { throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`); @@ -30,7 +33,7 @@ export class NetInput { this._inputDimensions[idx] = input.shape.slice(1); return; } - const canvas = input instanceof env.getEnv().Canvas ? input : createCanvasFromMedia(input); + const canvas = input instanceof env_1.env.getEnv().Canvas ? input : createCanvas_1.createCanvasFromMedia(input); this._canvases[idx] = canvas; this._inputDimensions[idx] = [canvas.height, canvas.width, 3]; }); @@ -54,7 +57,7 @@ export class NetInput { return this._inputSize; } get reshapedInputDimensions() { - return range(this.batchSize, 0, 1).map((_, batchIdx) => this.getReshapedInputDimensions(batchIdx)); + return utils_1.range(this.batchSize, 0, 1).map((_, batchIdx) => this.getReshapedInputDimensions(batchIdx)); } getInput(batchIdx) { return this.canvases[batchIdx] || this.imageTensors[batchIdx]; @@ -74,7 +77,7 @@ export class NetInput { } const width = this.getInputWidth(batchIdx); const height = this.getInputHeight(batchIdx); - return computeReshapedDimensions({ width, height }, this.inputSize); + return utils_1.computeReshapedDimensions({ width, height }, this.inputSize); } /** * Create a batch tensor from all input canvases and tensors @@ -88,20 +91,20 @@ export class NetInput { toBatchTensor(inputSize, isCenterInputs = true) { this._inputSize = inputSize; return tf.tidy(() => { - const inputTensors = range(this.batchSize, 0, 1).map(batchIdx => { + const inputTensors = utils_1.range(this.batchSize, 0, 1).map(batchIdx => { const input = this.getInput(batchIdx); if (input instanceof tf.Tensor) { // @ts-ignore: error TS2344: Type 'Rank.R4' does not satisfy the constraint 'Tensor'. - let imgTensor = isTensor4D(input) ? input : input.expandDims(); + let imgTensor = utils_1.isTensor4D(input) ? input : input.expandDims(); // @ts-ignore: error TS2344: Type 'Rank.R4' does not satisfy the constraint 'Tensor'. - imgTensor = padToSquare(imgTensor, isCenterInputs); + imgTensor = padToSquare_1.padToSquare(imgTensor, isCenterInputs); if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) { imgTensor = tf.image.resizeBilinear(imgTensor, [inputSize, inputSize]); } return imgTensor.as3D(inputSize, inputSize, 3); } - if (input instanceof env.getEnv().Canvas) { - return tf.browser.fromPixels(imageToSquare(input, inputSize, isCenterInputs)); + if (input instanceof env_1.env.getEnv().Canvas) { + return tf.browser.fromPixels(imageToSquare_1.imageToSquare(input, inputSize, isCenterInputs)); } throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`); }); @@ -110,4 +113,5 @@ export class NetInput { }); } } +exports.NetInput = NetInput; //# sourceMappingURL=NetInput.js.map \ No newline at end of file diff --git a/build/dom/NetInput.js.map b/build/dom/NetInput.js.map index 82d2a5b..a26003b 100644 --- a/build/dom/NetInput.js.map +++ b/build/dom/NetInput.js.map @@ -1 +1 @@ -{"version":3,"file":"NetInput.js","sourceRoot":"","sources":["../../src/dom/NetInput.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"NetInput.js","sourceRoot":"","sources":["../../src/dom/NetInput.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/dom/awaitMediaLoaded.js b/build/dom/awaitMediaLoaded.js index ce81493..8359f1e 100644 --- a/build/dom/awaitMediaLoaded.js +++ b/build/dom/awaitMediaLoaded.js @@ -1,8 +1,11 @@ -import { env } from '../env'; -import { isMediaLoaded } from './isMediaLoaded'; -export function awaitMediaLoaded(media) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.awaitMediaLoaded = void 0; +const env_1 = require("../env"); +const isMediaLoaded_1 = require("./isMediaLoaded"); +function awaitMediaLoaded(media) { return new Promise((resolve, reject) => { - if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) { + if (media instanceof env_1.env.getEnv().Canvas || isMediaLoaded_1.isMediaLoaded(media)) { return resolve(); } function onLoad(e) { @@ -23,4 +26,5 @@ export function awaitMediaLoaded(media) { media.addEventListener('error', onError); }); } +exports.awaitMediaLoaded = awaitMediaLoaded; //# sourceMappingURL=awaitMediaLoaded.js.map \ No newline at end of file diff --git a/build/dom/awaitMediaLoaded.js.map b/build/dom/awaitMediaLoaded.js.map index f2f9db6..4818652 100644 --- a/build/dom/awaitMediaLoaded.js.map +++ b/build/dom/awaitMediaLoaded.js.map @@ -1 +1 @@ -{"version":3,"file":"awaitMediaLoaded.js","sourceRoot":"","sources":["../../src/dom/awaitMediaLoaded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,gBAAgB,CAAC,KAA8D;IAE7F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YAChE,OAAO,OAAO,EAAE,CAAA;SACjB;QAED,SAAS,MAAM,CAAC,CAAQ;YACtB,IAAI,CAAC,CAAC,CAAC,aAAa;gBAAE,OAAM;YAC5B,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACrD,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC;QAED,SAAS,OAAO,CAAC,CAAQ;YACvB,IAAI,CAAC,CAAC,CAAC,aAAa;gBAAE,OAAM;YAC5B,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACrD,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACtC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"awaitMediaLoaded.js","sourceRoot":"","sources":["../../src/dom/awaitMediaLoaded.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAC7B,mDAAgD;AAEhD,SAAgB,gBAAgB,CAAC,KAA8D;IAE7F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,KAAK,YAAY,SAAG,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;YAChE,OAAO,OAAO,EAAE,CAAA;SACjB;QAED,SAAS,MAAM,CAAC,CAAQ;YACtB,IAAI,CAAC,CAAC,CAAC,aAAa;gBAAE,OAAM;YAC5B,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACrD,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC;QAED,SAAS,OAAO,CAAC,CAAQ;YACvB,IAAI,CAAC,CAAC,CAAC,aAAa;gBAAE,OAAM;YAC5B,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACrD,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACtC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC;AAxBD,4CAwBC"} \ No newline at end of file diff --git a/build/dom/bufferToImage.js b/build/dom/bufferToImage.js index 1395413..37974bf 100644 --- a/build/dom/bufferToImage.js +++ b/build/dom/bufferToImage.js @@ -1,5 +1,8 @@ -import { env } from '../env'; -export function bufferToImage(buf) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bufferToImage = void 0; +const env_1 = require("../env"); +function bufferToImage(buf) { return new Promise((resolve, reject) => { if (!(buf instanceof Blob)) { return reject('bufferToImage - expected buf to be of type: Blob'); @@ -9,7 +12,7 @@ export function bufferToImage(buf) { if (typeof reader.result !== 'string') { return reject('bufferToImage - expected reader.result to be a string, in onload'); } - const img = env.getEnv().createImageElement(); + const img = env_1.env.getEnv().createImageElement(); img.onload = () => resolve(img); img.onerror = reject; img.src = reader.result; @@ -18,4 +21,5 @@ export function bufferToImage(buf) { reader.readAsDataURL(buf); }); } +exports.bufferToImage = bufferToImage; //# sourceMappingURL=bufferToImage.js.map \ No newline at end of file diff --git a/build/dom/bufferToImage.js.map b/build/dom/bufferToImage.js.map index 61088f4..740d078 100644 --- a/build/dom/bufferToImage.js.map +++ b/build/dom/bufferToImage.js.map @@ -1 +1 @@ -{"version":3,"file":"bufferToImage.js","sourceRoot":"","sources":["../../src/dom/bufferToImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,UAAU,aAAa,CAAC,GAAS;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE;YAC1B,OAAO,MAAM,CAAC,kDAAkD,CAAC,CAAA;SAClE;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;QAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACrC,OAAO,MAAM,CAAC,kEAAkE,CAAC,CAAA;aAClF;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAA;YAC7C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC/B,GAAG,CAAC,OAAO,GAAG,MAAM,CAAA;YACpB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;QACzB,CAAC,CAAA;QACD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;QACvB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"bufferToImage.js","sourceRoot":"","sources":["../../src/dom/bufferToImage.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAE7B,SAAgB,aAAa,CAAC,GAAS;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE;YAC1B,OAAO,MAAM,CAAC,kDAAkD,CAAC,CAAA;SAClE;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;QAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACrC,OAAO,MAAM,CAAC,kEAAkE,CAAC,CAAA;aAClF;YAED,MAAM,GAAG,GAAG,SAAG,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAA;YAC7C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC/B,GAAG,CAAC,OAAO,GAAG,MAAM,CAAA;YACpB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;QACzB,CAAC,CAAA;QACD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;QACvB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC;AApBD,sCAoBC"} \ No newline at end of file diff --git a/build/dom/createCanvas.js b/build/dom/createCanvas.js index e656020..67bfd44 100644 --- a/build/dom/createCanvas.js +++ b/build/dom/createCanvas.js @@ -1,27 +1,32 @@ -import { env } from '../env'; -import { getContext2dOrThrow } from './getContext2dOrThrow'; -import { getMediaDimensions } from './getMediaDimensions'; -import { isMediaLoaded } from './isMediaLoaded'; -export function createCanvas({ width, height }) { - const { createCanvasElement } = env.getEnv(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createCanvasFromMedia = exports.createCanvas = void 0; +const env_1 = require("../env"); +const getContext2dOrThrow_1 = require("./getContext2dOrThrow"); +const getMediaDimensions_1 = require("./getMediaDimensions"); +const isMediaLoaded_1 = require("./isMediaLoaded"); +function createCanvas({ width, height }) { + const { createCanvasElement } = env_1.env.getEnv(); const canvas = createCanvasElement(); canvas.width = width; canvas.height = height; return canvas; } -export function createCanvasFromMedia(media, dims) { - const { ImageData } = env.getEnv(); - if (!(media instanceof ImageData) && !isMediaLoaded(media)) { +exports.createCanvas = createCanvas; +function createCanvasFromMedia(media, dims) { + const { ImageData } = env_1.env.getEnv(); + if (!(media instanceof ImageData) && !isMediaLoaded_1.isMediaLoaded(media)) { throw new Error('createCanvasFromMedia - media has not finished loading yet'); } - const { width, height } = dims || getMediaDimensions(media); + const { width, height } = dims || getMediaDimensions_1.getMediaDimensions(media); const canvas = createCanvas({ width, height }); if (media instanceof ImageData) { - getContext2dOrThrow(canvas).putImageData(media, 0, 0); + getContext2dOrThrow_1.getContext2dOrThrow(canvas).putImageData(media, 0, 0); } else { - getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height); + getContext2dOrThrow_1.getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height); } return canvas; } +exports.createCanvasFromMedia = createCanvasFromMedia; //# sourceMappingURL=createCanvas.js.map \ No newline at end of file diff --git a/build/dom/createCanvas.js.map b/build/dom/createCanvas.js.map index 0feea40..7c48e67 100644 --- a/build/dom/createCanvas.js.map +++ b/build/dom/createCanvas.js.map @@ -1 +1 @@ -{"version":3,"file":"createCanvas.js","sourceRoot":"","sources":["../../src/dom/createCanvas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAe;IAEzD,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAC5C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAsD,EAAE,IAAkB;IAE9G,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAElC,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;KAC9E;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAE9C,IAAI,KAAK,YAAY,SAAS,EAAE;QAC9B,mBAAmB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KACtD;SAAM;QACL,mBAAmB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAClE;IACD,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file +{"version":3,"file":"createCanvas.js","sourceRoot":"","sources":["../../src/dom/createCanvas.ts"],"names":[],"mappings":";;;AACA,gCAA6B;AAC7B,+DAA4D;AAC5D,6DAA0D;AAC1D,mDAAgD;AAEhD,SAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAe;IAEzD,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAC5C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,OAAO,MAAM,CAAA;AACf,CAAC;AAPD,oCAOC;AAED,SAAgB,qBAAqB,CAAC,KAAsD,EAAE,IAAkB;IAE9G,MAAM,EAAE,SAAS,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAElC,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,IAAI,CAAC,6BAAa,CAAC,KAAK,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;KAC9E;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAE9C,IAAI,KAAK,YAAY,SAAS,EAAE;QAC9B,yCAAmB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KACtD;SAAM;QACL,yCAAmB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAClE;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAjBD,sDAiBC"} \ No newline at end of file diff --git a/build/dom/extractFaceTensors.js b/build/dom/extractFaceTensors.js index 61e50e5..621598a 100644 --- a/build/dom/extractFaceTensors.js +++ b/build/dom/extractFaceTensors.js @@ -1,6 +1,9 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { FaceDetection } from '../classes/FaceDetection'; -import { isTensor3D, isTensor4D } from '../utils'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractFaceTensors = void 0; +const tf = require("@tensorflow/tfjs-core"); +const FaceDetection_1 = require("../classes/FaceDetection"); +const utils_1 = require("../utils"); /** * Extracts the tensors of the image regions containing the detected faces. * Useful if you want to compute the face descriptors for the face images. @@ -11,16 +14,16 @@ import { isTensor3D, isTensor4D } from '../utils'; * @param detections The face detection results or face bounding boxes for that image. * @returns Tensors of the corresponding image region for each detected face. */ -export async function extractFaceTensors(imageTensor, detections) { - if (!isTensor3D(imageTensor) && !isTensor4D(imageTensor)) { +async function extractFaceTensors(imageTensor, detections) { + if (!utils_1.isTensor3D(imageTensor) && !utils_1.isTensor4D(imageTensor)) { throw new Error('extractFaceTensors - expected image tensor to be 3D or 4D'); } - if (isTensor4D(imageTensor) && imageTensor.shape[0] > 1) { + if (utils_1.isTensor4D(imageTensor) && imageTensor.shape[0] > 1) { throw new Error('extractFaceTensors - batchSize > 1 not supported'); } return tf.tidy(() => { - const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(isTensor4D(imageTensor) ? 1 : 0); - const boxes = detections.map(det => det instanceof FaceDetection + const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(utils_1.isTensor4D(imageTensor) ? 1 : 0); + const boxes = detections.map(det => det instanceof FaceDetection_1.FaceDetection ? det.forSize(imgWidth, imgHeight).box : det) .map(box => box.clipAtImageBorders(imgWidth, imgHeight)); @@ -28,4 +31,5 @@ export async function extractFaceTensors(imageTensor, detections) { return faceTensors; }); } +exports.extractFaceTensors = extractFaceTensors; //# sourceMappingURL=extractFaceTensors.js.map \ No newline at end of file diff --git a/build/dom/extractFaceTensors.js.map b/build/dom/extractFaceTensors.js.map index df8d54d..30f4445 100644 --- a/build/dom/extractFaceTensors.js.map +++ b/build/dom/extractFaceTensors.js.map @@ -1 +1 @@ -{"version":3,"file":"extractFaceTensors.js","sourceRoot":"","sources":["../../src/dom/extractFaceTensors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAsC,EACtC,UAAuC;IAGvC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;KAC7E;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnG,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,aAAa;YACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG;YACtC,CAAC,CAAC,GAAG,CACR;aACE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;QAE1D,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CACxD,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CACxG,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"extractFaceTensors.js","sourceRoot":"","sources":["../../src/dom/extractFaceTensors.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAG5C,4DAAyD;AACzD,oCAAkD;AAElD;;;;;;;;;GASG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAsC,EACtC,UAAuC;IAGvC,IAAI,CAAC,kBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAU,CAAC,WAAW,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;KAC7E;IAED,IAAI,kBAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnG,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,6BAAa;YACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG;YACtC,CAAC,CAAC,GAAG,CACR;aACE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;QAE1D,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CACxD,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CACxG,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC;AA7BD,gDA6BC"} \ No newline at end of file diff --git a/build/dom/extractFaces.js b/build/dom/extractFaces.js index 818fd0a..def8ccf 100644 --- a/build/dom/extractFaces.js +++ b/build/dom/extractFaces.js @@ -1,9 +1,12 @@ -import { FaceDetection } from '../classes/FaceDetection'; -import { env } from '../env'; -import { createCanvas } from './createCanvas'; -import { getContext2dOrThrow } from './getContext2dOrThrow'; -import { imageTensorToCanvas } from './imageTensorToCanvas'; -import { toNetInput } from './toNetInput'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractFaces = void 0; +const FaceDetection_1 = require("../classes/FaceDetection"); +const env_1 = require("../env"); +const createCanvas_1 = require("./createCanvas"); +const getContext2dOrThrow_1 = require("./getContext2dOrThrow"); +const imageTensorToCanvas_1 = require("./imageTensorToCanvas"); +const toNetInput_1 = require("./toNetInput"); /** * Extracts the image regions containing the detected faces. * @@ -11,29 +14,30 @@ import { toNetInput } from './toNetInput'; * @param detections The face detection results or face bounding boxes for that image. * @returns The Canvases of the corresponding image region for each detected face. */ -export async function extractFaces(input, detections) { - const { Canvas } = env.getEnv(); +async function extractFaces(input, detections) { + const { Canvas } = env_1.env.getEnv(); let canvas = input; if (!(input instanceof Canvas)) { - const netInput = await toNetInput(input); + const netInput = await toNetInput_1.toNetInput(input); if (netInput.batchSize > 1) { throw new Error('extractFaces - batchSize > 1 not supported'); } const tensorOrCanvas = netInput.getInput(0); canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas - : await imageTensorToCanvas(tensorOrCanvas); + : await imageTensorToCanvas_1.imageTensorToCanvas(tensorOrCanvas); } - const ctx = getContext2dOrThrow(canvas); - const boxes = detections.map(det => det instanceof FaceDetection + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvas); + const boxes = detections.map(det => det instanceof FaceDetection_1.FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det) .map(box => box.clipAtImageBorders(canvas.width, canvas.height)); return boxes.map(({ x, y, width, height }) => { - const faceImg = createCanvas({ width, height }); - getContext2dOrThrow(faceImg) + const faceImg = createCanvas_1.createCanvas({ width, height }); + getContext2dOrThrow_1.getContext2dOrThrow(faceImg) .putImageData(ctx.getImageData(x, y, width, height), 0, 0); return faceImg; }); } +exports.extractFaces = extractFaces; //# sourceMappingURL=extractFaces.js.map \ No newline at end of file diff --git a/build/dom/extractFaces.js.map b/build/dom/extractFaces.js.map index a32ace6..492512d 100644 --- a/build/dom/extractFaces.js.map +++ b/build/dom/extractFaces.js.map @@ -1 +1 @@ -{"version":3,"file":"extractFaces.js","sourceRoot":"","sources":["../../src/dom/extractFaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAgB,EAChB,UAAuC;IAGvC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAE/B,IAAI,MAAM,GAAG,KAA0B,CAAA;IAEvC,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE;QAC9B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;QAExC,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,GAAG,cAAc,YAAY,MAAM;YACvC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAA;KAC9C;IAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,aAAa;QACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;QACtD,CAAC,CAAC,GAAG,CACR;SACE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAElE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/C,mBAAmB,CAAC,OAAO,CAAC;aACzB,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"extractFaces.js","sourceRoot":"","sources":["../../src/dom/extractFaces.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AAEzD,gCAA6B;AAC7B,iDAA8C;AAC9C,+DAA4D;AAC5D,+DAA4D;AAC5D,6CAA0C;AAG1C;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAChC,KAAgB,EAChB,UAAuC;IAGvC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAE/B,IAAI,MAAM,GAAG,KAA0B,CAAA;IAEvC,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE;QAC9B,MAAM,QAAQ,GAAG,MAAM,uBAAU,CAAC,KAAK,CAAC,CAAA;QAExC,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,GAAG,cAAc,YAAY,MAAM;YACvC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,yCAAmB,CAAC,cAAc,CAAC,CAAA;KAC9C;IAED,MAAM,GAAG,GAAG,yCAAmB,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,6BAAa;QACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;QACtD,CAAC,CAAC,GAAG,CACR;SACE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAElE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,2BAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/C,yCAAmB,CAAC,OAAO,CAAC;aACzB,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AApCD,oCAoCC"} \ No newline at end of file diff --git a/build/dom/fetchImage.js b/build/dom/fetchImage.js index 5caac3a..324b3af 100644 --- a/build/dom/fetchImage.js +++ b/build/dom/fetchImage.js @@ -1,11 +1,15 @@ -import { bufferToImage } from './bufferToImage'; -import { fetchOrThrow } from './fetchOrThrow'; -export async function fetchImage(uri) { - const res = await fetchOrThrow(uri); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fetchImage = void 0; +const bufferToImage_1 = require("./bufferToImage"); +const fetchOrThrow_1 = require("./fetchOrThrow"); +async function fetchImage(uri) { + const res = await fetchOrThrow_1.fetchOrThrow(uri); const blob = await (res).blob(); if (!blob.type.startsWith('image/')) { throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`); } - return bufferToImage(blob); + return bufferToImage_1.bufferToImage(blob); } +exports.fetchImage = fetchImage; //# sourceMappingURL=fetchImage.js.map \ No newline at end of file diff --git a/build/dom/fetchImage.js.map b/build/dom/fetchImage.js.map index d0cc64f..3a1aa9a 100644 --- a/build/dom/fetchImage.js.map +++ b/build/dom/fetchImage.js.map @@ -1 +1 @@ -{"version":3,"file":"fetchImage.js","sourceRoot":"","sources":["../../src/dom/fetchImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,wEAAwE,IAAI,CAAC,IAAI,cAAc,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;KAC1H;IACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC"} \ No newline at end of file +{"version":3,"file":"fetchImage.js","sourceRoot":"","sources":["../../src/dom/fetchImage.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,iDAA8C;AAEvC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,GAAG,GAAG,MAAM,2BAAY,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,wEAAwE,IAAI,CAAC,IAAI,cAAc,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;KAC1H;IACD,OAAO,6BAAa,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AARD,gCAQC"} \ No newline at end of file diff --git a/build/dom/fetchJson.js b/build/dom/fetchJson.js index 215338b..2cbc3be 100644 --- a/build/dom/fetchJson.js +++ b/build/dom/fetchJson.js @@ -1,5 +1,9 @@ -import { fetchOrThrow } from './fetchOrThrow'; -export async function fetchJson(uri) { - return (await fetchOrThrow(uri)).json(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fetchJson = void 0; +const fetchOrThrow_1 = require("./fetchOrThrow"); +async function fetchJson(uri) { + return (await fetchOrThrow_1.fetchOrThrow(uri)).json(); } +exports.fetchJson = fetchJson; //# sourceMappingURL=fetchJson.js.map \ No newline at end of file diff --git a/build/dom/fetchJson.js.map b/build/dom/fetchJson.js.map index 6bf9837..c0ad825 100644 --- a/build/dom/fetchJson.js.map +++ b/build/dom/fetchJson.js.map @@ -1 +1 @@ -{"version":3,"file":"fetchJson.js","sourceRoot":"","sources":["../../src/dom/fetchJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,GAAW;IAC5C,OAAO,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACzC,CAAC"} \ No newline at end of file +{"version":3,"file":"fetchJson.js","sourceRoot":"","sources":["../../src/dom/fetchJson.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAEvC,KAAK,UAAU,SAAS,CAAI,GAAW;IAC5C,OAAO,CAAC,MAAM,2BAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACzC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/build/dom/fetchNetWeights.js b/build/dom/fetchNetWeights.js index a1bf5ee..f40d088 100644 --- a/build/dom/fetchNetWeights.js +++ b/build/dom/fetchNetWeights.js @@ -1,5 +1,9 @@ -import { fetchOrThrow } from './fetchOrThrow'; -export async function fetchNetWeights(uri) { - return new Float32Array(await (await fetchOrThrow(uri)).arrayBuffer()); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fetchNetWeights = void 0; +const fetchOrThrow_1 = require("./fetchOrThrow"); +async function fetchNetWeights(uri) { + return new Float32Array(await (await fetchOrThrow_1.fetchOrThrow(uri)).arrayBuffer()); } +exports.fetchNetWeights = fetchNetWeights; //# sourceMappingURL=fetchNetWeights.js.map \ No newline at end of file diff --git a/build/dom/fetchNetWeights.js.map b/build/dom/fetchNetWeights.js.map index 54c9b42..eddb1ac 100644 --- a/build/dom/fetchNetWeights.js.map +++ b/build/dom/fetchNetWeights.js.map @@ -1 +1 @@ -{"version":3,"file":"fetchNetWeights.js","sourceRoot":"","sources":["../../src/dom/fetchNetWeights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AACxE,CAAC"} \ No newline at end of file +{"version":3,"file":"fetchNetWeights.js","sourceRoot":"","sources":["../../src/dom/fetchNetWeights.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAEvC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,2BAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AACxE,CAAC;AAFD,0CAEC"} \ No newline at end of file diff --git a/build/dom/fetchOrThrow.js b/build/dom/fetchOrThrow.js index f00015b..a5073d7 100644 --- a/build/dom/fetchOrThrow.js +++ b/build/dom/fetchOrThrow.js @@ -1,10 +1,14 @@ -import { env } from '../env'; -export async function fetchOrThrow(url, init) { - const fetch = env.getEnv().fetch; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fetchOrThrow = void 0; +const env_1 = require("../env"); +async function fetchOrThrow(url, init) { + const fetch = env_1.env.getEnv().fetch; const res = await fetch(url, init); if (!(res.status < 400)) { throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`); } return res; } +exports.fetchOrThrow = fetchOrThrow; //# sourceMappingURL=fetchOrThrow.js.map \ No newline at end of file diff --git a/build/dom/fetchOrThrow.js.map b/build/dom/fetchOrThrow.js.map index 555f1d1..ab41e42 100644 --- a/build/dom/fetchOrThrow.js.map +++ b/build/dom/fetchOrThrow.js.map @@ -1 +1 @@ -{"version":3,"file":"fetchOrThrow.js","sourceRoot":"","sources":["../../src/dom/fetchOrThrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,IAAkB;IAGlB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAA;IAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;KAC5F;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"fetchOrThrow.js","sourceRoot":"","sources":["../../src/dom/fetchOrThrow.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAEtB,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,IAAkB;IAGlB,MAAM,KAAK,GAAG,SAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAA;IAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;KAC5F;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAXD,oCAWC"} \ No newline at end of file diff --git a/build/dom/getContext2dOrThrow.js b/build/dom/getContext2dOrThrow.js index c7b04f6..5cc81ce 100644 --- a/build/dom/getContext2dOrThrow.js +++ b/build/dom/getContext2dOrThrow.js @@ -1,11 +1,14 @@ -import { env } from '../env'; -import { resolveInput } from './resolveInput'; -export function getContext2dOrThrow(canvasArg) { - const { Canvas, CanvasRenderingContext2D } = env.getEnv(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getContext2dOrThrow = void 0; +const env_1 = require("../env"); +const resolveInput_1 = require("./resolveInput"); +function getContext2dOrThrow(canvasArg) { + const { Canvas, CanvasRenderingContext2D } = env_1.env.getEnv(); if (canvasArg instanceof CanvasRenderingContext2D) { return canvasArg; } - const canvas = resolveInput(canvasArg); + const canvas = resolveInput_1.resolveInput(canvasArg); if (!(canvas instanceof Canvas)) { throw new Error('resolveContext2d - expected canvas to be of instance of Canvas'); } @@ -15,4 +18,5 @@ export function getContext2dOrThrow(canvasArg) { } return ctx; } +exports.getContext2dOrThrow = getContext2dOrThrow; //# sourceMappingURL=getContext2dOrThrow.js.map \ No newline at end of file diff --git a/build/dom/getContext2dOrThrow.js.map b/build/dom/getContext2dOrThrow.js.map index b05eaab..c7539a3 100644 --- a/build/dom/getContext2dOrThrow.js.map +++ b/build/dom/getContext2dOrThrow.js.map @@ -1 +1 @@ -{"version":3,"file":"getContext2dOrThrow.js","sourceRoot":"","sources":["../../src/dom/getContext2dOrThrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,mBAAmB,CAAC,SAAgE;IAElG,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAEzD,IAAI,SAAS,YAAY,wBAAwB,EAAE;QACjD,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IAEtC,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"getContext2dOrThrow.js","sourceRoot":"","sources":["../../src/dom/getContext2dOrThrow.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAC7B,iDAA8C;AAE9C,SAAgB,mBAAmB,CAAC,SAAgE;IAElG,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAEzD,IAAI,SAAS,YAAY,wBAAwB,EAAE;QACjD,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,MAAM,GAAG,2BAAY,CAAC,SAAS,CAAC,CAAA;IAEtC,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AApBD,kDAoBC"} \ No newline at end of file diff --git a/build/dom/getMediaDimensions.js b/build/dom/getMediaDimensions.js index fb8def5..a946205 100644 --- a/build/dom/getMediaDimensions.js +++ b/build/dom/getMediaDimensions.js @@ -1,13 +1,17 @@ -import { Dimensions } from '../classes/Dimensions'; -import { env } from '../env'; -export function getMediaDimensions(input) { - const { Image, Video } = env.getEnv(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getMediaDimensions = void 0; +const Dimensions_1 = require("../classes/Dimensions"); +const env_1 = require("../env"); +function getMediaDimensions(input) { + const { Image, Video } = env_1.env.getEnv(); if (input instanceof Image) { - return new Dimensions(input.naturalWidth, input.naturalHeight); + return new Dimensions_1.Dimensions(input.naturalWidth, input.naturalHeight); } if (input instanceof Video) { - return new Dimensions(input.videoWidth, input.videoHeight); + return new Dimensions_1.Dimensions(input.videoWidth, input.videoHeight); } - return new Dimensions(input.width, input.height); + return new Dimensions_1.Dimensions(input.width, input.height); } +exports.getMediaDimensions = getMediaDimensions; //# sourceMappingURL=getMediaDimensions.js.map \ No newline at end of file diff --git a/build/dom/getMediaDimensions.js.map b/build/dom/getMediaDimensions.js.map index 6b87098..04ac29d 100644 --- a/build/dom/getMediaDimensions.js.map +++ b/build/dom/getMediaDimensions.js.map @@ -1 +1 @@ -{"version":3,"file":"getMediaDimensions.js","sourceRoot":"","sources":["../../src/dom/getMediaDimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,UAAU,kBAAkB,CAAC,KAA4E;IAE7G,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAErC,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;KAC/D;IACD,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAC3D;IACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;AAClD,CAAC"} \ No newline at end of file +{"version":3,"file":"getMediaDimensions.js","sourceRoot":"","sources":["../../src/dom/getMediaDimensions.ts"],"names":[],"mappings":";;;AAAA,sDAAgE;AAChE,gCAA6B;AAE7B,SAAgB,kBAAkB,CAAC,KAA4E;IAE7G,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAErC,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,IAAI,uBAAU,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;KAC/D;IACD,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,IAAI,uBAAU,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;KAC3D;IACD,OAAO,IAAI,uBAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;AAClD,CAAC;AAXD,gDAWC"} \ No newline at end of file diff --git a/build/dom/imageTensorToCanvas.js b/build/dom/imageTensorToCanvas.js index 9725276..279ae92 100644 --- a/build/dom/imageTensorToCanvas.js +++ b/build/dom/imageTensorToCanvas.js @@ -1,12 +1,16 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { env } from '../env'; -import { isTensor4D } from '../utils'; -export async function imageTensorToCanvas(imgTensor, canvas) { - const targetCanvas = canvas || env.getEnv().createCanvasElement(); - const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.imageTensorToCanvas = void 0; +const tf = require("@tensorflow/tfjs-core"); +const env_1 = require("../env"); +const utils_1 = require("../utils"); +async function imageTensorToCanvas(imgTensor, canvas) { + const targetCanvas = canvas || env_1.env.getEnv().createCanvasElement(); + const [height, width, numChannels] = imgTensor.shape.slice(utils_1.isTensor4D(imgTensor) ? 1 : 0); const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt()); await tf.browser.toPixels(imgTensor3D, targetCanvas); imgTensor3D.dispose(); return targetCanvas; } +exports.imageTensorToCanvas = imageTensorToCanvas; //# sourceMappingURL=imageTensorToCanvas.js.map \ No newline at end of file diff --git a/build/dom/imageTensorToCanvas.js.map b/build/dom/imageTensorToCanvas.js.map index 4628ee2..1867393 100644 --- a/build/dom/imageTensorToCanvas.js.map +++ b/build/dom/imageTensorToCanvas.js.map @@ -1 +1 @@ -{"version":3,"file":"imageTensorToCanvas.js","sourceRoot":"","sources":["../../src/dom/imageTensorToCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAoB,EACpB,MAA0B;IAG1B,MAAM,YAAY,GAAG,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,mBAAmB,EAAE,CAAA;IAEjE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACrF,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAEpD,WAAW,CAAC,OAAO,EAAE,CAAA;IAErB,OAAO,YAAY,CAAA;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"imageTensorToCanvas.js","sourceRoot":"","sources":["../../src/dom/imageTensorToCanvas.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,gCAA6B;AAC7B,oCAAsC;AAE/B,KAAK,UAAU,mBAAmB,CACvC,SAAoB,EACpB,MAA0B;IAG1B,MAAM,YAAY,GAAG,MAAM,IAAI,SAAG,CAAC,MAAM,EAAE,CAAC,mBAAmB,EAAE,CAAA;IAEjE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACrF,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAEpD,WAAW,CAAC,OAAO,EAAE,CAAA;IAErB,OAAO,YAAY,CAAA;AACrB,CAAC;AAdD,kDAcC"} \ No newline at end of file diff --git a/build/dom/imageToSquare.js b/build/dom/imageToSquare.js index 79cdf2b..5c90842 100644 --- a/build/dom/imageToSquare.js +++ b/build/dom/imageToSquare.js @@ -1,22 +1,26 @@ -import { env } from '../env'; -import { createCanvas, createCanvasFromMedia } from './createCanvas'; -import { getContext2dOrThrow } from './getContext2dOrThrow'; -import { getMediaDimensions } from './getMediaDimensions'; -export function imageToSquare(input, inputSize, centerImage = false) { - const { Image, Canvas } = env.getEnv(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.imageToSquare = void 0; +const env_1 = require("../env"); +const createCanvas_1 = require("./createCanvas"); +const getContext2dOrThrow_1 = require("./getContext2dOrThrow"); +const getMediaDimensions_1 = require("./getMediaDimensions"); +function imageToSquare(input, inputSize, centerImage = false) { + const { Image, Canvas } = env_1.env.getEnv(); if (!(input instanceof Image || input instanceof Canvas)) { throw new Error('imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement'); } - const dims = getMediaDimensions(input); + const dims = getMediaDimensions_1.getMediaDimensions(input); const scale = inputSize / Math.max(dims.height, dims.width); const width = scale * dims.width; const height = scale * dims.height; - const targetCanvas = createCanvas({ width: inputSize, height: inputSize }); - const inputCanvas = input instanceof Canvas ? input : createCanvasFromMedia(input); + const targetCanvas = createCanvas_1.createCanvas({ width: inputSize, height: inputSize }); + const inputCanvas = input instanceof Canvas ? input : createCanvas_1.createCanvasFromMedia(input); const offset = Math.abs(width - height) / 2; const dx = centerImage && width < height ? offset : 0; const dy = centerImage && height < width ? offset : 0; - getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height); + getContext2dOrThrow_1.getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height); return targetCanvas; } +exports.imageToSquare = imageToSquare; //# sourceMappingURL=imageToSquare.js.map \ No newline at end of file diff --git a/build/dom/imageToSquare.js.map b/build/dom/imageToSquare.js.map index 3fe3b95..7c55f62 100644 --- a/build/dom/imageToSquare.js.map +++ b/build/dom/imageToSquare.js.map @@ -1 +1 @@ -{"version":3,"file":"imageToSquare.js","sourceRoot":"","sources":["../../src/dom/imageToSquare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,KAA2C,EAAE,SAAiB,EAAE,cAAuB,KAAK;IAExH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAEtC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,YAAY,MAAM,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;KAC5F;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAChC,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;IAElC,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1E,MAAM,WAAW,GAAG,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAElF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,EAAE,GAAG,WAAW,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,WAAW,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,mBAAmB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE/E,OAAO,YAAY,CAAA;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"imageToSquare.js","sourceRoot":"","sources":["../../src/dom/imageToSquare.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAC7B,iDAAqE;AACrE,+DAA4D;AAC5D,6DAA0D;AAE1D,SAAgB,aAAa,CAAC,KAA2C,EAAE,SAAiB,EAAE,cAAuB,KAAK;IAExH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAEtC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,YAAY,MAAM,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;KAC5F;IAED,MAAM,IAAI,GAAG,uCAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAChC,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;IAElC,MAAM,YAAY,GAAG,2BAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1E,MAAM,WAAW,GAAG,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAqB,CAAC,KAAK,CAAC,CAAA;IAElF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,EAAE,GAAG,WAAW,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,WAAW,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,yCAAmB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE/E,OAAO,YAAY,CAAA;AACrB,CAAC;AAtBD,sCAsBC"} \ No newline at end of file diff --git a/build/dom/index.js b/build/dom/index.js index 4ba64a7..469225c 100644 --- a/build/dom/index.js +++ b/build/dom/index.js @@ -1,22 +1,25 @@ -export * from './awaitMediaLoaded'; -export * from './bufferToImage'; -export * from './createCanvas'; -export * from './extractFaces'; -export * from './extractFaceTensors'; -export * from './fetchImage'; -export * from './fetchJson'; -export * from './fetchNetWeights'; -export * from './fetchOrThrow'; -export * from './getContext2dOrThrow'; -export * from './getMediaDimensions'; -export * from './imageTensorToCanvas'; -export * from './imageToSquare'; -export * from './isMediaElement'; -export * from './isMediaLoaded'; -export * from './loadWeightMap'; -export * from './matchDimensions'; -export * from './NetInput'; -export * from './resolveInput'; -export * from './toNetInput'; -export * from './types'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./awaitMediaLoaded"), exports); +tslib_1.__exportStar(require("./bufferToImage"), exports); +tslib_1.__exportStar(require("./createCanvas"), exports); +tslib_1.__exportStar(require("./extractFaces"), exports); +tslib_1.__exportStar(require("./extractFaceTensors"), exports); +tslib_1.__exportStar(require("./fetchImage"), exports); +tslib_1.__exportStar(require("./fetchJson"), exports); +tslib_1.__exportStar(require("./fetchNetWeights"), exports); +tslib_1.__exportStar(require("./fetchOrThrow"), exports); +tslib_1.__exportStar(require("./getContext2dOrThrow"), exports); +tslib_1.__exportStar(require("./getMediaDimensions"), exports); +tslib_1.__exportStar(require("./imageTensorToCanvas"), exports); +tslib_1.__exportStar(require("./imageToSquare"), exports); +tslib_1.__exportStar(require("./isMediaElement"), exports); +tslib_1.__exportStar(require("./isMediaLoaded"), exports); +tslib_1.__exportStar(require("./loadWeightMap"), exports); +tslib_1.__exportStar(require("./matchDimensions"), exports); +tslib_1.__exportStar(require("./NetInput"), exports); +tslib_1.__exportStar(require("./resolveInput"), exports); +tslib_1.__exportStar(require("./toNetInput"), exports); +tslib_1.__exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/dom/index.js.map b/build/dom/index.js.map index 8e7927e..c83d0ad 100644 --- a/build/dom/index.js.map +++ b/build/dom/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,0DAA+B;AAC/B,yDAA8B;AAC9B,yDAA8B;AAC9B,+DAAoC;AACpC,uDAA4B;AAC5B,sDAA2B;AAC3B,4DAAiC;AACjC,yDAA8B;AAC9B,gEAAqC;AACrC,+DAAoC;AACpC,gEAAqC;AACrC,0DAA+B;AAC/B,2DAAgC;AAChC,0DAA+B;AAC/B,0DAA+B;AAC/B,4DAAiC;AACjC,qDAA0B;AAC1B,yDAA8B;AAC9B,uDAA4B;AAC5B,kDAAuB"} \ No newline at end of file diff --git a/build/dom/isMediaElement.js b/build/dom/isMediaElement.js index f0305c0..65a55d9 100644 --- a/build/dom/isMediaElement.js +++ b/build/dom/isMediaElement.js @@ -1,8 +1,12 @@ -import { env } from '../env'; -export function isMediaElement(input) { - const { Image, Canvas, Video } = env.getEnv(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMediaElement = void 0; +const env_1 = require("../env"); +function isMediaElement(input) { + const { Image, Canvas, Video } = env_1.env.getEnv(); return input instanceof Image || input instanceof Canvas || input instanceof Video; } +exports.isMediaElement = isMediaElement; //# sourceMappingURL=isMediaElement.js.map \ No newline at end of file diff --git a/build/dom/isMediaElement.js.map b/build/dom/isMediaElement.js.map index 47c5138..a0e6926 100644 --- a/build/dom/isMediaElement.js.map +++ b/build/dom/isMediaElement.js.map @@ -1 +1 @@ -{"version":3,"file":"isMediaElement.js","sourceRoot":"","sources":["../../src/dom/isMediaElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,UAAU,cAAc,CAAC,KAAU;IAEvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAE7C,OAAO,KAAK,YAAY,KAAK;WACxB,KAAK,YAAY,MAAM;WACvB,KAAK,YAAY,KAAK,CAAA;AAC7B,CAAC"} \ No newline at end of file +{"version":3,"file":"isMediaElement.js","sourceRoot":"","sources":["../../src/dom/isMediaElement.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAE7B,SAAgB,cAAc,CAAC,KAAU;IAEvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAE7C,OAAO,KAAK,YAAY,KAAK;WACxB,KAAK,YAAY,MAAM;WACvB,KAAK,YAAY,KAAK,CAAA;AAC7B,CAAC;AAPD,wCAOC"} \ No newline at end of file diff --git a/build/dom/isMediaLoaded.js b/build/dom/isMediaLoaded.js index 266a8e9..2316ca1 100644 --- a/build/dom/isMediaLoaded.js +++ b/build/dom/isMediaLoaded.js @@ -1,7 +1,11 @@ -import { env } from '../env'; -export function isMediaLoaded(media) { - const { Image, Video } = env.getEnv(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMediaLoaded = void 0; +const env_1 = require("../env"); +function isMediaLoaded(media) { + const { Image, Video } = env_1.env.getEnv(); return (media instanceof Image && media.complete) || (media instanceof Video && media.readyState >= 3); } +exports.isMediaLoaded = isMediaLoaded; //# sourceMappingURL=isMediaLoaded.js.map \ No newline at end of file diff --git a/build/dom/isMediaLoaded.js.map b/build/dom/isMediaLoaded.js.map index 1efee53..4dc98c7 100644 --- a/build/dom/isMediaLoaded.js.map +++ b/build/dom/isMediaLoaded.js.map @@ -1 +1 @@ -{"version":3,"file":"isMediaLoaded.js","sourceRoot":"","sources":["../../src/dom/isMediaLoaded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,UAAU,aAAa,CAAC,KAA0C;IAEtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;IAErC,OAAO,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC;WAC5C,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA;AACxD,CAAC"} \ No newline at end of file +{"version":3,"file":"isMediaLoaded.js","sourceRoot":"","sources":["../../src/dom/isMediaLoaded.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAE7B,SAAgB,aAAa,CAAC,KAA0C;IAEtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAG,CAAC,MAAM,EAAE,CAAA;IAErC,OAAO,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC;WAC5C,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA;AACxD,CAAC;AAND,sCAMC"} \ No newline at end of file diff --git a/build/dom/loadWeightMap.js b/build/dom/loadWeightMap.js index 4791577..ee5a55f 100644 --- a/build/dom/loadWeightMap.js +++ b/build/dom/loadWeightMap.js @@ -1,9 +1,13 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { getModelUris } from '../common/getModelUris'; -import { fetchJson } from './fetchJson'; -export async function loadWeightMap(uri, defaultModelName) { - const { manifestUri, modelBaseUri } = getModelUris(uri, defaultModelName); - const manifest = await fetchJson(manifestUri); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.loadWeightMap = void 0; +const tf = require("@tensorflow/tfjs-core"); +const getModelUris_1 = require("../common/getModelUris"); +const fetchJson_1 = require("./fetchJson"); +async function loadWeightMap(uri, defaultModelName) { + const { manifestUri, modelBaseUri } = getModelUris_1.getModelUris(uri, defaultModelName); + const manifest = await fetchJson_1.fetchJson(manifestUri); return tf.io.loadWeights(manifest, modelBaseUri); } +exports.loadWeightMap = loadWeightMap; //# sourceMappingURL=loadWeightMap.js.map \ No newline at end of file diff --git a/build/dom/loadWeightMap.js.map b/build/dom/loadWeightMap.js.map index 1ab9647..0493b9a 100644 --- a/build/dom/loadWeightMap.js.map +++ b/build/dom/loadWeightMap.js.map @@ -1 +1 @@ -{"version":3,"file":"loadWeightMap.js","sourceRoot":"","sources":["../../src/dom/loadWeightMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAuB,EACvB,gBAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAEzE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAA8B,WAAW,CAAC,CAAA;IAE1E,OAAO,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAClD,CAAC"} \ No newline at end of file +{"version":3,"file":"loadWeightMap.js","sourceRoot":"","sources":["../../src/dom/loadWeightMap.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,yDAAsD;AACtD,2CAAwC;AAEjC,KAAK,UAAU,aAAa,CACjC,GAAuB,EACvB,gBAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,2BAAY,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAEzE,MAAM,QAAQ,GAAG,MAAM,qBAAS,CAA8B,WAAW,CAAC,CAAA;IAE1E,OAAO,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAClD,CAAC;AATD,sCASC"} \ No newline at end of file diff --git a/build/dom/matchDimensions.js b/build/dom/matchDimensions.js index aa32108..719b72f 100644 --- a/build/dom/matchDimensions.js +++ b/build/dom/matchDimensions.js @@ -1,10 +1,14 @@ -import { getMediaDimensions } from './getMediaDimensions'; -export function matchDimensions(input, reference, useMediaDimensions = false) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.matchDimensions = void 0; +const getMediaDimensions_1 = require("./getMediaDimensions"); +function matchDimensions(input, reference, useMediaDimensions = false) { const { width, height } = useMediaDimensions - ? getMediaDimensions(reference) + ? getMediaDimensions_1.getMediaDimensions(reference) : reference; input.width = width; input.height = height; return { width, height }; } +exports.matchDimensions = matchDimensions; //# sourceMappingURL=matchDimensions.js.map \ No newline at end of file diff --git a/build/dom/matchDimensions.js.map b/build/dom/matchDimensions.js.map index 5ffc284..548a773 100644 --- a/build/dom/matchDimensions.js.map +++ b/build/dom/matchDimensions.js.map @@ -1 +1 @@ -{"version":3,"file":"matchDimensions.js","sourceRoot":"","sources":["../../src/dom/matchDimensions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,SAAsB,EAAE,qBAA8B,KAAK;IAC7G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB;QAC1C,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAA;IACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"matchDimensions.js","sourceRoot":"","sources":["../../src/dom/matchDimensions.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D,SAAgB,eAAe,CAAC,KAAkB,EAAE,SAAsB,EAAE,qBAA8B,KAAK;IAC7G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB;QAC1C,CAAC,CAAC,uCAAkB,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAA;IACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC1B,CAAC;AAPD,0CAOC"} \ No newline at end of file diff --git a/build/dom/resolveInput.js b/build/dom/resolveInput.js index 37b844d..19bdb14 100644 --- a/build/dom/resolveInput.js +++ b/build/dom/resolveInput.js @@ -1,8 +1,12 @@ -import { env } from '../env'; -export function resolveInput(arg) { - if (!env.isNodejs() && typeof arg === 'string') { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resolveInput = void 0; +const env_1 = require("../env"); +function resolveInput(arg) { + if (!env_1.env.isNodejs() && typeof arg === 'string') { return document.getElementById(arg); } return arg; } +exports.resolveInput = resolveInput; //# sourceMappingURL=resolveInput.js.map \ No newline at end of file diff --git a/build/dom/resolveInput.js.map b/build/dom/resolveInput.js.map index 2638891..c37930e 100644 --- a/build/dom/resolveInput.js.map +++ b/build/dom/resolveInput.js.map @@ -1 +1 @@ -{"version":3,"file":"resolveInput.js","sourceRoot":"","sources":["../../src/dom/resolveInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC9C,OAAO,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;KACpC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"resolveInput.js","sourceRoot":"","sources":["../../src/dom/resolveInput.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAE7B,SAAgB,YAAY,CAAC,GAAiB;IAC5C,IAAI,CAAC,SAAG,CAAC,QAAQ,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC9C,OAAO,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;KACpC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AALD,oCAKC"} \ No newline at end of file diff --git a/build/dom/toNetInput.js b/build/dom/toNetInput.js index e96792b..4981509 100644 --- a/build/dom/toNetInput.js +++ b/build/dom/toNetInput.js @@ -1,8 +1,11 @@ -import { isTensor3D, isTensor4D } from '../utils'; -import { awaitMediaLoaded } from './awaitMediaLoaded'; -import { isMediaElement } from './isMediaElement'; -import { NetInput } from './NetInput'; -import { resolveInput } from './resolveInput'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toNetInput = void 0; +const utils_1 = require("../utils"); +const awaitMediaLoaded_1 = require("./awaitMediaLoaded"); +const isMediaElement_1 = require("./isMediaElement"); +const NetInput_1 = require("./NetInput"); +const resolveInput_1 = require("./resolveInput"); /** * Validates the input to make sure, they are valid net inputs and awaits all media elements * to be finished loading. @@ -10,8 +13,8 @@ import { resolveInput } from './resolveInput'; * @param input The input, which can be a media element or an array of different media elements. * @returns A NetInput instance, which can be passed into one of the neural networks. */ -export async function toNetInput(inputs) { - if (inputs instanceof NetInput) { +async function toNetInput(inputs) { + if (inputs instanceof NetInput_1.NetInput) { return inputs; } let inputArgArray = Array.isArray(inputs) @@ -21,15 +24,15 @@ export async function toNetInput(inputs) { throw new Error('toNetInput - empty array passed as input'); } const getIdxHint = (idx) => Array.isArray(inputs) ? ` at input index ${idx}:` : ''; - const inputArray = inputArgArray.map(resolveInput); + const inputArray = inputArgArray.map(resolveInput_1.resolveInput); inputArray.forEach((input, i) => { - if (!isMediaElement(input) && !isTensor3D(input) && !isTensor4D(input)) { + if (!isMediaElement_1.isMediaElement(input) && !utils_1.isTensor3D(input) && !utils_1.isTensor4D(input)) { if (typeof inputArgArray[i] === 'string') { throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`); } throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`); } - if (isTensor4D(input)) { + if (utils_1.isTensor4D(input)) { // if tf.Tensor4D is passed in the input array, the batch size has to be 1 const batchSize = input.shape[0]; if (batchSize !== 1) { @@ -38,7 +41,8 @@ export async function toNetInput(inputs) { } }); // wait for all media elements being loaded - await Promise.all(inputArray.map(input => isMediaElement(input) && awaitMediaLoaded(input))); - return new NetInput(inputArray, Array.isArray(inputs)); + await Promise.all(inputArray.map(input => isMediaElement_1.isMediaElement(input) && awaitMediaLoaded_1.awaitMediaLoaded(input))); + return new NetInput_1.NetInput(inputArray, Array.isArray(inputs)); } +exports.toNetInput = toNetInput; //# sourceMappingURL=toNetInput.js.map \ No newline at end of file diff --git a/build/dom/toNetInput.js.map b/build/dom/toNetInput.js.map index 9de0b21..815cb97 100644 --- a/build/dom/toNetInput.js.map +++ b/build/dom/toNetInput.js.map @@ -1 +1 @@ -{"version":3,"file":"toNetInput.js","sourceRoot":"","sources":["../../src/dom/toNetInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB;IAChD,IAAI,MAAM,YAAY,QAAQ,EAAE;QAC9B,OAAO,MAAM,CAAA;KACd;IAED,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAEd,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;IAED,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1F,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAElD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAEtE,IAAI,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,oEAAoE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;aACpI;YAED,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,6HAA6H,CAAC,CAAA;SAC3K;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YACrB,0EAA0E;YAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChC,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,+BAA+B,SAAS,2CAA2C,CAAC,CAAA;aACjI;SACF;IACH,CAAC,CAAC,CAAA;IAEF,2CAA2C;IAC3C,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAC1E,CAAA;IAED,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC"} \ No newline at end of file +{"version":3,"file":"toNetInput.js","sourceRoot":"","sources":["../../src/dom/toNetInput.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,yDAAsD;AACtD,qDAAkD;AAClD,yCAAsC;AACtC,iDAA8C;AAG9C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAAC,MAAiB;IAChD,IAAI,MAAM,YAAY,mBAAQ,EAAE;QAC9B,OAAO,MAAM,CAAA;KACd;IAED,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAEd,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;IAED,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1F,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAA;IAElD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,+BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,KAAK,CAAC,EAAE;YAEtE,IAAI,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,oEAAoE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;aACpI;YAED,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,6HAA6H,CAAC,CAAA;SAC3K;QAED,IAAI,kBAAU,CAAC,KAAK,CAAC,EAAE;YACrB,0EAA0E;YAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChC,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,+BAA+B,SAAS,2CAA2C,CAAC,CAAA;aACjI;SACF;IACH,CAAC,CAAC,CAAA;IAEF,2CAA2C;IAC3C,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,+BAAc,CAAC,KAAK,CAAC,IAAI,mCAAgB,CAAC,KAAK,CAAC,CAAC,CAC1E,CAAA;IAED,OAAO,IAAI,mBAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC;AA1CD,gCA0CC"} \ No newline at end of file diff --git a/build/dom/types.js b/build/dom/types.js index 5b2306a..11e638d 100644 --- a/build/dom/types.js +++ b/build/dom/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/draw/DrawBox.js b/build/draw/DrawBox.js index ca6f256..69dcc7a 100644 --- a/build/draw/DrawBox.js +++ b/build/draw/DrawBox.js @@ -1,26 +1,30 @@ -import { Box } from '../classes'; -import { getContext2dOrThrow } from '../dom/getContext2dOrThrow'; -import { AnchorPosition, DrawTextField, DrawTextFieldOptions } from './DrawTextField'; -export class DrawBoxOptions { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DrawBox = exports.DrawBoxOptions = void 0; +const classes_1 = require("../classes"); +const getContext2dOrThrow_1 = require("../dom/getContext2dOrThrow"); +const DrawTextField_1 = require("./DrawTextField"); +class DrawBoxOptions { constructor(options = {}) { const { boxColor, lineWidth, label, drawLabelOptions } = options; this.boxColor = boxColor || 'rgba(0, 0, 255, 1)'; this.lineWidth = lineWidth || 2; this.label = label; const defaultDrawLabelOptions = { - anchorPosition: AnchorPosition.BOTTOM_LEFT, + anchorPosition: DrawTextField_1.AnchorPosition.BOTTOM_LEFT, backgroundColor: this.boxColor }; - this.drawLabelOptions = new DrawTextFieldOptions(Object.assign({}, defaultDrawLabelOptions, drawLabelOptions)); + this.drawLabelOptions = new DrawTextField_1.DrawTextFieldOptions(Object.assign({}, defaultDrawLabelOptions, drawLabelOptions)); } } -export class DrawBox { +exports.DrawBoxOptions = DrawBoxOptions; +class DrawBox { constructor(box, options = {}) { - this.box = new Box(box); + this.box = new classes_1.Box(box); this.options = new DrawBoxOptions(options); } draw(canvasArg) { - const ctx = getContext2dOrThrow(canvasArg); + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvasArg); const { boxColor, lineWidth } = this.options; const { x, y, width, height } = this.box; ctx.strokeStyle = boxColor; @@ -28,8 +32,9 @@ export class DrawBox { ctx.strokeRect(x, y, width, height); const { label } = this.options; if (label) { - new DrawTextField([label], { x: x - (lineWidth / 2), y }, this.options.drawLabelOptions).draw(canvasArg); + new DrawTextField_1.DrawTextField([label], { x: x - (lineWidth / 2), y }, this.options.drawLabelOptions).draw(canvasArg); } } } +exports.DrawBox = DrawBox; //# sourceMappingURL=DrawBox.js.map \ No newline at end of file diff --git a/build/draw/DrawBox.js.map b/build/draw/DrawBox.js.map index 5156f6b..bf872e8 100644 --- a/build/draw/DrawBox.js.map +++ b/build/draw/DrawBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DrawBox.js","sourceRoot":"","sources":["../../src/draw/DrawBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAuB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAyB,MAAM,iBAAiB,CAAC;AAS7G,MAAM,OAAO,cAAc;IAMzB,YAAY,UAA2B,EAAE;QACvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;QAChE,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,oBAAoB,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,MAAM,uBAAuB,GAAG;YAC9B,cAAc,EAAE,cAAc,CAAC,WAAW;YAC1C,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAChH,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IAIlB,YACE,GAAyB,EACzB,UAA2B,EAAE;QAE7B,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,SAAgE;QACnE,MAAM,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAE1C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QACxC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAA;QAC1B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;QACzB,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAEnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9B,IAAI,KAAK,EAAE;YACT,IAAI,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACzG;IACH,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"DrawBox.js","sourceRoot":"","sources":["../../src/draw/DrawBox.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AACtD,oEAAiE;AACjE,mDAA6G;AAS7G,MAAa,cAAc;IAMzB,YAAY,UAA2B,EAAE;QACvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;QAChE,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,oBAAoB,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,MAAM,uBAAuB,GAAG;YAC9B,cAAc,EAAE,8BAAc,CAAC,WAAW;YAC1C,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAChH,CAAC;CACF;AAlBD,wCAkBC;AAED,MAAa,OAAO;IAIlB,YACE,GAAyB,EACzB,UAA2B,EAAE;QAE7B,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,SAAgE;QACnE,MAAM,GAAG,GAAG,yCAAmB,CAAC,SAAS,CAAC,CAAA;QAE1C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QACxC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAA;QAC1B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;QACzB,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAEnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9B,IAAI,KAAK,EAAE;YACT,IAAI,6BAAa,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACzG;IACH,CAAC;CACF;AA3BD,0BA2BC"} \ No newline at end of file diff --git a/build/draw/DrawFaceLandmarks.js b/build/draw/DrawFaceLandmarks.js index 9aa0e35..06b2cf4 100644 --- a/build/draw/DrawFaceLandmarks.js +++ b/build/draw/DrawFaceLandmarks.js @@ -1,9 +1,12 @@ -import { FaceLandmarks } from '../classes/FaceLandmarks'; -import { FaceLandmarks68 } from '../classes/FaceLandmarks68'; -import { getContext2dOrThrow } from '../dom/getContext2dOrThrow'; -import { isWithFaceLandmarks } from '../factories/WithFaceLandmarks'; -import { drawContour } from './drawContour'; -export class DrawFaceLandmarksOptions { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.drawFaceLandmarks = exports.DrawFaceLandmarks = exports.DrawFaceLandmarksOptions = void 0; +const FaceLandmarks_1 = require("../classes/FaceLandmarks"); +const FaceLandmarks68_1 = require("../classes/FaceLandmarks68"); +const getContext2dOrThrow_1 = require("../dom/getContext2dOrThrow"); +const WithFaceLandmarks_1 = require("../factories/WithFaceLandmarks"); +const drawContour_1 = require("./drawContour"); +class DrawFaceLandmarksOptions { constructor(options = {}) { const { drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor } = options; this.drawLines = drawLines; @@ -14,24 +17,25 @@ export class DrawFaceLandmarksOptions { this.pointColor = pointColor || 'rgba(255, 0, 255, 1)'; } } -export class DrawFaceLandmarks { +exports.DrawFaceLandmarksOptions = DrawFaceLandmarksOptions; +class DrawFaceLandmarks { constructor(faceLandmarks, options = {}) { this.faceLandmarks = faceLandmarks; this.options = new DrawFaceLandmarksOptions(options); } draw(canvasArg) { - const ctx = getContext2dOrThrow(canvasArg); + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvasArg); const { drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor } = this.options; - if (drawLines && this.faceLandmarks instanceof FaceLandmarks68) { + if (drawLines && this.faceLandmarks instanceof FaceLandmarks68_1.FaceLandmarks68) { ctx.strokeStyle = lineColor; ctx.lineWidth = lineWidth; - drawContour(ctx, this.faceLandmarks.getJawOutline()); - drawContour(ctx, this.faceLandmarks.getLeftEyeBrow()); - drawContour(ctx, this.faceLandmarks.getRightEyeBrow()); - drawContour(ctx, this.faceLandmarks.getNose()); - drawContour(ctx, this.faceLandmarks.getLeftEye(), true); - drawContour(ctx, this.faceLandmarks.getRightEye(), true); - drawContour(ctx, this.faceLandmarks.getMouth(), true); + drawContour_1.drawContour(ctx, this.faceLandmarks.getJawOutline()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getLeftEyeBrow()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getRightEyeBrow()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getNose()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getLeftEye(), true); + drawContour_1.drawContour(ctx, this.faceLandmarks.getRightEye(), true); + drawContour_1.drawContour(ctx, this.faceLandmarks.getMouth(), true); } if (drawPoints) { ctx.strokeStyle = pointColor; @@ -45,16 +49,18 @@ export class DrawFaceLandmarks { } } } -export function drawFaceLandmarks(canvasArg, faceLandmarks) { +exports.DrawFaceLandmarks = DrawFaceLandmarks; +function drawFaceLandmarks(canvasArg, faceLandmarks) { const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks]; faceLandmarksArray.forEach(f => { - const landmarks = f instanceof FaceLandmarks + const landmarks = f instanceof FaceLandmarks_1.FaceLandmarks ? f - : (isWithFaceLandmarks(f) ? f.landmarks : undefined); + : (WithFaceLandmarks_1.isWithFaceLandmarks(f) ? f.landmarks : undefined); if (!landmarks) { throw new Error('drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof'); } new DrawFaceLandmarks(landmarks).draw(canvasArg); }); } +exports.drawFaceLandmarks = drawFaceLandmarks; //# sourceMappingURL=DrawFaceLandmarks.js.map \ No newline at end of file diff --git a/build/draw/DrawFaceLandmarks.js.map b/build/draw/DrawFaceLandmarks.js.map index 50f2ac5..1381f28 100644 --- a/build/draw/DrawFaceLandmarks.js.map +++ b/build/draw/DrawFaceLandmarks.js.map @@ -1 +1 @@ -{"version":3,"file":"DrawFaceLandmarks.js","sourceRoot":"","sources":["../../src/draw/DrawFaceLandmarks.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DrawFaceLandmarks.js","sourceRoot":"","sources":["../../src/draw/DrawFaceLandmarks.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/draw/DrawTextField.js b/build/draw/DrawTextField.js index 8e6024b..8ad0560 100644 --- a/build/draw/DrawTextField.js +++ b/build/draw/DrawTextField.js @@ -1,13 +1,16 @@ -import { getContext2dOrThrow } from '../dom/getContext2dOrThrow'; -import { resolveInput } from '../dom/resolveInput'; -export var AnchorPosition; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DrawTextField = exports.DrawTextFieldOptions = exports.AnchorPosition = void 0; +const getContext2dOrThrow_1 = require("../dom/getContext2dOrThrow"); +const resolveInput_1 = require("../dom/resolveInput"); +var AnchorPosition; (function (AnchorPosition) { AnchorPosition["TOP_LEFT"] = "TOP_LEFT"; AnchorPosition["TOP_RIGHT"] = "TOP_RIGHT"; AnchorPosition["BOTTOM_LEFT"] = "BOTTOM_LEFT"; AnchorPosition["BOTTOM_RIGHT"] = "BOTTOM_RIGHT"; -})(AnchorPosition || (AnchorPosition = {})); -export class DrawTextFieldOptions { +})(AnchorPosition = exports.AnchorPosition || (exports.AnchorPosition = {})); +class DrawTextFieldOptions { constructor(options = {}) { const { anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding } = options; this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT; @@ -18,7 +21,8 @@ export class DrawTextFieldOptions { this.padding = padding || 4; } } -export class DrawTextField { +exports.DrawTextFieldOptions = DrawTextFieldOptions; +class DrawTextField { constructor(text, anchor, options = {}) { this.text = typeof text === 'string' ? [text] @@ -52,8 +56,8 @@ export class DrawTextField { return { x, y }; } draw(canvasArg) { - const canvas = resolveInput(canvasArg); - const ctx = getContext2dOrThrow(canvas); + const canvas = resolveInput_1.resolveInput(canvasArg); + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvas); const { backgroundColor, fontColor, fontSize, fontStyle, padding } = this.options; ctx.font = `${fontSize}px ${fontStyle}`; const maxTextWidth = this.measureWidth(ctx); @@ -69,4 +73,5 @@ export class DrawTextField { }); } } +exports.DrawTextField = DrawTextField; //# sourceMappingURL=DrawTextField.js.map \ No newline at end of file diff --git a/build/draw/DrawTextField.js.map b/build/draw/DrawTextField.js.map index d76c823..63e557b 100644 --- a/build/draw/DrawTextField.js.map +++ b/build/draw/DrawTextField.js.map @@ -1 +1 @@ -{"version":3,"file":"DrawTextField.js","sourceRoot":"","sources":["../../src/draw/DrawTextField.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DrawTextField.js","sourceRoot":"","sources":["../../src/draw/DrawTextField.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/draw/drawContour.js b/build/draw/drawContour.js index 2278a13..95ab9f0 100644 --- a/build/draw/drawContour.js +++ b/build/draw/drawContour.js @@ -1,4 +1,7 @@ -export function drawContour(ctx, points, isClosed = false) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.drawContour = void 0; +function drawContour(ctx, points, isClosed = false) { ctx.beginPath(); points.slice(1).forEach(({ x, y }, prevIdx) => { const from = points[prevIdx]; @@ -16,4 +19,5 @@ export function drawContour(ctx, points, isClosed = false) { } ctx.stroke(); } +exports.drawContour = drawContour; //# sourceMappingURL=drawContour.js.map \ No newline at end of file diff --git a/build/draw/drawContour.js.map b/build/draw/drawContour.js.map index 8013d7c..006fba6 100644 --- a/build/draw/drawContour.js.map +++ b/build/draw/drawContour.js.map @@ -1 +1 @@ -{"version":3,"file":"drawContour.js","sourceRoot":"","sources":["../../src/draw/drawContour.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,GAA6B,EAC7B,MAAe,EACf,WAAoB,KAAK;IAEzB,GAAG,CAAC,SAAS,EAAE,CAAA;IAEf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;YAChB,OAAM;SACP;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;KACvB;IAED,GAAG,CAAC,MAAM,EAAE,CAAA;AACd,CAAC"} \ No newline at end of file +{"version":3,"file":"drawContour.js","sourceRoot":"","sources":["../../src/draw/drawContour.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CACzB,GAA6B,EAC7B,MAAe,EACf,WAAoB,KAAK;IAEzB,GAAG,CAAC,SAAS,EAAE,CAAA;IAEf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;YAChB,OAAM;SACP;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;KACvB;IAED,GAAG,CAAC,MAAM,EAAE,CAAA;AACd,CAAC;AAzBD,kCAyBC"} \ No newline at end of file diff --git a/build/draw/drawDetections.js b/build/draw/drawDetections.js index d56ab27..3956e5f 100644 --- a/build/draw/drawDetections.js +++ b/build/draw/drawDetections.js @@ -1,19 +1,23 @@ -import { Box } from '../classes'; -import { FaceDetection } from '../classes/FaceDetection'; -import { isWithFaceDetection } from '../factories/WithFaceDetection'; -import { round } from '../utils'; -import { DrawBox } from './DrawBox'; -export function drawDetections(canvasArg, detections) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.drawDetections = void 0; +const classes_1 = require("../classes"); +const FaceDetection_1 = require("../classes/FaceDetection"); +const WithFaceDetection_1 = require("../factories/WithFaceDetection"); +const utils_1 = require("../utils"); +const DrawBox_1 = require("./DrawBox"); +function drawDetections(canvasArg, detections) { const detectionsArray = Array.isArray(detections) ? detections : [detections]; detectionsArray.forEach(det => { - const score = det instanceof FaceDetection + const score = det instanceof FaceDetection_1.FaceDetection ? det.score - : (isWithFaceDetection(det) ? det.detection.score : undefined); - const box = det instanceof FaceDetection + : (WithFaceDetection_1.isWithFaceDetection(det) ? det.detection.score : undefined); + const box = det instanceof FaceDetection_1.FaceDetection ? det.box - : (isWithFaceDetection(det) ? det.detection.box : new Box(det)); - const label = score ? `${round(score)}` : undefined; - new DrawBox(box, { label }).draw(canvasArg); + : (WithFaceDetection_1.isWithFaceDetection(det) ? det.detection.box : new classes_1.Box(det)); + const label = score ? `${utils_1.round(score)}` : undefined; + new DrawBox_1.DrawBox(box, { label }).draw(canvasArg); }); } +exports.drawDetections = drawDetections; //# sourceMappingURL=drawDetections.js.map \ No newline at end of file diff --git a/build/draw/drawDetections.js.map b/build/draw/drawDetections.js.map index b8ad19a..72e7f4b 100644 --- a/build/draw/drawDetections.js.map +++ b/build/draw/drawDetections.js.map @@ -1 +1 @@ -{"version":3,"file":"drawDetections.js","sourceRoot":"","sources":["../../src/draw/drawDetections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAuB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAqB,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,UAAU,cAAc,CAC5B,SAAqC,EACrC,UAA8D;IAE9D,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAE7E,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5B,MAAM,KAAK,GAAG,GAAG,YAAY,aAAa;YACxC,CAAC,CAAC,GAAG,CAAC,KAAK;YACX,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,GAAG,GAAG,GAAG,YAAY,aAAa;YACtC,CAAC,CAAC,GAAG,CAAC,GAAG;YACT,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAEjE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"drawDetections.js","sourceRoot":"","sources":["../../src/draw/drawDetections.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AACtD,4DAAyD;AACzD,sEAAwF;AACxF,oCAAiC;AACjC,uCAAoC;AAIpC,SAAgB,cAAc,CAC5B,SAAqC,EACrC,UAA8D;IAE9D,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAE7E,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5B,MAAM,KAAK,GAAG,GAAG,YAAY,6BAAa;YACxC,CAAC,CAAC,GAAG,CAAC,KAAK;YACX,CAAC,CAAC,CAAC,uCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,GAAG,GAAG,GAAG,YAAY,6BAAa;YACtC,CAAC,CAAC,GAAG,CAAC,GAAG;YACT,CAAC,CAAC,CAAC,uCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,aAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAEjE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,aAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,IAAI,iBAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC;AAlBD,wCAkBC"} \ No newline at end of file diff --git a/build/draw/drawFaceExpressions.js b/build/draw/drawFaceExpressions.js index 3292c22..720a172 100644 --- a/build/draw/drawFaceExpressions.js +++ b/build/draw/drawFaceExpressions.js @@ -1,25 +1,29 @@ -import { Point } from '../classes'; -import { FaceExpressions } from '../faceExpressionNet'; -import { isWithFaceDetection } from '../factories/WithFaceDetection'; -import { isWithFaceExpressions } from '../factories/WithFaceExpressions'; -import { round } from '../utils'; -import { DrawTextField } from './DrawTextField'; -export function drawFaceExpressions(canvasArg, faceExpressions, minConfidence = 0.1, textFieldAnchor) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.drawFaceExpressions = void 0; +const classes_1 = require("../classes"); +const faceExpressionNet_1 = require("../faceExpressionNet"); +const WithFaceDetection_1 = require("../factories/WithFaceDetection"); +const WithFaceExpressions_1 = require("../factories/WithFaceExpressions"); +const utils_1 = require("../utils"); +const DrawTextField_1 = require("./DrawTextField"); +function drawFaceExpressions(canvasArg, faceExpressions, minConfidence = 0.1, textFieldAnchor) { const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions]; faceExpressionsArray.forEach(e => { - const expr = e instanceof FaceExpressions + const expr = e instanceof faceExpressionNet_1.FaceExpressions ? e - : (isWithFaceExpressions(e) ? e.expressions : undefined); + : (WithFaceExpressions_1.isWithFaceExpressions(e) ? e.expressions : undefined); if (!expr) { throw new Error('drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof'); } const sorted = expr.asSortedArray(); const resultsToDisplay = sorted.filter(expr => expr.probability > minConfidence); - const anchor = isWithFaceDetection(e) + const anchor = WithFaceDetection_1.isWithFaceDetection(e) ? e.detection.box.bottomLeft - : (textFieldAnchor || new Point(0, 0)); - const drawTextField = new DrawTextField(resultsToDisplay.map(expr => `${expr.expression} (${round(expr.probability)})`), anchor); + : (textFieldAnchor || new classes_1.Point(0, 0)); + const drawTextField = new DrawTextField_1.DrawTextField(resultsToDisplay.map(expr => `${expr.expression} (${utils_1.round(expr.probability)})`), anchor); drawTextField.draw(canvasArg); }); } +exports.drawFaceExpressions = drawFaceExpressions; //# sourceMappingURL=drawFaceExpressions.js.map \ No newline at end of file diff --git a/build/draw/drawFaceExpressions.js.map b/build/draw/drawFaceExpressions.js.map index 2e6d902..ed40242 100644 --- a/build/draw/drawFaceExpressions.js.map +++ b/build/draw/drawFaceExpressions.js.map @@ -1 +1 @@ -{"version":3,"file":"drawFaceExpressions.js","sourceRoot":"","sources":["../../src/draw/drawFaceExpressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,UAAU,mBAAmB,CACjC,SAAqC,EACrC,eAA2E,EAC3E,aAAa,GAAG,GAAG,EACnB,eAAwB;IAExB,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAEjG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,YAAY,eAAe;YACvC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iHAAiH,CAAC,CAAA;SACnI;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAA;QAEhF,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU;YAC5B,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExC,MAAM,aAAa,GAAG,IAAI,aAAa,CACrC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAC/E,MAAM,CACP,CAAA;QACD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"drawFaceExpressions.js","sourceRoot":"","sources":["../../src/draw/drawFaceExpressions.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,4DAAuD;AACvD,sEAAqE;AACrE,0EAA8F;AAC9F,oCAAiC;AACjC,mDAAgD;AAIhD,SAAgB,mBAAmB,CACjC,SAAqC,EACrC,eAA2E,EAC3E,aAAa,GAAG,GAAG,EACnB,eAAwB;IAExB,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAEjG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,YAAY,mCAAe;YACvC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,2CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iHAAiH,CAAC,CAAA;SACnI;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAA;QAEhF,MAAM,MAAM,GAAG,uCAAmB,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU;YAC5B,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,eAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExC,MAAM,aAAa,GAAG,IAAI,6BAAa,CACrC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,aAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAC/E,MAAM,CACP,CAAA;QACD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACJ,CAAC;AA7BD,kDA6BC"} \ No newline at end of file diff --git a/build/draw/index.js b/build/draw/index.js index 6e3f6d8..38a5c10 100644 --- a/build/draw/index.js +++ b/build/draw/index.js @@ -1,7 +1,10 @@ -export * from './drawContour'; -export * from './drawDetections'; -export * from './drawFaceExpressions'; -export * from './DrawBox'; -export * from './DrawFaceLandmarks'; -export * from './DrawTextField'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./drawContour"), exports); +tslib_1.__exportStar(require("./drawDetections"), exports); +tslib_1.__exportStar(require("./drawFaceExpressions"), exports); +tslib_1.__exportStar(require("./DrawBox"), exports); +tslib_1.__exportStar(require("./DrawFaceLandmarks"), exports); +tslib_1.__exportStar(require("./DrawTextField"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/draw/index.js.map b/build/draw/index.js.map index 3798149..78de3d1 100644 --- a/build/draw/index.js.map +++ b/build/draw/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/draw/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/draw/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B;AAC7B,2DAAgC;AAChC,gEAAqC;AACrC,oDAAyB;AACzB,8DAAmC;AACnC,0DAA+B"} \ No newline at end of file diff --git a/build/env/createBrowserEnv.js b/build/env/createBrowserEnv.js index 4243f3e..7b71898 100644 --- a/build/env/createBrowserEnv.js +++ b/build/env/createBrowserEnv.js @@ -1,4 +1,7 @@ -export function createBrowserEnv() { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createBrowserEnv = void 0; +function createBrowserEnv() { const fetch = window['fetch'] || function () { throw new Error('fetch - missing fetch implementation for browser environment'); }; @@ -17,4 +20,5 @@ export function createBrowserEnv() { readFile }; } +exports.createBrowserEnv = createBrowserEnv; //# sourceMappingURL=createBrowserEnv.js.map \ No newline at end of file diff --git a/build/env/createBrowserEnv.js.map b/build/env/createBrowserEnv.js.map index 84a5722..2b15b1c 100644 --- a/build/env/createBrowserEnv.js.map +++ b/build/env/createBrowserEnv.js.map @@ -1 +1 @@ -{"version":3,"file":"createBrowserEnv.js","sourceRoot":"","sources":["../../src/env/createBrowserEnv.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAE9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI;QAC/B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG;QACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC,CAAA;IAED,OAAO;QACL,MAAM,EAAE,iBAAiB;QACzB,wBAAwB,EAAE,wBAAwB;QAClD,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,gBAAgB;QACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC3D,kBAAkB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACvD,KAAK;QACL,QAAQ;KACT,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"createBrowserEnv.js","sourceRoot":"","sources":["../../src/env/createBrowserEnv.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB;IAE9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI;QAC/B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG;QACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC,CAAA;IAED,OAAO;QACL,MAAM,EAAE,iBAAiB;QACzB,wBAAwB,EAAE,wBAAwB;QAClD,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,gBAAgB;QACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC3D,kBAAkB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACvD,KAAK;QACL,QAAQ;KACT,CAAA;AACH,CAAC;AArBD,4CAqBC"} \ No newline at end of file diff --git a/build/env/createFileSystem.js b/build/env/createFileSystem.js index 08efdf5..c015d67 100644 --- a/build/env/createFileSystem.js +++ b/build/env/createFileSystem.js @@ -1,4 +1,7 @@ -export function createFileSystem(fs) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createFileSystem = void 0; +function createFileSystem(fs) { let requireFsError = ''; if (!fs) { try { @@ -23,4 +26,5 @@ export function createFileSystem(fs) { readFile }; } +exports.createFileSystem = createFileSystem; //# sourceMappingURL=createFileSystem.js.map \ No newline at end of file diff --git a/build/env/createFileSystem.js.map b/build/env/createFileSystem.js.map index 7afcb9c..8e0a310 100644 --- a/build/env/createFileSystem.js.map +++ b/build/env/createFileSystem.js.map @@ -1 +1 @@ -{"version":3,"file":"createFileSystem.js","sourceRoot":"","sources":["../../src/env/createFileSystem.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,EAAQ;IAEvC,IAAI,cAAc,GAAG,EAAE,CAAA;IAEvB,IAAI,CAAC,EAAE,EAAE;QACP,IAAI;YACF,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;SAChC;KACF;IAED,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC,UAAS,QAAgB;YACzB,OAAO,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAS,GAAQ,EAAE,MAAc;oBACrD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACrC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,CAAC,CAAC;YACA,MAAM,IAAI,KAAK,CAAC,qEAAqE,cAAc,EAAE,CAAC,CAAA;QACxG,CAAC,CAAA;IAEH,OAAO;QACL,QAAQ;KACT,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"createFileSystem.js","sourceRoot":"","sources":["../../src/env/createFileSystem.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,EAAQ;IAEvC,IAAI,cAAc,GAAG,EAAE,CAAA;IAEvB,IAAI,CAAC,EAAE,EAAE;QACP,IAAI;YACF,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;SAChC;KACF;IAED,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC,UAAS,QAAgB;YACzB,OAAO,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAS,GAAQ,EAAE,MAAc;oBACrD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACrC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,CAAC,CAAC;YACA,MAAM,IAAI,KAAK,CAAC,qEAAqE,cAAc,EAAE,CAAC,CAAA;QACxG,CAAC,CAAA;IAEH,OAAO;QACL,QAAQ;KACT,CAAA;AACH,CAAC;AA3BD,4CA2BC"} \ No newline at end of file diff --git a/build/env/createNodejsEnv.js b/build/env/createNodejsEnv.js index 02a362d..3dd9ddb 100644 --- a/build/env/createNodejsEnv.js +++ b/build/env/createNodejsEnv.js @@ -1,5 +1,8 @@ -import { createFileSystem } from './createFileSystem'; -export function createNodejsEnv() { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createNodejsEnv = void 0; +const createFileSystem_1 = require("./createFileSystem"); +function createNodejsEnv() { const Canvas = global['Canvas'] || global['HTMLCanvasElement']; const Image = global['Image'] || global['HTMLImageElement']; const createCanvasElement = function () { @@ -17,7 +20,7 @@ export function createNodejsEnv() { const fetch = global['fetch'] || function () { throw new Error('fetch - missing fetch implementation for nodejs environment'); }; - const fileSystem = createFileSystem(); + const fileSystem = createFileSystem_1.createFileSystem(); return { Canvas: Canvas || class { }, @@ -35,4 +38,5 @@ export function createNodejsEnv() { ...fileSystem }; } +exports.createNodejsEnv = createNodejsEnv; //# sourceMappingURL=createNodejsEnv.js.map \ No newline at end of file diff --git a/build/env/createNodejsEnv.js.map b/build/env/createNodejsEnv.js.map index 5cd998b..dfd951e 100644 --- a/build/env/createNodejsEnv.js.map +++ b/build/env/createNodejsEnv.js.map @@ -1 +1 @@ -{"version":3,"file":"createNodejsEnv.js","sourceRoot":"","sources":["../../src/env/createNodejsEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,UAAU,eAAe;IAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE3D,MAAM,mBAAmB,GAAG;QAC1B,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,MAAM,EAAE,CAAA;SACpB;QACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;IAC/F,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG;QACzB,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,KAAK,EAAE,CAAA;SACnB;QACD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;IAC7F,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI;QAC/B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAA;IAErC,OAAO;QACL,MAAM,EAAE,MAAM,IAAI;SAAQ;QAC1B,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC,IAAI;SAAQ;QACxE,KAAK,EAAE,KAAK,IAAI;SAAQ;QACxB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;SAAQ;QAC1C,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI;SAAQ;QAC7C,mBAAmB;QACnB,kBAAkB;QAClB,KAAK;QACL,GAAG,UAAU;KACd,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"createNodejsEnv.js","sourceRoot":"","sources":["../../src/env/createNodejsEnv.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAGtD,SAAgB,eAAe;IAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE3D,MAAM,mBAAmB,GAAG;QAC1B,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,MAAM,EAAE,CAAA;SACpB;QACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;IAC/F,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG;QACzB,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,KAAK,EAAE,CAAA;SACnB;QACD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;IAC7F,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI;QAC/B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,mCAAgB,EAAE,CAAA;IAErC,OAAO;QACL,MAAM,EAAE,MAAM,IAAI;SAAQ;QAC1B,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC,IAAI;SAAQ;QACxE,KAAK,EAAE,KAAK,IAAI;SAAQ;QACxB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;SAAQ;QAC1C,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI;SAAQ;QAC7C,mBAAmB;QACnB,kBAAkB;QAClB,KAAK;QACL,GAAG,UAAU;KACd,CAAA;AACH,CAAC;AApCD,0CAoCC"} \ No newline at end of file diff --git a/build/env/index.js b/build/env/index.js index 4a53eb1..4922137 100644 --- a/build/env/index.js +++ b/build/env/index.js @@ -1,8 +1,12 @@ -import { createBrowserEnv } from './createBrowserEnv'; -import { createFileSystem } from './createFileSystem'; -import { createNodejsEnv } from './createNodejsEnv'; -import { isBrowser } from './isBrowser'; -import { isNodejs } from './isNodejs'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.env = void 0; +const tslib_1 = require("tslib"); +const createBrowserEnv_1 = require("./createBrowserEnv"); +const createFileSystem_1 = require("./createFileSystem"); +const createNodejsEnv_1 = require("./createNodejsEnv"); +const isBrowser_1 = require("./isBrowser"); +const isNodejs_1 = require("./isNodejs"); let environment; function getEnv() { if (!environment) { @@ -16,11 +20,11 @@ function setEnv(env) { function initialize() { // check for isBrowser() first to prevent electron renderer process // to be initialized with wrong environment due to isNodejs() returning true - if (isBrowser()) { - return setEnv(createBrowserEnv()); + if (isBrowser_1.isBrowser()) { + return setEnv(createBrowserEnv_1.createBrowserEnv()); } - if (isNodejs()) { - return setEnv(createNodejsEnv()); + if (isNodejs_1.isNodejs()) { + return setEnv(createNodejsEnv_1.createNodejsEnv()); } } function monkeyPatch(env) { @@ -40,17 +44,17 @@ function monkeyPatch(env) { environment.fetch = env.fetch || environment.fetch; environment.readFile = env.readFile || environment.readFile; } -export const env = { +exports.env = { getEnv, setEnv, initialize, - createBrowserEnv, - createFileSystem, - createNodejsEnv, + createBrowserEnv: createBrowserEnv_1.createBrowserEnv, + createFileSystem: createFileSystem_1.createFileSystem, + createNodejsEnv: createNodejsEnv_1.createNodejsEnv, monkeyPatch, - isBrowser, - isNodejs + isBrowser: isBrowser_1.isBrowser, + isNodejs: isNodejs_1.isNodejs }; initialize(); -export * from './types'; +tslib_1.__exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/env/index.js.map b/build/env/index.js.map index 3d80f8b..7ff3b5b 100644 --- a/build/env/index.js.map +++ b/build/env/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,IAAI,WAA+B,CAAA;AAEnC,SAAS,MAAM;IACb,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;KACzF;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,MAAM,CAAC,GAAgB;IAC9B,WAAW,GAAG,GAAG,CAAA;AACnB,CAAC;AAED,SAAS,UAAU;IACjB,mEAAmE;IACnE,4EAA4E;IAC5E,IAAI,SAAS,EAAE,EAAE;QACf,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;KAClC;IACD,IAAI,QAAQ,EAAE,EAAE;QACd,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;KACjC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAyB;IAC5C,IAAI,CAAC,WAAW,EAAE;QAChB,UAAU,EAAE,CAAA;KACb;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;KAC9F;IAED,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,CAAA;IACtE,WAAW,CAAC,MAAM,GAAG,MAAM,CAAA;IAC3B,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;IACzB,WAAW,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IACjF,WAAW,CAAC,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAE9E,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAA;IAC9D,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAA;IAClD,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAA;IAClD,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAA;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM;IACN,MAAM;IACN,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,SAAS;IACT,QAAQ;CACT,CAAA;AAED,UAAU,EAAE,CAAA;AAEZ,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAsD;AACtD,yDAAsD;AACtD,uDAAoD;AACpD,2CAAwC;AACxC,yCAAsC;AAGtC,IAAI,WAA+B,CAAA;AAEnC,SAAS,MAAM;IACb,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;KACzF;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,MAAM,CAAC,GAAgB;IAC9B,WAAW,GAAG,GAAG,CAAA;AACnB,CAAC;AAED,SAAS,UAAU;IACjB,mEAAmE;IACnE,4EAA4E;IAC5E,IAAI,qBAAS,EAAE,EAAE;QACf,OAAO,MAAM,CAAC,mCAAgB,EAAE,CAAC,CAAA;KAClC;IACD,IAAI,mBAAQ,EAAE,EAAE;QACd,OAAO,MAAM,CAAC,iCAAe,EAAE,CAAC,CAAA;KACjC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAyB;IAC5C,IAAI,CAAC,WAAW,EAAE;QAChB,UAAU,EAAE,CAAA;KACb;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;KAC9F;IAED,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,CAAA;IACtE,WAAW,CAAC,MAAM,GAAG,MAAM,CAAA;IAC3B,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;IACzB,WAAW,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IACjF,WAAW,CAAC,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAE9E,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAA;IAC9D,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAA;IAClD,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAA;IAClD,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAA;AAC7D,CAAC;AAEY,QAAA,GAAG,GAAG;IACjB,MAAM;IACN,MAAM;IACN,UAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,gBAAgB,EAAhB,mCAAgB;IAChB,eAAe,EAAf,iCAAe;IACf,WAAW;IACX,SAAS,EAAT,qBAAS;IACT,QAAQ,EAAR,mBAAQ;CACT,CAAA;AAED,UAAU,EAAE,CAAA;AAEZ,kDAAuB"} \ No newline at end of file diff --git a/build/env/isBrowser.js b/build/env/isBrowser.js index d64a57b..c7845cf 100644 --- a/build/env/isBrowser.js +++ b/build/env/isBrowser.js @@ -1,4 +1,7 @@ -export function isBrowser() { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isBrowser = void 0; +function isBrowser() { return typeof window === 'object' && typeof document !== 'undefined' && typeof HTMLImageElement !== 'undefined' @@ -7,4 +10,5 @@ export function isBrowser() { && typeof ImageData !== 'undefined' && typeof CanvasRenderingContext2D !== 'undefined'; } +exports.isBrowser = isBrowser; //# sourceMappingURL=isBrowser.js.map \ No newline at end of file diff --git a/build/env/isBrowser.js.map b/build/env/isBrowser.js.map index 8482cea..002a4ff 100644 --- a/build/env/isBrowser.js.map +++ b/build/env/isBrowser.js.map @@ -1 +1 @@ -{"version":3,"file":"isBrowser.js","sourceRoot":"","sources":["../../src/env/isBrowser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,QAAQ;WAC5B,OAAO,QAAQ,KAAK,WAAW;WAC/B,OAAO,gBAAgB,KAAK,WAAW;WACvC,OAAO,iBAAiB,KAAK,WAAW;WACxC,OAAO,gBAAgB,KAAK,WAAW;WACvC,OAAO,SAAS,KAAK,WAAW;WAChC,OAAO,wBAAwB,KAAK,WAAW,CAAA;AACtD,CAAC"} \ No newline at end of file +{"version":3,"file":"isBrowser.js","sourceRoot":"","sources":["../../src/env/isBrowser.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,QAAQ;WAC5B,OAAO,QAAQ,KAAK,WAAW;WAC/B,OAAO,gBAAgB,KAAK,WAAW;WACvC,OAAO,iBAAiB,KAAK,WAAW;WACxC,OAAO,gBAAgB,KAAK,WAAW;WACvC,OAAO,SAAS,KAAK,WAAW;WAChC,OAAO,wBAAwB,KAAK,WAAW,CAAA;AACtD,CAAC;AARD,8BAQC"} \ No newline at end of file diff --git a/build/env/isNodejs.js b/build/env/isNodejs.js index 60117fd..4756173 100644 --- a/build/env/isNodejs.js +++ b/build/env/isNodejs.js @@ -1,4 +1,7 @@ -export function isNodejs() { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isNodejs = void 0; +function isNodejs() { return typeof global === 'object' && typeof require === 'function' && typeof module !== 'undefined' @@ -6,4 +9,5 @@ export function isNodejs() { // && !!module.exports && typeof process !== 'undefined' && !!process.version; } +exports.isNodejs = isNodejs; //# sourceMappingURL=isNodejs.js.map \ No newline at end of file diff --git a/build/env/isNodejs.js.map b/build/env/isNodejs.js.map index 7da5c2d..5085797 100644 --- a/build/env/isNodejs.js.map +++ b/build/env/isNodejs.js.map @@ -1 +1 @@ -{"version":3,"file":"isNodejs.js","sourceRoot":"","sources":["../../src/env/isNodejs.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ;IACtB,OAAO,OAAO,MAAM,KAAK,QAAQ;WAC5B,OAAO,OAAO,KAAK,UAAU;WAC7B,OAAO,MAAM,KAAK,WAAW;QAChC,qDAAqD;QACrD,sBAAsB;WACnB,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;AAC1D,CAAC"} \ No newline at end of file +{"version":3,"file":"isNodejs.js","sourceRoot":"","sources":["../../src/env/isNodejs.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ;IACtB,OAAO,OAAO,MAAM,KAAK,QAAQ;WAC5B,OAAO,OAAO,KAAK,UAAU;WAC7B,OAAO,MAAM,KAAK,WAAW;QAChC,qDAAqD;QACrD,sBAAsB;WACnB,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;AAC1D,CAAC;AAPD,4BAOC"} \ No newline at end of file diff --git a/build/env/types.js b/build/env/types.js index 5b2306a..11e638d 100644 --- a/build/env/types.js +++ b/build/env/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/euclideanDistance.js b/build/euclideanDistance.js index 04e3ca0..7e0789c 100644 --- a/build/euclideanDistance.js +++ b/build/euclideanDistance.js @@ -1,4 +1,7 @@ -export function euclideanDistance(arr1, arr2) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.euclideanDistance = void 0; +function euclideanDistance(arr1, arr2) { if (arr1.length !== arr2.length) throw new Error('euclideanDistance: arr1.length !== arr2.length'); const desc1 = Array.from(arr1); @@ -7,4 +10,5 @@ export function euclideanDistance(arr1, arr2) { .map((val, i) => val - desc2[i]) .reduce((res, diff) => res + Math.pow(diff, 2), 0)); } +exports.euclideanDistance = euclideanDistance; //# sourceMappingURL=euclideanDistance.js.map \ No newline at end of file diff --git a/build/euclideanDistance.js.map b/build/euclideanDistance.js.map index 0f5a0d0..cecf7da 100644 --- a/build/euclideanDistance.js.map +++ b/build/euclideanDistance.js.map @@ -1 +1 @@ -{"version":3,"file":"euclideanDistance.js","sourceRoot":"","sources":["../src/euclideanDistance.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,IAA6B,EAAE,IAA6B;IAC5F,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC7B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAEnE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE9B,OAAO,IAAI,CAAC,IAAI,CACd,KAAK;SACF,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACrD,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"euclideanDistance.js","sourceRoot":"","sources":["../src/euclideanDistance.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAAC,IAA6B,EAAE,IAA6B;IAC5F,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC7B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAEnE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE9B,OAAO,IAAI,CAAC,IAAI,CACd,KAAK;SACF,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACrD,CAAA;AACH,CAAC;AAZD,8CAYC"} \ No newline at end of file diff --git a/build/faceExpressionNet/FaceExpressionNet.js b/build/faceExpressionNet/FaceExpressionNet.js index afbfe8f..3882100 100644 --- a/build/faceExpressionNet/FaceExpressionNet.js +++ b/build/faceExpressionNet/FaceExpressionNet.js @@ -1,20 +1,23 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { toNetInput } from '../dom'; -import { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor'; -import { FaceProcessor } from '../faceProcessor/FaceProcessor'; -import { FaceExpressions } from './FaceExpressions'; -export class FaceExpressionNet extends FaceProcessor { - constructor(faceFeatureExtractor = new FaceFeatureExtractor()) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceExpressionNet = void 0; +const tf = require("@tensorflow/tfjs-core"); +const dom_1 = require("../dom"); +const FaceFeatureExtractor_1 = require("../faceFeatureExtractor/FaceFeatureExtractor"); +const FaceProcessor_1 = require("../faceProcessor/FaceProcessor"); +const FaceExpressions_1 = require("./FaceExpressions"); +class FaceExpressionNet extends FaceProcessor_1.FaceProcessor { + constructor(faceFeatureExtractor = new FaceFeatureExtractor_1.FaceFeatureExtractor()) { super('FaceExpressionNet', faceFeatureExtractor); } forwardInput(input) { return tf.tidy(() => tf.softmax(this.runNet(input))); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } async predictExpressions(input) { - const netInput = await toNetInput(input); + const netInput = await dom_1.toNetInput(input); const out = await this.forwardInput(netInput); const probabilitesByBatch = await Promise.all(tf.unstack(out).map(async (t) => { const data = await t.data(); @@ -23,7 +26,7 @@ export class FaceExpressionNet extends FaceProcessor { })); out.dispose(); const predictionsByBatch = probabilitesByBatch - .map(probabilites => new FaceExpressions(probabilites)); + .map(probabilites => new FaceExpressions_1.FaceExpressions(probabilites)); return netInput.isBatchInput ? predictionsByBatch : predictionsByBatch[0]; @@ -38,4 +41,5 @@ export class FaceExpressionNet extends FaceProcessor { return 7; } } +exports.FaceExpressionNet = FaceExpressionNet; //# sourceMappingURL=FaceExpressionNet.js.map \ No newline at end of file diff --git a/build/faceExpressionNet/FaceExpressionNet.js.map b/build/faceExpressionNet/FaceExpressionNet.js.map index 57f81ad..f1c1017 100644 --- a/build/faceExpressionNet/FaceExpressionNet.js.map +++ b/build/faceExpressionNet/FaceExpressionNet.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceExpressionNet.js","sourceRoot":"","sources":["../../src/faceExpressionNet/FaceExpressionNet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAuB,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,iBAAkB,SAAQ,aAAyC;IAE9E,YAAY,uBAA6C,IAAI,oBAAoB,EAAE;QACjF,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;IAClD,CAAC;IAEM,YAAY,CAAC,KAA6B;QAC/C,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,KAAgB;QAC9C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3B,CAAC,CAAC,OAAO,EAAE,CAAA;YACX,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAC,CAAA;QACH,GAAG,CAAC,OAAO,EAAE,CAAA;QAEb,MAAM,kBAAkB,GAAG,mBAAmB;aAC3C,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,YAA4B,CAAC,CAAC,CAAA;QAEzE,OAAO,QAAQ,CAAC,YAAY;YAC1B,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAES,mBAAmB;QAC3B,OAAO,uBAAuB,CAAA;IAChC,CAAC;IAES,uBAAuB;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAES,wBAAwB;QAChC,OAAO,CAAC,CAAA;IACV,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceExpressionNet.js","sourceRoot":"","sources":["../../src/faceExpressionNet/FaceExpressionNet.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,gCAAyD;AACzD,uFAAoF;AAEpF,kEAA+D;AAC/D,uDAAoD;AAEpD,MAAa,iBAAkB,SAAQ,6BAAyC;IAE9E,YAAY,uBAA6C,IAAI,2CAAoB,EAAE;QACjF,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;IAClD,CAAC;IAEM,YAAY,CAAC,KAA6B;QAC/C,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,KAAgB;QAC9C,MAAM,QAAQ,GAAG,MAAM,gBAAU,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3B,CAAC,CAAC,OAAO,EAAE,CAAA;YACX,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAC,CAAA;QACH,GAAG,CAAC,OAAO,EAAE,CAAA;QAEb,MAAM,kBAAkB,GAAG,mBAAmB;aAC3C,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,iCAAe,CAAC,YAA4B,CAAC,CAAC,CAAA;QAEzE,OAAO,QAAQ,CAAC,YAAY;YAC1B,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAES,mBAAmB;QAC3B,OAAO,uBAAuB,CAAA;IAChC,CAAC;IAES,uBAAuB;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAES,wBAAwB;QAChC,OAAO,CAAC,CAAA;IACV,CAAC;CACF;AA3CD,8CA2CC"} \ No newline at end of file diff --git a/build/faceExpressionNet/FaceExpressions.js b/build/faceExpressionNet/FaceExpressions.js index 604c0fa..f79db0a 100644 --- a/build/faceExpressionNet/FaceExpressions.js +++ b/build/faceExpressionNet/FaceExpressions.js @@ -1,17 +1,21 @@ -export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised']; -export class FaceExpressions { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceExpressions = exports.FACE_EXPRESSION_LABELS = void 0; +exports.FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised']; +class FaceExpressions { constructor(probabilities) { if (probabilities.length !== 7) { throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`); } - FACE_EXPRESSION_LABELS.forEach((expression, idx) => { + exports.FACE_EXPRESSION_LABELS.forEach((expression, idx) => { this[expression] = probabilities[idx]; }); } asSortedArray() { - return FACE_EXPRESSION_LABELS + return exports.FACE_EXPRESSION_LABELS .map(expression => ({ expression, probability: this[expression] })) .sort((e0, e1) => e1.probability - e0.probability); } } +exports.FaceExpressions = FaceExpressions; //# sourceMappingURL=FaceExpressions.js.map \ No newline at end of file diff --git a/build/faceExpressionNet/FaceExpressions.js.map b/build/faceExpressionNet/FaceExpressions.js.map index 4982892..470bd05 100644 --- a/build/faceExpressionNet/FaceExpressions.js.map +++ b/build/faceExpressionNet/FaceExpressions.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceExpressions.js","sourceRoot":"","sources":["../../src/faceExpressionNet/FaceExpressions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;AAE/G,MAAM,OAAO,eAAe;IAS1B,YAAY,aAAsC;QAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,8EAA8E,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;SACtH;QAED,sBAAsB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa;QACX,OAAO,sBAAsB;aAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAW,EAAE,CAAC,CAAC;aAC5E,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAA;IACtD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceExpressions.js","sourceRoot":"","sources":["../../src/faceExpressionNet/FaceExpressions.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;AAE/G,MAAa,eAAe;IAS1B,YAAY,aAAsC;QAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,8EAA8E,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;SACtH;QAED,8BAAsB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa;QACX,OAAO,8BAAsB;aAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAW,EAAE,CAAC,CAAC;aAC5E,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAA;IACtD,CAAC;CACF;AAxBD,0CAwBC"} \ No newline at end of file diff --git a/build/faceExpressionNet/index.js b/build/faceExpressionNet/index.js index 40ccccb..7f3f10b 100644 --- a/build/faceExpressionNet/index.js +++ b/build/faceExpressionNet/index.js @@ -1,3 +1,6 @@ -export * from './FaceExpressionNet'; -export * from './FaceExpressions'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./FaceExpressionNet"), exports); +tslib_1.__exportStar(require("./FaceExpressions"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/faceExpressionNet/index.js.map b/build/faceExpressionNet/index.js.map index 2d00583..6a17266 100644 --- a/build/faceExpressionNet/index.js.map +++ b/build/faceExpressionNet/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceExpressionNet/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceExpressionNet/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,4DAAkC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/FaceFeatureExtractor.js b/build/faceFeatureExtractor/FaceFeatureExtractor.js index fa0b16d..e17ece9 100644 --- a/build/faceFeatureExtractor/FaceFeatureExtractor.js +++ b/build/faceFeatureExtractor/FaceFeatureExtractor.js @@ -1,11 +1,14 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { toNetInput } from '../dom'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { normalize } from '../ops'; -import { denseBlock4 } from './denseBlock'; -import { extractParams } from './extractParams'; -import { extractParamsFromWeigthMap } from './extractParamsFromWeigthMap'; -export class FaceFeatureExtractor extends NeuralNetwork { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceFeatureExtractor = void 0; +const tf = require("@tensorflow/tfjs-core"); +const dom_1 = require("../dom"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const ops_1 = require("../ops"); +const denseBlock_1 = require("./denseBlock"); +const extractParams_1 = require("./extractParams"); +const extractParamsFromWeigthMap_1 = require("./extractParamsFromWeigthMap"); +class FaceFeatureExtractor extends NeuralNetwork_1.NeuralNetwork { constructor() { super('FaceFeatureExtractor'); } @@ -17,26 +20,27 @@ export class FaceFeatureExtractor extends NeuralNetwork { return tf.tidy(() => { const batchTensor = input.toBatchTensor(112, true); const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(tf.scalar(255)); - let out = denseBlock4(normalized, params.dense0, true); - out = denseBlock4(out, params.dense1); - out = denseBlock4(out, params.dense2); - out = denseBlock4(out, params.dense3); + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(255)); + let out = denseBlock_1.denseBlock4(normalized, params.dense0, true); + out = denseBlock_1.denseBlock4(out, params.dense1); + out = denseBlock_1.denseBlock4(out, params.dense2); + out = denseBlock_1.denseBlock4(out, params.dense3); out = tf.avgPool(out, [7, 7], [2, 2], 'valid'); return out; }); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } getDefaultModelName() { return 'face_feature_extractor_model'; } extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap(weightMap); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap); } extractParams(weights) { - return extractParams(weights); + return extractParams_1.extractParams(weights); } } +exports.FaceFeatureExtractor = FaceFeatureExtractor; //# sourceMappingURL=FaceFeatureExtractor.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/FaceFeatureExtractor.js.map b/build/faceFeatureExtractor/FaceFeatureExtractor.js.map index 1f16b85..9e54234 100644 --- a/build/faceFeatureExtractor/FaceFeatureExtractor.js.map +++ b/build/faceFeatureExtractor/FaceFeatureExtractor.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceFeatureExtractor.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/FaceFeatureExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAuB,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,MAAM,OAAO,oBAAqB,SAAQ,aAAyC;IAEjF;QACE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC/B,CAAC;IAEM,YAAY,CAAC,KAAe;QAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;SACtE;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAgB,CAAA;YAErF,IAAI,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACtD,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAE9C,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAES,mBAAmB;QAC3B,OAAO,8BAA8B,CAAA;IACvC,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAES,aAAa,CAAC,OAAqB;QAC3C,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceFeatureExtractor.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/FaceFeatureExtractor.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,gCAAyD;AACzD,oDAAiD;AACjD,gCAAmC;AACnC,6CAA2C;AAC3C,mDAAgD;AAChD,6EAA0E;AAG1E,MAAa,oBAAqB,SAAQ,6BAAyC;IAEjF;QACE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC/B,CAAC;IAEM,YAAY,CAAC,KAAe;QAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;SACtE;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,UAAU,GAAG,eAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAgB,CAAA;YAErF,IAAI,GAAG,GAAG,wBAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACtD,GAAG,GAAG,wBAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,wBAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,wBAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAE9C,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAES,mBAAmB;QAC3B,OAAO,8BAA8B,CAAA;IACvC,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,uDAA0B,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAES,aAAa,CAAC,OAAqB;QAC3C,OAAO,6BAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACF;AA5CD,oDA4CC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js b/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js index ef167e2..9819178 100644 --- a/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js +++ b/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js @@ -1,11 +1,14 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { toNetInput } from '../dom'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { normalize } from '../ops'; -import { denseBlock3 } from './denseBlock'; -import { extractParamsFromWeigthMapTiny } from './extractParamsFromWeigthMapTiny'; -import { extractParamsTiny } from './extractParamsTiny'; -export class TinyFaceFeatureExtractor extends NeuralNetwork { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyFaceFeatureExtractor = void 0; +const tf = require("@tensorflow/tfjs-core"); +const dom_1 = require("../dom"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const ops_1 = require("../ops"); +const denseBlock_1 = require("./denseBlock"); +const extractParamsFromWeigthMapTiny_1 = require("./extractParamsFromWeigthMapTiny"); +const extractParamsTiny_1 = require("./extractParamsTiny"); +class TinyFaceFeatureExtractor extends NeuralNetwork_1.NeuralNetwork { constructor() { super('TinyFaceFeatureExtractor'); } @@ -17,25 +20,26 @@ export class TinyFaceFeatureExtractor extends NeuralNetwork { return tf.tidy(() => { const batchTensor = input.toBatchTensor(112, true); const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(tf.scalar(255)); - let out = denseBlock3(normalized, params.dense0, true); - out = denseBlock3(out, params.dense1); - out = denseBlock3(out, params.dense2); + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(255)); + let out = denseBlock_1.denseBlock3(normalized, params.dense0, true); + out = denseBlock_1.denseBlock3(out, params.dense1); + out = denseBlock_1.denseBlock3(out, params.dense2); out = tf.avgPool(out, [14, 14], [2, 2], 'valid'); return out; }); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } getDefaultModelName() { return 'face_feature_extractor_tiny_model'; } extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMapTiny(weightMap); + return extractParamsFromWeigthMapTiny_1.extractParamsFromWeigthMapTiny(weightMap); } extractParams(weights) { - return extractParamsTiny(weights); + return extractParamsTiny_1.extractParamsTiny(weights); } } +exports.TinyFaceFeatureExtractor = TinyFaceFeatureExtractor; //# sourceMappingURL=TinyFaceFeatureExtractor.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js.map b/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js.map index a4133b7..75e52e7 100644 --- a/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js.map +++ b/build/faceFeatureExtractor/TinyFaceFeatureExtractor.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyFaceFeatureExtractor.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAuB,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,OAAO,wBAAyB,SAAQ,aAA6C;IAEzF;QACE,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACnC,CAAC;IAEM,YAAY,CAAC,KAAe;QAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;SAC1E;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAgB,CAAA;YAErF,IAAI,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACtD,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAEhD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAES,mBAAmB;QAC3B,OAAO,mCAAmC,CAAA;IAC5C,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,8BAA8B,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAES,aAAa,CAAC,OAAqB;QAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"TinyFaceFeatureExtractor.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,gCAAyD;AACzD,oDAAiD;AACjD,gCAAmC;AACnC,6CAA2C;AAC3C,qFAAkF;AAClF,2DAAwD;AAGxD,MAAa,wBAAyB,SAAQ,6BAA6C;IAEzF;QACE,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACnC,CAAC;IAEM,YAAY,CAAC,KAAe;QAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;SAC1E;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,UAAU,GAAG,eAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAgB,CAAA;YAErF,IAAI,GAAG,GAAG,wBAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACtD,GAAG,GAAG,wBAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,wBAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAEhD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAES,mBAAmB;QAC3B,OAAO,mCAAmC,CAAA;IAC5C,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,+DAA8B,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAES,aAAa,CAAC,OAAqB;QAC3C,OAAO,qCAAiB,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;CACF;AA3CD,4DA2CC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/denseBlock.js b/build/faceFeatureExtractor/denseBlock.js index ec9e68a..231dcdb 100644 --- a/build/faceFeatureExtractor/denseBlock.js +++ b/build/faceFeatureExtractor/denseBlock.js @@ -1,27 +1,32 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { depthwiseSeparableConv } from '../common/depthwiseSeparableConv'; -export function denseBlock3(x, denseBlockParams, isFirstLayer = false) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.denseBlock4 = exports.denseBlock3 = void 0; +const tf = require("@tensorflow/tfjs-core"); +const depthwiseSeparableConv_1 = require("../common/depthwiseSeparableConv"); +function denseBlock3(x, denseBlockParams, isFirstLayer = false) { return tf.tidy(() => { const out1 = tf.relu(isFirstLayer ? tf.add(tf.conv2d(x, denseBlockParams.conv0.filters, [2, 2], 'same'), denseBlockParams.conv0.bias) - : depthwiseSeparableConv(x, denseBlockParams.conv0, [2, 2])); - const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); + : depthwiseSeparableConv_1.depthwiseSeparableConv(x, denseBlockParams.conv0, [2, 2])); + const out2 = depthwiseSeparableConv_1.depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); const in3 = tf.relu(tf.add(out1, out2)); - const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); + const out3 = depthwiseSeparableConv_1.depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); return tf.relu(tf.add(out1, tf.add(out2, out3))); }); } -export function denseBlock4(x, denseBlockParams, isFirstLayer = false, isScaleDown = true) { +exports.denseBlock3 = denseBlock3; +function denseBlock4(x, denseBlockParams, isFirstLayer = false, isScaleDown = true) { return tf.tidy(() => { const out1 = tf.relu(isFirstLayer ? tf.add(tf.conv2d(x, denseBlockParams.conv0.filters, isScaleDown ? [2, 2] : [1, 1], 'same'), denseBlockParams.conv0.bias) - : depthwiseSeparableConv(x, denseBlockParams.conv0, isScaleDown ? [2, 2] : [1, 1])); - const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); + : depthwiseSeparableConv_1.depthwiseSeparableConv(x, denseBlockParams.conv0, isScaleDown ? [2, 2] : [1, 1])); + const out2 = depthwiseSeparableConv_1.depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); const in3 = tf.relu(tf.add(out1, out2)); - const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); + const out3 = depthwiseSeparableConv_1.depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); const in4 = tf.relu(tf.add(out1, tf.add(out2, out3))); - const out4 = depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]); + const out4 = depthwiseSeparableConv_1.depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]); return tf.relu(tf.add(out1, tf.add(out2, tf.add(out3, out4)))); }); } +exports.denseBlock4 = denseBlock4; //# sourceMappingURL=denseBlock.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/denseBlock.js.map b/build/faceFeatureExtractor/denseBlock.js.map index dd1c115..7b0cef1 100644 --- a/build/faceFeatureExtractor/denseBlock.js.map +++ b/build/faceFeatureExtractor/denseBlock.js.map @@ -1 +1 @@ -{"version":3,"file":"denseBlock.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/denseBlock.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"denseBlock.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/denseBlock.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParams.js b/build/faceFeatureExtractor/extractParams.js index 053e843..5be5d04 100644 --- a/build/faceFeatureExtractor/extractParams.js +++ b/build/faceFeatureExtractor/extractParams.js @@ -1,9 +1,12 @@ -import { extractWeightsFactory } from '../common'; -import { extractorsFactory } from './extractorsFactory'; -export function extractParams(weights) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParams = void 0; +const common_1 = require("../common"); +const extractorsFactory_1 = require("./extractorsFactory"); +function extractParams(weights) { const paramMappings = []; - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); - const { extractDenseBlock4Params } = extractorsFactory(extractWeights, paramMappings); + const { extractWeights, getRemainingWeights } = common_1.extractWeightsFactory(weights); + const { extractDenseBlock4Params } = extractorsFactory_1.extractorsFactory(extractWeights, paramMappings); const dense0 = extractDenseBlock4Params(3, 32, 'dense0', true); const dense1 = extractDenseBlock4Params(32, 64, 'dense1'); const dense2 = extractDenseBlock4Params(64, 128, 'dense2'); @@ -16,4 +19,5 @@ export function extractParams(weights) { params: { dense0, dense1, dense2, dense3 } }; } +exports.extractParams = extractParams; //# sourceMappingURL=extractParams.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParams.js.map b/build/faceFeatureExtractor/extractParams.js.map index bf2faab..3f0b445 100644 --- a/build/faceFeatureExtractor/extractParams.js.map +++ b/build/faceFeatureExtractor/extractParams.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAgB,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,UAAU,aAAa,CAAC,OAAqB;IAEjD,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,EACJ,wBAAwB,EACzB,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE3D,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;KAC3C,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParams.ts"],"names":[],"mappings":";;;AAAA,sCAAgE;AAChE,2DAAwD;AAIxD,SAAgB,aAAa,CAAC,OAAqB;IAEjD,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,8BAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,EACJ,wBAAwB,EACzB,GAAG,qCAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE3D,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;KAC3C,CAAA;AACH,CAAC;AA1BD,sCA0BC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParamsFromWeigthMap.js b/build/faceFeatureExtractor/extractParamsFromWeigthMap.js index 7f6e4b8..45917db 100644 --- a/build/faceFeatureExtractor/extractParamsFromWeigthMap.js +++ b/build/faceFeatureExtractor/extractParamsFromWeigthMap.js @@ -1,15 +1,19 @@ -import { disposeUnusedWeightTensors } from '../common'; -import { loadParamsFactory } from './loadParamsFactory'; -export function extractParamsFromWeigthMap(weightMap) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMap = void 0; +const common_1 = require("../common"); +const loadParamsFactory_1 = require("./loadParamsFactory"); +function extractParamsFromWeigthMap(weightMap) { const paramMappings = []; - const { extractDenseBlock4Params } = loadParamsFactory(weightMap, paramMappings); + const { extractDenseBlock4Params } = loadParamsFactory_1.loadParamsFactory(weightMap, paramMappings); const params = { dense0: extractDenseBlock4Params('dense0', true), dense1: extractDenseBlock4Params('dense1'), dense2: extractDenseBlock4Params('dense2'), dense3: extractDenseBlock4Params('dense3') }; - disposeUnusedWeightTensors(weightMap, paramMappings); + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params, paramMappings }; } +exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; //# sourceMappingURL=extractParamsFromWeigthMap.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParamsFromWeigthMap.js.map b/build/faceFeatureExtractor/extractParamsFromWeigthMap.js.map index 24f7db7..fc36cbb 100644 --- a/build/faceFeatureExtractor/extractParamsFromWeigthMap.js.map +++ b/build/faceFeatureExtractor/extractParamsFromWeigthMap.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAgB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,UAAU,0BAA0B,CACxC,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,wBAAwB,EACzB,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAC3C,CAAA;IAED,0BAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts"],"names":[],"mappings":";;;AAEA,sCAAqE;AACrE,2DAAwD;AAGxD,SAAgB,0BAA0B,CACxC,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,wBAAwB,EACzB,GAAG,qCAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAC3C,CAAA;IAED,mCAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC;AApBD,gEAoBC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js b/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js index 2f873cf..bfd1674 100644 --- a/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js +++ b/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js @@ -1,14 +1,18 @@ -import { disposeUnusedWeightTensors } from '../common'; -import { loadParamsFactory } from './loadParamsFactory'; -export function extractParamsFromWeigthMapTiny(weightMap) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMapTiny = void 0; +const common_1 = require("../common"); +const loadParamsFactory_1 = require("./loadParamsFactory"); +function extractParamsFromWeigthMapTiny(weightMap) { const paramMappings = []; - const { extractDenseBlock3Params } = loadParamsFactory(weightMap, paramMappings); + const { extractDenseBlock3Params } = loadParamsFactory_1.loadParamsFactory(weightMap, paramMappings); const params = { dense0: extractDenseBlock3Params('dense0', true), dense1: extractDenseBlock3Params('dense1'), dense2: extractDenseBlock3Params('dense2') }; - disposeUnusedWeightTensors(weightMap, paramMappings); + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params, paramMappings }; } +exports.extractParamsFromWeigthMapTiny = extractParamsFromWeigthMapTiny; //# sourceMappingURL=extractParamsFromWeigthMapTiny.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js.map b/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js.map index 6649114..49b8949 100644 --- a/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js.map +++ b/build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMapTiny.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAgB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,UAAU,8BAA8B,CAC5C,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,wBAAwB,EACzB,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAC3C,CAAA;IAED,0BAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMapTiny.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts"],"names":[],"mappings":";;;AAEA,sCAAqE;AACrE,2DAAwD;AAGxD,SAAgB,8BAA8B,CAC5C,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,wBAAwB,EACzB,GAAG,qCAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAC3C,CAAA;IAED,mCAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC;AAnBD,wEAmBC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParamsTiny.js b/build/faceFeatureExtractor/extractParamsTiny.js index 61e5a6e..6a9fdee 100644 --- a/build/faceFeatureExtractor/extractParamsTiny.js +++ b/build/faceFeatureExtractor/extractParamsTiny.js @@ -1,9 +1,12 @@ -import { extractWeightsFactory } from '../common'; -import { extractorsFactory } from './extractorsFactory'; -export function extractParamsTiny(weights) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsTiny = void 0; +const common_1 = require("../common"); +const extractorsFactory_1 = require("./extractorsFactory"); +function extractParamsTiny(weights) { const paramMappings = []; - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); - const { extractDenseBlock3Params } = extractorsFactory(extractWeights, paramMappings); + const { extractWeights, getRemainingWeights } = common_1.extractWeightsFactory(weights); + const { extractDenseBlock3Params } = extractorsFactory_1.extractorsFactory(extractWeights, paramMappings); const dense0 = extractDenseBlock3Params(3, 32, 'dense0', true); const dense1 = extractDenseBlock3Params(32, 64, 'dense1'); const dense2 = extractDenseBlock3Params(64, 128, 'dense2'); @@ -15,4 +18,5 @@ export function extractParamsTiny(weights) { params: { dense0, dense1, dense2 } }; } +exports.extractParamsTiny = extractParamsTiny; //# sourceMappingURL=extractParamsTiny.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractParamsTiny.js.map b/build/faceFeatureExtractor/extractParamsTiny.js.map index 782843e..f066d4d 100644 --- a/build/faceFeatureExtractor/extractParamsTiny.js.map +++ b/build/faceFeatureExtractor/extractParamsTiny.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsTiny.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParamsTiny.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAgB,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,UAAU,iBAAiB,CAAC,OAAqB;IAErD,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,EACJ,wBAAwB,EACzB,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE1D,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;KACnC,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParamsTiny.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractParamsTiny.ts"],"names":[],"mappings":";;;AAAA,sCAAgE;AAChE,2DAAwD;AAKxD,SAAgB,iBAAiB,CAAC,OAAqB;IAErD,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,8BAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,EACJ,wBAAwB,EACzB,GAAG,qCAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE1D,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;KACnC,CAAA;AACH,CAAC;AAzBD,8CAyBC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractorsFactory.js b/build/faceFeatureExtractor/extractorsFactory.js index 721392d..c06f080 100644 --- a/build/faceFeatureExtractor/extractorsFactory.js +++ b/build/faceFeatureExtractor/extractorsFactory.js @@ -1,7 +1,10 @@ -import { extractConvParamsFactory, extractSeparableConvParamsFactory, } from '../common'; -export function extractorsFactory(extractWeights, paramMappings) { - const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings); - const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractorsFactory = void 0; +const common_1 = require("../common"); +function extractorsFactory(extractWeights, paramMappings) { + const extractConvParams = common_1.extractConvParamsFactory(extractWeights, paramMappings); + const extractSeparableConvParams = common_1.extractSeparableConvParamsFactory(extractWeights, paramMappings); function extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer = false) { const conv0 = isFirstLayer ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`) @@ -20,4 +23,5 @@ export function extractorsFactory(extractWeights, paramMappings) { extractDenseBlock4Params }; } +exports.extractorsFactory = extractorsFactory; //# sourceMappingURL=extractorsFactory.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/extractorsFactory.js.map b/build/faceFeatureExtractor/extractorsFactory.js.map index 639df6b..f36a3c4 100644 --- a/build/faceFeatureExtractor/extractorsFactory.js.map +++ b/build/faceFeatureExtractor/extractorsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"extractorsFactory.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractorsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAGlC,MAAM,WAAW,CAAC;AAGnB,MAAM,UAAU,iBAAiB,CAAC,cAAsC,EAAE,aAA6B;IAErG,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IACjF,MAAM,0BAA0B,GAAG,iCAAiC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEnG,SAAS,wBAAwB,CAAC,UAAkB,EAAE,WAAmB,EAAE,YAAoB,EAAE,eAAwB,KAAK;QAE5H,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,YAAY,QAAQ,CAAC;YACxE,CAAC,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAChF,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAC3F,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAE3F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,SAAS,wBAAwB,CAAC,UAAkB,EAAE,WAAmB,EAAE,YAAoB,EAAE,eAAwB,KAAK;QAE5H,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAC7G,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAE3F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,wBAAwB;QACxB,wBAAwB;KACzB,CAAA;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractorsFactory.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/extractorsFactory.ts"],"names":[],"mappings":";;;AAAA,sCAKmB;AAGnB,SAAgB,iBAAiB,CAAC,cAAsC,EAAE,aAA6B;IAErG,MAAM,iBAAiB,GAAG,iCAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IACjF,MAAM,0BAA0B,GAAG,0CAAiC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEnG,SAAS,wBAAwB,CAAC,UAAkB,EAAE,WAAmB,EAAE,YAAoB,EAAE,eAAwB,KAAK;QAE5H,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,YAAY,QAAQ,CAAC;YACxE,CAAC,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAChF,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAC3F,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAE3F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,SAAS,wBAAwB,CAAC,UAAkB,EAAE,WAAmB,EAAE,YAAoB,EAAE,eAAwB,KAAK;QAE5H,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAC7G,MAAM,KAAK,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAA;QAE3F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,wBAAwB;QACxB,wBAAwB;KACzB,CAAA;AAEH,CAAC;AA7BD,8CA6BC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/index.js b/build/faceFeatureExtractor/index.js index 149df2a..e72a7f7 100644 --- a/build/faceFeatureExtractor/index.js +++ b/build/faceFeatureExtractor/index.js @@ -1,3 +1,6 @@ -export * from './FaceFeatureExtractor'; -export * from './TinyFaceFeatureExtractor'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./FaceFeatureExtractor"), exports); +tslib_1.__exportStar(require("./TinyFaceFeatureExtractor"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/index.js.map b/build/faceFeatureExtractor/index.js.map index 3f6f866..48b18de 100644 --- a/build/faceFeatureExtractor/index.js.map +++ b/build/faceFeatureExtractor/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,qEAA2C"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/loadParamsFactory.js b/build/faceFeatureExtractor/loadParamsFactory.js index 06706eb..b5ab63b 100644 --- a/build/faceFeatureExtractor/loadParamsFactory.js +++ b/build/faceFeatureExtractor/loadParamsFactory.js @@ -1,9 +1,12 @@ -import { extractWeightEntryFactory, loadSeparableConvParamsFactory } from '../common'; -import { loadConvParamsFactory } from '../common/loadConvParamsFactory'; -export function loadParamsFactory(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - const extractConvParams = loadConvParamsFactory(extractWeightEntry); - const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.loadParamsFactory = void 0; +const common_1 = require("../common"); +const loadConvParamsFactory_1 = require("../common/loadConvParamsFactory"); +function loadParamsFactory(weightMap, paramMappings) { + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + const extractConvParams = loadConvParamsFactory_1.loadConvParamsFactory(extractWeightEntry); + const extractSeparableConvParams = common_1.loadSeparableConvParamsFactory(extractWeightEntry); function extractDenseBlock3Params(prefix, isFirstLayer = false) { const conv0 = isFirstLayer ? extractConvParams(`${prefix}/conv0`) @@ -26,4 +29,5 @@ export function loadParamsFactory(weightMap, paramMappings) { extractDenseBlock4Params }; } +exports.loadParamsFactory = loadParamsFactory; //# sourceMappingURL=loadParamsFactory.js.map \ No newline at end of file diff --git a/build/faceFeatureExtractor/loadParamsFactory.js.map b/build/faceFeatureExtractor/loadParamsFactory.js.map index 1959176..1af69bc 100644 --- a/build/faceFeatureExtractor/loadParamsFactory.js.map +++ b/build/faceFeatureExtractor/loadParamsFactory.js.map @@ -1 +1 @@ -{"version":3,"file":"loadParamsFactory.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/loadParamsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAgB,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,MAAM,UAAU,iBAAiB,CAAC,SAAc,EAAE,aAA6B;IAE7E,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,0BAA0B,GAAG,8BAA8B,CAAC,kBAAkB,CAAC,CAAA;IAErF,SAAS,wBAAwB,CAAC,MAAc,EAAE,eAAwB,KAAK;QAC7E,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM,QAAQ,CAAC;YACtC,CAAC,CAAC,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,eAAwB,KAAK;QAC7E,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM,QAAQ,CAAC;YACtC,CAAC,CAAC,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,wBAAwB;QACxB,wBAAwB;KACzB,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"loadParamsFactory.js","sourceRoot":"","sources":["../../src/faceFeatureExtractor/loadParamsFactory.ts"],"names":[],"mappings":";;;AAAA,sCAAoG;AACpG,2EAAwE;AAGxE,SAAgB,iBAAiB,CAAC,SAAc,EAAE,aAA6B;IAE7E,MAAM,kBAAkB,GAAG,kCAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,6CAAqB,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,0BAA0B,GAAG,uCAA8B,CAAC,kBAAkB,CAAC,CAAA;IAErF,SAAS,wBAAwB,CAAC,MAAc,EAAE,eAAwB,KAAK;QAC7E,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM,QAAQ,CAAC;YACtC,CAAC,CAAC,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,eAAwB,KAAK;QAC7E,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM,QAAQ,CAAC;YACtC,CAAC,CAAC,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,wBAAwB;QACxB,wBAAwB;KACzB,CAAA;AACH,CAAC;AAhCD,8CAgCC"} \ No newline at end of file diff --git a/build/faceFeatureExtractor/types.js b/build/faceFeatureExtractor/types.js index 5b2306a..11e638d 100644 --- a/build/faceFeatureExtractor/types.js +++ b/build/faceFeatureExtractor/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/faceLandmarkNet/FaceLandmark68Net.js b/build/faceLandmarkNet/FaceLandmark68Net.js index 6d4c73d..d957556 100644 --- a/build/faceLandmarkNet/FaceLandmark68Net.js +++ b/build/faceLandmarkNet/FaceLandmark68Net.js @@ -1,7 +1,10 @@ -import { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor'; -import { FaceLandmark68NetBase } from './FaceLandmark68NetBase'; -export class FaceLandmark68Net extends FaceLandmark68NetBase { - constructor(faceFeatureExtractor = new FaceFeatureExtractor()) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmark68Net = void 0; +const FaceFeatureExtractor_1 = require("../faceFeatureExtractor/FaceFeatureExtractor"); +const FaceLandmark68NetBase_1 = require("./FaceLandmark68NetBase"); +class FaceLandmark68Net extends FaceLandmark68NetBase_1.FaceLandmark68NetBase { + constructor(faceFeatureExtractor = new FaceFeatureExtractor_1.FaceFeatureExtractor()) { super('FaceLandmark68Net', faceFeatureExtractor); } getDefaultModelName() { @@ -11,4 +14,5 @@ export class FaceLandmark68Net extends FaceLandmark68NetBase { return 256; } } +exports.FaceLandmark68Net = FaceLandmark68Net; //# sourceMappingURL=FaceLandmark68Net.js.map \ No newline at end of file diff --git a/build/faceLandmarkNet/FaceLandmark68Net.js.map b/build/faceLandmarkNet/FaceLandmark68Net.js.map index 7c16a36..af25aaf 100644 --- a/build/faceLandmarkNet/FaceLandmark68Net.js.map +++ b/build/faceLandmarkNet/FaceLandmark68Net.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceLandmark68Net.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/FaceLandmark68Net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,OAAO,iBAAkB,SAAQ,qBAAiD;IAEtF,YAAY,uBAA6C,IAAI,oBAAoB,EAAE;QACjF,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;IAClD,CAAC;IAES,mBAAmB;QAC3B,OAAO,wBAAwB,CAAA;IACjC,CAAC;IAES,uBAAuB;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceLandmark68Net.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/FaceLandmark68Net.ts"],"names":[],"mappings":";;;AAAA,uFAAoF;AAEpF,mEAAgE;AAEhE,MAAa,iBAAkB,SAAQ,6CAAiD;IAEtF,YAAY,uBAA6C,IAAI,2CAAoB,EAAE;QACjF,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;IAClD,CAAC;IAES,mBAAmB;QAC3B,OAAO,wBAAwB,CAAA;IACjC,CAAC;IAES,uBAAuB;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAbD,8CAaC"} \ No newline at end of file diff --git a/build/faceLandmarkNet/FaceLandmark68NetBase.js b/build/faceLandmarkNet/FaceLandmark68NetBase.js index 5801a8e..460acd2 100644 --- a/build/faceLandmarkNet/FaceLandmark68NetBase.js +++ b/build/faceLandmarkNet/FaceLandmark68NetBase.js @@ -1,10 +1,13 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { Point } from '../classes'; -import { FaceLandmarks68 } from '../classes/FaceLandmarks68'; -import { toNetInput } from '../dom'; -import { FaceProcessor } from '../faceProcessor/FaceProcessor'; -import { isEven } from '../utils'; -export class FaceLandmark68NetBase extends FaceProcessor { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmark68NetBase = void 0; +const tf = require("@tensorflow/tfjs-core"); +const classes_1 = require("../classes"); +const FaceLandmarks68_1 = require("../classes/FaceLandmarks68"); +const dom_1 = require("../dom"); +const FaceProcessor_1 = require("../faceProcessor/FaceProcessor"); +const utils_1 = require("../utils"); +class FaceLandmark68NetBase extends FaceProcessor_1.FaceProcessor { postProcess(output, inputSize, originalDimensions) { const inputDimensions = originalDimensions.map(({ width, height }) => { const scale = inputSize / Math.max(height, width); @@ -39,16 +42,16 @@ export class FaceLandmark68NetBase extends FaceProcessor { }); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } async detectLandmarks(input) { - const netInput = await toNetInput(input); + const netInput = await dom_1.toNetInput(input); const landmarkTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput))); const landmarksForBatch = await Promise.all(landmarkTensors.map(async (landmarkTensor, batchIdx) => { const landmarksArray = Array.from(await landmarkTensor.data()); - const xCoords = landmarksArray.filter((_, i) => isEven(i)); - const yCoords = landmarksArray.filter((_, i) => !isEven(i)); - return new FaceLandmarks68(Array(68).fill(0).map((_, i) => new Point(xCoords[i], yCoords[i])), { + const xCoords = landmarksArray.filter((_, i) => utils_1.isEven(i)); + const yCoords = landmarksArray.filter((_, i) => !utils_1.isEven(i)); + return new FaceLandmarks68_1.FaceLandmarks68(Array(68).fill(0).map((_, i) => new classes_1.Point(xCoords[i], yCoords[i])), { height: netInput.getInputHeight(batchIdx), width: netInput.getInputWidth(batchIdx), }); @@ -62,4 +65,5 @@ export class FaceLandmark68NetBase extends FaceProcessor { return 136; } } +exports.FaceLandmark68NetBase = FaceLandmark68NetBase; //# sourceMappingURL=FaceLandmark68NetBase.js.map \ No newline at end of file diff --git a/build/faceLandmarkNet/FaceLandmark68NetBase.js.map b/build/faceLandmarkNet/FaceLandmark68NetBase.js.map index 2fae2ed..e2a9c1a 100644 --- a/build/faceLandmarkNet/FaceLandmark68NetBase.js.map +++ b/build/faceLandmarkNet/FaceLandmark68NetBase.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceLandmark68NetBase.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/FaceLandmark68NetBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"FaceLandmark68NetBase.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/FaceLandmark68NetBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/faceLandmarkNet/FaceLandmark68TinyNet.js b/build/faceLandmarkNet/FaceLandmark68TinyNet.js index 5f58220..deb2c52 100644 --- a/build/faceLandmarkNet/FaceLandmark68TinyNet.js +++ b/build/faceLandmarkNet/FaceLandmark68TinyNet.js @@ -1,7 +1,10 @@ -import { TinyFaceFeatureExtractor } from '../faceFeatureExtractor/TinyFaceFeatureExtractor'; -import { FaceLandmark68NetBase } from './FaceLandmark68NetBase'; -export class FaceLandmark68TinyNet extends FaceLandmark68NetBase { - constructor(faceFeatureExtractor = new TinyFaceFeatureExtractor()) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmark68TinyNet = void 0; +const TinyFaceFeatureExtractor_1 = require("../faceFeatureExtractor/TinyFaceFeatureExtractor"); +const FaceLandmark68NetBase_1 = require("./FaceLandmark68NetBase"); +class FaceLandmark68TinyNet extends FaceLandmark68NetBase_1.FaceLandmark68NetBase { + constructor(faceFeatureExtractor = new TinyFaceFeatureExtractor_1.TinyFaceFeatureExtractor()) { super('FaceLandmark68TinyNet', faceFeatureExtractor); } getDefaultModelName() { @@ -11,4 +14,5 @@ export class FaceLandmark68TinyNet extends FaceLandmark68NetBase { return 128; } } +exports.FaceLandmark68TinyNet = FaceLandmark68TinyNet; //# sourceMappingURL=FaceLandmark68TinyNet.js.map \ No newline at end of file diff --git a/build/faceLandmarkNet/FaceLandmark68TinyNet.js.map b/build/faceLandmarkNet/FaceLandmark68TinyNet.js.map index a2fcdcb..00f8615 100644 --- a/build/faceLandmarkNet/FaceLandmark68TinyNet.js.map +++ b/build/faceLandmarkNet/FaceLandmark68TinyNet.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceLandmark68TinyNet.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAE5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,OAAO,qBAAsB,SAAQ,qBAAqD;IAE9F,YAAY,uBAAiD,IAAI,wBAAwB,EAAE;QACzF,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAA;IACtD,CAAC;IAES,mBAAmB;QAC3B,OAAO,6BAA6B,CAAA;IACtC,CAAC;IAES,uBAAuB;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceLandmark68TinyNet.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts"],"names":[],"mappings":";;;AAAA,+FAA4F;AAE5F,mEAAgE;AAEhE,MAAa,qBAAsB,SAAQ,6CAAqD;IAE9F,YAAY,uBAAiD,IAAI,mDAAwB,EAAE;QACzF,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAA;IACtD,CAAC;IAES,mBAAmB;QAC3B,OAAO,6BAA6B,CAAA;IACtC,CAAC;IAES,uBAAuB;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAbD,sDAaC"} \ No newline at end of file diff --git a/build/faceLandmarkNet/index.js b/build/faceLandmarkNet/index.js index 154ed93..79dbdef 100644 --- a/build/faceLandmarkNet/index.js +++ b/build/faceLandmarkNet/index.js @@ -1,6 +1,11 @@ -import { FaceLandmark68Net } from './FaceLandmark68Net'; -export * from './FaceLandmark68Net'; -export * from './FaceLandmark68TinyNet'; -export class FaceLandmarkNet extends FaceLandmark68Net { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceLandmarkNet = void 0; +const tslib_1 = require("tslib"); +const FaceLandmark68Net_1 = require("./FaceLandmark68Net"); +tslib_1.__exportStar(require("./FaceLandmark68Net"), exports); +tslib_1.__exportStar(require("./FaceLandmark68TinyNet"), exports); +class FaceLandmarkNet extends FaceLandmark68Net_1.FaceLandmark68Net { } +exports.FaceLandmarkNet = FaceLandmarkNet; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/faceLandmarkNet/index.js.map b/build/faceLandmarkNet/index.js.map index d957c37..80d5479 100644 --- a/build/faceLandmarkNet/index.js.map +++ b/build/faceLandmarkNet/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAExC,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;CAAG"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceLandmarkNet/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAwD;AAExD,8DAAoC;AACpC,kEAAwC;AAExC,MAAa,eAAgB,SAAQ,qCAAiB;CAAG;AAAzD,0CAAyD"} \ No newline at end of file diff --git a/build/faceProcessor/FaceProcessor.js b/build/faceProcessor/FaceProcessor.js index 6d6fe34..a809d83 100644 --- a/build/faceProcessor/FaceProcessor.js +++ b/build/faceProcessor/FaceProcessor.js @@ -1,11 +1,14 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { fullyConnectedLayer } from '../common/fullyConnectedLayer'; -import { NetInput } from '../dom'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { extractParams } from './extractParams'; -import { extractParamsFromWeigthMap } from './extractParamsFromWeigthMap'; -import { seperateWeightMaps } from './util'; -export class FaceProcessor extends NeuralNetwork { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceProcessor = void 0; +const tf = require("@tensorflow/tfjs-core"); +const fullyConnectedLayer_1 = require("../common/fullyConnectedLayer"); +const dom_1 = require("../dom"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const extractParams_1 = require("./extractParams"); +const extractParamsFromWeigthMap_1 = require("./extractParamsFromWeigthMap"); +const util_1 = require("./util"); +class FaceProcessor extends NeuralNetwork_1.NeuralNetwork { constructor(_name, faceFeatureExtractor) { super(_name); this._faceFeatureExtractor = faceFeatureExtractor; @@ -19,10 +22,10 @@ export class FaceProcessor extends NeuralNetwork { throw new Error(`${this._name} - load model before inference`); } return tf.tidy(() => { - const bottleneckFeatures = input instanceof NetInput + const bottleneckFeatures = input instanceof dom_1.NetInput ? this.faceFeatureExtractor.forwardInput(input) : input; - return fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc); + return fullyConnectedLayer_1.fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc); }); } dispose(throwOnRedispose = true) { @@ -35,12 +38,12 @@ export class FaceProcessor extends NeuralNetwork { this._paramMappings = paramMappings; } extractClassifierParams(weights) { - return extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut()); + return extractParams_1.extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut()); } extractParamsFromWeigthMap(weightMap) { - const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap); + const { featureExtractorMap, classifierMap } = util_1.seperateWeightMaps(weightMap); this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap); - return extractParamsFromWeigthMap(classifierMap); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(classifierMap); } extractParams(weights) { const cIn = this.getClassifierChannelsIn(); @@ -52,4 +55,5 @@ export class FaceProcessor extends NeuralNetwork { return this.extractClassifierParams(classifierWeights); } } +exports.FaceProcessor = FaceProcessor; //# sourceMappingURL=FaceProcessor.js.map \ No newline at end of file diff --git a/build/faceProcessor/FaceProcessor.js.map b/build/faceProcessor/FaceProcessor.js.map index f4bb7f6..0266327 100644 --- a/build/faceProcessor/FaceProcessor.js.map +++ b/build/faceProcessor/FaceProcessor.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceProcessor.js","sourceRoot":"","sources":["../../src/faceProcessor/FaceProcessor.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"FaceProcessor.js","sourceRoot":"","sources":["../../src/faceProcessor/FaceProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,uEAAoE;AACpE,gCAAkC;AAMlC,oDAAiD;AACjD,mDAAgD;AAChD,6EAA0E;AAE1E,iCAA4C;AAE5C,MAAsB,aAGpB,SAAQ,6BAAwB;IAIhC,YAAY,KAAa,EAAE,oBAA6D;QACtF,KAAK,CAAC,KAAK,CAAC,CAAA;QACZ,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAA;IACnC,CAAC;IAMM,MAAM,CAAC,KAA6B;QAEzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,gCAAgC,CAAC,CAAA;SAC/D;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,kBAAkB,GAAG,KAAK,YAAY,cAAQ;gBAClD,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC/C,CAAC,CAAC,KAAK,CAAA;YACT,OAAO,yCAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACjG,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,OAAO,CAAC,mBAA4B,IAAI;QAC7C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QACnD,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACjC,CAAC;IAEM,oBAAoB,CAAC,OAAqB;QAC/C,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAA;QACvE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;IACrC,CAAC;IAEM,uBAAuB,CAAC,OAAqB;QAClD,OAAO,6BAAa,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAA;IAChG,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAE/D,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,yBAAkB,CAAC,SAAS,CAAC,CAAA;QAE5E,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;QAEhE,OAAO,uDAA0B,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAES,aAAa,CAAC,OAAqB;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC5C,MAAM,oBAAoB,GAAG,CAAC,IAAI,GAAG,GAAG,CAAE,GAAG,IAAI,CAAA;QAEjD,MAAM,uBAAuB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAA;QACvF,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAA;QAE9E,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;IACxD,CAAC;CACF;AAxED,sCAwEC"} \ No newline at end of file diff --git a/build/faceProcessor/extractParams.js b/build/faceProcessor/extractParams.js index 76eeb97..4508d63 100644 --- a/build/faceProcessor/extractParams.js +++ b/build/faceProcessor/extractParams.js @@ -1,8 +1,11 @@ -import { extractFCParamsFactory, extractWeightsFactory } from '../common'; -export function extractParams(weights, channelsIn, channelsOut) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParams = void 0; +const common_1 = require("../common"); +function extractParams(weights, channelsIn, channelsOut) { const paramMappings = []; - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); - const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings); + const { extractWeights, getRemainingWeights } = common_1.extractWeightsFactory(weights); + const extractFCParams = common_1.extractFCParamsFactory(extractWeights, paramMappings); const fc = extractFCParams(channelsIn, channelsOut, 'fc'); if (getRemainingWeights().length !== 0) { throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); @@ -12,4 +15,5 @@ export function extractParams(weights, channelsIn, channelsOut) { params: { fc } }; } +exports.extractParams = extractParams; //# sourceMappingURL=extractParams.js.map \ No newline at end of file diff --git a/build/faceProcessor/extractParams.js.map b/build/faceProcessor/extractParams.js.map index 6807039..6ce429a 100644 --- a/build/faceProcessor/extractParams.js.map +++ b/build/faceProcessor/extractParams.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/faceProcessor/extractParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAgB,MAAM,WAAW,CAAC;AAGxF,MAAM,UAAU,aAAa,CAAC,OAAqB,EAAE,UAAkB,EAAE,WAAmB;IAE1F,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAE7E,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IAEzD,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,EAAE,EAAE;KACf,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/faceProcessor/extractParams.ts"],"names":[],"mappings":";;;AAAA,sCAAwF;AAGxF,SAAgB,aAAa,CAAC,OAAqB,EAAE,UAAkB,EAAE,WAAmB;IAE1F,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,8BAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,eAAe,GAAG,+BAAsB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAE7E,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IAEzD,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,EAAE,EAAE;KACf,CAAA;AACH,CAAC;AArBD,sCAqBC"} \ No newline at end of file diff --git a/build/faceProcessor/extractParamsFromWeigthMap.js b/build/faceProcessor/extractParamsFromWeigthMap.js index 67c620e..edcc064 100644 --- a/build/faceProcessor/extractParamsFromWeigthMap.js +++ b/build/faceProcessor/extractParamsFromWeigthMap.js @@ -1,7 +1,10 @@ -import { disposeUnusedWeightTensors, extractWeightEntryFactory } from '../common'; -export function extractParamsFromWeigthMap(weightMap) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMap = void 0; +const common_1 = require("../common"); +function extractParamsFromWeigthMap(weightMap) { const paramMappings = []; - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); function extractFcParams(prefix) { const weights = extractWeightEntry(`${prefix}/weights`, 2); const bias = extractWeightEntry(`${prefix}/bias`, 1); @@ -10,7 +13,8 @@ export function extractParamsFromWeigthMap(weightMap) { const params = { fc: extractFcParams('fc') }; - disposeUnusedWeightTensors(weightMap, paramMappings); + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params, paramMappings }; } +exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; //# sourceMappingURL=extractParamsFromWeigthMap.js.map \ No newline at end of file diff --git a/build/faceProcessor/extractParamsFromWeigthMap.js.map b/build/faceProcessor/extractParamsFromWeigthMap.js.map index c04cc81..4c8dcc4 100644 --- a/build/faceProcessor/extractParamsFromWeigthMap.js.map +++ b/build/faceProcessor/extractParamsFromWeigthMap.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/faceProcessor/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAA0B,MAAM,WAAW,CAAC;AAG1G,MAAM,UAAU,0BAA0B,CACxC,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,SAAS,eAAe,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC;KAC1B,CAAA;IAED,0BAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/faceProcessor/extractParamsFromWeigthMap.ts"],"names":[],"mappings":";;;AAEA,sCAA0G;AAG1G,SAAgB,0BAA0B,CACxC,SAA4B;IAG5B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,kBAAkB,GAAG,kCAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,SAAS,eAAe,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC;KAC1B,CAAA;IAED,mCAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC;AArBD,gEAqBC"} \ No newline at end of file diff --git a/build/faceProcessor/index.js b/build/faceProcessor/index.js index 43ae5c6..c1581fa 100644 --- a/build/faceProcessor/index.js +++ b/build/faceProcessor/index.js @@ -1,2 +1,5 @@ -export * from './FaceProcessor'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./FaceProcessor"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/faceProcessor/index.js.map b/build/faceProcessor/index.js.map index 0ea0f85..1581545 100644 --- a/build/faceProcessor/index.js.map +++ b/build/faceProcessor/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceProcessor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceProcessor/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"} \ No newline at end of file diff --git a/build/faceProcessor/types.js b/build/faceProcessor/types.js index 5b2306a..11e638d 100644 --- a/build/faceProcessor/types.js +++ b/build/faceProcessor/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/faceProcessor/util.js b/build/faceProcessor/util.js index f400d03..3e57973 100644 --- a/build/faceProcessor/util.js +++ b/build/faceProcessor/util.js @@ -1,4 +1,7 @@ -export function seperateWeightMaps(weightMap) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.seperateWeightMaps = void 0; +function seperateWeightMaps(weightMap) { const featureExtractorMap = {}; const classifierMap = {}; Object.keys(weightMap).forEach(key => { @@ -7,4 +10,5 @@ export function seperateWeightMaps(weightMap) { }); return { featureExtractorMap, classifierMap }; } +exports.seperateWeightMaps = seperateWeightMaps; //# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/build/faceProcessor/util.js.map b/build/faceProcessor/util.js.map index 282c9d7..a44f66b 100644 --- a/build/faceProcessor/util.js.map +++ b/build/faceProcessor/util.js.map @@ -1 +1 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/faceProcessor/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,SAA4B;IAE7D,MAAM,mBAAmB,GAAsB,EAAE,CAAA;IACjD,MAAM,aAAa,GAAsB,EAAE,CAAA;IAE3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACnC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAA;QACtE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAA;AAE/C,CAAC"} \ No newline at end of file +{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/faceProcessor/util.ts"],"names":[],"mappings":";;;AAEA,SAAgB,kBAAkB,CAAC,SAA4B;IAE7D,MAAM,mBAAmB,GAAsB,EAAE,CAAA;IACjD,MAAM,aAAa,GAAsB,EAAE,CAAA;IAE3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACnC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAA;QACtE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAA;AAE/C,CAAC;AAZD,gDAYC"} \ No newline at end of file diff --git a/build/faceRecognitionNet/FaceRecognitionNet.js b/build/faceRecognitionNet/FaceRecognitionNet.js index f283492..d04f910 100644 --- a/build/faceRecognitionNet/FaceRecognitionNet.js +++ b/build/faceRecognitionNet/FaceRecognitionNet.js @@ -1,12 +1,15 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { toNetInput } from '../dom'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { normalize } from '../ops'; -import { convDown } from './convLayer'; -import { extractParams } from './extractParams'; -import { extractParamsFromWeigthMap } from './extractParamsFromWeigthMap'; -import { residual, residualDown } from './residualLayer'; -export class FaceRecognitionNet extends NeuralNetwork { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceRecognitionNet = void 0; +const tf = require("@tensorflow/tfjs-core"); +const dom_1 = require("../dom"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const ops_1 = require("../ops"); +const convLayer_1 = require("./convLayer"); +const extractParams_1 = require("./extractParams"); +const extractParamsFromWeigthMap_1 = require("./extractParamsFromWeigthMap"); +const residualLayer_1 = require("./residualLayer"); +class FaceRecognitionNet extends NeuralNetwork_1.NeuralNetwork { constructor() { super('FaceRecognitionNet'); } @@ -18,33 +21,33 @@ export class FaceRecognitionNet extends NeuralNetwork { return tf.tidy(() => { const batchTensor = input.toBatchTensor(150, true).toFloat(); const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(tf.scalar(256)); - let out = convDown(normalized, params.conv32_down); + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(256)); + let out = convLayer_1.convDown(normalized, params.conv32_down); out = tf.maxPool(out, 3, 2, 'valid'); - out = residual(out, params.conv32_1); - out = residual(out, params.conv32_2); - out = residual(out, params.conv32_3); - out = residualDown(out, params.conv64_down); - out = residual(out, params.conv64_1); - out = residual(out, params.conv64_2); - out = residual(out, params.conv64_3); - out = residualDown(out, params.conv128_down); - out = residual(out, params.conv128_1); - out = residual(out, params.conv128_2); - out = residualDown(out, params.conv256_down); - out = residual(out, params.conv256_1); - out = residual(out, params.conv256_2); - out = residualDown(out, params.conv256_down_out); + out = residualLayer_1.residual(out, params.conv32_1); + out = residualLayer_1.residual(out, params.conv32_2); + out = residualLayer_1.residual(out, params.conv32_3); + out = residualLayer_1.residualDown(out, params.conv64_down); + out = residualLayer_1.residual(out, params.conv64_1); + out = residualLayer_1.residual(out, params.conv64_2); + out = residualLayer_1.residual(out, params.conv64_3); + out = residualLayer_1.residualDown(out, params.conv128_down); + out = residualLayer_1.residual(out, params.conv128_1); + out = residualLayer_1.residual(out, params.conv128_2); + out = residualLayer_1.residualDown(out, params.conv256_down); + out = residualLayer_1.residual(out, params.conv256_1); + out = residualLayer_1.residual(out, params.conv256_2); + out = residualLayer_1.residualDown(out, params.conv256_down_out); const globalAvg = out.mean([1, 2]); const fullyConnected = tf.matMul(globalAvg, params.fc); return fullyConnected; }); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } async computeFaceDescriptor(input) { - const netInput = await toNetInput(input); + const netInput = await dom_1.toNetInput(input); const faceDescriptorTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput))); const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map(t => t.data())); faceDescriptorTensors.forEach(t => t.dispose()); @@ -56,10 +59,11 @@ export class FaceRecognitionNet extends NeuralNetwork { return 'face_recognition_model'; } extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap(weightMap); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap); } extractParams(weights) { - return extractParams(weights); + return extractParams_1.extractParams(weights); } } +exports.FaceRecognitionNet = FaceRecognitionNet; //# sourceMappingURL=FaceRecognitionNet.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/FaceRecognitionNet.js.map b/build/faceRecognitionNet/FaceRecognitionNet.js.map index c6af66a..77264c2 100644 --- a/build/faceRecognitionNet/FaceRecognitionNet.js.map +++ b/build/faceRecognitionNet/FaceRecognitionNet.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceRecognitionNet.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/FaceRecognitionNet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAuB,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIzD,MAAM,OAAO,kBAAmB,SAAQ,aAAwB;IAE9D;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC7B,CAAC;IAEM,YAAY,CAAC,KAAe;QAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;YAE5D,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAgB,CAAA;YAErF,IAAI,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YAClD,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YAEpC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEpC,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YAC3C,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEpC,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;YAC5C,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;YACrC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;YAErC,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;YAC5C,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;YACrC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;YACrC,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAEhD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB,CAAA;YACjD,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YAEtD,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAAgB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,KAAgB;QACjD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;QAExC,MAAM,qBAAqB,GAAG,EAAE,CAAC,IAAI,CACnC,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAC9C,CAAA;QAED,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CACzE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CACd,CAAmB,CAAA;QAEpB,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAE/C,OAAO,QAAQ,CAAC,YAAY;YAC1B,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAES,mBAAmB;QAC3B,OAAO,wBAAwB,CAAA;IACjC,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAES,aAAa,CAAC,OAAqB;QAC3C,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"FaceRecognitionNet.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/FaceRecognitionNet.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/faceRecognitionNet/convLayer.js b/build/faceRecognitionNet/convLayer.js index 9aa5ca9..abec574 100644 --- a/build/faceRecognitionNet/convLayer.js +++ b/build/faceRecognitionNet/convLayer.js @@ -1,19 +1,25 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { scale } from './scaleLayer'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convDown = exports.convNoRelu = exports.conv = void 0; +const tf = require("@tensorflow/tfjs-core"); +const scaleLayer_1 = require("./scaleLayer"); function convLayer(x, params, strides, withRelu, padding = 'same') { const { filters, bias } = params.conv; let out = tf.conv2d(x, filters, strides, padding); out = tf.add(out, bias); - out = scale(out, params.scale); + out = scaleLayer_1.scale(out, params.scale); return withRelu ? tf.relu(out) : out; } -export function conv(x, params) { +function conv(x, params) { return convLayer(x, params, [1, 1], true); } -export function convNoRelu(x, params) { +exports.conv = conv; +function convNoRelu(x, params) { return convLayer(x, params, [1, 1], false); } -export function convDown(x, params) { +exports.convNoRelu = convNoRelu; +function convDown(x, params) { return convLayer(x, params, [2, 2], true, 'valid'); } +exports.convDown = convDown; //# sourceMappingURL=convLayer.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/convLayer.js.map b/build/faceRecognitionNet/convLayer.js.map index 676f31e..364c871 100644 --- a/build/faceRecognitionNet/convLayer.js.map +++ b/build/faceRecognitionNet/convLayer.js.map @@ -1 +1 @@ -{"version":3,"file":"convLayer.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/convLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,SAAS,SAAS,CAChB,CAAc,EACd,MAAuB,EACvB,OAAyB,EACzB,QAAiB,EACjB,UAA4B,MAAM;IAElC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAErC,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACjD,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACvB,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAc,EAAE,MAAuB;IAC1D,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAc,EAAE,MAAuB;IAChE,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAc,EAAE,MAAuB;IAC9D,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC"} \ No newline at end of file +{"version":3,"file":"convLayer.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/convLayer.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,6CAAqC;AAIrC,SAAS,SAAS,CAChB,CAAc,EACd,MAAuB,EACvB,OAAyB,EACzB,QAAiB,EACjB,UAA4B,MAAM;IAElC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAErC,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACjD,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACvB,GAAG,GAAG,kBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AACtC,CAAC;AAED,SAAgB,IAAI,CAAC,CAAc,EAAE,MAAuB;IAC1D,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC;AAFD,oBAEC;AAED,SAAgB,UAAU,CAAC,CAAc,EAAE,MAAuB;IAChE,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAC5C,CAAC;AAFD,gCAEC;AAED,SAAgB,QAAQ,CAAC,CAAc,EAAE,MAAuB;IAC9D,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC;AAFD,4BAEC"} \ No newline at end of file diff --git a/build/faceRecognitionNet/extractParams.js b/build/faceRecognitionNet/extractParams.js index 01c5701..d4b8559 100644 --- a/build/faceRecognitionNet/extractParams.js +++ b/build/faceRecognitionNet/extractParams.js @@ -1,11 +1,14 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { extractWeightsFactory } from '../common'; -import { isFloat } from '../utils'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParams = void 0; +const tf = require("@tensorflow/tfjs-core"); +const common_1 = require("../common"); +const utils_1 = require("../utils"); function extractorsFactory(extractWeights, paramMappings) { function extractFilterValues(numFilterValues, numFilters, filterSize) { const weights = extractWeights(numFilterValues); const depth = weights.length / (numFilters * filterSize * filterSize); - if (isFloat(depth)) { + if (utils_1.isFloat(depth)) { throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`); } return tf.tidy(() => tf.transpose(tf.tensor4d(weights, [numFilters, depth, filterSize, filterSize]), [2, 3, 1, 0])); @@ -40,8 +43,8 @@ function extractorsFactory(extractWeights, paramMappings) { extractResidualLayerParams }; } -export function extractParams(weights) { - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); +function extractParams(weights) { + const { extractWeights, getRemainingWeights } = common_1.extractWeightsFactory(weights); const paramMappings = []; const { extractConvLayerParams, extractResidualLayerParams } = extractorsFactory(extractWeights, paramMappings); const conv32_down = extractConvLayerParams(4704, 32, 7, 'conv32_down'); @@ -84,4 +87,5 @@ export function extractParams(weights) { }; return { params, paramMappings }; } +exports.extractParams = extractParams; //# sourceMappingURL=extractParams.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/extractParams.js.map b/build/faceRecognitionNet/extractParams.js.map index 9fd7b72..c67e968 100644 --- a/build/faceRecognitionNet/extractParams.js.map +++ b/build/faceRecognitionNet/extractParams.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/extractParams.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/extractParams.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/faceRecognitionNet/extractParamsFromWeigthMap.js b/build/faceRecognitionNet/extractParamsFromWeigthMap.js index 8394d3d..44df42d 100644 --- a/build/faceRecognitionNet/extractParamsFromWeigthMap.js +++ b/build/faceRecognitionNet/extractParamsFromWeigthMap.js @@ -1,7 +1,10 @@ -import { disposeUnusedWeightTensors, extractWeightEntryFactory } from '../common'; -import { isTensor2D } from '../utils'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMap = void 0; +const common_1 = require("../common"); +const utils_1 = require("../utils"); function extractorsFactory(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); function extractScaleLayerParams(prefix) { const weights = extractWeightEntry(`${prefix}/scale/weights`, 1); const biases = extractWeightEntry(`${prefix}/scale/biases`, 1); @@ -24,7 +27,7 @@ function extractorsFactory(weightMap, paramMappings) { extractResidualLayerParams }; } -export function extractParamsFromWeigthMap(weightMap) { +function extractParamsFromWeigthMap(weightMap) { const paramMappings = []; const { extractConvLayerParams, extractResidualLayerParams } = extractorsFactory(weightMap, paramMappings); const conv32_down = extractConvLayerParams('conv32_down'); @@ -44,7 +47,7 @@ export function extractParamsFromWeigthMap(weightMap) { const conv256_down_out = extractResidualLayerParams('conv256_down_out'); const fc = weightMap['fc']; paramMappings.push({ originalPath: 'fc', paramPath: 'fc' }); - if (!isTensor2D(fc)) { + if (!utils_1.isTensor2D(fc)) { throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`); } const params = { @@ -65,7 +68,8 @@ export function extractParamsFromWeigthMap(weightMap) { conv256_down_out, fc }; - disposeUnusedWeightTensors(weightMap, paramMappings); + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params, paramMappings }; } +exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; //# sourceMappingURL=extractParamsFromWeigthMap.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/extractParamsFromWeigthMap.js.map b/build/faceRecognitionNet/extractParamsFromWeigthMap.js.map index 9c5829b..80ed990 100644 --- a/build/faceRecognitionNet/extractParamsFromWeigthMap.js.map +++ b/build/faceRecognitionNet/extractParamsFromWeigthMap.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/faceRecognitionNet/index.js b/build/faceRecognitionNet/index.js index 20f2421..ba982ea 100644 --- a/build/faceRecognitionNet/index.js +++ b/build/faceRecognitionNet/index.js @@ -1,8 +1,13 @@ -import { FaceRecognitionNet } from './FaceRecognitionNet'; -export * from './FaceRecognitionNet'; -export function createFaceRecognitionNet(weights) { - const net = new FaceRecognitionNet(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createFaceRecognitionNet = void 0; +const tslib_1 = require("tslib"); +const FaceRecognitionNet_1 = require("./FaceRecognitionNet"); +tslib_1.__exportStar(require("./FaceRecognitionNet"), exports); +function createFaceRecognitionNet(weights) { + const net = new FaceRecognitionNet_1.FaceRecognitionNet(); net.extractWeights(weights); return net; } +exports.createFaceRecognitionNet = createFaceRecognitionNet; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/index.js.map b/build/faceRecognitionNet/index.js.map index 82f4dcc..3cf6839 100644 --- a/build/faceRecognitionNet/index.js.map +++ b/build/faceRecognitionNet/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,cAAc,sBAAsB,CAAC;AAErC,MAAM,UAAU,wBAAwB,CAAC,OAAqB;IAC5D,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IACpC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/index.ts"],"names":[],"mappings":";;;;AAAA,6DAA0D;AAE1D,+DAAqC;AAErC,SAAgB,wBAAwB,CAAC,OAAqB;IAC5D,MAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAA;IACpC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC;AAJD,4DAIC"} \ No newline at end of file diff --git a/build/faceRecognitionNet/residualLayer.js b/build/faceRecognitionNet/residualLayer.js index 33b411e..a28f662 100644 --- a/build/faceRecognitionNet/residualLayer.js +++ b/build/faceRecognitionNet/residualLayer.js @@ -1,15 +1,19 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { conv, convDown, convNoRelu } from './convLayer'; -export function residual(x, params) { - let out = conv(x, params.conv1); - out = convNoRelu(out, params.conv2); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.residualDown = exports.residual = void 0; +const tf = require("@tensorflow/tfjs-core"); +const convLayer_1 = require("./convLayer"); +function residual(x, params) { + let out = convLayer_1.conv(x, params.conv1); + out = convLayer_1.convNoRelu(out, params.conv2); out = tf.add(out, x); out = tf.relu(out); return out; } -export function residualDown(x, params) { - let out = convDown(x, params.conv1); - out = convNoRelu(out, params.conv2); +exports.residual = residual; +function residualDown(x, params) { + let out = convLayer_1.convDown(x, params.conv1); + out = convLayer_1.convNoRelu(out, params.conv2); let pooled = tf.avgPool(x, 2, 2, 'valid'); const zeros = tf.zeros(pooled.shape); const isPad = pooled.shape[3] !== out.shape[3]; @@ -29,4 +33,5 @@ export function residualDown(x, params) { out = tf.relu(out); return out; } +exports.residualDown = residualDown; //# sourceMappingURL=residualLayer.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/residualLayer.js.map b/build/faceRecognitionNet/residualLayer.js.map index 4f805e5..0b35ac2 100644 --- a/build/faceRecognitionNet/residualLayer.js.map +++ b/build/faceRecognitionNet/residualLayer.js.map @@ -1 +1 @@ -{"version":3,"file":"residualLayer.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/residualLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD,MAAM,UAAU,QAAQ,CAAC,CAAc,EAAE,MAA2B;IAClE,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACpB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAc,EAAE,MAA2B;IACtE,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAEnC,IAAI,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAgB,CAAA;IACxD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAa,MAAM,CAAC,KAAK,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1F,IAAI,aAAa,EAAE;QACjB,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAqC,CAAA;QACpE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAa,SAAS,CAAC,CAAA;QAC9C,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAEjC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAqC,CAAA;QACpE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAa,SAAS,CAAC,CAAA;QAC9C,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;KAClC;IAED,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACvD,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAgB,CAAA;IAExC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"residualLayer.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/residualLayer.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,2CAAyD;AAGzD,SAAgB,QAAQ,CAAC,CAAc,EAAE,MAA2B;IAClE,IAAI,GAAG,GAAG,gBAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,GAAG,GAAG,sBAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACpB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC;AAND,4BAMC;AAED,SAAgB,YAAY,CAAC,CAAc,EAAE,MAA2B;IACtE,IAAI,GAAG,GAAG,oBAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,GAAG,GAAG,sBAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAEnC,IAAI,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAgB,CAAA;IACxD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAa,MAAM,CAAC,KAAK,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1F,IAAI,aAAa,EAAE;QACjB,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAqC,CAAA;QACpE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAa,SAAS,CAAC,CAAA;QAC9C,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAEjC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAqC,CAAA;QACpE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAa,SAAS,CAAC,CAAA;QAC9C,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;KAClC;IAED,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACvD,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAgB,CAAA;IAExC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC;AA1BD,oCA0BC"} \ No newline at end of file diff --git a/build/faceRecognitionNet/scaleLayer.js b/build/faceRecognitionNet/scaleLayer.js index 6c1b911..80493b9 100644 --- a/build/faceRecognitionNet/scaleLayer.js +++ b/build/faceRecognitionNet/scaleLayer.js @@ -1,5 +1,9 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function scale(x, params) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.scale = void 0; +const tf = require("@tensorflow/tfjs-core"); +function scale(x, params) { return tf.add(tf.mul(x, params.weights), params.biases); } +exports.scale = scale; //# sourceMappingURL=scaleLayer.js.map \ No newline at end of file diff --git a/build/faceRecognitionNet/scaleLayer.js.map b/build/faceRecognitionNet/scaleLayer.js.map index f40308c..d884d4c 100644 --- a/build/faceRecognitionNet/scaleLayer.js.map +++ b/build/faceRecognitionNet/scaleLayer.js.map @@ -1 +1 @@ -{"version":3,"file":"scaleLayer.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/scaleLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,UAAU,KAAK,CAAC,CAAc,EAAE,MAAwB;IAC5D,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACzD,CAAC"} \ No newline at end of file +{"version":3,"file":"scaleLayer.js","sourceRoot":"","sources":["../../src/faceRecognitionNet/scaleLayer.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAI5C,SAAgB,KAAK,CAAC,CAAc,EAAE,MAAwB;IAC5D,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACzD,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/build/faceRecognitionNet/types.js b/build/faceRecognitionNet/types.js index 5b2306a..11e638d 100644 --- a/build/faceRecognitionNet/types.js +++ b/build/faceRecognitionNet/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/factories/WithAge.js b/build/factories/WithAge.js index 0cf40e3..fe1046c 100644 --- a/build/factories/WithAge.js +++ b/build/factories/WithAge.js @@ -1,8 +1,13 @@ -export function isWithAge(obj) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extendWithAge = exports.isWithAge = void 0; +function isWithAge(obj) { return typeof obj['age'] === 'number'; } -export function extendWithAge(sourceObj, age) { +exports.isWithAge = isWithAge; +function extendWithAge(sourceObj, age) { const extension = { age }; return Object.assign({}, sourceObj, extension); } +exports.extendWithAge = extendWithAge; //# sourceMappingURL=WithAge.js.map \ No newline at end of file diff --git a/build/factories/WithAge.js.map b/build/factories/WithAge.js.map index 293d432..cc1c189 100644 --- a/build/factories/WithAge.js.map +++ b/build/factories/WithAge.js.map @@ -1 +1 @@ -{"version":3,"file":"WithAge.js","sourceRoot":"","sources":["../../src/factories/WithAge.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,OAAO,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAG3B,SAAkB,EAClB,GAAW;IAGX,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAA;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"WithAge.js","sourceRoot":"","sources":["../../src/factories/WithAge.ts"],"names":[],"mappings":";;;AAIA,SAAgB,SAAS,CAAC,GAAQ;IAChC,OAAO,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAA;AACvC,CAAC;AAFD,8BAEC;AAED,SAAgB,aAAa,CAG3B,SAAkB,EAClB,GAAW;IAGX,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAA;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AATD,sCASC"} \ No newline at end of file diff --git a/build/factories/WithFaceDescriptor.js b/build/factories/WithFaceDescriptor.js index db68278..ef36d08 100644 --- a/build/factories/WithFaceDescriptor.js +++ b/build/factories/WithFaceDescriptor.js @@ -1,5 +1,9 @@ -export function extendWithFaceDescriptor(sourceObj, descriptor) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extendWithFaceDescriptor = void 0; +function extendWithFaceDescriptor(sourceObj, descriptor) { const extension = { descriptor }; return Object.assign({}, sourceObj, extension); } +exports.extendWithFaceDescriptor = extendWithFaceDescriptor; //# sourceMappingURL=WithFaceDescriptor.js.map \ No newline at end of file diff --git a/build/factories/WithFaceDescriptor.js.map b/build/factories/WithFaceDescriptor.js.map index f3184b3..80aafe9 100644 --- a/build/factories/WithFaceDescriptor.js.map +++ b/build/factories/WithFaceDescriptor.js.map @@ -1 +1 @@ -{"version":3,"file":"WithFaceDescriptor.js","sourceRoot":"","sources":["../../src/factories/WithFaceDescriptor.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,wBAAwB,CAGtC,SAAkB,EAClB,UAAwB;IAGxB,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,CAAA;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"WithFaceDescriptor.js","sourceRoot":"","sources":["../../src/factories/WithFaceDescriptor.ts"],"names":[],"mappings":";;;AAIA,SAAgB,wBAAwB,CAGtC,SAAkB,EAClB,UAAwB;IAGxB,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,CAAA;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AATD,4DASC"} \ No newline at end of file diff --git a/build/factories/WithFaceDetection.js b/build/factories/WithFaceDetection.js index fc28fb5..9503646 100644 --- a/build/factories/WithFaceDetection.js +++ b/build/factories/WithFaceDetection.js @@ -1,9 +1,14 @@ -import { FaceDetection } from '../classes/FaceDetection'; -export function isWithFaceDetection(obj) { - return obj['detection'] instanceof FaceDetection; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extendWithFaceDetection = exports.isWithFaceDetection = void 0; +const FaceDetection_1 = require("../classes/FaceDetection"); +function isWithFaceDetection(obj) { + return obj['detection'] instanceof FaceDetection_1.FaceDetection; } -export function extendWithFaceDetection(sourceObj, detection) { +exports.isWithFaceDetection = isWithFaceDetection; +function extendWithFaceDetection(sourceObj, detection) { const extension = { detection }; return Object.assign({}, sourceObj, extension); } +exports.extendWithFaceDetection = extendWithFaceDetection; //# sourceMappingURL=WithFaceDetection.js.map \ No newline at end of file diff --git a/build/factories/WithFaceDetection.js.map b/build/factories/WithFaceDetection.js.map index bdd4e73..de7bcdc 100644 --- a/build/factories/WithFaceDetection.js.map +++ b/build/factories/WithFaceDetection.js.map @@ -1 +1 @@ -{"version":3,"file":"WithFaceDetection.js","sourceRoot":"","sources":["../../src/factories/WithFaceDetection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,aAAa,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAGrC,SAAkB,EAClB,SAAwB;IAGxB,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,CAAA;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"WithFaceDetection.js","sourceRoot":"","sources":["../../src/factories/WithFaceDetection.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AAMzD,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,6BAAa,CAAA;AAClD,CAAC;AAFD,kDAEC;AAED,SAAgB,uBAAuB,CAGrC,SAAkB,EAClB,SAAwB;IAGxB,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,CAAA;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AATD,0DASC"} \ No newline at end of file diff --git a/build/factories/WithFaceExpressions.js b/build/factories/WithFaceExpressions.js index 933e101..72534c8 100644 --- a/build/factories/WithFaceExpressions.js +++ b/build/factories/WithFaceExpressions.js @@ -1,9 +1,14 @@ -import { FaceExpressions } from '../faceExpressionNet/FaceExpressions'; -export function isWithFaceExpressions(obj) { - return obj['expressions'] instanceof FaceExpressions; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extendWithFaceExpressions = exports.isWithFaceExpressions = void 0; +const FaceExpressions_1 = require("../faceExpressionNet/FaceExpressions"); +function isWithFaceExpressions(obj) { + return obj['expressions'] instanceof FaceExpressions_1.FaceExpressions; } -export function extendWithFaceExpressions(sourceObj, expressions) { +exports.isWithFaceExpressions = isWithFaceExpressions; +function extendWithFaceExpressions(sourceObj, expressions) { const extension = { expressions }; return Object.assign({}, sourceObj, extension); } +exports.extendWithFaceExpressions = extendWithFaceExpressions; //# sourceMappingURL=WithFaceExpressions.js.map \ No newline at end of file diff --git a/build/factories/WithFaceExpressions.js.map b/build/factories/WithFaceExpressions.js.map index 9373182..c76c19e 100644 --- a/build/factories/WithFaceExpressions.js.map +++ b/build/factories/WithFaceExpressions.js.map @@ -1 +1 @@ -{"version":3,"file":"WithFaceExpressions.js","sourceRoot":"","sources":["../../src/factories/WithFaceExpressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAMvE,MAAM,UAAU,qBAAqB,CAAC,GAAQ;IAC5C,OAAO,GAAG,CAAC,aAAa,CAAC,YAAY,eAAe,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAGvC,SAAkB,EAClB,WAA4B;IAG5B,MAAM,SAAS,GAAG,EAAE,WAAW,EAAE,CAAA;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"WithFaceExpressions.js","sourceRoot":"","sources":["../../src/factories/WithFaceExpressions.ts"],"names":[],"mappings":";;;AAAA,0EAAuE;AAMvE,SAAgB,qBAAqB,CAAC,GAAQ;IAC5C,OAAO,GAAG,CAAC,aAAa,CAAC,YAAY,iCAAe,CAAA;AACtD,CAAC;AAFD,sDAEC;AAED,SAAgB,yBAAyB,CAGvC,SAAkB,EAClB,WAA4B;IAG5B,MAAM,SAAS,GAAG,EAAE,WAAW,EAAE,CAAA;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AATD,8DASC"} \ No newline at end of file diff --git a/build/factories/WithFaceLandmarks.js b/build/factories/WithFaceLandmarks.js index 2df14d1..206e205 100644 --- a/build/factories/WithFaceLandmarks.js +++ b/build/factories/WithFaceLandmarks.js @@ -1,18 +1,22 @@ -import { FaceDetection } from '../classes/FaceDetection'; -import { FaceLandmarks } from '../classes/FaceLandmarks'; -import { isWithFaceDetection } from './WithFaceDetection'; -export function isWithFaceLandmarks(obj) { - return isWithFaceDetection(obj) - && obj['landmarks'] instanceof FaceLandmarks - && obj['unshiftedLandmarks'] instanceof FaceLandmarks - && obj['alignedRect'] instanceof FaceDetection; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extendWithFaceLandmarks = exports.isWithFaceLandmarks = void 0; +const FaceDetection_1 = require("../classes/FaceDetection"); +const FaceLandmarks_1 = require("../classes/FaceLandmarks"); +const WithFaceDetection_1 = require("./WithFaceDetection"); +function isWithFaceLandmarks(obj) { + return WithFaceDetection_1.isWithFaceDetection(obj) + && obj['landmarks'] instanceof FaceLandmarks_1.FaceLandmarks + && obj['unshiftedLandmarks'] instanceof FaceLandmarks_1.FaceLandmarks + && obj['alignedRect'] instanceof FaceDetection_1.FaceDetection; } -export function extendWithFaceLandmarks(sourceObj, unshiftedLandmarks) { +exports.isWithFaceLandmarks = isWithFaceLandmarks; +function extendWithFaceLandmarks(sourceObj, unshiftedLandmarks) { const { box: shift } = sourceObj.detection; const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y); const rect = landmarks.align(); const { imageDims } = sourceObj.detection; - const alignedRect = new FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims); + const alignedRect = new FaceDetection_1.FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims); const extension = { landmarks, unshiftedLandmarks, @@ -20,4 +24,5 @@ export function extendWithFaceLandmarks(sourceObj, unshiftedLandmarks) { }; return Object.assign({}, sourceObj, extension); } +exports.extendWithFaceLandmarks = extendWithFaceLandmarks; //# sourceMappingURL=WithFaceLandmarks.js.map \ No newline at end of file diff --git a/build/factories/WithFaceLandmarks.js.map b/build/factories/WithFaceLandmarks.js.map index 8998504..906c5b9 100644 --- a/build/factories/WithFaceLandmarks.js.map +++ b/build/factories/WithFaceLandmarks.js.map @@ -1 +1 @@ -{"version":3,"file":"WithFaceLandmarks.js","sourceRoot":"","sources":["../../src/factories/WithFaceLandmarks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAW7E,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,mBAAmB,CAAC,GAAG,CAAC;WAC1B,GAAG,CAAC,WAAW,CAAC,YAAY,aAAa;WACzC,GAAG,CAAC,oBAAoB,CAAC,YAAY,aAAa;WAClD,GAAG,CAAC,aAAa,CAAC,YAAY,aAAa,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAIrC,SAAkB,EAClB,kBAAkC;IAGlC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAiB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;IAE9G,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,kBAAkB;QAClB,WAAW;KACZ,CAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"WithFaceLandmarks.js","sourceRoot":"","sources":["../../src/factories/WithFaceLandmarks.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AACzD,4DAAyD;AAEzD,2DAA6E;AAW7E,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,uCAAmB,CAAC,GAAG,CAAC;WAC1B,GAAG,CAAC,WAAW,CAAC,YAAY,6BAAa;WACzC,GAAG,CAAC,oBAAoB,CAAC,YAAY,6BAAa;WAClD,GAAG,CAAC,aAAa,CAAC,YAAY,6BAAa,CAAA;AAClD,CAAC;AALD,kDAKC;AAED,SAAgB,uBAAuB,CAIrC,SAAkB,EAClB,kBAAkC;IAGlC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAiB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,6BAAa,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;IAE9G,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,kBAAkB;QAClB,WAAW;KACZ,CAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAtBD,0DAsBC"} \ No newline at end of file diff --git a/build/factories/WithGender.js b/build/factories/WithGender.js index d6535be..0a75058 100644 --- a/build/factories/WithGender.js +++ b/build/factories/WithGender.js @@ -1,11 +1,16 @@ -import { Gender } from '../ageGenderNet/types'; -import { isValidProbablitiy } from '../utils'; -export function isWithGender(obj) { - return (obj['gender'] === Gender.MALE || obj['gender'] === Gender.FEMALE) - && isValidProbablitiy(obj['genderProbability']); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extendWithGender = exports.isWithGender = void 0; +const types_1 = require("../ageGenderNet/types"); +const utils_1 = require("../utils"); +function isWithGender(obj) { + return (obj['gender'] === types_1.Gender.MALE || obj['gender'] === types_1.Gender.FEMALE) + && utils_1.isValidProbablitiy(obj['genderProbability']); } -export function extendWithGender(sourceObj, gender, genderProbability) { +exports.isWithGender = isWithGender; +function extendWithGender(sourceObj, gender, genderProbability) { const extension = { gender, genderProbability }; return Object.assign({}, sourceObj, extension); } +exports.extendWithGender = extendWithGender; //# sourceMappingURL=WithGender.js.map \ No newline at end of file diff --git a/build/factories/WithGender.js.map b/build/factories/WithGender.js.map index 17fbf68..f536f9a 100644 --- a/build/factories/WithGender.js.map +++ b/build/factories/WithGender.js.map @@ -1 +1 @@ -{"version":3,"file":"WithGender.js","sourceRoot":"","sources":["../../src/factories/WithGender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAO9C,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC;WACpE,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAG9B,SAAkB,EAClB,MAAc,EACd,iBAAyB;IAGzB,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"WithGender.js","sourceRoot":"","sources":["../../src/factories/WithGender.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,oCAA8C;AAO9C,SAAgB,YAAY,CAAC,GAAQ;IACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,cAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,cAAM,CAAC,MAAM,CAAC;WACpE,0BAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;AACnD,CAAC;AAHD,oCAGC;AAED,SAAgB,gBAAgB,CAG9B,SAAkB,EAClB,MAAc,EACd,iBAAyB;IAGzB,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAVD,4CAUC"} \ No newline at end of file diff --git a/build/factories/index.js b/build/factories/index.js index 0143670..1a92c6b 100644 --- a/build/factories/index.js +++ b/build/factories/index.js @@ -1,7 +1,10 @@ -export * from './WithFaceDescriptor'; -export * from './WithFaceDetection'; -export * from './WithFaceExpressions'; -export * from './WithFaceLandmarks'; -export * from './WithAge'; -export * from './WithGender'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./WithFaceDescriptor"), exports); +tslib_1.__exportStar(require("./WithFaceDetection"), exports); +tslib_1.__exportStar(require("./WithFaceExpressions"), exports); +tslib_1.__exportStar(require("./WithFaceLandmarks"), exports); +tslib_1.__exportStar(require("./WithAge"), exports); +tslib_1.__exportStar(require("./WithGender"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/factories/index.js.map b/build/factories/index.js.map index 6e643a8..54b50bf 100644 --- a/build/factories/index.js.map +++ b/build/factories/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC;AACpC,8DAAmC;AACnC,gEAAqC;AACrC,8DAAmC;AACnC,oDAAyB;AACzB,uDAA4B"} \ No newline at end of file diff --git a/build/globalApi/ComposableTask.js b/build/globalApi/ComposableTask.js index 7dde649..45c5f05 100644 --- a/build/globalApi/ComposableTask.js +++ b/build/globalApi/ComposableTask.js @@ -1,4 +1,7 @@ -export class ComposableTask { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ComposableTask = void 0; +class ComposableTask { async then(onfulfilled) { return onfulfilled(await this.run()); } @@ -6,4 +9,5 @@ export class ComposableTask { throw new Error('ComposableTask - run is not implemented'); } } +exports.ComposableTask = ComposableTask; //# sourceMappingURL=ComposableTask.js.map \ No newline at end of file diff --git a/build/globalApi/ComposableTask.js.map b/build/globalApi/ComposableTask.js.map index 7190c1a..0b296fc 100644 --- a/build/globalApi/ComposableTask.js.map +++ b/build/globalApi/ComposableTask.js.map @@ -1 +1 @@ -{"version":3,"file":"ComposableTask.js","sourceRoot":"","sources":["../../src/globalApi/ComposableTask.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAElB,KAAK,CAAC,IAAI,CACf,WAA6C;QAE7C,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"ComposableTask.js","sourceRoot":"","sources":["../../src/globalApi/ComposableTask.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAElB,KAAK,CAAC,IAAI,CACf,WAA6C;QAE7C,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;CACF;AAXD,wCAWC"} \ No newline at end of file diff --git a/build/globalApi/ComputeFaceDescriptorsTasks.js b/build/globalApi/ComputeFaceDescriptorsTasks.js index 45b9e48..5ba32f6 100644 --- a/build/globalApi/ComputeFaceDescriptorsTasks.js +++ b/build/globalApi/ComputeFaceDescriptorsTasks.js @@ -1,43 +1,49 @@ -import { extendWithFaceDescriptor } from '../factories/WithFaceDescriptor'; -import { ComposableTask } from './ComposableTask'; -import { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults'; -import { nets } from './nets'; -import { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask, } from './PredictAgeAndGenderTask'; -import { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask, } from './PredictFaceExpressionsTask'; -export class ComputeFaceDescriptorsTaskBase extends ComposableTask { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ComputeSingleFaceDescriptorTask = exports.ComputeAllFaceDescriptorsTask = exports.ComputeFaceDescriptorsTaskBase = void 0; +const WithFaceDescriptor_1 = require("../factories/WithFaceDescriptor"); +const ComposableTask_1 = require("./ComposableTask"); +const extractFacesAndComputeResults_1 = require("./extractFacesAndComputeResults"); +const nets_1 = require("./nets"); +const PredictAgeAndGenderTask_1 = require("./PredictAgeAndGenderTask"); +const PredictFaceExpressionsTask_1 = require("./PredictFaceExpressionsTask"); +class ComputeFaceDescriptorsTaskBase extends ComposableTask_1.ComposableTask { constructor(parentTask, input) { super(); this.parentTask = parentTask; this.input = input; } } -export class ComputeAllFaceDescriptorsTask extends ComputeFaceDescriptorsTaskBase { +exports.ComputeFaceDescriptorsTaskBase = ComputeFaceDescriptorsTaskBase; +class ComputeAllFaceDescriptorsTask extends ComputeFaceDescriptorsTaskBase { async run() { const parentResults = await this.parentTask; - const descriptors = await extractAllFacesAndComputeResults(parentResults, this.input, faces => Promise.all(faces.map(face => nets.faceRecognitionNet.computeFaceDescriptor(face))), null, parentResult => parentResult.landmarks.align(null, { useDlibAlignment: true })); - return descriptors.map((descriptor, i) => extendWithFaceDescriptor(parentResults[i], descriptor)); + const descriptors = await extractFacesAndComputeResults_1.extractAllFacesAndComputeResults(parentResults, this.input, faces => Promise.all(faces.map(face => nets_1.nets.faceRecognitionNet.computeFaceDescriptor(face))), null, parentResult => parentResult.landmarks.align(null, { useDlibAlignment: true })); + return descriptors.map((descriptor, i) => WithFaceDescriptor_1.extendWithFaceDescriptor(parentResults[i], descriptor)); } withFaceExpressions() { - return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); } withAgeAndGender() { - return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); } } -export class ComputeSingleFaceDescriptorTask extends ComputeFaceDescriptorsTaskBase { +exports.ComputeAllFaceDescriptorsTask = ComputeAllFaceDescriptorsTask; +class ComputeSingleFaceDescriptorTask extends ComputeFaceDescriptorsTaskBase { async run() { const parentResult = await this.parentTask; if (!parentResult) { return; } - const descriptor = await extractSingleFaceAndComputeResult(parentResult, this.input, face => nets.faceRecognitionNet.computeFaceDescriptor(face), null, parentResult => parentResult.landmarks.align(null, { useDlibAlignment: true })); - return extendWithFaceDescriptor(parentResult, descriptor); + const descriptor = await extractFacesAndComputeResults_1.extractSingleFaceAndComputeResult(parentResult, this.input, face => nets_1.nets.faceRecognitionNet.computeFaceDescriptor(face), null, parentResult => parentResult.landmarks.align(null, { useDlibAlignment: true })); + return WithFaceDescriptor_1.extendWithFaceDescriptor(parentResult, descriptor); } withFaceExpressions() { - return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); } withAgeAndGender() { - return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); } } +exports.ComputeSingleFaceDescriptorTask = ComputeSingleFaceDescriptorTask; //# sourceMappingURL=ComputeFaceDescriptorsTasks.js.map \ No newline at end of file diff --git a/build/globalApi/ComputeFaceDescriptorsTasks.js.map b/build/globalApi/ComputeFaceDescriptorsTasks.js.map index 90b25c5..b325e9a 100644 --- a/build/globalApi/ComputeFaceDescriptorsTasks.js.map +++ b/build/globalApi/ComputeFaceDescriptorsTasks.js.map @@ -1 +1 @@ -{"version":3,"file":"ComputeFaceDescriptorsTasks.js","sourceRoot":"","sources":["../../src/globalApi/ComputeFaceDescriptorsTasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,iCAAiC,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACtH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EACL,2CAA2C,EAC3C,8CAA8C,GAC/C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8CAA8C,EAC9C,iDAAiD,GAClD,MAAM,8BAA8B,CAAC;AAEtC,MAAM,OAAO,8BAAuD,SAAQ,cAAuB;IACjG,YACY,UAAkE,EAClE,KAAgB;QAE1B,KAAK,EAAE,CAAA;QAHG,eAAU,GAAV,UAAU,CAAwD;QAClE,UAAK,GAAL,KAAK,CAAW;IAG5B,CAAC;CACF;AAED,MAAM,OAAO,6BAEX,SAAQ,8BAAwE;IAEzE,KAAK,CAAC,GAAG;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,gCAAgC,CACxD,aAAa,EACb,IAAI,CAAC,KAAK,EACV,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACpC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAA0B,CAC7E,CAAC,EACF,IAAI,EACJ,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAC/E,CAAA;QAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAU,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;IAC5G,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,8CAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,2CAA2C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1E,CAAC;CACF;AAED,MAAM,OAAO,+BAEX,SAAQ,8BAA4F;IAE7F,KAAK,CAAC,GAAG;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QACD,MAAM,UAAU,GAAG,MAAM,iCAAiC,CACxD,YAAY,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAA0B,EACpF,IAAI,EACJ,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAC/E,CAAA;QAED,OAAO,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,iDAAiD,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChF,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,8CAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"ComputeFaceDescriptorsTasks.js","sourceRoot":"","sources":["../../src/globalApi/ComputeFaceDescriptorsTasks.ts"],"names":[],"mappings":";;;AACA,wEAA+F;AAG/F,qDAAkD;AAClD,mFAAsH;AACtH,iCAA8B;AAC9B,uEAGmC;AACnC,6EAGsC;AAEtC,MAAa,8BAAuD,SAAQ,+BAAuB;IACjG,YACY,UAAkE,EAClE,KAAgB;QAE1B,KAAK,EAAE,CAAA;QAHG,eAAU,GAAV,UAAU,CAAwD;QAClE,UAAK,GAAL,KAAK,CAAW;IAG5B,CAAC;CACF;AAPD,wEAOC;AAED,MAAa,6BAEX,SAAQ,8BAAwE;IAEzE,KAAK,CAAC,GAAG;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,gEAAgC,CACxD,aAAa,EACb,IAAI,CAAC,KAAK,EACV,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACpC,WAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAA0B,CAC7E,CAAC,EACF,IAAI,EACJ,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAC/E,CAAA;QAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,6CAAwB,CAAU,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;IAC5G,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,2EAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,qEAA2C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1E,CAAC;CACF;AA5BD,sEA4BC;AAED,MAAa,+BAEX,SAAQ,8BAA4F;IAE7F,KAAK,CAAC,GAAG;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QACD,MAAM,UAAU,GAAG,MAAM,iEAAiC,CACxD,YAAY,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,CAAC,WAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAA0B,EACpF,IAAI,EACJ,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAC/E,CAAA;QAED,OAAO,6CAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,8EAAiD,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChF,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,wEAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;CACF;AA5BD,0EA4BC"} \ No newline at end of file diff --git a/build/globalApi/DetectFaceLandmarksTasks.js b/build/globalApi/DetectFaceLandmarksTasks.js index 96c7a6f..dde52fc 100644 --- a/build/globalApi/DetectFaceLandmarksTasks.js +++ b/build/globalApi/DetectFaceLandmarksTasks.js @@ -1,12 +1,15 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { extractFaces, extractFaceTensors } from '../dom'; -import { extendWithFaceLandmarks } from '../factories/WithFaceLandmarks'; -import { ComposableTask } from './ComposableTask'; -import { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks'; -import { nets } from './nets'; -import { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask, } from './PredictAgeAndGenderTask'; -import { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask, } from './PredictFaceExpressionsTask'; -export class DetectFaceLandmarksTaskBase extends ComposableTask { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DetectSingleFaceLandmarksTask = exports.DetectAllFaceLandmarksTask = exports.DetectFaceLandmarksTaskBase = void 0; +const tf = require("@tensorflow/tfjs-core"); +const dom_1 = require("../dom"); +const WithFaceLandmarks_1 = require("../factories/WithFaceLandmarks"); +const ComposableTask_1 = require("./ComposableTask"); +const ComputeFaceDescriptorsTasks_1 = require("./ComputeFaceDescriptorsTasks"); +const nets_1 = require("./nets"); +const PredictAgeAndGenderTask_1 = require("./PredictAgeAndGenderTask"); +const PredictFaceExpressionsTask_1 = require("./PredictFaceExpressionsTask"); +class DetectFaceLandmarksTaskBase extends ComposableTask_1.ComposableTask { constructor(parentTask, input, useTinyLandmarkNet) { super(); this.parentTask = parentTask; @@ -15,32 +18,34 @@ export class DetectFaceLandmarksTaskBase extends ComposableTask { } get landmarkNet() { return this.useTinyLandmarkNet - ? nets.faceLandmark68TinyNet - : nets.faceLandmark68Net; + ? nets_1.nets.faceLandmark68TinyNet + : nets_1.nets.faceLandmark68Net; } } -export class DetectAllFaceLandmarksTask extends DetectFaceLandmarksTaskBase { +exports.DetectFaceLandmarksTaskBase = DetectFaceLandmarksTaskBase; +class DetectAllFaceLandmarksTask extends DetectFaceLandmarksTaskBase { async run() { const parentResults = await this.parentTask; const detections = parentResults.map(res => res.detection); const faces = this.input instanceof tf.Tensor - ? await extractFaceTensors(this.input, detections) - : await extractFaces(this.input, detections); + ? await dom_1.extractFaceTensors(this.input, detections) + : await dom_1.extractFaces(this.input, detections); const faceLandmarksByFace = await Promise.all(faces.map(face => this.landmarkNet.detectLandmarks(face))); faces.forEach(f => f instanceof tf.Tensor && f.dispose()); - return parentResults.map((parentResult, i) => extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i])); + return parentResults.map((parentResult, i) => WithFaceLandmarks_1.extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i])); } withFaceExpressions() { - return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); } withAgeAndGender() { - return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); } withFaceDescriptors() { - return new ComputeAllFaceDescriptorsTask(this, this.input); + return new ComputeFaceDescriptorsTasks_1.ComputeAllFaceDescriptorsTask(this, this.input); } } -export class DetectSingleFaceLandmarksTask extends DetectFaceLandmarksTaskBase { +exports.DetectAllFaceLandmarksTask = DetectAllFaceLandmarksTask; +class DetectSingleFaceLandmarksTask extends DetectFaceLandmarksTaskBase { async run() { const parentResult = await this.parentTask; if (!parentResult) { @@ -48,20 +53,21 @@ export class DetectSingleFaceLandmarksTask extends DetectFaceLandmarksTaskBase { } const { detection } = parentResult; const faces = this.input instanceof tf.Tensor - ? await extractFaceTensors(this.input, [detection]) - : await extractFaces(this.input, [detection]); + ? await dom_1.extractFaceTensors(this.input, [detection]) + : await dom_1.extractFaces(this.input, [detection]); const landmarks = await this.landmarkNet.detectLandmarks(faces[0]); faces.forEach(f => f instanceof tf.Tensor && f.dispose()); - return extendWithFaceLandmarks(parentResult, landmarks); + return WithFaceLandmarks_1.extendWithFaceLandmarks(parentResult, landmarks); } withFaceExpressions() { - return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); } withAgeAndGender() { - return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); } withFaceDescriptor() { - return new ComputeSingleFaceDescriptorTask(this, this.input); + return new ComputeFaceDescriptorsTasks_1.ComputeSingleFaceDescriptorTask(this, this.input); } } +exports.DetectSingleFaceLandmarksTask = DetectSingleFaceLandmarksTask; //# sourceMappingURL=DetectFaceLandmarksTasks.js.map \ No newline at end of file diff --git a/build/globalApi/DetectFaceLandmarksTasks.js.map b/build/globalApi/DetectFaceLandmarksTasks.js.map index a749f82..bd26b20 100644 --- a/build/globalApi/DetectFaceLandmarksTasks.js.map +++ b/build/globalApi/DetectFaceLandmarksTasks.js.map @@ -1 +1 @@ -{"version":3,"file":"DetectFaceLandmarksTasks.js","sourceRoot":"","sources":["../../src/globalApi/DetectFaceLandmarksTasks.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DetectFaceLandmarksTasks.js","sourceRoot":"","sources":["../../src/globalApi/DetectFaceLandmarksTasks.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/globalApi/DetectFacesTasks.js b/build/globalApi/DetectFacesTasks.js index 2aa9b62..ca6f53a 100644 --- a/build/globalApi/DetectFacesTasks.js +++ b/build/globalApi/DetectFacesTasks.js @@ -1,22 +1,26 @@ -import { extendWithFaceDetection } from '../factories/WithFaceDetection'; -import { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions'; -import { ComposableTask } from './ComposableTask'; -import { DetectAllFaceLandmarksTask, DetectSingleFaceLandmarksTask } from './DetectFaceLandmarksTasks'; -import { nets } from './nets'; -import { PredictAllAgeAndGenderTask, PredictSingleAgeAndGenderTask } from './PredictAgeAndGenderTask'; -import { PredictAllFaceExpressionsTask, PredictSingleFaceExpressionsTask } from './PredictFaceExpressionsTask'; -export class DetectFacesTaskBase extends ComposableTask { - constructor(input, options = new TinyFaceDetectorOptions()) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DetectSingleFaceTask = exports.DetectAllFacesTask = exports.DetectFacesTaskBase = void 0; +const WithFaceDetection_1 = require("../factories/WithFaceDetection"); +const TinyFaceDetectorOptions_1 = require("../tinyFaceDetector/TinyFaceDetectorOptions"); +const ComposableTask_1 = require("./ComposableTask"); +const DetectFaceLandmarksTasks_1 = require("./DetectFaceLandmarksTasks"); +const nets_1 = require("./nets"); +const PredictAgeAndGenderTask_1 = require("./PredictAgeAndGenderTask"); +const PredictFaceExpressionsTask_1 = require("./PredictFaceExpressionsTask"); +class DetectFacesTaskBase extends ComposableTask_1.ComposableTask { + constructor(input, options = new TinyFaceDetectorOptions_1.TinyFaceDetectorOptions()) { super(); this.input = input; this.options = options; } } -export class DetectAllFacesTask extends DetectFacesTaskBase { +exports.DetectFacesTaskBase = DetectFacesTaskBase; +class DetectAllFacesTask extends DetectFacesTaskBase { async run() { const { input, options } = this; - const faceDetectionFunction = options instanceof TinyFaceDetectorOptions - ? (input) => nets.tinyFaceDetector.locateFaces(input, options) + const faceDetectionFunction = options instanceof TinyFaceDetectorOptions_1.TinyFaceDetectorOptions + ? (input) => nets_1.nets.tinyFaceDetector.locateFaces(input, options) : null; if (!faceDetectionFunction) { throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options'); @@ -26,20 +30,21 @@ export class DetectAllFacesTask extends DetectFacesTaskBase { runAndExtendWithFaceDetections() { return new Promise(async (res) => { const detections = await this.run(); - return res(detections.map(detection => extendWithFaceDetection({}, detection))); + return res(detections.map(detection => WithFaceDetection_1.extendWithFaceDetection({}, detection))); }); } withFaceLandmarks(useTinyLandmarkNet = false) { - return new DetectAllFaceLandmarksTask(this.runAndExtendWithFaceDetections(), this.input, useTinyLandmarkNet); + return new DetectFaceLandmarksTasks_1.DetectAllFaceLandmarksTask(this.runAndExtendWithFaceDetections(), this.input, useTinyLandmarkNet); } withFaceExpressions() { - return new PredictAllFaceExpressionsTask(this.runAndExtendWithFaceDetections(), this.input); + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsTask(this.runAndExtendWithFaceDetections(), this.input); } withAgeAndGender() { - return new PredictAllAgeAndGenderTask(this.runAndExtendWithFaceDetections(), this.input); + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderTask(this.runAndExtendWithFaceDetections(), this.input); } } -export class DetectSingleFaceTask extends DetectFacesTaskBase { +exports.DetectAllFacesTask = DetectAllFacesTask; +class DetectSingleFaceTask extends DetectFacesTaskBase { async run() { const faceDetections = await new DetectAllFacesTask(this.input, this.options); let faceDetectionWithHighestScore = faceDetections[0]; @@ -53,17 +58,18 @@ export class DetectSingleFaceTask extends DetectFacesTaskBase { runAndExtendWithFaceDetection() { return new Promise(async (res) => { const detection = await this.run(); - return res(detection ? extendWithFaceDetection({}, detection) : undefined); + return res(detection ? WithFaceDetection_1.extendWithFaceDetection({}, detection) : undefined); }); } withFaceLandmarks(useTinyLandmarkNet = false) { - return new DetectSingleFaceLandmarksTask(this.runAndExtendWithFaceDetection(), this.input, useTinyLandmarkNet); + return new DetectFaceLandmarksTasks_1.DetectSingleFaceLandmarksTask(this.runAndExtendWithFaceDetection(), this.input, useTinyLandmarkNet); } withFaceExpressions() { - return new PredictSingleFaceExpressionsTask(this.runAndExtendWithFaceDetection(), this.input); + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsTask(this.runAndExtendWithFaceDetection(), this.input); } withAgeAndGender() { - return new PredictSingleAgeAndGenderTask(this.runAndExtendWithFaceDetection(), this.input); + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderTask(this.runAndExtendWithFaceDetection(), this.input); } } +exports.DetectSingleFaceTask = DetectSingleFaceTask; //# sourceMappingURL=DetectFacesTasks.js.map \ No newline at end of file diff --git a/build/globalApi/DetectFacesTasks.js.map b/build/globalApi/DetectFacesTasks.js.map index 4abdb78..86d64f3 100644 --- a/build/globalApi/DetectFacesTasks.js.map +++ b/build/globalApi/DetectFacesTasks.js.map @@ -1 +1 @@ -{"version":3,"file":"DetectFacesTasks.js","sourceRoot":"","sources":["../../src/globalApi/DetectFacesTasks.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DetectFacesTasks.js","sourceRoot":"","sources":["../../src/globalApi/DetectFacesTasks.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/globalApi/FaceMatcher.js b/build/globalApi/FaceMatcher.js index b8e654b..3253339 100644 --- a/build/globalApi/FaceMatcher.js +++ b/build/globalApi/FaceMatcher.js @@ -1,7 +1,10 @@ -import { FaceMatch } from '../classes/FaceMatch'; -import { LabeledFaceDescriptors } from '../classes/LabeledFaceDescriptors'; -import { euclideanDistance } from '../euclideanDistance'; -export class FaceMatcher { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FaceMatcher = void 0; +const FaceMatch_1 = require("../classes/FaceMatch"); +const LabeledFaceDescriptors_1 = require("../classes/LabeledFaceDescriptors"); +const euclideanDistance_1 = require("../euclideanDistance"); +class FaceMatcher { constructor(inputs, distanceThreshold = 0.6) { this._distanceThreshold = distanceThreshold; const inputArray = Array.isArray(inputs) ? inputs : [inputs]; @@ -11,14 +14,14 @@ export class FaceMatcher { let count = 1; const createUniqueLabel = () => `person ${count++}`; this._labeledDescriptors = inputArray.map((desc) => { - if (desc instanceof LabeledFaceDescriptors) { + if (desc instanceof LabeledFaceDescriptors_1.LabeledFaceDescriptors) { return desc; } if (desc instanceof Float32Array) { - return new LabeledFaceDescriptors(createUniqueLabel(), [desc]); + return new LabeledFaceDescriptors_1.LabeledFaceDescriptors(createUniqueLabel(), [desc]); } if (desc.descriptor && desc.descriptor instanceof Float32Array) { - return new LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]); + return new LabeledFaceDescriptors_1.LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]); } throw new Error(`FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>`); }); @@ -27,20 +30,20 @@ export class FaceMatcher { get distanceThreshold() { return this._distanceThreshold; } computeMeanDistance(queryDescriptor, descriptors) { return descriptors - .map(d => euclideanDistance(d, queryDescriptor)) + .map(d => euclideanDistance_1.euclideanDistance(d, queryDescriptor)) .reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1); } matchDescriptor(queryDescriptor) { return this.labeledDescriptors - .map(({ descriptors, label }) => new FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors))) + .map(({ descriptors, label }) => new FaceMatch_1.FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors))) .reduce((best, curr) => best.distance < curr.distance ? best : curr); } findBestMatch(queryDescriptor) { const bestMatch = this.matchDescriptor(queryDescriptor); return bestMatch.distance < this.distanceThreshold ? bestMatch - : new FaceMatch('unknown', bestMatch.distance); + : new FaceMatch_1.FaceMatch('unknown', bestMatch.distance); } toJSON() { return { @@ -50,8 +53,9 @@ export class FaceMatcher { } static fromJSON(json) { const labeledDescriptors = json.labeledDescriptors - .map((ld) => LabeledFaceDescriptors.fromJSON(ld)); + .map((ld) => LabeledFaceDescriptors_1.LabeledFaceDescriptors.fromJSON(ld)); return new FaceMatcher(labeledDescriptors, json.distanceThreshold); } } +exports.FaceMatcher = FaceMatcher; //# sourceMappingURL=FaceMatcher.js.map \ No newline at end of file diff --git a/build/globalApi/FaceMatcher.js.map b/build/globalApi/FaceMatcher.js.map index 867185e..f561dc5 100644 --- a/build/globalApi/FaceMatcher.js.map +++ b/build/globalApi/FaceMatcher.js.map @@ -1 +1 @@ -{"version":3,"file":"FaceMatcher.js","sourceRoot":"","sources":["../../src/globalApi/FaceMatcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"FaceMatcher.js","sourceRoot":"","sources":["../../src/globalApi/FaceMatcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/globalApi/PredictAgeAndGenderTask.js b/build/globalApi/PredictAgeAndGenderTask.js index 5a17aa8..5b9cad4 100644 --- a/build/globalApi/PredictAgeAndGenderTask.js +++ b/build/globalApi/PredictAgeAndGenderTask.js @@ -1,11 +1,14 @@ -import { extendWithAge } from '../factories/WithAge'; -import { extendWithGender } from '../factories/WithGender'; -import { ComposableTask } from './ComposableTask'; -import { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks'; -import { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults'; -import { nets } from './nets'; -import { PredictAllFaceExpressionsTask, PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsTask, PredictSingleFaceExpressionsWithFaceAlignmentTask, } from './PredictFaceExpressionsTask'; -export class PredictAgeAndGenderTaskBase extends ComposableTask { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PredictSingleAgeAndGenderWithFaceAlignmentTask = exports.PredictAllAgeAndGenderWithFaceAlignmentTask = exports.PredictSingleAgeAndGenderTask = exports.PredictAllAgeAndGenderTask = exports.PredictAgeAndGenderTaskBase = void 0; +const WithAge_1 = require("../factories/WithAge"); +const WithGender_1 = require("../factories/WithGender"); +const ComposableTask_1 = require("./ComposableTask"); +const ComputeFaceDescriptorsTasks_1 = require("./ComputeFaceDescriptorsTasks"); +const extractFacesAndComputeResults_1 = require("./extractFacesAndComputeResults"); +const nets_1 = require("./nets"); +const PredictFaceExpressionsTask_1 = require("./PredictFaceExpressionsTask"); +class PredictAgeAndGenderTaskBase extends ComposableTask_1.ComposableTask { constructor(parentTask, input, extractedFaces) { super(); this.parentTask = parentTask; @@ -13,46 +16,51 @@ export class PredictAgeAndGenderTaskBase extends ComposableTask { this.extractedFaces = extractedFaces; } } -export class PredictAllAgeAndGenderTask extends PredictAgeAndGenderTaskBase { +exports.PredictAgeAndGenderTaskBase = PredictAgeAndGenderTaskBase; +class PredictAllAgeAndGenderTask extends PredictAgeAndGenderTaskBase { async run() { const parentResults = await this.parentTask; - const ageAndGenderByFace = await extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map(face => nets.ageGenderNet.predictAgeAndGender(face))), this.extractedFaces); + const ageAndGenderByFace = await extractFacesAndComputeResults_1.extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map(face => nets_1.nets.ageGenderNet.predictAgeAndGender(face))), this.extractedFaces); return parentResults.map((parentResult, i) => { const { age, gender, genderProbability } = ageAndGenderByFace[i]; - return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age); + return WithAge_1.extendWithAge(WithGender_1.extendWithGender(parentResult, gender, genderProbability), age); }); } withFaceExpressions() { - return new PredictAllFaceExpressionsTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsTask(this, this.input); } } -export class PredictSingleAgeAndGenderTask extends PredictAgeAndGenderTaskBase { +exports.PredictAllAgeAndGenderTask = PredictAllAgeAndGenderTask; +class PredictSingleAgeAndGenderTask extends PredictAgeAndGenderTaskBase { async run() { const parentResult = await this.parentTask; if (!parentResult) { return; } - const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult(parentResult, this.input, face => nets.ageGenderNet.predictAgeAndGender(face), this.extractedFaces); - return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age); + const { age, gender, genderProbability } = await extractFacesAndComputeResults_1.extractSingleFaceAndComputeResult(parentResult, this.input, face => nets_1.nets.ageGenderNet.predictAgeAndGender(face), this.extractedFaces); + return WithAge_1.extendWithAge(WithGender_1.extendWithGender(parentResult, gender, genderProbability), age); } withFaceExpressions() { - return new PredictSingleFaceExpressionsTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsTask(this, this.input); } } -export class PredictAllAgeAndGenderWithFaceAlignmentTask extends PredictAllAgeAndGenderTask { +exports.PredictSingleAgeAndGenderTask = PredictSingleAgeAndGenderTask; +class PredictAllAgeAndGenderWithFaceAlignmentTask extends PredictAllAgeAndGenderTask { withFaceExpressions() { - return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); } withFaceDescriptors() { - return new ComputeAllFaceDescriptorsTask(this, this.input); + return new ComputeFaceDescriptorsTasks_1.ComputeAllFaceDescriptorsTask(this, this.input); } } -export class PredictSingleAgeAndGenderWithFaceAlignmentTask extends PredictSingleAgeAndGenderTask { +exports.PredictAllAgeAndGenderWithFaceAlignmentTask = PredictAllAgeAndGenderWithFaceAlignmentTask; +class PredictSingleAgeAndGenderWithFaceAlignmentTask extends PredictSingleAgeAndGenderTask { withFaceExpressions() { - return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); } withFaceDescriptor() { - return new ComputeSingleFaceDescriptorTask(this, this.input); + return new ComputeFaceDescriptorsTasks_1.ComputeSingleFaceDescriptorTask(this, this.input); } } +exports.PredictSingleAgeAndGenderWithFaceAlignmentTask = PredictSingleAgeAndGenderWithFaceAlignmentTask; //# sourceMappingURL=PredictAgeAndGenderTask.js.map \ No newline at end of file diff --git a/build/globalApi/PredictAgeAndGenderTask.js.map b/build/globalApi/PredictAgeAndGenderTask.js.map index e18d85f..518f4b4 100644 --- a/build/globalApi/PredictAgeAndGenderTask.js.map +++ b/build/globalApi/PredictAgeAndGenderTask.js.map @@ -1 +1 @@ -{"version":3,"file":"PredictAgeAndGenderTask.js","sourceRoot":"","sources":["../../src/globalApi/PredictAgeAndGenderTask.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAW,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAc,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACtH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EACL,6BAA6B,EAC7B,8CAA8C,EAC9C,gCAAgC,EAChC,iDAAiD,GAClD,MAAM,8BAA8B,CAAC;AAEtC,MAAM,OAAO,2BAAoD,SAAQ,cAAuB;IAC9F,YACY,UAAkE,EAClE,KAAgB,EAChB,cAAuD;QAEjE,KAAK,EAAE,CAAA;QAJG,eAAU,GAAV,UAAU,CAAwD;QAClE,UAAK,GAAL,KAAK,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAyC;IAGnE,CAAC;CACF;AAED,MAAM,OAAO,0BAEX,SAAQ,2BAAsE;IAEvE,KAAK,CAAC,GAAG;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAE3C,MAAM,kBAAkB,GAAG,MAAM,gCAAgC,CAC/D,aAAa,EACb,IAAI,CAAC,KAAK,EACV,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAoC,CACvF,CAAC,EACF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAO,6BAEV,SAAQ,2BAA0F;IAE5F,KAAK,CAAC,GAAG;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,iCAAiC,CAChF,YAAY,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAoC,EACtF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAA;IACtF,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,gCAAgC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,2CAEX,SAAQ,0BAAmC;IAE3C,mBAAmB;QACjB,OAAO,IAAI,8CAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAO,8CAEX,SAAQ,6BAAsC;IAE9C,mBAAmB;QACjB,OAAO,IAAI,iDAAiD,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChF,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"PredictAgeAndGenderTask.js","sourceRoot":"","sources":["../../src/globalApi/PredictAgeAndGenderTask.ts"],"names":[],"mappings":";;;AAIA,kDAA8D;AAG9D,wDAAuE;AACvE,qDAAkD;AAClD,+EAA+G;AAC/G,mFAAsH;AACtH,iCAA8B;AAC9B,6EAKsC;AAEtC,MAAa,2BAAoD,SAAQ,+BAAuB;IAC9F,YACY,UAAkE,EAClE,KAAgB,EAChB,cAAuD;QAEjE,KAAK,EAAE,CAAA;QAJG,eAAU,GAAV,UAAU,CAAwD;QAClE,UAAK,GAAL,KAAK,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAyC;IAGnE,CAAC;CACF;AARD,kEAQC;AAED,MAAa,0BAEX,SAAQ,2BAAsE;IAEvE,KAAK,CAAC,GAAG;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAE3C,MAAM,kBAAkB,GAAG,MAAM,gEAAgC,CAC/D,aAAa,EACb,IAAI,CAAC,KAAK,EACV,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CACxC,IAAI,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAoC,CACvF,CAAC,EACF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,uBAAa,CAAC,6BAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,0DAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AA1BD,gEA0BC;AAED,MAAa,6BAEV,SAAQ,2BAA0F;IAE5F,KAAK,CAAC,GAAG;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,iEAAiC,CAChF,YAAY,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAoC,EACtF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,uBAAa,CAAC,6BAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAA;IACtF,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,6DAAgC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/D,CAAC;CACF;AAxBD,sEAwBC;AAED,MAAa,2CAEX,SAAQ,0BAAmC;IAE3C,mBAAmB;QACjB,OAAO,IAAI,2EAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,2DAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAXD,kGAWC;AAED,MAAa,8CAEX,SAAQ,6BAAsC;IAE9C,mBAAmB;QACjB,OAAO,IAAI,8EAAiD,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChF,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,6DAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC;CACF;AAXD,wGAWC"} \ No newline at end of file diff --git a/build/globalApi/PredictFaceExpressionsTask.js b/build/globalApi/PredictFaceExpressionsTask.js index 7c528af..1669f86 100644 --- a/build/globalApi/PredictFaceExpressionsTask.js +++ b/build/globalApi/PredictFaceExpressionsTask.js @@ -1,10 +1,13 @@ -import { extendWithFaceExpressions } from '../factories/WithFaceExpressions'; -import { ComposableTask } from './ComposableTask'; -import { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks'; -import { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults'; -import { nets } from './nets'; -import { PredictAllAgeAndGenderTask, PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderTask, PredictSingleAgeAndGenderWithFaceAlignmentTask, } from './PredictAgeAndGenderTask'; -export class PredictFaceExpressionsTaskBase extends ComposableTask { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PredictSingleFaceExpressionsWithFaceAlignmentTask = exports.PredictAllFaceExpressionsWithFaceAlignmentTask = exports.PredictSingleFaceExpressionsTask = exports.PredictAllFaceExpressionsTask = exports.PredictFaceExpressionsTaskBase = void 0; +const WithFaceExpressions_1 = require("../factories/WithFaceExpressions"); +const ComposableTask_1 = require("./ComposableTask"); +const ComputeFaceDescriptorsTasks_1 = require("./ComputeFaceDescriptorsTasks"); +const extractFacesAndComputeResults_1 = require("./extractFacesAndComputeResults"); +const nets_1 = require("./nets"); +const PredictAgeAndGenderTask_1 = require("./PredictAgeAndGenderTask"); +class PredictFaceExpressionsTaskBase extends ComposableTask_1.ComposableTask { constructor(parentTask, input, extractedFaces) { super(); this.parentTask = parentTask; @@ -12,43 +15,48 @@ export class PredictFaceExpressionsTaskBase extends ComposableTask { this.extractedFaces = extractedFaces; } } -export class PredictAllFaceExpressionsTask extends PredictFaceExpressionsTaskBase { +exports.PredictFaceExpressionsTaskBase = PredictFaceExpressionsTaskBase; +class PredictAllFaceExpressionsTask extends PredictFaceExpressionsTaskBase { async run() { const parentResults = await this.parentTask; - const faceExpressionsByFace = await extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map(face => nets.faceExpressionNet.predictExpressions(face))), this.extractedFaces); - return parentResults.map((parentResult, i) => extendWithFaceExpressions(parentResult, faceExpressionsByFace[i])); + const faceExpressionsByFace = await extractFacesAndComputeResults_1.extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map(face => nets_1.nets.faceExpressionNet.predictExpressions(face))), this.extractedFaces); + return parentResults.map((parentResult, i) => WithFaceExpressions_1.extendWithFaceExpressions(parentResult, faceExpressionsByFace[i])); } withAgeAndGender() { - return new PredictAllAgeAndGenderTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderTask(this, this.input); } } -export class PredictSingleFaceExpressionsTask extends PredictFaceExpressionsTaskBase { +exports.PredictAllFaceExpressionsTask = PredictAllFaceExpressionsTask; +class PredictSingleFaceExpressionsTask extends PredictFaceExpressionsTaskBase { async run() { const parentResult = await this.parentTask; if (!parentResult) { return; } - const faceExpressions = await extractSingleFaceAndComputeResult(parentResult, this.input, face => nets.faceExpressionNet.predictExpressions(face), this.extractedFaces); - return extendWithFaceExpressions(parentResult, faceExpressions); + const faceExpressions = await extractFacesAndComputeResults_1.extractSingleFaceAndComputeResult(parentResult, this.input, face => nets_1.nets.faceExpressionNet.predictExpressions(face), this.extractedFaces); + return WithFaceExpressions_1.extendWithFaceExpressions(parentResult, faceExpressions); } withAgeAndGender() { - return new PredictSingleAgeAndGenderTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderTask(this, this.input); } } -export class PredictAllFaceExpressionsWithFaceAlignmentTask extends PredictAllFaceExpressionsTask { +exports.PredictSingleFaceExpressionsTask = PredictSingleFaceExpressionsTask; +class PredictAllFaceExpressionsWithFaceAlignmentTask extends PredictAllFaceExpressionsTask { withAgeAndGender() { - return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); } withFaceDescriptors() { - return new ComputeAllFaceDescriptorsTask(this, this.input); + return new ComputeFaceDescriptorsTasks_1.ComputeAllFaceDescriptorsTask(this, this.input); } } -export class PredictSingleFaceExpressionsWithFaceAlignmentTask extends PredictSingleFaceExpressionsTask { +exports.PredictAllFaceExpressionsWithFaceAlignmentTask = PredictAllFaceExpressionsWithFaceAlignmentTask; +class PredictSingleFaceExpressionsWithFaceAlignmentTask extends PredictSingleFaceExpressionsTask { withAgeAndGender() { - return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); } withFaceDescriptor() { - return new ComputeSingleFaceDescriptorTask(this, this.input); + return new ComputeFaceDescriptorsTasks_1.ComputeSingleFaceDescriptorTask(this, this.input); } } +exports.PredictSingleFaceExpressionsWithFaceAlignmentTask = PredictSingleFaceExpressionsWithFaceAlignmentTask; //# sourceMappingURL=PredictFaceExpressionsTask.js.map \ No newline at end of file diff --git a/build/globalApi/PredictFaceExpressionsTask.js.map b/build/globalApi/PredictFaceExpressionsTask.js.map index eb91708..1c7d2b4 100644 --- a/build/globalApi/PredictFaceExpressionsTask.js.map +++ b/build/globalApi/PredictFaceExpressionsTask.js.map @@ -1 +1 @@ -{"version":3,"file":"PredictFaceExpressionsTask.js","sourceRoot":"","sources":["../../src/globalApi/PredictFaceExpressionsTask.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAuB,MAAM,kCAAkC,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACtH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,2CAA2C,EAC3C,6BAA6B,EAC7B,8CAA8C,GAC/C,MAAM,2BAA2B,CAAC;AAEnC,MAAM,OAAO,8BAAuD,SAAQ,cAAuB;IACjG,YACY,UAAkE,EAClE,KAAgB,EAChB,cAAuD;QAEjE,KAAK,EAAE,CAAA;QAJG,eAAU,GAAV,UAAU,CAAwD;QAClE,UAAK,GAAL,KAAK,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAyC;IAGnE,CAAC;CACF;AAED,MAAM,OAAO,6BAEX,SAAQ,8BAAyE;IAE1E,KAAK,CAAC,GAAG;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAE3C,MAAM,qBAAqB,GAAG,MAAM,gCAAgC,CAClE,aAAa,EACb,IAAI,CAAC,KAAK,EACV,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAA6B,CACpF,CAAC,EACF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,aAAa,CAAC,GAAG,CACtB,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAU,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAChG,CAAA;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,gCAEV,SAAQ,8BAA6F;IAE/F,KAAK,CAAC,GAAG;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QAED,MAAM,eAAe,GAAG,MAAM,iCAAiC,CAC7D,YAAY,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAA6B,EACnF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,yBAAyB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAO,8CAEX,SAAQ,6BAAsC;IAE9C,gBAAgB;QACd,OAAO,IAAI,2CAA2C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAO,iDAEX,SAAQ,gCAAyC;IAEjD,gBAAgB;QACd,OAAO,IAAI,8CAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"PredictFaceExpressionsTask.js","sourceRoot":"","sources":["../../src/globalApi/PredictFaceExpressionsTask.ts"],"names":[],"mappings":";;;AAKA,0EAAkG;AAElG,qDAAkD;AAClD,+EAA+G;AAC/G,mFAAsH;AACtH,iCAA8B;AAC9B,uEAKmC;AAEnC,MAAa,8BAAuD,SAAQ,+BAAuB;IACjG,YACY,UAAkE,EAClE,KAAgB,EAChB,cAAuD;QAEjE,KAAK,EAAE,CAAA;QAJG,eAAU,GAAV,UAAU,CAAwD;QAClE,UAAK,GAAL,KAAK,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAyC;IAGnE,CAAC;CACF;AARD,wEAQC;AAED,MAAa,6BAEX,SAAQ,8BAAyE;IAE1E,KAAK,CAAC,GAAG;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAE3C,MAAM,qBAAqB,GAAG,MAAM,gEAAgC,CAClE,aAAa,EACb,IAAI,CAAC,KAAK,EACV,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CACxC,IAAI,CAAC,EAAE,CAAC,WAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAA6B,CACpF,CAAC,EACF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,aAAa,CAAC,GAAG,CACtB,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,+CAAyB,CAAU,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAChG,CAAA;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,oDAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAzBD,sEAyBC;AAED,MAAa,gCAEV,SAAQ,8BAA6F;IAE/F,KAAK,CAAC,GAAG;QAEd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QAED,MAAM,eAAe,GAAG,MAAM,iEAAiC,CAC7D,YAAY,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,CAAC,WAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAA6B,EACnF,IAAI,CAAC,cAAc,CACpB,CAAA;QAED,OAAO,+CAAyB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,uDAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAxBD,4EAwBC;AAED,MAAa,8CAEX,SAAQ,6BAAsC;IAE9C,gBAAgB;QACd,OAAO,IAAI,qEAA2C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,2DAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AAXD,wGAWC;AAED,MAAa,iDAEX,SAAQ,gCAAyC;IAEjD,gBAAgB;QACd,OAAO,IAAI,wEAA8C,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,6DAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC;CACF;AAXD,8GAWC"} \ No newline at end of file diff --git a/build/globalApi/detectFaces.js b/build/globalApi/detectFaces.js index dbd971d..2dd68eb 100644 --- a/build/globalApi/detectFaces.js +++ b/build/globalApi/detectFaces.js @@ -1,9 +1,14 @@ -import { DetectAllFacesTask, DetectSingleFaceTask } from './DetectFacesTasks'; -import { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions'; -export function detectSingleFace(input, options = new TinyFaceDetectorOptions()) { - return new DetectSingleFaceTask(input, options); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.detectAllFaces = exports.detectSingleFace = void 0; +const DetectFacesTasks_1 = require("./DetectFacesTasks"); +const TinyFaceDetectorOptions_1 = require("../tinyFaceDetector/TinyFaceDetectorOptions"); +function detectSingleFace(input, options = new TinyFaceDetectorOptions_1.TinyFaceDetectorOptions()) { + return new DetectFacesTasks_1.DetectSingleFaceTask(input, options); } -export function detectAllFaces(input, options = new TinyFaceDetectorOptions()) { - return new DetectAllFacesTask(input, options); +exports.detectSingleFace = detectSingleFace; +function detectAllFaces(input, options = new TinyFaceDetectorOptions_1.TinyFaceDetectorOptions()) { + return new DetectFacesTasks_1.DetectAllFacesTask(input, options); } +exports.detectAllFaces = detectAllFaces; //# sourceMappingURL=detectFaces.js.map \ No newline at end of file diff --git a/build/globalApi/detectFaces.js.map b/build/globalApi/detectFaces.js.map index 1712607..c7b0874 100644 --- a/build/globalApi/detectFaces.js.map +++ b/build/globalApi/detectFaces.js.map @@ -1 +1 @@ -{"version":3,"file":"detectFaces.js","sourceRoot":"","sources":["../../src/globalApi/detectFaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAGtF,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,UAAgC,IAAI,uBAAuB,EAAE;IAE7D,OAAO,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAgB,EAChB,UAAgC,IAAI,uBAAuB,EAAE;IAE7D,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC/C,CAAC"} \ No newline at end of file +{"version":3,"file":"detectFaces.js","sourceRoot":"","sources":["../../src/globalApi/detectFaces.ts"],"names":[],"mappings":";;;AACA,yDAA8E;AAE9E,yFAAsF;AAGtF,SAAgB,gBAAgB,CAC9B,KAAgB,EAChB,UAAgC,IAAI,iDAAuB,EAAE;IAE7D,OAAO,IAAI,uCAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AALD,4CAKC;AAED,SAAgB,cAAc,CAC5B,KAAgB,EAChB,UAAgC,IAAI,iDAAuB,EAAE;IAE7D,OAAO,IAAI,qCAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC/C,CAAC;AALD,wCAKC"} \ No newline at end of file diff --git a/build/globalApi/extractFacesAndComputeResults.js b/build/globalApi/extractFacesAndComputeResults.js index eb045d4..f089d2d 100644 --- a/build/globalApi/extractFacesAndComputeResults.js +++ b/build/globalApi/extractFacesAndComputeResults.js @@ -1,18 +1,23 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { extractFaces, extractFaceTensors } from '../dom'; -import { isWithFaceLandmarks } from '../factories/WithFaceLandmarks'; -export async function extractAllFacesAndComputeResults(parentResults, input, computeResults, extractedFaces, getRectForAlignment = ({ alignedRect }) => alignedRect) { - const faceBoxes = parentResults.map(parentResult => isWithFaceLandmarks(parentResult) +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractSingleFaceAndComputeResult = exports.extractAllFacesAndComputeResults = void 0; +const tf = require("@tensorflow/tfjs-core"); +const dom_1 = require("../dom"); +const WithFaceLandmarks_1 = require("../factories/WithFaceLandmarks"); +async function extractAllFacesAndComputeResults(parentResults, input, computeResults, extractedFaces, getRectForAlignment = ({ alignedRect }) => alignedRect) { + const faceBoxes = parentResults.map(parentResult => WithFaceLandmarks_1.isWithFaceLandmarks(parentResult) ? getRectForAlignment(parentResult) : parentResult.detection); const faces = extractedFaces || (input instanceof tf.Tensor - ? await extractFaceTensors(input, faceBoxes) - : await extractFaces(input, faceBoxes)); + ? await dom_1.extractFaceTensors(input, faceBoxes) + : await dom_1.extractFaces(input, faceBoxes)); const results = await computeResults(faces); faces.forEach(f => f instanceof tf.Tensor && f.dispose()); return results; } -export async function extractSingleFaceAndComputeResult(parentResult, input, computeResult, extractedFaces, getRectForAlignment) { +exports.extractAllFacesAndComputeResults = extractAllFacesAndComputeResults; +async function extractSingleFaceAndComputeResult(parentResult, input, computeResult, extractedFaces, getRectForAlignment) { return extractAllFacesAndComputeResults([parentResult], input, async (faces) => computeResult(faces[0]), extractedFaces, getRectForAlignment); } +exports.extractSingleFaceAndComputeResult = extractSingleFaceAndComputeResult; //# sourceMappingURL=extractFacesAndComputeResults.js.map \ No newline at end of file diff --git a/build/globalApi/extractFacesAndComputeResults.js.map b/build/globalApi/extractFacesAndComputeResults.js.map index 533fa02..49f8e19 100644 --- a/build/globalApi/extractFacesAndComputeResults.js.map +++ b/build/globalApi/extractFacesAndComputeResults.js.map @@ -1 +1 @@ -{"version":3,"file":"extractFacesAndComputeResults.js","sourceRoot":"","sources":["../../src/globalApi/extractFacesAndComputeResults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAa,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,gCAAgC,CAAC;AAExF,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,aAAwB,EACxB,KAAgB,EAChB,cAAmF,EACnF,cAA8D,EAC9D,sBAAwF,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW;IAExH,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CACjD,mBAAmB,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC;QACnC,CAAC,CAAC,YAAY,CAAC,SAAS,CAC3B,CAAA;IACD,MAAM,KAAK,GAA2C,cAAc,IAAI,CACtE,KAAK,YAAY,EAAE,CAAC,MAAM;QACxB,CAAC,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC;QAC5C,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CACzC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;IAE3C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAEzD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,YAAqB,EACrB,KAAgB,EAChB,aAA0E,EAC1E,cAA8D,EAC9D,mBAAsF;IAEtF,OAAO,gCAAgC,CACrC,CAAC,YAAY,CAAC,EACd,KAAK,EACL,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtC,cAAc,EACd,mBAAmB,CACpB,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractFacesAndComputeResults.js","sourceRoot":"","sources":["../../src/globalApi/extractFacesAndComputeResults.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAG5C,gCAAqE;AAErE,sEAAwF;AAEjF,KAAK,UAAU,gCAAgC,CACpD,aAAwB,EACxB,KAAgB,EAChB,cAAmF,EACnF,cAA8D,EAC9D,sBAAwF,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW;IAExH,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CACjD,uCAAmB,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC;QACnC,CAAC,CAAC,YAAY,CAAC,SAAS,CAC3B,CAAA;IACD,MAAM,KAAK,GAA2C,cAAc,IAAI,CACtE,KAAK,YAAY,EAAE,CAAC,MAAM;QACxB,CAAC,CAAC,MAAM,wBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC;QAC5C,CAAC,CAAC,MAAM,kBAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CACzC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;IAE3C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAEzD,OAAO,OAAO,CAAA;AAChB,CAAC;AAvBD,4EAuBC;AAEM,KAAK,UAAU,iCAAiC,CACrD,YAAqB,EACrB,KAAgB,EAChB,aAA0E,EAC1E,cAA8D,EAC9D,mBAAsF;IAEtF,OAAO,gCAAgC,CACrC,CAAC,YAAY,CAAC,EACd,KAAK,EACL,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtC,cAAc,EACd,mBAAmB,CACpB,CAAA;AACH,CAAC;AAdD,8EAcC"} \ No newline at end of file diff --git a/build/globalApi/index.js b/build/globalApi/index.js index 78d179a..36bb7f7 100644 --- a/build/globalApi/index.js +++ b/build/globalApi/index.js @@ -1,9 +1,12 @@ -export * from './ComposableTask'; -export * from './ComputeFaceDescriptorsTasks'; -export * from './detectFaces'; -export * from './DetectFacesTasks'; -export * from './DetectFaceLandmarksTasks'; -export * from './FaceMatcher'; -export * from './nets'; -export * from './types'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./ComposableTask"), exports); +tslib_1.__exportStar(require("./ComputeFaceDescriptorsTasks"), exports); +tslib_1.__exportStar(require("./detectFaces"), exports); +tslib_1.__exportStar(require("./DetectFacesTasks"), exports); +tslib_1.__exportStar(require("./DetectFaceLandmarksTasks"), exports); +tslib_1.__exportStar(require("./FaceMatcher"), exports); +tslib_1.__exportStar(require("./nets"), exports); +tslib_1.__exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/globalApi/index.js.map b/build/globalApi/index.js.map index 8efdbf7..916cc99 100644 --- a/build/globalApi/index.js.map +++ b/build/globalApi/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/globalApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/globalApi/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgC;AAChC,wEAA6C;AAC7C,wDAA6B;AAC7B,6DAAkC;AAClC,qEAA0C;AAC1C,wDAA6B;AAC7B,iDAAsB;AACtB,kDAAuB"} \ No newline at end of file diff --git a/build/globalApi/nets.js b/build/globalApi/nets.js index 668e68f..9c60e94 100644 --- a/build/globalApi/nets.js +++ b/build/globalApi/nets.js @@ -1,18 +1,21 @@ -import { AgeGenderNet } from '../ageGenderNet/AgeGenderNet'; -import { FaceExpressionNet } from '../faceExpressionNet/FaceExpressionNet'; -import { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net'; -import { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet'; -import { FaceRecognitionNet } from '../faceRecognitionNet/FaceRecognitionNet'; -import { TinyFaceDetector } from '../tinyFaceDetector/TinyFaceDetector'; -import { TinyYolov2 } from '../tinyYolov2'; -export const nets = { - tinyFaceDetector: new TinyFaceDetector(), - tinyYolov2: new TinyYolov2(), - faceLandmark68Net: new FaceLandmark68Net(), - faceLandmark68TinyNet: new FaceLandmark68TinyNet(), - faceRecognitionNet: new FaceRecognitionNet(), - faceExpressionNet: new FaceExpressionNet(), - ageGenderNet: new AgeGenderNet() +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.detectLandmarks = exports.locateFaces = exports.loadFaceDetectionModel = exports.loadAgeGenderModel = exports.loadFaceExpressionModel = exports.loadFaceRecognitionModel = exports.loadFaceLandmarkTinyModel = exports.loadFaceLandmarkModel = exports.loadTinyYolov2Model = exports.loadTinyFaceDetectorModel = exports.predictAgeAndGender = exports.recognizeFaceExpressions = exports.computeFaceDescriptor = exports.detectFaceLandmarksTiny = exports.detectFaceLandmarks = exports.tinyFaceDetector = exports.nets = void 0; +const AgeGenderNet_1 = require("../ageGenderNet/AgeGenderNet"); +const FaceExpressionNet_1 = require("../faceExpressionNet/FaceExpressionNet"); +const FaceLandmark68Net_1 = require("../faceLandmarkNet/FaceLandmark68Net"); +const FaceLandmark68TinyNet_1 = require("../faceLandmarkNet/FaceLandmark68TinyNet"); +const FaceRecognitionNet_1 = require("../faceRecognitionNet/FaceRecognitionNet"); +const TinyFaceDetector_1 = require("../tinyFaceDetector/TinyFaceDetector"); +const tinyYolov2_1 = require("../tinyYolov2"); +exports.nets = { + tinyFaceDetector: new TinyFaceDetector_1.TinyFaceDetector(), + tinyYolov2: new tinyYolov2_1.TinyYolov2(), + faceLandmark68Net: new FaceLandmark68Net_1.FaceLandmark68Net(), + faceLandmark68TinyNet: new FaceLandmark68TinyNet_1.FaceLandmark68TinyNet(), + faceRecognitionNet: new FaceRecognitionNet_1.FaceRecognitionNet(), + faceExpressionNet: new FaceExpressionNet_1.FaceExpressionNet(), + ageGenderNet: new AgeGenderNet_1.AgeGenderNet() }; /** * Attempts to detect all faces in an image using the Tiny Face Detector. @@ -21,7 +24,7 @@ export const nets = { * @param options (optional, default: see TinyFaceDetectorOptions constructor for default parameters). * @returns Bounding box of each face with score. */ -export const tinyFaceDetector = (input, options) => nets.tinyFaceDetector.locateFaces(input, options); +exports.tinyFaceDetector = (input, options) => exports.nets.tinyFaceDetector.locateFaces(input, options); /** * Detects the 68 point face landmark positions of the face shown in an image. * @@ -29,7 +32,7 @@ export const tinyFaceDetector = (input, options) => nets.tinyFaceDetector.locate * also be an array of input images, which will be batch processed. * @returns 68 point face landmarks or array thereof in case of batch input. */ -export const detectFaceLandmarks = (input) => nets.faceLandmark68Net.detectLandmarks(input); +exports.detectFaceLandmarks = (input) => exports.nets.faceLandmark68Net.detectLandmarks(input); /** * Detects the 68 point face landmark positions of the face shown in an image * using a tinier version of the 68 point face landmark model, which is slightly @@ -39,7 +42,7 @@ export const detectFaceLandmarks = (input) => nets.faceLandmark68Net.detectLandm * also be an array of input images, which will be batch processed. * @returns 68 point face landmarks or array thereof in case of batch input. */ -export const detectFaceLandmarksTiny = (input) => nets.faceLandmark68TinyNet.detectLandmarks(input); +exports.detectFaceLandmarksTiny = (input) => exports.nets.faceLandmark68TinyNet.detectLandmarks(input); /** * Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image, * which uniquely represents the features of that persons face. The computed face descriptor can @@ -50,7 +53,7 @@ export const detectFaceLandmarksTiny = (input) => nets.faceLandmark68TinyNet.det * also be an array of input images, which will be batch processed. * @returns Face descriptor with 128 entries or array thereof in case of batch input. */ -export const computeFaceDescriptor = (input) => nets.faceRecognitionNet.computeFaceDescriptor(input); +exports.computeFaceDescriptor = (input) => exports.nets.faceRecognitionNet.computeFaceDescriptor(input); /** * Recognizes the facial expressions from a face image. * @@ -58,7 +61,7 @@ export const computeFaceDescriptor = (input) => nets.faceRecognitionNet.computeF * also be an array of input images, which will be batch processed. * @returns Facial expressions with corresponding probabilities or array thereof in case of batch input. */ -export const recognizeFaceExpressions = (input) => nets.faceExpressionNet.predictExpressions(input); +exports.recognizeFaceExpressions = (input) => exports.nets.faceExpressionNet.predictExpressions(input); /** * Predicts age and gender from a face image. * @@ -66,16 +69,16 @@ export const recognizeFaceExpressions = (input) => nets.faceExpressionNet.predic * also be an array of input images, which will be batch processed. * @returns Predictions with age, gender and gender probability or array thereof in case of batch input. */ -export const predictAgeAndGender = (input) => nets.ageGenderNet.predictAgeAndGender(input); -export const loadTinyFaceDetectorModel = (url) => nets.tinyFaceDetector.load(url); -export const loadTinyYolov2Model = (url) => nets.tinyYolov2.load(url); -export const loadFaceLandmarkModel = (url) => nets.faceLandmark68Net.load(url); -export const loadFaceLandmarkTinyModel = (url) => nets.faceLandmark68TinyNet.load(url); -export const loadFaceRecognitionModel = (url) => nets.faceRecognitionNet.load(url); -export const loadFaceExpressionModel = (url) => nets.faceExpressionNet.load(url); -export const loadAgeGenderModel = (url) => nets.ageGenderNet.load(url); +exports.predictAgeAndGender = (input) => exports.nets.ageGenderNet.predictAgeAndGender(input); +exports.loadTinyFaceDetectorModel = (url) => exports.nets.tinyFaceDetector.load(url); +exports.loadTinyYolov2Model = (url) => exports.nets.tinyYolov2.load(url); +exports.loadFaceLandmarkModel = (url) => exports.nets.faceLandmark68Net.load(url); +exports.loadFaceLandmarkTinyModel = (url) => exports.nets.faceLandmark68TinyNet.load(url); +exports.loadFaceRecognitionModel = (url) => exports.nets.faceRecognitionNet.load(url); +exports.loadFaceExpressionModel = (url) => exports.nets.faceExpressionNet.load(url); +exports.loadAgeGenderModel = (url) => exports.nets.ageGenderNet.load(url); // backward compatibility -export const loadFaceDetectionModel = loadTinyFaceDetectorModel; -export const locateFaces = TinyFaceDetector; -export const detectLandmarks = detectFaceLandmarks; +exports.loadFaceDetectionModel = exports.loadTinyFaceDetectorModel; +exports.locateFaces = TinyFaceDetector_1.TinyFaceDetector; +exports.detectLandmarks = exports.detectFaceLandmarks; //# sourceMappingURL=nets.js.map \ No newline at end of file diff --git a/build/globalApi/nets.js.map b/build/globalApi/nets.js.map index b36b653..4b3b708 100644 --- a/build/globalApi/nets.js.map +++ b/build/globalApi/nets.js.map @@ -1 +1 @@ -{"version":3,"file":"nets.js","sourceRoot":"","sources":["../../src/globalApi/nets.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"nets.js","sourceRoot":"","sources":["../../src/globalApi/nets.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAM5D,8EAA2E;AAE3E,4EAAyE;AACzE,oFAAiF;AACjF,iFAA8E;AAG9E,2EAAwE;AAExE,8CAA+D;AAElD,QAAA,IAAI,GAAG;IAClB,gBAAgB,EAAE,IAAI,mCAAgB,EAAE;IACxC,UAAU,EAAE,IAAI,uBAAU,EAAE;IAC5B,iBAAiB,EAAE,IAAI,qCAAiB,EAAE;IAC1C,qBAAqB,EAAE,IAAI,6CAAqB,EAAE;IAClD,kBAAkB,EAAE,IAAI,uCAAkB,EAAE;IAC5C,iBAAiB,EAAE,IAAI,qCAAiB,EAAE;IAC1C,YAAY,EAAE,IAAI,2BAAY,EAAE;CACjC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,gBAAgB,GAAG,CAAC,KAAgB,EAAE,OAAgC,EAA4B,EAAE,CAC/G,YAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAEnD;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG,CAAC,KAAgB,EAAgD,EAAE,CACpG,YAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;AAE/C;;;;;;;;GAQG;AACU,QAAA,uBAAuB,GAAG,CAAC,KAAgB,EAAiD,EAAE,CACzG,YAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;AAEnD;;;;;;;;;GASG;AACU,QAAA,qBAAqB,GAAG,CAAC,KAAgB,EAA2C,EAAE,CACjG,YAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAGtD;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG,CAAC,KAAgB,EAAgD,EAAE,CACzG,YAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAElD;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG,CAAC,KAAgB,EAA8D,EAAE,CAClH,YAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAEjC,QAAA,yBAAyB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5E,QAAA,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChE,QAAA,qBAAqB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzE,QAAA,yBAAyB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjF,QAAA,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7E,QAAA,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3E,QAAA,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,YAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9E,yBAAyB;AACZ,QAAA,sBAAsB,GAAG,iCAAyB,CAAA;AAClD,QAAA,WAAW,GAAG,mCAAgB,CAAA;AAC9B,QAAA,eAAe,GAAG,2BAAmB,CAAA"} \ No newline at end of file diff --git a/build/globalApi/types.js b/build/globalApi/types.js index 5b2306a..11e638d 100644 --- a/build/globalApi/types.js +++ b/build/globalApi/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/index.js b/build/index.js index 4bb9001..35481bb 100644 --- a/build/index.js +++ b/build/index.js @@ -1,20 +1,26 @@ -import * as tf from '@tensorflow/tfjs-core'; -import * as draw from './draw'; -import * as utils from './utils'; -export { draw, utils, tf }; -export * from './ageGenderNet/index'; -export * from './classes/index'; -export * from './dom/index'; -export * from './env/index'; -export * from './faceExpressionNet/index'; -export * from './faceLandmarkNet/index'; -export * from './faceRecognitionNet/index'; -export * from './factories/index'; -export * from './globalApi/index'; -export * from './ops/index'; -export * from './tinyFaceDetector/index'; -export * from './tinyYolov2/index'; -export * from './euclideanDistance'; -export * from './NeuralNetwork'; -export * from './resizeResults'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tf = exports.utils = exports.draw = void 0; +const tslib_1 = require("tslib"); +const tf = require("@tensorflow/tfjs-core"); +exports.tf = tf; +const draw = require("./draw"); +exports.draw = draw; +const utils = require("./utils"); +exports.utils = utils; +tslib_1.__exportStar(require("./ageGenderNet/index"), exports); +tslib_1.__exportStar(require("./classes/index"), exports); +tslib_1.__exportStar(require("./dom/index"), exports); +tslib_1.__exportStar(require("./env/index"), exports); +tslib_1.__exportStar(require("./faceExpressionNet/index"), exports); +tslib_1.__exportStar(require("./faceLandmarkNet/index"), exports); +tslib_1.__exportStar(require("./faceRecognitionNet/index"), exports); +tslib_1.__exportStar(require("./factories/index"), exports); +tslib_1.__exportStar(require("./globalApi/index"), exports); +tslib_1.__exportStar(require("./ops/index"), exports); +tslib_1.__exportStar(require("./tinyFaceDetector/index"), exports); +tslib_1.__exportStar(require("./tinyYolov2/index"), exports); +tslib_1.__exportStar(require("./euclideanDistance"), exports); +tslib_1.__exportStar(require("./NeuralNetwork"), exports); +tslib_1.__exportStar(require("./resizeResults"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/index.js.map b/build/index.js.map index 1dcda04..94698ce 100644 --- a/build/index.js.map +++ b/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,EAAE,EACH,CAAA;AAED,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAQ1C,gBAAE;AANJ,+BAA+B;AAI7B,oBAAI;AAHN,iCAAiC;AAI/B,sBAAK;AAIP,+DAAqC;AACrC,0DAAgC;AAChC,sDAA2B;AAC3B,sDAA4B;AAC5B,oEAA0C;AAC1C,kEAAwC;AACxC,qEAA2C;AAC3C,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,mEAAyC;AACzC,6DAAmC;AAEnC,8DAAoC;AACpC,0DAAgC;AAChC,0DAAgC"} \ No newline at end of file diff --git a/build/ops/index.js b/build/ops/index.js index 5b45757..5c4bbf0 100644 --- a/build/ops/index.js +++ b/build/ops/index.js @@ -1,13 +1,19 @@ -export * from './iou'; -export * from './minBbox'; -export * from './nonMaxSuppression'; -export * from './normalize'; -export * from './padToSquare'; -export * from './shuffleArray'; -export function sigmoid(x) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.inverseSigmoid = exports.sigmoid = void 0; +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./iou"), exports); +tslib_1.__exportStar(require("./minBbox"), exports); +tslib_1.__exportStar(require("./nonMaxSuppression"), exports); +tslib_1.__exportStar(require("./normalize"), exports); +tslib_1.__exportStar(require("./padToSquare"), exports); +tslib_1.__exportStar(require("./shuffleArray"), exports); +function sigmoid(x) { return 1 / (1 + Math.exp(-x)); } -export function inverseSigmoid(x) { +exports.sigmoid = sigmoid; +function inverseSigmoid(x) { return Math.log(x / (1 - x)); } +exports.inverseSigmoid = inverseSigmoid; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/ops/index.js.map b/build/ops/index.js.map index e84f6cf..3882909 100644 --- a/build/ops/index.js.map +++ b/build/ops/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ops/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAE9B,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ops/index.ts"],"names":[],"mappings":";;;;AAAA,gDAAqB;AACrB,oDAAyB;AACzB,8DAAmC;AACnC,sDAA2B;AAC3B,wDAA6B;AAC7B,yDAA8B;AAE9B,SAAgB,OAAO,CAAC,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAFD,0BAEC;AAED,SAAgB,cAAc,CAAC,CAAS;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAFD,wCAEC"} \ No newline at end of file diff --git a/build/ops/iou.js b/build/ops/iou.js index bcbec9d..48c39bf 100644 --- a/build/ops/iou.js +++ b/build/ops/iou.js @@ -1,4 +1,7 @@ -export function iou(box1, box2, isIOU = true) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.iou = void 0; +function iou(box1, box2, isIOU = true) { const width = Math.max(0.0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left)); const height = Math.max(0.0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top)); const interSection = width * height; @@ -6,4 +9,5 @@ export function iou(box1, box2, isIOU = true) { ? interSection / (box1.area + box2.area - interSection) : interSection / Math.min(box1.area, box2.area); } +exports.iou = iou; //# sourceMappingURL=iou.js.map \ No newline at end of file diff --git a/build/ops/iou.js.map b/build/ops/iou.js.map index 216a7dd..8cef3a6 100644 --- a/build/ops/iou.js.map +++ b/build/ops/iou.js.map @@ -1 +1 @@ -{"version":3,"file":"iou.js","sourceRoot":"","sources":["../../src/ops/iou.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,QAAiB,IAAI;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/F,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAA;IAEnC,OAAO,KAAK;QACV,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACvD,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC"} \ No newline at end of file +{"version":3,"file":"iou.js","sourceRoot":"","sources":["../../src/ops/iou.ts"],"names":[],"mappings":";;;AAEA,SAAgB,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,QAAiB,IAAI;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/F,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAA;IAEnC,OAAO,KAAK;QACV,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACvD,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC;AARD,kBAQC"} \ No newline at end of file diff --git a/build/ops/minBbox.js b/build/ops/minBbox.js index e7915e3..02a87ef 100644 --- a/build/ops/minBbox.js +++ b/build/ops/minBbox.js @@ -1,11 +1,15 @@ -import { BoundingBox } from '../classes'; -export function minBbox(pts) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.minBbox = void 0; +const classes_1 = require("../classes"); +function minBbox(pts) { const xs = pts.map(pt => pt.x); const ys = pts.map(pt => pt.y); const minX = xs.reduce((min, x) => x < min ? x : min, Infinity); const minY = ys.reduce((min, y) => y < min ? y : min, Infinity); const maxX = xs.reduce((max, x) => max < x ? x : max, 0); const maxY = ys.reduce((max, y) => max < y ? y : max, 0); - return new BoundingBox(minX, minY, maxX, maxY); + return new classes_1.BoundingBox(minX, minY, maxX, maxY); } +exports.minBbox = minBbox; //# sourceMappingURL=minBbox.js.map \ No newline at end of file diff --git a/build/ops/minBbox.js.map b/build/ops/minBbox.js.map index 5ae1a06..a3f96e2 100644 --- a/build/ops/minBbox.js.map +++ b/build/ops/minBbox.js.map @@ -1 +1 @@ -{"version":3,"file":"minBbox.js","sourceRoot":"","sources":["../../src/ops/minBbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,MAAM,YAAY,CAAC;AAEjD,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACxD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAExD,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC"} \ No newline at end of file +{"version":3,"file":"minBbox.js","sourceRoot":"","sources":["../../src/ops/minBbox.ts"],"names":[],"mappings":";;;AAAA,wCAAiD;AAEjD,SAAgB,OAAO,CAAC,GAAa;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACxD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAExD,OAAO,IAAI,qBAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC;AATD,0BASC"} \ No newline at end of file diff --git a/build/ops/nonMaxSuppression.js b/build/ops/nonMaxSuppression.js index 05ded75..bbbf2b7 100644 --- a/build/ops/nonMaxSuppression.js +++ b/build/ops/nonMaxSuppression.js @@ -1,5 +1,8 @@ -import { iou } from './iou'; -export function nonMaxSuppression(boxes, scores, iouThreshold, isIOU = true) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.nonMaxSuppression = void 0; +const iou_1 = require("./iou"); +function nonMaxSuppression(boxes, scores, iouThreshold, isIOU = true) { let indicesSortedByScore = scores .map((score, boxIndex) => ({ score, boxIndex })) .sort((c1, c2) => c1.score - c2.score) @@ -14,10 +17,11 @@ export function nonMaxSuppression(boxes, scores, iouThreshold, isIOU = true) { const idx = indices[i]; const currBox = boxes[curr]; const idxBox = boxes[idx]; - outputs.push(iou(currBox, idxBox, isIOU)); + outputs.push(iou_1.iou(currBox, idxBox, isIOU)); } indicesSortedByScore = indicesSortedByScore.filter((_, j) => outputs[j] <= iouThreshold); } return pick; } +exports.nonMaxSuppression = nonMaxSuppression; //# sourceMappingURL=nonMaxSuppression.js.map \ No newline at end of file diff --git a/build/ops/nonMaxSuppression.js.map b/build/ops/nonMaxSuppression.js.map index 24abc7c..41eae3e 100644 --- a/build/ops/nonMaxSuppression.js.map +++ b/build/ops/nonMaxSuppression.js.map @@ -1 +1 @@ -{"version":3,"file":"nonMaxSuppression.js","sourceRoot":"","sources":["../../src/ops/nonMaxSuppression.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,MAAgB,EAChB,YAAoB,EACpB,QAAiB,IAAI;IAGrB,IAAI,oBAAoB,GAAG,MAAM;SAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC/C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,OAAM,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,EAAY,CAAA;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEf,MAAM,OAAO,GAAG,oBAAoB,CAAA;QAEpC,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YAEzB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;SAC1C;QAED,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,YAAY,CACrC,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AAEb,CAAC"} \ No newline at end of file +{"version":3,"file":"nonMaxSuppression.js","sourceRoot":"","sources":["../../src/ops/nonMaxSuppression.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAE5B,SAAgB,iBAAiB,CAC/B,KAAY,EACZ,MAAgB,EAChB,YAAoB,EACpB,QAAiB,IAAI;IAGrB,IAAI,oBAAoB,GAAG,MAAM;SAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC/C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,OAAM,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,EAAY,CAAA;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEf,MAAM,OAAO,GAAG,oBAAoB,CAAA;QAEpC,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YAEzB,OAAO,CAAC,IAAI,CAAC,SAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;SAC1C;QAED,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,YAAY,CACrC,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AAEb,CAAC;AArCD,8CAqCC"} \ No newline at end of file diff --git a/build/ops/normalize.js b/build/ops/normalize.js index e489c02..da82c82 100644 --- a/build/ops/normalize.js +++ b/build/ops/normalize.js @@ -1,5 +1,8 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function normalize(x, meanRgb) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.normalize = void 0; +const tf = require("@tensorflow/tfjs-core"); +function normalize(x, meanRgb) { return tf.tidy(() => { const [r, g, b] = meanRgb; const avg_r = tf.fill([...x.shape.slice(0, 3), 1], r); @@ -9,4 +12,5 @@ export function normalize(x, meanRgb) { return tf.sub(x, avg_rgb); }); } +exports.normalize = normalize; //# sourceMappingURL=normalize.js.map \ No newline at end of file diff --git a/build/ops/normalize.js.map b/build/ops/normalize.js.map index a0c8650..b77c36a 100644 --- a/build/ops/normalize.js.map +++ b/build/ops/normalize.js.map @@ -1 +1 @@ -{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/ops/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,UAAU,SAAS,CAAC,CAAc,EAAE,OAAiB;IACzD,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAA;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/ops/normalize.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,SAAgB,SAAS,CAAC,CAAc,EAAE,OAAiB;IACzD,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAA;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC;AAVD,8BAUC"} \ No newline at end of file diff --git a/build/ops/padToSquare.js b/build/ops/padToSquare.js index ca4d024..75a98f2 100644 --- a/build/ops/padToSquare.js +++ b/build/ops/padToSquare.js @@ -1,4 +1,7 @@ -import * as tf from '@tensorflow/tfjs-core'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.padToSquare = void 0; +const tf = require("@tensorflow/tfjs-core"); /** * Pads the smaller dimension of an image tensor with zeros, such that width === height. * @@ -7,7 +10,7 @@ import * as tf from '@tensorflow/tfjs-core'; * both sides of the minor dimension oof the image. * @returns The padded tensor with width === height. */ -export function padToSquare(imgTensor, isCenterImage = false) { +function padToSquare(imgTensor, isCenterImage = false) { return tf.tidy(() => { const [height, width] = imgTensor.shape.slice(1); if (height === width) { @@ -36,4 +39,5 @@ export function padToSquare(imgTensor, isCenterImage = false) { return tf.concat(tensorsToStack, paddingAxis); }); } +exports.padToSquare = padToSquare; //# sourceMappingURL=padToSquare.js.map \ No newline at end of file diff --git a/build/ops/padToSquare.js.map b/build/ops/padToSquare.js.map index 32b423e..1baf3d7 100644 --- a/build/ops/padToSquare.js.map +++ b/build/ops/padToSquare.js.map @@ -1 +1 @@ -{"version":3,"file":"padToSquare.js","sourceRoot":"","sources":["../../src/ops/padToSquare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,SAAsB,EACtB,gBAAyB,KAAK;IAE9B,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAElB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,mBAAmB,GAAG,CAAC,aAAqB,EAAa,EAAE;YAC/D,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAClD,kBAAkB,CAAC,WAAW,CAAC,GAAG,aAAa,CAAA;YAC/C,OAAO,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;QACvC,CAAC,CAAA;QAED,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QAC9D,MAAM,sBAAsB,GAAG,OAAO,GAAI,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAY,CAAA;QAE3F,MAAM,oBAAoB,GAAG,aAAa,IAAI,sBAAsB;YAClE,CAAC,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAA;QAER,MAAM,cAAc,GAAG;YACrB,oBAAoB;YACpB,SAAS;YACT,mBAAmB;SACpB;aACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAkB,CAAA;QACtD,OAAO,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"padToSquare.js","sourceRoot":"","sources":["../../src/ops/padToSquare.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,SAAsB,EACtB,gBAAyB,KAAK;IAE9B,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAElB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,mBAAmB,GAAG,CAAC,aAAqB,EAAa,EAAE;YAC/D,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAClD,kBAAkB,CAAC,WAAW,CAAC,GAAG,aAAa,CAAA;YAC/C,OAAO,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;QACvC,CAAC,CAAA;QAED,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QAC9D,MAAM,sBAAsB,GAAG,OAAO,GAAI,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAY,CAAA;QAE3F,MAAM,oBAAoB,GAAG,aAAa,IAAI,sBAAsB;YAClE,CAAC,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAA;QAER,MAAM,cAAc,GAAG;YACrB,oBAAoB;YACpB,SAAS;YACT,mBAAmB;SACpB;aACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAkB,CAAA;QACtD,OAAO,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AArCD,kCAqCC"} \ No newline at end of file diff --git a/build/ops/shuffleArray.js b/build/ops/shuffleArray.js index e9baaa0..6a5e807 100644 --- a/build/ops/shuffleArray.js +++ b/build/ops/shuffleArray.js @@ -1,4 +1,7 @@ -export function shuffleArray(inputArray) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.shuffleArray = void 0; +function shuffleArray(inputArray) { const array = inputArray.slice(); for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); @@ -8,4 +11,5 @@ export function shuffleArray(inputArray) { } return array; } +exports.shuffleArray = shuffleArray; //# sourceMappingURL=shuffleArray.js.map \ No newline at end of file diff --git a/build/ops/shuffleArray.js.map b/build/ops/shuffleArray.js.map index 5a50a75..1fa3d12 100644 --- a/build/ops/shuffleArray.js.map +++ b/build/ops/shuffleArray.js.map @@ -1 +1 @@ -{"version":3,"file":"shuffleArray.js","sourceRoot":"","sources":["../../src/ops/shuffleArray.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,UAAiB;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;KACf;IACD,OAAO,KAAK,CAAA;AACd,CAAC"} \ No newline at end of file +{"version":3,"file":"shuffleArray.js","sourceRoot":"","sources":["../../src/ops/shuffleArray.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,UAAiB;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;KACf;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AATD,oCASC"} \ No newline at end of file diff --git a/build/resizeResults.js b/build/resizeResults.js index 2d5ec8a..1e9a4d6 100644 --- a/build/resizeResults.js +++ b/build/resizeResults.js @@ -1,27 +1,31 @@ -import { Dimensions } from './classes'; -import { FaceDetection } from './classes/FaceDetection'; -import { FaceLandmarks } from './classes/FaceLandmarks'; -import { extendWithFaceDetection, isWithFaceDetection } from './factories/WithFaceDetection'; -import { extendWithFaceLandmarks, isWithFaceLandmarks } from './factories/WithFaceLandmarks'; -export function resizeResults(results, dimensions) { - const { width, height } = new Dimensions(dimensions.width, dimensions.height); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resizeResults = void 0; +const classes_1 = require("./classes"); +const FaceDetection_1 = require("./classes/FaceDetection"); +const FaceLandmarks_1 = require("./classes/FaceLandmarks"); +const WithFaceDetection_1 = require("./factories/WithFaceDetection"); +const WithFaceLandmarks_1 = require("./factories/WithFaceLandmarks"); +function resizeResults(results, dimensions) { + const { width, height } = new classes_1.Dimensions(dimensions.width, dimensions.height); if (width <= 0 || height <= 0) { throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({ width, height })}`); } if (Array.isArray(results)) { return results.map(obj => resizeResults(obj, { width, height })); } - if (isWithFaceLandmarks(results)) { + if (WithFaceLandmarks_1.isWithFaceLandmarks(results)) { const resizedDetection = results.detection.forSize(width, height); const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height); - return extendWithFaceLandmarks(extendWithFaceDetection(results, resizedDetection), resizedLandmarks); + return WithFaceLandmarks_1.extendWithFaceLandmarks(WithFaceDetection_1.extendWithFaceDetection(results, resizedDetection), resizedLandmarks); } - if (isWithFaceDetection(results)) { - return extendWithFaceDetection(results, results.detection.forSize(width, height)); + if (WithFaceDetection_1.isWithFaceDetection(results)) { + return WithFaceDetection_1.extendWithFaceDetection(results, results.detection.forSize(width, height)); } - if (results instanceof FaceLandmarks || results instanceof FaceDetection) { + if (results instanceof FaceLandmarks_1.FaceLandmarks || results instanceof FaceDetection_1.FaceDetection) { return results.forSize(width, height); } return results; } +exports.resizeResults = resizeResults; //# sourceMappingURL=resizeResults.js.map \ No newline at end of file diff --git a/build/resizeResults.js.map b/build/resizeResults.js.map index 4278f2d..2c07632 100644 --- a/build/resizeResults.js.map +++ b/build/resizeResults.js.map @@ -1 +1 @@ -{"version":3,"file":"resizeResults.js","sourceRoot":"","sources":["../src/resizeResults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,MAAM,UAAU,aAAa,CAAI,OAAU,EAAE,UAAuB;IAElE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAE7E,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;KAC5F;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAa,CAAA;KAC7E;IAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEpH,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAA;KACrG;IAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;KAClF;IAED,IAAI,OAAO,YAAY,aAAa,IAAI,OAAO,YAAY,aAAa,EAAE;QACxE,OAAQ,OAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;KAC/C;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"} \ No newline at end of file +{"version":3,"file":"resizeResults.js","sourceRoot":"","sources":["../src/resizeResults.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,2DAAwD;AACxD,2DAAwD;AACxD,qEAA6F;AAC7F,qEAA6F;AAE7F,SAAgB,aAAa,CAAI,OAAU,EAAE,UAAuB;IAElE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,oBAAU,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAE7E,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;KAC5F;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAa,CAAA;KAC7E;IAED,IAAI,uCAAmB,CAAC,OAAO,CAAC,EAAE;QAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEpH,OAAO,2CAAuB,CAAC,2CAAuB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAA;KACrG;IAED,IAAI,uCAAmB,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,2CAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;KAClF;IAED,IAAI,OAAO,YAAY,6BAAa,IAAI,OAAO,YAAY,6BAAa,EAAE;QACxE,OAAQ,OAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;KAC/C;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AA5BD,sCA4BC"} \ No newline at end of file diff --git a/build/tinyFaceDetector/TinyFaceDetector.js b/build/tinyFaceDetector/TinyFaceDetector.js index 9024d31..efe6c8e 100644 --- a/build/tinyFaceDetector/TinyFaceDetector.js +++ b/build/tinyFaceDetector/TinyFaceDetector.js @@ -1,14 +1,17 @@ -import { FaceDetection } from '../classes'; -import { TinyYolov2Base } from '../tinyYolov2/TinyYolov2Base'; -import { BOX_ANCHORS, IOU_THRESHOLD, MEAN_RGB } from './const'; -export class TinyFaceDetector extends TinyYolov2Base { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyFaceDetector = void 0; +const classes_1 = require("../classes"); +const TinyYolov2Base_1 = require("../tinyYolov2/TinyYolov2Base"); +const const_1 = require("./const"); +class TinyFaceDetector extends TinyYolov2Base_1.TinyYolov2Base { constructor() { const config = { withSeparableConvs: true, - iouThreshold: IOU_THRESHOLD, + iouThreshold: const_1.IOU_THRESHOLD, classes: ['face'], - anchors: BOX_ANCHORS, - meanRgb: MEAN_RGB, + anchors: const_1.BOX_ANCHORS, + meanRgb: const_1.MEAN_RGB, isFirstLayerConv2d: true, filterSizes: [3, 16, 32, 64, 128, 256, 512] }; @@ -19,7 +22,7 @@ export class TinyFaceDetector extends TinyYolov2Base { } async locateFaces(input, forwardParams) { const objectDetections = await this.detect(input, forwardParams); - return objectDetections.map(det => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight })); + return objectDetections.map(det => new classes_1.FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight })); } getDefaultModelName() { return 'tiny_face_detector_model'; @@ -28,4 +31,5 @@ export class TinyFaceDetector extends TinyYolov2Base { return super.extractParamsFromWeigthMap(weightMap); } } +exports.TinyFaceDetector = TinyFaceDetector; //# sourceMappingURL=TinyFaceDetector.js.map \ No newline at end of file diff --git a/build/tinyFaceDetector/TinyFaceDetector.js.map b/build/tinyFaceDetector/TinyFaceDetector.js.map index 0e3f274..95ff54e 100644 --- a/build/tinyFaceDetector/TinyFaceDetector.js.map +++ b/build/tinyFaceDetector/TinyFaceDetector.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyFaceDetector.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/TinyFaceDetector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAS,MAAM,YAAY,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAElD;QACE,MAAM,MAAM,GAAG;YACb,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,aAAa;YAC3B,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,QAAQ;YACjB,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SAC5C,CAAA;QAED,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAgB,EAAE,aAAiC;QAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAChE,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACvI,CAAC;IAES,mBAAmB;QAC3B,OAAO,0BAA0B,CAAA;IACnC,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"TinyFaceDetector.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/TinyFaceDetector.ts"],"names":[],"mappings":";;;AAEA,wCAAkD;AAIlD,iEAA8D;AAE9D,mCAA+D;AAE/D,MAAa,gBAAiB,SAAQ,+BAAc;IAElD;QACE,MAAM,MAAM,GAAG;YACb,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,qBAAa;YAC3B,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,mBAAW;YACpB,OAAO,EAAE,gBAAQ;YACjB,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SAC5C,CAAA;QAED,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAgB,EAAE,aAAiC;QAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAChE,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,uBAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACvI,CAAC;IAES,mBAAmB;QAC3B,OAAO,0BAA0B,CAAA;IACnC,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CACF;AAhCD,4CAgCC"} \ No newline at end of file diff --git a/build/tinyFaceDetector/TinyFaceDetectorOptions.js b/build/tinyFaceDetector/TinyFaceDetectorOptions.js index 53d6172..12dc154 100644 --- a/build/tinyFaceDetector/TinyFaceDetectorOptions.js +++ b/build/tinyFaceDetector/TinyFaceDetectorOptions.js @@ -1,8 +1,12 @@ -import { TinyYolov2Options } from '../tinyYolov2'; -export class TinyFaceDetectorOptions extends TinyYolov2Options { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyFaceDetectorOptions = void 0; +const tinyYolov2_1 = require("../tinyYolov2"); +class TinyFaceDetectorOptions extends tinyYolov2_1.TinyYolov2Options { constructor() { super(...arguments); this._name = 'TinyFaceDetectorOptions'; } } +exports.TinyFaceDetectorOptions = TinyFaceDetectorOptions; //# sourceMappingURL=TinyFaceDetectorOptions.js.map \ No newline at end of file diff --git a/build/tinyFaceDetector/TinyFaceDetectorOptions.js.map b/build/tinyFaceDetector/TinyFaceDetectorOptions.js.map index a468927..c6d2d39 100644 --- a/build/tinyFaceDetector/TinyFaceDetectorOptions.js.map +++ b/build/tinyFaceDetector/TinyFaceDetectorOptions.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyFaceDetectorOptions.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAItE,MAAM,OAAO,uBAAwB,SAAQ,iBAAiB;IAA9D;;QACY,UAAK,GAAW,yBAAyB,CAAA;IACrD,CAAC;CAAA"} \ No newline at end of file +{"version":3,"file":"TinyFaceDetectorOptions.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts"],"names":[],"mappings":";;;AAAA,8CAAsE;AAItE,MAAa,uBAAwB,SAAQ,8BAAiB;IAA9D;;QACY,UAAK,GAAW,yBAAyB,CAAA;IACrD,CAAC;CAAA;AAFD,0DAEC"} \ No newline at end of file diff --git a/build/tinyFaceDetector/const.js b/build/tinyFaceDetector/const.js index f1cbe87..811fda5 100644 --- a/build/tinyFaceDetector/const.js +++ b/build/tinyFaceDetector/const.js @@ -1,11 +1,14 @@ -import { Point } from '../classes'; -export const IOU_THRESHOLD = 0.4; -export const BOX_ANCHORS = [ - new Point(1.603231, 2.094468), - new Point(6.041143, 7.080126), - new Point(2.882459, 3.518061), - new Point(4.266906, 5.178857), - new Point(9.041765, 10.66308) +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MEAN_RGB = exports.BOX_ANCHORS = exports.IOU_THRESHOLD = void 0; +const classes_1 = require("../classes"); +exports.IOU_THRESHOLD = 0.4; +exports.BOX_ANCHORS = [ + new classes_1.Point(1.603231, 2.094468), + new classes_1.Point(6.041143, 7.080126), + new classes_1.Point(2.882459, 3.518061), + new classes_1.Point(4.266906, 5.178857), + new classes_1.Point(9.041765, 10.66308) ]; -export const MEAN_RGB = [117.001, 114.697, 97.404]; +exports.MEAN_RGB = [117.001, 114.697, 97.404]; //# sourceMappingURL=const.js.map \ No newline at end of file diff --git a/build/tinyFaceDetector/const.js.map b/build/tinyFaceDetector/const.js.map index 041f497..918c5bb 100644 --- a/build/tinyFaceDetector/const.js.map +++ b/build/tinyFaceDetector/const.js.map @@ -1 +1 @@ -{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/const.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAErB,QAAA,aAAa,GAAG,GAAG,CAAA;AAEnB,QAAA,WAAW,GAAG;IACzB,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC9B,CAAA;AAEY,QAAA,QAAQ,GAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA"} \ No newline at end of file diff --git a/build/tinyFaceDetector/index.js b/build/tinyFaceDetector/index.js index 0c0bd91..19fbd73 100644 --- a/build/tinyFaceDetector/index.js +++ b/build/tinyFaceDetector/index.js @@ -1,9 +1,14 @@ -import { TinyFaceDetector } from './TinyFaceDetector'; -export * from './TinyFaceDetector'; -export * from './TinyFaceDetectorOptions'; -export function createTinyFaceDetector(weights) { - const net = new TinyFaceDetector(); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createTinyFaceDetector = void 0; +const tslib_1 = require("tslib"); +const TinyFaceDetector_1 = require("./TinyFaceDetector"); +tslib_1.__exportStar(require("./TinyFaceDetector"), exports); +tslib_1.__exportStar(require("./TinyFaceDetectorOptions"), exports); +function createTinyFaceDetector(weights) { + const net = new TinyFaceDetector_1.TinyFaceDetector(); net.extractWeights(weights); return net; } +exports.createTinyFaceDetector = createTinyFaceDetector; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/tinyFaceDetector/index.js.map b/build/tinyFaceDetector/index.js.map index fb02caa..a4a97b0 100644 --- a/build/tinyFaceDetector/index.js.map +++ b/build/tinyFaceDetector/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAE1C,MAAM,UAAU,sBAAsB,CAAC,OAAqB;IAC1D,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAA;IAClC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tinyFaceDetector/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAsD;AAEtD,6DAAmC;AACnC,oEAA0C;AAE1C,SAAgB,sBAAsB,CAAC,OAAqB;IAC1D,MAAM,GAAG,GAAG,IAAI,mCAAgB,EAAE,CAAA;IAClC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC;AAJD,wDAIC"} \ No newline at end of file diff --git a/build/tinyYolov2/TinyYolov2.js b/build/tinyYolov2/TinyYolov2.js index a69ea6d..a320871 100644 --- a/build/tinyYolov2/TinyYolov2.js +++ b/build/tinyYolov2/TinyYolov2.js @@ -1,19 +1,22 @@ -import { FaceDetection } from '../classes'; -import { BOX_ANCHORS, BOX_ANCHORS_SEPARABLE, DEFAULT_MODEL_NAME, DEFAULT_MODEL_NAME_SEPARABLE_CONV, IOU_THRESHOLD, MEAN_RGB_SEPARABLE, } from './const'; -import { TinyYolov2Base } from './TinyYolov2Base'; -export class TinyYolov2 extends TinyYolov2Base { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyYolov2 = void 0; +const classes_1 = require("../classes"); +const const_1 = require("./const"); +const TinyYolov2Base_1 = require("./TinyYolov2Base"); +class TinyYolov2 extends TinyYolov2Base_1.TinyYolov2Base { constructor(withSeparableConvs = true) { const config = Object.assign({}, { withSeparableConvs, - iouThreshold: IOU_THRESHOLD, + iouThreshold: const_1.IOU_THRESHOLD, classes: ['face'] }, withSeparableConvs ? { - anchors: BOX_ANCHORS_SEPARABLE, - meanRgb: MEAN_RGB_SEPARABLE + anchors: const_1.BOX_ANCHORS_SEPARABLE, + meanRgb: const_1.MEAN_RGB_SEPARABLE } : { - anchors: BOX_ANCHORS, + anchors: const_1.BOX_ANCHORS, withClassScores: true }); super(config); @@ -26,13 +29,14 @@ export class TinyYolov2 extends TinyYolov2Base { } async locateFaces(input, forwardParams) { const objectDetections = await this.detect(input, forwardParams); - return objectDetections.map(det => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight })); + return objectDetections.map(det => new classes_1.FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight })); } getDefaultModelName() { - return this.withSeparableConvs ? DEFAULT_MODEL_NAME_SEPARABLE_CONV : DEFAULT_MODEL_NAME; + return this.withSeparableConvs ? const_1.DEFAULT_MODEL_NAME_SEPARABLE_CONV : const_1.DEFAULT_MODEL_NAME; } extractParamsFromWeigthMap(weightMap) { return super.extractParamsFromWeigthMap(weightMap); } } +exports.TinyYolov2 = TinyYolov2; //# sourceMappingURL=TinyYolov2.js.map \ No newline at end of file diff --git a/build/tinyYolov2/TinyYolov2.js.map b/build/tinyYolov2/TinyYolov2.js.map index 56e0b40..fd57650 100644 --- a/build/tinyYolov2/TinyYolov2.js.map +++ b/build/tinyYolov2/TinyYolov2.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyYolov2.js","sourceRoot":"","sources":["../../src/tinyYolov2/TinyYolov2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAS,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,iCAAiC,EACjC,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,OAAO,UAAW,SAAQ,cAAc;IAE5C,YAAY,qBAA8B,IAAI;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;YAC/B,kBAAkB;YAClB,YAAY,EAAE,aAAa;YAC3B,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,EACD,kBAAkB;YAChB,CAAC,CAAC;gBACA,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,kBAAkB;aAC5B;YACD,CAAC,CAAC;gBACA,OAAO,EAAE,WAAW;gBACpB,eAAe,EAAE,IAAI;aACtB,CACF,CAAA;QAED,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;IACvC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAgB,EAAE,aAAiC;QAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAChE,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACvI,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,kBAAkB,CAAA;IACzF,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"TinyYolov2.js","sourceRoot":"","sources":["../../src/tinyYolov2/TinyYolov2.ts"],"names":[],"mappings":";;;AAEA,wCAAkD;AAGlD,mCAOiB;AACjB,qDAAkD;AAIlD,MAAa,UAAW,SAAQ,+BAAc;IAE5C,YAAY,qBAA8B,IAAI;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;YAC/B,kBAAkB;YAClB,YAAY,EAAE,qBAAa;YAC3B,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,EACD,kBAAkB;YAChB,CAAC,CAAC;gBACA,OAAO,EAAE,6BAAqB;gBAC9B,OAAO,EAAE,0BAAkB;aAC5B;YACD,CAAC,CAAC;gBACA,OAAO,EAAE,mBAAW;gBACpB,eAAe,EAAE,IAAI;aACtB,CACF,CAAA;QAED,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;IACvC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAgB,EAAE,aAAiC;QAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAChE,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,uBAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACvI,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,yCAAiC,CAAC,CAAC,CAAC,0BAAkB,CAAA;IACzF,CAAC;IAES,0BAA0B,CAAC,SAA4B;QAC/D,OAAO,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CACF;AA1CD,gCA0CC"} \ No newline at end of file diff --git a/build/tinyYolov2/TinyYolov2Base.js b/build/tinyYolov2/TinyYolov2Base.js index 051ee3f..41e2f20 100644 --- a/build/tinyYolov2/TinyYolov2Base.js +++ b/build/tinyYolov2/TinyYolov2Base.js @@ -1,23 +1,26 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { BoundingBox } from '../classes/BoundingBox'; -import { ObjectDetection } from '../classes/ObjectDetection'; -import { convLayer } from '../common'; -import { toNetInput } from '../dom'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { sigmoid } from '../ops'; -import { nonMaxSuppression } from '../ops/nonMaxSuppression'; -import { normalize } from '../ops/normalize'; -import { validateConfig } from './config'; -import { convWithBatchNorm } from './convWithBatchNorm'; -import { depthwiseSeparableConv } from './depthwiseSeparableConv'; -import { extractParams } from './extractParams'; -import { extractParamsFromWeigthMap } from './extractParamsFromWeigthMap'; -import { leaky } from './leaky'; -import { TinyYolov2Options } from './TinyYolov2Options'; -export class TinyYolov2Base extends NeuralNetwork { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyYolov2Base = void 0; +const tf = require("@tensorflow/tfjs-core"); +const BoundingBox_1 = require("../classes/BoundingBox"); +const ObjectDetection_1 = require("../classes/ObjectDetection"); +const common_1 = require("../common"); +const dom_1 = require("../dom"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const ops_1 = require("../ops"); +const nonMaxSuppression_1 = require("../ops/nonMaxSuppression"); +const normalize_1 = require("../ops/normalize"); +const config_1 = require("./config"); +const convWithBatchNorm_1 = require("./convWithBatchNorm"); +const depthwiseSeparableConv_1 = require("./depthwiseSeparableConv"); +const extractParams_1 = require("./extractParams"); +const extractParamsFromWeigthMap_1 = require("./extractParamsFromWeigthMap"); +const leaky_1 = require("./leaky"); +const TinyYolov2Options_1 = require("./TinyYolov2Options"); +class TinyYolov2Base extends NeuralNetwork_1.NeuralNetwork { constructor(config) { super('TinyYolov2'); - validateConfig(config); + config_1.validateConfig(config); this._config = config; } get config() { @@ -30,40 +33,40 @@ export class TinyYolov2Base extends NeuralNetwork { return 5 + (this.withClassScores ? this.config.classes.length : 0); } runTinyYolov2(x, params) { - let out = convWithBatchNorm(x, params.conv0); + let out = convWithBatchNorm_1.convWithBatchNorm(x, params.conv0); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = convWithBatchNorm(out, params.conv1); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv1); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = convWithBatchNorm(out, params.conv2); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv2); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = convWithBatchNorm(out, params.conv3); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv3); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = convWithBatchNorm(out, params.conv4); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv4); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = convWithBatchNorm(out, params.conv5); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv5); out = tf.maxPool(out, [2, 2], [1, 1], 'same'); - out = convWithBatchNorm(out, params.conv6); - out = convWithBatchNorm(out, params.conv7); - return convLayer(out, params.conv8, 'valid', false); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv6); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv7); + return common_1.convLayer(out, params.conv8, 'valid', false); } runMobilenet(x, params) { let out = this.config.isFirstLayerConv2d - ? leaky(convLayer(x, params.conv0, 'valid', false)) - : depthwiseSeparableConv(x, params.conv0); + ? leaky_1.leaky(common_1.convLayer(x, params.conv0, 'valid', false)) + : depthwiseSeparableConv_1.depthwiseSeparableConv(x, params.conv0); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = depthwiseSeparableConv(out, params.conv1); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv1); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = depthwiseSeparableConv(out, params.conv2); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv2); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = depthwiseSeparableConv(out, params.conv3); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv3); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = depthwiseSeparableConv(out, params.conv4); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv4); out = tf.maxPool(out, [2, 2], [2, 2], 'same'); - out = depthwiseSeparableConv(out, params.conv5); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv5); out = tf.maxPool(out, [2, 2], [1, 1], 'same'); - out = params.conv6 ? depthwiseSeparableConv(out, params.conv6) : out; - out = params.conv7 ? depthwiseSeparableConv(out, params.conv7) : out; - return convLayer(out, params.conv8, 'valid', false); + out = params.conv6 ? depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv6) : out; + out = params.conv7 ? depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv7) : out; + return common_1.convLayer(out, params.conv8, 'valid', false); } forwardInput(input, inputSize) { const { params } = this; @@ -73,7 +76,7 @@ export class TinyYolov2Base extends NeuralNetwork { return tf.tidy(() => { let batchTensor = input.toBatchTensor(inputSize, false).toFloat(); batchTensor = this.config.meanRgb - ? normalize(batchTensor, this.config.meanRgb) + ? normalize_1.normalize(batchTensor, this.config.meanRgb) : batchTensor; batchTensor = batchTensor.div(tf.scalar(256)); return this.config.withSeparableConvs @@ -82,11 +85,11 @@ export class TinyYolov2Base extends NeuralNetwork { }); } async forward(input, inputSize) { - return await this.forwardInput(await toNetInput(input), inputSize); + return await this.forwardInput(await dom_1.toNetInput(input), inputSize); } async detect(input, forwardParams = {}) { - const { inputSize, scoreThreshold } = new TinyYolov2Options(forwardParams); - const netInput = await toNetInput(input); + const { inputSize, scoreThreshold } = new TinyYolov2Options_1.TinyYolov2Options(forwardParams); + const netInput = await dom_1.toNetInput(input); const out = await this.forwardInput(netInput, inputSize); const out0 = tf.tidy(() => tf.unstack(out)[0].expandDims()); const inputDimensions = { @@ -100,15 +103,15 @@ export class TinyYolov2Base extends NeuralNetwork { const scores = results.map(res => res.score); const classScores = results.map(res => res.classScore); const classNames = results.map(res => this.config.classes[res.label]); - const indices = nonMaxSuppression(boxes.map(box => box.rescale(inputSize)), scores, this.config.iouThreshold, true); - const detections = indices.map(idx => new ObjectDetection(scores[idx], classScores[idx], classNames[idx], boxes[idx], inputDimensions)); + const indices = nonMaxSuppression_1.nonMaxSuppression(boxes.map(box => box.rescale(inputSize)), scores, this.config.iouThreshold, true); + const detections = indices.map(idx => new ObjectDetection_1.ObjectDetection(scores[idx], classScores[idx], classNames[idx], boxes[idx], inputDimensions)); return detections; } getDefaultModelName() { return ''; } extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap(weightMap, this.config); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap, this.config); } extractParams(weights) { const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES; @@ -116,7 +119,7 @@ export class TinyYolov2Base extends NeuralNetwork { if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) { throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`); } - return extractParams(weights, this.config, this.boxEncodingSize, filterSizes); + return extractParams_1.extractParams(weights, this.config, this.boxEncodingSize, filterSizes); } async extractBoxes(outputTensor, inputBlobDimensions, scoreThreshold) { const { width, height } = inputBlobDimensions; @@ -140,10 +143,10 @@ export class TinyYolov2Base extends NeuralNetwork { for (let row = 0; row < numCells; row++) { for (let col = 0; col < numCells; col++) { for (let anchor = 0; anchor < numBoxes; anchor++) { - const score = sigmoid(scoresData[row][col][anchor][0]); + const score = ops_1.sigmoid(scoresData[row][col][anchor][0]); if (!scoreThreshold || score > scoreThreshold) { - const ctX = ((col + sigmoid(boxesData[row][col][anchor][0])) / numCells) * correctionFactorX; - const ctY = ((row + sigmoid(boxesData[row][col][anchor][1])) / numCells) * correctionFactorY; + const ctX = ((col + ops_1.sigmoid(boxesData[row][col][anchor][0])) / numCells) * correctionFactorX; + const ctY = ((row + ops_1.sigmoid(boxesData[row][col][anchor][1])) / numCells) * correctionFactorY; const width = ((Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x) / numCells) * correctionFactorX; const height = ((Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y) / numCells) * correctionFactorY; const x = (ctX - (width / 2)); @@ -153,7 +156,7 @@ export class TinyYolov2Base extends NeuralNetwork { ? await this.extractPredictedClass(classScoresTensor, pos) : { classScore: 1, label: 0 }; results.push({ - box: new BoundingBox(x, y, x + width, y + height), + box: new BoundingBox_1.BoundingBox(x, y, x + width, y + height), score: score, classScore: score * classScore, label, @@ -180,6 +183,7 @@ export class TinyYolov2Base extends NeuralNetwork { .reduce((max, curr) => max.classScore > curr.classScore ? max : curr); } } +exports.TinyYolov2Base = TinyYolov2Base; TinyYolov2Base.DEFAULT_FILTER_SIZES = [ 3, 16, 32, 64, 128, 256, 512, 1024, 1024 ]; diff --git a/build/tinyYolov2/TinyYolov2Base.js.map b/build/tinyYolov2/TinyYolov2Base.js.map index e507cbd..5695eeb 100644 --- a/build/tinyYolov2/TinyYolov2Base.js.map +++ b/build/tinyYolov2/TinyYolov2Base.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyYolov2Base.js","sourceRoot":"","sources":["../../src/tinyYolov2/TinyYolov2Base.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TinyYolov2Base.js","sourceRoot":"","sources":["../../src/tinyYolov2/TinyYolov2Base.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/tinyYolov2/TinyYolov2Options.js b/build/tinyYolov2/TinyYolov2Options.js index 679a167..636d686 100644 --- a/build/tinyYolov2/TinyYolov2Options.js +++ b/build/tinyYolov2/TinyYolov2Options.js @@ -1,11 +1,14 @@ -export var TinyYolov2SizeType; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyYolov2Options = exports.TinyYolov2SizeType = void 0; +var TinyYolov2SizeType; (function (TinyYolov2SizeType) { TinyYolov2SizeType[TinyYolov2SizeType["XS"] = 224] = "XS"; TinyYolov2SizeType[TinyYolov2SizeType["SM"] = 320] = "SM"; TinyYolov2SizeType[TinyYolov2SizeType["MD"] = 416] = "MD"; TinyYolov2SizeType[TinyYolov2SizeType["LG"] = 608] = "LG"; -})(TinyYolov2SizeType || (TinyYolov2SizeType = {})); -export class TinyYolov2Options { +})(TinyYolov2SizeType = exports.TinyYolov2SizeType || (exports.TinyYolov2SizeType = {})); +class TinyYolov2Options { constructor({ inputSize, scoreThreshold } = {}) { this._name = 'TinyYolov2Options'; this._inputSize = inputSize || 416; @@ -20,4 +23,5 @@ export class TinyYolov2Options { get inputSize() { return this._inputSize; } get scoreThreshold() { return this._scoreThreshold; } } +exports.TinyYolov2Options = TinyYolov2Options; //# sourceMappingURL=TinyYolov2Options.js.map \ No newline at end of file diff --git a/build/tinyYolov2/TinyYolov2Options.js.map b/build/tinyYolov2/TinyYolov2Options.js.map index b5cdada..aaa3fdf 100644 --- a/build/tinyYolov2/TinyYolov2Options.js.map +++ b/build/tinyYolov2/TinyYolov2Options.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyYolov2Options.js","sourceRoot":"","sources":["../../src/tinyYolov2/TinyYolov2Options.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,yDAAQ,CAAA;AACV,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAOD,MAAM,OAAO,iBAAiB;IAM5B,YAAY,EAAE,SAAS,EAAE,cAAc,KAAyB,EAAE;QALxD,UAAK,GAAW,mBAAmB,CAAA;QAM3C,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,GAAG,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,cAAc,IAAI,GAAG,CAAA;QAE5C,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;YACrE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,sDAAsD,CAAC,CAAA;SACrF;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;YACtG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,2DAA2D,CAAC,CAAA;SAC1F;IACH,CAAC;IAED,IAAI,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IAClD,IAAI,cAAc,KAAa,OAAO,IAAI,CAAC,eAAe,CAAA,CAAC,CAAC;CAC7D"} \ No newline at end of file +{"version":3,"file":"TinyYolov2Options.js","sourceRoot":"","sources":["../../src/tinyYolov2/TinyYolov2Options.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,yDAAQ,CAAA;AACV,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAOD,MAAa,iBAAiB;IAM5B,YAAY,EAAE,SAAS,EAAE,cAAc,KAAyB,EAAE;QALxD,UAAK,GAAW,mBAAmB,CAAA;QAM3C,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,GAAG,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,cAAc,IAAI,GAAG,CAAA;QAE5C,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;YACrE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,sDAAsD,CAAC,CAAA;SACrF;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;YACtG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,2DAA2D,CAAC,CAAA;SAC1F;IACH,CAAC;IAED,IAAI,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IAClD,IAAI,cAAc,KAAa,OAAO,IAAI,CAAC,eAAe,CAAA,CAAC,CAAC;CAC7D;AArBD,8CAqBC"} \ No newline at end of file diff --git a/build/tinyYolov2/config.js b/build/tinyYolov2/config.js index d492168..d6f08fd 100644 --- a/build/tinyYolov2/config.js +++ b/build/tinyYolov2/config.js @@ -1,5 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateConfig = void 0; const isNumber = (arg) => typeof arg === 'number'; -export function validateConfig(config) { +function validateConfig(config) { if (!config) { throw new Error(`invalid config: ${config}`); } @@ -25,4 +28,5 @@ export function validateConfig(config) { throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config.meanRgb)}`); } } +exports.validateConfig = validateConfig; //# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/build/tinyYolov2/config.js.map b/build/tinyYolov2/config.js.map index cfc4b02..494a396 100644 --- a/build/tinyYolov2/config.js.map +++ b/build/tinyYolov2/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tinyYolov2/config.ts"],"names":[],"mappings":"AAaA,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAA;AAEtD,MAAM,UAAU,cAAc,CAAC,MAAW;IACxC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAA;KAC7C;IAED,IAAI,OAAO,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;KACrG;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,GAAG,EAAE;QAC1F,MAAM,IAAI,KAAK,CAAC,gEAAgE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;KACvG;IAED,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;WAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;WACtB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAC3D;QAEA,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KACpH;IAED,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;WAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;WACtB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F;QAEA,MAAM,IAAI,KAAK,CAAC,wEAAwE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KAC1H;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,CACpB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;WAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;WAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CACnC,EAAE;QAED,MAAM,IAAI,KAAK,CAAC,8EAA8E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KAChI;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tinyYolov2/config.ts"],"names":[],"mappings":";;;AAaA,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAA;AAEtD,SAAgB,cAAc,CAAC,MAAW;IACxC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAA;KAC7C;IAED,IAAI,OAAO,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;KACrG;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,GAAG,EAAE;QAC1F,MAAM,IAAI,KAAK,CAAC,gEAAgE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;KACvG;IAED,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;WAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;WACtB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAC3D;QAEA,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KACpH;IAED,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;WAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;WACtB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F;QAEA,MAAM,IAAI,KAAK,CAAC,wEAAwE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KAC1H;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,CACpB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;WAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;WAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CACnC,EAAE;QAED,MAAM,IAAI,KAAK,CAAC,8EAA8E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KAChI;AACH,CAAC;AAvCD,wCAuCC"} \ No newline at end of file diff --git a/build/tinyYolov2/const.js b/build/tinyYolov2/const.js index 75ac107..db1b71c 100644 --- a/build/tinyYolov2/const.js +++ b/build/tinyYolov2/const.js @@ -1,20 +1,23 @@ -import { Point } from '../classes'; -export const IOU_THRESHOLD = 0.4; -export const BOX_ANCHORS = [ - new Point(0.738768, 0.874946), - new Point(2.42204, 2.65704), - new Point(4.30971, 7.04493), - new Point(10.246, 4.59428), - new Point(12.6868, 11.8741) +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DEFAULT_MODEL_NAME_SEPARABLE_CONV = exports.DEFAULT_MODEL_NAME = exports.MEAN_RGB_SEPARABLE = exports.BOX_ANCHORS_SEPARABLE = exports.BOX_ANCHORS = exports.IOU_THRESHOLD = void 0; +const classes_1 = require("../classes"); +exports.IOU_THRESHOLD = 0.4; +exports.BOX_ANCHORS = [ + new classes_1.Point(0.738768, 0.874946), + new classes_1.Point(2.42204, 2.65704), + new classes_1.Point(4.30971, 7.04493), + new classes_1.Point(10.246, 4.59428), + new classes_1.Point(12.6868, 11.8741) ]; -export const BOX_ANCHORS_SEPARABLE = [ - new Point(1.603231, 2.094468), - new Point(6.041143, 7.080126), - new Point(2.882459, 3.518061), - new Point(4.266906, 5.178857), - new Point(9.041765, 10.66308) +exports.BOX_ANCHORS_SEPARABLE = [ + new classes_1.Point(1.603231, 2.094468), + new classes_1.Point(6.041143, 7.080126), + new classes_1.Point(2.882459, 3.518061), + new classes_1.Point(4.266906, 5.178857), + new classes_1.Point(9.041765, 10.66308) ]; -export const MEAN_RGB_SEPARABLE = [117.001, 114.697, 97.404]; -export const DEFAULT_MODEL_NAME = 'tiny_yolov2_model'; -export const DEFAULT_MODEL_NAME_SEPARABLE_CONV = 'tiny_yolov2_separable_conv_model'; +exports.MEAN_RGB_SEPARABLE = [117.001, 114.697, 97.404]; +exports.DEFAULT_MODEL_NAME = 'tiny_yolov2_model'; +exports.DEFAULT_MODEL_NAME_SEPARABLE_CONV = 'tiny_yolov2_separable_conv_model'; //# sourceMappingURL=const.js.map \ No newline at end of file diff --git a/build/tinyYolov2/const.js.map b/build/tinyYolov2/const.js.map index 05b52d2..28065e7 100644 --- a/build/tinyYolov2/const.js.map +++ b/build/tinyYolov2/const.js.map @@ -1 +1 @@ -{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/tinyYolov2/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,kCAAkC,CAAA"} \ No newline at end of file +{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/tinyYolov2/const.ts"],"names":[],"mappings":";;;AAAA,wCAAmC;AAEtB,QAAA,aAAa,GAAG,GAAG,CAAA;AAEnB,QAAA,WAAW,GAAG;IACzB,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,IAAI,eAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,IAAI,eAAK,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,IAAI,eAAK,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B,CAAA;AAEY,QAAA,qBAAqB,GAAG;IACnC,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,IAAI,eAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC9B,CAAA;AAEY,QAAA,kBAAkB,GAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAEzE,QAAA,kBAAkB,GAAG,mBAAmB,CAAA;AACxC,QAAA,iCAAiC,GAAG,kCAAkC,CAAA"} \ No newline at end of file diff --git a/build/tinyYolov2/convWithBatchNorm.js b/build/tinyYolov2/convWithBatchNorm.js index 3f8e503..dac00c8 100644 --- a/build/tinyYolov2/convWithBatchNorm.js +++ b/build/tinyYolov2/convWithBatchNorm.js @@ -1,13 +1,17 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { leaky } from './leaky'; -export function convWithBatchNorm(x, params) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convWithBatchNorm = void 0; +const tf = require("@tensorflow/tfjs-core"); +const leaky_1 = require("./leaky"); +function convWithBatchNorm(x, params) { return tf.tidy(() => { let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]); out = tf.conv2d(out, params.conv.filters, [1, 1], 'valid'); out = tf.sub(out, params.bn.sub); out = tf.mul(out, params.bn.truediv); out = tf.add(out, params.conv.bias); - return leaky(out); + return leaky_1.leaky(out); }); } +exports.convWithBatchNorm = convWithBatchNorm; //# sourceMappingURL=convWithBatchNorm.js.map \ No newline at end of file diff --git a/build/tinyYolov2/convWithBatchNorm.js.map b/build/tinyYolov2/convWithBatchNorm.js.map index e858d16..988466d 100644 --- a/build/tinyYolov2/convWithBatchNorm.js.map +++ b/build/tinyYolov2/convWithBatchNorm.js.map @@ -1 +1 @@ -{"version":3,"file":"convWithBatchNorm.js","sourceRoot":"","sources":["../../src/tinyYolov2/convWithBatchNorm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,UAAU,iBAAiB,CAAC,CAAc,EAAE,MAAyB;IACzE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgB,CAAA;QAEpE,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC1D,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;QAChC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACpC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"convWithBatchNorm.js","sourceRoot":"","sources":["../../src/tinyYolov2/convWithBatchNorm.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,mCAAgC;AAGhC,SAAgB,iBAAiB,CAAC,CAAc,EAAE,MAAyB;IACzE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgB,CAAA;QAEpE,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC1D,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;QAChC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACpC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnC,OAAO,aAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC;AAXD,8CAWC"} \ No newline at end of file diff --git a/build/tinyYolov2/depthwiseSeparableConv.js b/build/tinyYolov2/depthwiseSeparableConv.js index a8e8fd4..67af47d 100644 --- a/build/tinyYolov2/depthwiseSeparableConv.js +++ b/build/tinyYolov2/depthwiseSeparableConv.js @@ -1,11 +1,15 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { leaky } from './leaky'; -export function depthwiseSeparableConv(x, params) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.depthwiseSeparableConv = void 0; +const tf = require("@tensorflow/tfjs-core"); +const leaky_1 = require("./leaky"); +function depthwiseSeparableConv(x, params) { return tf.tidy(() => { let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]); out = tf.separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], 'valid'); out = tf.add(out, params.bias); - return leaky(out); + return leaky_1.leaky(out); }); } +exports.depthwiseSeparableConv = depthwiseSeparableConv; //# sourceMappingURL=depthwiseSeparableConv.js.map \ No newline at end of file diff --git a/build/tinyYolov2/depthwiseSeparableConv.js.map b/build/tinyYolov2/depthwiseSeparableConv.js.map index e760b72..97c4eb3 100644 --- a/build/tinyYolov2/depthwiseSeparableConv.js.map +++ b/build/tinyYolov2/depthwiseSeparableConv.js.map @@ -1 +1 @@ -{"version":3,"file":"depthwiseSeparableConv.js","sourceRoot":"","sources":["../../src/tinyYolov2/depthwiseSeparableConv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,UAAU,sBAAsB,CAAC,CAAc,EAAE,MAA2B;IAChF,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgB,CAAA;QAEpE,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAChG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAE9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"depthwiseSeparableConv.js","sourceRoot":"","sources":["../../src/tinyYolov2/depthwiseSeparableConv.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAG5C,mCAAgC;AAEhC,SAAgB,sBAAsB,CAAC,CAAc,EAAE,MAA2B;IAChF,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgB,CAAA;QAEpE,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAChG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAE9B,OAAO,aAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC;AATD,wDASC"} \ No newline at end of file diff --git a/build/tinyYolov2/extractParams.js b/build/tinyYolov2/extractParams.js index e56fcbd..399e613 100644 --- a/build/tinyYolov2/extractParams.js +++ b/build/tinyYolov2/extractParams.js @@ -1,9 +1,12 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { extractConvParamsFactory } from '../common'; -import { extractSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory'; -import { extractWeightsFactory } from '../common/extractWeightsFactory'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParams = void 0; +const tf = require("@tensorflow/tfjs-core"); +const common_1 = require("../common"); +const extractSeparableConvParamsFactory_1 = require("../common/extractSeparableConvParamsFactory"); +const extractWeightsFactory_1 = require("../common/extractWeightsFactory"); function extractorsFactory(extractWeights, paramMappings) { - const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings); + const extractConvParams = common_1.extractConvParamsFactory(extractWeights, paramMappings); function extractBatchNormParams(size, mappedPrefix) { const sub = tf.tensor1d(extractWeights(size)); const truediv = tf.tensor1d(extractWeights(size)); @@ -15,15 +18,15 @@ function extractorsFactory(extractWeights, paramMappings) { const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`); return { conv, bn }; } - const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings); + const extractSeparableConvParams = extractSeparableConvParamsFactory_1.extractSeparableConvParamsFactory(extractWeights, paramMappings); return { extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams }; } -export function extractParams(weights, config, boxEncodingSize, filterSizes) { - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); +function extractParams(weights, config, boxEncodingSize, filterSizes) { + const { extractWeights, getRemainingWeights } = extractWeightsFactory_1.extractWeightsFactory(weights); const paramMappings = []; const { extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams } = extractorsFactory(extractWeights, paramMappings); let params; @@ -60,4 +63,5 @@ export function extractParams(weights, config, boxEncodingSize, filterSizes) { } return { params, paramMappings }; } +exports.extractParams = extractParams; //# sourceMappingURL=extractParams.js.map \ No newline at end of file diff --git a/build/tinyYolov2/extractParams.js.map b/build/tinyYolov2/extractParams.js.map index e0080c5..d903033 100644 --- a/build/tinyYolov2/extractParams.js.map +++ b/build/tinyYolov2/extractParams.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/tinyYolov2/extractParams.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/tinyYolov2/extractParams.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/tinyYolov2/extractParamsFromWeigthMap.js b/build/tinyYolov2/extractParamsFromWeigthMap.js index 30e2194..0f67c68 100644 --- a/build/tinyYolov2/extractParamsFromWeigthMap.js +++ b/build/tinyYolov2/extractParamsFromWeigthMap.js @@ -1,8 +1,11 @@ -import { disposeUnusedWeightTensors } from '../common/disposeUnusedWeightTensors'; -import { loadSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory'; -import { extractWeightEntryFactory } from '../common/extractWeightEntryFactory'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMap = void 0; +const disposeUnusedWeightTensors_1 = require("../common/disposeUnusedWeightTensors"); +const extractSeparableConvParamsFactory_1 = require("../common/extractSeparableConvParamsFactory"); +const extractWeightEntryFactory_1 = require("../common/extractWeightEntryFactory"); function extractorsFactory(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); + const extractWeightEntry = extractWeightEntryFactory_1.extractWeightEntryFactory(weightMap, paramMappings); function extractBatchNormParams(prefix) { const sub = extractWeightEntry(`${prefix}/sub`, 1); const truediv = extractWeightEntry(`${prefix}/truediv`, 1); @@ -18,14 +21,14 @@ function extractorsFactory(weightMap, paramMappings) { const bn = extractBatchNormParams(`${prefix}/bn`); return { conv, bn }; } - const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry); + const extractSeparableConvParams = extractSeparableConvParamsFactory_1.loadSeparableConvParamsFactory(extractWeightEntry); return { extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams }; } -export function extractParamsFromWeigthMap(weightMap, config) { +function extractParamsFromWeigthMap(weightMap, config) { const paramMappings = []; const { extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams } = extractorsFactory(weightMap, paramMappings); let params; @@ -56,7 +59,8 @@ export function extractParamsFromWeigthMap(weightMap, config) { conv8: extractConvParams('conv8') }; } - disposeUnusedWeightTensors(weightMap, paramMappings); + disposeUnusedWeightTensors_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params, paramMappings }; } +exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; //# sourceMappingURL=extractParamsFromWeigthMap.js.map \ No newline at end of file diff --git a/build/tinyYolov2/extractParamsFromWeigthMap.js.map b/build/tinyYolov2/extractParamsFromWeigthMap.js.map index 74f73fb..dc49f4f 100644 --- a/build/tinyYolov2/extractParamsFromWeigthMap.js.map +++ b/build/tinyYolov2/extractParamsFromWeigthMap.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/tinyYolov2/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/tinyYolov2/extractParamsFromWeigthMap.ts"],"names":[],"mappings":";;;AAGA,qFAAkF;AAClF,mGAA6F;AAC7F,mFAAgF;AAKhF,SAAS,iBAAiB,CAAC,SAAc,EAAE,aAA6B;IAEtE,MAAM,kBAAkB,GAAG,qDAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,SAAS,sBAAsB,CAAC,MAAc;QAC5C,MAAM,GAAG,GAAG,kBAAkB,CAAc,GAAG,MAAM,MAAM,EAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;IACzB,CAAC;IAED,SAAS,iBAAiB,CAAC,MAAc;QACvC,MAAM,OAAO,GAAG,kBAAkB,CAAc,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,SAAS,8BAA8B,CAAC,MAAc;QACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;QAChD,MAAM,EAAE,GAAG,sBAAsB,CAAC,GAAG,MAAM,KAAK,CAAC,CAAA;QACjD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IACrB,CAAC;IAED,MAAM,0BAA0B,GAAG,kEAA8B,CAAC,kBAAkB,CAAC,CAAA;IAErF,OAAO;QACL,iBAAiB;QACjB,8BAA8B;QAC9B,0BAA0B;KAC3B,CAAA;AAEH,CAAC;AAED,SAAgB,0BAA0B,CACxC,SAA4B,EAC5B,MAAwB;IAGxB,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,iBAAiB,EACjB,8BAA8B,EAC9B,0BAA0B,EAC3B,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,IAAI,MAA2B,CAAA;IAE/B,IAAI,MAAM,CAAC,kBAAkB,EAAE;QAC7B,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;QACzE,MAAM,GAAG;YACP,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACnG,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;SAClC,CAAA;KACF;SAAM;QACL,MAAM,GAAG;YACP,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;SAClC,CAAA;KACF;IAED,uDAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClC,CAAC;AA7CD,gEA6CC"} \ No newline at end of file diff --git a/build/tinyYolov2/index.js b/build/tinyYolov2/index.js index 6714ce2..ccdf51a 100644 --- a/build/tinyYolov2/index.js +++ b/build/tinyYolov2/index.js @@ -1,11 +1,16 @@ -import { TinyYolov2 } from './TinyYolov2'; -export * from './TinyYolov2Options'; -export * from './config'; -export * from './types'; -export { TinyYolov2 }; -export function createTinyYolov2(weights, withSeparableConvs = true) { - const net = new TinyYolov2(withSeparableConvs); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createTinyYolov2 = exports.TinyYolov2 = void 0; +const tslib_1 = require("tslib"); +const TinyYolov2_1 = require("./TinyYolov2"); +Object.defineProperty(exports, "TinyYolov2", { enumerable: true, get: function () { return TinyYolov2_1.TinyYolov2; } }); +tslib_1.__exportStar(require("./TinyYolov2Options"), exports); +tslib_1.__exportStar(require("./config"), exports); +tslib_1.__exportStar(require("./types"), exports); +function createTinyYolov2(weights, withSeparableConvs = true) { + const net = new TinyYolov2_1.TinyYolov2(withSeparableConvs); net.extractWeights(weights); return net; } +exports.createTinyYolov2 = createTinyYolov2; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/tinyYolov2/index.js.map b/build/tinyYolov2/index.js.map index ac186e5..b9b7934 100644 --- a/build/tinyYolov2/index.js.map +++ b/build/tinyYolov2/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tinyYolov2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB,MAAM,UAAU,gBAAgB,CAAC,OAAqB,EAAE,qBAA8B,IAAI;IACxF,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAC9C,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tinyYolov2/index.ts"],"names":[],"mappings":";;;;AAAA,6CAA0C;AAOjC,2FAPA,uBAAU,OAOA;AALnB,8DAAoC;AAEpC,mDAAwB;AACxB,kDAAuB;AAIvB,SAAgB,gBAAgB,CAAC,OAAqB,EAAE,qBAA8B,IAAI;IACxF,MAAM,GAAG,GAAG,IAAI,uBAAU,CAAC,kBAAkB,CAAC,CAAA;IAC9C,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC;AAJD,4CAIC"} \ No newline at end of file diff --git a/build/tinyYolov2/leaky.js b/build/tinyYolov2/leaky.js index 37b63f6..90cee9d 100644 --- a/build/tinyYolov2/leaky.js +++ b/build/tinyYolov2/leaky.js @@ -1,9 +1,13 @@ -import * as tf from '@tensorflow/tfjs-core'; -export function leaky(x) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.leaky = void 0; +const tf = require("@tensorflow/tfjs-core"); +function leaky(x) { return tf.tidy(() => { const min = tf.mul(x, tf.scalar(0.10000000149011612)); return tf.add(tf.relu(tf.sub(x, min)), min); //return tf.maximum(x, min) }); } +exports.leaky = leaky; //# sourceMappingURL=leaky.js.map \ No newline at end of file diff --git a/build/tinyYolov2/leaky.js.map b/build/tinyYolov2/leaky.js.map index 0ff8205..4763cf1 100644 --- a/build/tinyYolov2/leaky.js.map +++ b/build/tinyYolov2/leaky.js.map @@ -1 +1 @@ -{"version":3,"file":"leaky.js","sourceRoot":"","sources":["../../src/tinyYolov2/leaky.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,UAAU,KAAK,CAAC,CAAc;IAClC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAA;QACrD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC3C,2BAA2B;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"leaky.js","sourceRoot":"","sources":["../../src/tinyYolov2/leaky.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,SAAgB,KAAK,CAAC,CAAc;IAClC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAA;QACrD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC3C,2BAA2B;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC;AAND,sBAMC"} \ No newline at end of file diff --git a/build/tinyYolov2/types.js b/build/tinyYolov2/types.js index 5b2306a..11e638d 100644 --- a/build/tinyYolov2/types.js +++ b/build/tinyYolov2/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/build/utils/index.js b/build/utils/index.js index f591532..560d614 100644 --- a/build/utils/index.js +++ b/build/utils/index.js @@ -1,49 +1,66 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { Point } from '../classes'; -import { Dimensions } from '../classes/Dimensions'; -export function isTensor(tensor, dim) { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isValidProbablitiy = exports.isValidNumber = exports.range = exports.getCenterPoint = exports.computeReshapedDimensions = exports.isDimensions = exports.round = exports.isEven = exports.isFloat = exports.isTensor4D = exports.isTensor3D = exports.isTensor2D = exports.isTensor1D = exports.isTensor = void 0; +const tf = require("@tensorflow/tfjs-core"); +const classes_1 = require("../classes"); +const Dimensions_1 = require("../classes/Dimensions"); +function isTensor(tensor, dim) { return tensor instanceof tf.Tensor && tensor.shape.length === dim; } -export function isTensor1D(tensor) { +exports.isTensor = isTensor; +function isTensor1D(tensor) { return isTensor(tensor, 1); } -export function isTensor2D(tensor) { +exports.isTensor1D = isTensor1D; +function isTensor2D(tensor) { return isTensor(tensor, 2); } -export function isTensor3D(tensor) { +exports.isTensor2D = isTensor2D; +function isTensor3D(tensor) { return isTensor(tensor, 3); } -export function isTensor4D(tensor) { +exports.isTensor3D = isTensor3D; +function isTensor4D(tensor) { return isTensor(tensor, 4); } -export function isFloat(num) { +exports.isTensor4D = isTensor4D; +function isFloat(num) { return num % 1 !== 0; } -export function isEven(num) { +exports.isFloat = isFloat; +function isEven(num) { return num % 2 === 0; } -export function round(num, prec = 2) { +exports.isEven = isEven; +function round(num, prec = 2) { const f = Math.pow(10, prec); return Math.floor(num * f) / f; } -export function isDimensions(obj) { +exports.round = round; +function isDimensions(obj) { return obj && obj.width && obj.height; } -export function computeReshapedDimensions({ width, height }, inputSize) { +exports.isDimensions = isDimensions; +function computeReshapedDimensions({ width, height }, inputSize) { const scale = inputSize / Math.max(height, width); - return new Dimensions(Math.round(width * scale), Math.round(height * scale)); + return new Dimensions_1.Dimensions(Math.round(width * scale), Math.round(height * scale)); } -export function getCenterPoint(pts) { - return pts.reduce((sum, pt) => sum.add(pt), new Point(0, 0)) - .div(new Point(pts.length, pts.length)); +exports.computeReshapedDimensions = computeReshapedDimensions; +function getCenterPoint(pts) { + return pts.reduce((sum, pt) => sum.add(pt), new classes_1.Point(0, 0)) + .div(new classes_1.Point(pts.length, pts.length)); } -export function range(num, start, step) { +exports.getCenterPoint = getCenterPoint; +function range(num, start, step) { return Array(num).fill(0).map((_, i) => start + (i * step)); } -export function isValidNumber(num) { +exports.range = range; +function isValidNumber(num) { return !!num && num !== Infinity && num !== -Infinity && !isNaN(num) || num === 0; } -export function isValidProbablitiy(num) { +exports.isValidNumber = isValidNumber; +function isValidProbablitiy(num) { return isValidNumber(num) && 0 <= num && num <= 1.0; } +exports.isValidProbablitiy = isValidProbablitiy; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/utils/index.js.map b/build/utils/index.js.map index 6bc5339..6ffc82e 100644 --- a/build/utils/index.js.map +++ b/build/utils/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,QAAQ,CAAC,MAAW,EAAE,GAAW;IAC/C,OAAO,MAAM,YAAY,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAW;IACpC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAW;IACpC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAW;IACpC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAW;IACpC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,OAAe,CAAC;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAe,EAAE,SAAiB;IACzF,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACjD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzD,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAA;AACrD,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/xception/TinyXception.js b/build/xception/TinyXception.js index d53a5ce..3e704c0 100644 --- a/build/xception/TinyXception.js +++ b/build/xception/TinyXception.js @@ -1,30 +1,33 @@ -import * as tf from '@tensorflow/tfjs-core'; -import { depthwiseSeparableConv } from '../common'; -import { toNetInput } from '../dom'; -import { NeuralNetwork } from '../NeuralNetwork'; -import { normalize } from '../ops'; -import { range } from '../utils'; -import { extractParams } from './extractParams'; -import { extractParamsFromWeigthMap } from './extractParamsFromWeigthMap'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TinyXception = void 0; +const tf = require("@tensorflow/tfjs-core"); +const common_1 = require("../common"); +const dom_1 = require("../dom"); +const NeuralNetwork_1 = require("../NeuralNetwork"); +const ops_1 = require("../ops"); +const utils_1 = require("../utils"); +const extractParams_1 = require("./extractParams"); +const extractParamsFromWeigthMap_1 = require("./extractParamsFromWeigthMap"); function conv(x, params, stride) { return tf.add(tf.conv2d(x, params.filters, stride, 'same'), params.bias); } function reductionBlock(x, params, isActivateInput = true) { let out = isActivateInput ? tf.relu(x) : x; - out = depthwiseSeparableConv(out, params.separable_conv0, [1, 1]); - out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]); + out = common_1.depthwiseSeparableConv(out, params.separable_conv0, [1, 1]); + out = common_1.depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]); out = tf.maxPool(out, [3, 3], [2, 2], 'same'); out = tf.add(out, conv(x, params.expansion_conv, [2, 2])); return out; } function mainBlock(x, params) { - let out = depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]); - out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]); - out = depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]); + let out = common_1.depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]); + out = common_1.depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]); + out = common_1.depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]); out = tf.add(out, x); return out; } -export class TinyXception extends NeuralNetwork { +class TinyXception extends NeuralNetwork_1.NeuralNetwork { constructor(numMainBlocks) { super('TinyXception'); this._numMainBlocks = numMainBlocks; @@ -37,29 +40,30 @@ export class TinyXception extends NeuralNetwork { return tf.tidy(() => { const batchTensor = input.toBatchTensor(112, true); const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(tf.scalar(256)); + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(256)); let out = tf.relu(conv(normalized, params.entry_flow.conv_in, [2, 2])); out = reductionBlock(out, params.entry_flow.reduction_block_0, false); out = reductionBlock(out, params.entry_flow.reduction_block_1); - range(this._numMainBlocks, 0, 1).forEach((idx) => { + utils_1.range(this._numMainBlocks, 0, 1).forEach((idx) => { out = mainBlock(out, params.middle_flow[`main_block_${idx}`]); }); out = reductionBlock(out, params.exit_flow.reduction_block); - out = tf.relu(depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1])); + out = tf.relu(common_1.depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1])); return out; }); } async forward(input) { - return this.forwardInput(await toNetInput(input)); + return this.forwardInput(await dom_1.toNetInput(input)); } getDefaultModelName() { return 'tiny_xception_model'; } extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap(weightMap, this._numMainBlocks); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap, this._numMainBlocks); } extractParams(weights) { - return extractParams(weights, this._numMainBlocks); + return extractParams_1.extractParams(weights, this._numMainBlocks); } } +exports.TinyXception = TinyXception; //# sourceMappingURL=TinyXception.js.map \ No newline at end of file diff --git a/build/xception/TinyXception.js.map b/build/xception/TinyXception.js.map index 1ad4348..d56954c 100644 --- a/build/xception/TinyXception.js.map +++ b/build/xception/TinyXception.js.map @@ -1 +1 @@ -{"version":3,"file":"TinyXception.js","sourceRoot":"","sources":["../../src/xception/TinyXception.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TinyXception.js","sourceRoot":"","sources":["../../src/xception/TinyXception.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/xception/extractParams.js b/build/xception/extractParams.js index 66772a5..65354d2 100644 --- a/build/xception/extractParams.js +++ b/build/xception/extractParams.js @@ -1,8 +1,11 @@ -import { extractConvParamsFactory, extractSeparableConvParamsFactory, extractWeightsFactory } from '../common'; -import { range } from '../utils'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParams = void 0; +const common_1 = require("../common"); +const utils_1 = require("../utils"); function extractorsFactory(extractWeights, paramMappings) { - const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings); - const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings); + const extractConvParams = common_1.extractConvParamsFactory(extractWeights, paramMappings); + const extractSeparableConvParams = common_1.extractSeparableConvParamsFactory(extractWeights, paramMappings); function extractReductionBlockParams(channelsIn, channelsOut, mappedPrefix) { const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`); const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`); @@ -22,9 +25,9 @@ function extractorsFactory(extractWeights, paramMappings) { extractMainBlockParams }; } -export function extractParams(weights, numMainBlocks) { +function extractParams(weights, numMainBlocks) { const paramMappings = []; - const { extractWeights, getRemainingWeights } = extractWeightsFactory(weights); + const { extractWeights, getRemainingWeights } = common_1.extractWeightsFactory(weights); const { extractConvParams, extractSeparableConvParams, extractReductionBlockParams, extractMainBlockParams } = extractorsFactory(extractWeights, paramMappings); const entry_flow_conv_in = extractConvParams(3, 32, 3, 'entry_flow/conv_in'); const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, 'entry_flow/reduction_block_0'); @@ -35,7 +38,7 @@ export function extractParams(weights, numMainBlocks) { reduction_block_1: entry_flow_reduction_block_1 }; const middle_flow = {}; - range(numMainBlocks, 0, 1).forEach((idx) => { + utils_1.range(numMainBlocks, 0, 1).forEach((idx) => { middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`); }); const exit_flow_reduction_block = extractReductionBlockParams(128, 256, 'exit_flow/reduction_block'); @@ -52,4 +55,5 @@ export function extractParams(weights, numMainBlocks) { params: { entry_flow, middle_flow, exit_flow } }; } +exports.extractParams = extractParams; //# sourceMappingURL=extractParams.js.map \ No newline at end of file diff --git a/build/xception/extractParams.js.map b/build/xception/extractParams.js.map index de87d79..f24e97c 100644 --- a/build/xception/extractParams.js.map +++ b/build/xception/extractParams.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/xception/extractParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE/G,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,SAAS,iBAAiB,CAAC,cAAsC,EAAE,aAA6B;IAE9F,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IACjF,MAAM,0BAA0B,GAAG,iCAAiC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEnG,SAAS,2BAA2B,CAAC,UAAkB,EAAE,WAAmB,EAAE,YAAoB;QAEhG,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,YAAY,kBAAkB,CAAC,CAAA;QAC9G,MAAM,eAAe,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,kBAAkB,CAAC,CAAA;QAC/G,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,YAAY,iBAAiB,CAAC,CAAA;QAEtG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,CAAA;IAC7D,CAAC;IAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,YAAoB;QAEpE,MAAM,eAAe,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACzG,MAAM,eAAe,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACzG,MAAM,eAAe,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,kBAAkB,CAAC,CAAA;QAEzG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;KACvB,CAAA;AAEH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAqB,EAAE,aAAqB;IAExE,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,cAAc,EACd,mBAAmB,EACpB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,EACJ,iBAAiB,EACjB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACvB,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAEpD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAA;IAC5E,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,EAAE,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAA;IACxG,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,EAAE,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAEzG,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,kBAAkB;QAC3B,iBAAiB,EAAE,4BAA4B;QAC/C,iBAAiB,EAAE,4BAA4B;KAChD,CAAA;IAED,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,sBAAsB,CAAC,GAAG,EAAE,0BAA0B,GAAG,EAAE,CAAC,CAAA;IACjG,CAAC,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAA;IACpG,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAA;IAEjG,MAAM,SAAS,GAAG;QAChB,eAAe,EAAE,yBAAyB;QAC1C,cAAc,EAAE,wBAAwB;KACzC,CAAA;IAED,IAAI,mBAAmB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;KAClF;IAED,OAAO;QACL,aAAa;QACb,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE;KAC/C,CAAA;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParams.js","sourceRoot":"","sources":["../../src/xception/extractParams.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/xception/extractParamsFromWeigthMap.js b/build/xception/extractParamsFromWeigthMap.js index 5bc6512..90c45ad 100644 --- a/build/xception/extractParamsFromWeigthMap.js +++ b/build/xception/extractParamsFromWeigthMap.js @@ -1,10 +1,13 @@ -import { disposeUnusedWeightTensors, extractWeightEntryFactory, loadSeparableConvParamsFactory, } from '../common'; -import { loadConvParamsFactory } from '../common/loadConvParamsFactory'; -import { range } from '../utils'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractParamsFromWeigthMap = void 0; +const common_1 = require("../common"); +const loadConvParamsFactory_1 = require("../common/loadConvParamsFactory"); +const utils_1 = require("../utils"); function loadParamsFactory(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - const extractConvParams = loadConvParamsFactory(extractWeightEntry); - const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry); + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + const extractConvParams = loadConvParamsFactory_1.loadConvParamsFactory(extractWeightEntry); + const extractSeparableConvParams = common_1.loadSeparableConvParamsFactory(extractWeightEntry); function extractReductionBlockParams(mappedPrefix) { const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`); const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`); @@ -24,7 +27,7 @@ function loadParamsFactory(weightMap, paramMappings) { extractMainBlockParams }; } -export function extractParamsFromWeigthMap(weightMap, numMainBlocks) { +function extractParamsFromWeigthMap(weightMap, numMainBlocks) { const paramMappings = []; const { extractConvParams, extractSeparableConvParams, extractReductionBlockParams, extractMainBlockParams } = loadParamsFactory(weightMap, paramMappings); const entry_flow_conv_in = extractConvParams('entry_flow/conv_in'); @@ -36,7 +39,7 @@ export function extractParamsFromWeigthMap(weightMap, numMainBlocks) { reduction_block_1: entry_flow_reduction_block_1 }; const middle_flow = {}; - range(numMainBlocks, 0, 1).forEach((idx) => { + utils_1.range(numMainBlocks, 0, 1).forEach((idx) => { middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`); }); const exit_flow_reduction_block = extractReductionBlockParams('exit_flow/reduction_block'); @@ -45,7 +48,8 @@ export function extractParamsFromWeigthMap(weightMap, numMainBlocks) { reduction_block: exit_flow_reduction_block, separable_conv: exit_flow_separable_conv }; - disposeUnusedWeightTensors(weightMap, paramMappings); + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); return { params: { entry_flow, middle_flow, exit_flow }, paramMappings }; } +exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; //# sourceMappingURL=extractParamsFromWeigthMap.js.map \ No newline at end of file diff --git a/build/xception/extractParamsFromWeigthMap.js.map b/build/xception/extractParamsFromWeigthMap.js.map index 571f9c2..b6b5b49 100644 --- a/build/xception/extractParamsFromWeigthMap.js.map +++ b/build/xception/extractParamsFromWeigthMap.js.map @@ -1 +1 @@ -{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/xception/extractParamsFromWeigthMap.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,GAE/B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,SAAS,iBAAiB,CAAC,SAAc,EAAE,aAA6B;IAEtE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,0BAA0B,GAAG,8BAA8B,CAAC,kBAAkB,CAAC,CAAA;IAErF,SAAS,2BAA2B,CAAC,YAAoB;QAEvD,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,YAAY,iBAAiB,CAAC,CAAA;QAE1E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,CAAA;IAC7D,CAAC;IAED,SAAS,sBAAsB,CAAC,YAAoB;QAElD,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QAErF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;KACvB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,SAA4B,EAC5B,aAAqB;IAGrB,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,iBAAiB,EACjB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACvB,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;IAClE,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,8BAA8B,CAAC,CAAA;IAChG,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,8BAA8B,CAAC,CAAA;IAEhG,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,kBAAkB;QAC3B,iBAAiB,EAAE,4BAA4B;QAC/C,iBAAiB,EAAE,4BAA4B;KAChD,CAAA;IAED,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,sBAAsB,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;IAC5F,CAAC,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,2BAA2B,CAAC,CAAA;IAC1F,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,0BAA0B,CAAC,CAAA;IAEvF,MAAM,SAAS,GAAG;QAChB,eAAe,EAAE,yBAAyB;QAC1C,cAAc,EAAE,wBAAwB;KACzC,CAAA;IAED,0BAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,CAAA;AAC1E,CAAC"} \ No newline at end of file +{"version":3,"file":"extractParamsFromWeigthMap.js","sourceRoot":"","sources":["../../src/xception/extractParamsFromWeigthMap.ts"],"names":[],"mappings":";;;AAEA,sCAKmB;AACnB,2EAAwE;AACxE,oCAAiC;AAGjC,SAAS,iBAAiB,CAAC,SAAc,EAAE,aAA6B;IAEtE,MAAM,kBAAkB,GAAG,kCAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,6CAAqB,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,0BAA0B,GAAG,uCAA8B,CAAC,kBAAkB,CAAC,CAAA;IAErF,SAAS,2BAA2B,CAAC,YAAoB;QAEvD,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,YAAY,iBAAiB,CAAC,CAAA;QAE1E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,CAAA;IAC7D,CAAC;IAED,SAAS,sBAAsB,CAAC,YAAoB;QAElD,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QACrF,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,YAAY,kBAAkB,CAAC,CAAA;QAErF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;KACvB,CAAA;AACH,CAAC;AAED,SAAgB,0BAA0B,CACxC,SAA4B,EAC5B,aAAqB;IAGrB,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,MAAM,EACJ,iBAAiB,EACjB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACvB,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;IAClE,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,8BAA8B,CAAC,CAAA;IAChG,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,8BAA8B,CAAC,CAAA;IAEhG,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,kBAAkB;QAC3B,iBAAiB,EAAE,4BAA4B;QAC/C,iBAAiB,EAAE,4BAA4B;KAChD,CAAA;IAED,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,aAAK,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,sBAAsB,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;IAC5F,CAAC,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,2BAA2B,CAAC,CAAA;IAC1F,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,0BAA0B,CAAC,CAAA;IAEvF,MAAM,SAAS,GAAG;QAChB,eAAe,EAAE,yBAAyB;QAC1C,cAAc,EAAE,wBAAwB;KACzC,CAAA;IAED,mCAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAEpD,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,CAAA;AAC1E,CAAC;AAxCD,gEAwCC"} \ No newline at end of file diff --git a/build/xception/index.js b/build/xception/index.js index 0fc246d..edc0ba0 100644 --- a/build/xception/index.js +++ b/build/xception/index.js @@ -1,2 +1,5 @@ -export * from './TinyXception'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./TinyXception"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/xception/index.js.map b/build/xception/index.js.map index 4f5ca3f..f04a333 100644 --- a/build/xception/index.js.map +++ b/build/xception/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/xception/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/xception/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B"} \ No newline at end of file diff --git a/build/xception/types.js b/build/xception/types.js index 5b2306a..11e638d 100644 --- a/build/xception/types.js +++ b/build/xception/types.js @@ -1 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/face-api.js b/dist/face-api.js index 0f60097..cbd6ab7 100644 --- a/dist/face-api.js +++ b/dist/face-api.js @@ -31,6 +31,389 @@ var faceapi = (() => { return __exportStar(__defineProperty({}, "default", {value: module, enumerable: true}), module); }; + // node_modules/tslib/tslib.es6.js + var require_tslib_es6 = __commonJS((exports) => { + __export(exports, { + __assign: () => __assign, + __asyncDelegator: () => __asyncDelegator, + __asyncGenerator: () => __asyncGenerator, + __asyncValues: () => __asyncValues, + __await: () => __await, + __awaiter: () => __awaiter, + __classPrivateFieldGet: () => __classPrivateFieldGet, + __classPrivateFieldSet: () => __classPrivateFieldSet, + __createBinding: () => __createBinding, + __decorate: () => __decorate, + __exportStar: () => __exportStar2, + __extends: () => __extends, + __generator: () => __generator, + __importDefault: () => __importDefault, + __importStar: () => __importStar, + __makeTemplateObject: () => __makeTemplateObject, + __metadata: () => __metadata, + __param: () => __param, + __read: () => __read, + __rest: () => __rest, + __spread: () => __spread, + __spreadArrays: () => __spreadArrays, + __values: () => __values + }); + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (Object.prototype.hasOwnProperty.call(b2, p)) + d2[p] = b2[p]; + }; + return extendStatics(d, b); + }; + function __extends(d, b) { + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + var __assign = function() { + __assign = Object.assign || function __assign2(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + } + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); + } + function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step7(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step7(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step7(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step7((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + function __generator(thisArg, body) { + var _ = {label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: []}, f, y, t, g; + return g = {next: verb(0), throw: verb(1), return: verb(2)}, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step7([n, v]); + }; + } + function step7(op2) { + if (f) + throw new TypeError("Generator is already executing."); + while (_) + try { + if (f = 1, y && (t = op2[0] & 2 ? y["return"] : op2[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op2[1])).done) + return t; + if (y = 0, t) + op2 = [op2[0] & 2, t.value]; + switch (op2[0]) { + case 0: + case 1: + t = op2; + break; + case 4: + _.label++; + return {value: op2[1], done: false}; + case 5: + _.label++; + y = op2[1]; + op2 = [0]; + continue; + case 7: + op2 = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op2[0] === 6 || op2[0] === 2)) { + _ = 0; + continue; + } + if (op2[0] === 3 && (!t || op2[1] > t[0] && op2[1] < t[3])) { + _.label = op2[1]; + break; + } + if (op2[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op2; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op2); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op2 = body.call(thisArg, _); + } catch (e) { + op2 = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op2[0] & 5) + throw op2[1]; + return {value: op2[0] ? op2[1] : void 0, done: true}; + } + } + var __createBinding = Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + Object.defineProperty(o, k2, {enumerable: true, get: function() { + return m[k]; + }}); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }; + function __exportStar2(m, o) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) + __createBinding(o, m, p); + } + function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return {value: o && o[i++], done: !o}; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + } + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = {error}; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; + } + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + } + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step7(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step7(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } + } + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? {value: __await(o[n](v)), done: n === "return"} : f ? f(v) : v; + } : f; + } + } + function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({value: v2, done: d}); + }, reject); + } + } + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", {value: raw}); + } else { + cooked.raw = raw; + } + return cooked; + } + var __setModuleDefault = Object.create ? function(o, v) { + Object.defineProperty(o, "default", {enumerable: true, value: v}); + } : function(o, v) { + o["default"] = v; + }; + function __importStar(mod4) { + if (mod4 && mod4.__esModule) + return mod4; + var result = {}; + if (mod4 != null) { + for (var k in mod4) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod4, k)) + __createBinding(result, mod4, k); + } + __setModuleDefault(result, mod4); + return result; + } + function __importDefault(mod4) { + return mod4 && mod4.__esModule ? mod4 : {default: mod4}; + } + function __classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); + } + function __classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; + } + }); + // node_modules/seedrandom/lib/alea.js var require_alea = __commonJS((exports, module) => { (function(global2, module2, define2) { @@ -671,27 +1054,1464 @@ var faceapi = (() => { module.exports = sr; }); + // node_modules/@tensorflow/tfjs-core/dist/index.js + var require_dist = __commonJS((exports) => { + __export(exports, { + Abs: () => Abs, + Acos: () => Acos, + Acosh: () => Acosh, + AdadeltaOptimizer: () => AdadeltaOptimizer, + AdagradOptimizer: () => AdagradOptimizer, + AdamOptimizer: () => AdamOptimizer, + AdamaxOptimizer: () => AdamaxOptimizer, + Add: () => Add, + AddN: () => AddN, + All: () => All, + Any: () => Any, + ArgMax: () => ArgMax, + ArgMin: () => ArgMin, + Asin: () => Asin, + Asinh: () => Asinh, + Atan: () => Atan, + Atan2: () => Atan2, + Atanh: () => Atanh, + AvgPool: () => AvgPool, + AvgPool3D: () => AvgPool3D, + AvgPool3DBackprop: () => AvgPool3DBackprop, + AvgPoolBackprop: () => AvgPoolBackprop, + BatchMatMul: () => BatchMatMul, + BatchToSpaceND: () => BatchToSpaceND, + BroadcastTo: () => BroadcastTo, + Cast: () => Cast, + Ceil: () => Ceil, + ClipByValue: () => ClipByValue, + Complex: () => Complex, + Concat: () => Concat, + Conv2D: () => Conv2D, + Conv2DBackpropFilter: () => Conv2DBackpropFilter, + Conv2DBackpropInput: () => Conv2DBackpropInput, + Conv3D: () => Conv3D, + Conv3DBackpropFilterV2: () => Conv3DBackpropFilterV2, + Conv3DBackpropInputV2: () => Conv3DBackpropInputV2, + Cos: () => Cos, + Cosh: () => Cosh, + CropAndResize: () => CropAndResize, + Cumsum: () => Cumsum, + DataStorage: () => DataStorage, + DepthToSpace: () => DepthToSpace, + DepthwiseConv2dNative: () => DepthwiseConv2dNative, + DepthwiseConv2dNativeBackpropFilter: () => DepthwiseConv2dNativeBackpropFilter, + DepthwiseConv2dNativeBackpropInput: () => DepthwiseConv2dNativeBackpropInput, + Diag: () => Diag, + Dilation2D: () => Dilation2D, + Dilation2DBackpropFilter: () => Dilation2DBackpropFilter, + Dilation2DBackpropInput: () => Dilation2DBackpropInput, + Div: () => Div, + ENV: () => ENV, + Elu: () => Elu, + EluGrad: () => EluGrad, + Environment: () => Environment, + Equal: () => Equal, + Erf: () => Erf, + Exp: () => Exp, + Expm1: () => Expm1, + FFT: () => FFT, + Fill: () => Fill, + FlipLeftRight: () => FlipLeftRight, + Floor: () => Floor, + FloorDiv: () => FloorDiv, + FromPixels: () => FromPixels, + FusedBatchNorm: () => FusedBatchNorm, + FusedConv2D: () => FusedConv2D, + FusedDepthwiseConv2D: () => FusedDepthwiseConv2D, + GatherNd: () => GatherNd, + GatherV2: () => GatherV2, + Greater: () => Greater, + GreaterEqual: () => GreaterEqual, + IFFT: () => IFFT, + Identity: () => Identity, + Imag: () => Imag, + IsFinite: () => IsFinite, + IsInf: () => IsInf, + IsNan: () => IsNan, + KernelBackend: () => KernelBackend, + LRN: () => LRN, + LRNBackprop: () => LRNBackprop, + Less: () => Less, + LessEqual: () => LessEqual, + LinSpace: () => LinSpace, + Log: () => Log, + Log1p: () => Log1p, + LogSoftmax: () => LogSoftmax, + LogicalAnd: () => LogicalAnd, + LogicalNot: () => LogicalNot, + LogicalOr: () => LogicalOr, + Max: () => Max, + MaxPool: () => MaxPool, + MaxPool3D: () => MaxPool3D, + MaxPool3DBackprop: () => MaxPool3DBackprop, + MaxPoolBackprop: () => MaxPoolBackprop, + MaxPoolWithArgmax: () => MaxPoolWithArgmax, + Maximum: () => Maximum, + Mean: () => Mean, + Min: () => Min, + Minimum: () => Minimum, + Mod: () => Mod, + MomentumOptimizer: () => MomentumOptimizer, + Multiply: () => Multiply, + Negate: () => Negate, + NonMaxSuppressionV3: () => NonMaxSuppressionV3, + NonMaxSuppressionV4: () => NonMaxSuppressionV4, + NonMaxSuppressionV5: () => NonMaxSuppressionV5, + NotEqual: () => NotEqual, + OneHot: () => OneHot, + OnesLike: () => OnesLike, + Optimizer: () => Optimizer, + PadV2: () => PadV2, + Pool: () => Pool, + Pow: () => Pow, + Prelu: () => Prelu, + Prod: () => Prod, + RMSPropOptimizer: () => RMSPropOptimizer, + Range: () => Range, + Rank: () => Rank, + Real: () => Real, + Reciprocal: () => Reciprocal, + Reduction: () => Reduction, + Relu: () => Relu, + Relu6: () => Relu6, + Reshape: () => Reshape, + ResizeBilinear: () => ResizeBilinear, + ResizeBilinearGrad: () => ResizeBilinearGrad, + ResizeNearestNeighbor: () => ResizeNearestNeighbor, + ResizeNearestNeighborGrad: () => ResizeNearestNeighborGrad, + Reverse: () => Reverse, + RotateWithOffset: () => RotateWithOffset, + Round: () => Round, + Rsqrt: () => Rsqrt, + SGDOptimizer: () => SGDOptimizer, + ScatterNd: () => ScatterNd, + SelectV2: () => SelectV2, + Selu: () => Selu, + Sigmoid: () => Sigmoid, + Sign: () => Sign, + Sin: () => Sin, + Sinh: () => Sinh, + Slice: () => Slice, + Softmax: () => Softmax, + Softplus: () => Softplus, + SpaceToBatchND: () => SpaceToBatchND, + SparseToDense: () => SparseToDense, + SplitV: () => SplitV, + Sqrt: () => Sqrt, + Square: () => Square, + SquaredDifference: () => SquaredDifference, + Step: () => Step, + StridedSlice: () => StridedSlice, + Sub: () => Sub, + Sum: () => Sum, + Tan: () => Tan, + Tanh: () => Tanh, + Tensor: () => Tensor, + TensorBuffer: () => TensorBuffer, + Tile: () => Tile, + TopK: () => TopK, + Transpose: () => Transpose, + Unpack: () => Unpack, + UnsortedSegmentSum: () => UnsortedSegmentSum, + Variable: () => Variable, + ZerosLike: () => ZerosLike, + _FusedMatMul: () => _FusedMatMul, + abs: () => abs, + acos: () => acos, + acosh: () => acosh, + add: () => add2, + addN: () => addN, + addStrict: () => addStrict, + all: () => all, + any: () => any, + argMax: () => argMax, + argMin: () => argMin, + asin: () => asin, + asinh: () => asinh, + atan: () => atan, + atan2: () => atan2, + atanh: () => atanh, + avgPool: () => avgPool, + avgPool3d: () => avgPool3d, + backend: () => backend, + backend_util: () => backend_util_exports, + basicLSTMCell: () => basicLSTMCell, + batchNorm: () => batchNorm, + batchNorm2d: () => batchNorm2d, + batchNorm3d: () => batchNorm3d, + batchNorm4d: () => batchNorm4d, + batchToSpaceND: () => batchToSpaceND, + booleanMaskAsync: () => booleanMaskAsync, + broadcastTo: () => broadcastTo, + browser: () => browser_exports, + buffer: () => buffer, + cast: () => cast, + ceil: () => ceil, + clipByValue: () => clipByValue, + clone: () => clone, + complex: () => complex, + concat: () => concat, + concat1d: () => concat1d, + concat2d: () => concat2d, + concat3d: () => concat3d, + concat4d: () => concat4d, + conv1d: () => conv1d, + conv2d: () => conv2d, + conv2dTranspose: () => conv2dTranspose, + conv3d: () => conv3d, + conv3dTranspose: () => conv3dTranspose, + cos: () => cos, + cosh: () => cosh, + cosineWindow: () => cosineWindow, + cumsum: () => cumsum, + customGrad: () => customGrad, + deprecationWarn: () => deprecationWarn, + depthToSpace: () => depthToSpace, + depthwiseConv2d: () => depthwiseConv2d, + device_util: () => device_util_exports, + diag: () => diag, + dilation2d: () => dilation2d, + disableDeprecationWarnings: () => disableDeprecationWarnings, + dispose: () => dispose, + disposeVariables: () => disposeVariables, + div: () => div, + divNoNan: () => divNoNan, + divStrict: () => divStrict, + dot: () => dot, + dropout: () => dropout, + elu: () => elu, + enableDebugMode: () => enableDebugMode, + enableProdMode: () => enableProdMode, + enclosingPowerOfTwo: () => enclosingPowerOfTwo, + engine: () => engine22, + env: () => env, + equal: () => equal, + equalStrict: () => equalStrict, + erf: () => erf, + exp: () => exp, + expandDims: () => expandDims, + expm1: () => expm1, + eye: () => eye, + fft: () => fft, + fill: () => fill, + findBackend: () => findBackend, + findBackendFactory: () => findBackendFactory, + floor: () => floor, + floorDiv: () => floorDiv, + fused: () => fused_ops_exports, + gather: () => gather, + gatherND: () => gatherND, + gather_util: () => gather_nd_util_exports, + getBackend: () => getBackend, + getGradient: () => getGradient, + getKernel: () => getKernel, + getKernelsForBackend: () => getKernelsForBackend, + grad: () => grad, + grads: () => grads, + greater: () => greater, + greaterEqual: () => greaterEqual, + greaterEqualStrict: () => greaterEqualStrict, + greaterStrict: () => greaterStrict, + ifft: () => ifft, + imag: () => imag, + image: () => image, + inTopKAsync: () => inTopKAsync, + io: () => io_exports, + irfft: () => irfft, + isFinite: () => isFinite2, + isInf: () => isInf, + isNaN: () => isNaN2, + keep: () => keep, + kernel_impls: () => kernel_impls_exports, + leakyRelu: () => leakyRelu, + less: () => less, + lessEqual: () => lessEqual, + lessEqualStrict: () => lessEqualStrict, + lessStrict: () => lessStrict, + linalg: () => linalg, + linspace: () => linspace, + localResponseNormalization: () => localResponseNormalization, + log: () => log, + log1p: () => log1p, + logSigmoid: () => logSigmoid, + logSoftmax: () => logSoftmax, + logSumExp: () => logSumExp, + logicalAnd: () => logicalAnd, + logicalNot: () => logicalNot, + logicalOr: () => logicalOr, + logicalXor: () => logicalXor, + losses: () => losses, + matMul: () => matMul, + math: () => math_exports, + max: () => max, + maxPool: () => maxPool, + maxPool3d: () => maxPool3d, + maxPoolWithArgmax: () => maxPoolWithArgmax, + maximum: () => maximum, + maximumStrict: () => maximumStrict, + mean: () => mean, + memory: () => memory, + min: () => min, + minimum: () => minimum, + minimumStrict: () => minimumStrict, + mod: () => mod, + modStrict: () => modStrict, + moments: () => moments, + movingAverage: () => movingAverage, + mul: () => mul, + mulStrict: () => mulStrict, + multiRNNCell: () => multiRNNCell, + multinomial: () => multinomial, + neg: () => neg, + nextFrame: () => nextFrame, + norm: () => norm, + notEqual: () => notEqual, + notEqualStrict: () => notEqualStrict, + oneHot: () => oneHot, + ones: () => ones2, + onesLike: () => onesLike, + op: () => op, + outerProduct: () => outerProduct, + pad: () => pad, + pad1d: () => pad1d, + pad2d: () => pad2d, + pad3d: () => pad3d, + pad4d: () => pad4d, + pool: () => pool, + pow: () => pow, + powStrict: () => powStrict, + prelu: () => prelu, + print: () => print, + prod: () => prod, + profile: () => profile, + rand: () => rand, + randomGamma: () => randomGamma, + randomNormal: () => randomNormal, + randomUniform: () => randomUniform, + range: () => range, + ready: () => ready, + real: () => real, + reciprocal: () => reciprocal, + registerBackend: () => registerBackend, + registerGradient: () => registerGradient, + registerKernel: () => registerKernel, + relu: () => relu, + relu6: () => relu6, + removeBackend: () => removeBackend, + reshape: () => reshape, + reverse: () => reverse, + reverse1d: () => reverse1d, + reverse2d: () => reverse2d, + reverse3d: () => reverse3d, + reverse4d: () => reverse4d, + rfft: () => rfft, + round: () => round, + rsqrt: () => rsqrt, + scalar: () => scalar, + scatterND: () => scatterND, + scatter_util: () => scatter_nd_util_exports, + selu: () => selu, + separableConv2d: () => separableConv2d, + serialization: () => serialization_exports, + setBackend: () => setBackend, + setPlatform: () => setPlatform, + setdiff1dAsync: () => setdiff1dAsync, + sigmoid: () => sigmoid, + sign: () => sign, + signal: () => signal, + sin: () => sin, + sinh: () => sinh, + slice: () => slice, + slice1d: () => slice1d, + slice2d: () => slice2d, + slice3d: () => slice3d, + slice4d: () => slice4d, + slice_util: () => slice_util_exports, + softmax: () => softmax, + softplus: () => softplus, + spaceToBatchND: () => spaceToBatchND, + sparseToDense: () => sparseToDense, + spectral: () => spectral, + split: () => split, + sqrt: () => sqrt, + square: () => square, + squaredDifference: () => squaredDifference, + squaredDifferenceStrict: () => squaredDifferenceStrict, + squeeze: () => squeeze, + stack: () => stack, + step: () => step, + stridedSlice: () => stridedSlice, + sub: () => sub, + subStrict: () => subStrict, + sum: () => sum2, + sumOutType: () => sumOutType, + tan: () => tan, + tanh: () => tanh2, + tensor: () => tensor5, + tensor1d: () => tensor1d, + tensor2d: () => tensor2d, + tensor3d: () => tensor3d, + tensor4d: () => tensor4d, + tensor5d: () => tensor5d, + tensor6d: () => tensor6d, + tensor_util: () => tensor_util_exports, + test_util: () => test_util_exports, + tidy: () => tidy, + tile: () => tile, + time: () => time, + topk: () => topk, + train: () => train, + transpose: () => transpose, + truncatedNormal: () => truncatedNormal, + unregisterGradient: () => unregisterGradient, + unregisterKernel: () => unregisterKernel, + unsortedSegmentSum: () => unsortedSegmentSum, + unstack: () => unstack, + upcastType: () => upcastType, + util: () => util_exports, + valueAndGrad: () => valueAndGrad, + valueAndGrads: () => valueAndGrads, + variable: () => variable, + variableGrads: () => variableGrads, + version_core: () => version, + where: () => where, + whereAsync: () => whereAsync, + zeros: () => zeros, + zerosLike: () => zerosLike + }); + /** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ + }); + + // build/draw/drawContour.js + var require_drawContour = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.drawContour = void 0; + function drawContour(ctx, points, isClosed = false) { + ctx.beginPath(); + points.slice(1).forEach(({x, y}, prevIdx) => { + const from = points[prevIdx]; + ctx.moveTo(from.x, from.y); + ctx.lineTo(x, y); + }); + if (isClosed) { + const from = points[points.length - 1]; + const to = points[0]; + if (!from || !to) { + return; + } + ctx.moveTo(from.x, from.y); + ctx.lineTo(to.x, to.y); + } + ctx.stroke(); + } + exports.drawContour = drawContour; + }); + + // build/classes/Dimensions.js + var require_Dimensions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.Dimensions = void 0; + const utils_1 = require_utils(); + class Dimensions { + constructor(width, height) { + if (!utils_1.isValidNumber(width) || !utils_1.isValidNumber(height)) { + throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width, height})}`); + } + this._width = width; + this._height = height; + } + get width() { + return this._width; + } + get height() { + return this._height; + } + reverse() { + return new Dimensions(1 / this.width, 1 / this.height); + } + } + exports.Dimensions = Dimensions; + }); + + // build/utils/index.js + var require_utils = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.isValidProbablitiy = exports.isValidNumber = exports.range = exports.getCenterPoint = exports.computeReshapedDimensions = exports.isDimensions = exports.round = exports.isEven = exports.isFloat = exports.isTensor4D = exports.isTensor3D = exports.isTensor2D = exports.isTensor1D = exports.isTensor = void 0; + const tf = require_dist(); + const classes_1 = require_classes(); + const Dimensions_1 = require_Dimensions(); + function isTensor(tensor17, dim) { + return tensor17 instanceof tf.Tensor && tensor17.shape.length === dim; + } + exports.isTensor = isTensor; + function isTensor1D(tensor17) { + return isTensor(tensor17, 1); + } + exports.isTensor1D = isTensor1D; + function isTensor2D(tensor17) { + return isTensor(tensor17, 2); + } + exports.isTensor2D = isTensor2D; + function isTensor3D(tensor17) { + return isTensor(tensor17, 3); + } + exports.isTensor3D = isTensor3D; + function isTensor4D(tensor17) { + return isTensor(tensor17, 4); + } + exports.isTensor4D = isTensor4D; + function isFloat(num) { + return num % 1 !== 0; + } + exports.isFloat = isFloat; + function isEven(num) { + return num % 2 === 0; + } + exports.isEven = isEven; + function round3(num, prec = 2) { + const f = Math.pow(10, prec); + return Math.floor(num * f) / f; + } + exports.round = round3; + function isDimensions(obj) { + return obj && obj.width && obj.height; + } + exports.isDimensions = isDimensions; + function computeReshapedDimensions({width, height}, inputSize) { + const scale = inputSize / Math.max(height, width); + return new Dimensions_1.Dimensions(Math.round(width * scale), Math.round(height * scale)); + } + exports.computeReshapedDimensions = computeReshapedDimensions; + function getCenterPoint(pts) { + return pts.reduce((sum26, pt) => sum26.add(pt), new classes_1.Point(0, 0)).div(new classes_1.Point(pts.length, pts.length)); + } + exports.getCenterPoint = getCenterPoint; + function range4(num, start, step7) { + return Array(num).fill(0).map((_, i) => start + i * step7); + } + exports.range = range4; + function isValidNumber(num) { + return !!num && num !== Infinity && num !== -Infinity && !isNaN(num) || num === 0; + } + exports.isValidNumber = isValidNumber; + function isValidProbablitiy(num) { + return isValidNumber(num) && 0 <= num && num <= 1; + } + exports.isValidProbablitiy = isValidProbablitiy; + }); + + // build/classes/Point.js + var require_Point = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.Point = void 0; + class Point { + constructor(x, y) { + this._x = x; + this._y = y; + } + get x() { + return this._x; + } + get y() { + return this._y; + } + add(pt) { + return new Point(this.x + pt.x, this.y + pt.y); + } + sub(pt) { + return new Point(this.x - pt.x, this.y - pt.y); + } + mul(pt) { + return new Point(this.x * pt.x, this.y * pt.y); + } + div(pt) { + return new Point(this.x / pt.x, this.y / pt.y); + } + abs() { + return new Point(Math.abs(this.x), Math.abs(this.y)); + } + magnitude() { + return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2)); + } + floor() { + return new Point(Math.floor(this.x), Math.floor(this.y)); + } + } + exports.Point = Point; + }); + + // build/classes/Box.js + var require_Box = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.Box = void 0; + const utils_1 = require_utils(); + const Point_1 = require_Point(); + class Box { + constructor(_box, allowNegativeDimensions = true) { + const box = _box || {}; + const isBbox = [box.left, box.top, box.right, box.bottom].every(utils_1.isValidNumber); + const isRect = [box.x, box.y, box.width, box.height].every(utils_1.isValidNumber); + if (!isRect && !isBbox) { + throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`); + } + const [x, y, width, height] = isRect ? [box.x, box.y, box.width, box.height] : [box.left, box.top, box.right - box.left, box.bottom - box.top]; + Box.assertIsValidBox({x, y, width, height}, "Box.constructor", allowNegativeDimensions); + this._x = x; + this._y = y; + this._width = width; + this._height = height; + } + static isRect(rect) { + return !!rect && [rect.x, rect.y, rect.width, rect.height].every(utils_1.isValidNumber); + } + static assertIsValidBox(box, callee, allowNegativeDimensions = false) { + if (!Box.isRect(box)) { + throw new Error(`${callee} - invalid box: ${JSON.stringify(box)}, expected object with properties x, y, width, height`); + } + if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) { + throw new Error(`${callee} - width (${box.width}) and height (${box.height}) must be positive numbers`); + } + } + get x() { + return this._x; + } + get y() { + return this._y; + } + get width() { + return this._width; + } + get height() { + return this._height; + } + get left() { + return this.x; + } + get top() { + return this.y; + } + get right() { + return this.x + this.width; + } + get bottom() { + return this.y + this.height; + } + get area() { + return this.width * this.height; + } + get topLeft() { + return new Point_1.Point(this.left, this.top); + } + get topRight() { + return new Point_1.Point(this.right, this.top); + } + get bottomLeft() { + return new Point_1.Point(this.left, this.bottom); + } + get bottomRight() { + return new Point_1.Point(this.right, this.bottom); + } + round() { + const [x, y, width, height] = [this.x, this.y, this.width, this.height].map((val) => Math.round(val)); + return new Box({x, y, width, height}); + } + floor() { + const [x, y, width, height] = [this.x, this.y, this.width, this.height].map((val) => Math.floor(val)); + return new Box({x, y, width, height}); + } + toSquare() { + let {x, y, width, height} = this; + const diff = Math.abs(width - height); + if (width < height) { + x -= diff / 2; + width += diff; + } + if (height < width) { + y -= diff / 2; + height += diff; + } + return new Box({x, y, width, height}); + } + rescale(s) { + const scaleX = utils_1.isDimensions(s) ? s.width : s; + const scaleY = utils_1.isDimensions(s) ? s.height : s; + return new Box({ + x: this.x * scaleX, + y: this.y * scaleY, + width: this.width * scaleX, + height: this.height * scaleY + }); + } + pad(padX, padY) { + let [x, y, width, height] = [ + this.x - padX / 2, + this.y - padY / 2, + this.width + padX, + this.height + padY + ]; + return new Box({x, y, width, height}); + } + clipAtImageBorders(imgWidth, imgHeight) { + const {x, y, right, bottom} = this; + const clippedX = Math.max(x, 0); + const clippedY = Math.max(y, 0); + const newWidth = right - clippedX; + const newHeight = bottom - clippedY; + const clippedWidth = Math.min(newWidth, imgWidth - clippedX); + const clippedHeight = Math.min(newHeight, imgHeight - clippedY); + return new Box({x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight}).floor(); + } + shift(sx, sy) { + const {width, height} = this; + const x = this.x + sx; + const y = this.y + sy; + return new Box({x, y, width, height}); + } + padAtBorders(imageHeight, imageWidth) { + const w = this.width + 1; + const h = this.height + 1; + let dx = 1; + let dy = 1; + let edx = w; + let edy = h; + let x = this.left; + let y = this.top; + let ex = this.right; + let ey = this.bottom; + if (ex > imageWidth) { + edx = -ex + imageWidth + w; + ex = imageWidth; + } + if (ey > imageHeight) { + edy = -ey + imageHeight + h; + ey = imageHeight; + } + if (x < 1) { + edy = 2 - x; + x = 1; + } + if (y < 1) { + edy = 2 - y; + y = 1; + } + return {dy, edy, dx, edx, y, ey, x, ex, w, h}; + } + calibrate(region) { + return new Box({ + left: this.left + region.left * this.width, + top: this.top + region.top * this.height, + right: this.right + region.right * this.width, + bottom: this.bottom + region.bottom * this.height + }).toSquare().round(); + } + } + exports.Box = Box; + }); + + // build/classes/BoundingBox.js + var require_BoundingBox = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.BoundingBox = void 0; + const Box_1 = require_Box(); + class BoundingBox extends Box_1.Box { + constructor(left, top, right, bottom, allowNegativeDimensions = false) { + super({left, top, right, bottom}, allowNegativeDimensions); + } + } + exports.BoundingBox = BoundingBox; + }); + + // build/classes/ObjectDetection.js + var require_ObjectDetection = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.ObjectDetection = void 0; + const Box_1 = require_Box(); + const Dimensions_1 = require_Dimensions(); + class ObjectDetection { + constructor(score, classScore, className, relativeBox, imageDims) { + this._imageDims = new Dimensions_1.Dimensions(imageDims.width, imageDims.height); + this._score = score; + this._classScore = classScore; + this._className = className; + this._box = new Box_1.Box(relativeBox).rescale(this._imageDims); + } + get score() { + return this._score; + } + get classScore() { + return this._classScore; + } + get className() { + return this._className; + } + get box() { + return this._box; + } + get imageDims() { + return this._imageDims; + } + get imageWidth() { + return this.imageDims.width; + } + get imageHeight() { + return this.imageDims.height; + } + get relativeBox() { + return new Box_1.Box(this._box).rescale(this.imageDims.reverse()); + } + forSize(width, height) { + return new ObjectDetection(this.score, this.classScore, this.className, this.relativeBox, {width, height}); + } + } + exports.ObjectDetection = ObjectDetection; + }); + + // build/classes/FaceDetection.js + var require_FaceDetection = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceDetection = void 0; + const ObjectDetection_1 = require_ObjectDetection(); + class FaceDetection extends ObjectDetection_1.ObjectDetection { + constructor(score, relativeBox, imageDims) { + super(score, score, "", relativeBox, imageDims); + } + forSize(width, height) { + const {score, relativeBox, imageDims} = super.forSize(width, height); + return new FaceDetection(score, relativeBox, imageDims); + } + } + exports.FaceDetection = FaceDetection; + }); + + // build/ops/iou.js + var require_iou = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.iou = void 0; + function iou(box1, box2, isIOU = true) { + const width = Math.max(0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left)); + const height = Math.max(0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top)); + const interSection = width * height; + return isIOU ? interSection / (box1.area + box2.area - interSection) : interSection / Math.min(box1.area, box2.area); + } + exports.iou = iou; + }); + + // build/ops/minBbox.js + var require_minBbox = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.minBbox = void 0; + const classes_1 = require_classes(); + function minBbox(pts) { + const xs = pts.map((pt) => pt.x); + const ys = pts.map((pt) => pt.y); + const minX = xs.reduce((min5, x) => x < min5 ? x : min5, Infinity); + const minY = ys.reduce((min5, y) => y < min5 ? y : min5, Infinity); + const maxX = xs.reduce((max7, x) => max7 < x ? x : max7, 0); + const maxY = ys.reduce((max7, y) => max7 < y ? y : max7, 0); + return new classes_1.BoundingBox(minX, minY, maxX, maxY); + } + exports.minBbox = minBbox; + }); + + // build/ops/nonMaxSuppression.js + var require_nonMaxSuppression = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.nonMaxSuppression = void 0; + const iou_1 = require_iou(); + function nonMaxSuppression2(boxes, scores, iouThreshold, isIOU = true) { + let indicesSortedByScore = scores.map((score, boxIndex) => ({score, boxIndex})).sort((c1, c2) => c1.score - c2.score).map((c) => c.boxIndex); + const pick = []; + while (indicesSortedByScore.length > 0) { + const curr = indicesSortedByScore.pop(); + pick.push(curr); + const indices = indicesSortedByScore; + const outputs = []; + for (let i = 0; i < indices.length; i++) { + const idx = indices[i]; + const currBox = boxes[curr]; + const idxBox = boxes[idx]; + outputs.push(iou_1.iou(currBox, idxBox, isIOU)); + } + indicesSortedByScore = indicesSortedByScore.filter((_, j) => outputs[j] <= iouThreshold); + } + return pick; + } + exports.nonMaxSuppression = nonMaxSuppression2; + }); + + // build/ops/normalize.js + var require_normalize = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.normalize = void 0; + const tf = require_dist(); + function normalize(x, meanRgb) { + return tf.tidy(() => { + const [r, g, b] = meanRgb; + const avg_r = tf.fill([...x.shape.slice(0, 3), 1], r); + const avg_g = tf.fill([...x.shape.slice(0, 3), 1], g); + const avg_b = tf.fill([...x.shape.slice(0, 3), 1], b); + const avg_rgb = tf.concat([avg_r, avg_g, avg_b], 3); + return tf.sub(x, avg_rgb); + }); + } + exports.normalize = normalize; + }); + + // build/ops/padToSquare.js + var require_padToSquare = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.padToSquare = void 0; + const tf = require_dist(); + function padToSquare(imgTensor, isCenterImage = false) { + return tf.tidy(() => { + const [height, width] = imgTensor.shape.slice(1); + if (height === width) { + return imgTensor; + } + const dimDiff = Math.abs(height - width); + const paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1)); + const paddingAxis = height > width ? 2 : 1; + const createPaddingTensor = (paddingAmount2) => { + const paddingTensorShape = imgTensor.shape.slice(); + paddingTensorShape[paddingAxis] = paddingAmount2; + return tf.fill(paddingTensorShape, 0); + }; + const paddingTensorAppend = createPaddingTensor(paddingAmount); + const remainingPaddingAmount = dimDiff - paddingTensorAppend.shape[paddingAxis]; + const paddingTensorPrepend = isCenterImage && remainingPaddingAmount ? createPaddingTensor(remainingPaddingAmount) : null; + const tensorsToStack = [ + paddingTensorPrepend, + imgTensor, + paddingTensorAppend + ].filter((t) => !!t).map((t) => t.toFloat()); + return tf.concat(tensorsToStack, paddingAxis); + }); + } + exports.padToSquare = padToSquare; + }); + + // build/ops/shuffleArray.js + var require_shuffleArray = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.shuffleArray = void 0; + function shuffleArray(inputArray) { + const array = inputArray.slice(); + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + const x = array[i]; + array[i] = array[j]; + array[j] = x; + } + return array; + } + exports.shuffleArray = shuffleArray; + }); + + // build/ops/index.js + var require_ops = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.inverseSigmoid = exports.sigmoid = void 0; + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_iou(), exports); + tslib_1.__exportStar(require_minBbox(), exports); + tslib_1.__exportStar(require_nonMaxSuppression(), exports); + tslib_1.__exportStar(require_normalize(), exports); + tslib_1.__exportStar(require_padToSquare(), exports); + tslib_1.__exportStar(require_shuffleArray(), exports); + function sigmoid6(x) { + return 1 / (1 + Math.exp(-x)); + } + exports.sigmoid = sigmoid6; + function inverseSigmoid(x) { + return Math.log(x / (1 - x)); + } + exports.inverseSigmoid = inverseSigmoid; + }); + + // build/classes/Rect.js + var require_Rect = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.Rect = void 0; + const Box_1 = require_Box(); + class Rect extends Box_1.Box { + constructor(x, y, width, height, allowNegativeDimensions = false) { + super({x, y, width, height}, allowNegativeDimensions); + } + } + exports.Rect = Rect; + }); + + // build/classes/FaceLandmarks.js + var require_FaceLandmarks = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmarks = void 0; + const ops_1 = require_ops(); + const utils_1 = require_utils(); + const Box_1 = require_Box(); + const Dimensions_1 = require_Dimensions(); + const FaceDetection_1 = require_FaceDetection(); + const Point_1 = require_Point(); + const Rect_1 = require_Rect(); + const relX = 0.5; + const relY = 0.43; + const relScale = 0.45; + class FaceLandmarks { + constructor(relativeFaceLandmarkPositions, imgDims, shift = new Point_1.Point(0, 0)) { + const {width, height} = imgDims; + this._imgDims = new Dimensions_1.Dimensions(width, height); + this._shift = shift; + this._positions = relativeFaceLandmarkPositions.map((pt) => pt.mul(new Point_1.Point(width, height)).add(shift)); + } + get shift() { + return new Point_1.Point(this._shift.x, this._shift.y); + } + get imageWidth() { + return this._imgDims.width; + } + get imageHeight() { + return this._imgDims.height; + } + get positions() { + return this._positions; + } + get relativePositions() { + return this._positions.map((pt) => pt.sub(this._shift).div(new Point_1.Point(this.imageWidth, this.imageHeight))); + } + forSize(width, height) { + return new this.constructor(this.relativePositions, {width, height}); + } + shiftBy(x, y) { + return new this.constructor(this.relativePositions, this._imgDims, new Point_1.Point(x, y)); + } + shiftByPoint(pt) { + return this.shiftBy(pt.x, pt.y); + } + align(detection, options = {}) { + if (detection) { + const box = detection instanceof FaceDetection_1.FaceDetection ? detection.box.floor() : new Box_1.Box(detection); + return this.shiftBy(box.x, box.y).align(null, options); + } + const {useDlibAlignment, minBoxPadding} = Object.assign({}, {useDlibAlignment: false, minBoxPadding: 0.2}, options); + if (useDlibAlignment) { + return this.alignDlib(); + } + return this.alignMinBbox(minBoxPadding); + } + alignDlib() { + const centers = this.getRefPointsForAlignment(); + const [leftEyeCenter, rightEyeCenter, mouthCenter] = centers; + const distToMouth = (pt) => mouthCenter.sub(pt).magnitude(); + const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2; + const size = Math.floor(eyeToMouthDist / relScale); + const refPoint = utils_1.getCenterPoint(centers); + const x = Math.floor(Math.max(0, refPoint.x - relX * size)); + const y = Math.floor(Math.max(0, refPoint.y - relY * size)); + return new Rect_1.Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y)); + } + alignMinBbox(padding) { + const box = ops_1.minBbox(this.positions); + return box.pad(box.width * padding, box.height * padding); + } + getRefPointsForAlignment() { + throw new Error("getRefPointsForAlignment not implemented by base class"); + } + } + exports.FaceLandmarks = FaceLandmarks; + }); + + // build/classes/FaceLandmarks5.js + var require_FaceLandmarks5 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmarks5 = void 0; + const utils_1 = require_utils(); + const FaceLandmarks_1 = require_FaceLandmarks(); + class FaceLandmarks5 extends FaceLandmarks_1.FaceLandmarks { + getRefPointsForAlignment() { + const pts = this.positions; + return [ + pts[0], + pts[1], + utils_1.getCenterPoint([pts[3], pts[4]]) + ]; + } + } + exports.FaceLandmarks5 = FaceLandmarks5; + }); + + // build/classes/FaceLandmarks68.js + var require_FaceLandmarks68 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmarks68 = void 0; + const utils_1 = require_utils(); + const FaceLandmarks_1 = require_FaceLandmarks(); + class FaceLandmarks68 extends FaceLandmarks_1.FaceLandmarks { + getJawOutline() { + return this.positions.slice(0, 17); + } + getLeftEyeBrow() { + return this.positions.slice(17, 22); + } + getRightEyeBrow() { + return this.positions.slice(22, 27); + } + getNose() { + return this.positions.slice(27, 36); + } + getLeftEye() { + return this.positions.slice(36, 42); + } + getRightEye() { + return this.positions.slice(42, 48); + } + getMouth() { + return this.positions.slice(48, 68); + } + getRefPointsForAlignment() { + return [ + this.getLeftEye(), + this.getRightEye(), + this.getMouth() + ].map(utils_1.getCenterPoint); + } + } + exports.FaceLandmarks68 = FaceLandmarks68; + }); + + // build/classes/FaceMatch.js + var require_FaceMatch = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceMatch = void 0; + const utils_1 = require_utils(); + class FaceMatch { + constructor(label, distance) { + this._label = label; + this._distance = distance; + } + get label() { + return this._label; + } + get distance() { + return this._distance; + } + toString(withDistance = true) { + return `${this.label}${withDistance ? ` (${utils_1.round(this.distance)})` : ""}`; + } + } + exports.FaceMatch = FaceMatch; + }); + + // build/classes/LabeledBox.js + var require_LabeledBox = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.LabeledBox = void 0; + const utils_1 = require_utils(); + const Box_1 = require_Box(); + class LabeledBox extends Box_1.Box { + constructor(box, label) { + super(box); + this._label = label; + } + static assertIsValidLabeledBox(box, callee) { + Box_1.Box.assertIsValidBox(box, callee); + if (!utils_1.isValidNumber(box.label)) { + throw new Error(`${callee} - expected property label (${box.label}) to be a number`); + } + } + get label() { + return this._label; + } + } + exports.LabeledBox = LabeledBox; + }); + + // build/classes/LabeledFaceDescriptors.js + var require_LabeledFaceDescriptors = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.LabeledFaceDescriptors = void 0; + class LabeledFaceDescriptors { + constructor(label, descriptors) { + if (!(typeof label === "string")) { + throw new Error("LabeledFaceDescriptors - constructor expected label to be a string"); + } + if (!Array.isArray(descriptors) || descriptors.some((desc) => !(desc instanceof Float32Array))) { + throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array"); + } + this._label = label; + this._descriptors = descriptors; + } + get label() { + return this._label; + } + get descriptors() { + return this._descriptors; + } + toJSON() { + return { + label: this.label, + descriptors: this.descriptors.map((d) => Array.from(d)) + }; + } + static fromJSON(json) { + const descriptors = json.descriptors.map((d) => { + return new Float32Array(d); + }); + return new LabeledFaceDescriptors(json.label, descriptors); + } + } + exports.LabeledFaceDescriptors = LabeledFaceDescriptors; + }); + + // build/classes/PredictedBox.js + var require_PredictedBox = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.PredictedBox = void 0; + const utils_1 = require_utils(); + const LabeledBox_1 = require_LabeledBox(); + class PredictedBox extends LabeledBox_1.LabeledBox { + constructor(box, label, score, classScore) { + super(box, label); + this._score = score; + this._classScore = classScore; + } + static assertIsValidPredictedBox(box, callee) { + LabeledBox_1.LabeledBox.assertIsValidLabeledBox(box, callee); + if (!utils_1.isValidProbablitiy(box.score) || !utils_1.isValidProbablitiy(box.classScore)) { + throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`); + } + } + get score() { + return this._score; + } + get classScore() { + return this._classScore; + } + } + exports.PredictedBox = PredictedBox; + }); + + // build/classes/index.js + var require_classes = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_BoundingBox(), exports); + tslib_1.__exportStar(require_Box(), exports); + tslib_1.__exportStar(require_Dimensions(), exports); + tslib_1.__exportStar(require_FaceDetection(), exports); + tslib_1.__exportStar(require_FaceLandmarks(), exports); + tslib_1.__exportStar(require_FaceLandmarks5(), exports); + tslib_1.__exportStar(require_FaceLandmarks68(), exports); + tslib_1.__exportStar(require_FaceMatch(), exports); + tslib_1.__exportStar(require_LabeledBox(), exports); + tslib_1.__exportStar(require_LabeledFaceDescriptors(), exports); + tslib_1.__exportStar(require_ObjectDetection(), exports); + tslib_1.__exportStar(require_Point(), exports); + tslib_1.__exportStar(require_PredictedBox(), exports); + tslib_1.__exportStar(require_Rect(), exports); + }); + + // build/factories/WithFaceDetection.js + var require_WithFaceDetection = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extendWithFaceDetection = exports.isWithFaceDetection = void 0; + const FaceDetection_1 = require_FaceDetection(); + function isWithFaceDetection(obj) { + return obj["detection"] instanceof FaceDetection_1.FaceDetection; + } + exports.isWithFaceDetection = isWithFaceDetection; + function extendWithFaceDetection(sourceObj, detection) { + const extension = {detection}; + return Object.assign({}, sourceObj, extension); + } + exports.extendWithFaceDetection = extendWithFaceDetection; + }); + + // build/env/createBrowserEnv.js + var require_createBrowserEnv = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createBrowserEnv = void 0; + function createBrowserEnv() { + const fetch3 = window["fetch"] || function() { + throw new Error("fetch - missing fetch implementation for browser environment"); + }; + const readFile = function() { + throw new Error("readFile - filesystem not available for browser environment"); + }; + return { + Canvas: HTMLCanvasElement, + CanvasRenderingContext2D, + Image: HTMLImageElement, + ImageData, + Video: HTMLVideoElement, + createCanvasElement: () => document.createElement("canvas"), + createImageElement: () => document.createElement("img"), + fetch: fetch3, + readFile + }; + } + exports.createBrowserEnv = createBrowserEnv; + }); + + // build/env/createFileSystem.js + var require_createFileSystem = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createFileSystem = void 0; + function createFileSystem(fs) { + let requireFsError = ""; + if (!fs) { + try { + fs = require("fs"); + } catch (err) { + requireFsError = err.toString(); + } + } + const readFile = fs ? function(filePath) { + return new Promise((res, rej) => { + fs.readFile(filePath, function(err, buffer10) { + return err ? rej(err) : res(buffer10); + }); + }); + } : function() { + throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); + }; + return { + readFile + }; + } + exports.createFileSystem = createFileSystem; + }); + + // build/env/createNodejsEnv.js + var require_createNodejsEnv = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createNodejsEnv = void 0; + const createFileSystem_1 = require_createFileSystem(); + function createNodejsEnv() { + const Canvas = global["Canvas"] || global["HTMLCanvasElement"]; + const Image = global["Image"] || global["HTMLImageElement"]; + const createCanvasElement = function() { + if (Canvas) { + return new Canvas(); + } + throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment"); + }; + const createImageElement = function() { + if (Image) { + return new Image(); + } + throw new Error("createImageElement - missing Image implementation for nodejs environment"); + }; + const fetch3 = global["fetch"] || function() { + throw new Error("fetch - missing fetch implementation for nodejs environment"); + }; + const fileSystem = createFileSystem_1.createFileSystem(); + return { + Canvas: Canvas || class { + }, + CanvasRenderingContext2D: global["CanvasRenderingContext2D"] || class { + }, + Image: Image || class { + }, + ImageData: global["ImageData"] || class { + }, + Video: global["HTMLVideoElement"] || class { + }, + createCanvasElement, + createImageElement, + fetch: fetch3, + ...fileSystem + }; + } + exports.createNodejsEnv = createNodejsEnv; + }); + + // build/env/isBrowser.js + var require_isBrowser = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.isBrowser = void 0; + function isBrowser2() { + return typeof window === "object" && typeof document !== "undefined" && typeof HTMLImageElement !== "undefined" && typeof HTMLCanvasElement !== "undefined" && typeof HTMLVideoElement !== "undefined" && typeof ImageData !== "undefined" && typeof CanvasRenderingContext2D !== "undefined"; + } + exports.isBrowser = isBrowser2; + }); + // build/env/isNodejs.js var require_isNodejs = __commonJS((exports, module) => { - __export(exports, { - isNodejs: () => isNodejs - }); + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.isNodejs = void 0; function isNodejs() { return typeof global === "object" && true && typeof module !== "undefined" && typeof process !== "undefined" && !!process.version; } + exports.isNodejs = isNodejs; }); // build/env/types.js - var require_types = __commonJS(() => { + var require_types = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); }); // build/env/index.js var require_env = __commonJS((exports) => { - __export(exports, { - env: () => env30 - }); - const isNodejs2 = __toModule(require_isNodejs()); - __exportStar(exports, __toModule(require_types())); + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.env = void 0; + const tslib_1 = require_tslib_es6(); + const createBrowserEnv_1 = require_createBrowserEnv(); + const createFileSystem_1 = require_createFileSystem(); + const createNodejsEnv_1 = require_createNodejsEnv(); + const isBrowser_1 = require_isBrowser(); + const isNodejs_1 = require_isNodejs(); let environment11; function getEnv() { if (!environment11) { @@ -699,202 +2519,3839 @@ var faceapi = (() => { } return environment11; } - function setEnv(env31) { - environment11 = env31; + function setEnv(env2) { + environment11 = env2; } function initialize() { - if (isBrowser2()) { - return setEnv(createBrowserEnv()); + if (isBrowser_1.isBrowser()) { + return setEnv(createBrowserEnv_1.createBrowserEnv()); } - if (isNodejs2.isNodejs()) { - return setEnv(createNodejsEnv()); + if (isNodejs_1.isNodejs()) { + return setEnv(createNodejsEnv_1.createNodejsEnv()); } } - function monkeyPatch(env31) { + function monkeyPatch(env2) { if (!environment11) { initialize(); } if (!environment11) { throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()"); } - const {Canvas = environment11.Canvas, Image = environment11.Image} = env31; + const {Canvas = environment11.Canvas, Image = environment11.Image} = env2; environment11.Canvas = Canvas; environment11.Image = Image; - environment11.createCanvasElement = env31.createCanvasElement || (() => new Canvas()); - environment11.createImageElement = env31.createImageElement || (() => new Image()); - environment11.ImageData = env31.ImageData || environment11.ImageData; - environment11.Video = env31.Video || environment11.Video; - environment11.fetch = env31.fetch || environment11.fetch; - environment11.readFile = env31.readFile || environment11.readFile; + environment11.createCanvasElement = env2.createCanvasElement || (() => new Canvas()); + environment11.createImageElement = env2.createImageElement || (() => new Image()); + environment11.ImageData = env2.ImageData || environment11.ImageData; + environment11.Video = env2.Video || environment11.Video; + environment11.fetch = env2.fetch || environment11.fetch; + environment11.readFile = env2.readFile || environment11.readFile; } - const env30 = { + exports.env = { getEnv, setEnv, initialize, - createBrowserEnv, - createFileSystem, - createNodejsEnv, + createBrowserEnv: createBrowserEnv_1.createBrowserEnv, + createFileSystem: createFileSystem_1.createFileSystem, + createNodejsEnv: createNodejsEnv_1.createNodejsEnv, monkeyPatch, - isBrowser: isBrowser2, - isNodejs: isNodejs2.isNodejs + isBrowser: isBrowser_1.isBrowser, + isNodejs: isNodejs_1.isNodejs }; initialize(); + tslib_1.__exportStar(require_types(), exports); + }); + + // build/dom/resolveInput.js + var require_resolveInput = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.resolveInput = void 0; + const env_1 = require_env(); + function resolveInput(arg) { + if (!env_1.env.isNodejs() && typeof arg === "string") { + return document.getElementById(arg); + } + return arg; + } + exports.resolveInput = resolveInput; + }); + + // build/dom/getContext2dOrThrow.js + var require_getContext2dOrThrow = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.getContext2dOrThrow = void 0; + const env_1 = require_env(); + const resolveInput_1 = require_resolveInput(); + function getContext2dOrThrow(canvasArg) { + const {Canvas, CanvasRenderingContext2D: CanvasRenderingContext2D2} = env_1.env.getEnv(); + if (canvasArg instanceof CanvasRenderingContext2D2) { + return canvasArg; + } + const canvas = resolveInput_1.resolveInput(canvasArg); + if (!(canvas instanceof Canvas)) { + throw new Error("resolveContext2d - expected canvas to be of instance of Canvas"); + } + const ctx = canvas.getContext("2d"); + if (!ctx) { + throw new Error("resolveContext2d - canvas 2d context is null"); + } + return ctx; + } + exports.getContext2dOrThrow = getContext2dOrThrow; + }); + + // build/draw/DrawTextField.js + var require_DrawTextField = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.DrawTextField = exports.DrawTextFieldOptions = exports.AnchorPosition = void 0; + const getContext2dOrThrow_1 = require_getContext2dOrThrow(); + const resolveInput_1 = require_resolveInput(); + var AnchorPosition; + (function(AnchorPosition2) { + AnchorPosition2["TOP_LEFT"] = "TOP_LEFT"; + AnchorPosition2["TOP_RIGHT"] = "TOP_RIGHT"; + AnchorPosition2["BOTTOM_LEFT"] = "BOTTOM_LEFT"; + AnchorPosition2["BOTTOM_RIGHT"] = "BOTTOM_RIGHT"; + })(AnchorPosition = exports.AnchorPosition || (exports.AnchorPosition = {})); + class DrawTextFieldOptions { + constructor(options = {}) { + const {anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding} = options; + this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT; + this.backgroundColor = backgroundColor || "rgba(0, 0, 0, 0.5)"; + this.fontColor = fontColor || "rgba(255, 255, 255, 1)"; + this.fontSize = fontSize || 14; + this.fontStyle = fontStyle || "Georgia"; + this.padding = padding || 4; + } + } + exports.DrawTextFieldOptions = DrawTextFieldOptions; + class DrawTextField { + constructor(text, anchor, options = {}) { + this.text = typeof text === "string" ? [text] : text instanceof DrawTextField ? text.text : text; + this.anchor = anchor; + this.options = new DrawTextFieldOptions(options); + } + measureWidth(ctx) { + const {padding} = this.options; + return this.text.map((l) => ctx.measureText(l).width).reduce((w0, w1) => w0 < w1 ? w1 : w0, 0) + 2 * padding; + } + measureHeight() { + const {fontSize, padding} = this.options; + return this.text.length * fontSize + 2 * padding; + } + getUpperLeft(ctx, canvasDims) { + const {anchorPosition} = this.options; + const isShiftLeft = anchorPosition === AnchorPosition.BOTTOM_RIGHT || anchorPosition === AnchorPosition.TOP_RIGHT; + const isShiftTop = anchorPosition === AnchorPosition.BOTTOM_LEFT || anchorPosition === AnchorPosition.BOTTOM_RIGHT; + const textFieldWidth = this.measureWidth(ctx); + const textFieldHeight = this.measureHeight(); + const x = isShiftLeft ? this.anchor.x - textFieldWidth : this.anchor.x; + const y = isShiftTop ? this.anchor.y - textFieldHeight : this.anchor.y; + if (canvasDims) { + const {width, height} = canvasDims; + const newX = Math.max(Math.min(x, width - textFieldWidth), 0); + const newY = Math.max(Math.min(y, height - textFieldHeight), 0); + return {x: newX, y: newY}; + } + return {x, y}; + } + draw(canvasArg) { + const canvas = resolveInput_1.resolveInput(canvasArg); + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvas); + const {backgroundColor, fontColor, fontSize, fontStyle, padding} = this.options; + ctx.font = `${fontSize}px ${fontStyle}`; + const maxTextWidth = this.measureWidth(ctx); + const textHeight = this.measureHeight(); + ctx.fillStyle = backgroundColor; + const upperLeft = this.getUpperLeft(ctx, canvas); + ctx.fillRect(upperLeft.x, upperLeft.y, maxTextWidth, textHeight); + ctx.fillStyle = fontColor; + this.text.forEach((textLine, i) => { + const x = padding + upperLeft.x; + const y = padding + upperLeft.y + (i + 1) * fontSize; + ctx.fillText(textLine, x, y); + }); + } + } + exports.DrawTextField = DrawTextField; + }); + + // build/draw/DrawBox.js + var require_DrawBox = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.DrawBox = exports.DrawBoxOptions = void 0; + const classes_1 = require_classes(); + const getContext2dOrThrow_1 = require_getContext2dOrThrow(); + const DrawTextField_1 = require_DrawTextField(); + class DrawBoxOptions { + constructor(options = {}) { + const {boxColor, lineWidth, label, drawLabelOptions} = options; + this.boxColor = boxColor || "rgba(0, 0, 255, 1)"; + this.lineWidth = lineWidth || 2; + this.label = label; + const defaultDrawLabelOptions = { + anchorPosition: DrawTextField_1.AnchorPosition.BOTTOM_LEFT, + backgroundColor: this.boxColor + }; + this.drawLabelOptions = new DrawTextField_1.DrawTextFieldOptions(Object.assign({}, defaultDrawLabelOptions, drawLabelOptions)); + } + } + exports.DrawBoxOptions = DrawBoxOptions; + class DrawBox { + constructor(box, options = {}) { + this.box = new classes_1.Box(box); + this.options = new DrawBoxOptions(options); + } + draw(canvasArg) { + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvasArg); + const {boxColor, lineWidth} = this.options; + const {x, y, width, height} = this.box; + ctx.strokeStyle = boxColor; + ctx.lineWidth = lineWidth; + ctx.strokeRect(x, y, width, height); + const {label} = this.options; + if (label) { + new DrawTextField_1.DrawTextField([label], {x: x - lineWidth / 2, y}, this.options.drawLabelOptions).draw(canvasArg); + } + } + } + exports.DrawBox = DrawBox; + }); + + // build/draw/drawDetections.js + var require_drawDetections = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.drawDetections = void 0; + const classes_1 = require_classes(); + const FaceDetection_1 = require_FaceDetection(); + const WithFaceDetection_1 = require_WithFaceDetection(); + const utils_1 = require_utils(); + const DrawBox_1 = require_DrawBox(); + function drawDetections(canvasArg, detections) { + const detectionsArray = Array.isArray(detections) ? detections : [detections]; + detectionsArray.forEach((det) => { + const score = det instanceof FaceDetection_1.FaceDetection ? det.score : WithFaceDetection_1.isWithFaceDetection(det) ? det.detection.score : void 0; + const box = det instanceof FaceDetection_1.FaceDetection ? det.box : WithFaceDetection_1.isWithFaceDetection(det) ? det.detection.box : new classes_1.Box(det); + const label = score ? `${utils_1.round(score)}` : void 0; + new DrawBox_1.DrawBox(box, {label}).draw(canvasArg); + }); + } + exports.drawDetections = drawDetections; + }); + + // build/dom/isMediaLoaded.js + var require_isMediaLoaded = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.isMediaLoaded = void 0; + const env_1 = require_env(); + function isMediaLoaded(media) { + const {Image, Video} = env_1.env.getEnv(); + return media instanceof Image && media.complete || media instanceof Video && media.readyState >= 3; + } + exports.isMediaLoaded = isMediaLoaded; + }); + + // build/dom/awaitMediaLoaded.js + var require_awaitMediaLoaded = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.awaitMediaLoaded = void 0; + const env_1 = require_env(); + const isMediaLoaded_1 = require_isMediaLoaded(); + function awaitMediaLoaded(media) { + return new Promise((resolve, reject) => { + if (media instanceof env_1.env.getEnv().Canvas || isMediaLoaded_1.isMediaLoaded(media)) { + return resolve(); + } + function onLoad(e) { + if (!e.currentTarget) + return; + e.currentTarget.removeEventListener("load", onLoad); + e.currentTarget.removeEventListener("error", onError); + resolve(e); + } + function onError(e) { + if (!e.currentTarget) + return; + e.currentTarget.removeEventListener("load", onLoad); + e.currentTarget.removeEventListener("error", onError); + reject(e); + } + media.addEventListener("load", onLoad); + media.addEventListener("error", onError); + }); + } + exports.awaitMediaLoaded = awaitMediaLoaded; + }); + + // build/dom/bufferToImage.js + var require_bufferToImage = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.bufferToImage = void 0; + const env_1 = require_env(); + function bufferToImage(buf) { + return new Promise((resolve, reject) => { + if (!(buf instanceof Blob)) { + return reject("bufferToImage - expected buf to be of type: Blob"); + } + const reader = new FileReader(); + reader.onload = () => { + if (typeof reader.result !== "string") { + return reject("bufferToImage - expected reader.result to be a string, in onload"); + } + const img = env_1.env.getEnv().createImageElement(); + img.onload = () => resolve(img); + img.onerror = reject; + img.src = reader.result; + }; + reader.onerror = reject; + reader.readAsDataURL(buf); + }); + } + exports.bufferToImage = bufferToImage; + }); + + // build/dom/getMediaDimensions.js + var require_getMediaDimensions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.getMediaDimensions = void 0; + const Dimensions_1 = require_Dimensions(); + const env_1 = require_env(); + function getMediaDimensions(input) { + const {Image, Video} = env_1.env.getEnv(); + if (input instanceof Image) { + return new Dimensions_1.Dimensions(input.naturalWidth, input.naturalHeight); + } + if (input instanceof Video) { + return new Dimensions_1.Dimensions(input.videoWidth, input.videoHeight); + } + return new Dimensions_1.Dimensions(input.width, input.height); + } + exports.getMediaDimensions = getMediaDimensions; + }); + + // build/dom/createCanvas.js + var require_createCanvas = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createCanvasFromMedia = exports.createCanvas = void 0; + const env_1 = require_env(); + const getContext2dOrThrow_1 = require_getContext2dOrThrow(); + const getMediaDimensions_1 = require_getMediaDimensions(); + const isMediaLoaded_1 = require_isMediaLoaded(); + function createCanvas({width, height}) { + const {createCanvasElement} = env_1.env.getEnv(); + const canvas = createCanvasElement(); + canvas.width = width; + canvas.height = height; + return canvas; + } + exports.createCanvas = createCanvas; + function createCanvasFromMedia(media, dims) { + const {ImageData: ImageData2} = env_1.env.getEnv(); + if (!(media instanceof ImageData2) && !isMediaLoaded_1.isMediaLoaded(media)) { + throw new Error("createCanvasFromMedia - media has not finished loading yet"); + } + const {width, height} = dims || getMediaDimensions_1.getMediaDimensions(media); + const canvas = createCanvas({width, height}); + if (media instanceof ImageData2) { + getContext2dOrThrow_1.getContext2dOrThrow(canvas).putImageData(media, 0, 0); + } else { + getContext2dOrThrow_1.getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height); + } + return canvas; + } + exports.createCanvasFromMedia = createCanvasFromMedia; + }); + + // build/dom/imageTensorToCanvas.js + var require_imageTensorToCanvas = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.imageTensorToCanvas = void 0; + const tf = require_dist(); + const env_1 = require_env(); + const utils_1 = require_utils(); + async function imageTensorToCanvas(imgTensor, canvas) { + const targetCanvas = canvas || env_1.env.getEnv().createCanvasElement(); + const [height, width, numChannels] = imgTensor.shape.slice(utils_1.isTensor4D(imgTensor) ? 1 : 0); + const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt()); + await tf.browser.toPixels(imgTensor3D, targetCanvas); + imgTensor3D.dispose(); + return targetCanvas; + } + exports.imageTensorToCanvas = imageTensorToCanvas; + }); + + // build/dom/isMediaElement.js + var require_isMediaElement = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.isMediaElement = void 0; + const env_1 = require_env(); + function isMediaElement(input) { + const {Image, Canvas, Video} = env_1.env.getEnv(); + return input instanceof Image || input instanceof Canvas || input instanceof Video; + } + exports.isMediaElement = isMediaElement; + }); + + // build/dom/imageToSquare.js + var require_imageToSquare = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.imageToSquare = void 0; + const env_1 = require_env(); + const createCanvas_1 = require_createCanvas(); + const getContext2dOrThrow_1 = require_getContext2dOrThrow(); + const getMediaDimensions_1 = require_getMediaDimensions(); + function imageToSquare(input, inputSize, centerImage = false) { + const {Image, Canvas} = env_1.env.getEnv(); + if (!(input instanceof Image || input instanceof Canvas)) { + throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement"); + } + const dims = getMediaDimensions_1.getMediaDimensions(input); + const scale = inputSize / Math.max(dims.height, dims.width); + const width = scale * dims.width; + const height = scale * dims.height; + const targetCanvas = createCanvas_1.createCanvas({width: inputSize, height: inputSize}); + const inputCanvas = input instanceof Canvas ? input : createCanvas_1.createCanvasFromMedia(input); + const offset = Math.abs(width - height) / 2; + const dx = centerImage && width < height ? offset : 0; + const dy = centerImage && height < width ? offset : 0; + getContext2dOrThrow_1.getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height); + return targetCanvas; + } + exports.imageToSquare = imageToSquare; + }); + + // build/dom/NetInput.js + var require_NetInput = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.NetInput = void 0; + const tf = require_dist(); + const env_1 = require_env(); + const padToSquare_1 = require_padToSquare(); + const utils_1 = require_utils(); + const createCanvas_1 = require_createCanvas(); + const imageToSquare_1 = require_imageToSquare(); + class NetInput { + constructor(inputs, treatAsBatchInput = false) { + this._imageTensors = []; + this._canvases = []; + this._treatAsBatchInput = false; + this._inputDimensions = []; + if (!Array.isArray(inputs)) { + throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${inputs}`); + } + this._treatAsBatchInput = treatAsBatchInput; + this._batchSize = inputs.length; + inputs.forEach((input, idx) => { + if (utils_1.isTensor3D(input)) { + this._imageTensors[idx] = input; + this._inputDimensions[idx] = input.shape; + return; + } + if (utils_1.isTensor4D(input)) { + const batchSize = input.shape[0]; + if (batchSize !== 1) { + throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`); + } + this._imageTensors[idx] = input; + this._inputDimensions[idx] = input.shape.slice(1); + return; + } + const canvas = input instanceof env_1.env.getEnv().Canvas ? input : createCanvas_1.createCanvasFromMedia(input); + this._canvases[idx] = canvas; + this._inputDimensions[idx] = [canvas.height, canvas.width, 3]; + }); + } + get imageTensors() { + return this._imageTensors; + } + get canvases() { + return this._canvases; + } + get isBatchInput() { + return this.batchSize > 1 || this._treatAsBatchInput; + } + get batchSize() { + return this._batchSize; + } + get inputDimensions() { + return this._inputDimensions; + } + get inputSize() { + return this._inputSize; + } + get reshapedInputDimensions() { + return utils_1.range(this.batchSize, 0, 1).map((_, batchIdx) => this.getReshapedInputDimensions(batchIdx)); + } + getInput(batchIdx) { + return this.canvases[batchIdx] || this.imageTensors[batchIdx]; + } + getInputDimensions(batchIdx) { + return this._inputDimensions[batchIdx]; + } + getInputHeight(batchIdx) { + return this._inputDimensions[batchIdx][0]; + } + getInputWidth(batchIdx) { + return this._inputDimensions[batchIdx][1]; + } + getReshapedInputDimensions(batchIdx) { + if (typeof this.inputSize !== "number") { + throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet"); + } + const width = this.getInputWidth(batchIdx); + const height = this.getInputHeight(batchIdx); + return utils_1.computeReshapedDimensions({width, height}, this.inputSize); + } + toBatchTensor(inputSize, isCenterInputs = true) { + this._inputSize = inputSize; + return tf.tidy(() => { + const inputTensors = utils_1.range(this.batchSize, 0, 1).map((batchIdx) => { + const input = this.getInput(batchIdx); + if (input instanceof tf.Tensor) { + let imgTensor = utils_1.isTensor4D(input) ? input : input.expandDims(); + imgTensor = padToSquare_1.padToSquare(imgTensor, isCenterInputs); + if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) { + imgTensor = tf.image.resizeBilinear(imgTensor, [inputSize, inputSize]); + } + return imgTensor.as3D(inputSize, inputSize, 3); + } + if (input instanceof env_1.env.getEnv().Canvas) { + return tf.browser.fromPixels(imageToSquare_1.imageToSquare(input, inputSize, isCenterInputs)); + } + throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`); + }); + const batchTensor = tf.stack(inputTensors.map((t) => t.toFloat())).as4D(this.batchSize, inputSize, inputSize, 3); + return batchTensor; + }); + } + } + exports.NetInput = NetInput; + }); + + // build/dom/toNetInput.js + var require_toNetInput = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.toNetInput = void 0; + const utils_1 = require_utils(); + const awaitMediaLoaded_1 = require_awaitMediaLoaded(); + const isMediaElement_1 = require_isMediaElement(); + const NetInput_1 = require_NetInput(); + const resolveInput_1 = require_resolveInput(); + async function toNetInput(inputs) { + if (inputs instanceof NetInput_1.NetInput) { + return inputs; + } + let inputArgArray = Array.isArray(inputs) ? inputs : [inputs]; + if (!inputArgArray.length) { + throw new Error("toNetInput - empty array passed as input"); + } + const getIdxHint = (idx) => Array.isArray(inputs) ? ` at input index ${idx}:` : ""; + const inputArray = inputArgArray.map(resolveInput_1.resolveInput); + inputArray.forEach((input, i) => { + if (!isMediaElement_1.isMediaElement(input) && !utils_1.isTensor3D(input) && !utils_1.isTensor4D(input)) { + if (typeof inputArgArray[i] === "string") { + throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`); + } + throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`); + } + if (utils_1.isTensor4D(input)) { + const batchSize = input.shape[0]; + if (batchSize !== 1) { + throw new Error(`toNetInput -${getIdxHint(i)} tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`); + } + } + }); + await Promise.all(inputArray.map((input) => isMediaElement_1.isMediaElement(input) && awaitMediaLoaded_1.awaitMediaLoaded(input))); + return new NetInput_1.NetInput(inputArray, Array.isArray(inputs)); + } + exports.toNetInput = toNetInput; + }); + + // build/dom/extractFaces.js + var require_extractFaces = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractFaces = void 0; + const FaceDetection_1 = require_FaceDetection(); + const env_1 = require_env(); + const createCanvas_1 = require_createCanvas(); + const getContext2dOrThrow_1 = require_getContext2dOrThrow(); + const imageTensorToCanvas_1 = require_imageTensorToCanvas(); + const toNetInput_1 = require_toNetInput(); + async function extractFaces(input, detections) { + const {Canvas} = env_1.env.getEnv(); + let canvas = input; + if (!(input instanceof Canvas)) { + const netInput = await toNetInput_1.toNetInput(input); + if (netInput.batchSize > 1) { + throw new Error("extractFaces - batchSize > 1 not supported"); + } + const tensorOrCanvas = netInput.getInput(0); + canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas : await imageTensorToCanvas_1.imageTensorToCanvas(tensorOrCanvas); + } + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvas); + const boxes = detections.map((det) => det instanceof FaceDetection_1.FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det).map((box) => box.clipAtImageBorders(canvas.width, canvas.height)); + return boxes.map(({x, y, width, height}) => { + const faceImg = createCanvas_1.createCanvas({width, height}); + getContext2dOrThrow_1.getContext2dOrThrow(faceImg).putImageData(ctx.getImageData(x, y, width, height), 0, 0); + return faceImg; + }); + } + exports.extractFaces = extractFaces; + }); + + // build/dom/extractFaceTensors.js + var require_extractFaceTensors = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractFaceTensors = void 0; + const tf = require_dist(); + const FaceDetection_1 = require_FaceDetection(); + const utils_1 = require_utils(); + async function extractFaceTensors(imageTensor, detections) { + if (!utils_1.isTensor3D(imageTensor) && !utils_1.isTensor4D(imageTensor)) { + throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D"); + } + if (utils_1.isTensor4D(imageTensor) && imageTensor.shape[0] > 1) { + throw new Error("extractFaceTensors - batchSize > 1 not supported"); + } + return tf.tidy(() => { + const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(utils_1.isTensor4D(imageTensor) ? 1 : 0); + const boxes = detections.map((det) => det instanceof FaceDetection_1.FaceDetection ? det.forSize(imgWidth, imgHeight).box : det).map((box) => box.clipAtImageBorders(imgWidth, imgHeight)); + const faceTensors = boxes.map(({x, y, width, height}) => tf.slice3d(imageTensor.as3D(imgHeight, imgWidth, numChannels), [y, x, 0], [height, width, numChannels])); + return faceTensors; + }); + } + exports.extractFaceTensors = extractFaceTensors; + }); + + // build/dom/fetchOrThrow.js + var require_fetchOrThrow = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.fetchOrThrow = void 0; + const env_1 = require_env(); + async function fetchOrThrow(url, init) { + const fetch3 = env_1.env.getEnv().fetch; + const res = await fetch3(url, init); + if (!(res.status < 400)) { + throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`); + } + return res; + } + exports.fetchOrThrow = fetchOrThrow; + }); + + // build/dom/fetchImage.js + var require_fetchImage = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.fetchImage = void 0; + const bufferToImage_1 = require_bufferToImage(); + const fetchOrThrow_1 = require_fetchOrThrow(); + async function fetchImage(uri) { + const res = await fetchOrThrow_1.fetchOrThrow(uri); + const blob = await res.blob(); + if (!blob.type.startsWith("image/")) { + throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`); + } + return bufferToImage_1.bufferToImage(blob); + } + exports.fetchImage = fetchImage; + }); + + // build/dom/fetchJson.js + var require_fetchJson = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.fetchJson = void 0; + const fetchOrThrow_1 = require_fetchOrThrow(); + async function fetchJson(uri) { + return (await fetchOrThrow_1.fetchOrThrow(uri)).json(); + } + exports.fetchJson = fetchJson; + }); + + // build/dom/fetchNetWeights.js + var require_fetchNetWeights = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.fetchNetWeights = void 0; + const fetchOrThrow_1 = require_fetchOrThrow(); + async function fetchNetWeights(uri) { + return new Float32Array(await (await fetchOrThrow_1.fetchOrThrow(uri)).arrayBuffer()); + } + exports.fetchNetWeights = fetchNetWeights; + }); + + // build/common/getModelUris.js + var require_getModelUris = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.getModelUris = void 0; + function getModelUris(uri, defaultModelName) { + const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`; + if (!uri) { + return { + modelBaseUri: "", + manifestUri: defaultManifestFilename + }; + } + if (uri === "/") { + return { + modelBaseUri: "/", + manifestUri: `/${defaultManifestFilename}` + }; + } + const protocol = uri.startsWith("http://") ? "http://" : uri.startsWith("https://") ? "https://" : ""; + uri = uri.replace(protocol, ""); + const parts = uri.split("/").filter((s) => s); + const manifestFile = uri.endsWith(".json") ? parts[parts.length - 1] : defaultManifestFilename; + let modelBaseUri = protocol + (uri.endsWith(".json") ? parts.slice(0, parts.length - 1) : parts).join("/"); + modelBaseUri = uri.startsWith("/") ? `/${modelBaseUri}` : modelBaseUri; + return { + modelBaseUri, + manifestUri: modelBaseUri === "/" ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}` + }; + } + exports.getModelUris = getModelUris; + }); + + // build/dom/loadWeightMap.js + var require_loadWeightMap = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.loadWeightMap = void 0; + const tf = require_dist(); + const getModelUris_1 = require_getModelUris(); + const fetchJson_1 = require_fetchJson(); + async function loadWeightMap(uri, defaultModelName) { + const {manifestUri, modelBaseUri} = getModelUris_1.getModelUris(uri, defaultModelName); + const manifest = await fetchJson_1.fetchJson(manifestUri); + return tf.io.loadWeights(manifest, modelBaseUri); + } + exports.loadWeightMap = loadWeightMap; + }); + + // build/dom/matchDimensions.js + var require_matchDimensions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.matchDimensions = void 0; + const getMediaDimensions_1 = require_getMediaDimensions(); + function matchDimensions(input, reference, useMediaDimensions = false) { + const {width, height} = useMediaDimensions ? getMediaDimensions_1.getMediaDimensions(reference) : reference; + input.width = width; + input.height = height; + return {width, height}; + } + exports.matchDimensions = matchDimensions; }); // build/dom/types.js - var require_types2 = __commonJS(() => { + var require_types2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); }); // build/dom/index.js var require_dom = __commonJS((exports) => { - __export(exports, { - NetInput: () => NetInput, - awaitMediaLoaded: () => awaitMediaLoaded, - bufferToImage: () => bufferToImage, - createCanvas: () => createCanvas, - createCanvasFromMedia: () => createCanvasFromMedia, - extractFaceTensors: () => extractFaceTensors, - extractFaces: () => extractFaces, - fetchImage: () => fetchImage, - fetchJson: () => fetchJson, - fetchNetWeights: () => fetchNetWeights, - fetchOrThrow: () => fetchOrThrow, - getContext2dOrThrow: () => getContext2dOrThrow, - getMediaDimensions: () => getMediaDimensions, - imageTensorToCanvas: () => imageTensorToCanvas, - imageToSquare: () => imageToSquare, - isMediaElement: () => isMediaElement, - isMediaLoaded: () => isMediaLoaded, - loadWeightMap: () => loadWeightMap, - matchDimensions: () => matchDimensions, - resolveInput: () => resolveInput, - toNetInput: () => toNetInput - }); - __exportStar(exports, __toModule(require_types2())); + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_awaitMediaLoaded(), exports); + tslib_1.__exportStar(require_bufferToImage(), exports); + tslib_1.__exportStar(require_createCanvas(), exports); + tslib_1.__exportStar(require_extractFaces(), exports); + tslib_1.__exportStar(require_extractFaceTensors(), exports); + tslib_1.__exportStar(require_fetchImage(), exports); + tslib_1.__exportStar(require_fetchJson(), exports); + tslib_1.__exportStar(require_fetchNetWeights(), exports); + tslib_1.__exportStar(require_fetchOrThrow(), exports); + tslib_1.__exportStar(require_getContext2dOrThrow(), exports); + tslib_1.__exportStar(require_getMediaDimensions(), exports); + tslib_1.__exportStar(require_imageTensorToCanvas(), exports); + tslib_1.__exportStar(require_imageToSquare(), exports); + tslib_1.__exportStar(require_isMediaElement(), exports); + tslib_1.__exportStar(require_isMediaLoaded(), exports); + tslib_1.__exportStar(require_loadWeightMap(), exports); + tslib_1.__exportStar(require_matchDimensions(), exports); + tslib_1.__exportStar(require_NetInput(), exports); + tslib_1.__exportStar(require_resolveInput(), exports); + tslib_1.__exportStar(require_toNetInput(), exports); + tslib_1.__exportStar(require_types2(), exports); + }); + + // build/NeuralNetwork.js + var require_NeuralNetwork = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.NeuralNetwork = void 0; + const tf = require_dist(); + const getModelUris_1 = require_getModelUris(); + const dom_1 = require_dom(); + const env_1 = require_env(); + class NeuralNetwork { + constructor(_name) { + this._name = _name; + this._params = void 0; + this._paramMappings = []; + } + get params() { + return this._params; + } + get paramMappings() { + return this._paramMappings; + } + get isLoaded() { + return !!this.params; + } + getParamFromPath(paramPath) { + const {obj, objProp} = this.traversePropertyPath(paramPath); + return obj[objProp]; + } + reassignParamFromPath(paramPath, tensor17) { + const {obj, objProp} = this.traversePropertyPath(paramPath); + obj[objProp].dispose(); + obj[objProp] = tensor17; + } + getParamList() { + return this._paramMappings.map(({paramPath}) => ({ + path: paramPath, + tensor: this.getParamFromPath(paramPath) + })); + } + getTrainableParams() { + return this.getParamList().filter((param) => param.tensor instanceof tf.Variable); + } + getFrozenParams() { + return this.getParamList().filter((param) => !(param.tensor instanceof tf.Variable)); + } + variable() { + this.getFrozenParams().forEach(({path, tensor: tensor17}) => { + this.reassignParamFromPath(path, tensor17.variable()); + }); + } + freeze() { + this.getTrainableParams().forEach(({path, tensor: variable3}) => { + const tensor17 = tf.tensor(variable3.dataSync()); + variable3.dispose(); + this.reassignParamFromPath(path, tensor17); + }); + } + dispose(throwOnRedispose = true) { + this.getParamList().forEach((param) => { + if (throwOnRedispose && param.tensor.isDisposed) { + throw new Error(`param tensor has already been disposed for path ${param.path}`); + } + param.tensor.dispose(); + }); + this._params = void 0; + } + serializeParams() { + return new Float32Array(this.getParamList().map(({tensor: tensor17}) => Array.from(tensor17.dataSync())).reduce((flat, arr) => flat.concat(arr))); + } + async load(weightsOrUrl) { + if (weightsOrUrl instanceof Float32Array) { + this.extractWeights(weightsOrUrl); + return; + } + await this.loadFromUri(weightsOrUrl); + } + async loadFromUri(uri) { + if (uri && typeof uri !== "string") { + throw new Error(`${this._name}.loadFromUri - expected model uri`); + } + const weightMap = await dom_1.loadWeightMap(uri, this.getDefaultModelName()); + this.loadFromWeightMap(weightMap); + } + async loadFromDisk(filePath) { + if (filePath && typeof filePath !== "string") { + throw new Error(`${this._name}.loadFromDisk - expected model file path`); + } + const {readFile} = env_1.env.getEnv(); + const {manifestUri, modelBaseUri} = getModelUris_1.getModelUris(filePath, this.getDefaultModelName()); + const fetchWeightsFromDisk = (filePaths) => Promise.all(filePaths.map((filePath2) => readFile(filePath2).then((buf) => buf.buffer))); + const loadWeights2 = tf.io.weightsLoaderFactory(fetchWeightsFromDisk); + const manifest = JSON.parse((await readFile(manifestUri)).toString()); + const weightMap = await loadWeights2(manifest, modelBaseUri); + this.loadFromWeightMap(weightMap); + } + loadFromWeightMap(weightMap) { + const {paramMappings, params} = this.extractParamsFromWeigthMap(weightMap); + this._paramMappings = paramMappings; + this._params = params; + } + extractWeights(weights) { + const {paramMappings, params} = this.extractParams(weights); + this._paramMappings = paramMappings; + this._params = params; + } + traversePropertyPath(paramPath) { + if (!this.params) { + throw new Error(`traversePropertyPath - model has no loaded params`); + } + const result = paramPath.split("/").reduce((res, objProp2) => { + if (!res.nextObj.hasOwnProperty(objProp2)) { + throw new Error(`traversePropertyPath - object does not have property ${objProp2}, for path ${paramPath}`); + } + return {obj: res.nextObj, objProp: objProp2, nextObj: res.nextObj[objProp2]}; + }, {nextObj: this.params}); + const {obj, objProp} = result; + if (!obj || !objProp || !(obj[objProp] instanceof tf.Tensor)) { + throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${paramPath}`); + } + return {obj, objProp}; + } + } + exports.NeuralNetwork = NeuralNetwork; + }); + + // build/common/depthwiseSeparableConv.js + var require_depthwiseSeparableConv = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.depthwiseSeparableConv = void 0; + const tf = require_dist(); + function depthwiseSeparableConv(x, params, stride) { + return tf.tidy(() => { + let out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, "same"); + out = tf.add(out, params.bias); + return out; + }); + } + exports.depthwiseSeparableConv = depthwiseSeparableConv; + }); + + // build/faceFeatureExtractor/denseBlock.js + var require_denseBlock = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.denseBlock4 = exports.denseBlock3 = void 0; + const tf = require_dist(); + const depthwiseSeparableConv_1 = require_depthwiseSeparableConv(); + function denseBlock3(x, denseBlockParams, isFirstLayer = false) { + return tf.tidy(() => { + const out1 = tf.relu(isFirstLayer ? tf.add(tf.conv2d(x, denseBlockParams.conv0.filters, [2, 2], "same"), denseBlockParams.conv0.bias) : depthwiseSeparableConv_1.depthwiseSeparableConv(x, denseBlockParams.conv0, [2, 2])); + const out2 = depthwiseSeparableConv_1.depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); + const in3 = tf.relu(tf.add(out1, out2)); + const out3 = depthwiseSeparableConv_1.depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); + return tf.relu(tf.add(out1, tf.add(out2, out3))); + }); + } + exports.denseBlock3 = denseBlock3; + function denseBlock4(x, denseBlockParams, isFirstLayer = false, isScaleDown = true) { + return tf.tidy(() => { + const out1 = tf.relu(isFirstLayer ? tf.add(tf.conv2d(x, denseBlockParams.conv0.filters, isScaleDown ? [2, 2] : [1, 1], "same"), denseBlockParams.conv0.bias) : depthwiseSeparableConv_1.depthwiseSeparableConv(x, denseBlockParams.conv0, isScaleDown ? [2, 2] : [1, 1])); + const out2 = depthwiseSeparableConv_1.depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); + const in3 = tf.relu(tf.add(out1, out2)); + const out3 = depthwiseSeparableConv_1.depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); + const in4 = tf.relu(tf.add(out1, tf.add(out2, out3))); + const out4 = depthwiseSeparableConv_1.depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]); + return tf.relu(tf.add(out1, tf.add(out2, tf.add(out3, out4)))); + }); + } + exports.denseBlock4 = denseBlock4; + }); + + // build/common/convLayer.js + var require_convLayer = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.convLayer = void 0; + const tf = require_dist(); + function convLayer(x, params, padding = "same", withRelu = false) { + return tf.tidy(() => { + const out = tf.add(tf.conv2d(x, params.filters, [1, 1], padding), params.bias); + return withRelu ? tf.relu(out) : out; + }); + } + exports.convLayer = convLayer; + }); + + // build/common/disposeUnusedWeightTensors.js + var require_disposeUnusedWeightTensors = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.disposeUnusedWeightTensors = void 0; + function disposeUnusedWeightTensors(weightMap, paramMappings) { + Object.keys(weightMap).forEach((path) => { + if (!paramMappings.some((pm) => pm.originalPath === path)) { + weightMap[path].dispose(); + } + }); + } + exports.disposeUnusedWeightTensors = disposeUnusedWeightTensors; + }); + + // build/common/extractConvParamsFactory.js + var require_extractConvParamsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractConvParamsFactory = void 0; + const tf = require_dist(); + function extractConvParamsFactory(extractWeights, paramMappings) { + return function(channelsIn, channelsOut, filterSize, mappedPrefix) { + const filters = tf.tensor4d(extractWeights(channelsIn * channelsOut * filterSize * filterSize), [filterSize, filterSize, channelsIn, channelsOut]); + const bias = tf.tensor1d(extractWeights(channelsOut)); + paramMappings.push({paramPath: `${mappedPrefix}/filters`}, {paramPath: `${mappedPrefix}/bias`}); + return {filters, bias}; + }; + } + exports.extractConvParamsFactory = extractConvParamsFactory; + }); + + // build/common/extractFCParamsFactory.js + var require_extractFCParamsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractFCParamsFactory = void 0; + const tf = require_dist(); + function extractFCParamsFactory(extractWeights, paramMappings) { + return function(channelsIn, channelsOut, mappedPrefix) { + const fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]); + const fc_bias = tf.tensor1d(extractWeights(channelsOut)); + paramMappings.push({paramPath: `${mappedPrefix}/weights`}, {paramPath: `${mappedPrefix}/bias`}); + return { + weights: fc_weights, + bias: fc_bias + }; + }; + } + exports.extractFCParamsFactory = extractFCParamsFactory; + }); + + // build/common/types.js + var require_types3 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.SeparableConvParams = void 0; + class SeparableConvParams { + constructor(depthwise_filter, pointwise_filter, bias) { + this.depthwise_filter = depthwise_filter; + this.pointwise_filter = pointwise_filter; + this.bias = bias; + } + } + exports.SeparableConvParams = SeparableConvParams; + }); + + // build/common/extractSeparableConvParamsFactory.js + var require_extractSeparableConvParamsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.loadSeparableConvParamsFactory = exports.extractSeparableConvParamsFactory = void 0; + const tf = require_dist(); + const types_1 = require_types3(); + function extractSeparableConvParamsFactory(extractWeights, paramMappings) { + return function(channelsIn, channelsOut, mappedPrefix) { + const depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]); + const pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]); + const bias = tf.tensor1d(extractWeights(channelsOut)); + paramMappings.push({paramPath: `${mappedPrefix}/depthwise_filter`}, {paramPath: `${mappedPrefix}/pointwise_filter`}, {paramPath: `${mappedPrefix}/bias`}); + return new types_1.SeparableConvParams(depthwise_filter, pointwise_filter, bias); + }; + } + exports.extractSeparableConvParamsFactory = extractSeparableConvParamsFactory; + function loadSeparableConvParamsFactory(extractWeightEntry) { + return function(prefix) { + const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4); + const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4); + const bias = extractWeightEntry(`${prefix}/bias`, 1); + return new types_1.SeparableConvParams(depthwise_filter, pointwise_filter, bias); + }; + } + exports.loadSeparableConvParamsFactory = loadSeparableConvParamsFactory; + }); + + // build/common/extractWeightEntryFactory.js + var require_extractWeightEntryFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractWeightEntryFactory = void 0; + const utils_1 = require_utils(); + function extractWeightEntryFactory(weightMap, paramMappings) { + return function(originalPath, paramRank, mappedPath) { + const tensor17 = weightMap[originalPath]; + if (!utils_1.isTensor(tensor17, paramRank)) { + throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor17}`); + } + paramMappings.push({originalPath, paramPath: mappedPath || originalPath}); + return tensor17; + }; + } + exports.extractWeightEntryFactory = extractWeightEntryFactory; + }); + + // build/common/extractWeightsFactory.js + var require_extractWeightsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractWeightsFactory = void 0; + function extractWeightsFactory(weights) { + let remainingWeights = weights; + function extractWeights(numWeights) { + const ret = remainingWeights.slice(0, numWeights); + remainingWeights = remainingWeights.slice(numWeights); + return ret; + } + function getRemainingWeights() { + return remainingWeights; + } + return { + extractWeights, + getRemainingWeights + }; + } + exports.extractWeightsFactory = extractWeightsFactory; + }); + + // build/common/index.js + var require_common = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_convLayer(), exports); + tslib_1.__exportStar(require_depthwiseSeparableConv(), exports); + tslib_1.__exportStar(require_disposeUnusedWeightTensors(), exports); + tslib_1.__exportStar(require_extractConvParamsFactory(), exports); + tslib_1.__exportStar(require_extractFCParamsFactory(), exports); + tslib_1.__exportStar(require_extractSeparableConvParamsFactory(), exports); + tslib_1.__exportStar(require_extractWeightEntryFactory(), exports); + tslib_1.__exportStar(require_extractWeightsFactory(), exports); + tslib_1.__exportStar(require_getModelUris(), exports); + tslib_1.__exportStar(require_types3(), exports); + }); + + // build/faceFeatureExtractor/extractorsFactory.js + var require_extractorsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractorsFactory = void 0; + const common_1 = require_common(); + function extractorsFactory(extractWeights, paramMappings) { + const extractConvParams = common_1.extractConvParamsFactory(extractWeights, paramMappings); + const extractSeparableConvParams = common_1.extractSeparableConvParamsFactory(extractWeights, paramMappings); + function extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer = false) { + const conv0 = isFirstLayer ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`) : extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/conv0`); + const conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv1`); + const conv2 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv2`); + return {conv0, conv1, conv2}; + } + function extractDenseBlock4Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer = false) { + const {conv0, conv1, conv2} = extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer); + const conv3 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv3`); + return {conv0, conv1, conv2, conv3}; + } + return { + extractDenseBlock3Params, + extractDenseBlock4Params + }; + } + exports.extractorsFactory = extractorsFactory; + }); + + // build/faceFeatureExtractor/extractParams.js + var require_extractParams = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParams = void 0; + const common_1 = require_common(); + const extractorsFactory_1 = require_extractorsFactory(); + function extractParams(weights) { + const paramMappings = []; + const {extractWeights, getRemainingWeights} = common_1.extractWeightsFactory(weights); + const {extractDenseBlock4Params} = extractorsFactory_1.extractorsFactory(extractWeights, paramMappings); + const dense0 = extractDenseBlock4Params(3, 32, "dense0", true); + const dense1 = extractDenseBlock4Params(32, 64, "dense1"); + const dense2 = extractDenseBlock4Params(64, 128, "dense2"); + const dense3 = extractDenseBlock4Params(128, 256, "dense3"); + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + return { + paramMappings, + params: {dense0, dense1, dense2, dense3} + }; + } + exports.extractParams = extractParams; + }); + + // build/common/loadConvParamsFactory.js + var require_loadConvParamsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.loadConvParamsFactory = void 0; + function loadConvParamsFactory(extractWeightEntry) { + return function(prefix) { + const filters = extractWeightEntry(`${prefix}/filters`, 4); + const bias = extractWeightEntry(`${prefix}/bias`, 1); + return {filters, bias}; + }; + } + exports.loadConvParamsFactory = loadConvParamsFactory; + }); + + // build/faceFeatureExtractor/loadParamsFactory.js + var require_loadParamsFactory = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.loadParamsFactory = void 0; + const common_1 = require_common(); + const loadConvParamsFactory_1 = require_loadConvParamsFactory(); + function loadParamsFactory(weightMap, paramMappings) { + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + const extractConvParams = loadConvParamsFactory_1.loadConvParamsFactory(extractWeightEntry); + const extractSeparableConvParams = common_1.loadSeparableConvParamsFactory(extractWeightEntry); + function extractDenseBlock3Params(prefix, isFirstLayer = false) { + const conv0 = isFirstLayer ? extractConvParams(`${prefix}/conv0`) : extractSeparableConvParams(`${prefix}/conv0`); + const conv1 = extractSeparableConvParams(`${prefix}/conv1`); + const conv2 = extractSeparableConvParams(`${prefix}/conv2`); + return {conv0, conv1, conv2}; + } + function extractDenseBlock4Params(prefix, isFirstLayer = false) { + const conv0 = isFirstLayer ? extractConvParams(`${prefix}/conv0`) : extractSeparableConvParams(`${prefix}/conv0`); + const conv1 = extractSeparableConvParams(`${prefix}/conv1`); + const conv2 = extractSeparableConvParams(`${prefix}/conv2`); + const conv3 = extractSeparableConvParams(`${prefix}/conv3`); + return {conv0, conv1, conv2, conv3}; + } + return { + extractDenseBlock3Params, + extractDenseBlock4Params + }; + } + exports.loadParamsFactory = loadParamsFactory; + }); + + // build/faceFeatureExtractor/extractParamsFromWeigthMap.js + var require_extractParamsFromWeigthMap = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMap = void 0; + const common_1 = require_common(); + const loadParamsFactory_1 = require_loadParamsFactory(); + function extractParamsFromWeigthMap(weightMap) { + const paramMappings = []; + const {extractDenseBlock4Params} = loadParamsFactory_1.loadParamsFactory(weightMap, paramMappings); + const params = { + dense0: extractDenseBlock4Params("dense0", true), + dense1: extractDenseBlock4Params("dense1"), + dense2: extractDenseBlock4Params("dense2"), + dense3: extractDenseBlock4Params("dense3") + }; + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params, paramMappings}; + } + exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; + }); + + // build/faceFeatureExtractor/FaceFeatureExtractor.js + var require_FaceFeatureExtractor = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceFeatureExtractor = void 0; + const tf = require_dist(); + const dom_1 = require_dom(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const ops_1 = require_ops(); + const denseBlock_1 = require_denseBlock(); + const extractParams_1 = require_extractParams(); + const extractParamsFromWeigthMap_1 = require_extractParamsFromWeigthMap(); + class FaceFeatureExtractor extends NeuralNetwork_1.NeuralNetwork { + constructor() { + super("FaceFeatureExtractor"); + } + forwardInput(input) { + const {params} = this; + if (!params) { + throw new Error("FaceFeatureExtractor - load model before inference"); + } + return tf.tidy(() => { + const batchTensor = input.toBatchTensor(112, true); + const meanRgb = [122.782, 117.001, 104.298]; + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(255)); + let out = denseBlock_1.denseBlock4(normalized, params.dense0, true); + out = denseBlock_1.denseBlock4(out, params.dense1); + out = denseBlock_1.denseBlock4(out, params.dense2); + out = denseBlock_1.denseBlock4(out, params.dense3); + out = tf.avgPool(out, [7, 7], [2, 2], "valid"); + return out; + }); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + getDefaultModelName() { + return "face_feature_extractor_model"; + } + extractParamsFromWeigthMap(weightMap) { + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap); + } + extractParams(weights) { + return extractParams_1.extractParams(weights); + } + } + exports.FaceFeatureExtractor = FaceFeatureExtractor; + }); + + // build/common/fullyConnectedLayer.js + var require_fullyConnectedLayer = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.fullyConnectedLayer = void 0; + const tf = require_dist(); + function fullyConnectedLayer(x, params) { + return tf.tidy(() => tf.add(tf.matMul(x, params.weights), params.bias)); + } + exports.fullyConnectedLayer = fullyConnectedLayer; + }); + + // build/faceProcessor/extractParams.js + var require_extractParams2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParams = void 0; + const common_1 = require_common(); + function extractParams(weights, channelsIn, channelsOut) { + const paramMappings = []; + const {extractWeights, getRemainingWeights} = common_1.extractWeightsFactory(weights); + const extractFCParams = common_1.extractFCParamsFactory(extractWeights, paramMappings); + const fc = extractFCParams(channelsIn, channelsOut, "fc"); + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + return { + paramMappings, + params: {fc} + }; + } + exports.extractParams = extractParams; + }); + + // build/faceProcessor/extractParamsFromWeigthMap.js + var require_extractParamsFromWeigthMap2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMap = void 0; + const common_1 = require_common(); + function extractParamsFromWeigthMap(weightMap) { + const paramMappings = []; + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + function extractFcParams(prefix) { + const weights = extractWeightEntry(`${prefix}/weights`, 2); + const bias = extractWeightEntry(`${prefix}/bias`, 1); + return {weights, bias}; + } + const params = { + fc: extractFcParams("fc") + }; + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params, paramMappings}; + } + exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; + }); + + // build/faceProcessor/util.js + var require_util = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.seperateWeightMaps = void 0; + function seperateWeightMaps(weightMap) { + const featureExtractorMap = {}; + const classifierMap = {}; + Object.keys(weightMap).forEach((key) => { + const map = key.startsWith("fc") ? classifierMap : featureExtractorMap; + map[key] = weightMap[key]; + }); + return {featureExtractorMap, classifierMap}; + } + exports.seperateWeightMaps = seperateWeightMaps; + }); + + // build/faceProcessor/FaceProcessor.js + var require_FaceProcessor = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceProcessor = void 0; + const tf = require_dist(); + const fullyConnectedLayer_1 = require_fullyConnectedLayer(); + const dom_1 = require_dom(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const extractParams_1 = require_extractParams2(); + const extractParamsFromWeigthMap_1 = require_extractParamsFromWeigthMap2(); + const util_1 = require_util(); + class FaceProcessor extends NeuralNetwork_1.NeuralNetwork { + constructor(_name, faceFeatureExtractor) { + super(_name); + this._faceFeatureExtractor = faceFeatureExtractor; + } + get faceFeatureExtractor() { + return this._faceFeatureExtractor; + } + runNet(input) { + const {params} = this; + if (!params) { + throw new Error(`${this._name} - load model before inference`); + } + return tf.tidy(() => { + const bottleneckFeatures = input instanceof dom_1.NetInput ? this.faceFeatureExtractor.forwardInput(input) : input; + return fullyConnectedLayer_1.fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc); + }); + } + dispose(throwOnRedispose = true) { + this.faceFeatureExtractor.dispose(throwOnRedispose); + super.dispose(throwOnRedispose); + } + loadClassifierParams(weights) { + const {params, paramMappings} = this.extractClassifierParams(weights); + this._params = params; + this._paramMappings = paramMappings; + } + extractClassifierParams(weights) { + return extractParams_1.extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut()); + } + extractParamsFromWeigthMap(weightMap) { + const {featureExtractorMap, classifierMap} = util_1.seperateWeightMaps(weightMap); + this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(classifierMap); + } + extractParams(weights) { + const cIn = this.getClassifierChannelsIn(); + const cOut = this.getClassifierChannelsOut(); + const classifierWeightSize = cOut * cIn + cOut; + const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize); + const classifierWeights = weights.slice(weights.length - classifierWeightSize); + this.faceFeatureExtractor.extractWeights(featureExtractorWeights); + return this.extractClassifierParams(classifierWeights); + } + } + exports.FaceProcessor = FaceProcessor; + }); + + // build/faceExpressionNet/FaceExpressions.js + var require_FaceExpressions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceExpressions = exports.FACE_EXPRESSION_LABELS = void 0; + exports.FACE_EXPRESSION_LABELS = ["neutral", "happy", "sad", "angry", "fearful", "disgusted", "surprised"]; + class FaceExpressions { + constructor(probabilities) { + if (probabilities.length !== 7) { + throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`); + } + exports.FACE_EXPRESSION_LABELS.forEach((expression, idx) => { + this[expression] = probabilities[idx]; + }); + } + asSortedArray() { + return exports.FACE_EXPRESSION_LABELS.map((expression) => ({expression, probability: this[expression]})).sort((e0, e1) => e1.probability - e0.probability); + } + } + exports.FaceExpressions = FaceExpressions; + }); + + // build/faceExpressionNet/FaceExpressionNet.js + var require_FaceExpressionNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceExpressionNet = void 0; + const tf = require_dist(); + const dom_1 = require_dom(); + const FaceFeatureExtractor_1 = require_FaceFeatureExtractor(); + const FaceProcessor_1 = require_FaceProcessor(); + const FaceExpressions_1 = require_FaceExpressions(); + class FaceExpressionNet extends FaceProcessor_1.FaceProcessor { + constructor(faceFeatureExtractor = new FaceFeatureExtractor_1.FaceFeatureExtractor()) { + super("FaceExpressionNet", faceFeatureExtractor); + } + forwardInput(input) { + return tf.tidy(() => tf.softmax(this.runNet(input))); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + async predictExpressions(input) { + const netInput = await dom_1.toNetInput(input); + const out = await this.forwardInput(netInput); + const probabilitesByBatch = await Promise.all(tf.unstack(out).map(async (t) => { + const data = await t.data(); + t.dispose(); + return data; + })); + out.dispose(); + const predictionsByBatch = probabilitesByBatch.map((probabilites) => new FaceExpressions_1.FaceExpressions(probabilites)); + return netInput.isBatchInput ? predictionsByBatch : predictionsByBatch[0]; + } + getDefaultModelName() { + return "face_expression_model"; + } + getClassifierChannelsIn() { + return 256; + } + getClassifierChannelsOut() { + return 7; + } + } + exports.FaceExpressionNet = FaceExpressionNet; + }); + + // build/faceExpressionNet/index.js + var require_faceExpressionNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_FaceExpressionNet(), exports); + tslib_1.__exportStar(require_FaceExpressions(), exports); + }); + + // build/factories/WithFaceExpressions.js + var require_WithFaceExpressions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extendWithFaceExpressions = exports.isWithFaceExpressions = void 0; + const FaceExpressions_1 = require_FaceExpressions(); + function isWithFaceExpressions(obj) { + return obj["expressions"] instanceof FaceExpressions_1.FaceExpressions; + } + exports.isWithFaceExpressions = isWithFaceExpressions; + function extendWithFaceExpressions(sourceObj, expressions) { + const extension = {expressions}; + return Object.assign({}, sourceObj, extension); + } + exports.extendWithFaceExpressions = extendWithFaceExpressions; + }); + + // build/draw/drawFaceExpressions.js + var require_drawFaceExpressions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.drawFaceExpressions = void 0; + const classes_1 = require_classes(); + const faceExpressionNet_1 = require_faceExpressionNet(); + const WithFaceDetection_1 = require_WithFaceDetection(); + const WithFaceExpressions_1 = require_WithFaceExpressions(); + const utils_1 = require_utils(); + const DrawTextField_1 = require_DrawTextField(); + function drawFaceExpressions(canvasArg, faceExpressions, minConfidence = 0.1, textFieldAnchor) { + const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions]; + faceExpressionsArray.forEach((e) => { + const expr = e instanceof faceExpressionNet_1.FaceExpressions ? e : WithFaceExpressions_1.isWithFaceExpressions(e) ? e.expressions : void 0; + if (!expr) { + throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof"); + } + const sorted = expr.asSortedArray(); + const resultsToDisplay = sorted.filter((expr2) => expr2.probability > minConfidence); + const anchor = WithFaceDetection_1.isWithFaceDetection(e) ? e.detection.box.bottomLeft : textFieldAnchor || new classes_1.Point(0, 0); + const drawTextField = new DrawTextField_1.DrawTextField(resultsToDisplay.map((expr2) => `${expr2.expression} (${utils_1.round(expr2.probability)})`), anchor); + drawTextField.draw(canvasArg); + }); + } + exports.drawFaceExpressions = drawFaceExpressions; + }); + + // build/factories/WithFaceLandmarks.js + var require_WithFaceLandmarks = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extendWithFaceLandmarks = exports.isWithFaceLandmarks = void 0; + const FaceDetection_1 = require_FaceDetection(); + const FaceLandmarks_1 = require_FaceLandmarks(); + const WithFaceDetection_1 = require_WithFaceDetection(); + function isWithFaceLandmarks(obj) { + return WithFaceDetection_1.isWithFaceDetection(obj) && obj["landmarks"] instanceof FaceLandmarks_1.FaceLandmarks && obj["unshiftedLandmarks"] instanceof FaceLandmarks_1.FaceLandmarks && obj["alignedRect"] instanceof FaceDetection_1.FaceDetection; + } + exports.isWithFaceLandmarks = isWithFaceLandmarks; + function extendWithFaceLandmarks(sourceObj, unshiftedLandmarks) { + const {box: shift} = sourceObj.detection; + const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y); + const rect = landmarks.align(); + const {imageDims} = sourceObj.detection; + const alignedRect = new FaceDetection_1.FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims); + const extension = { + landmarks, + unshiftedLandmarks, + alignedRect + }; + return Object.assign({}, sourceObj, extension); + } + exports.extendWithFaceLandmarks = extendWithFaceLandmarks; + }); + + // build/draw/DrawFaceLandmarks.js + var require_DrawFaceLandmarks = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.drawFaceLandmarks = exports.DrawFaceLandmarks = exports.DrawFaceLandmarksOptions = void 0; + const FaceLandmarks_1 = require_FaceLandmarks(); + const FaceLandmarks68_1 = require_FaceLandmarks68(); + const getContext2dOrThrow_1 = require_getContext2dOrThrow(); + const WithFaceLandmarks_1 = require_WithFaceLandmarks(); + const drawContour_1 = require_drawContour(); + class DrawFaceLandmarksOptions { + constructor(options = {}) { + const {drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor} = options; + this.drawLines = drawLines; + this.drawPoints = drawPoints; + this.lineWidth = lineWidth || 1; + this.pointSize = pointSize || 2; + this.lineColor = lineColor || "rgba(0, 255, 255, 1)"; + this.pointColor = pointColor || "rgba(255, 0, 255, 1)"; + } + } + exports.DrawFaceLandmarksOptions = DrawFaceLandmarksOptions; + class DrawFaceLandmarks { + constructor(faceLandmarks, options = {}) { + this.faceLandmarks = faceLandmarks; + this.options = new DrawFaceLandmarksOptions(options); + } + draw(canvasArg) { + const ctx = getContext2dOrThrow_1.getContext2dOrThrow(canvasArg); + const {drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor} = this.options; + if (drawLines && this.faceLandmarks instanceof FaceLandmarks68_1.FaceLandmarks68) { + ctx.strokeStyle = lineColor; + ctx.lineWidth = lineWidth; + drawContour_1.drawContour(ctx, this.faceLandmarks.getJawOutline()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getLeftEyeBrow()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getRightEyeBrow()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getNose()); + drawContour_1.drawContour(ctx, this.faceLandmarks.getLeftEye(), true); + drawContour_1.drawContour(ctx, this.faceLandmarks.getRightEye(), true); + drawContour_1.drawContour(ctx, this.faceLandmarks.getMouth(), true); + } + if (drawPoints) { + ctx.strokeStyle = pointColor; + ctx.fillStyle = pointColor; + const drawPoint = (pt) => { + ctx.beginPath(); + ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI); + ctx.fill(); + }; + this.faceLandmarks.positions.forEach(drawPoint); + } + } + } + exports.DrawFaceLandmarks = DrawFaceLandmarks; + function drawFaceLandmarks(canvasArg, faceLandmarks) { + const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks]; + faceLandmarksArray.forEach((f) => { + const landmarks = f instanceof FaceLandmarks_1.FaceLandmarks ? f : WithFaceLandmarks_1.isWithFaceLandmarks(f) ? f.landmarks : void 0; + if (!landmarks) { + throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof"); + } + new DrawFaceLandmarks(landmarks).draw(canvasArg); + }); + } + exports.drawFaceLandmarks = drawFaceLandmarks; + }); + + // build/draw/index.js + var require_draw = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_drawContour(), exports); + tslib_1.__exportStar(require_drawDetections(), exports); + tslib_1.__exportStar(require_drawFaceExpressions(), exports); + tslib_1.__exportStar(require_DrawBox(), exports); + tslib_1.__exportStar(require_DrawFaceLandmarks(), exports); + tslib_1.__exportStar(require_DrawTextField(), exports); + }); + + // build/xception/extractParams.js + var require_extractParams3 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParams = void 0; + const common_1 = require_common(); + const utils_1 = require_utils(); + function extractorsFactory(extractWeights, paramMappings) { + const extractConvParams = common_1.extractConvParamsFactory(extractWeights, paramMappings); + const extractSeparableConvParams = common_1.extractSeparableConvParamsFactory(extractWeights, paramMappings); + function extractReductionBlockParams(channelsIn, channelsOut, mappedPrefix) { + const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`); + const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`); + const expansion_conv = extractConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/expansion_conv`); + return {separable_conv0, separable_conv1, expansion_conv}; + } + function extractMainBlockParams(channels, mappedPrefix) { + const separable_conv0 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv0`); + const separable_conv1 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv1`); + const separable_conv2 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv2`); + return {separable_conv0, separable_conv1, separable_conv2}; + } + return { + extractConvParams, + extractSeparableConvParams, + extractReductionBlockParams, + extractMainBlockParams + }; + } + function extractParams(weights, numMainBlocks) { + const paramMappings = []; + const {extractWeights, getRemainingWeights} = common_1.extractWeightsFactory(weights); + const {extractConvParams, extractSeparableConvParams, extractReductionBlockParams, extractMainBlockParams} = extractorsFactory(extractWeights, paramMappings); + const entry_flow_conv_in = extractConvParams(3, 32, 3, "entry_flow/conv_in"); + const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, "entry_flow/reduction_block_0"); + const entry_flow_reduction_block_1 = extractReductionBlockParams(64, 128, "entry_flow/reduction_block_1"); + const entry_flow = { + conv_in: entry_flow_conv_in, + reduction_block_0: entry_flow_reduction_block_0, + reduction_block_1: entry_flow_reduction_block_1 + }; + const middle_flow = {}; + utils_1.range(numMainBlocks, 0, 1).forEach((idx) => { + middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`); + }); + const exit_flow_reduction_block = extractReductionBlockParams(128, 256, "exit_flow/reduction_block"); + const exit_flow_separable_conv = extractSeparableConvParams(256, 512, "exit_flow/separable_conv"); + const exit_flow = { + reduction_block: exit_flow_reduction_block, + separable_conv: exit_flow_separable_conv + }; + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + return { + paramMappings, + params: {entry_flow, middle_flow, exit_flow} + }; + } + exports.extractParams = extractParams; + }); + + // build/xception/extractParamsFromWeigthMap.js + var require_extractParamsFromWeigthMap3 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMap = void 0; + const common_1 = require_common(); + const loadConvParamsFactory_1 = require_loadConvParamsFactory(); + const utils_1 = require_utils(); + function loadParamsFactory(weightMap, paramMappings) { + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + const extractConvParams = loadConvParamsFactory_1.loadConvParamsFactory(extractWeightEntry); + const extractSeparableConvParams = common_1.loadSeparableConvParamsFactory(extractWeightEntry); + function extractReductionBlockParams(mappedPrefix) { + const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`); + const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`); + const expansion_conv = extractConvParams(`${mappedPrefix}/expansion_conv`); + return {separable_conv0, separable_conv1, expansion_conv}; + } + function extractMainBlockParams(mappedPrefix) { + const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`); + const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`); + const separable_conv2 = extractSeparableConvParams(`${mappedPrefix}/separable_conv2`); + return {separable_conv0, separable_conv1, separable_conv2}; + } + return { + extractConvParams, + extractSeparableConvParams, + extractReductionBlockParams, + extractMainBlockParams + }; + } + function extractParamsFromWeigthMap(weightMap, numMainBlocks) { + const paramMappings = []; + const {extractConvParams, extractSeparableConvParams, extractReductionBlockParams, extractMainBlockParams} = loadParamsFactory(weightMap, paramMappings); + const entry_flow_conv_in = extractConvParams("entry_flow/conv_in"); + const entry_flow_reduction_block_0 = extractReductionBlockParams("entry_flow/reduction_block_0"); + const entry_flow_reduction_block_1 = extractReductionBlockParams("entry_flow/reduction_block_1"); + const entry_flow = { + conv_in: entry_flow_conv_in, + reduction_block_0: entry_flow_reduction_block_0, + reduction_block_1: entry_flow_reduction_block_1 + }; + const middle_flow = {}; + utils_1.range(numMainBlocks, 0, 1).forEach((idx) => { + middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`); + }); + const exit_flow_reduction_block = extractReductionBlockParams("exit_flow/reduction_block"); + const exit_flow_separable_conv = extractSeparableConvParams("exit_flow/separable_conv"); + const exit_flow = { + reduction_block: exit_flow_reduction_block, + separable_conv: exit_flow_separable_conv + }; + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params: {entry_flow, middle_flow, exit_flow}, paramMappings}; + } + exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; + }); + + // build/xception/TinyXception.js + var require_TinyXception = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyXception = void 0; + const tf = require_dist(); + const common_1 = require_common(); + const dom_1 = require_dom(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const ops_1 = require_ops(); + const utils_1 = require_utils(); + const extractParams_1 = require_extractParams3(); + const extractParamsFromWeigthMap_1 = require_extractParamsFromWeigthMap3(); + function conv(x, params, stride) { + return tf.add(tf.conv2d(x, params.filters, stride, "same"), params.bias); + } + function reductionBlock(x, params, isActivateInput = true) { + let out = isActivateInput ? tf.relu(x) : x; + out = common_1.depthwiseSeparableConv(out, params.separable_conv0, [1, 1]); + out = common_1.depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]); + out = tf.maxPool(out, [3, 3], [2, 2], "same"); + out = tf.add(out, conv(x, params.expansion_conv, [2, 2])); + return out; + } + function mainBlock(x, params) { + let out = common_1.depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]); + out = common_1.depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]); + out = common_1.depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]); + out = tf.add(out, x); + return out; + } + class TinyXception extends NeuralNetwork_1.NeuralNetwork { + constructor(numMainBlocks) { + super("TinyXception"); + this._numMainBlocks = numMainBlocks; + } + forwardInput(input) { + const {params} = this; + if (!params) { + throw new Error("TinyXception - load model before inference"); + } + return tf.tidy(() => { + const batchTensor = input.toBatchTensor(112, true); + const meanRgb = [122.782, 117.001, 104.298]; + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(256)); + let out = tf.relu(conv(normalized, params.entry_flow.conv_in, [2, 2])); + out = reductionBlock(out, params.entry_flow.reduction_block_0, false); + out = reductionBlock(out, params.entry_flow.reduction_block_1); + utils_1.range(this._numMainBlocks, 0, 1).forEach((idx) => { + out = mainBlock(out, params.middle_flow[`main_block_${idx}`]); + }); + out = reductionBlock(out, params.exit_flow.reduction_block); + out = tf.relu(common_1.depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1])); + return out; + }); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + getDefaultModelName() { + return "tiny_xception_model"; + } + extractParamsFromWeigthMap(weightMap) { + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap, this._numMainBlocks); + } + extractParams(weights) { + return extractParams_1.extractParams(weights, this._numMainBlocks); + } + } + exports.TinyXception = TinyXception; + }); + + // build/ageGenderNet/extractParams.js + var require_extractParams4 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParams = void 0; + const common_1 = require_common(); + function extractParams(weights) { + const paramMappings = []; + const {extractWeights, getRemainingWeights} = common_1.extractWeightsFactory(weights); + const extractFCParams = common_1.extractFCParamsFactory(extractWeights, paramMappings); + const age = extractFCParams(512, 1, "fc/age"); + const gender = extractFCParams(512, 2, "fc/gender"); + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + return { + paramMappings, + params: {fc: {age, gender}} + }; + } + exports.extractParams = extractParams; + }); + + // build/ageGenderNet/extractParamsFromWeigthMap.js + var require_extractParamsFromWeigthMap4 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMap = void 0; + const common_1 = require_common(); + function extractParamsFromWeigthMap(weightMap) { + const paramMappings = []; + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + function extractFcParams(prefix) { + const weights = extractWeightEntry(`${prefix}/weights`, 2); + const bias = extractWeightEntry(`${prefix}/bias`, 1); + return {weights, bias}; + } + const params = { + fc: { + age: extractFcParams("fc/age"), + gender: extractFcParams("fc/gender") + } + }; + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params, paramMappings}; + } + exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; + }); + + // build/ageGenderNet/types.js + var require_types4 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.Gender = void 0; + var Gender; + (function(Gender2) { + Gender2["FEMALE"] = "female"; + Gender2["MALE"] = "male"; + })(Gender = exports.Gender || (exports.Gender = {})); + }); + + // build/ageGenderNet/AgeGenderNet.js + var require_AgeGenderNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.AgeGenderNet = void 0; + const tf = require_dist(); + const fullyConnectedLayer_1 = require_fullyConnectedLayer(); + const util_1 = require_util(); + const TinyXception_1 = require_TinyXception(); + const extractParams_1 = require_extractParams4(); + const extractParamsFromWeigthMap_1 = require_extractParamsFromWeigthMap4(); + const types_1 = require_types4(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const dom_1 = require_dom(); + class AgeGenderNet extends NeuralNetwork_1.NeuralNetwork { + constructor(faceFeatureExtractor = new TinyXception_1.TinyXception(2)) { + super("AgeGenderNet"); + this._faceFeatureExtractor = faceFeatureExtractor; + } + get faceFeatureExtractor() { + return this._faceFeatureExtractor; + } + runNet(input) { + const {params} = this; + if (!params) { + throw new Error(`${this._name} - load model before inference`); + } + return tf.tidy(() => { + const bottleneckFeatures = input instanceof dom_1.NetInput ? this.faceFeatureExtractor.forwardInput(input) : input; + const pooled = tf.avgPool(bottleneckFeatures, [7, 7], [2, 2], "valid").as2D(bottleneckFeatures.shape[0], -1); + const age = fullyConnectedLayer_1.fullyConnectedLayer(pooled, params.fc.age).as1D(); + const gender = fullyConnectedLayer_1.fullyConnectedLayer(pooled, params.fc.gender); + return {age, gender}; + }); + } + forwardInput(input) { + return tf.tidy(() => { + const {age, gender} = this.runNet(input); + return {age, gender: tf.softmax(gender)}; + }); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + async predictAgeAndGender(input) { + const netInput = await dom_1.toNetInput(input); + const out = await this.forwardInput(netInput); + const ages = tf.unstack(out.age); + const genders = tf.unstack(out.gender); + const ageAndGenderTensors = ages.map((ageTensor, i) => ({ + ageTensor, + genderTensor: genders[i] + })); + const predictionsByBatch = await Promise.all(ageAndGenderTensors.map(async ({ageTensor, genderTensor}) => { + const age = (await ageTensor.data())[0]; + const probMale = (await genderTensor.data())[0]; + const isMale = probMale > 0.5; + const gender = isMale ? types_1.Gender.MALE : types_1.Gender.FEMALE; + const genderProbability = isMale ? probMale : 1 - probMale; + ageTensor.dispose(); + genderTensor.dispose(); + return {age, gender, genderProbability}; + })); + out.age.dispose(); + out.gender.dispose(); + return netInput.isBatchInput ? predictionsByBatch : predictionsByBatch[0]; + } + getDefaultModelName() { + return "age_gender_model"; + } + dispose(throwOnRedispose = true) { + this.faceFeatureExtractor.dispose(throwOnRedispose); + super.dispose(throwOnRedispose); + } + loadClassifierParams(weights) { + const {params, paramMappings} = this.extractClassifierParams(weights); + this._params = params; + this._paramMappings = paramMappings; + } + extractClassifierParams(weights) { + return extractParams_1.extractParams(weights); + } + extractParamsFromWeigthMap(weightMap) { + const {featureExtractorMap, classifierMap} = util_1.seperateWeightMaps(weightMap); + this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap); + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(classifierMap); + } + extractParams(weights) { + const classifierWeightSize = 512 * 1 + 1 + (512 * 2 + 2); + const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize); + const classifierWeights = weights.slice(weights.length - classifierWeightSize); + this.faceFeatureExtractor.extractWeights(featureExtractorWeights); + return this.extractClassifierParams(classifierWeights); + } + } + exports.AgeGenderNet = AgeGenderNet; + }); + + // build/ageGenderNet/index.js + var require_ageGenderNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_AgeGenderNet(), exports); + tslib_1.__exportStar(require_types4(), exports); + }); + + // build/faceLandmarkNet/FaceLandmark68NetBase.js + var require_FaceLandmark68NetBase = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmark68NetBase = void 0; + const tf = require_dist(); + const classes_1 = require_classes(); + const FaceLandmarks68_1 = require_FaceLandmarks68(); + const dom_1 = require_dom(); + const FaceProcessor_1 = require_FaceProcessor(); + const utils_1 = require_utils(); + class FaceLandmark68NetBase extends FaceProcessor_1.FaceProcessor { + postProcess(output, inputSize, originalDimensions) { + const inputDimensions = originalDimensions.map(({width, height}) => { + const scale = inputSize / Math.max(height, width); + return { + width: width * scale, + height: height * scale + }; + }); + const batchSize = inputDimensions.length; + return tf.tidy(() => { + const createInterleavedTensor = (fillX, fillY) => tf.stack([ + tf.fill([68], fillX), + tf.fill([68], fillY) + ], 1).as2D(1, 136).as1D(); + const getPadding = (batchIdx, cond) => { + const {width, height} = inputDimensions[batchIdx]; + return cond(width, height) ? Math.abs(width - height) / 2 : 0; + }; + const getPaddingX = (batchIdx) => getPadding(batchIdx, (w, h) => w < h); + const getPaddingY = (batchIdx) => getPadding(batchIdx, (w, h) => h < w); + const landmarkTensors = output.mul(tf.fill([batchSize, 136], inputSize)).sub(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(getPaddingX(batchIdx), getPaddingY(batchIdx))))).div(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(inputDimensions[batchIdx].width, inputDimensions[batchIdx].height)))); + return landmarkTensors; + }); + } + forwardInput(input) { + return tf.tidy(() => { + const out = this.runNet(input); + return this.postProcess(out, input.inputSize, input.inputDimensions.map(([height, width]) => ({height, width}))); + }); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + async detectLandmarks(input) { + const netInput = await dom_1.toNetInput(input); + const landmarkTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput))); + const landmarksForBatch = await Promise.all(landmarkTensors.map(async (landmarkTensor, batchIdx) => { + const landmarksArray = Array.from(await landmarkTensor.data()); + const xCoords = landmarksArray.filter((_, i) => utils_1.isEven(i)); + const yCoords = landmarksArray.filter((_, i) => !utils_1.isEven(i)); + return new FaceLandmarks68_1.FaceLandmarks68(Array(68).fill(0).map((_, i) => new classes_1.Point(xCoords[i], yCoords[i])), { + height: netInput.getInputHeight(batchIdx), + width: netInput.getInputWidth(batchIdx) + }); + })); + landmarkTensors.forEach((t) => t.dispose()); + return netInput.isBatchInput ? landmarksForBatch : landmarksForBatch[0]; + } + getClassifierChannelsOut() { + return 136; + } + } + exports.FaceLandmark68NetBase = FaceLandmark68NetBase; + }); + + // build/faceLandmarkNet/FaceLandmark68Net.js + var require_FaceLandmark68Net = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmark68Net = void 0; + const FaceFeatureExtractor_1 = require_FaceFeatureExtractor(); + const FaceLandmark68NetBase_1 = require_FaceLandmark68NetBase(); + class FaceLandmark68Net extends FaceLandmark68NetBase_1.FaceLandmark68NetBase { + constructor(faceFeatureExtractor = new FaceFeatureExtractor_1.FaceFeatureExtractor()) { + super("FaceLandmark68Net", faceFeatureExtractor); + } + getDefaultModelName() { + return "face_landmark_68_model"; + } + getClassifierChannelsIn() { + return 256; + } + } + exports.FaceLandmark68Net = FaceLandmark68Net; + }); + + // build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js + var require_extractParamsFromWeigthMapTiny = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMapTiny = void 0; + const common_1 = require_common(); + const loadParamsFactory_1 = require_loadParamsFactory(); + function extractParamsFromWeigthMapTiny(weightMap) { + const paramMappings = []; + const {extractDenseBlock3Params} = loadParamsFactory_1.loadParamsFactory(weightMap, paramMappings); + const params = { + dense0: extractDenseBlock3Params("dense0", true), + dense1: extractDenseBlock3Params("dense1"), + dense2: extractDenseBlock3Params("dense2") + }; + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params, paramMappings}; + } + exports.extractParamsFromWeigthMapTiny = extractParamsFromWeigthMapTiny; + }); + + // build/faceFeatureExtractor/extractParamsTiny.js + var require_extractParamsTiny = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsTiny = void 0; + const common_1 = require_common(); + const extractorsFactory_1 = require_extractorsFactory(); + function extractParamsTiny(weights) { + const paramMappings = []; + const {extractWeights, getRemainingWeights} = common_1.extractWeightsFactory(weights); + const {extractDenseBlock3Params} = extractorsFactory_1.extractorsFactory(extractWeights, paramMappings); + const dense0 = extractDenseBlock3Params(3, 32, "dense0", true); + const dense1 = extractDenseBlock3Params(32, 64, "dense1"); + const dense2 = extractDenseBlock3Params(64, 128, "dense2"); + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + return { + paramMappings, + params: {dense0, dense1, dense2} + }; + } + exports.extractParamsTiny = extractParamsTiny; + }); + + // build/faceFeatureExtractor/TinyFaceFeatureExtractor.js + var require_TinyFaceFeatureExtractor = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyFaceFeatureExtractor = void 0; + const tf = require_dist(); + const dom_1 = require_dom(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const ops_1 = require_ops(); + const denseBlock_1 = require_denseBlock(); + const extractParamsFromWeigthMapTiny_1 = require_extractParamsFromWeigthMapTiny(); + const extractParamsTiny_1 = require_extractParamsTiny(); + class TinyFaceFeatureExtractor extends NeuralNetwork_1.NeuralNetwork { + constructor() { + super("TinyFaceFeatureExtractor"); + } + forwardInput(input) { + const {params} = this; + if (!params) { + throw new Error("TinyFaceFeatureExtractor - load model before inference"); + } + return tf.tidy(() => { + const batchTensor = input.toBatchTensor(112, true); + const meanRgb = [122.782, 117.001, 104.298]; + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(255)); + let out = denseBlock_1.denseBlock3(normalized, params.dense0, true); + out = denseBlock_1.denseBlock3(out, params.dense1); + out = denseBlock_1.denseBlock3(out, params.dense2); + out = tf.avgPool(out, [14, 14], [2, 2], "valid"); + return out; + }); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + getDefaultModelName() { + return "face_feature_extractor_tiny_model"; + } + extractParamsFromWeigthMap(weightMap) { + return extractParamsFromWeigthMapTiny_1.extractParamsFromWeigthMapTiny(weightMap); + } + extractParams(weights) { + return extractParamsTiny_1.extractParamsTiny(weights); + } + } + exports.TinyFaceFeatureExtractor = TinyFaceFeatureExtractor; + }); + + // build/faceLandmarkNet/FaceLandmark68TinyNet.js + var require_FaceLandmark68TinyNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmark68TinyNet = void 0; + const TinyFaceFeatureExtractor_1 = require_TinyFaceFeatureExtractor(); + const FaceLandmark68NetBase_1 = require_FaceLandmark68NetBase(); + class FaceLandmark68TinyNet extends FaceLandmark68NetBase_1.FaceLandmark68NetBase { + constructor(faceFeatureExtractor = new TinyFaceFeatureExtractor_1.TinyFaceFeatureExtractor()) { + super("FaceLandmark68TinyNet", faceFeatureExtractor); + } + getDefaultModelName() { + return "face_landmark_68_tiny_model"; + } + getClassifierChannelsIn() { + return 128; + } + } + exports.FaceLandmark68TinyNet = FaceLandmark68TinyNet; + }); + + // build/faceLandmarkNet/index.js + var require_faceLandmarkNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceLandmarkNet = void 0; + const tslib_1 = require_tslib_es6(); + const FaceLandmark68Net_1 = require_FaceLandmark68Net(); + tslib_1.__exportStar(require_FaceLandmark68Net(), exports); + tslib_1.__exportStar(require_FaceLandmark68TinyNet(), exports); + class FaceLandmarkNet extends FaceLandmark68Net_1.FaceLandmark68Net { + } + exports.FaceLandmarkNet = FaceLandmarkNet; + }); + + // build/faceRecognitionNet/scaleLayer.js + var require_scaleLayer = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.scale = void 0; + const tf = require_dist(); + function scale(x, params) { + return tf.add(tf.mul(x, params.weights), params.biases); + } + exports.scale = scale; + }); + + // build/faceRecognitionNet/convLayer.js + var require_convLayer2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.convDown = exports.convNoRelu = exports.conv = void 0; + const tf = require_dist(); + const scaleLayer_1 = require_scaleLayer(); + function convLayer(x, params, strides, withRelu, padding = "same") { + const {filters, bias} = params.conv; + let out = tf.conv2d(x, filters, strides, padding); + out = tf.add(out, bias); + out = scaleLayer_1.scale(out, params.scale); + return withRelu ? tf.relu(out) : out; + } + function conv(x, params) { + return convLayer(x, params, [1, 1], true); + } + exports.conv = conv; + function convNoRelu(x, params) { + return convLayer(x, params, [1, 1], false); + } + exports.convNoRelu = convNoRelu; + function convDown(x, params) { + return convLayer(x, params, [2, 2], true, "valid"); + } + exports.convDown = convDown; + }); + + // build/faceRecognitionNet/extractParams.js + var require_extractParams5 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParams = void 0; + const tf = require_dist(); + const common_1 = require_common(); + const utils_1 = require_utils(); + function extractorsFactory(extractWeights, paramMappings) { + function extractFilterValues(numFilterValues, numFilters, filterSize) { + const weights = extractWeights(numFilterValues); + const depth = weights.length / (numFilters * filterSize * filterSize); + if (utils_1.isFloat(depth)) { + throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`); + } + return tf.tidy(() => tf.transpose(tf.tensor4d(weights, [numFilters, depth, filterSize, filterSize]), [2, 3, 1, 0])); + } + function extractConvParams(numFilterValues, numFilters, filterSize, mappedPrefix) { + const filters = extractFilterValues(numFilterValues, numFilters, filterSize); + const bias = tf.tensor1d(extractWeights(numFilters)); + paramMappings.push({paramPath: `${mappedPrefix}/filters`}, {paramPath: `${mappedPrefix}/bias`}); + return {filters, bias}; + } + function extractScaleLayerParams(numWeights, mappedPrefix) { + const weights = tf.tensor1d(extractWeights(numWeights)); + const biases = tf.tensor1d(extractWeights(numWeights)); + paramMappings.push({paramPath: `${mappedPrefix}/weights`}, {paramPath: `${mappedPrefix}/biases`}); + return { + weights, + biases + }; + } + function extractConvLayerParams(numFilterValues, numFilters, filterSize, mappedPrefix) { + const conv = extractConvParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv`); + const scale = extractScaleLayerParams(numFilters, `${mappedPrefix}/scale`); + return {conv, scale}; + } + function extractResidualLayerParams(numFilterValues, numFilters, filterSize, mappedPrefix, isDown = false) { + const conv1 = extractConvLayerParams((isDown ? 0.5 : 1) * numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv1`); + const conv2 = extractConvLayerParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv2`); + return {conv1, conv2}; + } + return { + extractConvLayerParams, + extractResidualLayerParams + }; + } + function extractParams(weights) { + const {extractWeights, getRemainingWeights} = common_1.extractWeightsFactory(weights); + const paramMappings = []; + const {extractConvLayerParams, extractResidualLayerParams} = extractorsFactory(extractWeights, paramMappings); + const conv32_down = extractConvLayerParams(4704, 32, 7, "conv32_down"); + const conv32_1 = extractResidualLayerParams(9216, 32, 3, "conv32_1"); + const conv32_2 = extractResidualLayerParams(9216, 32, 3, "conv32_2"); + const conv32_3 = extractResidualLayerParams(9216, 32, 3, "conv32_3"); + const conv64_down = extractResidualLayerParams(36864, 64, 3, "conv64_down", true); + const conv64_1 = extractResidualLayerParams(36864, 64, 3, "conv64_1"); + const conv64_2 = extractResidualLayerParams(36864, 64, 3, "conv64_2"); + const conv64_3 = extractResidualLayerParams(36864, 64, 3, "conv64_3"); + const conv128_down = extractResidualLayerParams(147456, 128, 3, "conv128_down", true); + const conv128_1 = extractResidualLayerParams(147456, 128, 3, "conv128_1"); + const conv128_2 = extractResidualLayerParams(147456, 128, 3, "conv128_2"); + const conv256_down = extractResidualLayerParams(589824, 256, 3, "conv256_down", true); + const conv256_1 = extractResidualLayerParams(589824, 256, 3, "conv256_1"); + const conv256_2 = extractResidualLayerParams(589824, 256, 3, "conv256_2"); + const conv256_down_out = extractResidualLayerParams(589824, 256, 3, "conv256_down_out"); + const fc = tf.tidy(() => tf.transpose(tf.tensor2d(extractWeights(256 * 128), [128, 256]), [1, 0])); + paramMappings.push({paramPath: `fc`}); + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + const params = { + conv32_down, + conv32_1, + conv32_2, + conv32_3, + conv64_down, + conv64_1, + conv64_2, + conv64_3, + conv128_down, + conv128_1, + conv128_2, + conv256_down, + conv256_1, + conv256_2, + conv256_down_out, + fc + }; + return {params, paramMappings}; + } + exports.extractParams = extractParams; + }); + + // build/faceRecognitionNet/extractParamsFromWeigthMap.js + var require_extractParamsFromWeigthMap5 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMap = void 0; + const common_1 = require_common(); + const utils_1 = require_utils(); + function extractorsFactory(weightMap, paramMappings) { + const extractWeightEntry = common_1.extractWeightEntryFactory(weightMap, paramMappings); + function extractScaleLayerParams(prefix) { + const weights = extractWeightEntry(`${prefix}/scale/weights`, 1); + const biases = extractWeightEntry(`${prefix}/scale/biases`, 1); + return {weights, biases}; + } + function extractConvLayerParams(prefix) { + const filters = extractWeightEntry(`${prefix}/conv/filters`, 4); + const bias = extractWeightEntry(`${prefix}/conv/bias`, 1); + const scale = extractScaleLayerParams(prefix); + return {conv: {filters, bias}, scale}; + } + function extractResidualLayerParams(prefix) { + return { + conv1: extractConvLayerParams(`${prefix}/conv1`), + conv2: extractConvLayerParams(`${prefix}/conv2`) + }; + } + return { + extractConvLayerParams, + extractResidualLayerParams + }; + } + function extractParamsFromWeigthMap(weightMap) { + const paramMappings = []; + const {extractConvLayerParams, extractResidualLayerParams} = extractorsFactory(weightMap, paramMappings); + const conv32_down = extractConvLayerParams("conv32_down"); + const conv32_1 = extractResidualLayerParams("conv32_1"); + const conv32_2 = extractResidualLayerParams("conv32_2"); + const conv32_3 = extractResidualLayerParams("conv32_3"); + const conv64_down = extractResidualLayerParams("conv64_down"); + const conv64_1 = extractResidualLayerParams("conv64_1"); + const conv64_2 = extractResidualLayerParams("conv64_2"); + const conv64_3 = extractResidualLayerParams("conv64_3"); + const conv128_down = extractResidualLayerParams("conv128_down"); + const conv128_1 = extractResidualLayerParams("conv128_1"); + const conv128_2 = extractResidualLayerParams("conv128_2"); + const conv256_down = extractResidualLayerParams("conv256_down"); + const conv256_1 = extractResidualLayerParams("conv256_1"); + const conv256_2 = extractResidualLayerParams("conv256_2"); + const conv256_down_out = extractResidualLayerParams("conv256_down_out"); + const fc = weightMap["fc"]; + paramMappings.push({originalPath: "fc", paramPath: "fc"}); + if (!utils_1.isTensor2D(fc)) { + throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`); + } + const params = { + conv32_down, + conv32_1, + conv32_2, + conv32_3, + conv64_down, + conv64_1, + conv64_2, + conv64_3, + conv128_down, + conv128_1, + conv128_2, + conv256_down, + conv256_1, + conv256_2, + conv256_down_out, + fc + }; + common_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params, paramMappings}; + } + exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; + }); + + // build/faceRecognitionNet/residualLayer.js + var require_residualLayer = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.residualDown = exports.residual = void 0; + const tf = require_dist(); + const convLayer_1 = require_convLayer2(); + function residual(x, params) { + let out = convLayer_1.conv(x, params.conv1); + out = convLayer_1.convNoRelu(out, params.conv2); + out = tf.add(out, x); + out = tf.relu(out); + return out; + } + exports.residual = residual; + function residualDown(x, params) { + let out = convLayer_1.convDown(x, params.conv1); + out = convLayer_1.convNoRelu(out, params.conv2); + let pooled = tf.avgPool(x, 2, 2, "valid"); + const zeros9 = tf.zeros(pooled.shape); + const isPad = pooled.shape[3] !== out.shape[3]; + const isAdjustShape = pooled.shape[1] !== out.shape[1] || pooled.shape[2] !== out.shape[2]; + if (isAdjustShape) { + const padShapeX = [...out.shape]; + padShapeX[1] = 1; + const zerosW = tf.zeros(padShapeX); + out = tf.concat([out, zerosW], 1); + const padShapeY = [...out.shape]; + padShapeY[2] = 1; + const zerosH = tf.zeros(padShapeY); + out = tf.concat([out, zerosH], 2); + } + pooled = isPad ? tf.concat([pooled, zeros9], 3) : pooled; + out = tf.add(pooled, out); + out = tf.relu(out); + return out; + } + exports.residualDown = residualDown; + }); + + // build/faceRecognitionNet/FaceRecognitionNet.js + var require_FaceRecognitionNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceRecognitionNet = void 0; + const tf = require_dist(); + const dom_1 = require_dom(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const ops_1 = require_ops(); + const convLayer_1 = require_convLayer2(); + const extractParams_1 = require_extractParams5(); + const extractParamsFromWeigthMap_1 = require_extractParamsFromWeigthMap5(); + const residualLayer_1 = require_residualLayer(); + class FaceRecognitionNet extends NeuralNetwork_1.NeuralNetwork { + constructor() { + super("FaceRecognitionNet"); + } + forwardInput(input) { + const {params} = this; + if (!params) { + throw new Error("FaceRecognitionNet - load model before inference"); + } + return tf.tidy(() => { + const batchTensor = input.toBatchTensor(150, true).toFloat(); + const meanRgb = [122.782, 117.001, 104.298]; + const normalized = ops_1.normalize(batchTensor, meanRgb).div(tf.scalar(256)); + let out = convLayer_1.convDown(normalized, params.conv32_down); + out = tf.maxPool(out, 3, 2, "valid"); + out = residualLayer_1.residual(out, params.conv32_1); + out = residualLayer_1.residual(out, params.conv32_2); + out = residualLayer_1.residual(out, params.conv32_3); + out = residualLayer_1.residualDown(out, params.conv64_down); + out = residualLayer_1.residual(out, params.conv64_1); + out = residualLayer_1.residual(out, params.conv64_2); + out = residualLayer_1.residual(out, params.conv64_3); + out = residualLayer_1.residualDown(out, params.conv128_down); + out = residualLayer_1.residual(out, params.conv128_1); + out = residualLayer_1.residual(out, params.conv128_2); + out = residualLayer_1.residualDown(out, params.conv256_down); + out = residualLayer_1.residual(out, params.conv256_1); + out = residualLayer_1.residual(out, params.conv256_2); + out = residualLayer_1.residualDown(out, params.conv256_down_out); + const globalAvg = out.mean([1, 2]); + const fullyConnected = tf.matMul(globalAvg, params.fc); + return fullyConnected; + }); + } + async forward(input) { + return this.forwardInput(await dom_1.toNetInput(input)); + } + async computeFaceDescriptor(input) { + const netInput = await dom_1.toNetInput(input); + const faceDescriptorTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput))); + const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map((t) => t.data())); + faceDescriptorTensors.forEach((t) => t.dispose()); + return netInput.isBatchInput ? faceDescriptorsForBatch : faceDescriptorsForBatch[0]; + } + getDefaultModelName() { + return "face_recognition_model"; + } + extractParamsFromWeigthMap(weightMap) { + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap); + } + extractParams(weights) { + return extractParams_1.extractParams(weights); + } + } + exports.FaceRecognitionNet = FaceRecognitionNet; + }); + + // build/faceRecognitionNet/index.js + var require_faceRecognitionNet = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createFaceRecognitionNet = void 0; + const tslib_1 = require_tslib_es6(); + const FaceRecognitionNet_1 = require_FaceRecognitionNet(); + tslib_1.__exportStar(require_FaceRecognitionNet(), exports); + function createFaceRecognitionNet(weights) { + const net = new FaceRecognitionNet_1.FaceRecognitionNet(); + net.extractWeights(weights); + return net; + } + exports.createFaceRecognitionNet = createFaceRecognitionNet; + }); + + // build/factories/WithFaceDescriptor.js + var require_WithFaceDescriptor = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extendWithFaceDescriptor = void 0; + function extendWithFaceDescriptor(sourceObj, descriptor) { + const extension = {descriptor}; + return Object.assign({}, sourceObj, extension); + } + exports.extendWithFaceDescriptor = extendWithFaceDescriptor; + }); + + // build/factories/WithAge.js + var require_WithAge = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extendWithAge = exports.isWithAge = void 0; + function isWithAge(obj) { + return typeof obj["age"] === "number"; + } + exports.isWithAge = isWithAge; + function extendWithAge(sourceObj, age) { + const extension = {age}; + return Object.assign({}, sourceObj, extension); + } + exports.extendWithAge = extendWithAge; + }); + + // build/factories/WithGender.js + var require_WithGender = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extendWithGender = exports.isWithGender = void 0; + const types_1 = require_types4(); + const utils_1 = require_utils(); + function isWithGender(obj) { + return (obj["gender"] === types_1.Gender.MALE || obj["gender"] === types_1.Gender.FEMALE) && utils_1.isValidProbablitiy(obj["genderProbability"]); + } + exports.isWithGender = isWithGender; + function extendWithGender(sourceObj, gender, genderProbability) { + const extension = {gender, genderProbability}; + return Object.assign({}, sourceObj, extension); + } + exports.extendWithGender = extendWithGender; + }); + + // build/factories/index.js + var require_factories = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_WithFaceDescriptor(), exports); + tslib_1.__exportStar(require_WithFaceDetection(), exports); + tslib_1.__exportStar(require_WithFaceExpressions(), exports); + tslib_1.__exportStar(require_WithFaceLandmarks(), exports); + tslib_1.__exportStar(require_WithAge(), exports); + tslib_1.__exportStar(require_WithGender(), exports); + }); + + // build/globalApi/ComposableTask.js + var require_ComposableTask = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.ComposableTask = void 0; + class ComposableTask { + async then(onfulfilled) { + return onfulfilled(await this.run()); + } + async run() { + throw new Error("ComposableTask - run is not implemented"); + } + } + exports.ComposableTask = ComposableTask; + }); + + // build/globalApi/extractFacesAndComputeResults.js + var require_extractFacesAndComputeResults = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractSingleFaceAndComputeResult = exports.extractAllFacesAndComputeResults = void 0; + const tf = require_dist(); + const dom_1 = require_dom(); + const WithFaceLandmarks_1 = require_WithFaceLandmarks(); + async function extractAllFacesAndComputeResults(parentResults, input, computeResults, extractedFaces, getRectForAlignment = ({alignedRect}) => alignedRect) { + const faceBoxes = parentResults.map((parentResult) => WithFaceLandmarks_1.isWithFaceLandmarks(parentResult) ? getRectForAlignment(parentResult) : parentResult.detection); + const faces = extractedFaces || (input instanceof tf.Tensor ? await dom_1.extractFaceTensors(input, faceBoxes) : await dom_1.extractFaces(input, faceBoxes)); + const results = await computeResults(faces); + faces.forEach((f) => f instanceof tf.Tensor && f.dispose()); + return results; + } + exports.extractAllFacesAndComputeResults = extractAllFacesAndComputeResults; + async function extractSingleFaceAndComputeResult(parentResult, input, computeResult, extractedFaces, getRectForAlignment) { + return extractAllFacesAndComputeResults([parentResult], input, async (faces) => computeResult(faces[0]), extractedFaces, getRectForAlignment); + } + exports.extractSingleFaceAndComputeResult = extractSingleFaceAndComputeResult; + }); + + // build/tinyYolov2/config.js + var require_config = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.validateConfig = void 0; + const isNumber2 = (arg) => typeof arg === "number"; + function validateConfig(config) { + if (!config) { + throw new Error(`invalid config: ${config}`); + } + if (typeof config.withSeparableConvs !== "boolean") { + throw new Error(`config.withSeparableConvs has to be a boolean, have: ${config.withSeparableConvs}`); + } + if (!isNumber2(config.iouThreshold) || config.iouThreshold < 0 || config.iouThreshold > 1) { + throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${config.iouThreshold}`); + } + if (!Array.isArray(config.classes) || !config.classes.length || !config.classes.every((c) => typeof c === "string")) { + throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(config.classes)}`); + } + if (!Array.isArray(config.anchors) || !config.anchors.length || !config.anchors.map((a) => a || {}).every((a) => isNumber2(a.x) && isNumber2(a.y))) { + throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(config.anchors)}`); + } + if (config.meanRgb && (!Array.isArray(config.meanRgb) || config.meanRgb.length !== 3 || !config.meanRgb.every(isNumber2))) { + throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config.meanRgb)}`); + } + } + exports.validateConfig = validateConfig; + }); + + // build/tinyYolov2/leaky.js + var require_leaky = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.leaky = void 0; + const tf = require_dist(); + function leaky(x) { + return tf.tidy(() => { + const min5 = tf.mul(x, tf.scalar(0.10000000149011612)); + return tf.add(tf.relu(tf.sub(x, min5)), min5); + }); + } + exports.leaky = leaky; + }); + + // build/tinyYolov2/convWithBatchNorm.js + var require_convWithBatchNorm = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.convWithBatchNorm = void 0; + const tf = require_dist(); + const leaky_1 = require_leaky(); + function convWithBatchNorm(x, params) { + return tf.tidy(() => { + let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]); + out = tf.conv2d(out, params.conv.filters, [1, 1], "valid"); + out = tf.sub(out, params.bn.sub); + out = tf.mul(out, params.bn.truediv); + out = tf.add(out, params.conv.bias); + return leaky_1.leaky(out); + }); + } + exports.convWithBatchNorm = convWithBatchNorm; + }); + + // build/tinyYolov2/depthwiseSeparableConv.js + var require_depthwiseSeparableConv2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.depthwiseSeparableConv = void 0; + const tf = require_dist(); + const leaky_1 = require_leaky(); + function depthwiseSeparableConv(x, params) { + return tf.tidy(() => { + let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]); + out = tf.separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], "valid"); + out = tf.add(out, params.bias); + return leaky_1.leaky(out); + }); + } + exports.depthwiseSeparableConv = depthwiseSeparableConv; + }); + + // build/tinyYolov2/extractParams.js + var require_extractParams6 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParams = void 0; + const tf = require_dist(); + const common_1 = require_common(); + const extractSeparableConvParamsFactory_1 = require_extractSeparableConvParamsFactory(); + const extractWeightsFactory_1 = require_extractWeightsFactory(); + function extractorsFactory(extractWeights, paramMappings) { + const extractConvParams = common_1.extractConvParamsFactory(extractWeights, paramMappings); + function extractBatchNormParams(size, mappedPrefix) { + const sub32 = tf.tensor1d(extractWeights(size)); + const truediv = tf.tensor1d(extractWeights(size)); + paramMappings.push({paramPath: `${mappedPrefix}/sub`}, {paramPath: `${mappedPrefix}/truediv`}); + return {sub: sub32, truediv}; + } + function extractConvWithBatchNormParams(channelsIn, channelsOut, mappedPrefix) { + const conv = extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv`); + const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`); + return {conv, bn}; + } + const extractSeparableConvParams = extractSeparableConvParamsFactory_1.extractSeparableConvParamsFactory(extractWeights, paramMappings); + return { + extractConvParams, + extractConvWithBatchNormParams, + extractSeparableConvParams + }; + } + function extractParams(weights, config, boxEncodingSize, filterSizes) { + const {extractWeights, getRemainingWeights} = extractWeightsFactory_1.extractWeightsFactory(weights); + const paramMappings = []; + const {extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams} = extractorsFactory(extractWeights, paramMappings); + let params; + if (config.withSeparableConvs) { + const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes; + const conv0 = config.isFirstLayerConv2d ? extractConvParams(s0, s1, 3, "conv0") : extractSeparableConvParams(s0, s1, "conv0"); + const conv1 = extractSeparableConvParams(s1, s2, "conv1"); + const conv2 = extractSeparableConvParams(s2, s3, "conv2"); + const conv3 = extractSeparableConvParams(s3, s4, "conv3"); + const conv4 = extractSeparableConvParams(s4, s5, "conv4"); + const conv5 = extractSeparableConvParams(s5, s6, "conv5"); + const conv6 = s7 ? extractSeparableConvParams(s6, s7, "conv6") : void 0; + const conv7 = s8 ? extractSeparableConvParams(s7, s8, "conv7") : void 0; + const conv8 = extractConvParams(s8 || s7 || s6, 5 * boxEncodingSize, 1, "conv8"); + params = {conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8}; + } else { + const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes; + const conv0 = extractConvWithBatchNormParams(s0, s1, "conv0"); + const conv1 = extractConvWithBatchNormParams(s1, s2, "conv1"); + const conv2 = extractConvWithBatchNormParams(s2, s3, "conv2"); + const conv3 = extractConvWithBatchNormParams(s3, s4, "conv3"); + const conv4 = extractConvWithBatchNormParams(s4, s5, "conv4"); + const conv5 = extractConvWithBatchNormParams(s5, s6, "conv5"); + const conv6 = extractConvWithBatchNormParams(s6, s7, "conv6"); + const conv7 = extractConvWithBatchNormParams(s7, s8, "conv7"); + const conv8 = extractConvParams(s8, 5 * boxEncodingSize, 1, "conv8"); + params = {conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8}; + } + if (getRemainingWeights().length !== 0) { + throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); + } + return {params, paramMappings}; + } + exports.extractParams = extractParams; + }); + + // build/tinyYolov2/extractParamsFromWeigthMap.js + var require_extractParamsFromWeigthMap6 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.extractParamsFromWeigthMap = void 0; + const disposeUnusedWeightTensors_1 = require_disposeUnusedWeightTensors(); + const extractSeparableConvParamsFactory_1 = require_extractSeparableConvParamsFactory(); + const extractWeightEntryFactory_1 = require_extractWeightEntryFactory(); + function extractorsFactory(weightMap, paramMappings) { + const extractWeightEntry = extractWeightEntryFactory_1.extractWeightEntryFactory(weightMap, paramMappings); + function extractBatchNormParams(prefix) { + const sub32 = extractWeightEntry(`${prefix}/sub`, 1); + const truediv = extractWeightEntry(`${prefix}/truediv`, 1); + return {sub: sub32, truediv}; + } + function extractConvParams(prefix) { + const filters = extractWeightEntry(`${prefix}/filters`, 4); + const bias = extractWeightEntry(`${prefix}/bias`, 1); + return {filters, bias}; + } + function extractConvWithBatchNormParams(prefix) { + const conv = extractConvParams(`${prefix}/conv`); + const bn = extractBatchNormParams(`${prefix}/bn`); + return {conv, bn}; + } + const extractSeparableConvParams = extractSeparableConvParamsFactory_1.loadSeparableConvParamsFactory(extractWeightEntry); + return { + extractConvParams, + extractConvWithBatchNormParams, + extractSeparableConvParams + }; + } + function extractParamsFromWeigthMap(weightMap, config) { + const paramMappings = []; + const {extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams} = extractorsFactory(weightMap, paramMappings); + let params; + if (config.withSeparableConvs) { + const numFilters = config.filterSizes && config.filterSizes.length || 9; + params = { + conv0: config.isFirstLayerConv2d ? extractConvParams("conv0") : extractSeparableConvParams("conv0"), + conv1: extractSeparableConvParams("conv1"), + conv2: extractSeparableConvParams("conv2"), + conv3: extractSeparableConvParams("conv3"), + conv4: extractSeparableConvParams("conv4"), + conv5: extractSeparableConvParams("conv5"), + conv6: numFilters > 7 ? extractSeparableConvParams("conv6") : void 0, + conv7: numFilters > 8 ? extractSeparableConvParams("conv7") : void 0, + conv8: extractConvParams("conv8") + }; + } else { + params = { + conv0: extractConvWithBatchNormParams("conv0"), + conv1: extractConvWithBatchNormParams("conv1"), + conv2: extractConvWithBatchNormParams("conv2"), + conv3: extractConvWithBatchNormParams("conv3"), + conv4: extractConvWithBatchNormParams("conv4"), + conv5: extractConvWithBatchNormParams("conv5"), + conv6: extractConvWithBatchNormParams("conv6"), + conv7: extractConvWithBatchNormParams("conv7"), + conv8: extractConvParams("conv8") + }; + } + disposeUnusedWeightTensors_1.disposeUnusedWeightTensors(weightMap, paramMappings); + return {params, paramMappings}; + } + exports.extractParamsFromWeigthMap = extractParamsFromWeigthMap; + }); + + // build/tinyYolov2/TinyYolov2Options.js + var require_TinyYolov2Options = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyYolov2Options = exports.TinyYolov2SizeType = void 0; + var TinyYolov2SizeType; + (function(TinyYolov2SizeType2) { + TinyYolov2SizeType2[TinyYolov2SizeType2["XS"] = 224] = "XS"; + TinyYolov2SizeType2[TinyYolov2SizeType2["SM"] = 320] = "SM"; + TinyYolov2SizeType2[TinyYolov2SizeType2["MD"] = 416] = "MD"; + TinyYolov2SizeType2[TinyYolov2SizeType2["LG"] = 608] = "LG"; + })(TinyYolov2SizeType = exports.TinyYolov2SizeType || (exports.TinyYolov2SizeType = {})); + class TinyYolov2Options { + constructor({inputSize, scoreThreshold} = {}) { + this._name = "TinyYolov2Options"; + this._inputSize = inputSize || 416; + this._scoreThreshold = scoreThreshold || 0.5; + if (typeof this._inputSize !== "number" || this._inputSize % 32 !== 0) { + throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`); + } + if (typeof this._scoreThreshold !== "number" || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) { + throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`); + } + } + get inputSize() { + return this._inputSize; + } + get scoreThreshold() { + return this._scoreThreshold; + } + } + exports.TinyYolov2Options = TinyYolov2Options; + }); + + // build/tinyYolov2/TinyYolov2Base.js + var require_TinyYolov2Base = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyYolov2Base = void 0; + const tf = require_dist(); + const BoundingBox_1 = require_BoundingBox(); + const ObjectDetection_1 = require_ObjectDetection(); + const common_1 = require_common(); + const dom_1 = require_dom(); + const NeuralNetwork_1 = require_NeuralNetwork(); + const ops_1 = require_ops(); + const nonMaxSuppression_1 = require_nonMaxSuppression(); + const normalize_1 = require_normalize(); + const config_1 = require_config(); + const convWithBatchNorm_1 = require_convWithBatchNorm(); + const depthwiseSeparableConv_1 = require_depthwiseSeparableConv2(); + const extractParams_1 = require_extractParams6(); + const extractParamsFromWeigthMap_1 = require_extractParamsFromWeigthMap6(); + const leaky_1 = require_leaky(); + const TinyYolov2Options_1 = require_TinyYolov2Options(); + class TinyYolov2Base extends NeuralNetwork_1.NeuralNetwork { + constructor(config) { + super("TinyYolov2"); + config_1.validateConfig(config); + this._config = config; + } + get config() { + return this._config; + } + get withClassScores() { + return this.config.withClassScores || this.config.classes.length > 1; + } + get boxEncodingSize() { + return 5 + (this.withClassScores ? this.config.classes.length : 0); + } + runTinyYolov2(x, params) { + let out = convWithBatchNorm_1.convWithBatchNorm(x, params.conv0); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv1); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv2); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv3); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv4); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv5); + out = tf.maxPool(out, [2, 2], [1, 1], "same"); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv6); + out = convWithBatchNorm_1.convWithBatchNorm(out, params.conv7); + return common_1.convLayer(out, params.conv8, "valid", false); + } + runMobilenet(x, params) { + let out = this.config.isFirstLayerConv2d ? leaky_1.leaky(common_1.convLayer(x, params.conv0, "valid", false)) : depthwiseSeparableConv_1.depthwiseSeparableConv(x, params.conv0); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv1); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv2); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv3); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv4); + out = tf.maxPool(out, [2, 2], [2, 2], "same"); + out = depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv5); + out = tf.maxPool(out, [2, 2], [1, 1], "same"); + out = params.conv6 ? depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv6) : out; + out = params.conv7 ? depthwiseSeparableConv_1.depthwiseSeparableConv(out, params.conv7) : out; + return common_1.convLayer(out, params.conv8, "valid", false); + } + forwardInput(input, inputSize) { + const {params} = this; + if (!params) { + throw new Error("TinyYolov2 - load model before inference"); + } + return tf.tidy(() => { + let batchTensor = input.toBatchTensor(inputSize, false).toFloat(); + batchTensor = this.config.meanRgb ? normalize_1.normalize(batchTensor, this.config.meanRgb) : batchTensor; + batchTensor = batchTensor.div(tf.scalar(256)); + return this.config.withSeparableConvs ? this.runMobilenet(batchTensor, params) : this.runTinyYolov2(batchTensor, params); + }); + } + async forward(input, inputSize) { + return await this.forwardInput(await dom_1.toNetInput(input), inputSize); + } + async detect(input, forwardParams = {}) { + const {inputSize, scoreThreshold} = new TinyYolov2Options_1.TinyYolov2Options(forwardParams); + const netInput = await dom_1.toNetInput(input); + const out = await this.forwardInput(netInput, inputSize); + const out0 = tf.tidy(() => tf.unstack(out)[0].expandDims()); + const inputDimensions = { + width: netInput.getInputWidth(0), + height: netInput.getInputHeight(0) + }; + const results = await this.extractBoxes(out0, netInput.getReshapedInputDimensions(0), scoreThreshold); + out.dispose(); + out0.dispose(); + const boxes = results.map((res) => res.box); + const scores = results.map((res) => res.score); + const classScores = results.map((res) => res.classScore); + const classNames = results.map((res) => this.config.classes[res.label]); + const indices = nonMaxSuppression_1.nonMaxSuppression(boxes.map((box) => box.rescale(inputSize)), scores, this.config.iouThreshold, true); + const detections = indices.map((idx) => new ObjectDetection_1.ObjectDetection(scores[idx], classScores[idx], classNames[idx], boxes[idx], inputDimensions)); + return detections; + } + getDefaultModelName() { + return ""; + } + extractParamsFromWeigthMap(weightMap) { + return extractParamsFromWeigthMap_1.extractParamsFromWeigthMap(weightMap, this.config); + } + extractParams(weights) { + const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES; + const numFilters = filterSizes ? filterSizes.length : void 0; + if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) { + throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`); + } + return extractParams_1.extractParams(weights, this.config, this.boxEncodingSize, filterSizes); + } + async extractBoxes(outputTensor, inputBlobDimensions, scoreThreshold) { + const {width, height} = inputBlobDimensions; + const inputSize = Math.max(width, height); + const correctionFactorX = inputSize / width; + const correctionFactorY = inputSize / height; + const numCells = outputTensor.shape[1]; + const numBoxes = this.config.anchors.length; + const [boxesTensor, scoresTensor, classScoresTensor] = tf.tidy(() => { + const reshaped = outputTensor.reshape([numCells, numCells, numBoxes, this.boxEncodingSize]); + const boxes = reshaped.slice([0, 0, 0, 0], [numCells, numCells, numBoxes, 4]); + const scores = reshaped.slice([0, 0, 0, 4], [numCells, numCells, numBoxes, 1]); + const classScores = this.withClassScores ? tf.softmax(reshaped.slice([0, 0, 0, 5], [numCells, numCells, numBoxes, this.config.classes.length]), 3) : tf.scalar(0); + return [boxes, scores, classScores]; + }); + const results = []; + const scoresData = await scoresTensor.array(); + const boxesData = await boxesTensor.array(); + for (let row = 0; row < numCells; row++) { + for (let col = 0; col < numCells; col++) { + for (let anchor = 0; anchor < numBoxes; anchor++) { + const score = ops_1.sigmoid(scoresData[row][col][anchor][0]); + if (!scoreThreshold || score > scoreThreshold) { + const ctX = (col + ops_1.sigmoid(boxesData[row][col][anchor][0])) / numCells * correctionFactorX; + const ctY = (row + ops_1.sigmoid(boxesData[row][col][anchor][1])) / numCells * correctionFactorY; + const width2 = Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x / numCells * correctionFactorX; + const height2 = Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y / numCells * correctionFactorY; + const x = ctX - width2 / 2; + const y = ctY - height2 / 2; + const pos = {row, col, anchor}; + const {classScore, label} = this.withClassScores ? await this.extractPredictedClass(classScoresTensor, pos) : {classScore: 1, label: 0}; + results.push({ + box: new BoundingBox_1.BoundingBox(x, y, x + width2, y + height2), + score, + classScore: score * classScore, + label, + ...pos + }); + } + } + } + } + boxesTensor.dispose(); + scoresTensor.dispose(); + classScoresTensor.dispose(); + return results; + } + async extractPredictedClass(classesTensor, pos) { + const {row, col, anchor} = pos; + const classesData = await classesTensor.array(); + return Array(this.config.classes.length).fill(0).map((_, i) => classesData[row][col][anchor][i]).map((classScore, label) => ({ + classScore, + label + })).reduce((max7, curr) => max7.classScore > curr.classScore ? max7 : curr); + } + } + exports.TinyYolov2Base = TinyYolov2Base; + TinyYolov2Base.DEFAULT_FILTER_SIZES = [ + 3, + 16, + 32, + 64, + 128, + 256, + 512, + 1024, + 1024 + ]; + }); + + // build/tinyFaceDetector/const.js + var require_const = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.MEAN_RGB = exports.BOX_ANCHORS = exports.IOU_THRESHOLD = void 0; + const classes_1 = require_classes(); + exports.IOU_THRESHOLD = 0.4; + exports.BOX_ANCHORS = [ + new classes_1.Point(1.603231, 2.094468), + new classes_1.Point(6.041143, 7.080126), + new classes_1.Point(2.882459, 3.518061), + new classes_1.Point(4.266906, 5.178857), + new classes_1.Point(9.041765, 10.66308) + ]; + exports.MEAN_RGB = [117.001, 114.697, 97.404]; + }); + + // build/tinyFaceDetector/TinyFaceDetector.js + var require_TinyFaceDetector = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyFaceDetector = void 0; + const classes_1 = require_classes(); + const TinyYolov2Base_1 = require_TinyYolov2Base(); + const const_1 = require_const(); + class TinyFaceDetector extends TinyYolov2Base_1.TinyYolov2Base { + constructor() { + const config = { + withSeparableConvs: true, + iouThreshold: const_1.IOU_THRESHOLD, + classes: ["face"], + anchors: const_1.BOX_ANCHORS, + meanRgb: const_1.MEAN_RGB, + isFirstLayerConv2d: true, + filterSizes: [3, 16, 32, 64, 128, 256, 512] + }; + super(config); + } + get anchors() { + return this.config.anchors; + } + async locateFaces(input, forwardParams) { + const objectDetections = await this.detect(input, forwardParams); + return objectDetections.map((det) => new classes_1.FaceDetection(det.score, det.relativeBox, {width: det.imageWidth, height: det.imageHeight})); + } + getDefaultModelName() { + return "tiny_face_detector_model"; + } + extractParamsFromWeigthMap(weightMap) { + return super.extractParamsFromWeigthMap(weightMap); + } + } + exports.TinyFaceDetector = TinyFaceDetector; + }); + + // build/tinyYolov2/const.js + var require_const2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.DEFAULT_MODEL_NAME_SEPARABLE_CONV = exports.DEFAULT_MODEL_NAME = exports.MEAN_RGB_SEPARABLE = exports.BOX_ANCHORS_SEPARABLE = exports.BOX_ANCHORS = exports.IOU_THRESHOLD = void 0; + const classes_1 = require_classes(); + exports.IOU_THRESHOLD = 0.4; + exports.BOX_ANCHORS = [ + new classes_1.Point(0.738768, 0.874946), + new classes_1.Point(2.42204, 2.65704), + new classes_1.Point(4.30971, 7.04493), + new classes_1.Point(10.246, 4.59428), + new classes_1.Point(12.6868, 11.8741) + ]; + exports.BOX_ANCHORS_SEPARABLE = [ + new classes_1.Point(1.603231, 2.094468), + new classes_1.Point(6.041143, 7.080126), + new classes_1.Point(2.882459, 3.518061), + new classes_1.Point(4.266906, 5.178857), + new classes_1.Point(9.041765, 10.66308) + ]; + exports.MEAN_RGB_SEPARABLE = [117.001, 114.697, 97.404]; + exports.DEFAULT_MODEL_NAME = "tiny_yolov2_model"; + exports.DEFAULT_MODEL_NAME_SEPARABLE_CONV = "tiny_yolov2_separable_conv_model"; + }); + + // build/tinyYolov2/TinyYolov2.js + var require_TinyYolov2 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyYolov2 = void 0; + const classes_1 = require_classes(); + const const_1 = require_const2(); + const TinyYolov2Base_1 = require_TinyYolov2Base(); + class TinyYolov2 extends TinyYolov2Base_1.TinyYolov2Base { + constructor(withSeparableConvs = true) { + const config = Object.assign({}, { + withSeparableConvs, + iouThreshold: const_1.IOU_THRESHOLD, + classes: ["face"] + }, withSeparableConvs ? { + anchors: const_1.BOX_ANCHORS_SEPARABLE, + meanRgb: const_1.MEAN_RGB_SEPARABLE + } : { + anchors: const_1.BOX_ANCHORS, + withClassScores: true + }); + super(config); + } + get withSeparableConvs() { + return this.config.withSeparableConvs; + } + get anchors() { + return this.config.anchors; + } + async locateFaces(input, forwardParams) { + const objectDetections = await this.detect(input, forwardParams); + return objectDetections.map((det) => new classes_1.FaceDetection(det.score, det.relativeBox, {width: det.imageWidth, height: det.imageHeight})); + } + getDefaultModelName() { + return this.withSeparableConvs ? const_1.DEFAULT_MODEL_NAME_SEPARABLE_CONV : const_1.DEFAULT_MODEL_NAME; + } + extractParamsFromWeigthMap(weightMap) { + return super.extractParamsFromWeigthMap(weightMap); + } + } + exports.TinyYolov2 = TinyYolov2; }); // build/tinyYolov2/types.js - var require_types3 = __commonJS(() => { + var require_types5 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); }); // build/tinyYolov2/index.js var require_tinyYolov2 = __commonJS((exports) => { - __export(exports, { - TinyYolov2: () => TinyYolov2, - TinyYolov2Options: () => TinyYolov2Options, - TinyYolov2SizeType: () => TinyYolov2SizeType, - createTinyYolov2: () => createTinyYolov2, - validateConfig: () => validateConfig - }); - __exportStar(exports, __toModule(require_types3())); + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createTinyYolov2 = exports.TinyYolov2 = void 0; + const tslib_1 = require_tslib_es6(); + const TinyYolov2_1 = require_TinyYolov2(); + Object.defineProperty(exports, "TinyYolov2", {enumerable: true, get: function() { + return TinyYolov2_1.TinyYolov2; + }}); + tslib_1.__exportStar(require_TinyYolov2Options(), exports); + tslib_1.__exportStar(require_config(), exports); + tslib_1.__exportStar(require_types5(), exports); function createTinyYolov2(weights, withSeparableConvs = true) { - const net = new TinyYolov2(withSeparableConvs); + const net = new TinyYolov2_1.TinyYolov2(withSeparableConvs); net.extractWeights(weights); return net; } + exports.createTinyYolov2 = createTinyYolov2; + }); + + // build/globalApi/nets.js + var require_nets = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.detectLandmarks = exports.locateFaces = exports.loadFaceDetectionModel = exports.loadAgeGenderModel = exports.loadFaceExpressionModel = exports.loadFaceRecognitionModel = exports.loadFaceLandmarkTinyModel = exports.loadFaceLandmarkModel = exports.loadTinyYolov2Model = exports.loadTinyFaceDetectorModel = exports.predictAgeAndGender = exports.recognizeFaceExpressions = exports.computeFaceDescriptor = exports.detectFaceLandmarksTiny = exports.detectFaceLandmarks = exports.tinyFaceDetector = exports.nets = void 0; + const AgeGenderNet_1 = require_AgeGenderNet(); + const FaceExpressionNet_1 = require_FaceExpressionNet(); + const FaceLandmark68Net_1 = require_FaceLandmark68Net(); + const FaceLandmark68TinyNet_1 = require_FaceLandmark68TinyNet(); + const FaceRecognitionNet_1 = require_FaceRecognitionNet(); + const TinyFaceDetector_1 = require_TinyFaceDetector(); + const tinyYolov2_1 = require_tinyYolov2(); + exports.nets = { + tinyFaceDetector: new TinyFaceDetector_1.TinyFaceDetector(), + tinyYolov2: new tinyYolov2_1.TinyYolov2(), + faceLandmark68Net: new FaceLandmark68Net_1.FaceLandmark68Net(), + faceLandmark68TinyNet: new FaceLandmark68TinyNet_1.FaceLandmark68TinyNet(), + faceRecognitionNet: new FaceRecognitionNet_1.FaceRecognitionNet(), + faceExpressionNet: new FaceExpressionNet_1.FaceExpressionNet(), + ageGenderNet: new AgeGenderNet_1.AgeGenderNet() + }; + exports.tinyFaceDetector = (input, options) => exports.nets.tinyFaceDetector.locateFaces(input, options); + exports.detectFaceLandmarks = (input) => exports.nets.faceLandmark68Net.detectLandmarks(input); + exports.detectFaceLandmarksTiny = (input) => exports.nets.faceLandmark68TinyNet.detectLandmarks(input); + exports.computeFaceDescriptor = (input) => exports.nets.faceRecognitionNet.computeFaceDescriptor(input); + exports.recognizeFaceExpressions = (input) => exports.nets.faceExpressionNet.predictExpressions(input); + exports.predictAgeAndGender = (input) => exports.nets.ageGenderNet.predictAgeAndGender(input); + exports.loadTinyFaceDetectorModel = (url) => exports.nets.tinyFaceDetector.load(url); + exports.loadTinyYolov2Model = (url) => exports.nets.tinyYolov2.load(url); + exports.loadFaceLandmarkModel = (url) => exports.nets.faceLandmark68Net.load(url); + exports.loadFaceLandmarkTinyModel = (url) => exports.nets.faceLandmark68TinyNet.load(url); + exports.loadFaceRecognitionModel = (url) => exports.nets.faceRecognitionNet.load(url); + exports.loadFaceExpressionModel = (url) => exports.nets.faceExpressionNet.load(url); + exports.loadAgeGenderModel = (url) => exports.nets.ageGenderNet.load(url); + exports.loadFaceDetectionModel = exports.loadTinyFaceDetectorModel; + exports.locateFaces = TinyFaceDetector_1.TinyFaceDetector; + exports.detectLandmarks = exports.detectFaceLandmarks; + }); + + // build/globalApi/PredictFaceExpressionsTask.js + var require_PredictFaceExpressionsTask = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.PredictSingleFaceExpressionsWithFaceAlignmentTask = exports.PredictAllFaceExpressionsWithFaceAlignmentTask = exports.PredictSingleFaceExpressionsTask = exports.PredictAllFaceExpressionsTask = exports.PredictFaceExpressionsTaskBase = void 0; + const WithFaceExpressions_1 = require_WithFaceExpressions(); + const ComposableTask_1 = require_ComposableTask(); + const ComputeFaceDescriptorsTasks_1 = require_ComputeFaceDescriptorsTasks(); + const extractFacesAndComputeResults_1 = require_extractFacesAndComputeResults(); + const nets_1 = require_nets(); + const PredictAgeAndGenderTask_1 = require_PredictAgeAndGenderTask(); + class PredictFaceExpressionsTaskBase extends ComposableTask_1.ComposableTask { + constructor(parentTask, input, extractedFaces) { + super(); + this.parentTask = parentTask; + this.input = input; + this.extractedFaces = extractedFaces; + } + } + exports.PredictFaceExpressionsTaskBase = PredictFaceExpressionsTaskBase; + class PredictAllFaceExpressionsTask extends PredictFaceExpressionsTaskBase { + async run() { + const parentResults = await this.parentTask; + const faceExpressionsByFace = await extractFacesAndComputeResults_1.extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map((face) => nets_1.nets.faceExpressionNet.predictExpressions(face))), this.extractedFaces); + return parentResults.map((parentResult, i) => WithFaceExpressions_1.extendWithFaceExpressions(parentResult, faceExpressionsByFace[i])); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderTask(this, this.input); + } + } + exports.PredictAllFaceExpressionsTask = PredictAllFaceExpressionsTask; + class PredictSingleFaceExpressionsTask extends PredictFaceExpressionsTaskBase { + async run() { + const parentResult = await this.parentTask; + if (!parentResult) { + return; + } + const faceExpressions = await extractFacesAndComputeResults_1.extractSingleFaceAndComputeResult(parentResult, this.input, (face) => nets_1.nets.faceExpressionNet.predictExpressions(face), this.extractedFaces); + return WithFaceExpressions_1.extendWithFaceExpressions(parentResult, faceExpressions); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderTask(this, this.input); + } + } + exports.PredictSingleFaceExpressionsTask = PredictSingleFaceExpressionsTask; + class PredictAllFaceExpressionsWithFaceAlignmentTask extends PredictAllFaceExpressionsTask { + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); + } + withFaceDescriptors() { + return new ComputeFaceDescriptorsTasks_1.ComputeAllFaceDescriptorsTask(this, this.input); + } + } + exports.PredictAllFaceExpressionsWithFaceAlignmentTask = PredictAllFaceExpressionsWithFaceAlignmentTask; + class PredictSingleFaceExpressionsWithFaceAlignmentTask extends PredictSingleFaceExpressionsTask { + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); + } + withFaceDescriptor() { + return new ComputeFaceDescriptorsTasks_1.ComputeSingleFaceDescriptorTask(this, this.input); + } + } + exports.PredictSingleFaceExpressionsWithFaceAlignmentTask = PredictSingleFaceExpressionsWithFaceAlignmentTask; + }); + + // build/globalApi/PredictAgeAndGenderTask.js + var require_PredictAgeAndGenderTask = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.PredictSingleAgeAndGenderWithFaceAlignmentTask = exports.PredictAllAgeAndGenderWithFaceAlignmentTask = exports.PredictSingleAgeAndGenderTask = exports.PredictAllAgeAndGenderTask = exports.PredictAgeAndGenderTaskBase = void 0; + const WithAge_1 = require_WithAge(); + const WithGender_1 = require_WithGender(); + const ComposableTask_1 = require_ComposableTask(); + const ComputeFaceDescriptorsTasks_1 = require_ComputeFaceDescriptorsTasks(); + const extractFacesAndComputeResults_1 = require_extractFacesAndComputeResults(); + const nets_1 = require_nets(); + const PredictFaceExpressionsTask_1 = require_PredictFaceExpressionsTask(); + class PredictAgeAndGenderTaskBase extends ComposableTask_1.ComposableTask { + constructor(parentTask, input, extractedFaces) { + super(); + this.parentTask = parentTask; + this.input = input; + this.extractedFaces = extractedFaces; + } + } + exports.PredictAgeAndGenderTaskBase = PredictAgeAndGenderTaskBase; + class PredictAllAgeAndGenderTask extends PredictAgeAndGenderTaskBase { + async run() { + const parentResults = await this.parentTask; + const ageAndGenderByFace = await extractFacesAndComputeResults_1.extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map((face) => nets_1.nets.ageGenderNet.predictAgeAndGender(face))), this.extractedFaces); + return parentResults.map((parentResult, i) => { + const {age, gender, genderProbability} = ageAndGenderByFace[i]; + return WithAge_1.extendWithAge(WithGender_1.extendWithGender(parentResult, gender, genderProbability), age); + }); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsTask(this, this.input); + } + } + exports.PredictAllAgeAndGenderTask = PredictAllAgeAndGenderTask; + class PredictSingleAgeAndGenderTask extends PredictAgeAndGenderTaskBase { + async run() { + const parentResult = await this.parentTask; + if (!parentResult) { + return; + } + const {age, gender, genderProbability} = await extractFacesAndComputeResults_1.extractSingleFaceAndComputeResult(parentResult, this.input, (face) => nets_1.nets.ageGenderNet.predictAgeAndGender(face), this.extractedFaces); + return WithAge_1.extendWithAge(WithGender_1.extendWithGender(parentResult, gender, genderProbability), age); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsTask(this, this.input); + } + } + exports.PredictSingleAgeAndGenderTask = PredictSingleAgeAndGenderTask; + class PredictAllAgeAndGenderWithFaceAlignmentTask extends PredictAllAgeAndGenderTask { + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); + } + withFaceDescriptors() { + return new ComputeFaceDescriptorsTasks_1.ComputeAllFaceDescriptorsTask(this, this.input); + } + } + exports.PredictAllAgeAndGenderWithFaceAlignmentTask = PredictAllAgeAndGenderWithFaceAlignmentTask; + class PredictSingleAgeAndGenderWithFaceAlignmentTask extends PredictSingleAgeAndGenderTask { + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); + } + withFaceDescriptor() { + return new ComputeFaceDescriptorsTasks_1.ComputeSingleFaceDescriptorTask(this, this.input); + } + } + exports.PredictSingleAgeAndGenderWithFaceAlignmentTask = PredictSingleAgeAndGenderWithFaceAlignmentTask; + }); + + // build/globalApi/ComputeFaceDescriptorsTasks.js + var require_ComputeFaceDescriptorsTasks = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.ComputeSingleFaceDescriptorTask = exports.ComputeAllFaceDescriptorsTask = exports.ComputeFaceDescriptorsTaskBase = void 0; + const WithFaceDescriptor_1 = require_WithFaceDescriptor(); + const ComposableTask_1 = require_ComposableTask(); + const extractFacesAndComputeResults_1 = require_extractFacesAndComputeResults(); + const nets_1 = require_nets(); + const PredictAgeAndGenderTask_1 = require_PredictAgeAndGenderTask(); + const PredictFaceExpressionsTask_1 = require_PredictFaceExpressionsTask(); + class ComputeFaceDescriptorsTaskBase extends ComposableTask_1.ComposableTask { + constructor(parentTask, input) { + super(); + this.parentTask = parentTask; + this.input = input; + } + } + exports.ComputeFaceDescriptorsTaskBase = ComputeFaceDescriptorsTaskBase; + class ComputeAllFaceDescriptorsTask extends ComputeFaceDescriptorsTaskBase { + async run() { + const parentResults = await this.parentTask; + const descriptors = await extractFacesAndComputeResults_1.extractAllFacesAndComputeResults(parentResults, this.input, (faces) => Promise.all(faces.map((face) => nets_1.nets.faceRecognitionNet.computeFaceDescriptor(face))), null, (parentResult) => parentResult.landmarks.align(null, {useDlibAlignment: true})); + return descriptors.map((descriptor, i) => WithFaceDescriptor_1.extendWithFaceDescriptor(parentResults[i], descriptor)); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); + } + } + exports.ComputeAllFaceDescriptorsTask = ComputeAllFaceDescriptorsTask; + class ComputeSingleFaceDescriptorTask extends ComputeFaceDescriptorsTaskBase { + async run() { + const parentResult = await this.parentTask; + if (!parentResult) { + return; + } + const descriptor = await extractFacesAndComputeResults_1.extractSingleFaceAndComputeResult(parentResult, this.input, (face) => nets_1.nets.faceRecognitionNet.computeFaceDescriptor(face), null, (parentResult2) => parentResult2.landmarks.align(null, {useDlibAlignment: true})); + return WithFaceDescriptor_1.extendWithFaceDescriptor(parentResult, descriptor); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); + } + } + exports.ComputeSingleFaceDescriptorTask = ComputeSingleFaceDescriptorTask; + }); + + // build/tinyFaceDetector/TinyFaceDetectorOptions.js + var require_TinyFaceDetectorOptions = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.TinyFaceDetectorOptions = void 0; + const tinyYolov2_1 = require_tinyYolov2(); + class TinyFaceDetectorOptions extends tinyYolov2_1.TinyYolov2Options { + constructor() { + super(...arguments); + this._name = "TinyFaceDetectorOptions"; + } + } + exports.TinyFaceDetectorOptions = TinyFaceDetectorOptions; + }); + + // build/globalApi/DetectFaceLandmarksTasks.js + var require_DetectFaceLandmarksTasks = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.DetectSingleFaceLandmarksTask = exports.DetectAllFaceLandmarksTask = exports.DetectFaceLandmarksTaskBase = void 0; + const tf = require_dist(); + const dom_1 = require_dom(); + const WithFaceLandmarks_1 = require_WithFaceLandmarks(); + const ComposableTask_1 = require_ComposableTask(); + const ComputeFaceDescriptorsTasks_1 = require_ComputeFaceDescriptorsTasks(); + const nets_1 = require_nets(); + const PredictAgeAndGenderTask_1 = require_PredictAgeAndGenderTask(); + const PredictFaceExpressionsTask_1 = require_PredictFaceExpressionsTask(); + class DetectFaceLandmarksTaskBase extends ComposableTask_1.ComposableTask { + constructor(parentTask, input, useTinyLandmarkNet) { + super(); + this.parentTask = parentTask; + this.input = input; + this.useTinyLandmarkNet = useTinyLandmarkNet; + } + get landmarkNet() { + return this.useTinyLandmarkNet ? nets_1.nets.faceLandmark68TinyNet : nets_1.nets.faceLandmark68Net; + } + } + exports.DetectFaceLandmarksTaskBase = DetectFaceLandmarksTaskBase; + class DetectAllFaceLandmarksTask extends DetectFaceLandmarksTaskBase { + async run() { + const parentResults = await this.parentTask; + const detections = parentResults.map((res) => res.detection); + const faces = this.input instanceof tf.Tensor ? await dom_1.extractFaceTensors(this.input, detections) : await dom_1.extractFaces(this.input, detections); + const faceLandmarksByFace = await Promise.all(faces.map((face) => this.landmarkNet.detectLandmarks(face))); + faces.forEach((f) => f instanceof tf.Tensor && f.dispose()); + return parentResults.map((parentResult, i) => WithFaceLandmarks_1.extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i])); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); + } + withFaceDescriptors() { + return new ComputeFaceDescriptorsTasks_1.ComputeAllFaceDescriptorsTask(this, this.input); + } + } + exports.DetectAllFaceLandmarksTask = DetectAllFaceLandmarksTask; + class DetectSingleFaceLandmarksTask extends DetectFaceLandmarksTaskBase { + async run() { + const parentResult = await this.parentTask; + if (!parentResult) { + return; + } + const {detection} = parentResult; + const faces = this.input instanceof tf.Tensor ? await dom_1.extractFaceTensors(this.input, [detection]) : await dom_1.extractFaces(this.input, [detection]); + const landmarks = await this.landmarkNet.detectLandmarks(faces[0]); + faces.forEach((f) => f instanceof tf.Tensor && f.dispose()); + return WithFaceLandmarks_1.extendWithFaceLandmarks(parentResult, landmarks); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); + } + withFaceDescriptor() { + return new ComputeFaceDescriptorsTasks_1.ComputeSingleFaceDescriptorTask(this, this.input); + } + } + exports.DetectSingleFaceLandmarksTask = DetectSingleFaceLandmarksTask; + }); + + // build/globalApi/DetectFacesTasks.js + var require_DetectFacesTasks = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.DetectSingleFaceTask = exports.DetectAllFacesTask = exports.DetectFacesTaskBase = void 0; + const WithFaceDetection_1 = require_WithFaceDetection(); + const TinyFaceDetectorOptions_1 = require_TinyFaceDetectorOptions(); + const ComposableTask_1 = require_ComposableTask(); + const DetectFaceLandmarksTasks_1 = require_DetectFaceLandmarksTasks(); + const nets_1 = require_nets(); + const PredictAgeAndGenderTask_1 = require_PredictAgeAndGenderTask(); + const PredictFaceExpressionsTask_1 = require_PredictFaceExpressionsTask(); + class DetectFacesTaskBase extends ComposableTask_1.ComposableTask { + constructor(input, options = new TinyFaceDetectorOptions_1.TinyFaceDetectorOptions()) { + super(); + this.input = input; + this.options = options; + } + } + exports.DetectFacesTaskBase = DetectFacesTaskBase; + class DetectAllFacesTask extends DetectFacesTaskBase { + async run() { + const {input, options} = this; + const faceDetectionFunction = options instanceof TinyFaceDetectorOptions_1.TinyFaceDetectorOptions ? (input2) => nets_1.nets.tinyFaceDetector.locateFaces(input2, options) : null; + if (!faceDetectionFunction) { + throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options"); + } + return faceDetectionFunction(input); + } + runAndExtendWithFaceDetections() { + return new Promise(async (res) => { + const detections = await this.run(); + return res(detections.map((detection) => WithFaceDetection_1.extendWithFaceDetection({}, detection))); + }); + } + withFaceLandmarks(useTinyLandmarkNet = false) { + return new DetectFaceLandmarksTasks_1.DetectAllFaceLandmarksTask(this.runAndExtendWithFaceDetections(), this.input, useTinyLandmarkNet); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictAllFaceExpressionsTask(this.runAndExtendWithFaceDetections(), this.input); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictAllAgeAndGenderTask(this.runAndExtendWithFaceDetections(), this.input); + } + } + exports.DetectAllFacesTask = DetectAllFacesTask; + class DetectSingleFaceTask extends DetectFacesTaskBase { + async run() { + const faceDetections = await new DetectAllFacesTask(this.input, this.options); + let faceDetectionWithHighestScore = faceDetections[0]; + faceDetections.forEach((faceDetection) => { + if (faceDetection.score > faceDetectionWithHighestScore.score) { + faceDetectionWithHighestScore = faceDetection; + } + }); + return faceDetectionWithHighestScore; + } + runAndExtendWithFaceDetection() { + return new Promise(async (res) => { + const detection = await this.run(); + return res(detection ? WithFaceDetection_1.extendWithFaceDetection({}, detection) : void 0); + }); + } + withFaceLandmarks(useTinyLandmarkNet = false) { + return new DetectFaceLandmarksTasks_1.DetectSingleFaceLandmarksTask(this.runAndExtendWithFaceDetection(), this.input, useTinyLandmarkNet); + } + withFaceExpressions() { + return new PredictFaceExpressionsTask_1.PredictSingleFaceExpressionsTask(this.runAndExtendWithFaceDetection(), this.input); + } + withAgeAndGender() { + return new PredictAgeAndGenderTask_1.PredictSingleAgeAndGenderTask(this.runAndExtendWithFaceDetection(), this.input); + } + } + exports.DetectSingleFaceTask = DetectSingleFaceTask; + }); + + // build/globalApi/detectFaces.js + var require_detectFaces = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.detectAllFaces = exports.detectSingleFace = void 0; + const DetectFacesTasks_1 = require_DetectFacesTasks(); + const TinyFaceDetectorOptions_1 = require_TinyFaceDetectorOptions(); + function detectSingleFace(input, options = new TinyFaceDetectorOptions_1.TinyFaceDetectorOptions()) { + return new DetectFacesTasks_1.DetectSingleFaceTask(input, options); + } + exports.detectSingleFace = detectSingleFace; + function detectAllFaces(input, options = new TinyFaceDetectorOptions_1.TinyFaceDetectorOptions()) { + return new DetectFacesTasks_1.DetectAllFacesTask(input, options); + } + exports.detectAllFaces = detectAllFaces; + }); + + // build/euclideanDistance.js + var require_euclideanDistance = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.euclideanDistance = void 0; + function euclideanDistance(arr1, arr2) { + if (arr1.length !== arr2.length) + throw new Error("euclideanDistance: arr1.length !== arr2.length"); + const desc1 = Array.from(arr1); + const desc2 = Array.from(arr2); + return Math.sqrt(desc1.map((val, i) => val - desc2[i]).reduce((res, diff) => res + Math.pow(diff, 2), 0)); + } + exports.euclideanDistance = euclideanDistance; + }); + + // build/globalApi/FaceMatcher.js + var require_FaceMatcher = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.FaceMatcher = void 0; + const FaceMatch_1 = require_FaceMatch(); + const LabeledFaceDescriptors_1 = require_LabeledFaceDescriptors(); + const euclideanDistance_1 = require_euclideanDistance(); + class FaceMatcher { + constructor(inputs, distanceThreshold = 0.6) { + this._distanceThreshold = distanceThreshold; + const inputArray = Array.isArray(inputs) ? inputs : [inputs]; + if (!inputArray.length) { + throw new Error(`FaceRecognizer.constructor - expected atleast one input`); + } + let count = 1; + const createUniqueLabel = () => `person ${count++}`; + this._labeledDescriptors = inputArray.map((desc) => { + if (desc instanceof LabeledFaceDescriptors_1.LabeledFaceDescriptors) { + return desc; + } + if (desc instanceof Float32Array) { + return new LabeledFaceDescriptors_1.LabeledFaceDescriptors(createUniqueLabel(), [desc]); + } + if (desc.descriptor && desc.descriptor instanceof Float32Array) { + return new LabeledFaceDescriptors_1.LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]); + } + throw new Error(`FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>`); + }); + } + get labeledDescriptors() { + return this._labeledDescriptors; + } + get distanceThreshold() { + return this._distanceThreshold; + } + computeMeanDistance(queryDescriptor, descriptors) { + return descriptors.map((d) => euclideanDistance_1.euclideanDistance(d, queryDescriptor)).reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1); + } + matchDescriptor(queryDescriptor) { + return this.labeledDescriptors.map(({descriptors, label}) => new FaceMatch_1.FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors))).reduce((best, curr) => best.distance < curr.distance ? best : curr); + } + findBestMatch(queryDescriptor) { + const bestMatch = this.matchDescriptor(queryDescriptor); + return bestMatch.distance < this.distanceThreshold ? bestMatch : new FaceMatch_1.FaceMatch("unknown", bestMatch.distance); + } + toJSON() { + return { + distanceThreshold: this.distanceThreshold, + labeledDescriptors: this.labeledDescriptors.map((ld) => ld.toJSON()) + }; + } + static fromJSON(json) { + const labeledDescriptors = json.labeledDescriptors.map((ld) => LabeledFaceDescriptors_1.LabeledFaceDescriptors.fromJSON(ld)); + return new FaceMatcher(labeledDescriptors, json.distanceThreshold); + } + } + exports.FaceMatcher = FaceMatcher; }); // build/globalApi/types.js - var require_types4 = __commonJS(() => { + var require_types6 = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); }); // build/globalApi/index.js var require_globalApi = __commonJS((exports) => { - __export(exports, { - ComposableTask: () => ComposableTask, - ComputeAllFaceDescriptorsTask: () => ComputeAllFaceDescriptorsTask, - ComputeFaceDescriptorsTaskBase: () => ComputeFaceDescriptorsTaskBase, - ComputeSingleFaceDescriptorTask: () => ComputeSingleFaceDescriptorTask, - DetectAllFaceLandmarksTask: () => DetectAllFaceLandmarksTask, - DetectAllFacesTask: () => DetectAllFacesTask, - DetectFaceLandmarksTaskBase: () => DetectFaceLandmarksTaskBase, - DetectFacesTaskBase: () => DetectFacesTaskBase, - DetectSingleFaceLandmarksTask: () => DetectSingleFaceLandmarksTask, - DetectSingleFaceTask: () => DetectSingleFaceTask, - FaceMatcher: () => FaceMatcher, - computeFaceDescriptor: () => computeFaceDescriptor, - detectAllFaces: () => detectAllFaces, - detectFaceLandmarks: () => detectFaceLandmarks, - detectFaceLandmarksTiny: () => detectFaceLandmarksTiny, - detectLandmarks: () => detectLandmarks, - detectSingleFace: () => detectSingleFace, - loadAgeGenderModel: () => loadAgeGenderModel, - loadFaceDetectionModel: () => loadFaceDetectionModel, - loadFaceExpressionModel: () => loadFaceExpressionModel, - loadFaceLandmarkModel: () => loadFaceLandmarkModel, - loadFaceLandmarkTinyModel: () => loadFaceLandmarkTinyModel, - loadFaceRecognitionModel: () => loadFaceRecognitionModel, - loadTinyFaceDetectorModel: () => loadTinyFaceDetectorModel, - loadTinyYolov2Model: () => loadTinyYolov2Model, - locateFaces: () => locateFaces, - nets: () => nets, - predictAgeAndGender: () => predictAgeAndGender, - recognizeFaceExpressions: () => recognizeFaceExpressions, - tinyFaceDetector: () => tinyFaceDetector - }); - __exportStar(exports, __toModule(require_types4())); + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + const tslib_1 = require_tslib_es6(); + tslib_1.__exportStar(require_ComposableTask(), exports); + tslib_1.__exportStar(require_ComputeFaceDescriptorsTasks(), exports); + tslib_1.__exportStar(require_detectFaces(), exports); + tslib_1.__exportStar(require_DetectFacesTasks(), exports); + tslib_1.__exportStar(require_DetectFaceLandmarksTasks(), exports); + tslib_1.__exportStar(require_FaceMatcher(), exports); + tslib_1.__exportStar(require_nets(), exports); + tslib_1.__exportStar(require_types6(), exports); + }); + + // build/tinyFaceDetector/index.js + var require_tinyFaceDetector = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.createTinyFaceDetector = void 0; + const tslib_1 = require_tslib_es6(); + const TinyFaceDetector_1 = require_TinyFaceDetector(); + tslib_1.__exportStar(require_TinyFaceDetector(), exports); + tslib_1.__exportStar(require_TinyFaceDetectorOptions(), exports); + function createTinyFaceDetector(weights) { + const net = new TinyFaceDetector_1.TinyFaceDetector(); + net.extractWeights(weights); + return net; + } + exports.createTinyFaceDetector = createTinyFaceDetector; + }); + + // build/resizeResults.js + var require_resizeResults = __commonJS((exports) => { + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.resizeResults = void 0; + const classes_1 = require_classes(); + const FaceDetection_1 = require_FaceDetection(); + const FaceLandmarks_1 = require_FaceLandmarks(); + const WithFaceDetection_1 = require_WithFaceDetection(); + const WithFaceLandmarks_1 = require_WithFaceLandmarks(); + function resizeResults(results, dimensions) { + const {width, height} = new classes_1.Dimensions(dimensions.width, dimensions.height); + if (width <= 0 || height <= 0) { + throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width, height})}`); + } + if (Array.isArray(results)) { + return results.map((obj) => resizeResults(obj, {width, height})); + } + if (WithFaceLandmarks_1.isWithFaceLandmarks(results)) { + const resizedDetection = results.detection.forSize(width, height); + const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height); + return WithFaceLandmarks_1.extendWithFaceLandmarks(WithFaceDetection_1.extendWithFaceDetection(results, resizedDetection), resizedLandmarks); + } + if (WithFaceDetection_1.isWithFaceDetection(results)) { + return WithFaceDetection_1.extendWithFaceDetection(results, results.detection.forSize(width, height)); + } + if (results instanceof FaceLandmarks_1.FaceLandmarks || results instanceof FaceDetection_1.FaceDetection) { + return results.forSize(width, height); + } + return results; + } + exports.resizeResults = resizeResults; }); // build/index.js var require_build = __commonJS((exports) => { - __export(exports, { - AgeGenderNet: () => AgeGenderNet, - BoundingBox: () => BoundingBox, - Box: () => Box, - Dimensions: () => Dimensions, - FACE_EXPRESSION_LABELS: () => FACE_EXPRESSION_LABELS, - FaceDetection: () => FaceDetection, - FaceExpressionNet: () => FaceExpressionNet, - FaceExpressions: () => FaceExpressions, - FaceLandmark68Net: () => FaceLandmark68Net, - FaceLandmark68TinyNet: () => FaceLandmark68TinyNet, - FaceLandmarkNet: () => FaceLandmarkNet, - FaceLandmarks: () => FaceLandmarks, - FaceLandmarks5: () => FaceLandmarks5, - FaceLandmarks68: () => FaceLandmarks68, - FaceMatch: () => FaceMatch, - FaceRecognitionNet: () => FaceRecognitionNet, - Gender: () => Gender, - LabeledBox: () => LabeledBox, - LabeledFaceDescriptors: () => LabeledFaceDescriptors, - NeuralNetwork: () => NeuralNetwork, - ObjectDetection: () => ObjectDetection, - Point: () => Point, - PredictedBox: () => PredictedBox, - Rect: () => Rect, - TinyFaceDetector: () => TinyFaceDetector, - TinyFaceDetectorOptions: () => TinyFaceDetectorOptions, - createFaceRecognitionNet: () => createFaceRecognitionNet, - createTinyFaceDetector: () => createTinyFaceDetector, - draw: () => draw_exports, - euclideanDistance: () => euclideanDistance, - extendWithAge: () => extendWithAge, - extendWithFaceDescriptor: () => extendWithFaceDescriptor, - extendWithFaceDetection: () => extendWithFaceDetection, - extendWithFaceExpressions: () => extendWithFaceExpressions, - extendWithFaceLandmarks: () => extendWithFaceLandmarks, - extendWithGender: () => extendWithGender, - inverseSigmoid: () => inverseSigmoid, - iou: () => iou, - isWithAge: () => isWithAge, - isWithFaceDetection: () => isWithFaceDetection, - isWithFaceExpressions: () => isWithFaceExpressions, - isWithFaceLandmarks: () => isWithFaceLandmarks, - isWithGender: () => isWithGender, - minBbox: () => minBbox, - nonMaxSuppression: () => nonMaxSuppression2, - normalize: () => normalize, - padToSquare: () => padToSquare, - resizeResults: () => resizeResults, - shuffleArray: () => shuffleArray, - sigmoid: () => sigmoid6, - tf: () => dist_exports, - utils: () => utils_exports - }); - __exportStar(exports, __toModule(require_dom())); - __exportStar(exports, __toModule(require_env())); - __exportStar(exports, __toModule(require_globalApi())); - __exportStar(exports, __toModule(require_tinyYolov2())); + "use strict"; + Object.defineProperty(exports, "__esModule", {value: true}); + exports.tf = exports.utils = exports.draw = void 0; + const tslib_1 = require_tslib_es6(); + const tf = require_dist(); + exports.tf = tf; + const draw = require_draw(); + exports.draw = draw; + const utils = require_utils(); + exports.utils = utils; + tslib_1.__exportStar(require_ageGenderNet(), exports); + tslib_1.__exportStar(require_classes(), exports); + tslib_1.__exportStar(require_dom(), exports); + tslib_1.__exportStar(require_env(), exports); + tslib_1.__exportStar(require_faceExpressionNet(), exports); + tslib_1.__exportStar(require_faceLandmarkNet(), exports); + tslib_1.__exportStar(require_faceRecognitionNet(), exports); + tslib_1.__exportStar(require_factories(), exports); + tslib_1.__exportStar(require_globalApi(), exports); + tslib_1.__exportStar(require_ops(), exports); + tslib_1.__exportStar(require_tinyFaceDetector(), exports); + tslib_1.__exportStar(require_tinyYolov2(), exports); + tslib_1.__exportStar(require_euclideanDistance(), exports); + tslib_1.__exportStar(require_NeuralNetwork(), exports); + tslib_1.__exportStar(require_resizeResults(), exports); }); // node_modules/@tensorflow/tfjs-core/dist/environment.js @@ -1271,30 +6728,30 @@ var faceapi = (() => { if (done) { break; } - const [key, config2] = value; + const [key, config] = value; const [backend2] = key.split("_"); if (backend2 === backendName) { - result.push(config2); + result.push(config); } } return result; } - function registerKernel(config2) { - const {kernelName, backendName} = config2; + function registerKernel(config) { + const {kernelName, backendName} = config; const key = makeKey(kernelName, backendName); if (kernelRegistry.has(key)) { console.warn(`The kernel '${kernelName}' for backend '${backendName}' is already registered`); } - kernelRegistry.set(key, config2); + kernelRegistry.set(key, config); } - function registerGradient(config2) { - const {kernelName} = config2; + function registerGradient(config) { + const {kernelName} = config; if (gradRegistry.has(kernelName)) { if (env().getBool("DEBUG")) { console.warn(`Overriding the gradient for '${kernelName}'`); } } - gradRegistry.set(kernelName, config2); + gradRegistry.set(kernelName, config); } function unregisterKernel(kernelName, backendName) { const key = makeKey(kernelName, backendName); @@ -5293,7 +10750,7 @@ var faceapi = (() => { * limitations under the License. * ============================================================================= */ - function batchNorm_(x, mean5, variance, offset, scale2, varianceEpsilon) { + function batchNorm_(x, mean5, variance, offset, scale, varianceEpsilon) { if (varianceEpsilon == null) { varianceEpsilon = 1e-3; } @@ -5301,8 +10758,8 @@ var faceapi = (() => { const $mean = convertToTensor(mean5, "mean", "batchNorm"); const $variance = convertToTensor(variance, "variance", "batchNorm"); let $scale; - if (scale2 != null) { - $scale = convertToTensor(scale2, "scale", "batchNorm"); + if (scale != null) { + $scale = convertToTensor(scale, "scale", "batchNorm"); } let $offset; if (offset != null) { @@ -5345,13 +10802,13 @@ var faceapi = (() => { const batchNorm = op({batchNorm_}); // node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js - function batchNorm2d_(x, mean5, variance, offset, scale2, varianceEpsilon) { + function batchNorm2d_(x, mean5, variance, offset, scale, varianceEpsilon) { const $x = convertToTensor(x, "x", "batchNorm"); const $mean = convertToTensor(mean5, "mean", "batchNorm"); const $variance = convertToTensor(variance, "variance", "batchNorm"); let $scale; - if (scale2 != null) { - $scale = convertToTensor(scale2, "scale", "batchNorm"); + if (scale != null) { + $scale = convertToTensor(scale, "scale", "batchNorm"); } let $offset; if (offset != null) { @@ -5371,13 +10828,13 @@ var faceapi = (() => { const batchNorm2d = op({batchNorm2d_}); // node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js - function batchNorm3d_(x, mean5, variance, offset, scale2, varianceEpsilon) { + function batchNorm3d_(x, mean5, variance, offset, scale, varianceEpsilon) { const $x = convertToTensor(x, "x", "batchNorm"); const $mean = convertToTensor(mean5, "mean", "batchNorm"); const $variance = convertToTensor(variance, "variance", "batchNorm"); let $scale; - if (scale2 != null) { - $scale = convertToTensor(scale2, "scale", "batchNorm"); + if (scale != null) { + $scale = convertToTensor(scale, "scale", "batchNorm"); } let $offset; if (offset != null) { @@ -5397,13 +10854,13 @@ var faceapi = (() => { const batchNorm3d = op({batchNorm3d_}); // node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js - function batchNorm4d_(x, mean5, variance, offset, scale2, varianceEpsilon) { + function batchNorm4d_(x, mean5, variance, offset, scale, varianceEpsilon) { const $x = convertToTensor(x, "x", "batchNorm"); const $mean = convertToTensor(mean5, "mean", "batchNorm"); const $variance = convertToTensor(variance, "variance", "batchNorm"); let $scale; - if (scale2 != null) { - $scale = convertToTensor(scale2, "scale", "batchNorm"); + if (scale != null) { + $scale = convertToTensor(scale, "scale", "batchNorm"); } let $offset; if (offset != null) { @@ -12037,7 +17494,7 @@ Expected: ${expectedFlat}.`); } } candidates.sort(ascendingComparator); - const scale2 = softNmsSigma > 0 ? -0.5 / softNmsSigma : 0; + const scale = softNmsSigma > 0 ? -0.5 / softNmsSigma : 0; const selectedIndices = []; const selectedScores = []; while (selectedIndices.length < maxOutputSize && candidates.length > 0) { @@ -12048,12 +17505,12 @@ Expected: ${expectedFlat}.`); } let ignoreCandidate = false; for (let j = selectedIndices.length - 1; j >= suppressBeginIndex; --j) { - const iou3 = intersectionOverUnion(boxes, boxIndex, selectedIndices[j]); - if (iou3 >= iouThreshold) { + const iou = intersectionOverUnion(boxes, boxIndex, selectedIndices[j]); + if (iou >= iouThreshold) { ignoreCandidate = true; break; } - candidate.score = candidate.score * suppressWeight(iouThreshold, scale2, iou3); + candidate.score = candidate.score * suppressWeight(iouThreshold, scale, iou); if (candidate.score <= scoreThreshold) { break; } @@ -12106,9 +17563,9 @@ Expected: ${expectedFlat}.`); const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0) * Math.max(intersectionXmax - intersectionXmin, 0); return intersectionArea / (areaI + areaJ - intersectionArea); } - function suppressWeight(iouThreshold, scale2, iou3) { - const weight = Math.exp(scale2 * iou3 * iou3); - return iou3 <= iouThreshold ? weight : 0; + function suppressWeight(iouThreshold, scale, iou) { + const weight = Math.exp(scale * iou * iou); + return iou <= iouThreshold ? weight : 0; } function ascendingComparator(c1, c2) { return c1.score - c2.score || c1.score === c2.score && c2.boxIndex - c1.boxIndex; @@ -14578,8 +20035,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); getClassName() { return this.constructor.className; } - static fromConfig(cls, config2) { - return new cls(config2); + static fromConfig(cls, config) { + return new cls(config); } } class SerializationMap { @@ -14778,8 +20235,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); epsilon: this.epsilon }; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"], config2["rho"], config2["epsilon"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"], config["rho"], config["epsilon"]); } } AdadeltaOptimizer.className = "Adadelta"; @@ -14853,8 +20310,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); initialAccumulatorValue: this.initialAccumulatorValue }; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"], config2["initialAccumulatorValue"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"], config["initialAccumulatorValue"]); } } AdagradOptimizer.className = "Adagrad"; @@ -14973,8 +20430,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); epsilon: this.epsilon }; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"], config2["beta1"], config2["beta2"], config2["epsilon"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"], config["beta1"], config["beta2"], config["epsilon"]); } } AdamOptimizer.className = "Adam"; @@ -15080,8 +20537,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); decay: this.decay }; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"], config2["beta1"], config2["beta2"], config2["epsilon"], config2["decay"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"], config["beta1"], config["beta2"], config["epsilon"], config["decay"]); } } AdamaxOptimizer.className = "Adamax"; @@ -15147,8 +20604,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); getConfig() { return {learningRate: this.learningRate}; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"]); } } SGDOptimizer.className = "SGD"; @@ -15234,8 +20691,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); useNesterov: this.useNesterov }; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"], config2["momentum"], config2["useNesterov"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"], config["momentum"], config["useNesterov"]); } } MomentumOptimizer.className = "Momentum"; @@ -15375,8 +20832,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); centered: this.centered }; } - static fromConfig(cls, config2) { - return new cls(config2["learningRate"], config2["decay"], config2["momentum"], config2["epsilon"], config2["centered"]); + static fromConfig(cls, config) { + return new cls(config["learningRate"], config["decay"], config["momentum"], config["epsilon"], config["centered"]); } } RMSPropOptimizer.className = "RMSProp"; @@ -16453,7 +21910,7 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); resizeNearestNeighborBackprop(dy, x, alignCorners) { return notYetImplemented("resizeNearestNeighborBackprop"); } - batchNorm(x, mean5, variance, offset, scale2, varianceEpsilon) { + batchNorm(x, mean5, variance, offset, scale, varianceEpsilon) { return notYetImplemented("batchNorm"); } localResponseNormalization4D(x, radius, bias, alpha, beta) { @@ -17807,8 +23264,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); inputsToSave: ["x", "mean", "variance", "scale"], gradFunc: (dy, saved, attrs) => { const {varianceEpsilon} = attrs; - const [x, mean5, variance, scale2] = saved; - const scaleValue = scale2 == null ? scalar(1) : scale2; + const [x, mean5, variance, scale] = saved; + const scaleValue = scale == null ? scalar(1) : scale; const reductionAxes = getReductionAxes(mean5.shape, x.shape); const tileShape = []; if (mean5.rank === 1) { @@ -19097,8 +24554,8 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); x: () => { const mask = greater(x, scalar(0)); const scaleAlpha = scalar(SELU_SCALEALPHA); - const scale2 = scalar(SELU_SCALE); - const greaterThanZeroDer = mul(dy, scale2); + const scale = scalar(SELU_SCALE); + const greaterThanZeroDer = mul(dy, scale); const lessEqualZeroDer = mul(mul(dy, scaleAlpha), exp(cast(x, "float32"))); return where(mask, greaterThanZeroDer, lessEqualZeroDer); } @@ -19890,3960 +25347,6 @@ Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); for (const gradientConfig of gradConfigs) { registerGradient(gradientConfig); } - - // node_modules/@tensorflow/tfjs-core/dist/index.js - const dist_exports = {}; - __export(dist_exports, { - Abs: () => Abs, - Acos: () => Acos, - Acosh: () => Acosh, - AdadeltaOptimizer: () => AdadeltaOptimizer, - AdagradOptimizer: () => AdagradOptimizer, - AdamOptimizer: () => AdamOptimizer, - AdamaxOptimizer: () => AdamaxOptimizer, - Add: () => Add, - AddN: () => AddN, - All: () => All, - Any: () => Any, - ArgMax: () => ArgMax, - ArgMin: () => ArgMin, - Asin: () => Asin, - Asinh: () => Asinh, - Atan: () => Atan, - Atan2: () => Atan2, - Atanh: () => Atanh, - AvgPool: () => AvgPool, - AvgPool3D: () => AvgPool3D, - AvgPool3DBackprop: () => AvgPool3DBackprop, - AvgPoolBackprop: () => AvgPoolBackprop, - BatchMatMul: () => BatchMatMul, - BatchToSpaceND: () => BatchToSpaceND, - BroadcastTo: () => BroadcastTo, - Cast: () => Cast, - Ceil: () => Ceil, - ClipByValue: () => ClipByValue, - Complex: () => Complex, - Concat: () => Concat, - Conv2D: () => Conv2D, - Conv2DBackpropFilter: () => Conv2DBackpropFilter, - Conv2DBackpropInput: () => Conv2DBackpropInput, - Conv3D: () => Conv3D, - Conv3DBackpropFilterV2: () => Conv3DBackpropFilterV2, - Conv3DBackpropInputV2: () => Conv3DBackpropInputV2, - Cos: () => Cos, - Cosh: () => Cosh, - CropAndResize: () => CropAndResize, - Cumsum: () => Cumsum, - DataStorage: () => DataStorage, - DepthToSpace: () => DepthToSpace, - DepthwiseConv2dNative: () => DepthwiseConv2dNative, - DepthwiseConv2dNativeBackpropFilter: () => DepthwiseConv2dNativeBackpropFilter, - DepthwiseConv2dNativeBackpropInput: () => DepthwiseConv2dNativeBackpropInput, - Diag: () => Diag, - Dilation2D: () => Dilation2D, - Dilation2DBackpropFilter: () => Dilation2DBackpropFilter, - Dilation2DBackpropInput: () => Dilation2DBackpropInput, - Div: () => Div, - ENV: () => ENV, - Elu: () => Elu, - EluGrad: () => EluGrad, - Environment: () => Environment, - Equal: () => Equal, - Erf: () => Erf, - Exp: () => Exp, - Expm1: () => Expm1, - FFT: () => FFT, - Fill: () => Fill, - FlipLeftRight: () => FlipLeftRight, - Floor: () => Floor, - FloorDiv: () => FloorDiv, - FromPixels: () => FromPixels, - FusedBatchNorm: () => FusedBatchNorm, - FusedConv2D: () => FusedConv2D, - FusedDepthwiseConv2D: () => FusedDepthwiseConv2D, - GatherNd: () => GatherNd, - GatherV2: () => GatherV2, - Greater: () => Greater, - GreaterEqual: () => GreaterEqual, - IFFT: () => IFFT, - Identity: () => Identity, - Imag: () => Imag, - IsFinite: () => IsFinite, - IsInf: () => IsInf, - IsNan: () => IsNan, - KernelBackend: () => KernelBackend, - LRN: () => LRN, - LRNBackprop: () => LRNBackprop, - Less: () => Less, - LessEqual: () => LessEqual, - LinSpace: () => LinSpace, - Log: () => Log, - Log1p: () => Log1p, - LogSoftmax: () => LogSoftmax, - LogicalAnd: () => LogicalAnd, - LogicalNot: () => LogicalNot, - LogicalOr: () => LogicalOr, - Max: () => Max, - MaxPool: () => MaxPool, - MaxPool3D: () => MaxPool3D, - MaxPool3DBackprop: () => MaxPool3DBackprop, - MaxPoolBackprop: () => MaxPoolBackprop, - MaxPoolWithArgmax: () => MaxPoolWithArgmax, - Maximum: () => Maximum, - Mean: () => Mean, - Min: () => Min, - Minimum: () => Minimum, - Mod: () => Mod, - MomentumOptimizer: () => MomentumOptimizer, - Multiply: () => Multiply, - Negate: () => Negate, - NonMaxSuppressionV3: () => NonMaxSuppressionV3, - NonMaxSuppressionV4: () => NonMaxSuppressionV4, - NonMaxSuppressionV5: () => NonMaxSuppressionV5, - NotEqual: () => NotEqual, - OneHot: () => OneHot, - OnesLike: () => OnesLike, - Optimizer: () => Optimizer, - PadV2: () => PadV2, - Pool: () => Pool, - Pow: () => Pow, - Prelu: () => Prelu, - Prod: () => Prod, - RMSPropOptimizer: () => RMSPropOptimizer, - Range: () => Range, - Rank: () => Rank, - Real: () => Real, - Reciprocal: () => Reciprocal, - Reduction: () => Reduction, - Relu: () => Relu, - Relu6: () => Relu6, - Reshape: () => Reshape, - ResizeBilinear: () => ResizeBilinear, - ResizeBilinearGrad: () => ResizeBilinearGrad, - ResizeNearestNeighbor: () => ResizeNearestNeighbor, - ResizeNearestNeighborGrad: () => ResizeNearestNeighborGrad, - Reverse: () => Reverse, - RotateWithOffset: () => RotateWithOffset, - Round: () => Round, - Rsqrt: () => Rsqrt, - SGDOptimizer: () => SGDOptimizer, - ScatterNd: () => ScatterNd, - SelectV2: () => SelectV2, - Selu: () => Selu, - Sigmoid: () => Sigmoid, - Sign: () => Sign, - Sin: () => Sin, - Sinh: () => Sinh, - Slice: () => Slice, - Softmax: () => Softmax, - Softplus: () => Softplus, - SpaceToBatchND: () => SpaceToBatchND, - SparseToDense: () => SparseToDense, - SplitV: () => SplitV, - Sqrt: () => Sqrt, - Square: () => Square, - SquaredDifference: () => SquaredDifference, - Step: () => Step, - StridedSlice: () => StridedSlice, - Sub: () => Sub, - Sum: () => Sum, - Tan: () => Tan, - Tanh: () => Tanh, - Tensor: () => Tensor, - TensorBuffer: () => TensorBuffer, - Tile: () => Tile, - TopK: () => TopK, - Transpose: () => Transpose, - Unpack: () => Unpack, - UnsortedSegmentSum: () => UnsortedSegmentSum, - Variable: () => Variable, - ZerosLike: () => ZerosLike, - _FusedMatMul: () => _FusedMatMul, - abs: () => abs, - acos: () => acos, - acosh: () => acosh, - add: () => add2, - addN: () => addN, - addStrict: () => addStrict, - all: () => all, - any: () => any, - argMax: () => argMax, - argMin: () => argMin, - asin: () => asin, - asinh: () => asinh, - atan: () => atan, - atan2: () => atan2, - atanh: () => atanh, - avgPool: () => avgPool, - avgPool3d: () => avgPool3d, - backend: () => backend, - backend_util: () => backend_util_exports, - basicLSTMCell: () => basicLSTMCell, - batchNorm: () => batchNorm, - batchNorm2d: () => batchNorm2d, - batchNorm3d: () => batchNorm3d, - batchNorm4d: () => batchNorm4d, - batchToSpaceND: () => batchToSpaceND, - booleanMaskAsync: () => booleanMaskAsync, - broadcastTo: () => broadcastTo, - browser: () => browser_exports, - buffer: () => buffer, - cast: () => cast, - ceil: () => ceil, - clipByValue: () => clipByValue, - clone: () => clone, - complex: () => complex, - concat: () => concat, - concat1d: () => concat1d, - concat2d: () => concat2d, - concat3d: () => concat3d, - concat4d: () => concat4d, - conv1d: () => conv1d, - conv2d: () => conv2d, - conv2dTranspose: () => conv2dTranspose, - conv3d: () => conv3d, - conv3dTranspose: () => conv3dTranspose, - cos: () => cos, - cosh: () => cosh, - cosineWindow: () => cosineWindow, - cumsum: () => cumsum, - customGrad: () => customGrad, - deprecationWarn: () => deprecationWarn, - depthToSpace: () => depthToSpace, - depthwiseConv2d: () => depthwiseConv2d, - device_util: () => device_util_exports, - diag: () => diag, - dilation2d: () => dilation2d, - disableDeprecationWarnings: () => disableDeprecationWarnings, - dispose: () => dispose, - disposeVariables: () => disposeVariables, - div: () => div, - divNoNan: () => divNoNan, - divStrict: () => divStrict, - dot: () => dot, - dropout: () => dropout, - elu: () => elu, - enableDebugMode: () => enableDebugMode, - enableProdMode: () => enableProdMode, - enclosingPowerOfTwo: () => enclosingPowerOfTwo, - engine: () => engine22, - env: () => env, - equal: () => equal, - equalStrict: () => equalStrict, - erf: () => erf, - exp: () => exp, - expandDims: () => expandDims, - expm1: () => expm1, - eye: () => eye, - fft: () => fft, - fill: () => fill, - findBackend: () => findBackend, - findBackendFactory: () => findBackendFactory, - floor: () => floor, - floorDiv: () => floorDiv, - fused: () => fused_ops_exports, - gather: () => gather, - gatherND: () => gatherND, - gather_util: () => gather_nd_util_exports, - getBackend: () => getBackend, - getGradient: () => getGradient, - getKernel: () => getKernel, - getKernelsForBackend: () => getKernelsForBackend, - grad: () => grad, - grads: () => grads, - greater: () => greater, - greaterEqual: () => greaterEqual, - greaterEqualStrict: () => greaterEqualStrict, - greaterStrict: () => greaterStrict, - ifft: () => ifft, - imag: () => imag, - image: () => image, - inTopKAsync: () => inTopKAsync, - io: () => io_exports, - irfft: () => irfft, - isFinite: () => isFinite2, - isInf: () => isInf, - isNaN: () => isNaN2, - keep: () => keep, - kernel_impls: () => kernel_impls_exports, - leakyRelu: () => leakyRelu, - less: () => less, - lessEqual: () => lessEqual, - lessEqualStrict: () => lessEqualStrict, - lessStrict: () => lessStrict, - linalg: () => linalg, - linspace: () => linspace, - localResponseNormalization: () => localResponseNormalization, - log: () => log, - log1p: () => log1p, - logSigmoid: () => logSigmoid, - logSoftmax: () => logSoftmax, - logSumExp: () => logSumExp, - logicalAnd: () => logicalAnd, - logicalNot: () => logicalNot, - logicalOr: () => logicalOr, - logicalXor: () => logicalXor, - losses: () => losses, - matMul: () => matMul, - math: () => math_exports, - max: () => max, - maxPool: () => maxPool, - maxPool3d: () => maxPool3d, - maxPoolWithArgmax: () => maxPoolWithArgmax, - maximum: () => maximum, - maximumStrict: () => maximumStrict, - mean: () => mean, - memory: () => memory, - min: () => min, - minimum: () => minimum, - minimumStrict: () => minimumStrict, - mod: () => mod, - modStrict: () => modStrict, - moments: () => moments, - movingAverage: () => movingAverage, - mul: () => mul, - mulStrict: () => mulStrict, - multiRNNCell: () => multiRNNCell, - multinomial: () => multinomial, - neg: () => neg, - nextFrame: () => nextFrame, - norm: () => norm, - notEqual: () => notEqual, - notEqualStrict: () => notEqualStrict, - oneHot: () => oneHot, - ones: () => ones2, - onesLike: () => onesLike, - op: () => op, - outerProduct: () => outerProduct, - pad: () => pad, - pad1d: () => pad1d, - pad2d: () => pad2d, - pad3d: () => pad3d, - pad4d: () => pad4d, - pool: () => pool, - pow: () => pow, - powStrict: () => powStrict, - prelu: () => prelu, - print: () => print, - prod: () => prod, - profile: () => profile, - rand: () => rand, - randomGamma: () => randomGamma, - randomNormal: () => randomNormal, - randomUniform: () => randomUniform, - range: () => range, - ready: () => ready, - real: () => real, - reciprocal: () => reciprocal, - registerBackend: () => registerBackend, - registerGradient: () => registerGradient, - registerKernel: () => registerKernel, - relu: () => relu, - relu6: () => relu6, - removeBackend: () => removeBackend, - reshape: () => reshape, - reverse: () => reverse, - reverse1d: () => reverse1d, - reverse2d: () => reverse2d, - reverse3d: () => reverse3d, - reverse4d: () => reverse4d, - rfft: () => rfft, - round: () => round, - rsqrt: () => rsqrt, - scalar: () => scalar, - scatterND: () => scatterND, - scatter_util: () => scatter_nd_util_exports, - selu: () => selu, - separableConv2d: () => separableConv2d, - serialization: () => serialization_exports, - setBackend: () => setBackend, - setPlatform: () => setPlatform, - setdiff1dAsync: () => setdiff1dAsync, - sigmoid: () => sigmoid, - sign: () => sign, - signal: () => signal, - sin: () => sin, - sinh: () => sinh, - slice: () => slice, - slice1d: () => slice1d, - slice2d: () => slice2d, - slice3d: () => slice3d, - slice4d: () => slice4d, - slice_util: () => slice_util_exports, - softmax: () => softmax, - softplus: () => softplus, - spaceToBatchND: () => spaceToBatchND, - sparseToDense: () => sparseToDense, - spectral: () => spectral, - split: () => split, - sqrt: () => sqrt, - square: () => square, - squaredDifference: () => squaredDifference, - squaredDifferenceStrict: () => squaredDifferenceStrict, - squeeze: () => squeeze, - stack: () => stack, - step: () => step, - stridedSlice: () => stridedSlice, - sub: () => sub, - subStrict: () => subStrict, - sum: () => sum2, - sumOutType: () => sumOutType, - tan: () => tan, - tanh: () => tanh2, - tensor: () => tensor5, - tensor1d: () => tensor1d, - tensor2d: () => tensor2d, - tensor3d: () => tensor3d, - tensor4d: () => tensor4d, - tensor5d: () => tensor5d, - tensor6d: () => tensor6d, - tensor_util: () => tensor_util_exports, - test_util: () => test_util_exports, - tidy: () => tidy, - tile: () => tile, - time: () => time, - topk: () => topk, - train: () => train, - transpose: () => transpose, - truncatedNormal: () => truncatedNormal, - unregisterGradient: () => unregisterGradient, - unregisterKernel: () => unregisterKernel, - unsortedSegmentSum: () => unsortedSegmentSum, - unstack: () => unstack, - upcastType: () => upcastType, - util: () => util_exports, - valueAndGrad: () => valueAndGrad, - valueAndGrads: () => valueAndGrads, - variable: () => variable, - variableGrads: () => variableGrads, - version_core: () => version, - where: () => where, - whereAsync: () => whereAsync, - zeros: () => zeros, - zerosLike: () => zerosLike - }); - /** - * @license - * Copyright 2017 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ - - // build/draw/drawContour.js - function drawContour(ctx, points, isClosed = false) { - ctx.beginPath(); - points.slice(1).forEach(({x, y}, prevIdx) => { - const from = points[prevIdx]; - ctx.moveTo(from.x, from.y); - ctx.lineTo(x, y); - }); - if (isClosed) { - const from = points[points.length - 1]; - const to = points[0]; - if (!from || !to) { - return; - } - ctx.moveTo(from.x, from.y); - ctx.lineTo(to.x, to.y); - } - ctx.stroke(); - } - - // build/classes/Dimensions.js - class Dimensions { - constructor(width, height) { - if (!isValidNumber(width) || !isValidNumber(height)) { - throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width, height})}`); - } - this._width = width; - this._height = height; - } - get width() { - return this._width; - } - get height() { - return this._height; - } - reverse() { - return new Dimensions(1 / this.width, 1 / this.height); - } - } - - // build/utils/index.js - const utils_exports = {}; - __export(utils_exports, { - computeReshapedDimensions: () => computeReshapedDimensions, - getCenterPoint: () => getCenterPoint, - isDimensions: () => isDimensions, - isEven: () => isEven, - isFloat: () => isFloat, - isTensor: () => isTensor, - isTensor1D: () => isTensor1D, - isTensor2D: () => isTensor2D, - isTensor3D: () => isTensor3D, - isTensor4D: () => isTensor4D, - isValidNumber: () => isValidNumber, - isValidProbablitiy: () => isValidProbablitiy, - range: () => range4, - round: () => round3 - }); - function isTensor(tensor17, dim) { - return tensor17 instanceof Tensor && tensor17.shape.length === dim; - } - function isTensor1D(tensor17) { - return isTensor(tensor17, 1); - } - function isTensor2D(tensor17) { - return isTensor(tensor17, 2); - } - function isTensor3D(tensor17) { - return isTensor(tensor17, 3); - } - function isTensor4D(tensor17) { - return isTensor(tensor17, 4); - } - function isFloat(num) { - return num % 1 !== 0; - } - function isEven(num) { - return num % 2 === 0; - } - function round3(num, prec = 2) { - const f = Math.pow(10, prec); - return Math.floor(num * f) / f; - } - function isDimensions(obj) { - return obj && obj.width && obj.height; - } - function computeReshapedDimensions({width, height}, inputSize) { - const scale2 = inputSize / Math.max(height, width); - return new Dimensions(Math.round(width * scale2), Math.round(height * scale2)); - } - function getCenterPoint(pts) { - return pts.reduce((sum26, pt) => sum26.add(pt), new Point(0, 0)).div(new Point(pts.length, pts.length)); - } - function range4(num, start, step7) { - return Array(num).fill(0).map((_, i) => start + i * step7); - } - function isValidNumber(num) { - return !!num && num !== Infinity && num !== -Infinity && !isNaN(num) || num === 0; - } - function isValidProbablitiy(num) { - return isValidNumber(num) && 0 <= num && num <= 1; - } - - // build/classes/Point.js - class Point { - constructor(x, y) { - this._x = x; - this._y = y; - } - get x() { - return this._x; - } - get y() { - return this._y; - } - add(pt) { - return new Point(this.x + pt.x, this.y + pt.y); - } - sub(pt) { - return new Point(this.x - pt.x, this.y - pt.y); - } - mul(pt) { - return new Point(this.x * pt.x, this.y * pt.y); - } - div(pt) { - return new Point(this.x / pt.x, this.y / pt.y); - } - abs() { - return new Point(Math.abs(this.x), Math.abs(this.y)); - } - magnitude() { - return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2)); - } - floor() { - return new Point(Math.floor(this.x), Math.floor(this.y)); - } - } - - // build/classes/Box.js - class Box { - constructor(_box, allowNegativeDimensions = true) { - const box = _box || {}; - const isBbox = [box.left, box.top, box.right, box.bottom].every(isValidNumber); - const isRect = [box.x, box.y, box.width, box.height].every(isValidNumber); - if (!isRect && !isBbox) { - throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`); - } - const [x, y, width, height] = isRect ? [box.x, box.y, box.width, box.height] : [box.left, box.top, box.right - box.left, box.bottom - box.top]; - Box.assertIsValidBox({x, y, width, height}, "Box.constructor", allowNegativeDimensions); - this._x = x; - this._y = y; - this._width = width; - this._height = height; - } - static isRect(rect) { - return !!rect && [rect.x, rect.y, rect.width, rect.height].every(isValidNumber); - } - static assertIsValidBox(box, callee, allowNegativeDimensions = false) { - if (!Box.isRect(box)) { - throw new Error(`${callee} - invalid box: ${JSON.stringify(box)}, expected object with properties x, y, width, height`); - } - if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) { - throw new Error(`${callee} - width (${box.width}) and height (${box.height}) must be positive numbers`); - } - } - get x() { - return this._x; - } - get y() { - return this._y; - } - get width() { - return this._width; - } - get height() { - return this._height; - } - get left() { - return this.x; - } - get top() { - return this.y; - } - get right() { - return this.x + this.width; - } - get bottom() { - return this.y + this.height; - } - get area() { - return this.width * this.height; - } - get topLeft() { - return new Point(this.left, this.top); - } - get topRight() { - return new Point(this.right, this.top); - } - get bottomLeft() { - return new Point(this.left, this.bottom); - } - get bottomRight() { - return new Point(this.right, this.bottom); - } - round() { - const [x, y, width, height] = [this.x, this.y, this.width, this.height].map((val) => Math.round(val)); - return new Box({x, y, width, height}); - } - floor() { - const [x, y, width, height] = [this.x, this.y, this.width, this.height].map((val) => Math.floor(val)); - return new Box({x, y, width, height}); - } - toSquare() { - let {x, y, width, height} = this; - const diff = Math.abs(width - height); - if (width < height) { - x -= diff / 2; - width += diff; - } - if (height < width) { - y -= diff / 2; - height += diff; - } - return new Box({x, y, width, height}); - } - rescale(s) { - const scaleX = isDimensions(s) ? s.width : s; - const scaleY = isDimensions(s) ? s.height : s; - return new Box({ - x: this.x * scaleX, - y: this.y * scaleY, - width: this.width * scaleX, - height: this.height * scaleY - }); - } - pad(padX, padY) { - let [x, y, width, height] = [ - this.x - padX / 2, - this.y - padY / 2, - this.width + padX, - this.height + padY - ]; - return new Box({x, y, width, height}); - } - clipAtImageBorders(imgWidth, imgHeight) { - const {x, y, right, bottom} = this; - const clippedX = Math.max(x, 0); - const clippedY = Math.max(y, 0); - const newWidth = right - clippedX; - const newHeight = bottom - clippedY; - const clippedWidth = Math.min(newWidth, imgWidth - clippedX); - const clippedHeight = Math.min(newHeight, imgHeight - clippedY); - return new Box({x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight}).floor(); - } - shift(sx, sy) { - const {width, height} = this; - const x = this.x + sx; - const y = this.y + sy; - return new Box({x, y, width, height}); - } - padAtBorders(imageHeight, imageWidth) { - const w = this.width + 1; - const h = this.height + 1; - let dx = 1; - let dy = 1; - let edx = w; - let edy = h; - let x = this.left; - let y = this.top; - let ex = this.right; - let ey = this.bottom; - if (ex > imageWidth) { - edx = -ex + imageWidth + w; - ex = imageWidth; - } - if (ey > imageHeight) { - edy = -ey + imageHeight + h; - ey = imageHeight; - } - if (x < 1) { - edy = 2 - x; - x = 1; - } - if (y < 1) { - edy = 2 - y; - y = 1; - } - return {dy, edy, dx, edx, y, ey, x, ex, w, h}; - } - calibrate(region) { - return new Box({ - left: this.left + region.left * this.width, - top: this.top + region.top * this.height, - right: this.right + region.right * this.width, - bottom: this.bottom + region.bottom * this.height - }).toSquare().round(); - } - } - - // build/classes/BoundingBox.js - class BoundingBox extends Box { - constructor(left, top, right, bottom, allowNegativeDimensions = false) { - super({left, top, right, bottom}, allowNegativeDimensions); - } - } - - // build/classes/ObjectDetection.js - class ObjectDetection { - constructor(score, classScore, className, relativeBox, imageDims) { - this._imageDims = new Dimensions(imageDims.width, imageDims.height); - this._score = score; - this._classScore = classScore; - this._className = className; - this._box = new Box(relativeBox).rescale(this._imageDims); - } - get score() { - return this._score; - } - get classScore() { - return this._classScore; - } - get className() { - return this._className; - } - get box() { - return this._box; - } - get imageDims() { - return this._imageDims; - } - get imageWidth() { - return this.imageDims.width; - } - get imageHeight() { - return this.imageDims.height; - } - get relativeBox() { - return new Box(this._box).rescale(this.imageDims.reverse()); - } - forSize(width, height) { - return new ObjectDetection(this.score, this.classScore, this.className, this.relativeBox, {width, height}); - } - } - - // build/classes/FaceDetection.js - class FaceDetection extends ObjectDetection { - constructor(score, relativeBox, imageDims) { - super(score, score, "", relativeBox, imageDims); - } - forSize(width, height) { - const {score, relativeBox, imageDims} = super.forSize(width, height); - return new FaceDetection(score, relativeBox, imageDims); - } - } - - // build/ops/iou.js - function iou(box1, box2, isIOU = true) { - const width = Math.max(0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left)); - const height = Math.max(0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top)); - const interSection = width * height; - return isIOU ? interSection / (box1.area + box2.area - interSection) : interSection / Math.min(box1.area, box2.area); - } - - // build/ops/minBbox.js - function minBbox(pts) { - const xs = pts.map((pt) => pt.x); - const ys = pts.map((pt) => pt.y); - const minX = xs.reduce((min5, x) => x < min5 ? x : min5, Infinity); - const minY = ys.reduce((min5, y) => y < min5 ? y : min5, Infinity); - const maxX = xs.reduce((max7, x) => max7 < x ? x : max7, 0); - const maxY = ys.reduce((max7, y) => max7 < y ? y : max7, 0); - return new BoundingBox(minX, minY, maxX, maxY); - } - - // build/ops/nonMaxSuppression.js - function nonMaxSuppression2(boxes, scores, iouThreshold, isIOU = true) { - let indicesSortedByScore = scores.map((score, boxIndex) => ({score, boxIndex})).sort((c1, c2) => c1.score - c2.score).map((c) => c.boxIndex); - const pick = []; - while (indicesSortedByScore.length > 0) { - const curr = indicesSortedByScore.pop(); - pick.push(curr); - const indices = indicesSortedByScore; - const outputs = []; - for (let i = 0; i < indices.length; i++) { - const idx = indices[i]; - const currBox = boxes[curr]; - const idxBox = boxes[idx]; - outputs.push(iou(currBox, idxBox, isIOU)); - } - indicesSortedByScore = indicesSortedByScore.filter((_, j) => outputs[j] <= iouThreshold); - } - return pick; - } - - // build/ops/normalize.js - function normalize(x, meanRgb) { - return tidy(() => { - const [r, g, b] = meanRgb; - const avg_r = fill([...x.shape.slice(0, 3), 1], r); - const avg_g = fill([...x.shape.slice(0, 3), 1], g); - const avg_b = fill([...x.shape.slice(0, 3), 1], b); - const avg_rgb = concat([avg_r, avg_g, avg_b], 3); - return sub(x, avg_rgb); - }); - } - - // build/ops/padToSquare.js - function padToSquare(imgTensor, isCenterImage = false) { - return tidy(() => { - const [height, width] = imgTensor.shape.slice(1); - if (height === width) { - return imgTensor; - } - const dimDiff = Math.abs(height - width); - const paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1)); - const paddingAxis = height > width ? 2 : 1; - const createPaddingTensor = (paddingAmount2) => { - const paddingTensorShape = imgTensor.shape.slice(); - paddingTensorShape[paddingAxis] = paddingAmount2; - return fill(paddingTensorShape, 0); - }; - const paddingTensorAppend = createPaddingTensor(paddingAmount); - const remainingPaddingAmount = dimDiff - paddingTensorAppend.shape[paddingAxis]; - const paddingTensorPrepend = isCenterImage && remainingPaddingAmount ? createPaddingTensor(remainingPaddingAmount) : null; - const tensorsToStack = [ - paddingTensorPrepend, - imgTensor, - paddingTensorAppend - ].filter((t) => !!t).map((t) => t.toFloat()); - return concat(tensorsToStack, paddingAxis); - }); - } - - // build/ops/shuffleArray.js - function shuffleArray(inputArray) { - const array = inputArray.slice(); - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(Math.random() * (i + 1)); - const x = array[i]; - array[i] = array[j]; - array[j] = x; - } - return array; - } - - // build/ops/index.js - function sigmoid6(x) { - return 1 / (1 + Math.exp(-x)); - } - function inverseSigmoid(x) { - return Math.log(x / (1 - x)); - } - - // build/classes/Rect.js - class Rect extends Box { - constructor(x, y, width, height, allowNegativeDimensions = false) { - super({x, y, width, height}, allowNegativeDimensions); - } - } - - // build/classes/FaceLandmarks.js - const relX = 0.5; - const relY = 0.43; - const relScale = 0.45; - class FaceLandmarks { - constructor(relativeFaceLandmarkPositions, imgDims, shift = new Point(0, 0)) { - const {width, height} = imgDims; - this._imgDims = new Dimensions(width, height); - this._shift = shift; - this._positions = relativeFaceLandmarkPositions.map((pt) => pt.mul(new Point(width, height)).add(shift)); - } - get shift() { - return new Point(this._shift.x, this._shift.y); - } - get imageWidth() { - return this._imgDims.width; - } - get imageHeight() { - return this._imgDims.height; - } - get positions() { - return this._positions; - } - get relativePositions() { - return this._positions.map((pt) => pt.sub(this._shift).div(new Point(this.imageWidth, this.imageHeight))); - } - forSize(width, height) { - return new this.constructor(this.relativePositions, {width, height}); - } - shiftBy(x, y) { - return new this.constructor(this.relativePositions, this._imgDims, new Point(x, y)); - } - shiftByPoint(pt) { - return this.shiftBy(pt.x, pt.y); - } - align(detection, options = {}) { - if (detection) { - const box = detection instanceof FaceDetection ? detection.box.floor() : new Box(detection); - return this.shiftBy(box.x, box.y).align(null, options); - } - const {useDlibAlignment, minBoxPadding} = Object.assign({}, {useDlibAlignment: false, minBoxPadding: 0.2}, options); - if (useDlibAlignment) { - return this.alignDlib(); - } - return this.alignMinBbox(minBoxPadding); - } - alignDlib() { - const centers = this.getRefPointsForAlignment(); - const [leftEyeCenter, rightEyeCenter, mouthCenter] = centers; - const distToMouth = (pt) => mouthCenter.sub(pt).magnitude(); - const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2; - const size = Math.floor(eyeToMouthDist / relScale); - const refPoint = getCenterPoint(centers); - const x = Math.floor(Math.max(0, refPoint.x - relX * size)); - const y = Math.floor(Math.max(0, refPoint.y - relY * size)); - return new Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y)); - } - alignMinBbox(padding) { - const box = minBbox(this.positions); - return box.pad(box.width * padding, box.height * padding); - } - getRefPointsForAlignment() { - throw new Error("getRefPointsForAlignment not implemented by base class"); - } - } - - // build/classes/FaceLandmarks5.js - class FaceLandmarks5 extends FaceLandmarks { - getRefPointsForAlignment() { - const pts = this.positions; - return [ - pts[0], - pts[1], - getCenterPoint([pts[3], pts[4]]) - ]; - } - } - - // build/classes/FaceLandmarks68.js - class FaceLandmarks68 extends FaceLandmarks { - getJawOutline() { - return this.positions.slice(0, 17); - } - getLeftEyeBrow() { - return this.positions.slice(17, 22); - } - getRightEyeBrow() { - return this.positions.slice(22, 27); - } - getNose() { - return this.positions.slice(27, 36); - } - getLeftEye() { - return this.positions.slice(36, 42); - } - getRightEye() { - return this.positions.slice(42, 48); - } - getMouth() { - return this.positions.slice(48, 68); - } - getRefPointsForAlignment() { - return [ - this.getLeftEye(), - this.getRightEye(), - this.getMouth() - ].map(getCenterPoint); - } - } - - // build/classes/FaceMatch.js - class FaceMatch { - constructor(label, distance) { - this._label = label; - this._distance = distance; - } - get label() { - return this._label; - } - get distance() { - return this._distance; - } - toString(withDistance = true) { - return `${this.label}${withDistance ? ` (${round3(this.distance)})` : ""}`; - } - } - - // build/classes/LabeledBox.js - class LabeledBox extends Box { - constructor(box, label) { - super(box); - this._label = label; - } - static assertIsValidLabeledBox(box, callee) { - Box.assertIsValidBox(box, callee); - if (!isValidNumber(box.label)) { - throw new Error(`${callee} - expected property label (${box.label}) to be a number`); - } - } - get label() { - return this._label; - } - } - - // build/classes/LabeledFaceDescriptors.js - class LabeledFaceDescriptors { - constructor(label, descriptors) { - if (!(typeof label === "string")) { - throw new Error("LabeledFaceDescriptors - constructor expected label to be a string"); - } - if (!Array.isArray(descriptors) || descriptors.some((desc) => !(desc instanceof Float32Array))) { - throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array"); - } - this._label = label; - this._descriptors = descriptors; - } - get label() { - return this._label; - } - get descriptors() { - return this._descriptors; - } - toJSON() { - return { - label: this.label, - descriptors: this.descriptors.map((d) => Array.from(d)) - }; - } - static fromJSON(json) { - const descriptors = json.descriptors.map((d) => { - return new Float32Array(d); - }); - return new LabeledFaceDescriptors(json.label, descriptors); - } - } - - // build/classes/PredictedBox.js - class PredictedBox extends LabeledBox { - constructor(box, label, score, classScore) { - super(box, label); - this._score = score; - this._classScore = classScore; - } - static assertIsValidPredictedBox(box, callee) { - LabeledBox.assertIsValidLabeledBox(box, callee); - if (!isValidProbablitiy(box.score) || !isValidProbablitiy(box.classScore)) { - throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`); - } - } - get score() { - return this._score; - } - get classScore() { - return this._classScore; - } - } - - // build/classes/index.js - - // build/factories/WithFaceDetection.js - function isWithFaceDetection(obj) { - return obj["detection"] instanceof FaceDetection; - } - function extendWithFaceDetection(sourceObj, detection) { - const extension = {detection}; - return Object.assign({}, sourceObj, extension); - } - - // build/env/createBrowserEnv.js - function createBrowserEnv() { - const fetch3 = window["fetch"] || function() { - throw new Error("fetch - missing fetch implementation for browser environment"); - }; - const readFile = function() { - throw new Error("readFile - filesystem not available for browser environment"); - }; - return { - Canvas: HTMLCanvasElement, - CanvasRenderingContext2D, - Image: HTMLImageElement, - ImageData, - Video: HTMLVideoElement, - createCanvasElement: () => document.createElement("canvas"), - createImageElement: () => document.createElement("img"), - fetch: fetch3, - readFile - }; - } - - // build/env/createFileSystem.js - function createFileSystem(fs) { - let requireFsError = ""; - if (!fs) { - try { - fs = require("fs"); - } catch (err) { - requireFsError = err.toString(); - } - } - const readFile = fs ? function(filePath) { - return new Promise((res, rej) => { - fs.readFile(filePath, function(err, buffer10) { - return err ? rej(err) : res(buffer10); - }); - }); - } : function() { - throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); - }; - return { - readFile - }; - } - - // build/env/createNodejsEnv.js - function createNodejsEnv() { - const Canvas = global["Canvas"] || global["HTMLCanvasElement"]; - const Image = global["Image"] || global["HTMLImageElement"]; - const createCanvasElement = function() { - if (Canvas) { - return new Canvas(); - } - throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment"); - }; - const createImageElement = function() { - if (Image) { - return new Image(); - } - throw new Error("createImageElement - missing Image implementation for nodejs environment"); - }; - const fetch3 = global["fetch"] || function() { - throw new Error("fetch - missing fetch implementation for nodejs environment"); - }; - const fileSystem = createFileSystem(); - return { - Canvas: Canvas || class { - }, - CanvasRenderingContext2D: global["CanvasRenderingContext2D"] || class { - }, - Image: Image || class { - }, - ImageData: global["ImageData"] || class { - }, - Video: global["HTMLVideoElement"] || class { - }, - createCanvasElement, - createImageElement, - fetch: fetch3, - ...fileSystem - }; - } - - // build/env/isBrowser.js - function isBrowser2() { - return typeof window === "object" && typeof document !== "undefined" && typeof HTMLImageElement !== "undefined" && typeof HTMLCanvasElement !== "undefined" && typeof HTMLVideoElement !== "undefined" && typeof ImageData !== "undefined" && typeof CanvasRenderingContext2D !== "undefined"; - } - - // build/dom/resolveInput.js - const env2 = __toModule(require_env()); - function resolveInput(arg) { - if (!env2.env.isNodejs() && typeof arg === "string") { - return document.getElementById(arg); - } - return arg; - } - - // build/dom/getContext2dOrThrow.js - const env4 = __toModule(require_env()); - function getContext2dOrThrow(canvasArg) { - const {Canvas, CanvasRenderingContext2D: CanvasRenderingContext2D2} = env4.env.getEnv(); - if (canvasArg instanceof CanvasRenderingContext2D2) { - return canvasArg; - } - const canvas = resolveInput(canvasArg); - if (!(canvas instanceof Canvas)) { - throw new Error("resolveContext2d - expected canvas to be of instance of Canvas"); - } - const ctx = canvas.getContext("2d"); - if (!ctx) { - throw new Error("resolveContext2d - canvas 2d context is null"); - } - return ctx; - } - - // build/draw/DrawTextField.js - var AnchorPosition; - (function(AnchorPosition2) { - AnchorPosition2["TOP_LEFT"] = "TOP_LEFT"; - AnchorPosition2["TOP_RIGHT"] = "TOP_RIGHT"; - AnchorPosition2["BOTTOM_LEFT"] = "BOTTOM_LEFT"; - AnchorPosition2["BOTTOM_RIGHT"] = "BOTTOM_RIGHT"; - })(AnchorPosition || (AnchorPosition = {})); - class DrawTextFieldOptions { - constructor(options = {}) { - const {anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding} = options; - this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT; - this.backgroundColor = backgroundColor || "rgba(0, 0, 0, 0.5)"; - this.fontColor = fontColor || "rgba(255, 255, 255, 1)"; - this.fontSize = fontSize || 14; - this.fontStyle = fontStyle || "Georgia"; - this.padding = padding || 4; - } - } - class DrawTextField { - constructor(text, anchor, options = {}) { - this.text = typeof text === "string" ? [text] : text instanceof DrawTextField ? text.text : text; - this.anchor = anchor; - this.options = new DrawTextFieldOptions(options); - } - measureWidth(ctx) { - const {padding} = this.options; - return this.text.map((l) => ctx.measureText(l).width).reduce((w0, w1) => w0 < w1 ? w1 : w0, 0) + 2 * padding; - } - measureHeight() { - const {fontSize, padding} = this.options; - return this.text.length * fontSize + 2 * padding; - } - getUpperLeft(ctx, canvasDims) { - const {anchorPosition} = this.options; - const isShiftLeft = anchorPosition === AnchorPosition.BOTTOM_RIGHT || anchorPosition === AnchorPosition.TOP_RIGHT; - const isShiftTop = anchorPosition === AnchorPosition.BOTTOM_LEFT || anchorPosition === AnchorPosition.BOTTOM_RIGHT; - const textFieldWidth = this.measureWidth(ctx); - const textFieldHeight = this.measureHeight(); - const x = isShiftLeft ? this.anchor.x - textFieldWidth : this.anchor.x; - const y = isShiftTop ? this.anchor.y - textFieldHeight : this.anchor.y; - if (canvasDims) { - const {width, height} = canvasDims; - const newX = Math.max(Math.min(x, width - textFieldWidth), 0); - const newY = Math.max(Math.min(y, height - textFieldHeight), 0); - return {x: newX, y: newY}; - } - return {x, y}; - } - draw(canvasArg) { - const canvas = resolveInput(canvasArg); - const ctx = getContext2dOrThrow(canvas); - const {backgroundColor, fontColor, fontSize, fontStyle, padding} = this.options; - ctx.font = `${fontSize}px ${fontStyle}`; - const maxTextWidth = this.measureWidth(ctx); - const textHeight = this.measureHeight(); - ctx.fillStyle = backgroundColor; - const upperLeft = this.getUpperLeft(ctx, canvas); - ctx.fillRect(upperLeft.x, upperLeft.y, maxTextWidth, textHeight); - ctx.fillStyle = fontColor; - this.text.forEach((textLine, i) => { - const x = padding + upperLeft.x; - const y = padding + upperLeft.y + (i + 1) * fontSize; - ctx.fillText(textLine, x, y); - }); - } - } - - // build/draw/DrawBox.js - class DrawBoxOptions { - constructor(options = {}) { - const {boxColor, lineWidth, label, drawLabelOptions} = options; - this.boxColor = boxColor || "rgba(0, 0, 255, 1)"; - this.lineWidth = lineWidth || 2; - this.label = label; - const defaultDrawLabelOptions = { - anchorPosition: AnchorPosition.BOTTOM_LEFT, - backgroundColor: this.boxColor - }; - this.drawLabelOptions = new DrawTextFieldOptions(Object.assign({}, defaultDrawLabelOptions, drawLabelOptions)); - } - } - class DrawBox { - constructor(box, options = {}) { - this.box = new Box(box); - this.options = new DrawBoxOptions(options); - } - draw(canvasArg) { - const ctx = getContext2dOrThrow(canvasArg); - const {boxColor, lineWidth} = this.options; - const {x, y, width, height} = this.box; - ctx.strokeStyle = boxColor; - ctx.lineWidth = lineWidth; - ctx.strokeRect(x, y, width, height); - const {label} = this.options; - if (label) { - new DrawTextField([label], {x: x - lineWidth / 2, y}, this.options.drawLabelOptions).draw(canvasArg); - } - } - } - - // build/draw/drawDetections.js - function drawDetections(canvasArg, detections) { - const detectionsArray = Array.isArray(detections) ? detections : [detections]; - detectionsArray.forEach((det) => { - const score = det instanceof FaceDetection ? det.score : isWithFaceDetection(det) ? det.detection.score : void 0; - const box = det instanceof FaceDetection ? det.box : isWithFaceDetection(det) ? det.detection.box : new Box(det); - const label = score ? `${round3(score)}` : void 0; - new DrawBox(box, {label}).draw(canvasArg); - }); - } - - // build/dom/isMediaLoaded.js - const env6 = __toModule(require_env()); - function isMediaLoaded(media) { - const {Image, Video} = env6.env.getEnv(); - return media instanceof Image && media.complete || media instanceof Video && media.readyState >= 3; - } - - // build/dom/awaitMediaLoaded.js - const env8 = __toModule(require_env()); - function awaitMediaLoaded(media) { - return new Promise((resolve, reject) => { - if (media instanceof env8.env.getEnv().Canvas || isMediaLoaded(media)) { - return resolve(); - } - function onLoad(e) { - if (!e.currentTarget) - return; - e.currentTarget.removeEventListener("load", onLoad); - e.currentTarget.removeEventListener("error", onError); - resolve(e); - } - function onError(e) { - if (!e.currentTarget) - return; - e.currentTarget.removeEventListener("load", onLoad); - e.currentTarget.removeEventListener("error", onError); - reject(e); - } - media.addEventListener("load", onLoad); - media.addEventListener("error", onError); - }); - } - - // build/dom/bufferToImage.js - const env10 = __toModule(require_env()); - function bufferToImage(buf) { - return new Promise((resolve, reject) => { - if (!(buf instanceof Blob)) { - return reject("bufferToImage - expected buf to be of type: Blob"); - } - const reader = new FileReader(); - reader.onload = () => { - if (typeof reader.result !== "string") { - return reject("bufferToImage - expected reader.result to be a string, in onload"); - } - const img = env10.env.getEnv().createImageElement(); - img.onload = () => resolve(img); - img.onerror = reject; - img.src = reader.result; - }; - reader.onerror = reject; - reader.readAsDataURL(buf); - }); - } - - // build/dom/getMediaDimensions.js - const env12 = __toModule(require_env()); - function getMediaDimensions(input) { - const {Image, Video} = env12.env.getEnv(); - if (input instanceof Image) { - return new Dimensions(input.naturalWidth, input.naturalHeight); - } - if (input instanceof Video) { - return new Dimensions(input.videoWidth, input.videoHeight); - } - return new Dimensions(input.width, input.height); - } - - // build/dom/createCanvas.js - const env14 = __toModule(require_env()); - function createCanvas({width, height}) { - const {createCanvasElement} = env14.env.getEnv(); - const canvas = createCanvasElement(); - canvas.width = width; - canvas.height = height; - return canvas; - } - function createCanvasFromMedia(media, dims) { - const {ImageData: ImageData2} = env14.env.getEnv(); - if (!(media instanceof ImageData2) && !isMediaLoaded(media)) { - throw new Error("createCanvasFromMedia - media has not finished loading yet"); - } - const {width, height} = dims || getMediaDimensions(media); - const canvas = createCanvas({width, height}); - if (media instanceof ImageData2) { - getContext2dOrThrow(canvas).putImageData(media, 0, 0); - } else { - getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height); - } - return canvas; - } - - // build/dom/imageTensorToCanvas.js - const env16 = __toModule(require_env()); - async function imageTensorToCanvas(imgTensor, canvas) { - const targetCanvas = canvas || env16.env.getEnv().createCanvasElement(); - const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0); - const imgTensor3D = tidy(() => imgTensor.as3D(height, width, numChannels).toInt()); - await browser_exports.toPixels(imgTensor3D, targetCanvas); - imgTensor3D.dispose(); - return targetCanvas; - } - - // build/dom/isMediaElement.js - const env18 = __toModule(require_env()); - function isMediaElement(input) { - const {Image, Canvas, Video} = env18.env.getEnv(); - return input instanceof Image || input instanceof Canvas || input instanceof Video; - } - - // build/dom/imageToSquare.js - const env20 = __toModule(require_env()); - function imageToSquare(input, inputSize, centerImage = false) { - const {Image, Canvas} = env20.env.getEnv(); - if (!(input instanceof Image || input instanceof Canvas)) { - throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement"); - } - const dims = getMediaDimensions(input); - const scale2 = inputSize / Math.max(dims.height, dims.width); - const width = scale2 * dims.width; - const height = scale2 * dims.height; - const targetCanvas = createCanvas({width: inputSize, height: inputSize}); - const inputCanvas = input instanceof Canvas ? input : createCanvasFromMedia(input); - const offset = Math.abs(width - height) / 2; - const dx = centerImage && width < height ? offset : 0; - const dy = centerImage && height < width ? offset : 0; - getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height); - return targetCanvas; - } - - // build/dom/NetInput.js - const env22 = __toModule(require_env()); - class NetInput { - constructor(inputs, treatAsBatchInput = false) { - this._imageTensors = []; - this._canvases = []; - this._treatAsBatchInput = false; - this._inputDimensions = []; - if (!Array.isArray(inputs)) { - throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${inputs}`); - } - this._treatAsBatchInput = treatAsBatchInput; - this._batchSize = inputs.length; - inputs.forEach((input, idx) => { - if (isTensor3D(input)) { - this._imageTensors[idx] = input; - this._inputDimensions[idx] = input.shape; - return; - } - if (isTensor4D(input)) { - const batchSize = input.shape[0]; - if (batchSize !== 1) { - throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`); - } - this._imageTensors[idx] = input; - this._inputDimensions[idx] = input.shape.slice(1); - return; - } - const canvas = input instanceof env22.env.getEnv().Canvas ? input : createCanvasFromMedia(input); - this._canvases[idx] = canvas; - this._inputDimensions[idx] = [canvas.height, canvas.width, 3]; - }); - } - get imageTensors() { - return this._imageTensors; - } - get canvases() { - return this._canvases; - } - get isBatchInput() { - return this.batchSize > 1 || this._treatAsBatchInput; - } - get batchSize() { - return this._batchSize; - } - get inputDimensions() { - return this._inputDimensions; - } - get inputSize() { - return this._inputSize; - } - get reshapedInputDimensions() { - return range4(this.batchSize, 0, 1).map((_, batchIdx) => this.getReshapedInputDimensions(batchIdx)); - } - getInput(batchIdx) { - return this.canvases[batchIdx] || this.imageTensors[batchIdx]; - } - getInputDimensions(batchIdx) { - return this._inputDimensions[batchIdx]; - } - getInputHeight(batchIdx) { - return this._inputDimensions[batchIdx][0]; - } - getInputWidth(batchIdx) { - return this._inputDimensions[batchIdx][1]; - } - getReshapedInputDimensions(batchIdx) { - if (typeof this.inputSize !== "number") { - throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet"); - } - const width = this.getInputWidth(batchIdx); - const height = this.getInputHeight(batchIdx); - return computeReshapedDimensions({width, height}, this.inputSize); - } - toBatchTensor(inputSize, isCenterInputs = true) { - this._inputSize = inputSize; - return tidy(() => { - const inputTensors = range4(this.batchSize, 0, 1).map((batchIdx) => { - const input = this.getInput(batchIdx); - if (input instanceof Tensor) { - let imgTensor = isTensor4D(input) ? input : input.expandDims(); - imgTensor = padToSquare(imgTensor, isCenterInputs); - if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) { - imgTensor = image.resizeBilinear(imgTensor, [inputSize, inputSize]); - } - return imgTensor.as3D(inputSize, inputSize, 3); - } - if (input instanceof env22.env.getEnv().Canvas) { - return browser_exports.fromPixels(imageToSquare(input, inputSize, isCenterInputs)); - } - throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`); - }); - const batchTensor = stack(inputTensors.map((t) => t.toFloat())).as4D(this.batchSize, inputSize, inputSize, 3); - return batchTensor; - }); - } - } - - // build/dom/toNetInput.js - async function toNetInput(inputs) { - if (inputs instanceof NetInput) { - return inputs; - } - let inputArgArray = Array.isArray(inputs) ? inputs : [inputs]; - if (!inputArgArray.length) { - throw new Error("toNetInput - empty array passed as input"); - } - const getIdxHint = (idx) => Array.isArray(inputs) ? ` at input index ${idx}:` : ""; - const inputArray = inputArgArray.map(resolveInput); - inputArray.forEach((input, i) => { - if (!isMediaElement(input) && !isTensor3D(input) && !isTensor4D(input)) { - if (typeof inputArgArray[i] === "string") { - throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`); - } - throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`); - } - if (isTensor4D(input)) { - const batchSize = input.shape[0]; - if (batchSize !== 1) { - throw new Error(`toNetInput -${getIdxHint(i)} tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`); - } - } - }); - await Promise.all(inputArray.map((input) => isMediaElement(input) && awaitMediaLoaded(input))); - return new NetInput(inputArray, Array.isArray(inputs)); - } - - // build/dom/extractFaces.js - const env24 = __toModule(require_env()); - async function extractFaces(input, detections) { - const {Canvas} = env24.env.getEnv(); - let canvas = input; - if (!(input instanceof Canvas)) { - const netInput = await toNetInput(input); - if (netInput.batchSize > 1) { - throw new Error("extractFaces - batchSize > 1 not supported"); - } - const tensorOrCanvas = netInput.getInput(0); - canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas : await imageTensorToCanvas(tensorOrCanvas); - } - const ctx = getContext2dOrThrow(canvas); - const boxes = detections.map((det) => det instanceof FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det).map((box) => box.clipAtImageBorders(canvas.width, canvas.height)); - return boxes.map(({x, y, width, height}) => { - const faceImg = createCanvas({width, height}); - getContext2dOrThrow(faceImg).putImageData(ctx.getImageData(x, y, width, height), 0, 0); - return faceImg; - }); - } - - // build/dom/extractFaceTensors.js - async function extractFaceTensors(imageTensor, detections) { - if (!isTensor3D(imageTensor) && !isTensor4D(imageTensor)) { - throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D"); - } - if (isTensor4D(imageTensor) && imageTensor.shape[0] > 1) { - throw new Error("extractFaceTensors - batchSize > 1 not supported"); - } - return tidy(() => { - const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(isTensor4D(imageTensor) ? 1 : 0); - const boxes = detections.map((det) => det instanceof FaceDetection ? det.forSize(imgWidth, imgHeight).box : det).map((box) => box.clipAtImageBorders(imgWidth, imgHeight)); - const faceTensors = boxes.map(({x, y, width, height}) => slice3d(imageTensor.as3D(imgHeight, imgWidth, numChannels), [y, x, 0], [height, width, numChannels])); - return faceTensors; - }); - } - - // build/dom/fetchOrThrow.js - const env26 = __toModule(require_env()); - async function fetchOrThrow(url, init) { - const fetch3 = env26.env.getEnv().fetch; - const res = await fetch3(url, init); - if (!(res.status < 400)) { - throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`); - } - return res; - } - - // build/dom/fetchImage.js - async function fetchImage(uri) { - const res = await fetchOrThrow(uri); - const blob = await res.blob(); - if (!blob.type.startsWith("image/")) { - throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`); - } - return bufferToImage(blob); - } - - // build/dom/fetchJson.js - async function fetchJson(uri) { - return (await fetchOrThrow(uri)).json(); - } - - // build/dom/fetchNetWeights.js - async function fetchNetWeights(uri) { - return new Float32Array(await (await fetchOrThrow(uri)).arrayBuffer()); - } - - // build/common/getModelUris.js - function getModelUris(uri, defaultModelName) { - const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`; - if (!uri) { - return { - modelBaseUri: "", - manifestUri: defaultManifestFilename - }; - } - if (uri === "/") { - return { - modelBaseUri: "/", - manifestUri: `/${defaultManifestFilename}` - }; - } - const protocol = uri.startsWith("http://") ? "http://" : uri.startsWith("https://") ? "https://" : ""; - uri = uri.replace(protocol, ""); - const parts = uri.split("/").filter((s) => s); - const manifestFile = uri.endsWith(".json") ? parts[parts.length - 1] : defaultManifestFilename; - let modelBaseUri = protocol + (uri.endsWith(".json") ? parts.slice(0, parts.length - 1) : parts).join("/"); - modelBaseUri = uri.startsWith("/") ? `/${modelBaseUri}` : modelBaseUri; - return { - modelBaseUri, - manifestUri: modelBaseUri === "/" ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}` - }; - } - - // build/dom/loadWeightMap.js - async function loadWeightMap(uri, defaultModelName) { - const {manifestUri, modelBaseUri} = getModelUris(uri, defaultModelName); - const manifest = await fetchJson(manifestUri); - return io_exports.loadWeights(manifest, modelBaseUri); - } - - // build/dom/matchDimensions.js - function matchDimensions(input, reference, useMediaDimensions = false) { - const {width, height} = useMediaDimensions ? getMediaDimensions(reference) : reference; - input.width = width; - input.height = height; - return {width, height}; - } - - // build/NeuralNetwork.js - const dom = __toModule(require_dom()); - const env28 = __toModule(require_env()); - class NeuralNetwork { - constructor(_name) { - this._name = _name; - this._params = void 0; - this._paramMappings = []; - } - get params() { - return this._params; - } - get paramMappings() { - return this._paramMappings; - } - get isLoaded() { - return !!this.params; - } - getParamFromPath(paramPath) { - const {obj, objProp} = this.traversePropertyPath(paramPath); - return obj[objProp]; - } - reassignParamFromPath(paramPath, tensor17) { - const {obj, objProp} = this.traversePropertyPath(paramPath); - obj[objProp].dispose(); - obj[objProp] = tensor17; - } - getParamList() { - return this._paramMappings.map(({paramPath}) => ({ - path: paramPath, - tensor: this.getParamFromPath(paramPath) - })); - } - getTrainableParams() { - return this.getParamList().filter((param) => param.tensor instanceof Variable); - } - getFrozenParams() { - return this.getParamList().filter((param) => !(param.tensor instanceof Variable)); - } - variable() { - this.getFrozenParams().forEach(({path, tensor: tensor17}) => { - this.reassignParamFromPath(path, tensor17.variable()); - }); - } - freeze() { - this.getTrainableParams().forEach(({path, tensor: variable3}) => { - const tensor17 = tensor5(variable3.dataSync()); - variable3.dispose(); - this.reassignParamFromPath(path, tensor17); - }); - } - dispose(throwOnRedispose = true) { - this.getParamList().forEach((param) => { - if (throwOnRedispose && param.tensor.isDisposed) { - throw new Error(`param tensor has already been disposed for path ${param.path}`); - } - param.tensor.dispose(); - }); - this._params = void 0; - } - serializeParams() { - return new Float32Array(this.getParamList().map(({tensor: tensor17}) => Array.from(tensor17.dataSync())).reduce((flat, arr) => flat.concat(arr))); - } - async load(weightsOrUrl) { - if (weightsOrUrl instanceof Float32Array) { - this.extractWeights(weightsOrUrl); - return; - } - await this.loadFromUri(weightsOrUrl); - } - async loadFromUri(uri) { - if (uri && typeof uri !== "string") { - throw new Error(`${this._name}.loadFromUri - expected model uri`); - } - const weightMap = await dom.loadWeightMap(uri, this.getDefaultModelName()); - this.loadFromWeightMap(weightMap); - } - async loadFromDisk(filePath) { - if (filePath && typeof filePath !== "string") { - throw new Error(`${this._name}.loadFromDisk - expected model file path`); - } - const {readFile} = env28.env.getEnv(); - const {manifestUri, modelBaseUri} = getModelUris(filePath, this.getDefaultModelName()); - const fetchWeightsFromDisk = (filePaths) => Promise.all(filePaths.map((filePath2) => readFile(filePath2).then((buf) => buf.buffer))); - const loadWeights2 = io_exports.weightsLoaderFactory(fetchWeightsFromDisk); - const manifest = JSON.parse((await readFile(manifestUri)).toString()); - const weightMap = await loadWeights2(manifest, modelBaseUri); - this.loadFromWeightMap(weightMap); - } - loadFromWeightMap(weightMap) { - const {paramMappings, params} = this.extractParamsFromWeigthMap(weightMap); - this._paramMappings = paramMappings; - this._params = params; - } - extractWeights(weights) { - const {paramMappings, params} = this.extractParams(weights); - this._paramMappings = paramMappings; - this._params = params; - } - traversePropertyPath(paramPath) { - if (!this.params) { - throw new Error(`traversePropertyPath - model has no loaded params`); - } - const result = paramPath.split("/").reduce((res, objProp2) => { - if (!res.nextObj.hasOwnProperty(objProp2)) { - throw new Error(`traversePropertyPath - object does not have property ${objProp2}, for path ${paramPath}`); - } - return {obj: res.nextObj, objProp: objProp2, nextObj: res.nextObj[objProp2]}; - }, {nextObj: this.params}); - const {obj, objProp} = result; - if (!obj || !objProp || !(obj[objProp] instanceof Tensor)) { - throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${paramPath}`); - } - return {obj, objProp}; - } - } - - // build/common/depthwiseSeparableConv.js - function depthwiseSeparableConv(x, params, stride) { - return tidy(() => { - let out = separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, "same"); - out = add2(out, params.bias); - return out; - }); - } - - // build/faceFeatureExtractor/denseBlock.js - function denseBlock3(x, denseBlockParams, isFirstLayer = false) { - return tidy(() => { - const out1 = relu(isFirstLayer ? add2(conv2d(x, denseBlockParams.conv0.filters, [2, 2], "same"), denseBlockParams.conv0.bias) : depthwiseSeparableConv(x, denseBlockParams.conv0, [2, 2])); - const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); - const in3 = relu(add2(out1, out2)); - const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); - return relu(add2(out1, add2(out2, out3))); - }); - } - function denseBlock4(x, denseBlockParams, isFirstLayer = false, isScaleDown = true) { - return tidy(() => { - const out1 = relu(isFirstLayer ? add2(conv2d(x, denseBlockParams.conv0.filters, isScaleDown ? [2, 2] : [1, 1], "same"), denseBlockParams.conv0.bias) : depthwiseSeparableConv(x, denseBlockParams.conv0, isScaleDown ? [2, 2] : [1, 1])); - const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]); - const in3 = relu(add2(out1, out2)); - const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]); - const in4 = relu(add2(out1, add2(out2, out3))); - const out4 = depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]); - return relu(add2(out1, add2(out2, add2(out3, out4)))); - }); - } - - // build/common/convLayer.js - function convLayer(x, params, padding = "same", withRelu = false) { - return tidy(() => { - const out = add2(conv2d(x, params.filters, [1, 1], padding), params.bias); - return withRelu ? relu(out) : out; - }); - } - - // build/common/disposeUnusedWeightTensors.js - function disposeUnusedWeightTensors(weightMap, paramMappings) { - Object.keys(weightMap).forEach((path) => { - if (!paramMappings.some((pm) => pm.originalPath === path)) { - weightMap[path].dispose(); - } - }); - } - - // build/common/extractConvParamsFactory.js - function extractConvParamsFactory(extractWeights, paramMappings) { - return function(channelsIn, channelsOut, filterSize, mappedPrefix) { - const filters = tensor4d(extractWeights(channelsIn * channelsOut * filterSize * filterSize), [filterSize, filterSize, channelsIn, channelsOut]); - const bias = tensor1d(extractWeights(channelsOut)); - paramMappings.push({paramPath: `${mappedPrefix}/filters`}, {paramPath: `${mappedPrefix}/bias`}); - return {filters, bias}; - }; - } - - // build/common/extractFCParamsFactory.js - function extractFCParamsFactory(extractWeights, paramMappings) { - return function(channelsIn, channelsOut, mappedPrefix) { - const fc_weights = tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]); - const fc_bias = tensor1d(extractWeights(channelsOut)); - paramMappings.push({paramPath: `${mappedPrefix}/weights`}, {paramPath: `${mappedPrefix}/bias`}); - return { - weights: fc_weights, - bias: fc_bias - }; - }; - } - - // build/common/types.js - class SeparableConvParams { - constructor(depthwise_filter, pointwise_filter, bias) { - this.depthwise_filter = depthwise_filter; - this.pointwise_filter = pointwise_filter; - this.bias = bias; - } - } - - // build/common/extractSeparableConvParamsFactory.js - function extractSeparableConvParamsFactory(extractWeights, paramMappings) { - return function(channelsIn, channelsOut, mappedPrefix) { - const depthwise_filter = tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]); - const pointwise_filter = tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]); - const bias = tensor1d(extractWeights(channelsOut)); - paramMappings.push({paramPath: `${mappedPrefix}/depthwise_filter`}, {paramPath: `${mappedPrefix}/pointwise_filter`}, {paramPath: `${mappedPrefix}/bias`}); - return new SeparableConvParams(depthwise_filter, pointwise_filter, bias); - }; - } - function loadSeparableConvParamsFactory(extractWeightEntry) { - return function(prefix) { - const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4); - const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4); - const bias = extractWeightEntry(`${prefix}/bias`, 1); - return new SeparableConvParams(depthwise_filter, pointwise_filter, bias); - }; - } - - // build/common/extractWeightEntryFactory.js - function extractWeightEntryFactory(weightMap, paramMappings) { - return function(originalPath, paramRank, mappedPath) { - const tensor17 = weightMap[originalPath]; - if (!isTensor(tensor17, paramRank)) { - throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor17}`); - } - paramMappings.push({originalPath, paramPath: mappedPath || originalPath}); - return tensor17; - }; - } - - // build/common/extractWeightsFactory.js - function extractWeightsFactory(weights) { - let remainingWeights = weights; - function extractWeights(numWeights) { - const ret = remainingWeights.slice(0, numWeights); - remainingWeights = remainingWeights.slice(numWeights); - return ret; - } - function getRemainingWeights() { - return remainingWeights; - } - return { - extractWeights, - getRemainingWeights - }; - } - - // build/common/index.js - - // build/faceFeatureExtractor/extractorsFactory.js - function extractorsFactory(extractWeights, paramMappings) { - const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings); - const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings); - function extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer = false) { - const conv0 = isFirstLayer ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`) : extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/conv0`); - const conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv1`); - const conv22 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv2`); - return {conv0, conv1, conv2: conv22}; - } - function extractDenseBlock4Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer = false) { - const {conv0, conv1, conv2: conv22} = extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer); - const conv3 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv3`); - return {conv0, conv1, conv2: conv22, conv3}; - } - return { - extractDenseBlock3Params, - extractDenseBlock4Params - }; - } - - // build/faceFeatureExtractor/extractParams.js - function extractParams(weights) { - const paramMappings = []; - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const {extractDenseBlock4Params} = extractorsFactory(extractWeights, paramMappings); - const dense0 = extractDenseBlock4Params(3, 32, "dense0", true); - const dense1 = extractDenseBlock4Params(32, 64, "dense1"); - const dense2 = extractDenseBlock4Params(64, 128, "dense2"); - const dense3 = extractDenseBlock4Params(128, 256, "dense3"); - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - return { - paramMappings, - params: {dense0, dense1, dense2, dense3} - }; - } - - // build/common/loadConvParamsFactory.js - function loadConvParamsFactory(extractWeightEntry) { - return function(prefix) { - const filters = extractWeightEntry(`${prefix}/filters`, 4); - const bias = extractWeightEntry(`${prefix}/bias`, 1); - return {filters, bias}; - }; - } - - // build/faceFeatureExtractor/loadParamsFactory.js - function loadParamsFactory(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - const extractConvParams = loadConvParamsFactory(extractWeightEntry); - const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry); - function extractDenseBlock3Params(prefix, isFirstLayer = false) { - const conv0 = isFirstLayer ? extractConvParams(`${prefix}/conv0`) : extractSeparableConvParams(`${prefix}/conv0`); - const conv1 = extractSeparableConvParams(`${prefix}/conv1`); - const conv22 = extractSeparableConvParams(`${prefix}/conv2`); - return {conv0, conv1, conv2: conv22}; - } - function extractDenseBlock4Params(prefix, isFirstLayer = false) { - const conv0 = isFirstLayer ? extractConvParams(`${prefix}/conv0`) : extractSeparableConvParams(`${prefix}/conv0`); - const conv1 = extractSeparableConvParams(`${prefix}/conv1`); - const conv22 = extractSeparableConvParams(`${prefix}/conv2`); - const conv3 = extractSeparableConvParams(`${prefix}/conv3`); - return {conv0, conv1, conv2: conv22, conv3}; - } - return { - extractDenseBlock3Params, - extractDenseBlock4Params - }; - } - - // build/faceFeatureExtractor/extractParamsFromWeigthMap.js - function extractParamsFromWeigthMap(weightMap) { - const paramMappings = []; - const {extractDenseBlock4Params} = loadParamsFactory(weightMap, paramMappings); - const params = { - dense0: extractDenseBlock4Params("dense0", true), - dense1: extractDenseBlock4Params("dense1"), - dense2: extractDenseBlock4Params("dense2"), - dense3: extractDenseBlock4Params("dense3") - }; - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params, paramMappings}; - } - - // build/faceFeatureExtractor/FaceFeatureExtractor.js - const dom2 = __toModule(require_dom()); - class FaceFeatureExtractor extends NeuralNetwork { - constructor() { - super("FaceFeatureExtractor"); - } - forwardInput(input) { - const {params} = this; - if (!params) { - throw new Error("FaceFeatureExtractor - load model before inference"); - } - return tidy(() => { - const batchTensor = input.toBatchTensor(112, true); - const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(scalar(255)); - let out = denseBlock4(normalized, params.dense0, true); - out = denseBlock4(out, params.dense1); - out = denseBlock4(out, params.dense2); - out = denseBlock4(out, params.dense3); - out = avgPool(out, [7, 7], [2, 2], "valid"); - return out; - }); - } - async forward(input) { - return this.forwardInput(await dom2.toNetInput(input)); - } - getDefaultModelName() { - return "face_feature_extractor_model"; - } - extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap(weightMap); - } - extractParams(weights) { - return extractParams(weights); - } - } - - // build/common/fullyConnectedLayer.js - function fullyConnectedLayer(x, params) { - return tidy(() => add2(matMul(x, params.weights), params.bias)); - } - - // build/faceProcessor/extractParams.js - function extractParams3(weights, channelsIn, channelsOut) { - const paramMappings = []; - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings); - const fc = extractFCParams(channelsIn, channelsOut, "fc"); - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - return { - paramMappings, - params: {fc} - }; - } - - // build/faceProcessor/extractParamsFromWeigthMap.js - function extractParamsFromWeigthMap3(weightMap) { - const paramMappings = []; - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - function extractFcParams(prefix) { - const weights = extractWeightEntry(`${prefix}/weights`, 2); - const bias = extractWeightEntry(`${prefix}/bias`, 1); - return {weights, bias}; - } - const params = { - fc: extractFcParams("fc") - }; - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params, paramMappings}; - } - - // build/faceProcessor/util.js - function seperateWeightMaps(weightMap) { - const featureExtractorMap = {}; - const classifierMap = {}; - Object.keys(weightMap).forEach((key) => { - const map = key.startsWith("fc") ? classifierMap : featureExtractorMap; - map[key] = weightMap[key]; - }); - return {featureExtractorMap, classifierMap}; - } - - // build/faceProcessor/FaceProcessor.js - const dom3 = __toModule(require_dom()); - class FaceProcessor extends NeuralNetwork { - constructor(_name, faceFeatureExtractor) { - super(_name); - this._faceFeatureExtractor = faceFeatureExtractor; - } - get faceFeatureExtractor() { - return this._faceFeatureExtractor; - } - runNet(input) { - const {params} = this; - if (!params) { - throw new Error(`${this._name} - load model before inference`); - } - return tidy(() => { - const bottleneckFeatures = input instanceof dom3.NetInput ? this.faceFeatureExtractor.forwardInput(input) : input; - return fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc); - }); - } - dispose(throwOnRedispose = true) { - this.faceFeatureExtractor.dispose(throwOnRedispose); - super.dispose(throwOnRedispose); - } - loadClassifierParams(weights) { - const {params, paramMappings} = this.extractClassifierParams(weights); - this._params = params; - this._paramMappings = paramMappings; - } - extractClassifierParams(weights) { - return extractParams3(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut()); - } - extractParamsFromWeigthMap(weightMap) { - const {featureExtractorMap, classifierMap} = seperateWeightMaps(weightMap); - this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap); - return extractParamsFromWeigthMap3(classifierMap); - } - extractParams(weights) { - const cIn = this.getClassifierChannelsIn(); - const cOut = this.getClassifierChannelsOut(); - const classifierWeightSize = cOut * cIn + cOut; - const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize); - const classifierWeights = weights.slice(weights.length - classifierWeightSize); - this.faceFeatureExtractor.extractWeights(featureExtractorWeights); - return this.extractClassifierParams(classifierWeights); - } - } - - // build/faceExpressionNet/FaceExpressions.js - const FACE_EXPRESSION_LABELS = ["neutral", "happy", "sad", "angry", "fearful", "disgusted", "surprised"]; - class FaceExpressions { - constructor(probabilities) { - if (probabilities.length !== 7) { - throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`); - } - FACE_EXPRESSION_LABELS.forEach((expression, idx) => { - this[expression] = probabilities[idx]; - }); - } - asSortedArray() { - return FACE_EXPRESSION_LABELS.map((expression) => ({expression, probability: this[expression]})).sort((e0, e1) => e1.probability - e0.probability); - } - } - - // build/faceExpressionNet/FaceExpressionNet.js - const dom4 = __toModule(require_dom()); - class FaceExpressionNet extends FaceProcessor { - constructor(faceFeatureExtractor = new FaceFeatureExtractor()) { - super("FaceExpressionNet", faceFeatureExtractor); - } - forwardInput(input) { - return tidy(() => softmax(this.runNet(input))); - } - async forward(input) { - return this.forwardInput(await dom4.toNetInput(input)); - } - async predictExpressions(input) { - const netInput = await dom4.toNetInput(input); - const out = await this.forwardInput(netInput); - const probabilitesByBatch = await Promise.all(unstack(out).map(async (t) => { - const data = await t.data(); - t.dispose(); - return data; - })); - out.dispose(); - const predictionsByBatch = probabilitesByBatch.map((probabilites) => new FaceExpressions(probabilites)); - return netInput.isBatchInput ? predictionsByBatch : predictionsByBatch[0]; - } - getDefaultModelName() { - return "face_expression_model"; - } - getClassifierChannelsIn() { - return 256; - } - getClassifierChannelsOut() { - return 7; - } - } - - // build/faceExpressionNet/index.js - - // build/factories/WithFaceExpressions.js - function isWithFaceExpressions(obj) { - return obj["expressions"] instanceof FaceExpressions; - } - function extendWithFaceExpressions(sourceObj, expressions) { - const extension = {expressions}; - return Object.assign({}, sourceObj, extension); - } - - // build/draw/drawFaceExpressions.js - function drawFaceExpressions(canvasArg, faceExpressions, minConfidence = 0.1, textFieldAnchor) { - const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions]; - faceExpressionsArray.forEach((e) => { - const expr = e instanceof FaceExpressions ? e : isWithFaceExpressions(e) ? e.expressions : void 0; - if (!expr) { - throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof"); - } - const sorted = expr.asSortedArray(); - const resultsToDisplay = sorted.filter((expr2) => expr2.probability > minConfidence); - const anchor = isWithFaceDetection(e) ? e.detection.box.bottomLeft : textFieldAnchor || new Point(0, 0); - const drawTextField = new DrawTextField(resultsToDisplay.map((expr2) => `${expr2.expression} (${round3(expr2.probability)})`), anchor); - drawTextField.draw(canvasArg); - }); - } - - // build/factories/WithFaceLandmarks.js - function isWithFaceLandmarks(obj) { - return isWithFaceDetection(obj) && obj["landmarks"] instanceof FaceLandmarks && obj["unshiftedLandmarks"] instanceof FaceLandmarks && obj["alignedRect"] instanceof FaceDetection; - } - function extendWithFaceLandmarks(sourceObj, unshiftedLandmarks) { - const {box: shift} = sourceObj.detection; - const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y); - const rect = landmarks.align(); - const {imageDims} = sourceObj.detection; - const alignedRect = new FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims); - const extension = { - landmarks, - unshiftedLandmarks, - alignedRect - }; - return Object.assign({}, sourceObj, extension); - } - - // build/draw/DrawFaceLandmarks.js - class DrawFaceLandmarksOptions { - constructor(options = {}) { - const {drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor} = options; - this.drawLines = drawLines; - this.drawPoints = drawPoints; - this.lineWidth = lineWidth || 1; - this.pointSize = pointSize || 2; - this.lineColor = lineColor || "rgba(0, 255, 255, 1)"; - this.pointColor = pointColor || "rgba(255, 0, 255, 1)"; - } - } - class DrawFaceLandmarks { - constructor(faceLandmarks, options = {}) { - this.faceLandmarks = faceLandmarks; - this.options = new DrawFaceLandmarksOptions(options); - } - draw(canvasArg) { - const ctx = getContext2dOrThrow(canvasArg); - const {drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor} = this.options; - if (drawLines && this.faceLandmarks instanceof FaceLandmarks68) { - ctx.strokeStyle = lineColor; - ctx.lineWidth = lineWidth; - drawContour(ctx, this.faceLandmarks.getJawOutline()); - drawContour(ctx, this.faceLandmarks.getLeftEyeBrow()); - drawContour(ctx, this.faceLandmarks.getRightEyeBrow()); - drawContour(ctx, this.faceLandmarks.getNose()); - drawContour(ctx, this.faceLandmarks.getLeftEye(), true); - drawContour(ctx, this.faceLandmarks.getRightEye(), true); - drawContour(ctx, this.faceLandmarks.getMouth(), true); - } - if (drawPoints) { - ctx.strokeStyle = pointColor; - ctx.fillStyle = pointColor; - const drawPoint = (pt) => { - ctx.beginPath(); - ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI); - ctx.fill(); - }; - this.faceLandmarks.positions.forEach(drawPoint); - } - } - } - function drawFaceLandmarks(canvasArg, faceLandmarks) { - const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks]; - faceLandmarksArray.forEach((f) => { - const landmarks = f instanceof FaceLandmarks ? f : isWithFaceLandmarks(f) ? f.landmarks : void 0; - if (!landmarks) { - throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof"); - } - new DrawFaceLandmarks(landmarks).draw(canvasArg); - }); - } - - // build/draw/index.js - const draw_exports = {}; - __export(draw_exports, { - AnchorPosition: () => AnchorPosition, - DrawBox: () => DrawBox, - DrawBoxOptions: () => DrawBoxOptions, - DrawFaceLandmarks: () => DrawFaceLandmarks, - DrawFaceLandmarksOptions: () => DrawFaceLandmarksOptions, - DrawTextField: () => DrawTextField, - DrawTextFieldOptions: () => DrawTextFieldOptions, - drawContour: () => drawContour, - drawDetections: () => drawDetections, - drawFaceExpressions: () => drawFaceExpressions, - drawFaceLandmarks: () => drawFaceLandmarks - }); - - // build/xception/extractParams.js - function extractorsFactory3(extractWeights, paramMappings) { - const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings); - const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings); - function extractReductionBlockParams(channelsIn, channelsOut, mappedPrefix) { - const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`); - const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`); - const expansion_conv = extractConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/expansion_conv`); - return {separable_conv0, separable_conv1, expansion_conv}; - } - function extractMainBlockParams(channels, mappedPrefix) { - const separable_conv0 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv0`); - const separable_conv1 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv1`); - const separable_conv2 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv2`); - return {separable_conv0, separable_conv1, separable_conv2}; - } - return { - extractConvParams, - extractSeparableConvParams, - extractReductionBlockParams, - extractMainBlockParams - }; - } - function extractParams5(weights, numMainBlocks) { - const paramMappings = []; - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const {extractConvParams, extractSeparableConvParams, extractReductionBlockParams, extractMainBlockParams} = extractorsFactory3(extractWeights, paramMappings); - const entry_flow_conv_in = extractConvParams(3, 32, 3, "entry_flow/conv_in"); - const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, "entry_flow/reduction_block_0"); - const entry_flow_reduction_block_1 = extractReductionBlockParams(64, 128, "entry_flow/reduction_block_1"); - const entry_flow = { - conv_in: entry_flow_conv_in, - reduction_block_0: entry_flow_reduction_block_0, - reduction_block_1: entry_flow_reduction_block_1 - }; - const middle_flow = {}; - range4(numMainBlocks, 0, 1).forEach((idx) => { - middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`); - }); - const exit_flow_reduction_block = extractReductionBlockParams(128, 256, "exit_flow/reduction_block"); - const exit_flow_separable_conv = extractSeparableConvParams(256, 512, "exit_flow/separable_conv"); - const exit_flow = { - reduction_block: exit_flow_reduction_block, - separable_conv: exit_flow_separable_conv - }; - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - return { - paramMappings, - params: {entry_flow, middle_flow, exit_flow} - }; - } - - // build/xception/extractParamsFromWeigthMap.js - function loadParamsFactory3(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - const extractConvParams = loadConvParamsFactory(extractWeightEntry); - const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry); - function extractReductionBlockParams(mappedPrefix) { - const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`); - const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`); - const expansion_conv = extractConvParams(`${mappedPrefix}/expansion_conv`); - return {separable_conv0, separable_conv1, expansion_conv}; - } - function extractMainBlockParams(mappedPrefix) { - const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`); - const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`); - const separable_conv2 = extractSeparableConvParams(`${mappedPrefix}/separable_conv2`); - return {separable_conv0, separable_conv1, separable_conv2}; - } - return { - extractConvParams, - extractSeparableConvParams, - extractReductionBlockParams, - extractMainBlockParams - }; - } - function extractParamsFromWeigthMap5(weightMap, numMainBlocks) { - const paramMappings = []; - const {extractConvParams, extractSeparableConvParams, extractReductionBlockParams, extractMainBlockParams} = loadParamsFactory3(weightMap, paramMappings); - const entry_flow_conv_in = extractConvParams("entry_flow/conv_in"); - const entry_flow_reduction_block_0 = extractReductionBlockParams("entry_flow/reduction_block_0"); - const entry_flow_reduction_block_1 = extractReductionBlockParams("entry_flow/reduction_block_1"); - const entry_flow = { - conv_in: entry_flow_conv_in, - reduction_block_0: entry_flow_reduction_block_0, - reduction_block_1: entry_flow_reduction_block_1 - }; - const middle_flow = {}; - range4(numMainBlocks, 0, 1).forEach((idx) => { - middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`); - }); - const exit_flow_reduction_block = extractReductionBlockParams("exit_flow/reduction_block"); - const exit_flow_separable_conv = extractSeparableConvParams("exit_flow/separable_conv"); - const exit_flow = { - reduction_block: exit_flow_reduction_block, - separable_conv: exit_flow_separable_conv - }; - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params: {entry_flow, middle_flow, exit_flow}, paramMappings}; - } - - // build/xception/TinyXception.js - const dom5 = __toModule(require_dom()); - function conv(x, params, stride) { - return add2(conv2d(x, params.filters, stride, "same"), params.bias); - } - function reductionBlock(x, params, isActivateInput = true) { - let out = isActivateInput ? relu(x) : x; - out = depthwiseSeparableConv(out, params.separable_conv0, [1, 1]); - out = depthwiseSeparableConv(relu(out), params.separable_conv1, [1, 1]); - out = maxPool(out, [3, 3], [2, 2], "same"); - out = add2(out, conv(x, params.expansion_conv, [2, 2])); - return out; - } - function mainBlock(x, params) { - let out = depthwiseSeparableConv(relu(x), params.separable_conv0, [1, 1]); - out = depthwiseSeparableConv(relu(out), params.separable_conv1, [1, 1]); - out = depthwiseSeparableConv(relu(out), params.separable_conv2, [1, 1]); - out = add2(out, x); - return out; - } - class TinyXception extends NeuralNetwork { - constructor(numMainBlocks) { - super("TinyXception"); - this._numMainBlocks = numMainBlocks; - } - forwardInput(input) { - const {params} = this; - if (!params) { - throw new Error("TinyXception - load model before inference"); - } - return tidy(() => { - const batchTensor = input.toBatchTensor(112, true); - const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(scalar(256)); - let out = relu(conv(normalized, params.entry_flow.conv_in, [2, 2])); - out = reductionBlock(out, params.entry_flow.reduction_block_0, false); - out = reductionBlock(out, params.entry_flow.reduction_block_1); - range4(this._numMainBlocks, 0, 1).forEach((idx) => { - out = mainBlock(out, params.middle_flow[`main_block_${idx}`]); - }); - out = reductionBlock(out, params.exit_flow.reduction_block); - out = relu(depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1])); - return out; - }); - } - async forward(input) { - return this.forwardInput(await dom5.toNetInput(input)); - } - getDefaultModelName() { - return "tiny_xception_model"; - } - extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap5(weightMap, this._numMainBlocks); - } - extractParams(weights) { - return extractParams5(weights, this._numMainBlocks); - } - } - - // build/ageGenderNet/extractParams.js - function extractParams7(weights) { - const paramMappings = []; - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings); - const age = extractFCParams(512, 1, "fc/age"); - const gender = extractFCParams(512, 2, "fc/gender"); - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - return { - paramMappings, - params: {fc: {age, gender}} - }; - } - - // build/ageGenderNet/extractParamsFromWeigthMap.js - function extractParamsFromWeigthMap7(weightMap) { - const paramMappings = []; - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - function extractFcParams(prefix) { - const weights = extractWeightEntry(`${prefix}/weights`, 2); - const bias = extractWeightEntry(`${prefix}/bias`, 1); - return {weights, bias}; - } - const params = { - fc: { - age: extractFcParams("fc/age"), - gender: extractFcParams("fc/gender") - } - }; - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params, paramMappings}; - } - - // build/ageGenderNet/types.js - var Gender; - (function(Gender2) { - Gender2["FEMALE"] = "female"; - Gender2["MALE"] = "male"; - })(Gender || (Gender = {})); - - // build/ageGenderNet/AgeGenderNet.js - const dom6 = __toModule(require_dom()); - class AgeGenderNet extends NeuralNetwork { - constructor(faceFeatureExtractor = new TinyXception(2)) { - super("AgeGenderNet"); - this._faceFeatureExtractor = faceFeatureExtractor; - } - get faceFeatureExtractor() { - return this._faceFeatureExtractor; - } - runNet(input) { - const {params} = this; - if (!params) { - throw new Error(`${this._name} - load model before inference`); - } - return tidy(() => { - const bottleneckFeatures = input instanceof dom6.NetInput ? this.faceFeatureExtractor.forwardInput(input) : input; - const pooled = avgPool(bottleneckFeatures, [7, 7], [2, 2], "valid").as2D(bottleneckFeatures.shape[0], -1); - const age = fullyConnectedLayer(pooled, params.fc.age).as1D(); - const gender = fullyConnectedLayer(pooled, params.fc.gender); - return {age, gender}; - }); - } - forwardInput(input) { - return tidy(() => { - const {age, gender} = this.runNet(input); - return {age, gender: softmax(gender)}; - }); - } - async forward(input) { - return this.forwardInput(await dom6.toNetInput(input)); - } - async predictAgeAndGender(input) { - const netInput = await dom6.toNetInput(input); - const out = await this.forwardInput(netInput); - const ages = unstack(out.age); - const genders = unstack(out.gender); - const ageAndGenderTensors = ages.map((ageTensor, i) => ({ - ageTensor, - genderTensor: genders[i] - })); - const predictionsByBatch = await Promise.all(ageAndGenderTensors.map(async ({ageTensor, genderTensor}) => { - const age = (await ageTensor.data())[0]; - const probMale = (await genderTensor.data())[0]; - const isMale = probMale > 0.5; - const gender = isMale ? Gender.MALE : Gender.FEMALE; - const genderProbability = isMale ? probMale : 1 - probMale; - ageTensor.dispose(); - genderTensor.dispose(); - return {age, gender, genderProbability}; - })); - out.age.dispose(); - out.gender.dispose(); - return netInput.isBatchInput ? predictionsByBatch : predictionsByBatch[0]; - } - getDefaultModelName() { - return "age_gender_model"; - } - dispose(throwOnRedispose = true) { - this.faceFeatureExtractor.dispose(throwOnRedispose); - super.dispose(throwOnRedispose); - } - loadClassifierParams(weights) { - const {params, paramMappings} = this.extractClassifierParams(weights); - this._params = params; - this._paramMappings = paramMappings; - } - extractClassifierParams(weights) { - return extractParams7(weights); - } - extractParamsFromWeigthMap(weightMap) { - const {featureExtractorMap, classifierMap} = seperateWeightMaps(weightMap); - this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap); - return extractParamsFromWeigthMap7(classifierMap); - } - extractParams(weights) { - const classifierWeightSize = 512 * 1 + 1 + (512 * 2 + 2); - const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize); - const classifierWeights = weights.slice(weights.length - classifierWeightSize); - this.faceFeatureExtractor.extractWeights(featureExtractorWeights); - return this.extractClassifierParams(classifierWeights); - } - } - - // build/ageGenderNet/index.js - - // build/faceLandmarkNet/FaceLandmark68NetBase.js - const dom7 = __toModule(require_dom()); - class FaceLandmark68NetBase extends FaceProcessor { - postProcess(output, inputSize, originalDimensions) { - const inputDimensions = originalDimensions.map(({width, height}) => { - const scale2 = inputSize / Math.max(height, width); - return { - width: width * scale2, - height: height * scale2 - }; - }); - const batchSize = inputDimensions.length; - return tidy(() => { - const createInterleavedTensor = (fillX, fillY) => stack([ - fill([68], fillX), - fill([68], fillY) - ], 1).as2D(1, 136).as1D(); - const getPadding = (batchIdx, cond) => { - const {width, height} = inputDimensions[batchIdx]; - return cond(width, height) ? Math.abs(width - height) / 2 : 0; - }; - const getPaddingX = (batchIdx) => getPadding(batchIdx, (w, h) => w < h); - const getPaddingY = (batchIdx) => getPadding(batchIdx, (w, h) => h < w); - const landmarkTensors = output.mul(fill([batchSize, 136], inputSize)).sub(stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(getPaddingX(batchIdx), getPaddingY(batchIdx))))).div(stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(inputDimensions[batchIdx].width, inputDimensions[batchIdx].height)))); - return landmarkTensors; - }); - } - forwardInput(input) { - return tidy(() => { - const out = this.runNet(input); - return this.postProcess(out, input.inputSize, input.inputDimensions.map(([height, width]) => ({height, width}))); - }); - } - async forward(input) { - return this.forwardInput(await dom7.toNetInput(input)); - } - async detectLandmarks(input) { - const netInput = await dom7.toNetInput(input); - const landmarkTensors = tidy(() => unstack(this.forwardInput(netInput))); - const landmarksForBatch = await Promise.all(landmarkTensors.map(async (landmarkTensor, batchIdx) => { - const landmarksArray = Array.from(await landmarkTensor.data()); - const xCoords = landmarksArray.filter((_, i) => isEven(i)); - const yCoords = landmarksArray.filter((_, i) => !isEven(i)); - return new FaceLandmarks68(Array(68).fill(0).map((_, i) => new Point(xCoords[i], yCoords[i])), { - height: netInput.getInputHeight(batchIdx), - width: netInput.getInputWidth(batchIdx) - }); - })); - landmarkTensors.forEach((t) => t.dispose()); - return netInput.isBatchInput ? landmarksForBatch : landmarksForBatch[0]; - } - getClassifierChannelsOut() { - return 136; - } - } - - // build/faceLandmarkNet/FaceLandmark68Net.js - class FaceLandmark68Net extends FaceLandmark68NetBase { - constructor(faceFeatureExtractor = new FaceFeatureExtractor()) { - super("FaceLandmark68Net", faceFeatureExtractor); - } - getDefaultModelName() { - return "face_landmark_68_model"; - } - getClassifierChannelsIn() { - return 256; - } - } - - // build/faceFeatureExtractor/extractParamsFromWeigthMapTiny.js - function extractParamsFromWeigthMapTiny(weightMap) { - const paramMappings = []; - const {extractDenseBlock3Params} = loadParamsFactory(weightMap, paramMappings); - const params = { - dense0: extractDenseBlock3Params("dense0", true), - dense1: extractDenseBlock3Params("dense1"), - dense2: extractDenseBlock3Params("dense2") - }; - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params, paramMappings}; - } - - // build/faceFeatureExtractor/extractParamsTiny.js - function extractParamsTiny(weights) { - const paramMappings = []; - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const {extractDenseBlock3Params} = extractorsFactory(extractWeights, paramMappings); - const dense0 = extractDenseBlock3Params(3, 32, "dense0", true); - const dense1 = extractDenseBlock3Params(32, 64, "dense1"); - const dense2 = extractDenseBlock3Params(64, 128, "dense2"); - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - return { - paramMappings, - params: {dense0, dense1, dense2} - }; - } - - // build/faceFeatureExtractor/TinyFaceFeatureExtractor.js - const dom8 = __toModule(require_dom()); - class TinyFaceFeatureExtractor extends NeuralNetwork { - constructor() { - super("TinyFaceFeatureExtractor"); - } - forwardInput(input) { - const {params} = this; - if (!params) { - throw new Error("TinyFaceFeatureExtractor - load model before inference"); - } - return tidy(() => { - const batchTensor = input.toBatchTensor(112, true); - const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(scalar(255)); - let out = denseBlock3(normalized, params.dense0, true); - out = denseBlock3(out, params.dense1); - out = denseBlock3(out, params.dense2); - out = avgPool(out, [14, 14], [2, 2], "valid"); - return out; - }); - } - async forward(input) { - return this.forwardInput(await dom8.toNetInput(input)); - } - getDefaultModelName() { - return "face_feature_extractor_tiny_model"; - } - extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMapTiny(weightMap); - } - extractParams(weights) { - return extractParamsTiny(weights); - } - } - - // build/faceLandmarkNet/FaceLandmark68TinyNet.js - class FaceLandmark68TinyNet extends FaceLandmark68NetBase { - constructor(faceFeatureExtractor = new TinyFaceFeatureExtractor()) { - super("FaceLandmark68TinyNet", faceFeatureExtractor); - } - getDefaultModelName() { - return "face_landmark_68_tiny_model"; - } - getClassifierChannelsIn() { - return 128; - } - } - - // build/faceLandmarkNet/index.js - class FaceLandmarkNet extends FaceLandmark68Net { - } - - // build/faceRecognitionNet/scaleLayer.js - function scale(x, params) { - return add2(mul(x, params.weights), params.biases); - } - - // build/faceRecognitionNet/convLayer.js - function convLayer2(x, params, strides, withRelu, padding = "same") { - const {filters, bias} = params.conv; - let out = conv2d(x, filters, strides, padding); - out = add2(out, bias); - out = scale(out, params.scale); - return withRelu ? relu(out) : out; - } - function conv2(x, params) { - return convLayer2(x, params, [1, 1], true); - } - function convNoRelu(x, params) { - return convLayer2(x, params, [1, 1], false); - } - function convDown(x, params) { - return convLayer2(x, params, [2, 2], true, "valid"); - } - - // build/faceRecognitionNet/extractParams.js - function extractorsFactory5(extractWeights, paramMappings) { - function extractFilterValues(numFilterValues, numFilters, filterSize) { - const weights = extractWeights(numFilterValues); - const depth = weights.length / (numFilters * filterSize * filterSize); - if (isFloat(depth)) { - throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`); - } - return tidy(() => transpose(tensor4d(weights, [numFilters, depth, filterSize, filterSize]), [2, 3, 1, 0])); - } - function extractConvParams(numFilterValues, numFilters, filterSize, mappedPrefix) { - const filters = extractFilterValues(numFilterValues, numFilters, filterSize); - const bias = tensor1d(extractWeights(numFilters)); - paramMappings.push({paramPath: `${mappedPrefix}/filters`}, {paramPath: `${mappedPrefix}/bias`}); - return {filters, bias}; - } - function extractScaleLayerParams(numWeights, mappedPrefix) { - const weights = tensor1d(extractWeights(numWeights)); - const biases = tensor1d(extractWeights(numWeights)); - paramMappings.push({paramPath: `${mappedPrefix}/weights`}, {paramPath: `${mappedPrefix}/biases`}); - return { - weights, - biases - }; - } - function extractConvLayerParams(numFilterValues, numFilters, filterSize, mappedPrefix) { - const conv3 = extractConvParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv`); - const scale2 = extractScaleLayerParams(numFilters, `${mappedPrefix}/scale`); - return {conv: conv3, scale: scale2}; - } - function extractResidualLayerParams(numFilterValues, numFilters, filterSize, mappedPrefix, isDown = false) { - const conv1 = extractConvLayerParams((isDown ? 0.5 : 1) * numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv1`); - const conv22 = extractConvLayerParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv2`); - return {conv1, conv2: conv22}; - } - return { - extractConvLayerParams, - extractResidualLayerParams - }; - } - function extractParams9(weights) { - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const paramMappings = []; - const {extractConvLayerParams, extractResidualLayerParams} = extractorsFactory5(extractWeights, paramMappings); - const conv32_down = extractConvLayerParams(4704, 32, 7, "conv32_down"); - const conv32_1 = extractResidualLayerParams(9216, 32, 3, "conv32_1"); - const conv32_2 = extractResidualLayerParams(9216, 32, 3, "conv32_2"); - const conv32_3 = extractResidualLayerParams(9216, 32, 3, "conv32_3"); - const conv64_down = extractResidualLayerParams(36864, 64, 3, "conv64_down", true); - const conv64_1 = extractResidualLayerParams(36864, 64, 3, "conv64_1"); - const conv64_2 = extractResidualLayerParams(36864, 64, 3, "conv64_2"); - const conv64_3 = extractResidualLayerParams(36864, 64, 3, "conv64_3"); - const conv128_down = extractResidualLayerParams(147456, 128, 3, "conv128_down", true); - const conv128_1 = extractResidualLayerParams(147456, 128, 3, "conv128_1"); - const conv128_2 = extractResidualLayerParams(147456, 128, 3, "conv128_2"); - const conv256_down = extractResidualLayerParams(589824, 256, 3, "conv256_down", true); - const conv256_1 = extractResidualLayerParams(589824, 256, 3, "conv256_1"); - const conv256_2 = extractResidualLayerParams(589824, 256, 3, "conv256_2"); - const conv256_down_out = extractResidualLayerParams(589824, 256, 3, "conv256_down_out"); - const fc = tidy(() => transpose(tensor2d(extractWeights(256 * 128), [128, 256]), [1, 0])); - paramMappings.push({paramPath: `fc`}); - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - const params = { - conv32_down, - conv32_1, - conv32_2, - conv32_3, - conv64_down, - conv64_1, - conv64_2, - conv64_3, - conv128_down, - conv128_1, - conv128_2, - conv256_down, - conv256_1, - conv256_2, - conv256_down_out, - fc - }; - return {params, paramMappings}; - } - - // build/faceRecognitionNet/extractParamsFromWeigthMap.js - function extractorsFactory6(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - function extractScaleLayerParams(prefix) { - const weights = extractWeightEntry(`${prefix}/scale/weights`, 1); - const biases = extractWeightEntry(`${prefix}/scale/biases`, 1); - return {weights, biases}; - } - function extractConvLayerParams(prefix) { - const filters = extractWeightEntry(`${prefix}/conv/filters`, 4); - const bias = extractWeightEntry(`${prefix}/conv/bias`, 1); - const scale2 = extractScaleLayerParams(prefix); - return {conv: {filters, bias}, scale: scale2}; - } - function extractResidualLayerParams(prefix) { - return { - conv1: extractConvLayerParams(`${prefix}/conv1`), - conv2: extractConvLayerParams(`${prefix}/conv2`) - }; - } - return { - extractConvLayerParams, - extractResidualLayerParams - }; - } - function extractParamsFromWeigthMap9(weightMap) { - const paramMappings = []; - const {extractConvLayerParams, extractResidualLayerParams} = extractorsFactory6(weightMap, paramMappings); - const conv32_down = extractConvLayerParams("conv32_down"); - const conv32_1 = extractResidualLayerParams("conv32_1"); - const conv32_2 = extractResidualLayerParams("conv32_2"); - const conv32_3 = extractResidualLayerParams("conv32_3"); - const conv64_down = extractResidualLayerParams("conv64_down"); - const conv64_1 = extractResidualLayerParams("conv64_1"); - const conv64_2 = extractResidualLayerParams("conv64_2"); - const conv64_3 = extractResidualLayerParams("conv64_3"); - const conv128_down = extractResidualLayerParams("conv128_down"); - const conv128_1 = extractResidualLayerParams("conv128_1"); - const conv128_2 = extractResidualLayerParams("conv128_2"); - const conv256_down = extractResidualLayerParams("conv256_down"); - const conv256_1 = extractResidualLayerParams("conv256_1"); - const conv256_2 = extractResidualLayerParams("conv256_2"); - const conv256_down_out = extractResidualLayerParams("conv256_down_out"); - const fc = weightMap["fc"]; - paramMappings.push({originalPath: "fc", paramPath: "fc"}); - if (!isTensor2D(fc)) { - throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`); - } - const params = { - conv32_down, - conv32_1, - conv32_2, - conv32_3, - conv64_down, - conv64_1, - conv64_2, - conv64_3, - conv128_down, - conv128_1, - conv128_2, - conv256_down, - conv256_1, - conv256_2, - conv256_down_out, - fc - }; - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params, paramMappings}; - } - - // build/faceRecognitionNet/residualLayer.js - function residual(x, params) { - let out = conv2(x, params.conv1); - out = convNoRelu(out, params.conv2); - out = add2(out, x); - out = relu(out); - return out; - } - function residualDown(x, params) { - let out = convDown(x, params.conv1); - out = convNoRelu(out, params.conv2); - let pooled = avgPool(x, 2, 2, "valid"); - const zeros9 = zeros(pooled.shape); - const isPad = pooled.shape[3] !== out.shape[3]; - const isAdjustShape = pooled.shape[1] !== out.shape[1] || pooled.shape[2] !== out.shape[2]; - if (isAdjustShape) { - const padShapeX = [...out.shape]; - padShapeX[1] = 1; - const zerosW = zeros(padShapeX); - out = concat([out, zerosW], 1); - const padShapeY = [...out.shape]; - padShapeY[2] = 1; - const zerosH = zeros(padShapeY); - out = concat([out, zerosH], 2); - } - pooled = isPad ? concat([pooled, zeros9], 3) : pooled; - out = add2(pooled, out); - out = relu(out); - return out; - } - - // build/faceRecognitionNet/FaceRecognitionNet.js - const dom9 = __toModule(require_dom()); - class FaceRecognitionNet extends NeuralNetwork { - constructor() { - super("FaceRecognitionNet"); - } - forwardInput(input) { - const {params} = this; - if (!params) { - throw new Error("FaceRecognitionNet - load model before inference"); - } - return tidy(() => { - const batchTensor = input.toBatchTensor(150, true).toFloat(); - const meanRgb = [122.782, 117.001, 104.298]; - const normalized = normalize(batchTensor, meanRgb).div(scalar(256)); - let out = convDown(normalized, params.conv32_down); - out = maxPool(out, 3, 2, "valid"); - out = residual(out, params.conv32_1); - out = residual(out, params.conv32_2); - out = residual(out, params.conv32_3); - out = residualDown(out, params.conv64_down); - out = residual(out, params.conv64_1); - out = residual(out, params.conv64_2); - out = residual(out, params.conv64_3); - out = residualDown(out, params.conv128_down); - out = residual(out, params.conv128_1); - out = residual(out, params.conv128_2); - out = residualDown(out, params.conv256_down); - out = residual(out, params.conv256_1); - out = residual(out, params.conv256_2); - out = residualDown(out, params.conv256_down_out); - const globalAvg = out.mean([1, 2]); - const fullyConnected = matMul(globalAvg, params.fc); - return fullyConnected; - }); - } - async forward(input) { - return this.forwardInput(await dom9.toNetInput(input)); - } - async computeFaceDescriptor(input) { - const netInput = await dom9.toNetInput(input); - const faceDescriptorTensors = tidy(() => unstack(this.forwardInput(netInput))); - const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map((t) => t.data())); - faceDescriptorTensors.forEach((t) => t.dispose()); - return netInput.isBatchInput ? faceDescriptorsForBatch : faceDescriptorsForBatch[0]; - } - getDefaultModelName() { - return "face_recognition_model"; - } - extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap9(weightMap); - } - extractParams(weights) { - return extractParams9(weights); - } - } - - // build/faceRecognitionNet/index.js - function createFaceRecognitionNet(weights) { - const net = new FaceRecognitionNet(); - net.extractWeights(weights); - return net; - } - - // build/factories/WithFaceDescriptor.js - function extendWithFaceDescriptor(sourceObj, descriptor) { - const extension = {descriptor}; - return Object.assign({}, sourceObj, extension); - } - - // build/factories/WithAge.js - function isWithAge(obj) { - return typeof obj["age"] === "number"; - } - function extendWithAge(sourceObj, age) { - const extension = {age}; - return Object.assign({}, sourceObj, extension); - } - - // build/factories/WithGender.js - function isWithGender(obj) { - return (obj["gender"] === Gender.MALE || obj["gender"] === Gender.FEMALE) && isValidProbablitiy(obj["genderProbability"]); - } - function extendWithGender(sourceObj, gender, genderProbability) { - const extension = {gender, genderProbability}; - return Object.assign({}, sourceObj, extension); - } - - // build/factories/index.js - - // build/globalApi/ComposableTask.js - class ComposableTask { - async then(onfulfilled) { - return onfulfilled(await this.run()); - } - async run() { - throw new Error("ComposableTask - run is not implemented"); - } - } - - // build/globalApi/extractFacesAndComputeResults.js - const dom10 = __toModule(require_dom()); - async function extractAllFacesAndComputeResults(parentResults, input, computeResults, extractedFaces, getRectForAlignment = ({alignedRect}) => alignedRect) { - const faceBoxes = parentResults.map((parentResult) => isWithFaceLandmarks(parentResult) ? getRectForAlignment(parentResult) : parentResult.detection); - const faces = extractedFaces || (input instanceof Tensor ? await dom10.extractFaceTensors(input, faceBoxes) : await dom10.extractFaces(input, faceBoxes)); - const results = await computeResults(faces); - faces.forEach((f) => f instanceof Tensor && f.dispose()); - return results; - } - async function extractSingleFaceAndComputeResult(parentResult, input, computeResult, extractedFaces, getRectForAlignment) { - return extractAllFacesAndComputeResults([parentResult], input, async (faces) => computeResult(faces[0]), extractedFaces, getRectForAlignment); - } - - // build/tinyYolov2/config.js - const isNumber2 = (arg) => typeof arg === "number"; - function validateConfig(config2) { - if (!config2) { - throw new Error(`invalid config: ${config2}`); - } - if (typeof config2.withSeparableConvs !== "boolean") { - throw new Error(`config.withSeparableConvs has to be a boolean, have: ${config2.withSeparableConvs}`); - } - if (!isNumber2(config2.iouThreshold) || config2.iouThreshold < 0 || config2.iouThreshold > 1) { - throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${config2.iouThreshold}`); - } - if (!Array.isArray(config2.classes) || !config2.classes.length || !config2.classes.every((c) => typeof c === "string")) { - throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(config2.classes)}`); - } - if (!Array.isArray(config2.anchors) || !config2.anchors.length || !config2.anchors.map((a) => a || {}).every((a) => isNumber2(a.x) && isNumber2(a.y))) { - throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(config2.anchors)}`); - } - if (config2.meanRgb && (!Array.isArray(config2.meanRgb) || config2.meanRgb.length !== 3 || !config2.meanRgb.every(isNumber2))) { - throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config2.meanRgb)}`); - } - } - - // build/tinyYolov2/leaky.js - function leaky(x) { - return tidy(() => { - const min5 = mul(x, scalar(0.10000000149011612)); - return add2(relu(sub(x, min5)), min5); - }); - } - - // build/tinyYolov2/convWithBatchNorm.js - function convWithBatchNorm(x, params) { - return tidy(() => { - let out = pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]); - out = conv2d(out, params.conv.filters, [1, 1], "valid"); - out = sub(out, params.bn.sub); - out = mul(out, params.bn.truediv); - out = add2(out, params.conv.bias); - return leaky(out); - }); - } - - // build/tinyYolov2/depthwiseSeparableConv.js - function depthwiseSeparableConv3(x, params) { - return tidy(() => { - let out = pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]); - out = separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], "valid"); - out = add2(out, params.bias); - return leaky(out); - }); - } - - // build/tinyYolov2/extractParams.js - function extractorsFactory7(extractWeights, paramMappings) { - const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings); - function extractBatchNormParams(size, mappedPrefix) { - const sub32 = tensor1d(extractWeights(size)); - const truediv = tensor1d(extractWeights(size)); - paramMappings.push({paramPath: `${mappedPrefix}/sub`}, {paramPath: `${mappedPrefix}/truediv`}); - return {sub: sub32, truediv}; - } - function extractConvWithBatchNormParams(channelsIn, channelsOut, mappedPrefix) { - const conv3 = extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv`); - const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`); - return {conv: conv3, bn}; - } - const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings); - return { - extractConvParams, - extractConvWithBatchNormParams, - extractSeparableConvParams - }; - } - function extractParams11(weights, config2, boxEncodingSize, filterSizes) { - const {extractWeights, getRemainingWeights} = extractWeightsFactory(weights); - const paramMappings = []; - const {extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams} = extractorsFactory7(extractWeights, paramMappings); - let params; - if (config2.withSeparableConvs) { - const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes; - const conv0 = config2.isFirstLayerConv2d ? extractConvParams(s0, s1, 3, "conv0") : extractSeparableConvParams(s0, s1, "conv0"); - const conv1 = extractSeparableConvParams(s1, s2, "conv1"); - const conv22 = extractSeparableConvParams(s2, s3, "conv2"); - const conv3 = extractSeparableConvParams(s3, s4, "conv3"); - const conv4 = extractSeparableConvParams(s4, s5, "conv4"); - const conv5 = extractSeparableConvParams(s5, s6, "conv5"); - const conv6 = s7 ? extractSeparableConvParams(s6, s7, "conv6") : void 0; - const conv7 = s8 ? extractSeparableConvParams(s7, s8, "conv7") : void 0; - const conv8 = extractConvParams(s8 || s7 || s6, 5 * boxEncodingSize, 1, "conv8"); - params = {conv0, conv1, conv2: conv22, conv3, conv4, conv5, conv6, conv7, conv8}; - } else { - const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes; - const conv0 = extractConvWithBatchNormParams(s0, s1, "conv0"); - const conv1 = extractConvWithBatchNormParams(s1, s2, "conv1"); - const conv22 = extractConvWithBatchNormParams(s2, s3, "conv2"); - const conv3 = extractConvWithBatchNormParams(s3, s4, "conv3"); - const conv4 = extractConvWithBatchNormParams(s4, s5, "conv4"); - const conv5 = extractConvWithBatchNormParams(s5, s6, "conv5"); - const conv6 = extractConvWithBatchNormParams(s6, s7, "conv6"); - const conv7 = extractConvWithBatchNormParams(s7, s8, "conv7"); - const conv8 = extractConvParams(s8, 5 * boxEncodingSize, 1, "conv8"); - params = {conv0, conv1, conv2: conv22, conv3, conv4, conv5, conv6, conv7, conv8}; - } - if (getRemainingWeights().length !== 0) { - throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`); - } - return {params, paramMappings}; - } - - // build/tinyYolov2/extractParamsFromWeigthMap.js - function extractorsFactory8(weightMap, paramMappings) { - const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings); - function extractBatchNormParams(prefix) { - const sub32 = extractWeightEntry(`${prefix}/sub`, 1); - const truediv = extractWeightEntry(`${prefix}/truediv`, 1); - return {sub: sub32, truediv}; - } - function extractConvParams(prefix) { - const filters = extractWeightEntry(`${prefix}/filters`, 4); - const bias = extractWeightEntry(`${prefix}/bias`, 1); - return {filters, bias}; - } - function extractConvWithBatchNormParams(prefix) { - const conv3 = extractConvParams(`${prefix}/conv`); - const bn = extractBatchNormParams(`${prefix}/bn`); - return {conv: conv3, bn}; - } - const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry); - return { - extractConvParams, - extractConvWithBatchNormParams, - extractSeparableConvParams - }; - } - function extractParamsFromWeigthMap11(weightMap, config2) { - const paramMappings = []; - const {extractConvParams, extractConvWithBatchNormParams, extractSeparableConvParams} = extractorsFactory8(weightMap, paramMappings); - let params; - if (config2.withSeparableConvs) { - const numFilters = config2.filterSizes && config2.filterSizes.length || 9; - params = { - conv0: config2.isFirstLayerConv2d ? extractConvParams("conv0") : extractSeparableConvParams("conv0"), - conv1: extractSeparableConvParams("conv1"), - conv2: extractSeparableConvParams("conv2"), - conv3: extractSeparableConvParams("conv3"), - conv4: extractSeparableConvParams("conv4"), - conv5: extractSeparableConvParams("conv5"), - conv6: numFilters > 7 ? extractSeparableConvParams("conv6") : void 0, - conv7: numFilters > 8 ? extractSeparableConvParams("conv7") : void 0, - conv8: extractConvParams("conv8") - }; - } else { - params = { - conv0: extractConvWithBatchNormParams("conv0"), - conv1: extractConvWithBatchNormParams("conv1"), - conv2: extractConvWithBatchNormParams("conv2"), - conv3: extractConvWithBatchNormParams("conv3"), - conv4: extractConvWithBatchNormParams("conv4"), - conv5: extractConvWithBatchNormParams("conv5"), - conv6: extractConvWithBatchNormParams("conv6"), - conv7: extractConvWithBatchNormParams("conv7"), - conv8: extractConvParams("conv8") - }; - } - disposeUnusedWeightTensors(weightMap, paramMappings); - return {params, paramMappings}; - } - - // build/tinyYolov2/TinyYolov2Options.js - var TinyYolov2SizeType; - (function(TinyYolov2SizeType2) { - TinyYolov2SizeType2[TinyYolov2SizeType2["XS"] = 224] = "XS"; - TinyYolov2SizeType2[TinyYolov2SizeType2["SM"] = 320] = "SM"; - TinyYolov2SizeType2[TinyYolov2SizeType2["MD"] = 416] = "MD"; - TinyYolov2SizeType2[TinyYolov2SizeType2["LG"] = 608] = "LG"; - })(TinyYolov2SizeType || (TinyYolov2SizeType = {})); - class TinyYolov2Options { - constructor({inputSize, scoreThreshold} = {}) { - this._name = "TinyYolov2Options"; - this._inputSize = inputSize || 416; - this._scoreThreshold = scoreThreshold || 0.5; - if (typeof this._inputSize !== "number" || this._inputSize % 32 !== 0) { - throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`); - } - if (typeof this._scoreThreshold !== "number" || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) { - throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`); - } - } - get inputSize() { - return this._inputSize; - } - get scoreThreshold() { - return this._scoreThreshold; - } - } - - // build/tinyYolov2/TinyYolov2Base.js - const dom11 = __toModule(require_dom()); - class TinyYolov2Base extends NeuralNetwork { - constructor(config2) { - super("TinyYolov2"); - validateConfig(config2); - this._config = config2; - } - get config() { - return this._config; - } - get withClassScores() { - return this.config.withClassScores || this.config.classes.length > 1; - } - get boxEncodingSize() { - return 5 + (this.withClassScores ? this.config.classes.length : 0); - } - runTinyYolov2(x, params) { - let out = convWithBatchNorm(x, params.conv0); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = convWithBatchNorm(out, params.conv1); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = convWithBatchNorm(out, params.conv2); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = convWithBatchNorm(out, params.conv3); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = convWithBatchNorm(out, params.conv4); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = convWithBatchNorm(out, params.conv5); - out = maxPool(out, [2, 2], [1, 1], "same"); - out = convWithBatchNorm(out, params.conv6); - out = convWithBatchNorm(out, params.conv7); - return convLayer(out, params.conv8, "valid", false); - } - runMobilenet(x, params) { - let out = this.config.isFirstLayerConv2d ? leaky(convLayer(x, params.conv0, "valid", false)) : depthwiseSeparableConv3(x, params.conv0); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = depthwiseSeparableConv3(out, params.conv1); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = depthwiseSeparableConv3(out, params.conv2); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = depthwiseSeparableConv3(out, params.conv3); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = depthwiseSeparableConv3(out, params.conv4); - out = maxPool(out, [2, 2], [2, 2], "same"); - out = depthwiseSeparableConv3(out, params.conv5); - out = maxPool(out, [2, 2], [1, 1], "same"); - out = params.conv6 ? depthwiseSeparableConv3(out, params.conv6) : out; - out = params.conv7 ? depthwiseSeparableConv3(out, params.conv7) : out; - return convLayer(out, params.conv8, "valid", false); - } - forwardInput(input, inputSize) { - const {params} = this; - if (!params) { - throw new Error("TinyYolov2 - load model before inference"); - } - return tidy(() => { - let batchTensor = input.toBatchTensor(inputSize, false).toFloat(); - batchTensor = this.config.meanRgb ? normalize(batchTensor, this.config.meanRgb) : batchTensor; - batchTensor = batchTensor.div(scalar(256)); - return this.config.withSeparableConvs ? this.runMobilenet(batchTensor, params) : this.runTinyYolov2(batchTensor, params); - }); - } - async forward(input, inputSize) { - return await this.forwardInput(await dom11.toNetInput(input), inputSize); - } - async detect(input, forwardParams = {}) { - const {inputSize, scoreThreshold} = new TinyYolov2Options(forwardParams); - const netInput = await dom11.toNetInput(input); - const out = await this.forwardInput(netInput, inputSize); - const out0 = tidy(() => unstack(out)[0].expandDims()); - const inputDimensions = { - width: netInput.getInputWidth(0), - height: netInput.getInputHeight(0) - }; - const results = await this.extractBoxes(out0, netInput.getReshapedInputDimensions(0), scoreThreshold); - out.dispose(); - out0.dispose(); - const boxes = results.map((res) => res.box); - const scores = results.map((res) => res.score); - const classScores = results.map((res) => res.classScore); - const classNames = results.map((res) => this.config.classes[res.label]); - const indices = nonMaxSuppression2(boxes.map((box) => box.rescale(inputSize)), scores, this.config.iouThreshold, true); - const detections = indices.map((idx) => new ObjectDetection(scores[idx], classScores[idx], classNames[idx], boxes[idx], inputDimensions)); - return detections; - } - getDefaultModelName() { - return ""; - } - extractParamsFromWeigthMap(weightMap) { - return extractParamsFromWeigthMap11(weightMap, this.config); - } - extractParams(weights) { - const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES; - const numFilters = filterSizes ? filterSizes.length : void 0; - if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) { - throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`); - } - return extractParams11(weights, this.config, this.boxEncodingSize, filterSizes); - } - async extractBoxes(outputTensor, inputBlobDimensions, scoreThreshold) { - const {width, height} = inputBlobDimensions; - const inputSize = Math.max(width, height); - const correctionFactorX = inputSize / width; - const correctionFactorY = inputSize / height; - const numCells = outputTensor.shape[1]; - const numBoxes = this.config.anchors.length; - const [boxesTensor, scoresTensor, classScoresTensor] = tidy(() => { - const reshaped = outputTensor.reshape([numCells, numCells, numBoxes, this.boxEncodingSize]); - const boxes = reshaped.slice([0, 0, 0, 0], [numCells, numCells, numBoxes, 4]); - const scores = reshaped.slice([0, 0, 0, 4], [numCells, numCells, numBoxes, 1]); - const classScores = this.withClassScores ? softmax(reshaped.slice([0, 0, 0, 5], [numCells, numCells, numBoxes, this.config.classes.length]), 3) : scalar(0); - return [boxes, scores, classScores]; - }); - const results = []; - const scoresData = await scoresTensor.array(); - const boxesData = await boxesTensor.array(); - for (let row = 0; row < numCells; row++) { - for (let col = 0; col < numCells; col++) { - for (let anchor = 0; anchor < numBoxes; anchor++) { - const score = sigmoid6(scoresData[row][col][anchor][0]); - if (!scoreThreshold || score > scoreThreshold) { - const ctX = (col + sigmoid6(boxesData[row][col][anchor][0])) / numCells * correctionFactorX; - const ctY = (row + sigmoid6(boxesData[row][col][anchor][1])) / numCells * correctionFactorY; - const width2 = Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x / numCells * correctionFactorX; - const height2 = Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y / numCells * correctionFactorY; - const x = ctX - width2 / 2; - const y = ctY - height2 / 2; - const pos = {row, col, anchor}; - const {classScore, label} = this.withClassScores ? await this.extractPredictedClass(classScoresTensor, pos) : {classScore: 1, label: 0}; - results.push({ - box: new BoundingBox(x, y, x + width2, y + height2), - score, - classScore: score * classScore, - label, - ...pos - }); - } - } - } - } - boxesTensor.dispose(); - scoresTensor.dispose(); - classScoresTensor.dispose(); - return results; - } - async extractPredictedClass(classesTensor, pos) { - const {row, col, anchor} = pos; - const classesData = await classesTensor.array(); - return Array(this.config.classes.length).fill(0).map((_, i) => classesData[row][col][anchor][i]).map((classScore, label) => ({ - classScore, - label - })).reduce((max7, curr) => max7.classScore > curr.classScore ? max7 : curr); - } - } - TinyYolov2Base.DEFAULT_FILTER_SIZES = [ - 3, - 16, - 32, - 64, - 128, - 256, - 512, - 1024, - 1024 - ]; - - // build/tinyFaceDetector/const.js - const IOU_THRESHOLD = 0.4; - const BOX_ANCHORS = [ - new Point(1.603231, 2.094468), - new Point(6.041143, 7.080126), - new Point(2.882459, 3.518061), - new Point(4.266906, 5.178857), - new Point(9.041765, 10.66308) - ]; - const MEAN_RGB = [117.001, 114.697, 97.404]; - - // build/tinyFaceDetector/TinyFaceDetector.js - class TinyFaceDetector extends TinyYolov2Base { - constructor() { - const config2 = { - withSeparableConvs: true, - iouThreshold: IOU_THRESHOLD, - classes: ["face"], - anchors: BOX_ANCHORS, - meanRgb: MEAN_RGB, - isFirstLayerConv2d: true, - filterSizes: [3, 16, 32, 64, 128, 256, 512] - }; - super(config2); - } - get anchors() { - return this.config.anchors; - } - async locateFaces(input, forwardParams) { - const objectDetections = await this.detect(input, forwardParams); - return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, {width: det.imageWidth, height: det.imageHeight})); - } - getDefaultModelName() { - return "tiny_face_detector_model"; - } - extractParamsFromWeigthMap(weightMap) { - return super.extractParamsFromWeigthMap(weightMap); - } - } - - // build/tinyYolov2/const.js - const IOU_THRESHOLD2 = 0.4; - const BOX_ANCHORS2 = [ - new Point(0.738768, 0.874946), - new Point(2.42204, 2.65704), - new Point(4.30971, 7.04493), - new Point(10.246, 4.59428), - new Point(12.6868, 11.8741) - ]; - const BOX_ANCHORS_SEPARABLE = [ - new Point(1.603231, 2.094468), - new Point(6.041143, 7.080126), - new Point(2.882459, 3.518061), - new Point(4.266906, 5.178857), - new Point(9.041765, 10.66308) - ]; - const MEAN_RGB_SEPARABLE = [117.001, 114.697, 97.404]; - const DEFAULT_MODEL_NAME = "tiny_yolov2_model"; - const DEFAULT_MODEL_NAME_SEPARABLE_CONV = "tiny_yolov2_separable_conv_model"; - - // build/tinyYolov2/TinyYolov2.js - class TinyYolov2 extends TinyYolov2Base { - constructor(withSeparableConvs = true) { - const config2 = Object.assign({}, { - withSeparableConvs, - iouThreshold: IOU_THRESHOLD2, - classes: ["face"] - }, withSeparableConvs ? { - anchors: BOX_ANCHORS_SEPARABLE, - meanRgb: MEAN_RGB_SEPARABLE - } : { - anchors: BOX_ANCHORS2, - withClassScores: true - }); - super(config2); - } - get withSeparableConvs() { - return this.config.withSeparableConvs; - } - get anchors() { - return this.config.anchors; - } - async locateFaces(input, forwardParams) { - const objectDetections = await this.detect(input, forwardParams); - return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, {width: det.imageWidth, height: det.imageHeight})); - } - getDefaultModelName() { - return this.withSeparableConvs ? DEFAULT_MODEL_NAME_SEPARABLE_CONV : DEFAULT_MODEL_NAME; - } - extractParamsFromWeigthMap(weightMap) { - return super.extractParamsFromWeigthMap(weightMap); - } - } - - // build/globalApi/nets.js - const tinyYolov2 = __toModule(require_tinyYolov2()); - const nets = { - tinyFaceDetector: new TinyFaceDetector(), - tinyYolov2: new tinyYolov2.TinyYolov2(), - faceLandmark68Net: new FaceLandmark68Net(), - faceLandmark68TinyNet: new FaceLandmark68TinyNet(), - faceRecognitionNet: new FaceRecognitionNet(), - faceExpressionNet: new FaceExpressionNet(), - ageGenderNet: new AgeGenderNet() - }; - const tinyFaceDetector = (input, options) => nets.tinyFaceDetector.locateFaces(input, options); - const detectFaceLandmarks = (input) => nets.faceLandmark68Net.detectLandmarks(input); - const detectFaceLandmarksTiny = (input) => nets.faceLandmark68TinyNet.detectLandmarks(input); - const computeFaceDescriptor = (input) => nets.faceRecognitionNet.computeFaceDescriptor(input); - const recognizeFaceExpressions = (input) => nets.faceExpressionNet.predictExpressions(input); - const predictAgeAndGender = (input) => nets.ageGenderNet.predictAgeAndGender(input); - const loadTinyFaceDetectorModel = (url) => nets.tinyFaceDetector.load(url); - const loadTinyYolov2Model = (url) => nets.tinyYolov2.load(url); - const loadFaceLandmarkModel = (url) => nets.faceLandmark68Net.load(url); - const loadFaceLandmarkTinyModel = (url) => nets.faceLandmark68TinyNet.load(url); - const loadFaceRecognitionModel = (url) => nets.faceRecognitionNet.load(url); - const loadFaceExpressionModel = (url) => nets.faceExpressionNet.load(url); - const loadAgeGenderModel = (url) => nets.ageGenderNet.load(url); - const loadFaceDetectionModel = loadTinyFaceDetectorModel; - const locateFaces = TinyFaceDetector; - const detectLandmarks = detectFaceLandmarks; - - // build/globalApi/PredictFaceExpressionsTask.js - class PredictFaceExpressionsTaskBase extends ComposableTask { - constructor(parentTask, input, extractedFaces) { - super(); - this.parentTask = parentTask; - this.input = input; - this.extractedFaces = extractedFaces; - } - } - class PredictAllFaceExpressionsTask extends PredictFaceExpressionsTaskBase { - async run() { - const parentResults = await this.parentTask; - const faceExpressionsByFace = await extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map((face) => nets.faceExpressionNet.predictExpressions(face))), this.extractedFaces); - return parentResults.map((parentResult, i) => extendWithFaceExpressions(parentResult, faceExpressionsByFace[i])); - } - withAgeAndGender() { - return new PredictAllAgeAndGenderTask(this, this.input); - } - } - class PredictSingleFaceExpressionsTask extends PredictFaceExpressionsTaskBase { - async run() { - const parentResult = await this.parentTask; - if (!parentResult) { - return; - } - const faceExpressions = await extractSingleFaceAndComputeResult(parentResult, this.input, (face) => nets.faceExpressionNet.predictExpressions(face), this.extractedFaces); - return extendWithFaceExpressions(parentResult, faceExpressions); - } - withAgeAndGender() { - return new PredictSingleAgeAndGenderTask(this, this.input); - } - } - class PredictAllFaceExpressionsWithFaceAlignmentTask extends PredictAllFaceExpressionsTask { - withAgeAndGender() { - return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); - } - withFaceDescriptors() { - return new ComputeAllFaceDescriptorsTask(this, this.input); - } - } - class PredictSingleFaceExpressionsWithFaceAlignmentTask extends PredictSingleFaceExpressionsTask { - withAgeAndGender() { - return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); - } - withFaceDescriptor() { - return new ComputeSingleFaceDescriptorTask(this, this.input); - } - } - - // build/globalApi/PredictAgeAndGenderTask.js - class PredictAgeAndGenderTaskBase extends ComposableTask { - constructor(parentTask, input, extractedFaces) { - super(); - this.parentTask = parentTask; - this.input = input; - this.extractedFaces = extractedFaces; - } - } - class PredictAllAgeAndGenderTask extends PredictAgeAndGenderTaskBase { - async run() { - const parentResults = await this.parentTask; - const ageAndGenderByFace = await extractAllFacesAndComputeResults(parentResults, this.input, async (faces) => await Promise.all(faces.map((face) => nets.ageGenderNet.predictAgeAndGender(face))), this.extractedFaces); - return parentResults.map((parentResult, i) => { - const {age, gender, genderProbability} = ageAndGenderByFace[i]; - return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age); - }); - } - withFaceExpressions() { - return new PredictAllFaceExpressionsTask(this, this.input); - } - } - class PredictSingleAgeAndGenderTask extends PredictAgeAndGenderTaskBase { - async run() { - const parentResult = await this.parentTask; - if (!parentResult) { - return; - } - const {age, gender, genderProbability} = await extractSingleFaceAndComputeResult(parentResult, this.input, (face) => nets.ageGenderNet.predictAgeAndGender(face), this.extractedFaces); - return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age); - } - withFaceExpressions() { - return new PredictSingleFaceExpressionsTask(this, this.input); - } - } - class PredictAllAgeAndGenderWithFaceAlignmentTask extends PredictAllAgeAndGenderTask { - withFaceExpressions() { - return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); - } - withFaceDescriptors() { - return new ComputeAllFaceDescriptorsTask(this, this.input); - } - } - class PredictSingleAgeAndGenderWithFaceAlignmentTask extends PredictSingleAgeAndGenderTask { - withFaceExpressions() { - return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); - } - withFaceDescriptor() { - return new ComputeSingleFaceDescriptorTask(this, this.input); - } - } - - // build/globalApi/ComputeFaceDescriptorsTasks.js - class ComputeFaceDescriptorsTaskBase extends ComposableTask { - constructor(parentTask, input) { - super(); - this.parentTask = parentTask; - this.input = input; - } - } - class ComputeAllFaceDescriptorsTask extends ComputeFaceDescriptorsTaskBase { - async run() { - const parentResults = await this.parentTask; - const descriptors = await extractAllFacesAndComputeResults(parentResults, this.input, (faces) => Promise.all(faces.map((face) => nets.faceRecognitionNet.computeFaceDescriptor(face))), null, (parentResult) => parentResult.landmarks.align(null, {useDlibAlignment: true})); - return descriptors.map((descriptor, i) => extendWithFaceDescriptor(parentResults[i], descriptor)); - } - withFaceExpressions() { - return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); - } - withAgeAndGender() { - return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); - } - } - class ComputeSingleFaceDescriptorTask extends ComputeFaceDescriptorsTaskBase { - async run() { - const parentResult = await this.parentTask; - if (!parentResult) { - return; - } - const descriptor = await extractSingleFaceAndComputeResult(parentResult, this.input, (face) => nets.faceRecognitionNet.computeFaceDescriptor(face), null, (parentResult2) => parentResult2.landmarks.align(null, {useDlibAlignment: true})); - return extendWithFaceDescriptor(parentResult, descriptor); - } - withFaceExpressions() { - return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); - } - withAgeAndGender() { - return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); - } - } - - // build/tinyFaceDetector/TinyFaceDetectorOptions.js - const tinyYolov22 = __toModule(require_tinyYolov2()); - class TinyFaceDetectorOptions extends tinyYolov22.TinyYolov2Options { - constructor() { - super(...arguments); - this._name = "TinyFaceDetectorOptions"; - } - } - - // build/globalApi/DetectFaceLandmarksTasks.js - const dom12 = __toModule(require_dom()); - class DetectFaceLandmarksTaskBase extends ComposableTask { - constructor(parentTask, input, useTinyLandmarkNet) { - super(); - this.parentTask = parentTask; - this.input = input; - this.useTinyLandmarkNet = useTinyLandmarkNet; - } - get landmarkNet() { - return this.useTinyLandmarkNet ? nets.faceLandmark68TinyNet : nets.faceLandmark68Net; - } - } - class DetectAllFaceLandmarksTask extends DetectFaceLandmarksTaskBase { - async run() { - const parentResults = await this.parentTask; - const detections = parentResults.map((res) => res.detection); - const faces = this.input instanceof Tensor ? await dom12.extractFaceTensors(this.input, detections) : await dom12.extractFaces(this.input, detections); - const faceLandmarksByFace = await Promise.all(faces.map((face) => this.landmarkNet.detectLandmarks(face))); - faces.forEach((f) => f instanceof Tensor && f.dispose()); - return parentResults.map((parentResult, i) => extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i])); - } - withFaceExpressions() { - return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input); - } - withAgeAndGender() { - return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input); - } - withFaceDescriptors() { - return new ComputeAllFaceDescriptorsTask(this, this.input); - } - } - class DetectSingleFaceLandmarksTask extends DetectFaceLandmarksTaskBase { - async run() { - const parentResult = await this.parentTask; - if (!parentResult) { - return; - } - const {detection} = parentResult; - const faces = this.input instanceof Tensor ? await dom12.extractFaceTensors(this.input, [detection]) : await dom12.extractFaces(this.input, [detection]); - const landmarks = await this.landmarkNet.detectLandmarks(faces[0]); - faces.forEach((f) => f instanceof Tensor && f.dispose()); - return extendWithFaceLandmarks(parentResult, landmarks); - } - withFaceExpressions() { - return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input); - } - withAgeAndGender() { - return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input); - } - withFaceDescriptor() { - return new ComputeSingleFaceDescriptorTask(this, this.input); - } - } - - // build/globalApi/DetectFacesTasks.js - class DetectFacesTaskBase extends ComposableTask { - constructor(input, options = new TinyFaceDetectorOptions()) { - super(); - this.input = input; - this.options = options; - } - } - class DetectAllFacesTask extends DetectFacesTaskBase { - async run() { - const {input, options} = this; - const faceDetectionFunction = options instanceof TinyFaceDetectorOptions ? (input2) => nets.tinyFaceDetector.locateFaces(input2, options) : null; - if (!faceDetectionFunction) { - throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options"); - } - return faceDetectionFunction(input); - } - runAndExtendWithFaceDetections() { - return new Promise(async (res) => { - const detections = await this.run(); - return res(detections.map((detection) => extendWithFaceDetection({}, detection))); - }); - } - withFaceLandmarks(useTinyLandmarkNet = false) { - return new DetectAllFaceLandmarksTask(this.runAndExtendWithFaceDetections(), this.input, useTinyLandmarkNet); - } - withFaceExpressions() { - return new PredictAllFaceExpressionsTask(this.runAndExtendWithFaceDetections(), this.input); - } - withAgeAndGender() { - return new PredictAllAgeAndGenderTask(this.runAndExtendWithFaceDetections(), this.input); - } - } - class DetectSingleFaceTask extends DetectFacesTaskBase { - async run() { - const faceDetections = await new DetectAllFacesTask(this.input, this.options); - let faceDetectionWithHighestScore = faceDetections[0]; - faceDetections.forEach((faceDetection) => { - if (faceDetection.score > faceDetectionWithHighestScore.score) { - faceDetectionWithHighestScore = faceDetection; - } - }); - return faceDetectionWithHighestScore; - } - runAndExtendWithFaceDetection() { - return new Promise(async (res) => { - const detection = await this.run(); - return res(detection ? extendWithFaceDetection({}, detection) : void 0); - }); - } - withFaceLandmarks(useTinyLandmarkNet = false) { - return new DetectSingleFaceLandmarksTask(this.runAndExtendWithFaceDetection(), this.input, useTinyLandmarkNet); - } - withFaceExpressions() { - return new PredictSingleFaceExpressionsTask(this.runAndExtendWithFaceDetection(), this.input); - } - withAgeAndGender() { - return new PredictSingleAgeAndGenderTask(this.runAndExtendWithFaceDetection(), this.input); - } - } - - // build/globalApi/detectFaces.js - function detectSingleFace(input, options = new TinyFaceDetectorOptions()) { - return new DetectSingleFaceTask(input, options); - } - function detectAllFaces(input, options = new TinyFaceDetectorOptions()) { - return new DetectAllFacesTask(input, options); - } - - // build/euclideanDistance.js - function euclideanDistance(arr1, arr2) { - if (arr1.length !== arr2.length) - throw new Error("euclideanDistance: arr1.length !== arr2.length"); - const desc1 = Array.from(arr1); - const desc2 = Array.from(arr2); - return Math.sqrt(desc1.map((val, i) => val - desc2[i]).reduce((res, diff) => res + Math.pow(diff, 2), 0)); - } - - // build/globalApi/FaceMatcher.js - class FaceMatcher { - constructor(inputs, distanceThreshold = 0.6) { - this._distanceThreshold = distanceThreshold; - const inputArray = Array.isArray(inputs) ? inputs : [inputs]; - if (!inputArray.length) { - throw new Error(`FaceRecognizer.constructor - expected atleast one input`); - } - let count = 1; - const createUniqueLabel = () => `person ${count++}`; - this._labeledDescriptors = inputArray.map((desc) => { - if (desc instanceof LabeledFaceDescriptors) { - return desc; - } - if (desc instanceof Float32Array) { - return new LabeledFaceDescriptors(createUniqueLabel(), [desc]); - } - if (desc.descriptor && desc.descriptor instanceof Float32Array) { - return new LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]); - } - throw new Error(`FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>`); - }); - } - get labeledDescriptors() { - return this._labeledDescriptors; - } - get distanceThreshold() { - return this._distanceThreshold; - } - computeMeanDistance(queryDescriptor, descriptors) { - return descriptors.map((d) => euclideanDistance(d, queryDescriptor)).reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1); - } - matchDescriptor(queryDescriptor) { - return this.labeledDescriptors.map(({descriptors, label}) => new FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors))).reduce((best, curr) => best.distance < curr.distance ? best : curr); - } - findBestMatch(queryDescriptor) { - const bestMatch = this.matchDescriptor(queryDescriptor); - return bestMatch.distance < this.distanceThreshold ? bestMatch : new FaceMatch("unknown", bestMatch.distance); - } - toJSON() { - return { - distanceThreshold: this.distanceThreshold, - labeledDescriptors: this.labeledDescriptors.map((ld) => ld.toJSON()) - }; - } - static fromJSON(json) { - const labeledDescriptors = json.labeledDescriptors.map((ld) => LabeledFaceDescriptors.fromJSON(ld)); - return new FaceMatcher(labeledDescriptors, json.distanceThreshold); - } - } - - // build/tinyFaceDetector/index.js - function createTinyFaceDetector(weights) { - const net = new TinyFaceDetector(); - net.extractWeights(weights); - return net; - } - - // build/resizeResults.js - function resizeResults(results, dimensions) { - const {width, height} = new Dimensions(dimensions.width, dimensions.height); - if (width <= 0 || height <= 0) { - throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width, height})}`); - } - if (Array.isArray(results)) { - return results.map((obj) => resizeResults(obj, {width, height})); - } - if (isWithFaceLandmarks(results)) { - const resizedDetection = results.detection.forSize(width, height); - const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height); - return extendWithFaceLandmarks(extendWithFaceDetection(results, resizedDetection), resizedLandmarks); - } - if (isWithFaceDetection(results)) { - return extendWithFaceDetection(results, results.detection.forSize(width, height)); - } - if (results instanceof FaceLandmarks || results instanceof FaceDetection) { - return results.forSize(width, height); - } - return results; - } return require_build(); })(); //# sourceMappingURL=face-api.js.map diff --git a/dist/face-api.js.map b/dist/face-api.js.map index bdde4bc..fca7299 100644 --- a/dist/face-api.js.map +++ b/dist/face-api.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["node_modules/seedrandom/lib/alea.js", "node_modules/seedrandom/lib/xor128.js", "node_modules/seedrandom/lib/xorwow.js", "node_modules/seedrandom/lib/xorshift7.js", "node_modules/seedrandom/lib/xor4096.js", "node_modules/seedrandom/lib/tychei.js", "disabled:crypto", "node_modules/seedrandom/seedrandom.js", "node_modules/seedrandom/index.js", "build/env/../../src/env/isNodejs.ts", "build/env/types.js", "build/env/../../src/env/index.ts", "build/dom/types.js", "build/dom/../../src/dom/index.ts", "build/tinyYolov2/types.js", "build/tinyYolov2/../../src/tinyYolov2/index.ts", "build/globalApi/types.js", "build/globalApi/../../src/globalApi/index.ts", "build/../src/index.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/environment.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/global_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_names.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/profiler.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tape.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_format.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/types.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/engine.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/device_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/flags.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util_env.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/operation.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/abs.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add_n.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/axis_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reshape.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/all.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/any.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan2.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cast.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/globals.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/basic_lstm_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batch_to_space_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clone.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_to.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/buffer.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ceil.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clip_by_value.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/complex.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cumsum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depth_to_space.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/diag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dilation2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floorDiv.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div_no_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/elu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expand_dims.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expm1.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tile.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/eye.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fill.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reduce_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/segment_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ifft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/imag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/real.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scalar.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/irfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_finite.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_inf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/maximum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/leaky_relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/linspace.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log1p.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/neg.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softplus.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sub.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sum_exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_and.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_not.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_or.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_xor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_with_argmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/minimum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/square.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moments.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multi_rnn_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multinomial.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/not_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/one_hot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/outer_product.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/space_to_batch_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pow.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prelu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/print.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/test_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_gamma.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_uniform.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/range.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reciprocal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu6.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/round.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rsqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/separable_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/setdiff1d_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sign.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squared_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squeeze.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/step.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/strided_slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor5d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor6d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/topk.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/truncated_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unsorted_segment_sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unstack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/variable.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/where_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/boolean_mask.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compare.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/binary_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/norm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moving_average.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/signal_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/in_top_k.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hamming_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hann_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/frame.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/crop_and_resize.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/flip_left_right.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_with_offset.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/nonmax_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/array_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/non_max_suppression_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_bilinear.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_nearest_neighbor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/band_part.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gram_schmidt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/qr.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/loss_ops_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compute_weighted_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/absolute_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosine_distance.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hinge_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/huber_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean_squared_error.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ops.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/base_side_effects.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/types.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/router_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/model_management.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/browser_files.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/progress.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/weights_loader.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/http.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/passthrough.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/confusion_matrix.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/math.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/browser.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/serialization.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/version.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adadelta_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adagrad_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adam_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adamax_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/sgd_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/momentum_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/rmsprop_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer_constructors.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/train.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/browser_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/array_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/log.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/complex_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/split_shared.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/tile_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/topk_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/kernel_impls.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Abs_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Add_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AddN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchMatMul_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchToSpaceND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BroadcastTo_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cast_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Ceil_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ClipByValue_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Concat_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2DBackpropInput_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cumsum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/DepthwiseConv2dNative_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Dilation2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Div_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Elu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Erf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Exp_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Expm1_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Floor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FloorDiv_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FusedBatchNorm_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GatherV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GreaterEqual_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Identity_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsFinite_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsInf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsNan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log1p_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LogSoftmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LRN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/min_max_grad_util.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Max_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Maximum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Min_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Minimum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Mod_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Multiply_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Negate_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OneHot_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OnesLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/PadV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Pow_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Prelu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reciprocal_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu6_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reshape_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeBilinear_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeNearestNeighbor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reverse_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Round_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Rsqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SelectV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Selu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sigmoid_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sign_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Slice_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softplus_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SpaceToBatchND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SplitV_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Square_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SquaredDifference_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Step_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sub_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tile_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Transpose_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Unpack_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/UnsortedSegmentSum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ZerosLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/register_all_gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/index.ts", "build/draw/../../src/draw/drawContour.ts", "build/classes/../../src/classes/Dimensions.ts", "build/utils/../../src/utils/index.ts", "build/classes/../../src/classes/Point.ts", "build/classes/../../src/classes/Box.ts", "build/classes/../../src/classes/BoundingBox.ts", "build/classes/../../src/classes/ObjectDetection.ts", "build/classes/../../src/classes/FaceDetection.ts", "build/ops/../../src/ops/iou.ts", "build/ops/../../src/ops/minBbox.ts", "build/ops/../../src/ops/nonMaxSuppression.ts", "build/ops/../../src/ops/normalize.ts", "build/ops/../../src/ops/padToSquare.ts", "build/ops/../../src/ops/shuffleArray.ts", "build/ops/../../src/ops/index.ts", "build/classes/../../src/classes/Rect.ts", "build/classes/../../src/classes/FaceLandmarks.ts", "build/classes/../../src/classes/FaceLandmarks5.ts", "build/classes/../../src/classes/FaceLandmarks68.ts", "build/classes/../../src/classes/FaceMatch.ts", "build/classes/../../src/classes/LabeledBox.ts", "build/classes/../../src/classes/LabeledFaceDescriptors.ts", "build/classes/../../src/classes/PredictedBox.ts", "build/factories/../../src/factories/WithFaceDetection.ts", "build/env/../../src/env/createBrowserEnv.ts", "build/env/../../src/env/createFileSystem.ts", "build/env/../../src/env/createNodejsEnv.ts", "build/env/../../src/env/isBrowser.ts", "build/dom/../../src/dom/resolveInput.ts", "build/dom/../../src/dom/getContext2dOrThrow.ts", "build/draw/../../src/draw/DrawTextField.ts", "build/draw/../../src/draw/DrawBox.ts", "build/draw/../../src/draw/drawDetections.ts", "build/dom/../../src/dom/isMediaLoaded.ts", "build/dom/../../src/dom/awaitMediaLoaded.ts", "build/dom/../../src/dom/bufferToImage.ts", "build/dom/../../src/dom/getMediaDimensions.ts", "build/dom/../../src/dom/createCanvas.ts", "build/dom/../../src/dom/imageTensorToCanvas.ts", "build/dom/../../src/dom/isMediaElement.ts", "build/dom/../../src/dom/imageToSquare.ts", "build/dom/../../src/dom/NetInput.ts", "build/dom/../../src/dom/toNetInput.ts", "build/dom/../../src/dom/extractFaces.ts", "build/dom/../../src/dom/extractFaceTensors.ts", "build/dom/../../src/dom/fetchOrThrow.ts", "build/dom/../../src/dom/fetchImage.ts", "build/dom/../../src/dom/fetchJson.ts", "build/dom/../../src/dom/fetchNetWeights.ts", "build/common/../../src/common/getModelUris.ts", "build/dom/../../src/dom/loadWeightMap.ts", "build/dom/../../src/dom/matchDimensions.ts", "build/../src/NeuralNetwork.ts", "build/common/../../src/common/depthwiseSeparableConv.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/denseBlock.ts", "build/common/../../src/common/convLayer.ts", "build/common/../../src/common/disposeUnusedWeightTensors.ts", "build/common/../../src/common/extractConvParamsFactory.ts", "build/common/../../src/common/extractFCParamsFactory.ts", "build/common/../../src/common/types.ts", "build/common/../../src/common/extractSeparableConvParamsFactory.ts", "build/common/../../src/common/extractWeightEntryFactory.ts", "build/common/../../src/common/extractWeightsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractorsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParams.ts", "build/common/../../src/common/loadConvParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/loadParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "build/common/../../src/common/fullyConnectedLayer.ts", "build/faceProcessor/../../src/faceProcessor/extractParams.ts", "build/faceProcessor/../../src/faceProcessor/extractParamsFromWeigthMap.ts", "build/faceProcessor/../../src/faceProcessor/util.ts", "build/faceProcessor/../../src/faceProcessor/FaceProcessor.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressions.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressionNet.ts", "build/factories/../../src/factories/WithFaceExpressions.ts", "build/draw/../../src/draw/drawFaceExpressions.ts", "build/factories/../../src/factories/WithFaceLandmarks.ts", "build/draw/../../src/draw/DrawFaceLandmarks.ts", "build/draw/../../src/draw/index.ts", "build/xception/../../src/xception/extractParams.ts", "build/xception/../../src/xception/extractParamsFromWeigthMap.ts", "build/xception/../../src/xception/TinyXception.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParams.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParamsFromWeigthMap.ts", "build/ageGenderNet/../../src/ageGenderNet/types.ts", "build/ageGenderNet/../../src/ageGenderNet/AgeGenderNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68Net.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/index.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/scaleLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/convLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParams.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/residualLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/FaceRecognitionNet.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/index.ts", "build/factories/../../src/factories/WithFaceDescriptor.ts", "build/factories/../../src/factories/WithAge.ts", "build/factories/../../src/factories/WithGender.ts", "build/globalApi/../../src/globalApi/ComposableTask.ts", "build/globalApi/../../src/globalApi/extractFacesAndComputeResults.ts", "build/tinyYolov2/../../src/tinyYolov2/config.ts", "build/tinyYolov2/../../src/tinyYolov2/leaky.ts", "build/tinyYolov2/../../src/tinyYolov2/convWithBatchNorm.ts", "build/tinyYolov2/../../src/tinyYolov2/depthwiseSeparableConv.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParams.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParamsFromWeigthMap.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Options.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Base.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/const.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetector.ts", "build/tinyYolov2/../../src/tinyYolov2/const.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2.ts", "build/globalApi/../../src/globalApi/nets.ts", "build/globalApi/../../src/globalApi/PredictFaceExpressionsTask.ts", "build/globalApi/../../src/globalApi/PredictAgeAndGenderTask.ts", "build/globalApi/../../src/globalApi/ComputeFaceDescriptorsTasks.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "build/globalApi/../../src/globalApi/DetectFaceLandmarksTasks.ts", "build/globalApi/../../src/globalApi/DetectFacesTasks.ts", "build/globalApi/../../src/globalApi/detectFaces.ts", "build/../src/euclideanDistance.ts", "build/globalApi/../../src/globalApi/FaceMatcher.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/index.ts", "build/../src/resizeResults.ts"], - "sourcesContent": ["// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", null, "//# sourceMappingURL=types.js.map", null, "//# sourceMappingURL=types.js.map", null, "//# sourceMappingURL=types.js.map", null, "//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], - "mappings": "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", + "sources": ["node_modules/tslib/tslib.es6.js", "node_modules/seedrandom/lib/alea.js", "node_modules/seedrandom/lib/xor128.js", "node_modules/seedrandom/lib/xorwow.js", "node_modules/seedrandom/lib/xorshift7.js", "node_modules/seedrandom/lib/xor4096.js", "node_modules/seedrandom/lib/tychei.js", "disabled:crypto", "node_modules/seedrandom/seedrandom.js", "node_modules/seedrandom/index.js", "node_modules/@tensorflow/tfjs-core/dist/../src/index.ts", "build/draw/../../src/draw/drawContour.ts", "build/classes/../../src/classes/Dimensions.ts", "build/utils/../../src/utils/index.ts", "build/classes/../../src/classes/Point.ts", "build/classes/../../src/classes/Box.ts", "build/classes/../../src/classes/BoundingBox.ts", "build/classes/../../src/classes/ObjectDetection.ts", "build/classes/../../src/classes/FaceDetection.ts", "build/ops/../../src/ops/iou.ts", "build/ops/../../src/ops/minBbox.ts", "build/ops/../../src/ops/nonMaxSuppression.ts", "build/ops/../../src/ops/normalize.ts", "build/ops/../../src/ops/padToSquare.ts", "build/ops/../../src/ops/shuffleArray.ts", "build/ops/../../src/ops/index.ts", "build/classes/../../src/classes/Rect.ts", "build/classes/../../src/classes/FaceLandmarks.ts", "build/classes/../../src/classes/FaceLandmarks5.ts", "build/classes/../../src/classes/FaceLandmarks68.ts", "build/classes/../../src/classes/FaceMatch.ts", "build/classes/../../src/classes/LabeledBox.ts", "build/classes/../../src/classes/LabeledFaceDescriptors.ts", "build/classes/../../src/classes/PredictedBox.ts", "build/classes/../../src/classes/index.ts", "build/factories/../../src/factories/WithFaceDetection.ts", "build/env/../../src/env/createBrowserEnv.ts", "build/env/../../src/env/createFileSystem.ts", "build/env/../../src/env/createNodejsEnv.ts", "build/env/../../src/env/isBrowser.ts", "build/env/../../src/env/isNodejs.ts", "build/env/types.js", "build/env/../../src/env/index.ts", "build/dom/../../src/dom/resolveInput.ts", "build/dom/../../src/dom/getContext2dOrThrow.ts", "build/draw/../../src/draw/DrawTextField.ts", "build/draw/../../src/draw/DrawBox.ts", "build/draw/../../src/draw/drawDetections.ts", "build/dom/../../src/dom/isMediaLoaded.ts", "build/dom/../../src/dom/awaitMediaLoaded.ts", "build/dom/../../src/dom/bufferToImage.ts", "build/dom/../../src/dom/getMediaDimensions.ts", "build/dom/../../src/dom/createCanvas.ts", "build/dom/../../src/dom/imageTensorToCanvas.ts", "build/dom/../../src/dom/isMediaElement.ts", "build/dom/../../src/dom/imageToSquare.ts", "build/dom/../../src/dom/NetInput.ts", "build/dom/../../src/dom/toNetInput.ts", "build/dom/../../src/dom/extractFaces.ts", "build/dom/../../src/dom/extractFaceTensors.ts", "build/dom/../../src/dom/fetchOrThrow.ts", "build/dom/../../src/dom/fetchImage.ts", "build/dom/../../src/dom/fetchJson.ts", "build/dom/../../src/dom/fetchNetWeights.ts", "build/common/../../src/common/getModelUris.ts", "build/dom/../../src/dom/loadWeightMap.ts", "build/dom/../../src/dom/matchDimensions.ts", "build/dom/types.js", "build/dom/../../src/dom/index.ts", "build/../src/NeuralNetwork.ts", "build/common/../../src/common/depthwiseSeparableConv.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/denseBlock.ts", "build/common/../../src/common/convLayer.ts", "build/common/../../src/common/disposeUnusedWeightTensors.ts", "build/common/../../src/common/extractConvParamsFactory.ts", "build/common/../../src/common/extractFCParamsFactory.ts", "build/common/../../src/common/types.ts", "build/common/../../src/common/extractSeparableConvParamsFactory.ts", "build/common/../../src/common/extractWeightEntryFactory.ts", "build/common/../../src/common/extractWeightsFactory.ts", "build/common/../../src/common/index.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractorsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParams.ts", "build/common/../../src/common/loadConvParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/loadParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "build/common/../../src/common/fullyConnectedLayer.ts", "build/faceProcessor/../../src/faceProcessor/extractParams.ts", "build/faceProcessor/../../src/faceProcessor/extractParamsFromWeigthMap.ts", "build/faceProcessor/../../src/faceProcessor/util.ts", "build/faceProcessor/../../src/faceProcessor/FaceProcessor.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressions.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressionNet.ts", "build/faceExpressionNet/../../src/faceExpressionNet/index.ts", "build/factories/../../src/factories/WithFaceExpressions.ts", "build/draw/../../src/draw/drawFaceExpressions.ts", "build/factories/../../src/factories/WithFaceLandmarks.ts", "build/draw/../../src/draw/DrawFaceLandmarks.ts", "build/draw/../../src/draw/index.ts", "build/xception/../../src/xception/extractParams.ts", "build/xception/../../src/xception/extractParamsFromWeigthMap.ts", "build/xception/../../src/xception/TinyXception.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParams.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParamsFromWeigthMap.ts", "build/ageGenderNet/../../src/ageGenderNet/types.ts", "build/ageGenderNet/../../src/ageGenderNet/AgeGenderNet.ts", "build/ageGenderNet/../../src/ageGenderNet/index.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68Net.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/index.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/scaleLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/convLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParams.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/residualLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/FaceRecognitionNet.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/index.ts", "build/factories/../../src/factories/WithFaceDescriptor.ts", "build/factories/../../src/factories/WithAge.ts", "build/factories/../../src/factories/WithGender.ts", "build/factories/../../src/factories/index.ts", "build/globalApi/../../src/globalApi/ComposableTask.ts", "build/globalApi/../../src/globalApi/extractFacesAndComputeResults.ts", "build/tinyYolov2/../../src/tinyYolov2/config.ts", "build/tinyYolov2/../../src/tinyYolov2/leaky.ts", "build/tinyYolov2/../../src/tinyYolov2/convWithBatchNorm.ts", "build/tinyYolov2/../../src/tinyYolov2/depthwiseSeparableConv.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParams.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParamsFromWeigthMap.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Options.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Base.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/const.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetector.ts", "build/tinyYolov2/../../src/tinyYolov2/const.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2.ts", "build/tinyYolov2/types.js", "build/tinyYolov2/../../src/tinyYolov2/index.ts", "build/globalApi/../../src/globalApi/nets.ts", "build/globalApi/../../src/globalApi/PredictFaceExpressionsTask.ts", "build/globalApi/../../src/globalApi/PredictAgeAndGenderTask.ts", "build/globalApi/../../src/globalApi/ComputeFaceDescriptorsTasks.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "build/globalApi/../../src/globalApi/DetectFaceLandmarksTasks.ts", "build/globalApi/../../src/globalApi/DetectFacesTasks.ts", "build/globalApi/../../src/globalApi/detectFaces.ts", "build/../src/euclideanDistance.ts", "build/globalApi/../../src/globalApi/FaceMatcher.ts", "build/globalApi/types.js", "build/globalApi/../../src/globalApi/index.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/index.ts", "build/../src/resizeResults.ts", "build/../src/index.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/environment.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/global_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_names.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/profiler.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tape.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_format.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/types.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/engine.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/device_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/flags.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util_env.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/operation.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/abs.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add_n.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/axis_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reshape.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/all.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/any.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan2.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cast.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/globals.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/basic_lstm_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batch_to_space_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clone.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_to.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/buffer.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ceil.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clip_by_value.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/complex.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cumsum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depth_to_space.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/diag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dilation2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floorDiv.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div_no_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/elu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expand_dims.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expm1.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tile.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/eye.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fill.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reduce_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/segment_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ifft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/imag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/real.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scalar.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/irfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_finite.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_inf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/maximum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/leaky_relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/linspace.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log1p.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/neg.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softplus.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sub.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sum_exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_and.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_not.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_or.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_xor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_with_argmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/minimum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/square.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moments.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multi_rnn_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multinomial.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/not_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/one_hot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/outer_product.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/space_to_batch_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pow.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prelu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/print.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/test_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_gamma.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_uniform.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/range.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reciprocal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu6.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/round.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rsqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/separable_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/setdiff1d_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sign.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squared_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squeeze.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/step.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/strided_slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor5d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor6d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/topk.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/truncated_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unsorted_segment_sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unstack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/variable.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/where_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/boolean_mask.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compare.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/binary_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/norm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moving_average.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/signal_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/in_top_k.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hamming_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hann_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/frame.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/crop_and_resize.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/flip_left_right.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_with_offset.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/nonmax_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/array_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/non_max_suppression_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_bilinear.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_nearest_neighbor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/band_part.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gram_schmidt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/qr.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/loss_ops_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compute_weighted_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/absolute_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosine_distance.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hinge_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/huber_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean_squared_error.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ops.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/base_side_effects.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/types.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/router_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/model_management.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/browser_files.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/progress.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/weights_loader.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/http.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/passthrough.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/confusion_matrix.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/math.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/browser.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/serialization.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/version.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adadelta_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adagrad_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adam_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adamax_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/sgd_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/momentum_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/rmsprop_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer_constructors.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/train.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/browser_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/array_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/log.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/complex_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/split_shared.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/tile_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/topk_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/kernel_impls.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Abs_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Add_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AddN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchMatMul_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchToSpaceND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BroadcastTo_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cast_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Ceil_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ClipByValue_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Concat_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2DBackpropInput_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cumsum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/DepthwiseConv2dNative_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Dilation2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Div_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Elu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Erf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Exp_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Expm1_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Floor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FloorDiv_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FusedBatchNorm_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GatherV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GreaterEqual_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Identity_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsFinite_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsInf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsNan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log1p_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LogSoftmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LRN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/min_max_grad_util.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Max_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Maximum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Min_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Minimum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Mod_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Multiply_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Negate_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OneHot_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OnesLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/PadV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Pow_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Prelu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reciprocal_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu6_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reshape_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeBilinear_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeNearestNeighbor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reverse_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Round_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Rsqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SelectV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Selu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sigmoid_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sign_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Slice_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softplus_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SpaceToBatchND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SplitV_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Square_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SquaredDifference_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Step_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sub_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tile_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Transpose_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Unpack_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/UnsortedSegmentSum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ZerosLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/register_all_gradients.ts"], + "sourcesContent": ["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\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) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\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) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], + "mappings": "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", "names": [] } diff --git a/dist/face-api.min.js b/dist/face-api.min.js index d7904cb..235d9cd 100644 --- a/dist/face-api.min.js +++ b/dist/face-api.min.js @@ -1,20 +1,34 @@ -var faceapi=(()=>{var Fs=Object.defineProperty,$b=Object.prototype.hasOwnProperty,ke=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),uu=e=>Fs(e,"__esModule",{value:!0}),me=(e,t)=>{uu(e);for(var n in t)Fs(e,n,{get:t[n],enumerable:!0})},T=(e,t)=>{if(uu(e),typeof t=="object"||typeof t=="function")for(let n in t)!$b.call(e,n)&&n!=="default"&&Fs(e,n,{get:()=>t[n],enumerable:!0});return e},ee=e=>e&&e.__esModule?e:T(Fs({},"default",{value:e,enumerable:!0}),e);var mu=ke((du,Ka)=>{(function(e,t,n){function r(s){var c=this,p=a();c.next=function(){var l=2091639*c.s0+c.c*23283064365386963e-26;return c.s0=c.s1,c.s1=c.s2,c.s2=l-(c.c=l|0)},c.c=1,c.s0=p(" "),c.s1=p(" "),c.s2=p(" "),c.s0-=p(s),c.s0<0&&(c.s0+=1),c.s1-=p(s),c.s1<0&&(c.s1+=1),c.s2-=p(s),c.s2<0&&(c.s2+=1),p=null}function o(s,c){return c.c=s.c,c.s0=s.s0,c.s1=s.s1,c.s2=s.s2,c}function i(s,c){var p=new r(s),l=c&&c.state,h=p.next;return h.int32=function(){return p.next()*4294967296|0},h.double=function(){return h()+(h()*2097152|0)*11102230246251565e-32},h.quick=h,l&&(typeof l=="object"&&o(l,p),h.state=function(){return o(p,{})}),h}function a(){var s=4022871197,c=function(p){p=p.toString();for(var l=0;l>>0,h-=s,h*=s,s=h>>>0,h-=s,s+=h*4294967296}return(s>>>0)*23283064365386963e-26};return c}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.alea=i})(du,typeof Ka=="object"&&Ka,typeof define=="function"&&define)});var gu=ke((fu,Ja)=>{(function(e,t,n){function r(a){var s=this,c="";s.x=0,s.y=0,s.z=0,s.w=0,s.next=function(){var l=s.x^s.x<<11;return s.x=s.y,s.y=s.z,s.z=s.w,s.w^=s.w>>>19^l^l>>>8},a===(a|0)?s.x=a:c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(h+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xor128=i})(fu,typeof Ja=="object"&&Ja,typeof define=="function"&&define)});var wu=ke((bu,Xa)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.x^s.x>>>2;return s.x=s.y,s.y=s.z,s.z=s.w,s.w=s.v,(s.d=s.d+362437|0)+(s.v=s.v^s.v<<4^(l^l<<1))|0},s.x=0,s.y=0,s.z=0,s.w=0,s.v=0,a===(a|0)?s.x=a:c+=a;for(var p=0;p>>4),s.next()}function o(a,s){return s.x=a.x,s.y=a.y,s.z=a.z,s.w=a.w,s.v=a.v,s.d=a.d,s}function i(a,s){var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(h+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xorwow=i})(bu,typeof Xa=="object"&&Xa,typeof define=="function"&&define)});var xu=ke((yu,Za)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.x,l=s.i,h,m,b;return h=p[l],h^=h>>>7,m=h^h<<24,h=p[l+1&7],m^=h^h>>>10,h=p[l+3&7],m^=h^h>>>3,h=p[l+4&7],m^=h^h<<7,h=p[l+7&7],h=h^h<<13,m^=h^h<<9,p[l]=m,s.i=l+1&7,m};function c(p,l){var h,m,b=[];if(l===(l|0))m=b[0]=l;else for(l=""+l,h=0;h0;--h)p.next()}c(s,a)}function o(a,s){return s.x=a.x.slice(),s.i=a.i,s}function i(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(h+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.x&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xorshift7=i})(yu,typeof Za=="object"&&Za,typeof define=="function"&&define)});var Su=ke((Lu,Qa)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.w,l=s.X,h=s.i,m,b;return s.w=p=p+1640531527|0,b=l[h+34&127],m=l[h=h+1&127],b^=b<<13,m^=m<<17,b^=b>>>15,m^=m>>>12,b=l[h]=b^m,s.i=h,b+(p^p>>>16)|0};function c(p,l){var h,m,b,y,w,L=[],v=128;for(l===(l|0)?(m=l,l=null):(l=l+"\0",m=0,v=Math.max(v,l.length)),b=0,y=-32;y>>15,m^=m<<4,m^=m>>>13,y>=0&&(w=w+1640531527|0,h=L[y&127]^=m+w,b=h==0?b+1:0);for(b>=128&&(L[(l&&l.length||0)&127]=-1),b=127,y=4*128;y>0;--y)m=L[b+34&127],h=L[b=b+1&127],m^=m<<13,h^=h<<17,m^=m>>>15,h^=h>>>12,L[b]=m^h;p.w=w,p.X=L,p.i=b}c(s,a)}function o(a,s){return s.i=a.i,s.w=a.w,s.X=a.X.slice(),s}function i(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(h+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.X&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xor4096=i})(Lu,typeof Qa=="object"&&Qa,typeof define=="function"&&define)});var Iu=ke((vu,ec)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.b,h=s.c,m=s.d,b=s.a;return l=l<<25^l>>>7^h,h=h-m|0,m=m<<24^m>>>8^b,b=b-l|0,s.b=l=l<<20^l>>>12^h,s.c=h=h-m|0,s.d=m<<16^h>>>16^b,s.a=b-l|0},s.a=0,s.b=0,s.c=2654435769|0,s.d=1367130551,a===Math.floor(a)?(s.a=a/4294967296|0,s.b=a|0):c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(h+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.tychei=i})(vu,typeof ec=="object"&&ec,typeof define=="function"&&define)});var Tu=ke(()=>{});var Au=ke((qT,Ms)=>{(function(e,t){var n=this,r=256,o=6,i=52,a="random",s=t.pow(r,o),c=t.pow(2,i),p=c*2,l=r-1,h;function m(R,N,O){var M=[];N=N==!0?{entropy:!0}:N||{};var D=L(w(N.entropy?[R,A(e)]:R==null?v():R,3),M),G=new b(M),$=function(){for(var j=G.g(o),oe=s,ie=0;j=p;)j/=2,oe/=2,ie>>>=1;return(j+ie)/oe};return $.int32=function(){return G.g(4)|0},$.quick=function(){return G.g(4)/4294967296},$.double=$,L(A(G.S),e),(N.pass||O||function(j,oe,ie,ue){return ue&&(ue.S&&y(ue,G),j.state=function(){return y(G,{})}),ie?(t[a]=j,oe):j})($,D,"global"in N?N.global:this==t,N.state)}t["seed"+a]=m;function b(R){var N,O=R.length,M=this,D=0,G=M.i=M.j=0,$=M.S=[];for(O||(R=[O++]);D{var Gb=mu(),jb=gu(),Pb=wu(),qb=xu(),Hb=Su(),zb=Iu(),bn=Au();bn.alea=Gb;bn.xor128=jb;bn.xorwow=Pb;bn.xorshift7=qb;bn.xor4096=Hb;bn.tychei=zb;Nu.exports=bn});var Eu=ke((Yb,Cu)=>{me(Yb,{isNodejs:()=>Vb});function Vb(){return typeof global=="object"&&!0&&typeof Cu!="undefined"&&typeof process!="undefined"&&!!process.version}});var Ou=ke(()=>{});var qe=ke(Kb=>{me(Kb,{env:()=>Zb});const oc=ee(Eu());T(Kb,ee(Ou()));let _e;function Jb(){if(!_e)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return _e}function ic(e){_e=e}function sc(){if(rc())return ic(tc());if(oc.isNodejs())return ic(nc())}function Xb(e){if(_e||sc(),!_e)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");const{Canvas:t=_e.Canvas,Image:n=_e.Image}=e;_e.Canvas=t,_e.Image=n,_e.createCanvasElement=e.createCanvasElement||(()=>new t()),_e.createImageElement=e.createImageElement||(()=>new n()),_e.ImageData=e.ImageData||_e.ImageData,_e.Video=e.Video||_e.Video,_e.fetch=e.fetch||_e.fetch,_e.readFile=e.readFile||_e.readFile}const Zb={getEnv:Jb,setEnv:ic,initialize:sc,createBrowserEnv:tc,createFileSystem:Us,createNodejsEnv:nc,monkeyPatch:Xb,isBrowser:rc,isNodejs:oc.isNodejs};sc()});var ku=ke(()=>{});var ot=ke(Qb=>{me(Qb,{NetInput:()=>Bs,awaitMediaLoaded:()=>uc,bufferToImage:()=>hc,createCanvas:()=>hr,createCanvasFromMedia:()=>Qr,extractFaceTensors:()=>iw,extractFaces:()=>ow,fetchImage:()=>rw,fetchJson:()=>lc,fetchNetWeights:()=>nw,fetchOrThrow:()=>xn,getContext2dOrThrow:()=>Ze,getMediaDimensions:()=>yn,imageTensorToCanvas:()=>pc,imageToSquare:()=>cc,isMediaElement:()=>Ws,isMediaLoaded:()=>Zr,loadWeightMap:()=>tw,matchDimensions:()=>ew,resolveInput:()=>wn,toNetInput:()=>ac});T(Qb,ee(ku()))});var _u=ke(()=>{});var $s=ke(sw=>{me(sw,{TinyYolov2:()=>dc,TinyYolov2Options:()=>gc,TinyYolov2SizeType:()=>fc,createTinyYolov2:()=>aw,validateConfig:()=>mc});T(sw,ee(_u()));function aw(e,t=!0){const n=new dc(t);return n.extractWeights(e),n}});var Du=ke(()=>{});var Wu=ke(cw=>{me(cw,{ComposableTask:()=>vt,ComputeAllFaceDescriptorsTask:()=>Ln,ComputeFaceDescriptorsTaskBase:()=>Sc,ComputeSingleFaceDescriptorTask:()=>Sn,DetectAllFaceLandmarksTask:()=>xc,DetectAllFacesTask:()=>Gs,DetectFaceLandmarksTaskBase:()=>yc,DetectFacesTaskBase:()=>bc,DetectSingleFaceLandmarksTask:()=>Lc,DetectSingleFaceTask:()=>wc,FaceMatcher:()=>Uu,computeFaceDescriptor:()=>hw,detectAllFaces:()=>Iw,detectFaceLandmarks:()=>Fu,detectFaceLandmarksTiny:()=>lw,detectLandmarks:()=>Sw,detectSingleFace:()=>vw,loadAgeGenderModel:()=>yw,loadFaceDetectionModel:()=>xw,loadFaceExpressionModel:()=>ww,loadFaceLandmarkModel:()=>fw,loadFaceLandmarkTinyModel:()=>gw,loadFaceRecognitionModel:()=>bw,loadTinyFaceDetectorModel:()=>Mu,loadTinyYolov2Model:()=>mw,locateFaces:()=>Lw,nets:()=>le,predictAgeAndGender:()=>dw,recognizeFaceExpressions:()=>uw,tinyFaceDetector:()=>pw});T(cw,ee(Du()))});var Vu=ke(Tw=>{me(Tw,{AgeGenderNet:()=>ta,BoundingBox:()=>gr,Box:()=>he,Dimensions:()=>Qe,FACE_EXPRESSION_LABELS:()=>Xs,FaceDetection:()=>ye,FaceExpressionNet:()=>Zs,FaceExpressions:()=>pn,FaceLandmark68Net:()=>mr,FaceLandmark68TinyNet:()=>Js,FaceLandmarkNet:()=>Hu,FaceLandmarks:()=>ct,FaceLandmarks5:()=>Yu,FaceLandmarks68:()=>fr,FaceMatch:()=>io,FaceRecognitionNet:()=>dr,Gender:()=>Dt,LabeledBox:()=>oo,LabeledFaceDescriptors:()=>ln,NeuralNetwork:()=>He,ObjectDetection:()=>Tn,Point:()=>J,PredictedBox:()=>zu,Rect:()=>ea,TinyFaceDetector:()=>vn,TinyFaceDetectorOptions:()=>sn,createFaceRecognitionNet:()=>qu,createTinyFaceDetector:()=>Bu,draw:()=>Ps,euclideanDistance:()=>Qs,extendWithAge:()=>ro,extendWithFaceDescriptor:()=>no,extendWithFaceDetection:()=>cn,extendWithFaceExpressions:()=>to,extendWithFaceLandmarks:()=>In,extendWithGender:()=>eo,inverseSigmoid:()=>Gu,iou:()=>Vs,isWithAge:()=>Pu,isWithFaceDetection:()=>It,isWithFaceExpressions:()=>Ks,isWithFaceLandmarks:()=>an,isWithGender:()=>ju,minBbox:()=>Ys,nonMaxSuppression:()=>zs,normalize:()=>bt,padToSquare:()=>Hs,resizeResults:()=>vc,shuffleArray:()=>$u,sigmoid:()=>ur,tf:()=>js,utils:()=>qs});T(Tw,ee(ot()));T(Tw,ee(qe()));T(Tw,ee(Wu()));T(Tw,ee($s()))});const Ku="tfjsflags";class Ic{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.populateURLFlags()}setPlatform(e,t){this.platform!=null&&console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${t}.`),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},this.urlFlags[e]!=null){const r=this.urlFlags[e];console.warn(`Setting feature override from URL ${e}: ${r}.`),this.set(e,r)}}async getAsync(e){return e in this.flags?this.flags[e]:(this.flags[e]=await this.evaluateFlag(e),this.flags[e])}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(t instanceof Promise)throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(this.flagRegistry[e]==null)throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,this.flagRegistry[e].setHook!=null&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(this.flagRegistry[e]==null)throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(typeof this.global=="undefined"||typeof this.global.location=="undefined"||typeof this.global.location.search=="undefined")return;const e=Aw(this.global.location.search);if(Ku in e){const t=e[Ku].split(",");t.forEach(n=>{const[r,o]=n.split(":");this.urlFlags[r]=Nw(r,o)})}}}function Aw(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(n,...r)=>(Rw(t,r[0],r[1]),r.join("="))),t}function Rw(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}function Nw(e,t){if(t=t.toLowerCase(),t==="true"||t==="false")return t==="true";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}function ce(){return Tc}let Tc=null;function Ju(e){Tc=e}let Ac;function Nc(){if(Ac==null){let e;if(typeof window!="undefined")e=window;else if(typeof global!="undefined")e=global;else if(typeof process!="undefined")e=process;else if(typeof self!="undefined")e=self;else throw new Error("Could not find a global object");Ac=e}return Ac}function Cw(){const e=Nc();return e._tfGlobals==null&&(e._tfGlobals=new Map()),e._tfGlobals}function Rc(e,t){const n=Cw();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const so="Abs",ao="Acos",co="Acosh",An="Add",po="AddN",Cc="All",Ec="Any",lo="ArgMax",ho="ArgMin",uo="Asin",mo="Asinh",fo="Atan",go="Atanh",bo="Atan2",wo="AvgPool",Oc="AvgPoolBackprop",yo="AvgPool3D",kc="AvgPool3DBackprop",xo="BatchMatMul",Lo="BatchToSpaceND",So="BroadcastTo",Nn="Cast",vo="Ceil",Io="ClipByValue",_c="Complex",To="Concat",Ao="Conv2D",Dc="Conv2DBackpropFilter",No="Conv2DBackpropInput",Ro="Conv3D",Fc="Conv3DBackpropFilterV2",Mc="Conv3DBackpropInputV2",Co="Cos",Eo="Cosh",Oo="Cumsum",Uc="CropAndResize",Wc="DepthToSpace",ko="DepthwiseConv2dNative",Bc="DepthwiseConv2dNativeBackpropFilter",$c="DepthwiseConv2dNativeBackpropInput",Gc="Diag",_o="Dilation2D",jc="Dilation2DBackpropInput",Pc="Dilation2DBackpropFilter",Do="Div",Fo="Elu",qc="EluGrad",Mo="Erf",Hc="Equal",Uo="Exp",Wo="Expm1",zc="FFT",Yc="Fill",Vc="FlipLeftRight",Bo="Floor",$o="FloorDiv",Go="FusedBatchNorm",jo="GatherV2",Kc="GatherNd",Jc="Greater",Po="GreaterEqual",qo="Identity",Xc="IFFT",Zc="Imag",Ho="IsFinite",zo="IsInf",Yo="IsNan",Qc="Less",ep="LessEqual",tp="LinSpace",Vo="Log",Ko="Log1p",np="LogicalAnd",rp="LogicalNot",op="LogicalOr",Jo="LogSoftmax",Xo="LRN",ip="LRNBackprop",Zo="Max",Qo="Maximum",ei="MaxPool",sp="MaxPoolBackprop",ti="MaxPool3D",ap="MaxPool3DBackprop",cp="MaxPoolWithArgmax",Ew="Mean",ni="Min",ri="Minimum",oi="Mod",ii="Multiply",si="Negate",pp="NotEqual",lp="NonMaxSuppressionV3",hp="NonMaxSuppressionV4",up="NonMaxSuppressionV5",ai="OnesLike",ci="OneHot",pi="PadV2",Ow="Pool",li="Pow",hi="Prelu",dp="Prod",mp="Range",fp="Real",ui="Reciprocal",di="Relu",mi="Reshape",fi="ResizeNearestNeighbor",gp="ResizeNearestNeighborGrad",gi="ResizeBilinear",bp="ResizeBilinearGrad",bi="Relu6",wi="Reverse",yi="Round",xi="Rsqrt",wp="ScatterNd",Li="SelectV2",Si="Selu",vi="Slice",Ii="Sin",Ti="Sinh",Ai="Sign",Ni="Sigmoid",Ri="Softplus",Ci="Sqrt",Ei="Sum",Oi="SpaceToBatchND",ki="SplitV",_i="Softmax",Di="SquaredDifference",yp="Square",Fi="Sub",xp="SparseToDense",Lp="StridedSlice",Mi="Tan",Ui="Tanh",Wi="Tile",Sp="TopK",Bi="Transpose",$i="Unpack",Gi="UnsortedSegmentSum",ji="ZerosLike",Pi="Step",na="FromPixels",vp="RotateWithOffset",ra="_FusedMatMul",oa="FusedConv2D",ia="FusedDepthwiseConv2D";const br=Rc("kernelRegistry",()=>new Map()),qi=Rc("gradRegistry",()=>new Map());function Hi(e,t){const n=Ip(e,t);return br.get(n)}function sa(e){return qi.get(e)}function aa(e){const t=br.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function kw(e){const{kernelName:t,backendName:n}=e,r=Ip(t,n);br.has(r)&&console.warn(`The kernel '${t}' for backend '${n}' is already registered`),br.set(r,e)}function Tp(e){const{kernelName:t}=e;qi.has(t)&&(ce().getBool("DEBUG")&&console.warn(`Overriding the gradient for '${t}'`)),qi.set(t,e)}function _w(e,t){const n=Ip(e,t);if(!br.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);br.delete(n)}function Dw(e){if(!qi.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);qi.delete(e)}function Ip(e,t){return`${t}_${e}`}const Xu={};me(Xu,{arraysEqual:()=>Se,assert:()=>f,assertNonNegativeIntegerDimensions:()=>Vi,assertNonNull:()=>pt,assertShapesMatch:()=>P,bytesFromStringArray:()=>kp,bytesPerElement:()=>Op,checkConversionForErrors:()=>Qu,clamp:()=>wr,computeStrides:()=>Ut,createShuffledIndices:()=>jw,decodeString:()=>pa,distSquared:()=>Ww,encodeString:()=>_p,fetch:()=>zw,flatten:()=>Ft,getArrayFromDType:()=>Rp,getTypedArrayFromDType:()=>yr,hasEncodingLoss:()=>Ep,indexToLoc:()=>Vw,inferDtype:()=>xr,inferFromImplicitShape:()=>Ap,isBoolean:()=>ed,isFunction:()=>Mt,isInt:()=>X,isNumber:()=>td,isScalarShape:()=>Bw,isString:()=>Tt,isTypedArray:()=>Ne,isValidDtype:()=>Cp,locToIndex:()=>Yw,makeOnesTypedArray:()=>Yi,makeZerosNestedTypedArray:()=>Hw,makeZerosTypedArray:()=>Wt,nearestDivisor:()=>Lr,nearestLargerEven:()=>Fw,now:()=>ca,parseAxisParam:()=>z,randUniform:()=>Uw,repeatedTry:()=>Pw,rightPad:()=>Rn,shuffle:()=>Zu,sizeFromShape:()=>te,sizeToSquarishShape:()=>Gw,squeezeShape:()=>Np,sum:()=>Mw,tanh:()=>$w,toNestedArray:()=>Cn,toTypedArray:()=>zi});function Zu(e){let t=e.length,n=0,r=0;for(;t>0;)r=Math.random()*t|0,t--,n=e[t],e[t]=e[r],e[r]=n}function wr(e,t,n){return Math.max(e,Math.min(t,n))}function Fw(e){return e%2===0?e:e+1}function Mw(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`)}function pt(e){f(e!=null,()=>"The input to the tensor constructor must be a non-null value.")}function Ft(e,t=[],n=!1){if(t==null&&(t=[]),Array.isArray(e)||Ne(e)&&!n)for(let r=0;r0,n){return new Promise((r,o)=>{let i=0;const a=()=>{if(e()){r();return}i++;const s=t(i);if(n!=null&&i>=n){o();return}setTimeout(a,s)};a()})}function Ap(e,t){let n=1,r=-1;for(let i=0;i=0)n*=e[i];else if(e[i]===-1){if(r!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${i}`);r=i}else if(e[i]<0)throw Error(`Shapes can not be < 0. Found ${e[i]} at dim ${i}`);if(r===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const o=e.slice();return o[r]=t/n,o}function z(e,t){const n=t.length;return e=e==null?t.map((r,o)=>o):[].concat(e),f(e.every(r=>r>=-n&&r`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),f(e.every(r=>X(r)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(r=>r<0?n+r:r)}function Np(e,t){const n=[],r=[],o=t!=null&&Array.isArray(t)&&t.length===0,i=t==null||o?null:z(t,e).sort();let a=0;for(let s=0;ss)&&e[s]===1&&(n.push(e[s]),r.push(s)),i[a]<=s&&a++}e[s]!==1&&(n.push(e[s]),r.push(s))}return{newShape:n,keptDims:r}}function yr(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else throw new Error(`Unknown data type ${e}`);return n}function Rp(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else if(e==="string")n=new Array(t);else throw new Error(`Unknown data type ${e}`);return n}function Qu(e,t){for(let n=0;nt+=n.length),t}function Tt(e){return typeof e=="string"||e instanceof String}function ed(e){return typeof e=="boolean"}function td(e){return typeof e=="number"}function xr(e){return Array.isArray(e)?xr(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array?"int32":td(e)?"float32":Tt(e)?"string":ed(e)?"bool":"float32"}function Mt(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Lr(e,t){for(let n=t;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function zi(e,t){if(t==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=Ft(e)),ce().getBool("DEBUG")&&Qu(e,t),qw(e,t))return e;if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool"){const n=new Uint8Array(e.length);for(let r=0;rs*c);for(let s=0;sr*o);if(n===0)return[];if(n!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}.`);return nd(0,e,t)}function qw(e,t){return e instanceof Float32Array&&t==="float32"||e instanceof Int32Array&&t==="int32"||e instanceof Uint8Array&&t==="bool"}function Yi(e,t){const n=Wt(e,t);for(let r=0;rr*o,1);if(t==null||t==="float32")return Cn(e,new Float32Array(n));if(t==="int32")return Cn(e,new Int32Array(n));if(t==="bool")return Cn(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function ca(){return ce().platform.now()}function Vi(e){e.forEach(t=>{f(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function zw(e,t){return ce().platform.fetch(e,t)}function _p(e,t="utf-8"){return t=t||"utf-8",ce().platform.encode(e,t)}function pa(e,t="utf-8"){return t=t||"utf-8",ce().platform.decode(e,t)}function Yw(e,t,n){if(t===0)return 0;if(t===1)return e[0];let r=e[e.length-1];for(let o=0;o{r=n()},i=this.backendTimer.time(o);r.map(s=>{s.data().then(c=>{Kw(c,s.dtype,e)})});const a={kernelName:e,outputs:r,inputs:t,timeMs:i.then(s=>s.kernelMs),extraInfo:i.then(s=>s.getExtraProfileInfo!=null?s.getExtraProfileInfo():"")};return a}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach(a=>{Promise.all([a.data(),r,i]).then(s=>{this.logger.logKernelProfile(t,a,s[0],s[1],o,s[2])})})}}function Kw(e,t,n){if(t!=="float32")return!1;for(let r=0;r0?y:""} `}}console.log(`%c${s} %c${a} %c${c}D ${l} %c${p} %c${h} %c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function od(e,t,n){const r={},o={};for(let c=0;cr[w.id]=!0),b=!0,o[p.id]=!0;break}if(b)break}}const i={};i[n.id]=!0;const a={};for(let c=e.length-1;c>=0;c--){const p=e[c],l=p.inputs;for(let h=0;h=0;o--){const i=t[o],a=[];if(i.outputs.forEach(c=>{const p=e[c.id];p!=null?a.push(p):a.push(null)}),i.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const c in i.inputs){if(!(c in s))throw new Error(`Cannot backprop through input ${c}. Available gradients found: ${Object.keys(s)}.`);const p=n(()=>s[c]());if(p.dtype!=="float32")throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${c} must have 'float32' dtype, but has '${p.dtype}'`);const l=i.inputs[c];if(!Se(p.shape,l.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${c}' has shape '${p.shape}', which does not match the shape of the input '${l.shape}'`);if(e[l.id]==null)e[l.id]=p;else{const h=e[l.id];e[l.id]=r(h,p),h.dispose()}}}}const sd=20,Ki=3,Dp=7;function ad(e,t,n,r){const o=Ut(t),i=Xw(e,t,n,o),a=t.length,s=la(e,t,n,o,i),c=["Tensor"];return r&&(c.push(` dtype: ${n}`),c.push(` rank: ${a}`),c.push(` shape: [${t}]`),c.push(" values:")),c.push(s.map(p=>" "+p).join(` +var faceapi=(()=>{var Xs=Object.defineProperty,Sv=Object.prototype.hasOwnProperty,S=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),lf=e=>Xs(e,"__esModule",{value:!0}),Oe=(e,t)=>{lf(e);for(var n in t)Xs(e,n,{get:t[n],enumerable:!0})},Tv=(e,t)=>{if(lf(e),typeof t=="object"||typeof t=="function")for(let n in t)!Sv.call(e,n)&&n!=="default"&&Xs(e,n,{get:()=>t[n],enumerable:!0});return e},Iv=e=>e&&e.__esModule?e:Tv(Xs({},"default",{value:e,enumerable:!0}),e);var Be=S(Av=>{Oe(Av,{__assign:()=>Zp,__asyncDelegator:()=>Wv,__asyncGenerator:()=>Uv,__asyncValues:()=>qv,__await:()=>hi,__awaiter:()=>Ov,__classPrivateFieldGet:()=>$v,__classPrivateFieldSet:()=>Hv,__createBinding:()=>Qp,__decorate:()=>Rv,__exportStar:()=>Dv,__extends:()=>Nv,__generator:()=>kv,__importDefault:()=>Gv,__importStar:()=>jv,__makeTemplateObject:()=>Bv,__metadata:()=>Ev,__param:()=>Cv,__read:()=>uf,__rest:()=>_v,__spread:()=>Fv,__spreadArrays:()=>Mv,__values:()=>el});var Xp=function(e,t){return Xp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Xp(e,t)};function Nv(e,t){Xp(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n())}var Zp=function(){return Zp=Object.assign||function(t){for(var n,r=1,i=arguments.length;r=0;s--)(a=e[s])&&(o=(i<3?a(o):i>3?a(t,n,o):a(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o}function Cv(e,t){return function(n,r){t(n,r,e)}}function Ev(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}function Ov(e,t,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(l){try{p(r.next(l))}catch(u){a(u)}}function c(l){try{p(r.throw(l))}catch(u){a(u)}}function p(l){l.done?o(l.value):i(l.value).then(s,c)}p((r=r.apply(e,t||[])).next())})}function kv(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(p){return function(l){return c([p,l])}}function c(p){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=p[0]&2?i.return:p[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,p[1])).done)return o;(i=0,o)&&(p=[p[0]&2,o.value]);switch(p[0]){case 0:case 1:o=p;break;case 4:return n.label++,{value:p[1],done:!1};case 5:n.label++,i=p[1],p=[0];continue;case 7:p=n.ops.pop(),n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!o||p[1]>o[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function uf(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function Fv(){for(var e=[],t=0;t1||s(m,b)})})}function s(m,b){try{c(r[m](b))}catch(y){u(o[0][3],y)}}function c(m){m.value instanceof hi?Promise.resolve(m.value.v).then(p,l):u(o[0][2],m)}function p(m){s("next",m)}function l(m){s("throw",m)}function u(m,b){(m(b),o.shift(),o.length)&&s(o[0][0],o[0][1])}}function Wv(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,o){t[i]=e[i]?function(a){return(n=!n)?{value:hi(e[i](a)),done:i==="return"}:o?o(a):a}:o}}function qv(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof el=="function"?el(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=e[o]&&function(a){return new Promise(function(s,c){a=e[o](a),i(s,c,a.done,a.value)})}}function i(o,a,s,c){Promise.resolve(c).then(function(p){o({value:p,done:s})},a)}}function Bv(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var Pv=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function jv(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&Qp(t,e,n);return Pv(t,e),t}function Gv(e){return e&&e.__esModule?e:{default:e}}function $v(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function Hv(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}});var df=S((hf,tl)=>{(function(e,t,n){function r(s){var c=this,p=a();c.next=function(){var l=2091639*c.s0+c.c*23283064365386963e-26;return c.s0=c.s1,c.s1=c.s2,c.s2=l-(c.c=l|0)},c.c=1,c.s0=p(" "),c.s1=p(" "),c.s2=p(" "),c.s0-=p(s),c.s0<0&&(c.s0+=1),c.s1-=p(s),c.s1<0&&(c.s1+=1),c.s2-=p(s),c.s2<0&&(c.s2+=1),p=null}function i(s,c){return c.c=s.c,c.s0=s.s0,c.s1=s.s1,c.s2=s.s2,c}function o(s,c){var p=new r(s),l=c&&c.state,u=p.next;return u.int32=function(){return p.next()*4294967296|0},u.double=function(){return u()+(u()*2097152|0)*11102230246251565e-32},u.quick=u,l&&(typeof l=="object"&&i(l,p),u.state=function(){return i(p,{})}),u}function a(){var s=4022871197,c=function(p){p=p.toString();for(var l=0;l>>0,u-=s,u*=s,s=u>>>0,u-=s,s+=u*4294967296}return(s>>>0)*23283064365386963e-26};return c}t&&t.exports?t.exports=o:n&&n.amd?n(function(){return o}):this.alea=o})(hf,typeof tl=="object"&&tl,typeof define=="function"&&define)});var ff=S((mf,nl)=>{(function(e,t,n){function r(a){var s=this,c="";s.x=0,s.y=0,s.z=0,s.w=0,s.next=function(){var l=s.x^s.x<<11;return s.x=s.y,s.y=s.z,s.z=s.w,s.w^=s.w>>>19^l^l>>>8},a===(a|0)?s.x=a:c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var u=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(u+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&i(p,c),l.state=function(){return i(c,{})}),l}t&&t.exports?t.exports=o:n&&n.amd?n(function(){return o}):this.xor128=o})(mf,typeof nl=="object"&&nl,typeof define=="function"&&define)});var bf=S((gf,rl)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.x^s.x>>>2;return s.x=s.y,s.y=s.z,s.z=s.w,s.w=s.v,(s.d=s.d+362437|0)+(s.v=s.v^s.v<<4^(l^l<<1))|0},s.x=0,s.y=0,s.z=0,s.w=0,s.v=0,a===(a|0)?s.x=a:c+=a;for(var p=0;p>>4),s.next()}function i(a,s){return s.x=a.x,s.y=a.y,s.z=a.z,s.w=a.w,s.v=a.v,s.d=a.d,s}function o(a,s){var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var u=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(u+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&i(p,c),l.state=function(){return i(c,{})}),l}t&&t.exports?t.exports=o:n&&n.amd?n(function(){return o}):this.xorwow=o})(gf,typeof rl=="object"&&rl,typeof define=="function"&&define)});var yf=S((wf,il)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.x,l=s.i,u,m,b;return u=p[l],u^=u>>>7,m=u^u<<24,u=p[l+1&7],m^=u^u>>>10,u=p[l+3&7],m^=u^u>>>3,u=p[l+4&7],m^=u^u<<7,u=p[l+7&7],u=u^u<<13,m^=u^u<<9,p[l]=m,s.i=l+1&7,m};function c(p,l){var u,m,b=[];if(l===(l|0))m=b[0]=l;else for(l=""+l,u=0;u0;--u)p.next()}c(s,a)}function i(a,s){return s.x=a.x.slice(),s.i=a.i,s}function o(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var u=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(u+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.x&&i(p,c),l.state=function(){return i(c,{})}),l}t&&t.exports?t.exports=o:n&&n.amd?n(function(){return o}):this.xorshift7=o})(wf,typeof il=="object"&&il,typeof define=="function"&&define)});var Lf=S((xf,ol)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.w,l=s.X,u=s.i,m,b;return s.w=p=p+1640531527|0,b=l[u+34&127],m=l[u=u+1&127],b^=b<<13,m^=m<<17,b^=b>>>15,m^=m>>>12,b=l[u]=b^m,s.i=u,b+(p^p>>>16)|0};function c(p,l){var u,m,b,y,w,L=[],T=128;for(l===(l|0)?(m=l,l=null):(l=l+"\0",m=0,T=Math.max(T,l.length)),b=0,y=-32;y>>15,m^=m<<4,m^=m>>>13,y>=0&&(w=w+1640531527|0,u=L[y&127]^=m+w,b=u==0?b+1:0);for(b>=128&&(L[(l&&l.length||0)&127]=-1),b=127,y=4*128;y>0;--y)m=L[b+34&127],u=L[b=b+1&127],m^=m<<13,u^=u<<17,m^=m>>>15,u^=u>>>12,L[b]=m^u;p.w=w,p.X=L,p.i=b}c(s,a)}function i(a,s){return s.i=a.i,s.w=a.w,s.X=a.X.slice(),s}function o(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var u=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(u+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.X&&i(p,c),l.state=function(){return i(c,{})}),l}t&&t.exports?t.exports=o:n&&n.amd?n(function(){return o}):this.xor4096=o})(xf,typeof ol=="object"&&ol,typeof define=="function"&&define)});var Sf=S((vf,sl)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.b,u=s.c,m=s.d,b=s.a;return l=l<<25^l>>>7^u,u=u-m|0,m=m<<24^m>>>8^b,b=b-l|0,s.b=l=l<<20^l>>>12^u,s.c=u=u-m|0,s.d=m<<16^u>>>16^b,s.a=b-l|0},s.a=0,s.b=0,s.c=2654435769|0,s.d=1367130551,a===Math.floor(a)?(s.a=a/4294967296|0,s.b=a|0):c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var u=c.next()>>>11,m=(c.next()>>>0)/4294967296,b=(u+m)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&i(p,c),l.state=function(){return i(c,{})}),l}t&&t.exports?t.exports=o:n&&n.amd?n(function(){return o}):this.tychei=o})(vf,typeof sl=="object"&&sl,typeof define=="function"&&define)});var Tf=S(()=>{});var If=S((Rk,Zs)=>{(function(e,t){var n=this,r=256,i=6,o=52,a="random",s=t.pow(r,i),c=t.pow(2,o),p=c*2,l=r-1,u;function m(_,N,C){var F=[];N=N==!0?{entropy:!0}:N||{};var E=L(w(N.entropy?[_,A(e)]:_==null?T():_,3),F),B=new b(F),q=function(){for(var P=B.g(i),te=s,ne=0;P=p;)P/=2,te/=2,ne>>>=1;return(P+ne)/te};return q.int32=function(){return B.g(4)|0},q.quick=function(){return B.g(4)/4294967296},q.double=q,L(A(B.S),e),(N.pass||C||function(P,te,ne,pe){return pe&&(pe.S&&y(pe,B),P.state=function(){return y(B,{})}),ne?(t[a]=P,te):P})(q,E,"global"in N?N.global:this==t,N.state)}t["seed"+a]=m;function b(_){var N,C=_.length,F=this,E=0,B=F.i=F.j=0,q=F.S=[];for(C||(_=[C++]);E{var Yv=df(),zv=ff(),Vv=bf(),Kv=yf(),Jv=Lf(),Xv=Sf(),An=If();An.alea=Yv;An.xor128=zv;An.xorwow=Vv;An.xorshift7=Kv;An.xor4096=Jv;An.tychei=Xv;Af.exports=An});var ee=S(Zv=>{Oe(Zv,{Abs:()=>Mi,Acos:()=>Ui,Acosh:()=>Wi,AdadeltaOptimizer:()=>kn,AdagradOptimizer:()=>On,AdamOptimizer:()=>En,AdamaxOptimizer:()=>Cn,Add:()=>Jn,AddN:()=>qi,All:()=>Wu,Any:()=>qu,ArgMax:()=>Bi,ArgMin:()=>Pi,Asin:()=>ji,Asinh:()=>Gi,Atan:()=>$i,Atan2:()=>Yi,Atanh:()=>Hi,AvgPool:()=>zi,AvgPool3D:()=>Vi,AvgPool3DBackprop:()=>Pu,AvgPoolBackprop:()=>Bu,BatchMatMul:()=>Ki,BatchToSpaceND:()=>Ji,BroadcastTo:()=>Xi,Cast:()=>Xn,Ceil:()=>Zi,ClipByValue:()=>Qi,Complex:()=>ju,Concat:()=>eo,Conv2D:()=>to,Conv2DBackpropFilter:()=>Gu,Conv2DBackpropInput:()=>no,Conv3D:()=>ro,Conv3DBackpropFilterV2:()=>$u,Conv3DBackpropInputV2:()=>Hu,Cos:()=>io,Cosh:()=>oo,CropAndResize:()=>Yu,Cumsum:()=>so,DataStorage:()=>RS,DepthToSpace:()=>zu,DepthwiseConv2dNative:()=>ao,DepthwiseConv2dNativeBackpropFilter:()=>Vu,DepthwiseConv2dNativeBackpropInput:()=>Ku,Diag:()=>Ju,Dilation2D:()=>co,Dilation2DBackpropFilter:()=>Zu,Dilation2DBackpropInput:()=>Xu,Div:()=>po,ENV:()=>Mh,Elu:()=>lo,EluGrad:()=>Qu,Environment:()=>Fh,Equal:()=>eh,Erf:()=>uo,Exp:()=>ho,Expm1:()=>mo,FFT:()=>th,Fill:()=>nh,FlipLeftRight:()=>rh,Floor:()=>fo,FloorDiv:()=>go,FromPixels:()=>ra,FusedBatchNorm:()=>bo,FusedConv2D:()=>oa,FusedDepthwiseConv2D:()=>sa,GatherNd:()=>ih,GatherV2:()=>wo,Greater:()=>oh,GreaterEqual:()=>yo,IFFT:()=>sh,Identity:()=>xo,Imag:()=>ah,IsFinite:()=>Lo,IsInf:()=>vo,IsNan:()=>So,KernelBackend:()=>CS,LRN:()=>No,LRNBackprop:()=>mh,Less:()=>ch,LessEqual:()=>ph,LinSpace:()=>lh,Log:()=>To,Log1p:()=>Io,LogSoftmax:()=>Ao,LogicalAnd:()=>uh,LogicalNot:()=>hh,LogicalOr:()=>dh,Max:()=>_o,MaxPool:()=>Co,MaxPool3D:()=>Eo,MaxPool3DBackprop:()=>gh,MaxPoolBackprop:()=>fh,MaxPoolWithArgmax:()=>bh,Maximum:()=>Ro,Mean:()=>oS,Min:()=>Oo,Minimum:()=>ko,Mod:()=>Do,MomentumOptimizer:()=>Rn,Multiply:()=>Fo,Negate:()=>Mo,NonMaxSuppressionV3:()=>yh,NonMaxSuppressionV4:()=>xh,NonMaxSuppressionV5:()=>Lh,NotEqual:()=>wh,OneHot:()=>Wo,OnesLike:()=>Uo,Optimizer:()=>Ze,PadV2:()=>qo,Pool:()=>sS,Pow:()=>Bo,Prelu:()=>Po,Prod:()=>vh,RMSPropOptimizer:()=>_n,Range:()=>Sh,Rank:()=>al,Real:()=>Th,Reciprocal:()=>jo,Reduction:()=>ue,Relu:()=>Go,Relu6:()=>zo,Reshape:()=>$o,ResizeBilinear:()=>Yo,ResizeBilinearGrad:()=>Ah,ResizeNearestNeighbor:()=>Ho,ResizeNearestNeighborGrad:()=>Ih,Reverse:()=>Vo,RotateWithOffset:()=>Oh,Round:()=>Ko,Rsqrt:()=>Jo,SGDOptimizer:()=>$t,ScatterNd:()=>Nh,SelectV2:()=>Xo,Selu:()=>Zo,Sigmoid:()=>rs,Sign:()=>ns,Sin:()=>es,Sinh:()=>ts,Slice:()=>Qo,Softmax:()=>ps,Softplus:()=>is,SpaceToBatchND:()=>as,SparseToDense:()=>Rh,SplitV:()=>cs,Sqrt:()=>os,Square:()=>_h,SquaredDifference:()=>ls,Step:()=>ys,StridedSlice:()=>Ch,Sub:()=>us,Sum:()=>ss,Tan:()=>hs,Tanh:()=>ds,Tensor:()=>de,TensorBuffer:()=>yr,Tile:()=>ms,TopK:()=>Eh,Transpose:()=>fs,Unpack:()=>gs,UnsortedSegmentSum:()=>bs,Variable:()=>Nn,ZerosLike:()=>ws,_FusedMatMul:()=>ia,abs:()=>_e,acos:()=>Mu,acosh:()=>Fu,add:()=>O,addN:()=>Du,addStrict:()=>eg,all:()=>ku,any:()=>Ou,argMax:()=>Eu,argMin:()=>Cu,asin:()=>Ru,asinh:()=>_u,atan:()=>Nu,atan2:()=>Au,atanh:()=>Iu,avgPool:()=>Di,avgPool3d:()=>Tu,backend:()=>AS,backend_util:()=>dg,basicLSTMCell:()=>Su,batchNorm:()=>Jt,batchNorm2d:()=>vu,batchNorm3d:()=>Lu,batchNorm4d:()=>xu,batchToSpaceND:()=>Kn,booleanMaskAsync:()=>Qf,broadcastTo:()=>Ir,browser:()=>Zf,buffer:()=>ke,cast:()=>R,ceil:()=>yu,clipByValue:()=>wu,clone:()=>At,complex:()=>Ge,concat:()=>re,concat1d:()=>bu,concat2d:()=>gu,concat3d:()=>fu,concat4d:()=>mu,conv1d:()=>du,conv2d:()=>It,conv2dTranspose:()=>hu,conv3d:()=>uu,conv3dTranspose:()=>lu,cos:()=>Vn,cosh:()=>ki,cosineWindow:()=>Lr,cumsum:()=>Oi,customGrad:()=>$e,deprecationWarn:()=>ge,depthToSpace:()=>pu,depthwiseConv2d:()=>zn,device_util:()=>ug,diag:()=>cu,dilation2d:()=>au,disableDeprecationWarnings:()=>dS,dispose:()=>be,disposeVariables:()=>mS,div:()=>M,divNoNan:()=>su,divStrict:()=>tg,dot:()=>ou,dropout:()=>Hf,elu:()=>Ei,enableDebugMode:()=>hS,enableProdMode:()=>uS,enclosingPowerOfTwo:()=>Qs,engine:()=>fS,env:()=>se,equal:()=>Kt,equalStrict:()=>Yf,erf:()=>iu,exp:()=>Ne,expandDims:()=>Ke,expm1:()=>ru,eye:()=>Ci,fft:()=>Yn,fill:()=>Hn,findBackend:()=>SS,findBackendFactory:()=>TS,floor:()=>$n,floorDiv:()=>Ri,fused:()=>nu,gather:()=>Gn,gatherND:()=>$f,gather_util:()=>Gf,getBackend:()=>LS,getGradient:()=>ta,getKernel:()=>Fi,getKernelsForBackend:()=>na,grad:()=>aS,grads:()=>cS,greater:()=>Ve,greaterEqual:()=>ct,greaterEqualStrict:()=>zf,greaterStrict:()=>Vf,ifft:()=>cn,imag:()=>Vt,image:()=>Wf,inTopKAsync:()=>jf,io:()=>lg,irfft:()=>_i,isFinite:()=>tu,isInf:()=>eu,isNaN:()=>Ql,keep:()=>Dh,kernel_impls:()=>hg,leakyRelu:()=>Zl,less:()=>jn,lessEqual:()=>at,lessEqualStrict:()=>Kf,lessStrict:()=>Jf,linalg:()=>qf,linspace:()=>Xl,localResponseNormalization:()=>Jl,log:()=>gt,log1p:()=>Ni,logSigmoid:()=>Kl,logSoftmax:()=>Vl,logSumExp:()=>Ai,logicalAnd:()=>ft,logicalNot:()=>Pn,logicalOr:()=>Ii,logicalXor:()=>zl,losses:()=>Bf,matMul:()=>K,math:()=>pg,max:()=>st,maxPool:()=>Ti,maxPool3d:()=>Yl,maxPoolWithArgmax:()=>Hl,maximum:()=>Tt,maximumStrict:()=>ng,mean:()=>an,memory:()=>gS,min:()=>sn,minimum:()=>Bn,minimumStrict:()=>rg,mod:()=>Si,modStrict:()=>ig,moments:()=>$l,movingAverage:()=>Pf,mul:()=>v,mulStrict:()=>og,multiRNNCell:()=>Gl,multinomial:()=>jl,neg:()=>Q,nextFrame:()=>_S,norm:()=>Tr,notEqual:()=>qn,notEqualStrict:()=>Xf,oneHot:()=>Sr,ones:()=>mt,onesLike:()=>ea,op:()=>d,outerProduct:()=>Pl,pad:()=>ot,pad1d:()=>Bl,pad2d:()=>ql,pad3d:()=>Wl,pad4d:()=>Ul,pool:()=>Ml,pow:()=>je,powStrict:()=>sg,prelu:()=>vi,print:()=>Fl,prod:()=>Dl,profile:()=>bS,rand:()=>kl,randomGamma:()=>Ol,randomNormal:()=>El,randomUniform:()=>Li,range:()=>vr,ready:()=>xS,real:()=>kt,reciprocal:()=>Cl,registerBackend:()=>IS,registerGradient:()=>Uu,registerKernel:()=>nS,relu:()=>zt,relu6:()=>xi,removeBackend:()=>vS,reshape:()=>x,reverse:()=>Pe,reverse1d:()=>Rl,reverse2d:()=>_l,reverse3d:()=>Nl,reverse4d:()=>Al,rfft:()=>Wn,round:()=>Il,rsqrt:()=>yi,scalar:()=>k,scatterND:()=>Ff,scatter_util:()=>Df,selu:()=>Tl,separableConv2d:()=>Sl,serialization:()=>Ef,setBackend:()=>yS,setPlatform:()=>NS,setdiff1dAsync:()=>vl,sigmoid:()=>St,sign:()=>Ll,signal:()=>Uf,sin:()=>wi,sinh:()=>bi,slice:()=>Y,slice1d:()=>xl,slice2d:()=>yl,slice3d:()=>wl,slice4d:()=>bl,slice_util:()=>kf,softmax:()=>gl,softplus:()=>gi,spaceToBatchND:()=>Un,sparseToDense:()=>Of,spectral:()=>Mf,split:()=>Ot,sqrt:()=>le,square:()=>G,squaredDifference:()=>Mn,squaredDifferenceStrict:()=>ag,squeeze:()=>Fn,stack:()=>dt,step:()=>vt,stridedSlice:()=>fl,sub:()=>D,subStrict:()=>cg,sum:()=>U,sumOutType:()=>eS,tan:()=>ml,tanh:()=>xr,tensor:()=>Qe,tensor1d:()=>ht,tensor2d:()=>Yt,tensor3d:()=>fi,tensor4d:()=>dl,tensor5d:()=>hl,tensor6d:()=>ul,tensor_util:()=>Cf,test_util:()=>Rf,tidy:()=>ce,tile:()=>Ht,time:()=>wS,topk:()=>ll,train:()=>tS,transpose:()=>X,truncatedNormal:()=>pl,unregisterGradient:()=>iS,unregisterKernel:()=>rS,unsortedSegmentSum:()=>mi,unstack:()=>Dn,upcastType:()=>wr,util:()=>_f,valueAndGrad:()=>pS,valueAndGrads:()=>lS,variable:()=>cl,variableGrads:()=>kh,version_core:()=>Qv,where:()=>Ae,whereAsync:()=>di,zeros:()=>Ue,zerosLike:()=>W});});var Uh=S(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.drawContour=void 0;function ES(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:r,y:i},o)=>{const a=t[o];e.moveTo(a.x,a.y),e.lineTo(r,i)}),n){const r=t[t.length-1],i=t[0];if(!r||!i)return;e.moveTo(r.x,r.y),e.lineTo(i.x,i.y)}e.stroke()}aa.drawContour=ES});var Ar=S(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.Dimensions=void 0;const mg=me();class fg{constructor(e,t){if(!mg.isValidNumber(e)||!mg.isValidNumber(t))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:e,height:t})}`);this._width=e,this._height=t}get width(){return this._width}get height(){return this._height}reverse(){return new fg(1/this.width,1/this.height)}}ca.Dimensions=fg});var me=S(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.isValidProbablitiy=oe.isValidNumber=oe.range=oe.getCenterPoint=oe.computeReshapedDimensions=oe.isDimensions=oe.round=oe.isEven=oe.isFloat=oe.isTensor4D=oe.isTensor3D=oe.isTensor2D=oe.isTensor1D=oe.isTensor=void 0;const OS=ee(),gg=pt(),kS=Ar();function xs(e,t){return e instanceof OS.Tensor&&e.shape.length===t}oe.isTensor=xs;function DS(e){return xs(e,1)}oe.isTensor1D=DS;function FS(e){return xs(e,2)}oe.isTensor2D=FS;function MS(e){return xs(e,3)}oe.isTensor3D=MS;function US(e){return xs(e,4)}oe.isTensor4D=US;function WS(e){return e%1!==0}oe.isFloat=WS;function qS(e){return e%2===0}oe.isEven=qS;function BS(e,t=2){const n=Math.pow(10,t);return Math.floor(e*n)/n}oe.round=BS;function PS(e){return e&&e.width&&e.height}oe.isDimensions=PS;function jS({width:e,height:t},n){const r=n/Math.max(t,e);return new kS.Dimensions(Math.round(e*r),Math.round(t*r))}oe.computeReshapedDimensions=jS;function GS(e){return e.reduce((t,n)=>t.add(n),new gg.Point(0,0)).div(new gg.Point(e.length,e.length))}oe.getCenterPoint=GS;function $S(e,t,n){return Array(e).fill(0).map((r,i)=>t+i*n)}oe.range=$S;function bg(e){return!!e&&e!==Infinity&&e!==-Infinity&&!isNaN(e)||e===0}oe.isValidNumber=bg;function HS(e){return bg(e)&&0<=e&&e<=1}oe.isValidProbablitiy=HS});var la=S(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.Point=void 0;class Zn{constructor(e,t){this._x=e,this._y=t}get x(){return this._x}get y(){return this._y}add(e){return new Zn(this.x+e.x,this.y+e.y)}sub(e){return new Zn(this.x-e.x,this.y-e.y)}mul(e){return new Zn(this.x*e.x,this.y*e.y)}div(e){return new Zn(this.x/e.x,this.y/e.y)}abs(){return new Zn(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}floor(){return new Zn(Math.floor(this.x),Math.floor(this.y))}}pa.Point=Zn});var Qn=S(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.Box=void 0;const Ls=me(),ha=la();class Nt{constructor(e,t=!0){const n=e||{},r=[n.left,n.top,n.right,n.bottom].every(Ls.isValidNumber),i=[n.x,n.y,n.width,n.height].every(Ls.isValidNumber);if(!i&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(n)}`);const[o,a,s,c]=i?[n.x,n.y,n.width,n.height]:[n.left,n.top,n.right-n.left,n.bottom-n.top];Nt.assertIsValidBox({x:o,y:a,width:s,height:c},"Box.constructor",t),this._x=o,this._y=a,this._width=s,this._height=c}static isRect(e){return!!e&&[e.x,e.y,e.width,e.height].every(Ls.isValidNumber)}static assertIsValidBox(e,t,n=!1){if(!Nt.isRect(e))throw new Error(`${t} - invalid box: ${JSON.stringify(e)}, expected object with properties x, y, width, height`);if(!n&&(e.width<0||e.height<0))throw new Error(`${t} - width (${e.width}) and height (${e.height}) must be positive numbers`)}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new ha.Point(this.left,this.top)}get topRight(){return new ha.Point(this.right,this.top)}get bottomLeft(){return new ha.Point(this.left,this.bottom)}get bottomRight(){return new ha.Point(this.right,this.bottom)}round(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(i=>Math.round(i));return new Nt({x:e,y:t,width:n,height:r})}floor(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(i=>Math.floor(i));return new Nt({x:e,y:t,width:n,height:r})}toSquare(){let{x:e,y:t,width:n,height:r}=this;const i=Math.abs(n-r);return nt&&(a=-l+t+n,l=t),u>e&&(s=-u+e+r,u=e),c<1&&(s=2-c,c=1),p<1&&(s=2-p,p=1),{dy:o,edy:s,dx:i,edx:a,y:p,ey:u,x:c,ex:l,w:n,h:r}}calibrate(e){return new Nt({left:this.left+e.left*this.width,top:this.top+e.top*this.height,right:this.right+e.right*this.width,bottom:this.bottom+e.bottom*this.height}).toSquare().round()}}ua.Box=Nt});var Wh=S(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.BoundingBox=void 0;const YS=Qn();class zS extends YS.Box{constructor(e,t,n,r,i=!1){super({left:e,top:t,right:n,bottom:r},i)}}da.BoundingBox=zS});var fa=S(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.ObjectDetection=void 0;const wg=Qn(),VS=Ar();class yg{constructor(e,t,n,r,i){this._imageDims=new VS.Dimensions(i.width,i.height),this._score=e,this._classScore=t,this._className=n,this._box=new wg.Box(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new wg.Box(this._box).rescale(this.imageDims.reverse())}forSize(e,t){return new yg(this.score,this.classScore,this.className,this.relativeBox,{width:e,height:t})}}ma.ObjectDetection=yg});var Xt=S(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.FaceDetection=void 0;const KS=fa();class xg extends KS.ObjectDetection{constructor(e,t,n){super(e,e,"",t,n)}forSize(e,t){const{score:n,relativeBox:r,imageDims:i}=super.forSize(e,t);return new xg(n,r,i)}}ga.FaceDetection=xg});var qh=S(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.iou=void 0;function JS(e,t,n=!0){const r=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),i=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),o=r*i;return n?o/(e.area+t.area-o):o/Math.min(e.area,t.area)}ba.iou=JS});var Lg=S(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.minBbox=void 0;const XS=pt();function ZS(e){const t=e.map(s=>s.x),n=e.map(s=>s.y),r=t.reduce((s,c)=>ccss{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.nonMaxSuppression=void 0;const QS=qh();function eT(e,t,n,r=!0){let i=t.map((a,s)=>({score:a,boxIndex:s})).sort((a,s)=>a.score-s.score).map(a=>a.boxIndex);const o=[];for(;i.length>0;){const a=i.pop();o.push(a);const s=i,c=[];for(let p=0;pc[l]<=n)}return o}ya.nonMaxSuppression=eT});var Ph=S(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.normalize=void 0;const Nr=ee();function tT(e,t){return Nr.tidy(()=>{const[n,r,i]=t,o=Nr.fill([...e.shape.slice(0,3),1],n),a=Nr.fill([...e.shape.slice(0,3),1],r),s=Nr.fill([...e.shape.slice(0,3),1],i),c=Nr.concat([o,a,s],3);return Nr.sub(e,c)})}xa.normalize=tT});var Gh=S(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.padToSquare=void 0;const jh=ee();function nT(e,t=!1){return jh.tidy(()=>{const[n,r]=e.shape.slice(1);if(n===r)return e;const i=Math.abs(n-r),o=Math.round(i*(t?.5:1)),a=n>r?2:1,s=m=>{const b=e.shape.slice();return b[a]=m,jh.fill(b,0)},c=s(o),p=i-c.shape[a],l=t&&p?s(p):null,u=[l,e,c].filter(m=>!!m).map(m=>m.toFloat());return jh.concat(u,a)})}La.padToSquare=nT});var vg=S(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.shuffleArray=void 0;function rT(e){const t=e.slice();for(let n=t.length-1;n>0;n--){const r=Math.floor(Math.random()*(n+1)),i=t[n];t[n]=t[r],t[r]=i}return t}va.shuffleArray=rT});var pn=S(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.inverseSigmoid=bt.sigmoid=void 0;const _r=Be();_r.__exportStar(qh(),bt);_r.__exportStar(Lg(),bt);_r.__exportStar(Bh(),bt);_r.__exportStar(Ph(),bt);_r.__exportStar(Gh(),bt);_r.__exportStar(vg(),bt);function iT(e){return 1/(1+Math.exp(-e))}bt.sigmoid=iT;function oT(e){return Math.log(e/(1-e))}bt.inverseSigmoid=oT});var $h=S(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.Rect=void 0;const sT=Qn();class aT extends sT.Box{constructor(e,t,n,r,i=!1){super({x:e,y:t,width:n,height:r},i)}}Sa.Rect=aT});var er=S(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.FaceLandmarks=void 0;const cT=pn(),pT=me(),lT=Qn(),uT=Ar(),hT=Xt(),vs=la(),dT=$h(),mT=.5,fT=.43,gT=.45;class bT{constructor(e,t,n=new vs.Point(0,0)){const{width:r,height:i}=t;this._imgDims=new uT.Dimensions(r,i),this._shift=n,this._positions=e.map(o=>o.mul(new vs.Point(r,i)).add(n))}get shift(){return new vs.Point(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(e=>e.sub(this._shift).div(new vs.Point(this.imageWidth,this.imageHeight)))}forSize(e,t){return new this.constructor(this.relativePositions,{width:e,height:t})}shiftBy(e,t){return new this.constructor(this.relativePositions,this._imgDims,new vs.Point(e,t))}shiftByPoint(e){return this.shiftBy(e.x,e.y)}align(e,t={}){if(e){const i=e instanceof hT.FaceDetection?e.box.floor():new lT.Box(e);return this.shiftBy(i.x,i.y).align(null,t)}const{useDlibAlignment:n,minBoxPadding:r}=Object.assign({},{useDlibAlignment:!1,minBoxPadding:.2},t);return n?this.alignDlib():this.alignMinBbox(r)}alignDlib(){const e=this.getRefPointsForAlignment(),[t,n,r]=e,i=l=>r.sub(l).magnitude(),o=(i(t)+i(n))/2,a=Math.floor(o/gT),s=pT.getCenterPoint(e),c=Math.floor(Math.max(0,s.x-mT*a)),p=Math.floor(Math.max(0,s.y-fT*a));return new dT.Rect(c,p,Math.min(a,this.imageWidth+c),Math.min(a,this.imageHeight+p))}alignMinBbox(e){const t=cT.minBbox(this.positions);return t.pad(t.width*e,t.height*e)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}}Ta.FaceLandmarks=bT});var Sg=S(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.FaceLandmarks5=void 0;const wT=me(),yT=er();class xT extends yT.FaceLandmarks{getRefPointsForAlignment(){const e=this.positions;return[e[0],e[1],wT.getCenterPoint([e[3],e[4]])]}}Ia.FaceLandmarks5=xT});var Na=S(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.FaceLandmarks68=void 0;const LT=me(),vT=er();class ST extends vT.FaceLandmarks{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(LT.getCenterPoint)}}Aa.FaceLandmarks68=ST});var Hh=S(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.FaceMatch=void 0;const TT=me();class IT{constructor(e,t){this._label=e,this._distance=t}get label(){return this._label}get distance(){return this._distance}toString(e=!0){return`${this.label}${e?` (${TT.round(this.distance)})`:""}`}}_a.FaceMatch=IT});var Yh=S(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.LabeledBox=void 0;const AT=me(),Tg=Qn();class NT extends Tg.Box{constructor(e,t){super(e);this._label=t}static assertIsValidLabeledBox(e,t){if(Tg.Box.assertIsValidBox(e,t),!AT.isValidNumber(e.label))throw new Error(`${t} - expected property label (${e.label}) to be a number`)}get label(){return this._label}}Ra.LabeledBox=NT});var zh=S(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.LabeledFaceDescriptors=void 0;class Ig{constructor(e,t){if(!(typeof e=="string"))throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(t)||t.some(n=>!(n instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=e,this._descriptors=t}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(e=>Array.from(e))}}static fromJSON(e){const t=e.descriptors.map(n=>new Float32Array(n));return new Ig(e.label,t)}}Ca.LabeledFaceDescriptors=Ig});var _g=S(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.PredictedBox=void 0;const Ag=me(),Ng=Yh();class _T extends Ng.LabeledBox{constructor(e,t,n,r){super(e,t);this._score=n,this._classScore=r}static assertIsValidPredictedBox(e,t){if(Ng.LabeledBox.assertIsValidLabeledBox(e,t),!Ag.isValidProbablitiy(e.score)||!Ag.isValidProbablitiy(e.classScore))throw new Error(`${t} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}}Ea.PredictedBox=_T});var pt=S(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});const et=Be();et.__exportStar(Wh(),He);et.__exportStar(Qn(),He);et.__exportStar(Ar(),He);et.__exportStar(Xt(),He);et.__exportStar(er(),He);et.__exportStar(Sg(),He);et.__exportStar(Na(),He);et.__exportStar(Hh(),He);et.__exportStar(Yh(),He);et.__exportStar(zh(),He);et.__exportStar(fa(),He);et.__exportStar(la(),He);et.__exportStar(_g(),He);et.__exportStar($h(),He)});var tr=S(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.extendWithFaceDetection=Rr.isWithFaceDetection=void 0;const RT=Xt();function CT(e){return e.detection instanceof RT.FaceDetection}Rr.isWithFaceDetection=CT;function ET(e,t){const n={detection:t};return Object.assign({},e,n)}Rr.extendWithFaceDetection=ET});var Rg=S(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.createBrowserEnv=void 0;function OT(){const e=window.fetch||function(){throw new Error("fetch - missing fetch implementation for browser environment")},t=function(){throw new Error("readFile - filesystem not available for browser environment")};return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),fetch:e,readFile:t}}Oa.createBrowserEnv=OT});var Vh=S(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.createFileSystem=void 0;function kT(e){let t="";if(!e)try{e=require("fs")}catch(r){t=r.toString()}const n=e?function(r){return new Promise((i,o)=>{e.readFile(r,function(a,s){return a?o(a):i(s)})})}:function(){throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)};return{readFile:n}}ka.createFileSystem=kT});var Cg=S(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.createNodejsEnv=void 0;const DT=Vh();function FT(){const e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=function(){if(e)return new e();throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=function(){if(t)return new t();throw new Error("createImageElement - missing Image implementation for nodejs environment")},i=global.fetch||function(){throw new Error("fetch - missing fetch implementation for nodejs environment")},o=DT.createFileSystem();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:n,createImageElement:r,fetch:i,...o}}Da.createNodejsEnv=FT});var Eg=S(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.isBrowser=void 0;function MT(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}Fa.isBrowser=MT});var kg=S((Ma,Og)=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.isNodejs=void 0;function UT(){return typeof global=="object"&&!0&&typeof Og!="undefined"&&typeof process!="undefined"&&!!process.version}Ma.isNodejs=UT});var Fg=S(Dg=>{"use strict";Object.defineProperty(Dg,"__esModule",{value:!0})});var Ye=S(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.env=void 0;const WT=Be(),Mg=Rg(),qT=Vh(),Ug=Cg(),Wg=Eg(),qg=kg();let Re;function BT(){if(!Re)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return Re}function Kh(e){Re=e}function Jh(){if(Wg.isBrowser())return Kh(Mg.createBrowserEnv());if(qg.isNodejs())return Kh(Ug.createNodejsEnv())}function PT(e){if(Re||Jh(),!Re)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");const{Canvas:t=Re.Canvas,Image:n=Re.Image}=e;Re.Canvas=t,Re.Image=n,Re.createCanvasElement=e.createCanvasElement||(()=>new t()),Re.createImageElement=e.createImageElement||(()=>new n()),Re.ImageData=e.ImageData||Re.ImageData,Re.Video=e.Video||Re.Video,Re.fetch=e.fetch||Re.fetch,Re.readFile=e.readFile||Re.readFile}Ss.env={getEnv:BT,setEnv:Kh,initialize:Jh,createBrowserEnv:Mg.createBrowserEnv,createFileSystem:qT.createFileSystem,createNodejsEnv:Ug.createNodejsEnv,monkeyPatch:PT,isBrowser:Wg.isBrowser,isNodejs:qg.isNodejs};Jh();WT.__exportStar(Fg(),Ss)});var Ts=S(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.resolveInput=void 0;const jT=Ye();function GT(e){return!jT.env.isNodejs()&&typeof e=="string"?document.getElementById(e):e}Ua.resolveInput=GT});var ln=S(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.getContext2dOrThrow=void 0;const $T=Ye(),HT=Ts();function YT(e){const{Canvas:t,CanvasRenderingContext2D:n}=$T.env.getEnv();if(e instanceof n)return e;const r=HT.resolveInput(e);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");const i=r.getContext("2d");if(!i)throw new Error("resolveContext2d - canvas 2d context is null");return i}Wa.getContext2dOrThrow=YT});var qa=S(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.DrawTextField=Zt.DrawTextFieldOptions=Zt.AnchorPosition=void 0;const zT=ln(),VT=Ts();var Cr;(function(e){e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT",e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT"})(Cr=Zt.AnchorPosition||(Zt.AnchorPosition={}));class Bg{constructor(e={}){const{anchorPosition:t,backgroundColor:n,fontColor:r,fontSize:i,fontStyle:o,padding:a}=e;this.anchorPosition=t||Cr.TOP_LEFT,this.backgroundColor=n||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=i||14,this.fontStyle=o||"Georgia",this.padding=a||4}}Zt.DrawTextFieldOptions=Bg;class Pg{constructor(e,t,n={}){this.text=typeof e=="string"?[e]:e instanceof Pg?e.text:e,this.anchor=t,this.options=new Bg(n)}measureWidth(e){const{padding:t}=this.options;return this.text.map(n=>e.measureText(n).width).reduce((n,r)=>n{const b=s+l.x,y=s+l.y+(m+1)*o;n.fillText(u,b,y)})}}Zt.DrawTextField=Pg});var Zh=S(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.DrawBox=Er.DrawBoxOptions=void 0;const KT=pt(),JT=ln(),Xh=qa();class jg{constructor(e={}){const{boxColor:t,lineWidth:n,label:r,drawLabelOptions:i}=e;this.boxColor=t||"rgba(0, 0, 255, 1)",this.lineWidth=n||2,this.label=r;const o={anchorPosition:Xh.AnchorPosition.BOTTOM_LEFT,backgroundColor:this.boxColor};this.drawLabelOptions=new Xh.DrawTextFieldOptions(Object.assign({},o,i))}}Er.DrawBoxOptions=jg;class XT{constructor(e,t={}){this.box=new KT.Box(e),this.options=new jg(t)}draw(e){const t=JT.getContext2dOrThrow(e),{boxColor:n,lineWidth:r}=this.options,{x:i,y:o,width:a,height:s}=this.box;t.strokeStyle=n,t.lineWidth=r,t.strokeRect(i,o,a,s);const{label:c}=this.options;c&&new Xh.DrawTextField([c],{x:i-r/2,y:o},this.options.drawLabelOptions).draw(e)}}Er.DrawBox=XT});var Hg=S(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.drawDetections=void 0;const ZT=pt(),Gg=Xt(),$g=tr(),QT=me(),eI=Zh();function tI(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const i=r instanceof Gg.FaceDetection?r.score:$g.isWithFaceDetection(r)?r.detection.score:void 0,o=r instanceof Gg.FaceDetection?r.box:$g.isWithFaceDetection(r)?r.detection.box:new ZT.Box(r),a=i?`${QT.round(i)}`:void 0;new eI.DrawBox(o,{label:a}).draw(e)})}Ba.drawDetections=tI});var ja=S(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.isMediaLoaded=void 0;const nI=Ye();function rI(e){const{Image:t,Video:n}=nI.env.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}Pa.isMediaLoaded=rI});var Qh=S(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.awaitMediaLoaded=void 0;const iI=Ye(),oI=ja();function sI(e){return new Promise((t,n)=>{if(e instanceof iI.env.getEnv().Canvas||oI.isMediaLoaded(e))return t();function r(o){if(!o.currentTarget)return;o.currentTarget.removeEventListener("load",r),o.currentTarget.removeEventListener("error",i),t(o)}function i(o){if(!o.currentTarget)return;o.currentTarget.removeEventListener("load",r),o.currentTarget.removeEventListener("error",i),n(o)}e.addEventListener("load",r),e.addEventListener("error",i)})}Ga.awaitMediaLoaded=sI});var ed=S($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.bufferToImage=void 0;const aI=Ye();function cI(e){return new Promise((t,n)=>{if(!(e instanceof Blob))return n("bufferToImage - expected buf to be of type: Blob");const r=new FileReader();r.onload=()=>{if(typeof r.result!="string")return n("bufferToImage - expected reader.result to be a string, in onload");const i=aI.env.getEnv().createImageElement();i.onload=()=>t(i),i.onerror=n,i.src=r.result},r.onerror=n,r.readAsDataURL(e)})}$a.bufferToImage=cI});var Is=S(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.getMediaDimensions=void 0;const td=Ar(),pI=Ye();function lI(e){const{Image:t,Video:n}=pI.env.getEnv();return e instanceof t?new td.Dimensions(e.naturalWidth,e.naturalHeight):e instanceof n?new td.Dimensions(e.videoWidth,e.videoHeight):new td.Dimensions(e.width,e.height)}Ha.getMediaDimensions=lI});var As=S(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.createCanvasFromMedia=Or.createCanvas=void 0;const Yg=Ye(),zg=ln(),uI=Is(),hI=ja();function Vg({width:e,height:t}){const{createCanvasElement:n}=Yg.env.getEnv(),r=n();return r.width=e,r.height=t,r}Or.createCanvas=Vg;function dI(e,t){const{ImageData:n}=Yg.env.getEnv();if(!(e instanceof n)&&!hI.isMediaLoaded(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");const{width:r,height:i}=t||uI.getMediaDimensions(e),o=Vg({width:r,height:i});return e instanceof n?zg.getContext2dOrThrow(o).putImageData(e,0,0):zg.getContext2dOrThrow(o).drawImage(e,0,0,r,i),o}Or.createCanvasFromMedia=dI});var nd=S(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.imageTensorToCanvas=void 0;const Kg=ee(),mI=Ye(),fI=me();async function gI(e,t){const n=t||mI.env.getEnv().createCanvasElement(),[r,i,o]=e.shape.slice(fI.isTensor4D(e)?1:0),a=Kg.tidy(()=>e.as3D(r,i,o).toInt());return await Kg.browser.toPixels(a,n),a.dispose(),n}Ya.imageTensorToCanvas=gI});var rd=S(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.isMediaElement=void 0;const bI=Ye();function wI(e){const{Image:t,Canvas:n,Video:r}=bI.env.getEnv();return e instanceof t||e instanceof n||e instanceof r}za.isMediaElement=wI});var id=S(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.imageToSquare=void 0;const yI=Ye(),Jg=As(),xI=ln(),LI=Is();function vI(e,t,n=!1){const{Image:r,Canvas:i}=yI.env.getEnv();if(!(e instanceof r||e instanceof i))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");const o=LI.getMediaDimensions(e),a=t/Math.max(o.height,o.width),s=a*o.width,c=a*o.height,p=Jg.createCanvas({width:t,height:t}),l=e instanceof i?e:Jg.createCanvasFromMedia(e),u=Math.abs(s-c)/2,m=n&&s{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.NetInput=void 0;const Ns=ee(),Xg=Ye(),SI=Gh(),kr=me(),TI=As(),II=id();class AI{constructor(e,t=!1){if(this._imageTensors=[],this._canvases=[],this._treatAsBatchInput=!1,this._inputDimensions=[],!Array.isArray(e))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${e}`);this._treatAsBatchInput=t,this._batchSize=e.length,e.forEach((n,r)=>{if(kr.isTensor3D(n)){this._imageTensors[r]=n,this._inputDimensions[r]=n.shape;return}if(kr.isTensor4D(n)){const o=n.shape[0];if(o!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${o} passed, but not supported in input array`);this._imageTensors[r]=n,this._inputDimensions[r]=n.shape.slice(1);return}const i=n instanceof Xg.env.getEnv().Canvas?n:TI.createCanvasFromMedia(n);this._canvases[r]=i,this._inputDimensions[r]=[i.height,i.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return kr.range(this.batchSize,0,1).map((e,t)=>this.getReshapedInputDimensions(t))}getInput(e){return this.canvases[e]||this.imageTensors[e]}getInputDimensions(e){return this._inputDimensions[e]}getInputHeight(e){return this._inputDimensions[e][0]}getInputWidth(e){return this._inputDimensions[e][1]}getReshapedInputDimensions(e){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");const t=this.getInputWidth(e),n=this.getInputHeight(e);return kr.computeReshapedDimensions({width:t,height:n},this.inputSize)}toBatchTensor(e,t=!0){return this._inputSize=e,Ns.tidy(()=>{const n=kr.range(this.batchSize,0,1).map(i=>{const o=this.getInput(i);if(o instanceof Ns.Tensor){let a=kr.isTensor4D(o)?o:o.expandDims();return a=SI.padToSquare(a,t),(a.shape[1]!==e||a.shape[2]!==e)&&(a=Ns.image.resizeBilinear(a,[e,e])),a.as3D(e,e,3)}if(o instanceof Xg.env.getEnv().Canvas)return Ns.browser.fromPixels(II.imageToSquare(o,e,t));throw new Error(`toBatchTensor - at batchIdx ${i}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${o}`)}),r=Ns.stack(n.map(i=>i.toFloat())).as4D(this.batchSize,e,e,3);return r})}}Ka.NetInput=AI});var ad=S(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.toNetInput=void 0;const sd=me(),NI=Qh(),Zg=rd(),Qg=od(),_I=Ts();async function RI(e){if(e instanceof Qg.NetInput)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");const n=i=>Array.isArray(e)?` at input index ${i}:`:"",r=t.map(_I.resolveInput);return r.forEach((i,o)=>{if(!Zg.isMediaElement(i)&&!sd.isTensor3D(i)&&!sd.isTensor4D(i))throw typeof t[o]=="string"?new Error(`toNetInput -${n(o)} string passed, but could not resolve HTMLElement for element id ${t[o]}`):new Error(`toNetInput -${n(o)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(sd.isTensor4D(i)){const a=i.shape[0];if(a!==1)throw new Error(`toNetInput -${n(o)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(i=>Zg.isMediaElement(i)&&NI.awaitMediaLoaded(i))),new Qg.NetInput(r,Array.isArray(e))}Ja.toNetInput=RI});var tb=S(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.extractFaces=void 0;const CI=Xt(),EI=Ye(),OI=As(),eb=ln(),kI=nd(),DI=ad();async function FI(e,t){const{Canvas:n}=EI.env.getEnv();let r=e;if(!(e instanceof n)){const a=await DI.toNetInput(e);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");const s=a.getInput(0);r=s instanceof n?s:await kI.imageTensorToCanvas(s)}const i=eb.getContext2dOrThrow(r),o=t.map(a=>a instanceof CI.FaceDetection?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height));return o.map(({x:a,y:s,width:c,height:p})=>{const l=OI.createCanvas({width:c,height:p});return eb.getContext2dOrThrow(l).putImageData(i.getImageData(a,s,c,p),0,0),l})}Xa.extractFaces=FI});var rb=S(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.extractFaceTensors=void 0;const nb=ee(),MI=Xt(),Qa=me();async function UI(e,t){if(!Qa.isTensor3D(e)&&!Qa.isTensor4D(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(Qa.isTensor4D(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return nb.tidy(()=>{const[n,r,i]=e.shape.slice(Qa.isTensor4D(e)?1:0),o=t.map(s=>s instanceof MI.FaceDetection?s.forSize(r,n).box:s).map(s=>s.clipAtImageBorders(r,n)),a=o.map(({x:s,y:c,width:p,height:l})=>nb.slice3d(e.as3D(n,r,i),[c,s,0],[l,p,i]));return a})}Za.extractFaceTensors=UI});var _s=S(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.fetchOrThrow=void 0;const WI=Ye();async function qI(e,t){const n=WI.env.getEnv().fetch,r=await n(e,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}ec.fetchOrThrow=qI});var ib=S(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.fetchImage=void 0;const BI=ed(),PI=_s();async function jI(e){const t=await PI.fetchOrThrow(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return BI.bufferToImage(n)}tc.fetchImage=jI});var cd=S(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.fetchJson=void 0;const GI=_s();async function $I(e){return(await GI.fetchOrThrow(e)).json()}nc.fetchJson=$I});var ob=S(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.fetchNetWeights=void 0;const HI=_s();async function YI(e){return new Float32Array(await(await HI.fetchOrThrow(e)).arrayBuffer())}rc.fetchNetWeights=YI});var oc=S(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.getModelUris=void 0;function zI(e,t){const n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};const r=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(r,"");const i=e.split("/").filter(s=>s),o=e.endsWith(".json")?i[i.length-1]:n;let a=r+(e.endsWith(".json")?i.slice(0,i.length-1):i).join("/");return a=e.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${o}`:`${a}/${o}`}}ic.getModelUris=zI});var sb=S(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.loadWeightMap=void 0;const VI=ee(),KI=oc(),JI=cd();async function XI(e,t){const{manifestUri:n,modelBaseUri:r}=KI.getModelUris(e,t),i=await JI.fetchJson(n);return VI.io.loadWeights(i,r)}sc.loadWeightMap=XI});var ab=S(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.matchDimensions=void 0;const ZI=Is();function QI(e,t,n=!1){const{width:r,height:i}=n?ZI.getMediaDimensions(t):t;return e.width=r,e.height=i,{width:r,height:i}}ac.matchDimensions=QI});var pb=S(cb=>{"use strict";Object.defineProperty(cb,"__esModule",{value:!0})});var tt=S(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});const Te=Be();Te.__exportStar(Qh(),we);Te.__exportStar(ed(),we);Te.__exportStar(As(),we);Te.__exportStar(tb(),we);Te.__exportStar(rb(),we);Te.__exportStar(ib(),we);Te.__exportStar(cd(),we);Te.__exportStar(ob(),we);Te.__exportStar(_s(),we);Te.__exportStar(ln(),we);Te.__exportStar(Is(),we);Te.__exportStar(nd(),we);Te.__exportStar(id(),we);Te.__exportStar(rd(),we);Te.__exportStar(ja(),we);Te.__exportStar(sb(),we);Te.__exportStar(ab(),we);Te.__exportStar(od(),we);Te.__exportStar(Ts(),we);Te.__exportStar(ad(),we);Te.__exportStar(pb(),we)});var Qt=S(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.NeuralNetwork=void 0;const Rs=ee(),eA=oc(),tA=tt(),nA=Ye();class rA{constructor(e){this._name=e,this._params=void 0,this._paramMappings=[]}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(e){const{obj:t,objProp:n}=this.traversePropertyPath(e);return t[n]}reassignParamFromPath(e,t){const{obj:n,objProp:r}=this.traversePropertyPath(e);n[r].dispose(),n[r]=t}getParamList(){return this._paramMappings.map(({paramPath:e})=>({path:e,tensor:this.getParamFromPath(e)}))}getTrainableParams(){return this.getParamList().filter(e=>e.tensor instanceof Rs.Variable)}getFrozenParams(){return this.getParamList().filter(e=>!(e.tensor instanceof Rs.Variable))}variable(){this.getFrozenParams().forEach(({path:e,tensor:t})=>{this.reassignParamFromPath(e,t.variable())})}freeze(){this.getTrainableParams().forEach(({path:e,tensor:t})=>{const n=Rs.tensor(t.dataSync());t.dispose(),this.reassignParamFromPath(e,n)})}dispose(e=!0){this.getParamList().forEach(t=>{if(e&&t.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${t.path}`);t.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:e})=>Array.from(e.dataSync())).reduce((e,t)=>e.concat(t)))}async load(e){if(e instanceof Float32Array){this.extractWeights(e);return}await this.loadFromUri(e)}async loadFromUri(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);const t=await tA.loadWeightMap(e,this.getDefaultModelName());this.loadFromWeightMap(t)}async loadFromDisk(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);const{readFile:t}=nA.env.getEnv(),{manifestUri:n,modelBaseUri:r}=eA.getModelUris(e,this.getDefaultModelName()),i=c=>Promise.all(c.map(p=>t(p).then(l=>l.buffer))),o=Rs.io.weightsLoaderFactory(i),a=JSON.parse((await t(n)).toString()),s=await o(a,r);this.loadFromWeightMap(s)}loadFromWeightMap(e){const{paramMappings:t,params:n}=this.extractParamsFromWeigthMap(e);this._paramMappings=t,this._params=n}extractWeights(e){const{paramMappings:t,params:n}=this.extractParams(e);this._paramMappings=t,this._params=n}traversePropertyPath(e){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");const t=e.split("/").reduce((i,o)=>{if(!i.nextObj.hasOwnProperty(o))throw new Error(`traversePropertyPath - object does not have property ${o}, for path ${e}`);return{obj:i.nextObj,objProp:o,nextObj:i.nextObj[o]}},{nextObj:this.params}),{obj:n,objProp:r}=t;if(!n||!r||!(n[r]instanceof Rs.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${e}`);return{obj:n,objProp:r}}}cc.NeuralNetwork=rA});var ld=S(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.depthwiseSeparableConv=void 0;const pd=ee();function iA(e,t,n){return pd.tidy(()=>{let r=pd.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,n,"same");return r=pd.add(r,t.bias),r})}pc.depthwiseSeparableConv=iA});var ud=S(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.denseBlock4=Dr.denseBlock3=void 0;const xe=ee(),nr=ld();function oA(e,t,n=!1){return xe.tidy(()=>{const r=xe.relu(n?xe.add(xe.conv2d(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):nr.depthwiseSeparableConv(e,t.conv0,[2,2])),i=nr.depthwiseSeparableConv(r,t.conv1,[1,1]),o=xe.relu(xe.add(r,i)),a=nr.depthwiseSeparableConv(o,t.conv2,[1,1]);return xe.relu(xe.add(r,xe.add(i,a)))})}Dr.denseBlock3=oA;function sA(e,t,n=!1,r=!0){return xe.tidy(()=>{const i=xe.relu(n?xe.add(xe.conv2d(e,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):nr.depthwiseSeparableConv(e,t.conv0,r?[2,2]:[1,1])),o=nr.depthwiseSeparableConv(i,t.conv1,[1,1]),a=xe.relu(xe.add(i,o)),s=nr.depthwiseSeparableConv(a,t.conv2,[1,1]),c=xe.relu(xe.add(i,xe.add(o,s))),p=nr.depthwiseSeparableConv(c,t.conv3,[1,1]);return xe.relu(xe.add(i,xe.add(o,xe.add(s,p))))})}Dr.denseBlock4=sA});var lb=S(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.convLayer=void 0;const uc=ee();function aA(e,t,n="same",r=!1){return uc.tidy(()=>{const i=uc.add(uc.conv2d(e,t.filters,[1,1],n),t.bias);return r?uc.relu(i):i})}lc.convLayer=aA});var hd=S(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.disposeUnusedWeightTensors=void 0;function cA(e,t){Object.keys(e).forEach(n=>{t.some(r=>r.originalPath===n)||e[n].dispose()})}hc.disposeUnusedWeightTensors=cA});var hb=S(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.extractConvParamsFactory=void 0;const ub=ee();function pA(e,t){return function(n,r,i,o){const a=ub.tensor4d(e(n*r*i*i),[i,i,n,r]),s=ub.tensor1d(e(r));return t.push({paramPath:`${o}/filters`},{paramPath:`${o}/bias`}),{filters:a,bias:s}}}dc.extractConvParamsFactory=pA});var mb=S(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.extractFCParamsFactory=void 0;const db=ee();function lA(e,t){return function(n,r,i){const o=db.tensor2d(e(n*r),[n,r]),a=db.tensor1d(e(r));return t.push({paramPath:`${i}/weights`},{paramPath:`${i}/bias`}),{weights:o,bias:a}}}mc.extractFCParamsFactory=lA});var dd=S(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.SeparableConvParams=void 0;class uA{constructor(e,t,n){this.depthwise_filter=e,this.pointwise_filter=t,this.bias=n}}fc.SeparableConvParams=uA});var gc=S(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.loadSeparableConvParamsFactory=Fr.extractSeparableConvParamsFactory=void 0;const md=ee(),fb=dd();function hA(e,t){return function(n,r,i){const o=md.tensor4d(e(3*3*n),[3,3,n,1]),a=md.tensor4d(e(n*r),[1,1,n,r]),s=md.tensor1d(e(r));return t.push({paramPath:`${i}/depthwise_filter`},{paramPath:`${i}/pointwise_filter`},{paramPath:`${i}/bias`}),new fb.SeparableConvParams(o,a,s)}}Fr.extractSeparableConvParamsFactory=hA;function dA(e){return function(t){const n=e(`${t}/depthwise_filter`,4),r=e(`${t}/pointwise_filter`,4),i=e(`${t}/bias`,1);return new fb.SeparableConvParams(n,r,i)}}Fr.loadSeparableConvParamsFactory=dA});var fd=S(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.extractWeightEntryFactory=void 0;const mA=me();function fA(e,t){return function(n,r,i){const o=e[n];if(!mA.isTensor(o,r))throw new Error(`expected weightMap[${n}] to be a Tensor${r}D, instead have ${o}`);return t.push({originalPath:n,paramPath:i||n}),o}}bc.extractWeightEntryFactory=fA});var gd=S(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.extractWeightsFactory=void 0;function gA(e){let t=e;function n(i){const o=t.slice(0,i);return t=t.slice(i),o}function r(){return t}return{extractWeights:n,getRemainingWeights:r}}wc.extractWeightsFactory=gA});var De=S(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});const Dt=Be();Dt.__exportStar(lb(),wt);Dt.__exportStar(ld(),wt);Dt.__exportStar(hd(),wt);Dt.__exportStar(hb(),wt);Dt.__exportStar(mb(),wt);Dt.__exportStar(gc(),wt);Dt.__exportStar(fd(),wt);Dt.__exportStar(gd(),wt);Dt.__exportStar(oc(),wt);Dt.__exportStar(dd(),wt)});var bd=S(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.extractorsFactory=void 0;const gb=De();function bA(e,t){const n=gb.extractConvParamsFactory(e,t),r=gb.extractSeparableConvParamsFactory(e,t);function i(a,s,c,p=!1){const l=p?n(a,s,3,`${c}/conv0`):r(a,s,`${c}/conv0`),u=r(s,s,`${c}/conv1`),m=r(s,s,`${c}/conv2`);return{conv0:l,conv1:u,conv2:m}}function o(a,s,c,p=!1){const{conv0:l,conv1:u,conv2:m}=i(a,s,c,p),b=r(s,s,`${c}/conv3`);return{conv0:l,conv1:u,conv2:m,conv3:b}}return{extractDenseBlock3Params:i,extractDenseBlock4Params:o}}yc.extractorsFactory=bA});var bb=S(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.extractParams=void 0;const wA=De(),yA=bd();function xA(e){const t=[],{extractWeights:n,getRemainingWeights:r}=wA.extractWeightsFactory(e),{extractDenseBlock4Params:i}=yA.extractorsFactory(n,t),o=i(3,32,"dense0",!0),a=i(32,64,"dense1"),s=i(64,128,"dense2"),c=i(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:o,dense1:a,dense2:s,dense3:c}}}xc.extractParams=xA});var wd=S(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.loadConvParamsFactory=void 0;function LA(e){return function(t){const n=e(`${t}/filters`,4),r=e(`${t}/bias`,1);return{filters:n,bias:r}}}Lc.loadConvParamsFactory=LA});var yd=S(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.loadParamsFactory=void 0;const wb=De(),vA=wd();function SA(e,t){const n=wb.extractWeightEntryFactory(e,t),r=vA.loadConvParamsFactory(n),i=wb.loadSeparableConvParamsFactory(n);function o(s,c=!1){const p=c?r(`${s}/conv0`):i(`${s}/conv0`),l=i(`${s}/conv1`),u=i(`${s}/conv2`);return{conv0:p,conv1:l,conv2:u}}function a(s,c=!1){const p=c?r(`${s}/conv0`):i(`${s}/conv0`),l=i(`${s}/conv1`),u=i(`${s}/conv2`),m=i(`${s}/conv3`);return{conv0:p,conv1:l,conv2:u,conv3:m}}return{extractDenseBlock3Params:o,extractDenseBlock4Params:a}}vc.loadParamsFactory=SA});var yb=S(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.extractParamsFromWeigthMap=void 0;const TA=De(),IA=yd();function AA(e){const t=[],{extractDenseBlock4Params:n}=IA.loadParamsFactory(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return TA.disposeUnusedWeightTensors(e,t),{params:r,paramMappings:t}}Sc.extractParamsFromWeigthMap=AA});var Ld=S(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.FaceFeatureExtractor=void 0;const xd=ee(),NA=tt(),_A=Qt(),RA=pn(),Ic=ud(),CA=bb(),EA=yb();class OA extends _A.NeuralNetwork{constructor(){super("FaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceFeatureExtractor - load model before inference");return xd.tidy(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],i=RA.normalize(n,r).div(xd.scalar(255));let o=Ic.denseBlock4(i,t.dense0,!0);return o=Ic.denseBlock4(o,t.dense1),o=Ic.denseBlock4(o,t.dense2),o=Ic.denseBlock4(o,t.dense3),o=xd.avgPool(o,[7,7],[2,2],"valid"),o})}async forward(e){return this.forwardInput(await NA.toNetInput(e))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeigthMap(e){return EA.extractParamsFromWeigthMap(e)}extractParams(e){return CA.extractParams(e)}}Tc.FaceFeatureExtractor=OA});var Sd=S(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.fullyConnectedLayer=void 0;const vd=ee();function kA(e,t){return vd.tidy(()=>vd.add(vd.matMul(e,t.weights),t.bias))}Ac.fullyConnectedLayer=kA});var Lb=S(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.extractParams=void 0;const xb=De();function DA(e,t,n){const r=[],{extractWeights:i,getRemainingWeights:o}=xb.extractWeightsFactory(e),a=xb.extractFCParamsFactory(i,r),s=a(t,n,"fc");if(o().length!==0)throw new Error(`weights remaing after extract: ${o().length}`);return{paramMappings:r,params:{fc:s}}}Nc.extractParams=DA});var Sb=S(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.extractParamsFromWeigthMap=void 0;const vb=De();function FA(e){const t=[],n=vb.extractWeightEntryFactory(e,t);function r(o){const a=n(`${o}/weights`,2),s=n(`${o}/bias`,1);return{weights:a,bias:s}}const i={fc:r("fc")};return vb.disposeUnusedWeightTensors(e,t),{params:i,paramMappings:t}}_c.extractParamsFromWeigthMap=FA});var Td=S(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.seperateWeightMaps=void 0;function MA(e){const t={},n={};return Object.keys(e).forEach(r=>{const i=r.startsWith("fc")?n:t;i[r]=e[r]}),{featureExtractorMap:t,classifierMap:n}}Rc.seperateWeightMaps=MA});var Id=S(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.FaceProcessor=void 0;const UA=ee(),WA=Sd(),qA=tt(),BA=Qt(),PA=Lb(),jA=Sb(),GA=Td();class $A extends BA.NeuralNetwork{constructor(e,t){super(e);this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return UA.tidy(()=>{const n=e instanceof qA.NetInput?this.faceFeatureExtractor.forwardInput(e):e;return WA.fullyConnectedLayer(n.as2D(n.shape[0],-1),t.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return PA.extractParams(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=GA.seperateWeightMaps(e);return this.faceFeatureExtractor.loadFromWeightMap(t),jA.extractParamsFromWeigthMap(n)}extractParams(e){const t=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),r=n*t+n,i=e.slice(0,e.length-r),o=e.slice(e.length-r);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(o)}}Cc.FaceProcessor=$A});var Ec=S(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.FaceExpressions=un.FACE_EXPRESSION_LABELS=void 0;un.FACE_EXPRESSION_LABELS=["neutral","happy","sad","angry","fearful","disgusted","surprised"];class HA{constructor(e){if(e.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${e.length}`);un.FACE_EXPRESSION_LABELS.forEach((t,n)=>{this[t]=e[n]})}asSortedArray(){return un.FACE_EXPRESSION_LABELS.map(e=>({expression:e,probability:this[e]})).sort((e,t)=>t.probability-e.probability)}}un.FaceExpressions=HA});var Nd=S(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.FaceExpressionNet=void 0;const Ad=ee(),Tb=tt(),YA=Ld(),zA=Id(),VA=Ec();class KA extends zA.FaceProcessor{constructor(e=new YA.FaceFeatureExtractor()){super("FaceExpressionNet",e)}forwardInput(e){return Ad.tidy(()=>Ad.softmax(this.runNet(e)))}async forward(e){return this.forwardInput(await Tb.toNetInput(e))}async predictExpressions(e){const t=await Tb.toNetInput(e),n=await this.forwardInput(t),r=await Promise.all(Ad.unstack(n).map(async o=>{const a=await o.data();return o.dispose(),a}));n.dispose();const i=r.map(o=>new VA.FaceExpressions(o));return t.isBatchInput?i:i[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}}Oc.FaceExpressionNet=KA});var _d=S(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});const Ib=Be();Ib.__exportStar(Nd(),kc);Ib.__exportStar(Ec(),kc)});var Dc=S(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.extendWithFaceExpressions=Mr.isWithFaceExpressions=void 0;const JA=Ec();function XA(e){return e.expressions instanceof JA.FaceExpressions}Mr.isWithFaceExpressions=XA;function ZA(e,t){const n={expressions:t};return Object.assign({},e,n)}Mr.extendWithFaceExpressions=ZA});var Ab=S(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.drawFaceExpressions=void 0;const QA=pt(),eN=_d(),tN=tr(),nN=Dc(),rN=me(),iN=qa();function oN(e,t,n=.1,r){const i=Array.isArray(t)?t:[t];i.forEach(o=>{const a=o instanceof eN.FaceExpressions?o:nN.isWithFaceExpressions(o)?o.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");const s=a.asSortedArray(),c=s.filter(u=>u.probability>n),p=tN.isWithFaceDetection(o)?o.detection.box.bottomLeft:r||new QA.Point(0,0),l=new iN.DrawTextField(c.map(u=>`${u.expression} (${rN.round(u.probability)})`),p);l.draw(e)})}Fc.drawFaceExpressions=oN});var Wr=S(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.extendWithFaceLandmarks=Ur.isWithFaceLandmarks=void 0;const Nb=Xt(),_b=er(),sN=tr();function aN(e){return sN.isWithFaceDetection(e)&&e.landmarks instanceof _b.FaceLandmarks&&e.unshiftedLandmarks instanceof _b.FaceLandmarks&&e.alignedRect instanceof Nb.FaceDetection}Ur.isWithFaceLandmarks=aN;function cN(e,t){const{box:n}=e.detection,r=t.shiftBy(n.x,n.y),i=r.align(),{imageDims:o}=e.detection,a=new Nb.FaceDetection(e.detection.score,i.rescale(o.reverse()),o),s={landmarks:r,unshiftedLandmarks:t,alignedRect:a};return Object.assign({},e,s)}Ur.extendWithFaceLandmarks=cN});var Eb=S(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.drawFaceLandmarks=hn.DrawFaceLandmarks=hn.DrawFaceLandmarksOptions=void 0;const pN=er(),lN=Na(),uN=ln(),hN=Wr(),rr=Uh();class Rb{constructor(e={}){const{drawLines:t=!0,drawPoints:n=!0,lineWidth:r,lineColor:i,pointSize:o,pointColor:a}=e;this.drawLines=t,this.drawPoints=n,this.lineWidth=r||1,this.pointSize=o||2,this.lineColor=i||"rgba(0, 255, 255, 1)",this.pointColor=a||"rgba(255, 0, 255, 1)"}}hn.DrawFaceLandmarksOptions=Rb;class Cb{constructor(e,t={}){this.faceLandmarks=e,this.options=new Rb(t)}draw(e){const t=uN.getContext2dOrThrow(e),{drawLines:n,drawPoints:r,lineWidth:i,lineColor:o,pointSize:a,pointColor:s}=this.options;if(n&&this.faceLandmarks instanceof lN.FaceLandmarks68&&(t.strokeStyle=o,t.lineWidth=i,rr.drawContour(t,this.faceLandmarks.getJawOutline()),rr.drawContour(t,this.faceLandmarks.getLeftEyeBrow()),rr.drawContour(t,this.faceLandmarks.getRightEyeBrow()),rr.drawContour(t,this.faceLandmarks.getNose()),rr.drawContour(t,this.faceLandmarks.getLeftEye(),!0),rr.drawContour(t,this.faceLandmarks.getRightEye(),!0),rr.drawContour(t,this.faceLandmarks.getMouth(),!0)),r){t.strokeStyle=s,t.fillStyle=s;const c=p=>{t.beginPath(),t.arc(p.x,p.y,a,0,2*Math.PI),t.fill()};this.faceLandmarks.positions.forEach(c)}}}hn.DrawFaceLandmarks=Cb;function dN(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const i=r instanceof pN.FaceLandmarks?r:hN.isWithFaceLandmarks(r)?r.landmarks:void 0;if(!i)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new Cb(i).draw(e)})}hn.drawFaceLandmarks=dN});var Ob=S(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});const qr=Be();qr.__exportStar(Uh(),dn);qr.__exportStar(Hg(),dn);qr.__exportStar(Ab(),dn);qr.__exportStar(Zh(),dn);qr.__exportStar(Eb(),dn);qr.__exportStar(qa(),dn)});var kb=S(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.extractParams=void 0;const Rd=De(),mN=me();function fN(e,t){const n=Rd.extractConvParamsFactory(e,t),r=Rd.extractSeparableConvParamsFactory(e,t);function i(a,s,c){const p=r(a,s,`${c}/separable_conv0`),l=r(s,s,`${c}/separable_conv1`),u=n(a,s,1,`${c}/expansion_conv`);return{separable_conv0:p,separable_conv1:l,expansion_conv:u}}function o(a,s){const c=r(a,a,`${s}/separable_conv0`),p=r(a,a,`${s}/separable_conv1`),l=r(a,a,`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:n,extractSeparableConvParams:r,extractReductionBlockParams:i,extractMainBlockParams:o}}function gN(e,t){const n=[],{extractWeights:r,getRemainingWeights:i}=Rd.extractWeightsFactory(e),{extractConvParams:o,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:c}=fN(r,n),p=o(3,32,3,"entry_flow/conv_in"),l=s(32,64,"entry_flow/reduction_block_0"),u=s(64,128,"entry_flow/reduction_block_1"),m={conv_in:p,reduction_block_0:l,reduction_block_1:u},b={};mN.range(t,0,1).forEach(T=>{b[`main_block_${T}`]=c(128,`middle_flow/main_block_${T}`)});const y=s(128,256,"exit_flow/reduction_block"),w=a(256,512,"exit_flow/separable_conv"),L={reduction_block:y,separable_conv:w};if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{paramMappings:n,params:{entry_flow:m,middle_flow:b,exit_flow:L}}}Mc.extractParams=gN});var Db=S(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.extractParamsFromWeigthMap=void 0;const Cd=De(),bN=wd(),wN=me();function yN(e,t){const n=Cd.extractWeightEntryFactory(e,t),r=bN.loadConvParamsFactory(n),i=Cd.loadSeparableConvParamsFactory(n);function o(s){const c=i(`${s}/separable_conv0`),p=i(`${s}/separable_conv1`),l=r(`${s}/expansion_conv`);return{separable_conv0:c,separable_conv1:p,expansion_conv:l}}function a(s){const c=i(`${s}/separable_conv0`),p=i(`${s}/separable_conv1`),l=i(`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:r,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:a}}function xN(e,t){const n=[],{extractConvParams:r,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:a}=yN(e,n),s=r("entry_flow/conv_in"),c=o("entry_flow/reduction_block_0"),p=o("entry_flow/reduction_block_1"),l={conv_in:s,reduction_block_0:c,reduction_block_1:p},u={};wN.range(t,0,1).forEach(w=>{u[`main_block_${w}`]=a(`middle_flow/main_block_${w}`)});const m=o("exit_flow/reduction_block"),b=i("exit_flow/separable_conv"),y={reduction_block:m,separable_conv:b};return Cd.disposeUnusedWeightTensors(e,n),{params:{entry_flow:l,middle_flow:u,exit_flow:y},paramMappings:n}}Uc.extractParamsFromWeigthMap=xN});var Mb=S(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.TinyXception=void 0;const nt=ee(),Br=De(),LN=tt(),vN=Qt(),SN=pn(),TN=me(),IN=kb(),AN=Db();function Fb(e,t,n){return nt.add(nt.conv2d(e,t.filters,n,"same"),t.bias)}function Ed(e,t,n=!0){let r=n?nt.relu(e):e;return r=Br.depthwiseSeparableConv(r,t.separable_conv0,[1,1]),r=Br.depthwiseSeparableConv(nt.relu(r),t.separable_conv1,[1,1]),r=nt.maxPool(r,[3,3],[2,2],"same"),r=nt.add(r,Fb(e,t.expansion_conv,[2,2])),r}function NN(e,t){let n=Br.depthwiseSeparableConv(nt.relu(e),t.separable_conv0,[1,1]);return n=Br.depthwiseSeparableConv(nt.relu(n),t.separable_conv1,[1,1]),n=Br.depthwiseSeparableConv(nt.relu(n),t.separable_conv2,[1,1]),n=nt.add(n,e),n}class _N extends vN.NeuralNetwork{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyXception - load model before inference");return nt.tidy(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],i=SN.normalize(n,r).div(nt.scalar(256));let o=nt.relu(Fb(i,t.entry_flow.conv_in,[2,2]));return o=Ed(o,t.entry_flow.reduction_block_0,!1),o=Ed(o,t.entry_flow.reduction_block_1),TN.range(this._numMainBlocks,0,1).forEach(a=>{o=NN(o,t.middle_flow[`main_block_${a}`])}),o=Ed(o,t.exit_flow.reduction_block),o=nt.relu(Br.depthwiseSeparableConv(o,t.exit_flow.separable_conv,[1,1])),o})}async forward(e){return this.forwardInput(await LN.toNetInput(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeigthMap(e){return AN.extractParamsFromWeigthMap(e,this._numMainBlocks)}extractParams(e){return IN.extractParams(e,this._numMainBlocks)}}Wc.TinyXception=_N});var Wb=S(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.extractParams=void 0;const Ub=De();function RN(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ub.extractWeightsFactory(e),i=Ub.extractFCParamsFactory(n,t),o=i(512,1,"fc/age"),a=i(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:o,gender:a}}}}qc.extractParams=RN});var Bb=S(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.extractParamsFromWeigthMap=void 0;const qb=De();function CN(e){const t=[],n=qb.extractWeightEntryFactory(e,t);function r(o){const a=n(`${o}/weights`,2),s=n(`${o}/bias`,1);return{weights:a,bias:s}}const i={fc:{age:r("fc/age"),gender:r("fc/gender")}};return qb.disposeUnusedWeightTensors(e,t),{params:i,paramMappings:t}}Bc.extractParamsFromWeigthMap=CN});var Pc=S(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.Gender=void 0;var EN;(function(e){e.FEMALE="female",e.MALE="male"})(EN=Cs.Gender||(Cs.Gender={}))});var kd=S(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.AgeGenderNet=void 0;const Pr=ee(),Pb=Sd(),ON=Td(),kN=Mb(),DN=Wb(),FN=Bb(),jb=Pc(),MN=Qt(),Od=tt();class UN extends MN.NeuralNetwork{constructor(e=new kN.TinyXception(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return Pr.tidy(()=>{const n=e instanceof Od.NetInput?this.faceFeatureExtractor.forwardInput(e):e,r=Pr.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),i=Pb.fullyConnectedLayer(r,t.fc.age).as1D(),o=Pb.fullyConnectedLayer(r,t.fc.gender);return{age:i,gender:o}})}forwardInput(e){return Pr.tidy(()=>{const{age:t,gender:n}=this.runNet(e);return{age:t,gender:Pr.softmax(n)}})}async forward(e){return this.forwardInput(await Od.toNetInput(e))}async predictAgeAndGender(e){const t=await Od.toNetInput(e),n=await this.forwardInput(t),r=Pr.unstack(n.age),i=Pr.unstack(n.gender),o=r.map((s,c)=>({ageTensor:s,genderTensor:i[c]})),a=await Promise.all(o.map(async({ageTensor:s,genderTensor:c})=>{const p=(await s.data())[0],l=(await c.data())[0],u=l>.5,m=u?jb.Gender.MALE:jb.Gender.FEMALE,b=u?l:1-l;return s.dispose(),c.dispose(),{age:p,gender:m,genderProbability:b}}));return n.age.dispose(),n.gender.dispose(),t.isBatchInput?a:a[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return DN.extractParams(e)}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=ON.seperateWeightMaps(e);return this.faceFeatureExtractor.loadFromWeightMap(t),FN.extractParamsFromWeigthMap(n)}extractParams(e){const t=512*1+1+(512*2+2),n=e.slice(0,e.length-t),r=e.slice(e.length-t);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(r)}}jc.AgeGenderNet=UN});var $b=S(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});const Gb=Be();Gb.__exportStar(kd(),Gc);Gb.__exportStar(Pc(),Gc)});var Dd=S($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.FaceLandmark68NetBase=void 0;const Ft=ee(),WN=pt(),qN=Na(),Hb=tt(),BN=Id(),Yb=me();class PN extends BN.FaceProcessor{postProcess(e,t,n){const r=n.map(({width:o,height:a})=>{const s=t/Math.max(a,o);return{width:o*s,height:a*s}}),i=r.length;return Ft.tidy(()=>{const o=(l,u)=>Ft.stack([Ft.fill([68],l),Ft.fill([68],u)],1).as2D(1,136).as1D(),a=(l,u)=>{const{width:m,height:b}=r[l];return u(m,b)?Math.abs(m-b)/2:0},s=l=>a(l,(u,m)=>ua(l,(u,m)=>mo(s(u),c(u))))).div(Ft.stack(Array.from(Array(i),(l,u)=>o(r[u].width,r[u].height))));return p})}forwardInput(e){return Ft.tidy(()=>{const t=this.runNet(e);return this.postProcess(t,e.inputSize,e.inputDimensions.map(([n,r])=>({height:n,width:r})))})}async forward(e){return this.forwardInput(await Hb.toNetInput(e))}async detectLandmarks(e){const t=await Hb.toNetInput(e),n=Ft.tidy(()=>Ft.unstack(this.forwardInput(t))),r=await Promise.all(n.map(async(i,o)=>{const a=Array.from(await i.data()),s=a.filter((p,l)=>Yb.isEven(l)),c=a.filter((p,l)=>!Yb.isEven(l));return new qN.FaceLandmarks68(Array(68).fill(0).map((p,l)=>new WN.Point(s[l],c[l])),{height:t.getInputHeight(o),width:t.getInputWidth(o)})}));return n.forEach(i=>i.dispose()),t.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}}$c.FaceLandmark68NetBase=PN});var Yc=S(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.FaceLandmark68Net=void 0;const jN=Ld(),GN=Dd();class $N extends GN.FaceLandmark68NetBase{constructor(e=new jN.FaceFeatureExtractor()){super("FaceLandmark68Net",e)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}}Hc.FaceLandmark68Net=$N});var zb=S(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.extractParamsFromWeigthMapTiny=void 0;const HN=De(),YN=yd();function zN(e){const t=[],{extractDenseBlock3Params:n}=YN.loadParamsFactory(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return HN.disposeUnusedWeightTensors(e,t),{params:r,paramMappings:t}}zc.extractParamsFromWeigthMapTiny=zN});var Vb=S(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.extractParamsTiny=void 0;const VN=De(),KN=bd();function JN(e){const t=[],{extractWeights:n,getRemainingWeights:r}=VN.extractWeightsFactory(e),{extractDenseBlock3Params:i}=KN.extractorsFactory(n,t),o=i(3,32,"dense0",!0),a=i(32,64,"dense1"),s=i(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:o,dense1:a,dense2:s}}}Vc.extractParamsTiny=JN});var Kb=S(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.TinyFaceFeatureExtractor=void 0;const Fd=ee(),XN=tt(),ZN=Qt(),QN=pn(),Md=ud(),e2=zb(),t2=Vb();class n2 extends ZN.NeuralNetwork{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fd.tidy(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],i=QN.normalize(n,r).div(Fd.scalar(255));let o=Md.denseBlock3(i,t.dense0,!0);return o=Md.denseBlock3(o,t.dense1),o=Md.denseBlock3(o,t.dense2),o=Fd.avgPool(o,[14,14],[2,2],"valid"),o})}async forward(e){return this.forwardInput(await XN.toNetInput(e))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeigthMap(e){return e2.extractParamsFromWeigthMapTiny(e)}extractParams(e){return t2.extractParamsTiny(e)}}Kc.TinyFaceFeatureExtractor=n2});var Ud=S(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.FaceLandmark68TinyNet=void 0;const r2=Kb(),i2=Dd();class o2 extends i2.FaceLandmark68NetBase{constructor(e=new r2.TinyFaceFeatureExtractor()){super("FaceLandmark68TinyNet",e)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}}Jc.FaceLandmark68TinyNet=o2});var Xb=S(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.FaceLandmarkNet=void 0;const Jb=Be(),s2=Yc();Jb.__exportStar(Yc(),jr);Jb.__exportStar(Ud(),jr);class a2 extends s2.FaceLandmark68Net{}jr.FaceLandmarkNet=a2});var Qb=S(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.scale=void 0;const Zb=ee();function c2(e,t){return Zb.add(Zb.mul(e,t.weights),t.biases)}Xc.scale=c2});var Bd=S(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.convDown=mn.convNoRelu=mn.conv=void 0;const Wd=ee(),p2=Qb();function qd(e,t,n,r,i="same"){const{filters:o,bias:a}=t.conv;let s=Wd.conv2d(e,o,n,i);return s=Wd.add(s,a),s=p2.scale(s,t.scale),r?Wd.relu(s):s}function l2(e,t){return qd(e,t,[1,1],!0)}mn.conv=l2;function u2(e,t){return qd(e,t,[1,1],!1)}mn.convNoRelu=u2;function h2(e,t){return qd(e,t,[2,2],!0,"valid")}mn.convDown=h2});var ew=S(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.extractParams=void 0;const en=ee(),d2=De(),m2=me();function f2(e,t){function n(s,c,p){const l=e(s),u=l.length/(c*p*p);if(m2.isFloat(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${l.length}, numFilters: ${c}, filterSize: ${p}`);return en.tidy(()=>en.transpose(en.tensor4d(l,[c,u,p,p]),[2,3,1,0]))}function r(s,c,p,l){const u=n(s,c,p),m=en.tensor1d(e(c));return t.push({paramPath:`${l}/filters`},{paramPath:`${l}/bias`}),{filters:u,bias:m}}function i(s,c){const p=en.tensor1d(e(s)),l=en.tensor1d(e(s));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:p,biases:l}}function o(s,c,p,l){const u=r(s,c,p,`${l}/conv`),m=i(c,`${l}/scale`);return{conv:u,scale:m}}function a(s,c,p,l,u=!1){const m=o((u?.5:1)*s,c,p,`${l}/conv1`),b=o(s,c,p,`${l}/conv2`);return{conv1:m,conv2:b}}return{extractConvLayerParams:o,extractResidualLayerParams:a}}function g2(e){const{extractWeights:t,getRemainingWeights:n}=d2.extractWeightsFactory(e),r=[],{extractConvLayerParams:i,extractResidualLayerParams:o}=f2(t,r),a=i(4704,32,7,"conv32_down"),s=o(9216,32,3,"conv32_1"),c=o(9216,32,3,"conv32_2"),p=o(9216,32,3,"conv32_3"),l=o(36864,64,3,"conv64_down",!0),u=o(36864,64,3,"conv64_1"),m=o(36864,64,3,"conv64_2"),b=o(36864,64,3,"conv64_3"),y=o(147456,128,3,"conv128_down",!0),w=o(147456,128,3,"conv128_1"),L=o(147456,128,3,"conv128_2"),T=o(589824,256,3,"conv256_down",!0),A=o(589824,256,3,"conv256_1"),_=o(589824,256,3,"conv256_2"),N=o(589824,256,3,"conv256_down_out"),C=en.tidy(()=>en.transpose(en.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);const F={conv32_down:a,conv32_1:s,conv32_2:c,conv32_3:p,conv64_down:l,conv64_1:u,conv64_2:m,conv64_3:b,conv128_down:y,conv128_1:w,conv128_2:L,conv256_down:T,conv256_1:A,conv256_2:_,conv256_down_out:N,fc:C};return{params:F,paramMappings:r}}Zc.extractParams=g2});var nw=S(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.extractParamsFromWeigthMap=void 0;const tw=De(),b2=me();function w2(e,t){const n=tw.extractWeightEntryFactory(e,t);function r(a){const s=n(`${a}/scale/weights`,1),c=n(`${a}/scale/biases`,1);return{weights:s,biases:c}}function i(a){const s=n(`${a}/conv/filters`,4),c=n(`${a}/conv/bias`,1),p=r(a);return{conv:{filters:s,bias:c},scale:p}}function o(a){return{conv1:i(`${a}/conv1`),conv2:i(`${a}/conv2`)}}return{extractConvLayerParams:i,extractResidualLayerParams:o}}function y2(e){const t=[],{extractConvLayerParams:n,extractResidualLayerParams:r}=w2(e,t),i=n("conv32_down"),o=r("conv32_1"),a=r("conv32_2"),s=r("conv32_3"),c=r("conv64_down"),p=r("conv64_1"),l=r("conv64_2"),u=r("conv64_3"),m=r("conv128_down"),b=r("conv128_1"),y=r("conv128_2"),w=r("conv256_down"),L=r("conv256_1"),T=r("conv256_2"),A=r("conv256_down_out"),_=e.fc;if(t.push({originalPath:"fc",paramPath:"fc"}),!b2.isTensor2D(_))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${_}`);const N={conv32_down:i,conv32_1:o,conv32_2:a,conv32_3:s,conv64_down:c,conv64_1:p,conv64_2:l,conv64_3:u,conv128_down:m,conv128_1:b,conv128_2:y,conv256_down:w,conv256_1:L,conv256_2:T,conv256_down_out:A,fc:_};return tw.disposeUnusedWeightTensors(e,t),{params:N,paramMappings:t}}Qc.extractParamsFromWeigthMap=y2});var rw=S(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.residualDown=Gr.residual=void 0;const _t=ee(),ep=Bd();function x2(e,t){let n=ep.conv(e,t.conv1);return n=ep.convNoRelu(n,t.conv2),n=_t.add(n,e),n=_t.relu(n),n}Gr.residual=x2;function L2(e,t){let n=ep.convDown(e,t.conv1);n=ep.convNoRelu(n,t.conv2);let r=_t.avgPool(e,2,2,"valid");const i=_t.zeros(r.shape),o=r.shape[3]!==n.shape[3],a=r.shape[1]!==n.shape[1]||r.shape[2]!==n.shape[2];if(a){const s=[...n.shape];s[1]=1;const c=_t.zeros(s);n=_t.concat([n,c],1);const p=[...n.shape];p[2]=1;const l=_t.zeros(p);n=_t.concat([n,l],2)}return r=o?_t.concat([r,i],3):r,n=_t.add(r,n),n=_t.relu(n),n}Gr.residualDown=L2});var np=S(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.FaceRecognitionNet=void 0;const $r=ee(),iw=tt(),v2=Qt(),S2=pn(),T2=Bd(),I2=ew(),A2=nw(),rt=rw();class N2 extends v2.NeuralNetwork{constructor(){super("FaceRecognitionNet")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceRecognitionNet - load model before inference");return $r.tidy(()=>{const n=e.toBatchTensor(150,!0).toFloat(),r=[122.782,117.001,104.298],i=S2.normalize(n,r).div($r.scalar(256));let o=T2.convDown(i,t.conv32_down);o=$r.maxPool(o,3,2,"valid"),o=rt.residual(o,t.conv32_1),o=rt.residual(o,t.conv32_2),o=rt.residual(o,t.conv32_3),o=rt.residualDown(o,t.conv64_down),o=rt.residual(o,t.conv64_1),o=rt.residual(o,t.conv64_2),o=rt.residual(o,t.conv64_3),o=rt.residualDown(o,t.conv128_down),o=rt.residual(o,t.conv128_1),o=rt.residual(o,t.conv128_2),o=rt.residualDown(o,t.conv256_down),o=rt.residual(o,t.conv256_1),o=rt.residual(o,t.conv256_2),o=rt.residualDown(o,t.conv256_down_out);const a=o.mean([1,2]),s=$r.matMul(a,t.fc);return s})}async forward(e){return this.forwardInput(await iw.toNetInput(e))}async computeFaceDescriptor(e){const t=await iw.toNetInput(e),n=$r.tidy(()=>$r.unstack(this.forwardInput(t))),r=await Promise.all(n.map(i=>i.data()));return n.forEach(i=>i.dispose()),t.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeigthMap(e){return A2.extractParamsFromWeigthMap(e)}extractParams(e){return I2.extractParams(e)}}tp.FaceRecognitionNet=N2});var ow=S(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.createFaceRecognitionNet=void 0;const _2=Be(),R2=np();_2.__exportStar(np(),Es);function C2(e){const t=new R2.FaceRecognitionNet();return t.extractWeights(e),t}Es.createFaceRecognitionNet=C2});var Pd=S(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});rp.extendWithFaceDescriptor=void 0;function E2(e,t){const n={descriptor:t};return Object.assign({},e,n)}rp.extendWithFaceDescriptor=E2});var jd=S(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.extendWithAge=Hr.isWithAge=void 0;function O2(e){return typeof e.age=="number"}Hr.isWithAge=O2;function k2(e,t){const n={age:t};return Object.assign({},e,n)}Hr.extendWithAge=k2});var Gd=S(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.extendWithGender=Yr.isWithGender=void 0;const sw=Pc(),D2=me();function F2(e){return(e.gender===sw.Gender.MALE||e.gender===sw.Gender.FEMALE)&&D2.isValidProbablitiy(e.genderProbability)}Yr.isWithGender=F2;function M2(e,t,n){const r={gender:t,genderProbability:n};return Object.assign({},e,r)}Yr.extendWithGender=M2});var aw=S(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});const zr=Be();zr.__exportStar(Pd(),fn);zr.__exportStar(tr(),fn);zr.__exportStar(Dc(),fn);zr.__exportStar(Wr(),fn);zr.__exportStar(jd(),fn);zr.__exportStar(Gd(),fn)});var ir=S(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.ComposableTask=void 0;class U2{async then(e){return e(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}}ip.ComposableTask=U2});var op=S(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.extractSingleFaceAndComputeResult=Vr.extractAllFacesAndComputeResults=void 0;const cw=ee(),pw=tt(),W2=Wr();async function lw(e,t,n,r,i=({alignedRect:o})=>o){const o=e.map(c=>W2.isWithFaceLandmarks(c)?i(c):c.detection),a=r||(t instanceof cw.Tensor?await pw.extractFaceTensors(t,o):await pw.extractFaces(t,o)),s=await n(a);return a.forEach(c=>c instanceof cw.Tensor&&c.dispose()),s}Vr.extractAllFacesAndComputeResults=lw;async function q2(e,t,n,r,i){return lw([e],t,async o=>n(o[0]),r,i)}Vr.extractSingleFaceAndComputeResult=q2});var $d=S(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});sp.validateConfig=void 0;const ap=e=>typeof e=="number";function B2(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!ap(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>ap(t.x)&&ap(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(ap)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}sp.validateConfig=B2});var pp=S(cp=>{"use strict";Object.defineProperty(cp,"__esModule",{value:!0});cp.leaky=void 0;const Kr=ee();function P2(e){return Kr.tidy(()=>{const t=Kr.mul(e,Kr.scalar(.10000000149011612));return Kr.add(Kr.relu(Kr.sub(e,t)),t)})}cp.leaky=P2});var uw=S(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.convWithBatchNorm=void 0;const Jr=ee(),j2=pp();function G2(e,t){return Jr.tidy(()=>{let n=Jr.pad(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Jr.conv2d(n,t.conv.filters,[1,1],"valid"),n=Jr.sub(n,t.bn.sub),n=Jr.mul(n,t.bn.truediv),n=Jr.add(n,t.conv.bias),j2.leaky(n)})}lp.convWithBatchNorm=G2});var hw=S(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});up.depthwiseSeparableConv=void 0;const hp=ee(),$2=pp();function H2(e,t){return hp.tidy(()=>{let n=hp.pad(e,[[0,0],[1,1],[1,1],[0,0]]);return n=hp.separableConv2d(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=hp.add(n,t.bias),$2.leaky(n)})}up.depthwiseSeparableConv=H2});var mw=S(dp=>{"use strict";Object.defineProperty(dp,"__esModule",{value:!0});dp.extractParams=void 0;const dw=ee(),Y2=De(),z2=gc(),V2=gd();function K2(e,t){const n=Y2.extractConvParamsFactory(e,t);function r(a,s){const c=dw.tensor1d(e(a)),p=dw.tensor1d(e(a));return t.push({paramPath:`${s}/sub`},{paramPath:`${s}/truediv`}),{sub:c,truediv:p}}function i(a,s,c){const p=n(a,s,3,`${c}/conv`),l=r(s,`${c}/bn`);return{conv:p,bn:l}}const o=z2.extractSeparableConvParamsFactory(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:i,extractSeparableConvParams:o}}function J2(e,t,n,r){const{extractWeights:i,getRemainingWeights:o}=V2.extractWeightsFactory(e),a=[],{extractConvParams:s,extractConvWithBatchNormParams:c,extractSeparableConvParams:p}=K2(i,a);let l;if(t.withSeparableConvs){const[u,m,b,y,w,L,T,A,_]=r,N=t.isFirstLayerConv2d?s(u,m,3,"conv0"):p(u,m,"conv0"),C=p(m,b,"conv1"),F=p(b,y,"conv2"),E=p(y,w,"conv3"),B=p(w,L,"conv4"),q=p(L,T,"conv5"),P=A?p(T,A,"conv6"):void 0,te=_?p(A,_,"conv7"):void 0,ne=s(_||A||T,5*n,1,"conv8");l={conv0:N,conv1:C,conv2:F,conv3:E,conv4:B,conv5:q,conv6:P,conv7:te,conv8:ne}}else{const[u,m,b,y,w,L,T,A,_]=r,N=c(u,m,"conv0"),C=c(m,b,"conv1"),F=c(b,y,"conv2"),E=c(y,w,"conv3"),B=c(w,L,"conv4"),q=c(L,T,"conv5"),P=c(T,A,"conv6"),te=c(A,_,"conv7"),ne=s(_,5*n,1,"conv8");l={conv0:N,conv1:C,conv2:F,conv3:E,conv4:B,conv5:q,conv6:P,conv7:te,conv8:ne}}if(o().length!==0)throw new Error(`weights remaing after extract: ${o().length}`);return{params:l,paramMappings:a}}dp.extractParams=J2});var fw=S(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.extractParamsFromWeigthMap=void 0;const X2=hd(),Z2=gc(),Q2=fd();function e_(e,t){const n=Q2.extractWeightEntryFactory(e,t);function r(s){const c=n(`${s}/sub`,1),p=n(`${s}/truediv`,1);return{sub:c,truediv:p}}function i(s){const c=n(`${s}/filters`,4),p=n(`${s}/bias`,1);return{filters:c,bias:p}}function o(s){const c=i(`${s}/conv`),p=r(`${s}/bn`);return{conv:c,bn:p}}const a=Z2.loadSeparableConvParamsFactory(n);return{extractConvParams:i,extractConvWithBatchNormParams:o,extractSeparableConvParams:a}}function t_(e,t){const n=[],{extractConvParams:r,extractConvWithBatchNormParams:i,extractSeparableConvParams:o}=e_(e,n);let a;if(t.withSeparableConvs){const s=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):o("conv0"),conv1:o("conv1"),conv2:o("conv2"),conv3:o("conv3"),conv4:o("conv4"),conv5:o("conv5"),conv6:s>7?o("conv6"):void 0,conv7:s>8?o("conv7"):void 0,conv8:r("conv8")}}else a={conv0:i("conv0"),conv1:i("conv1"),conv2:i("conv2"),conv3:i("conv3"),conv4:i("conv4"),conv5:i("conv5"),conv6:i("conv6"),conv7:i("conv7"),conv8:r("conv8")};return X2.disposeUnusedWeightTensors(e,n),{params:a,paramMappings:n}}mp.extractParamsFromWeigthMap=t_});var Hd=S(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.TinyYolov2Options=or.TinyYolov2SizeType=void 0;var n_;(function(e){e[e.XS=224]="XS",e[e.SM=320]="SM",e[e.MD=416]="MD",e[e.LG=608]="LG"})(n_=or.TinyYolov2SizeType||(or.TinyYolov2SizeType={}));class r_{constructor({inputSize:e,scoreThreshold:t}={}){if(this._name="TinyYolov2Options",this._inputSize=e||416,this._scoreThreshold=t||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}}or.TinyYolov2Options=r_});var Kd=S(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});fp.TinyYolov2Base=void 0;const Ce=ee(),i_=Wh(),o_=fa(),Yd=De(),gw=tt(),s_=Qt(),zd=pn(),a_=Bh(),c_=Ph(),p_=$d(),gn=uw(),bn=hw(),l_=mw(),u_=fw(),h_=pp(),d_=Hd();class Vd extends s_.NeuralNetwork{constructor(e){super("TinyYolov2");p_.validateConfig(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,t){let n=gn.convWithBatchNorm(e,t.conv0);return n=Ce.maxPool(n,[2,2],[2,2],"same"),n=gn.convWithBatchNorm(n,t.conv1),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=gn.convWithBatchNorm(n,t.conv2),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=gn.convWithBatchNorm(n,t.conv3),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=gn.convWithBatchNorm(n,t.conv4),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=gn.convWithBatchNorm(n,t.conv5),n=Ce.maxPool(n,[2,2],[1,1],"same"),n=gn.convWithBatchNorm(n,t.conv6),n=gn.convWithBatchNorm(n,t.conv7),Yd.convLayer(n,t.conv8,"valid",!1)}runMobilenet(e,t){let n=this.config.isFirstLayerConv2d?h_.leaky(Yd.convLayer(e,t.conv0,"valid",!1)):bn.depthwiseSeparableConv(e,t.conv0);return n=Ce.maxPool(n,[2,2],[2,2],"same"),n=bn.depthwiseSeparableConv(n,t.conv1),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=bn.depthwiseSeparableConv(n,t.conv2),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=bn.depthwiseSeparableConv(n,t.conv3),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=bn.depthwiseSeparableConv(n,t.conv4),n=Ce.maxPool(n,[2,2],[2,2],"same"),n=bn.depthwiseSeparableConv(n,t.conv5),n=Ce.maxPool(n,[2,2],[1,1],"same"),n=t.conv6?bn.depthwiseSeparableConv(n,t.conv6):n,n=t.conv7?bn.depthwiseSeparableConv(n,t.conv7):n,Yd.convLayer(n,t.conv8,"valid",!1)}forwardInput(e,t){const{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return Ce.tidy(()=>{let r=e.toBatchTensor(t,!1).toFloat();return r=this.config.meanRgb?c_.normalize(r,this.config.meanRgb):r,r=r.div(Ce.scalar(256)),this.config.withSeparableConvs?this.runMobilenet(r,n):this.runTinyYolov2(r,n)})}async forward(e,t){return await this.forwardInput(await gw.toNetInput(e),t)}async detect(e,t={}){const{inputSize:n,scoreThreshold:r}=new d_.TinyYolov2Options(t),i=await gw.toNetInput(e),o=await this.forwardInput(i,n),a=Ce.tidy(()=>Ce.unstack(o)[0].expandDims()),s={width:i.getInputWidth(0),height:i.getInputHeight(0)},c=await this.extractBoxes(a,i.getReshapedInputDimensions(0),r);o.dispose(),a.dispose();const p=c.map(w=>w.box),l=c.map(w=>w.score),u=c.map(w=>w.classScore),m=c.map(w=>this.config.classes[w.label]),b=a_.nonMaxSuppression(p.map(w=>w.rescale(n)),l,this.config.iouThreshold,!0),y=b.map(w=>new o_.ObjectDetection(l[w],u[w],m[w],p[w],s));return y}getDefaultModelName(){return""}extractParamsFromWeigthMap(e){return u_.extractParamsFromWeigthMap(e,this.config)}extractParams(e){const t=this.config.filterSizes||Vd.DEFAULT_FILTER_SIZES,n=t?t.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return l_.extractParams(e,this.config,this.boxEncodingSize,t)}async extractBoxes(e,t,n){const{width:r,height:i}=t,o=Math.max(r,i),a=o/r,s=o/i,c=e.shape[1],p=this.config.anchors.length,[l,u,m]=Ce.tidy(()=>{const L=e.reshape([c,c,p,this.boxEncodingSize]),T=L.slice([0,0,0,0],[c,c,p,4]),A=L.slice([0,0,0,4],[c,c,p,1]),_=this.withClassScores?Ce.softmax(L.slice([0,0,0,5],[c,c,p,this.config.classes.length]),3):Ce.scalar(0);return[T,A,_]}),b=[],y=await u.array(),w=await l.array();for(let L=0;Ln){const N=(T+zd.sigmoid(w[L][T][A][0]))/c*a,C=(L+zd.sigmoid(w[L][T][A][1]))/c*s,F=Math.exp(w[L][T][A][2])*this.config.anchors[A].x/c*a,E=Math.exp(w[L][T][A][3])*this.config.anchors[A].y/c*s,B=N-F/2,q=C-E/2,P={row:L,col:T,anchor:A},{classScore:te,label:ne}=this.withClassScores?await this.extractPredictedClass(m,P):{classScore:1,label:0};b.push({box:new i_.BoundingBox(B,q,B+F,q+E),score:_,classScore:_*te,label:ne,...P})}}return l.dispose(),u.dispose(),m.dispose(),b}async extractPredictedClass(e,t){const{row:n,col:r,anchor:i}=t,o=await e.array();return Array(this.config.classes.length).fill(0).map((a,s)=>o[n][r][i][s]).map((a,s)=>({classScore:a,label:s})).reduce((a,s)=>a.classScore>s.classScore?a:s)}}fp.TinyYolov2Base=Vd;Vd.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024]});var bw=S(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.MEAN_RGB=wn.BOX_ANCHORS=wn.IOU_THRESHOLD=void 0;const Os=pt();wn.IOU_THRESHOLD=.4;wn.BOX_ANCHORS=[new Os.Point(1.603231,2.094468),new Os.Point(6.041143,7.080126),new Os.Point(2.882459,3.518061),new Os.Point(4.266906,5.178857),new Os.Point(9.041765,10.66308)];wn.MEAN_RGB=[117.001,114.697,97.404]});var bp=S(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});gp.TinyFaceDetector=void 0;const m_=pt(),f_=Kd(),Jd=bw();class g_ extends f_.TinyYolov2Base{constructor(){const e={withSeparableConvs:!0,iouThreshold:Jd.IOU_THRESHOLD,classes:["face"],anchors:Jd.BOX_ANCHORS,meanRgb:Jd.MEAN_RGB,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(e)}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new m_.FaceDetection(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}gp.TinyFaceDetector=g_});var ww=S(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.DEFAULT_MODEL_NAME_SEPARABLE_CONV=it.DEFAULT_MODEL_NAME=it.MEAN_RGB_SEPARABLE=it.BOX_ANCHORS_SEPARABLE=it.BOX_ANCHORS=it.IOU_THRESHOLD=void 0;const Mt=pt();it.IOU_THRESHOLD=.4;it.BOX_ANCHORS=[new Mt.Point(.738768,.874946),new Mt.Point(2.42204,2.65704),new Mt.Point(4.30971,7.04493),new Mt.Point(10.246,4.59428),new Mt.Point(12.6868,11.8741)];it.BOX_ANCHORS_SEPARABLE=[new Mt.Point(1.603231,2.094468),new Mt.Point(6.041143,7.080126),new Mt.Point(2.882459,3.518061),new Mt.Point(4.266906,5.178857),new Mt.Point(9.041765,10.66308)];it.MEAN_RGB_SEPARABLE=[117.001,114.697,97.404];it.DEFAULT_MODEL_NAME="tiny_yolov2_model";it.DEFAULT_MODEL_NAME_SEPARABLE_CONV="tiny_yolov2_separable_conv_model"});var yw=S(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});wp.TinyYolov2=void 0;const b_=pt(),Xr=ww(),w_=Kd();class y_ extends w_.TinyYolov2Base{constructor(e=!0){const t=Object.assign({},{withSeparableConvs:e,iouThreshold:Xr.IOU_THRESHOLD,classes:["face"]},e?{anchors:Xr.BOX_ANCHORS_SEPARABLE,meanRgb:Xr.MEAN_RGB_SEPARABLE}:{anchors:Xr.BOX_ANCHORS,withClassScores:!0});super(t)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new b_.FaceDetection(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?Xr.DEFAULT_MODEL_NAME_SEPARABLE_CONV:Xr.DEFAULT_MODEL_NAME}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}wp.TinyYolov2=y_});var Lw=S(xw=>{"use strict";Object.defineProperty(xw,"__esModule",{value:!0})});var yp=S(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.createTinyYolov2=tn.TinyYolov2=void 0;const Xd=Be(),vw=yw();Object.defineProperty(tn,"TinyYolov2",{enumerable:!0,get:function(){return vw.TinyYolov2}});Xd.__exportStar(Hd(),tn);Xd.__exportStar($d(),tn);Xd.__exportStar(Lw(),tn);function x_(e,t=!0){const n=new vw.TinyYolov2(t);return n.extractWeights(e),n}tn.createTinyYolov2=x_});var sr=S(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.detectLandmarks=j.locateFaces=j.loadFaceDetectionModel=j.loadAgeGenderModel=j.loadFaceExpressionModel=j.loadFaceRecognitionModel=j.loadFaceLandmarkTinyModel=j.loadFaceLandmarkModel=j.loadTinyYolov2Model=j.loadTinyFaceDetectorModel=j.predictAgeAndGender=j.recognizeFaceExpressions=j.computeFaceDescriptor=j.detectFaceLandmarksTiny=j.detectFaceLandmarks=j.tinyFaceDetector=j.nets=void 0;const L_=kd(),v_=Nd(),S_=Yc(),T_=Ud(),I_=np(),Sw=bp(),A_=yp();j.nets={tinyFaceDetector:new Sw.TinyFaceDetector(),tinyYolov2:new A_.TinyYolov2(),faceLandmark68Net:new S_.FaceLandmark68Net(),faceLandmark68TinyNet:new T_.FaceLandmark68TinyNet(),faceRecognitionNet:new I_.FaceRecognitionNet(),faceExpressionNet:new v_.FaceExpressionNet(),ageGenderNet:new L_.AgeGenderNet()};j.tinyFaceDetector=(e,t)=>j.nets.tinyFaceDetector.locateFaces(e,t);j.detectFaceLandmarks=e=>j.nets.faceLandmark68Net.detectLandmarks(e);j.detectFaceLandmarksTiny=e=>j.nets.faceLandmark68TinyNet.detectLandmarks(e);j.computeFaceDescriptor=e=>j.nets.faceRecognitionNet.computeFaceDescriptor(e);j.recognizeFaceExpressions=e=>j.nets.faceExpressionNet.predictExpressions(e);j.predictAgeAndGender=e=>j.nets.ageGenderNet.predictAgeAndGender(e);j.loadTinyFaceDetectorModel=e=>j.nets.tinyFaceDetector.load(e);j.loadTinyYolov2Model=e=>j.nets.tinyYolov2.load(e);j.loadFaceLandmarkModel=e=>j.nets.faceLandmark68Net.load(e);j.loadFaceLandmarkTinyModel=e=>j.nets.faceLandmark68TinyNet.load(e);j.loadFaceRecognitionModel=e=>j.nets.faceRecognitionNet.load(e);j.loadFaceExpressionModel=e=>j.nets.faceExpressionNet.load(e);j.loadAgeGenderModel=e=>j.nets.ageGenderNet.load(e);j.loadFaceDetectionModel=j.loadTinyFaceDetectorModel;j.locateFaces=Sw.TinyFaceDetector;j.detectLandmarks=j.detectFaceLandmarks});var Fs=S(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.PredictSingleFaceExpressionsWithFaceAlignmentTask=yt.PredictAllFaceExpressionsWithFaceAlignmentTask=yt.PredictSingleFaceExpressionsTask=yt.PredictAllFaceExpressionsTask=yt.PredictFaceExpressionsTaskBase=void 0;const Tw=Dc(),N_=ir(),Iw=ks(),Aw=op(),Nw=sr(),xp=Ds();class Zd extends N_.ComposableTask{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}yt.PredictFaceExpressionsTaskBase=Zd;class _w extends Zd{async run(){const e=await this.parentTask,t=await Aw.extractAllFacesAndComputeResults(e,this.input,async n=>await Promise.all(n.map(r=>Nw.nets.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return e.map((n,r)=>Tw.extendWithFaceExpressions(n,t[r]))}withAgeAndGender(){return new xp.PredictAllAgeAndGenderTask(this,this.input)}}yt.PredictAllFaceExpressionsTask=_w;class Rw extends Zd{async run(){const e=await this.parentTask;if(!e)return;const t=await Aw.extractSingleFaceAndComputeResult(e,this.input,n=>Nw.nets.faceExpressionNet.predictExpressions(n),this.extractedFaces);return Tw.extendWithFaceExpressions(e,t)}withAgeAndGender(){return new xp.PredictSingleAgeAndGenderTask(this,this.input)}}yt.PredictSingleFaceExpressionsTask=Rw;class __ extends _w{withAgeAndGender(){return new xp.PredictAllAgeAndGenderWithFaceAlignmentTask(this,this.input)}withFaceDescriptors(){return new Iw.ComputeAllFaceDescriptorsTask(this,this.input)}}yt.PredictAllFaceExpressionsWithFaceAlignmentTask=__;class R_ extends Rw{withAgeAndGender(){return new xp.PredictSingleAgeAndGenderWithFaceAlignmentTask(this,this.input)}withFaceDescriptor(){return new Iw.ComputeSingleFaceDescriptorTask(this,this.input)}}yt.PredictSingleFaceExpressionsWithFaceAlignmentTask=R_});var Ds=S(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.PredictSingleAgeAndGenderWithFaceAlignmentTask=xt.PredictAllAgeAndGenderWithFaceAlignmentTask=xt.PredictSingleAgeAndGenderTask=xt.PredictAllAgeAndGenderTask=xt.PredictAgeAndGenderTaskBase=void 0;const Cw=jd(),Ew=Gd(),C_=ir(),Ow=ks(),kw=op(),Dw=sr(),Lp=Fs();class Qd extends C_.ComposableTask{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}xt.PredictAgeAndGenderTaskBase=Qd;class Fw extends Qd{async run(){const e=await this.parentTask,t=await kw.extractAllFacesAndComputeResults(e,this.input,async n=>await Promise.all(n.map(r=>Dw.nets.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return e.map((n,r)=>{const{age:i,gender:o,genderProbability:a}=t[r];return Cw.extendWithAge(Ew.extendWithGender(n,o,a),i)})}withFaceExpressions(){return new Lp.PredictAllFaceExpressionsTask(this,this.input)}}xt.PredictAllAgeAndGenderTask=Fw;class Mw extends Qd{async run(){const e=await this.parentTask;if(!e)return;const{age:t,gender:n,genderProbability:r}=await kw.extractSingleFaceAndComputeResult(e,this.input,i=>Dw.nets.ageGenderNet.predictAgeAndGender(i),this.extractedFaces);return Cw.extendWithAge(Ew.extendWithGender(e,n,r),t)}withFaceExpressions(){return new Lp.PredictSingleFaceExpressionsTask(this,this.input)}}xt.PredictSingleAgeAndGenderTask=Mw;class E_ extends Fw{withFaceExpressions(){return new Lp.PredictAllFaceExpressionsWithFaceAlignmentTask(this,this.input)}withFaceDescriptors(){return new Ow.ComputeAllFaceDescriptorsTask(this,this.input)}}xt.PredictAllAgeAndGenderWithFaceAlignmentTask=E_;class O_ extends Mw{withFaceExpressions(){return new Lp.PredictSingleFaceExpressionsWithFaceAlignmentTask(this,this.input)}withFaceDescriptor(){return new Ow.ComputeSingleFaceDescriptorTask(this,this.input)}}xt.PredictSingleAgeAndGenderWithFaceAlignmentTask=O_});var ks=S(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.ComputeSingleFaceDescriptorTask=yn.ComputeAllFaceDescriptorsTask=yn.ComputeFaceDescriptorsTaskBase=void 0;const Uw=Pd(),k_=ir(),Ww=op(),qw=sr(),Bw=Ds(),Pw=Fs();class em extends k_.ComposableTask{constructor(e,t){super();this.parentTask=e,this.input=t}}yn.ComputeFaceDescriptorsTaskBase=em;class D_ extends em{async run(){const e=await this.parentTask,t=await Ww.extractAllFacesAndComputeResults(e,this.input,n=>Promise.all(n.map(r=>qw.nets.faceRecognitionNet.computeFaceDescriptor(r))),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return t.map((n,r)=>Uw.extendWithFaceDescriptor(e[r],n))}withFaceExpressions(){return new Pw.PredictAllFaceExpressionsWithFaceAlignmentTask(this,this.input)}withAgeAndGender(){return new Bw.PredictAllAgeAndGenderWithFaceAlignmentTask(this,this.input)}}yn.ComputeAllFaceDescriptorsTask=D_;class F_ extends em{async run(){const e=await this.parentTask;if(!e)return;const t=await Ww.extractSingleFaceAndComputeResult(e,this.input,n=>qw.nets.faceRecognitionNet.computeFaceDescriptor(n),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return Uw.extendWithFaceDescriptor(e,t)}withFaceExpressions(){return new Pw.PredictSingleFaceExpressionsWithFaceAlignmentTask(this,this.input)}withAgeAndGender(){return new Bw.PredictSingleAgeAndGenderWithFaceAlignmentTask(this,this.input)}}yn.ComputeSingleFaceDescriptorTask=F_});var Sp=S(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.TinyFaceDetectorOptions=void 0;const M_=yp();class U_ extends M_.TinyYolov2Options{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}}vp.TinyFaceDetectorOptions=U_});var nm=S(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.DetectSingleFaceLandmarksTask=xn.DetectAllFaceLandmarksTask=xn.DetectFaceLandmarksTaskBase=void 0;const Tp=ee(),Ip=tt(),jw=Wr(),W_=ir(),Gw=ks(),$w=sr(),Hw=Ds(),Yw=Fs();class tm extends W_.ComposableTask{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?$w.nets.faceLandmark68TinyNet:$w.nets.faceLandmark68Net}}xn.DetectFaceLandmarksTaskBase=tm;class q_ extends tm{async run(){const e=await this.parentTask,t=e.map(i=>i.detection),n=this.input instanceof Tp.Tensor?await Ip.extractFaceTensors(this.input,t):await Ip.extractFaces(this.input,t),r=await Promise.all(n.map(i=>this.landmarkNet.detectLandmarks(i)));return n.forEach(i=>i instanceof Tp.Tensor&&i.dispose()),e.map((i,o)=>jw.extendWithFaceLandmarks(i,r[o]))}withFaceExpressions(){return new Yw.PredictAllFaceExpressionsWithFaceAlignmentTask(this,this.input)}withAgeAndGender(){return new Hw.PredictAllAgeAndGenderWithFaceAlignmentTask(this,this.input)}withFaceDescriptors(){return new Gw.ComputeAllFaceDescriptorsTask(this,this.input)}}xn.DetectAllFaceLandmarksTask=q_;class B_ extends tm{async run(){const e=await this.parentTask;if(!e)return;const{detection:t}=e,n=this.input instanceof Tp.Tensor?await Ip.extractFaceTensors(this.input,[t]):await Ip.extractFaces(this.input,[t]),r=await this.landmarkNet.detectLandmarks(n[0]);return n.forEach(i=>i instanceof Tp.Tensor&&i.dispose()),jw.extendWithFaceLandmarks(e,r)}withFaceExpressions(){return new Yw.PredictSingleFaceExpressionsWithFaceAlignmentTask(this,this.input)}withAgeAndGender(){return new Hw.PredictSingleAgeAndGenderWithFaceAlignmentTask(this,this.input)}withFaceDescriptor(){return new Gw.ComputeSingleFaceDescriptorTask(this,this.input)}}xn.DetectSingleFaceLandmarksTask=B_});var im=S(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.DetectSingleFaceTask=Ln.DetectAllFacesTask=Ln.DetectFacesTaskBase=void 0;const zw=tr(),Vw=Sp(),P_=ir(),Kw=nm(),j_=sr(),Jw=Ds(),Xw=Fs();class rm extends P_.ComposableTask{constructor(e,t=new Vw.TinyFaceDetectorOptions()){super();this.input=e,this.options=t}}Ln.DetectFacesTaskBase=rm;class Zw extends rm{async run(){const{input:e,options:t}=this,n=t instanceof Vw.TinyFaceDetectorOptions?r=>j_.nets.tinyFaceDetector.locateFaces(r,t):null;if(!n)throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options");return n(e)}runAndExtendWithFaceDetections(){return new Promise(async e=>{const t=await this.run();return e(t.map(n=>zw.extendWithFaceDetection({},n)))})}withFaceLandmarks(e=!1){return new Kw.DetectAllFaceLandmarksTask(this.runAndExtendWithFaceDetections(),this.input,e)}withFaceExpressions(){return new Xw.PredictAllFaceExpressionsTask(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Jw.PredictAllAgeAndGenderTask(this.runAndExtendWithFaceDetections(),this.input)}}Ln.DetectAllFacesTask=Zw;class G_ extends rm{async run(){const e=await new Zw(this.input,this.options);let t=e[0];return e.forEach(n=>{n.score>t.score&&(t=n)}),t}runAndExtendWithFaceDetection(){return new Promise(async e=>{const t=await this.run();return e(t?zw.extendWithFaceDetection({},t):void 0)})}withFaceLandmarks(e=!1){return new Kw.DetectSingleFaceLandmarksTask(this.runAndExtendWithFaceDetection(),this.input,e)}withFaceExpressions(){return new Xw.PredictSingleFaceExpressionsTask(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Jw.PredictSingleAgeAndGenderTask(this.runAndExtendWithFaceDetection(),this.input)}}Ln.DetectSingleFaceTask=G_});var ty=S(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.detectAllFaces=Zr.detectSingleFace=void 0;const Qw=im(),ey=Sp();function $_(e,t=new ey.TinyFaceDetectorOptions()){return new Qw.DetectSingleFaceTask(e,t)}Zr.detectSingleFace=$_;function H_(e,t=new ey.TinyFaceDetectorOptions()){return new Qw.DetectAllFacesTask(e,t)}Zr.detectAllFaces=H_});var om=S(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.euclideanDistance=void 0;function Y_(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");const n=Array.from(e),r=Array.from(t);return Math.sqrt(n.map((i,o)=>i-r[o]).reduce((i,o)=>i+Math.pow(o,2),0))}Ap.euclideanDistance=Y_});var iy=S(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.FaceMatcher=void 0;const ny=Hh(),_p=zh(),z_=om();class ry{constructor(e,t=.6){this._distanceThreshold=t;const n=Array.isArray(e)?e:[e];if(!n.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1;const i=()=>`person ${r++}`;this._labeledDescriptors=n.map(o=>{if(o instanceof _p.LabeledFaceDescriptors)return o;if(o instanceof Float32Array)return new _p.LabeledFaceDescriptors(i(),[o]);if(o.descriptor&&o.descriptor instanceof Float32Array)return new _p.LabeledFaceDescriptors(i(),[o.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(e,t){return t.map(n=>z_.euclideanDistance(n,e)).reduce((n,r)=>n+r,0)/(t.length||1)}matchDescriptor(e){return this.labeledDescriptors.map(({descriptors:t,label:n})=>new ny.FaceMatch(n,this.computeMeanDistance(e,t))).reduce((t,n)=>t.distancee.toJSON())}}static fromJSON(e){const t=e.labeledDescriptors.map(n=>_p.LabeledFaceDescriptors.fromJSON(n));return new ry(t,e.distanceThreshold)}}Np.FaceMatcher=ry});var sy=S(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0})});var ay=S(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});const vn=Be();vn.__exportStar(ir(),Ut);vn.__exportStar(ks(),Ut);vn.__exportStar(ty(),Ut);vn.__exportStar(im(),Ut);vn.__exportStar(nm(),Ut);vn.__exportStar(iy(),Ut);vn.__exportStar(sr(),Ut);vn.__exportStar(sy(),Ut)});var py=S(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.createTinyFaceDetector=void 0;const cy=Be(),V_=bp();cy.__exportStar(bp(),Qr);cy.__exportStar(Sp(),Qr);function K_(e){const t=new V_.TinyFaceDetector();return t.extractWeights(e),t}Qr.createTinyFaceDetector=K_});var hy=S(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});Rp.resizeResults=void 0;const J_=pt(),X_=Xt(),Z_=er(),sm=tr(),ly=Wr();function uy(e,t){const{width:n,height:r}=new J_.Dimensions(t.width,t.height);if(n<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:r})}`);if(Array.isArray(e))return e.map(i=>uy(i,{width:n,height:r}));if(ly.isWithFaceLandmarks(e)){const i=e.detection.forSize(n,r),o=e.unshiftedLandmarks.forSize(i.box.width,i.box.height);return ly.extendWithFaceLandmarks(sm.extendWithFaceDetection(e,i),o)}return sm.isWithFaceDetection(e)?sm.extendWithFaceDetection(e,e.detection.forSize(n,r)):e instanceof Z_.FaceLandmarks||e instanceof X_.FaceDetection?e.forSize(n,r):e}Rp.resizeResults=uy});var dy=S(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.tf=ye.utils=ye.draw=void 0;const Je=Be(),Q_=ee();ye.tf=Q_;const e0=Ob();ye.draw=e0;const t0=me();ye.utils=t0;Je.__exportStar($b(),ye);Je.__exportStar(pt(),ye);Je.__exportStar(tt(),ye);Je.__exportStar(Ye(),ye);Je.__exportStar(_d(),ye);Je.__exportStar(Xb(),ye);Je.__exportStar(ow(),ye);Je.__exportStar(aw(),ye);Je.__exportStar(ay(),ye);Je.__exportStar(pn(),ye);Je.__exportStar(py(),ye);Je.__exportStar(yp(),ye);Je.__exportStar(om(),ye);Je.__exportStar(Qt(),ye);Je.__exportStar(hy(),ye)});const my="tfjsflags";class Fh{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.populateURLFlags()}setPlatform(e,t){this.platform!=null&&console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${t}.`),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},this.urlFlags[e]!=null){const r=this.urlFlags[e];console.warn(`Setting feature override from URL ${e}: ${r}.`),this.set(e,r)}}async getAsync(e){return e in this.flags?this.flags[e]:(this.flags[e]=await this.evaluateFlag(e),this.flags[e])}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(t instanceof Promise)throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(this.flagRegistry[e]==null)throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,this.flagRegistry[e].setHook!=null&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(this.flagRegistry[e]==null)throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(typeof this.global=="undefined"||typeof this.global.location=="undefined"||typeof this.global.location.search=="undefined")return;const e=n0(this.global.location.search);if(my in e){const t=e[my].split(",");t.forEach(n=>{const[r,i]=n.split(":");this.urlFlags[r]=r0(r,i)})}}}function n0(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(n,...r)=>(i0(t,r[0],r[1]),r.join("="))),t}function i0(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}function r0(e,t){if(t=t.toLowerCase(),t==="true"||t==="false")return t==="true";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}function se(){return Mh}let Mh=null;function fy(e){Mh=e}let am;function cm(){if(am==null){let e;if(typeof window!="undefined")e=window;else if(typeof global!="undefined")e=global;else if(typeof process!="undefined")e=process;else if(typeof self!="undefined")e=self;else throw new Error("Could not find a global object");am=e}return am}function o0(){const e=cm();return e._tfGlobals==null&&(e._tfGlobals=new Map()),e._tfGlobals}function pm(e,t){const n=o0();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Mi="Abs",Ui="Acos",Wi="Acosh",Jn="Add",qi="AddN",Wu="All",qu="Any",Bi="ArgMax",Pi="ArgMin",ji="Asin",Gi="Asinh",$i="Atan",Hi="Atanh",Yi="Atan2",zi="AvgPool",Bu="AvgPoolBackprop",Vi="AvgPool3D",Pu="AvgPool3DBackprop",Ki="BatchMatMul",Ji="BatchToSpaceND",Xi="BroadcastTo",Xn="Cast",Zi="Ceil",Qi="ClipByValue",ju="Complex",eo="Concat",to="Conv2D",Gu="Conv2DBackpropFilter",no="Conv2DBackpropInput",ro="Conv3D",$u="Conv3DBackpropFilterV2",Hu="Conv3DBackpropInputV2",io="Cos",oo="Cosh",so="Cumsum",Yu="CropAndResize",zu="DepthToSpace",ao="DepthwiseConv2dNative",Vu="DepthwiseConv2dNativeBackpropFilter",Ku="DepthwiseConv2dNativeBackpropInput",Ju="Diag",co="Dilation2D",Xu="Dilation2DBackpropInput",Zu="Dilation2DBackpropFilter",po="Div",lo="Elu",Qu="EluGrad",uo="Erf",eh="Equal",ho="Exp",mo="Expm1",th="FFT",nh="Fill",rh="FlipLeftRight",fo="Floor",go="FloorDiv",bo="FusedBatchNorm",wo="GatherV2",ih="GatherNd",oh="Greater",yo="GreaterEqual",xo="Identity",sh="IFFT",ah="Imag",Lo="IsFinite",vo="IsInf",So="IsNan",ch="Less",ph="LessEqual",lh="LinSpace",To="Log",Io="Log1p",uh="LogicalAnd",hh="LogicalNot",dh="LogicalOr",Ao="LogSoftmax",No="LRN",mh="LRNBackprop",_o="Max",Ro="Maximum",Co="MaxPool",fh="MaxPoolBackprop",Eo="MaxPool3D",gh="MaxPool3DBackprop",bh="MaxPoolWithArgmax",oS="Mean",Oo="Min",ko="Minimum",Do="Mod",Fo="Multiply",Mo="Negate",wh="NotEqual",yh="NonMaxSuppressionV3",xh="NonMaxSuppressionV4",Lh="NonMaxSuppressionV5",Uo="OnesLike",Wo="OneHot",qo="PadV2",sS="Pool",Bo="Pow",Po="Prelu",vh="Prod",Sh="Range",Th="Real",jo="Reciprocal",Go="Relu",$o="Reshape",Ho="ResizeNearestNeighbor",Ih="ResizeNearestNeighborGrad",Yo="ResizeBilinear",Ah="ResizeBilinearGrad",zo="Relu6",Vo="Reverse",Ko="Round",Jo="Rsqrt",Nh="ScatterNd",Xo="SelectV2",Zo="Selu",Qo="Slice",es="Sin",ts="Sinh",ns="Sign",rs="Sigmoid",is="Softplus",os="Sqrt",ss="Sum",as="SpaceToBatchND",cs="SplitV",ps="Softmax",ls="SquaredDifference",_h="Square",us="Sub",Rh="SparseToDense",Ch="StridedSlice",hs="Tan",ds="Tanh",ms="Tile",Eh="TopK",fs="Transpose",gs="Unpack",bs="UnsortedSegmentSum",ws="ZerosLike",ys="Step",ra="FromPixels",Oh="RotateWithOffset",ia="_FusedMatMul",oa="FusedConv2D",sa="FusedDepthwiseConv2D";const ei=pm("kernelRegistry",()=>new Map()),Ms=pm("gradRegistry",()=>new Map());function Fi(e,t){const n=lm(e,t);return ei.get(n)}function ta(e){return Ms.get(e)}function na(e){const t=ei.entries(),n=[];for(;;){const{done:r,value:i}=t.next();if(r)break;const[o,a]=i,[s]=o.split("_");s===e&&n.push(a)}return n}function nS(e){const{kernelName:t,backendName:n}=e,r=lm(t,n);ei.has(r)&&console.warn(`The kernel '${t}' for backend '${n}' is already registered`),ei.set(r,e)}function Uu(e){const{kernelName:t}=e;Ms.has(t)&&(se().getBool("DEBUG")&&console.warn(`Overriding the gradient for '${t}'`)),Ms.set(t,e)}function rS(e,t){const n=lm(e,t);if(!ei.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);ei.delete(n)}function iS(e){if(!Ms.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);Ms.delete(e)}function lm(e,t){return`${t}_${e}`}const _f={};Oe(_f,{arraysEqual:()=>Le,assert:()=>f,assertNonNegativeIntegerDimensions:()=>qs,assertNonNull:()=>lt,assertShapesMatch:()=>$,bytesFromStringArray:()=>bm,bytesPerElement:()=>gm,checkConversionForErrors:()=>by,clamp:()=>ti,computeStrides:()=>Bt,createShuffledIndices:()=>d0,decodeString:()=>Ep,distSquared:()=>p0,encodeString:()=>wm,fetch:()=>b0,flatten:()=>Wt,getArrayFromDType:()=>dm,getTypedArrayFromDType:()=>ni,hasEncodingLoss:()=>fm,indexToLoc:()=>y0,inferDtype:()=>ri,inferFromImplicitShape:()=>um,isBoolean:()=>wy,isFunction:()=>qt,isInt:()=>J,isNumber:()=>yy,isScalarShape:()=>l0,isString:()=>Rt,isTypedArray:()=>Ie,isValidDtype:()=>mm,locToIndex:()=>w0,makeOnesTypedArray:()=>Ws,makeZerosNestedTypedArray:()=>g0,makeZerosTypedArray:()=>Pt,nearestDivisor:()=>ii,nearestLargerEven:()=>s0,now:()=>Cp,parseAxisParam:()=>z,randUniform:()=>c0,repeatedTry:()=>m0,rightPad:()=>ar,shuffle:()=>gy,sizeFromShape:()=>Z,sizeToSquarishShape:()=>h0,squeezeShape:()=>hm,sum:()=>a0,tanh:()=>u0,toNestedArray:()=>cr,toTypedArray:()=>Us});function gy(e){let t=e.length,n=0,r=0;for(;t>0;)r=Math.random()*t|0,t--,n=e[t],e[t]=e[r],e[r]=n}function ti(e,t,n){return Math.max(e,Math.min(t,n))}function s0(e){return e%2===0?e:e+1}function a0(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`)}function lt(e){f(e!=null,()=>"The input to the tensor constructor must be a non-null value.")}function Wt(e,t=[],n=!1){if(t==null&&(t=[]),Array.isArray(e)||Ie(e)&&!n)for(let r=0;r0,n){return new Promise((r,i)=>{let o=0;const a=()=>{if(e()){r();return}o++;const s=t(o);if(n!=null&&o>=n){i();return}setTimeout(a,s)};a()})}function um(e,t){let n=1,r=-1;for(let o=0;o=0)n*=e[o];else if(e[o]===-1){if(r!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${o}`);r=o}else if(e[o]<0)throw Error(`Shapes can not be < 0. Found ${e[o]} at dim ${o}`);if(r===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const i=e.slice();return i[r]=t/n,i}function z(e,t){const n=t.length;return e=e==null?t.map((r,i)=>i):[].concat(e),f(e.every(r=>r>=-n&&r`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),f(e.every(r=>J(r)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(r=>r<0?n+r:r)}function hm(e,t){const n=[],r=[],i=t!=null&&Array.isArray(t)&&t.length===0,o=t==null||i?null:z(t,e).sort();let a=0;for(let s=0;ss)&&e[s]===1&&(n.push(e[s]),r.push(s)),o[a]<=s&&a++}e[s]!==1&&(n.push(e[s]),r.push(s))}return{newShape:n,keptDims:r}}function ni(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else throw new Error(`Unknown data type ${e}`);return n}function dm(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else if(e==="string")n=new Array(t);else throw new Error(`Unknown data type ${e}`);return n}function by(e,t){for(let n=0;nt+=n.length),t}function Rt(e){return typeof e=="string"||e instanceof String}function wy(e){return typeof e=="boolean"}function yy(e){return typeof e=="number"}function ri(e){return Array.isArray(e)?ri(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array?"int32":yy(e)?"float32":Rt(e)?"string":wy(e)?"bool":"float32"}function qt(e){return!!(e&&e.constructor&&e.call&&e.apply)}function ii(e,t){for(let n=t;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function Us(e,t){if(t==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=Wt(e)),se().getBool("DEBUG")&&by(e,t),f0(e,t))return e;if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool"){const n=new Uint8Array(e.length);for(let r=0;rs*c);for(let s=0;sr*i);if(n===0)return[];if(n!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}.`);return xy(0,e,t)}function f0(e,t){return e instanceof Float32Array&&t==="float32"||e instanceof Int32Array&&t==="int32"||e instanceof Uint8Array&&t==="bool"}function Ws(e,t){const n=Pt(e,t);for(let r=0;rr*i,1);if(t==null||t==="float32")return cr(e,new Float32Array(n));if(t==="int32")return cr(e,new Int32Array(n));if(t==="bool")return cr(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function Cp(){return se().platform.now()}function qs(e){e.forEach(t=>{f(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function b0(e,t){return se().platform.fetch(e,t)}function wm(e,t="utf-8"){return t=t||"utf-8",se().platform.encode(e,t)}function Ep(e,t="utf-8"){return t=t||"utf-8",se().platform.decode(e,t)}function w0(e,t,n){if(t===0)return 0;if(t===1)return e[0];let r=e[e.length-1];for(let i=0;i{r=n()},o=this.backendTimer.time(i);r.map(s=>{s.data().then(c=>{x0(c,s.dtype,e)})});const a={kernelName:e,outputs:r,inputs:t,timeMs:o.then(s=>s.kernelMs),extraInfo:o.then(s=>s.getExtraProfileInfo!=null?s.getExtraProfileInfo():"")};return a}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:i,extraInfo:o}=e;n.forEach(a=>{Promise.all([a.data(),r,o]).then(s=>{this.logger.logKernelProfile(t,a,s[0],s[1],i,s[2])})})}}function x0(e,t,n){if(t!=="float32")return!1;for(let r=0;r0?y:""} `}}console.log(`%c${s} %c${a} %c${c}D ${l} %c${p} %c${u} %c${o}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function vy(e,t,n){const r={},i={};for(let c=0;cr[w.id]=!0),b=!0,i[p.id]=!0;break}if(b)break}}const o={};o[n.id]=!0;const a={};for(let c=e.length-1;c>=0;c--){const p=e[c],l=p.inputs;for(let u=0;u=0;i--){const o=t[i],a=[];if(o.outputs.forEach(c=>{const p=e[c.id];p!=null?a.push(p):a.push(null)}),o.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${o.kernelName}.`);const s=o.gradient(a);for(const c in o.inputs){if(!(c in s))throw new Error(`Cannot backprop through input ${c}. Available gradients found: ${Object.keys(s)}.`);const p=n(()=>s[c]());if(p.dtype!=="float32")throw new Error(`Error in gradient for op ${o.kernelName}. The gradient of input ${c} must have 'float32' dtype, but has '${p.dtype}'`);const l=o.inputs[c];if(!Le(p.shape,l.shape))throw new Error(`Error in gradient for op ${o.kernelName}. The gradient of input '${c}' has shape '${p.shape}', which does not match the shape of the input '${l.shape}'`);if(e[l.id]==null)e[l.id]=p;else{const u=e[l.id];e[l.id]=r(u,p),u.dispose()}}}}const Ty=20,Bs=3,ym=7;function Iy(e,t,n,r){const i=Bt(t),o=v0(e,t,n,i),a=t.length,s=Op(e,t,n,i,o),c=["Tensor"];return r&&(c.push(` dtype: ${n}`),c.push(` rank: ${a}`),c.push(` shape: [${t}]`),c.push(" values:")),c.push(s.map(p=>" "+p).join(` `)),c.join(` -`)}function Xw(e,t,n,r){const o=te(t),i=r[r.length-1],a=new Array(i).fill(0),s=t.length,c=n==="complex64"?Xi(e):e;if(s>1)for(let p=0;psd){const L=Ki*a;let v=Array.from(e.slice(0,L)),A=Array.from(e.slice((s-Ki)*a,s*a));return n==="complex64"&&(v=Xi(v),A=Xi(A)),["["+v.map((R,N)=>Ji(R,o[N],n)).join(", ")+", ..., "+A.map((R,N)=>Ji(R,o[s-Ki+N],n)).join(", ")+"]"]}const w=n==="complex64"?Xi(e):Array.from(e);return["["+w.map((L,v)=>Ji(L,o[v],n)).join(", ")+"]"]}const p=t.slice(1),l=r.slice(1),h=r[0]*a,m=[];if(s>sd){for(let w=0;w1)for(let p=0;pTy){const L=Bs*a;let T=Array.from(e.slice(0,L)),A=Array.from(e.slice((s-Bs)*a,s*a));return n==="complex64"&&(T=js(T),A=js(A)),["["+T.map((_,N)=>Ps(_,i[N],n)).join(", ")+", ..., "+A.map((_,N)=>Ps(_,i[s-Bs+N],n)).join(", ")+"]"]}const w=n==="complex64"?js(e):Array.from(e);return["["+w.map((L,T)=>Ps(L,i[T],n)).join(", ")+"]"]}const p=t.slice(1),l=r.slice(1),u=r[0]*a,m=[];if(s>Ty){for(let w=0;w`Length of values '${r}' does not match the size inferred by the shape '${this.size}'.`)}if(t==="complex64")throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||Rp(t,this.size),this.strides=Ut(e)}set(e,...t){t.length===0&&(t=[0]),f(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);const n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(const r of e){if(r<0||r>=this.shape[t]){const o=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(o)}t++}let n=e[e.length-1];for(let r=0;rpa(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataSync(){this.throwIfDisposed();const e=Bt().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>pa(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await Bt().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){if(this.isDisposed)return;Bt().disposeTensor(this),this.isDisposedInternal=!0}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return vr.print(this,e)}clone(){return this.throwIfDisposed(),vr.clone(this)}toString(e=!1){const t=this.dataSync();return ad(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),vr.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Bt().makeVariable(this,e,t,n)}}Object.defineProperty(ne,Symbol.hasInstance,{value:e=>!!e&&e.dataId!=null&&e.shape!=null&&e.dtype!=null});class $t extends ne{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r);this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Se(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);Bt().disposeTensor(this),this.dataId=e.dataId,Bt().incRef(this,null)}dispose(){Bt().disposeVariable(this),this.isDisposedInternal=!0}}Object.defineProperty($t,Symbol.hasInstance,{value:e=>e instanceof ne&&e.assign!=null&&e.assign instanceof Function});var Fp;(function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"})(Fp||(Fp={}));var Mp;(function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"})(Mp||(Mp={}));var Up;(function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"})(Up||(Up={}));var Wp;(function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"})(Wp||(Wp={}));var Bp;(function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"})(Bp||(Bp={}));const Qw={float32:Wp,int32:Mp,bool:Up,complex64:Bp};function Ir(e,t){if(e==="string"||t==="string"){if(e==="string"&&t==="string")return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return Qw[e][t]}function ey(e){return Ir(e,"int32")}const ud={};me(ud,{assertTypesMatch:()=>$p,getTensorsInContainer:()=>Zi,isTensorInList:()=>ty,makeTypesMatch:()=>K});function K(e,t){if(e.dtype===t.dtype)return[e,t];const n=Ir(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function $p(e,t){f(e.dtype===t.dtype,()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`)}function ty(e,t){return t.some(n=>n.id===e.id)}function Zi(e){const t=[],n=new Set();return dd(e,t,n),t}function dd(e,t,n){if(e==null)return;if(e instanceof ne){t.push(e);return}if(!ny(e))return;const r=e;for(const o in r){const i=r[o];n.has(i)||(n.add(i),dd(i,t,n))}}function ny(e){return Array.isArray(e)||typeof e=="object"}class md{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap(),this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class Qi{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new md()}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;const e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){const t=aa(e);t.forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[e])})}initializeBackend(e){const t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(Promise.resolve(n)===n){const r=++this.pendingBackendInitId,o=n.then(i=>r(rthis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;tthis.startScope(n),()=>this.endScope(r),()=>(r=t(),r instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),r))}scopedRun(e,t,n){e();try{const r=n();return t(),r}catch(r){throw t(),r}}nextTensorId(){return Qi.nextTensorId++}nextVariableId(){return Qi.nextVariableId++}clone(e){const t=this.makeTensorFromDataId(e.dataId,e.shape,e.dtype),n={x:e},r=i=>({x:()=>{const a="float32",s={x:i},c={dtype:a};return g.runKernelFunc(p=>p.cast(i,a),s,null,Nn,c)}}),o=[];return this.addTapeNode(this.state.activeScope.name,n,[t],r,o,{}),t}runKernel(e,t,n,r,o){const i=null,a=null;return this.runKernelFunc(i,t,a,e,n,r,o)}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let o=0;n.forEach(s=>{o+=s.dtype==="complex64"?3:1});const i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=r-t-o-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${e}'`)}runKernelFunc(e,t,n,r,o,i,a){let s,c=[];const p=this.isTapeOn();r==null&&(r=this.state.activeScope!=null?this.state.activeScope.name:"");const l=this.state.numBytes,h=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let m;const b=Hi(r,this.backendName);let y;if(b!=null)m=()=>{const L=this.backend.numDataIds();y=b.kernelFunc({inputs:t,attrs:o,backend:this.backend});const v=Array.isArray(y)?y:[y];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,L,v);const A=v.map(({dataId:R,shape:N,dtype:O})=>this.makeTensorFromDataId(R,N,O));if(p){let R=this.getTensorsForGradient(r,t,A);if(R==null){a==null&&(a=[]);const N=A.filter((O,M)=>a[M]);R=(i||[]).slice().concat(N)}c=this.saveTensorsForBackwardMode(R)}return A};else{const L=v=>{if(!p)return;c=v.map(A=>this.keep(this.clone(A)))};m=()=>{const v=this.backend.numDataIds();y=this.tidy(()=>e(this.backend,L));const A=Array.isArray(y)?y:[y];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,v,A),A}}let w;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool("DEBUG")&&!this.state.profiling?s=m():(w=this.profiler.profileKernel(r,t,()=>m()),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(w),s=w.outputs)}),p&&this.addTapeNode(r,t,s,n,c,o),this.state.profiling&&this.state.activeProfile.kernels.push({name:r,bytesAdded:this.state.numBytes-l,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-h,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(t).map(L=>t[L]!=null?t[L].shape:null),outputShapes:s.map(L=>L.shape),kernelTimeMs:w.timeMs,extraInfo:w.extraInfo}),Array.isArray(y)?s:s[0]}saveTensorsForBackwardMode(e){const t=e.map(n=>this.keep(this.clone(n)));return t}getTensorsForGradient(e,t,n){const r=sa(e);if(r!=null){const o=r.inputsToSave||[],i=r.outputsToSave||[];let a;r.saveAllInputs?(f(Array.isArray(t),()=>"saveAllInputs is true, expected inputs to be an array."),a=Object.keys(t).map(c=>t[c])):a=o.map(c=>t[c]);const s=n.filter((c,p)=>i[p]);return a.concat(s)}return null}makeTensor(e,t,n,r){if(e==null)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let o=e;n==="string"&&Tt(e[0])&&(o=e.map(s=>_p(s)));const i=r.write(o,t,n),a=new ne(t,n,i,this.nextTensorId());if(this.incRef(a,r),n==="string"){const s=this.state.tensorInfo.get(i),c=kp(o);this.state.numBytes+=c-s.bytes,s.bytes=c}return a}makeTensorFromDataId(e,t,n,r){n=n||"float32";const o=new ne(t,n,e,this.nextTensorId());return this.incRef(o,r),o}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),r!=null&&r!==e.dtype&&(e=e.cast(r));const o=new $t(e,t,n,this.nextTensorId());if(this.state.registeredVariables[o.name]!=null)throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}incRef(e,t){const n=this.state.tensorInfo.has(e.dataId)?this.state.tensorInfo.get(e.dataId).refCount:0;if(this.state.numTensors++,e.dtype==="string"&&this.state.numStringTensors++,n===0){this.state.numDataBuffers++;let r=0;e.dtype!=="complex64"&&e.dtype!=="string"&&(r=e.size*Op(e.dtype)),this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:r,refCount:0}),this.state.numBytes+=r}this.state.tensorInfo.get(e.dataId).refCount++,e instanceof $t||this.track(e)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;this.state.numTensors--,e.dtype==="string"&&this.state.numStringTensors--;const t=this.state.tensorInfo.get(e.dataId),n=t.refCount;n<=1?(e.dtype!=="complex64"&&(this.state.numBytes-=t.bytes),this.state.numDataBuffers--,t.backend.disposeData(e.dataId),this.state.tensorInfo.delete(e.dataId)):this.state.tensorInfo.get(e.dataId).refCount--}disposeVariables(){for(const e in this.state.registeredVariables){const t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(r=>r.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const r of this.state.activeProfile.kernels)r.kernelTimeMs=await r.kernelTimeMs,r.extraInfo=await r.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,n,r,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=sa(e);s!=null&&(r=s.gradFunc),r!=null&&(a.gradient=c=>(c=c.map((p,l)=>{if(p==null){const h=n[l],m=Wt(h.size,h.dtype);return this.makeTensor(m,h.shape,h.dtype)}return p}),r(c.length>1?c:c[0],o,i))),this.state.activeTape.push(a)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=Zi(e),n=new Set(t.map(o=>o.id));for(let o=0;o{!o.kept&&o.scopeId===r.id&&this.track(o)})}gradients(e,t,n,r=!1){if(f(t.length>0,()=>"gradients() received an empty list of xs."),n!=null&&n.dtype!=="float32")throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const o=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy("forward",e));f(o instanceof ne,()=>"The result y returned by f() must be a tensor.");const i=od(this.state.activeTape,t,o);if(!r&&i.length===0&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",()=>{const a={};a[o.id]=n==null?ry(o.shape):n,id(a,i,c=>this.tidy(c),oy);const s=t.map(c=>a[c.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(c=>{for(const p of c.saved)p.dispose()}),this.state.activeTape=null),{value:o,grads:s}})}customGrad(e){return f(Mt(e),()=>"The f passed in customGrad(f) must be a function."),(...t)=>{f(t.every(o=>o instanceof ne),()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors");let n;const r={};return t.forEach((o,i)=>{r[i]=o}),this.runKernelFunc((o,i)=>(n=e(...t,i),f(n.value instanceof ne,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),f(Mt(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),r,(o,i)=>{const a=n.gradFunc(o,i),s=Array.isArray(a)?a:[a];f(s.length===t.length,()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...)."),f(s.every(p=>p instanceof ne),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");const c={};return s.forEach((p,l)=>{c[l]=()=>p}),c})}}readSync(e){const t=this.state.tensorInfo.get(e);return t.backend.readSync(e)}read(e){const t=this.state.tensorInfo.get(e);return t.backend.read(e)}async time(e){const t=ca(),n=await this.backend.time(e);return n.wallMs=ca()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new md();for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}Qi.nextTensorId=0;Qi.nextVariableId=0;function ry(e){const t=Yi(te(e),"float32");return g.makeTensor(t,e,"float32")}function iy(){const e=Nc();if(e._tfengine==null){const t=new Ic(e);e._tfengine=new Qi(t)}return Ju(e._tfengine.ENV),pd(()=>e._tfengine),e._tfengine}const g=iy();function oy(e,t){const n={a:e,b:t};return g.runKernelFunc((r,o)=>{const i=r.add(e,t);return o([e,t]),i},n,null,An)}const fd={};me(fd,{isBrowser:()=>Gp,isMobile:()=>ay});function sy(){return typeof navigator!="undefined"&&navigator!=null}function ay(){if(sy()){const e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}return!1}function Gp(){return typeof window!="undefined"&&window.document!=null||typeof WorkerGlobalScope!="undefined"}const Yt=ce();Yt.registerFlag("DEBUG",()=>!1,e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")});Yt.registerFlag("IS_BROWSER",()=>Gp());Yt.registerFlag("IS_NODE",()=>typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.node!="undefined");Yt.registerFlag("IS_CHROME",()=>typeof navigator!="undefined"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));Yt.registerFlag("PROD",()=>!1);Yt.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",()=>Yt.getBool("DEBUG"));Yt.registerFlag("DEPRECATION_WARNINGS_ENABLED",()=>!0);Yt.registerFlag("IS_TEST",()=>!1);function Fe(e,t){let n=e;if(Ne(e))return t==="string"?[]:[e.length];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||Ne(n)&&t!=="string";)r.push(n.length),n=n[0];return Array.isArray(e)&&ce().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&gd(e,r,[]),r}function gd(e,t,n){if(n=n||[],!Array.isArray(e)&&!Ne(e)){f(t.length===0,()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}f(t.length>0,()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`),f(e.length===t[0],()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`);const r=t.slice(1);for(let o=0;o=0&&(o=r),bd(r,o,t,n),e==null||!Ne(e)&&!Array.isArray(e)&&typeof e!="number"&&typeof e!="boolean"&&typeof e!="string"){const c=e==null?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${c}'`)}const i=Fe(e,o);!Ne(e)&&!Array.isArray(e)&&(e=[e]);const a=!0,s=o!=="string"?zi(e,o):Ft(e,[],a);return g.makeTensor(s,i,o)}function Vt(e,t,n,r="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);const o=e;return o.map((i,a)=>u(i,`${t}[${a}]`,n),r)}function d(e){const t=Object.keys(e);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1));const o=(...i)=>{g.startScope(n);try{const a=r(...i);return a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),g.endScope(a),a}catch(a){throw g.endScope(null),a}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}function cy(e){const t=u(e,"x","abs"),n={x:t};return g.runKernelFunc((r,o)=>(o([t]),t.dtype==="complex64"?r.complexAbs(t):r.abs(t)),n,null,so)}const Ce=d({abs_:cy});function py(e){const t=u(e,"x","acos"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.acos(t);return o([t]),i},n,null,ao)}const jp=d({acos_:py});function ly(e){const t=u(e,"x","acosh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.acosh(t);return o([t]),i},n,null,co)}const Pp=d({acosh_:ly});function hy(e,t){let n=u(e,"a","add"),r=u(t,"b","add");[n,r]=K(n,r);const o=(a,s)=>{const c=a.add(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,An)}const C=d({add_:hy});function uy(e){f(Array.isArray(e),()=>"The argument passed to tf.addN() must be a list of tensors"),f(e.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`);const t=e.map((i,a)=>u(i,`tensors${a}`,"addN")),n=t[0];t.forEach(i=>{if(i.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),t.forEach(i=>{if(!Se(i.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});const r=(i,a)=>{const s=i.addN(t);return a(t),s},o=t;return g.runKernelFunc(r,o,null,po)}const qp=d({addN_:uy});function Hp(e,t){for(let n=0;ne[i]);return[n,o]}function we(e,t){const n=t.map(r=>1);return wd(e,n,t)}function dy(e,t,n){f(Hp(t,n),()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`)}function fe(e,t){if(Hp(e,t))return null;const n=[];for(let r=0;rn.push(r)),n}function En(e){return e.map((t,n)=>[n,t]).sort((t,n)=>t[1]-n[1]).map(t=>t[0])}function De(e,t){const n=[];for(let r=t-e;r"new shape and old shape must have the same number of elements.");const r={x:n},o={shape:t},i=(a,s)=>(s([n]),a.reshape(n,t));return g.runKernelFunc(i,r,null,mi,o)}const x=d({reshape_:my});function fy(e,t){const n=u(e,"x","transpose");if(t==null&&(t=n.shape.map((i,a)=>a).reverse()),f(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{f(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();const r={x:n},o={perm:t};return g.runKernelFunc(i=>i.transpose(n,t),r,null,Bi,o)}const Z=d({transpose_:fy});function gy(e,t=null,n=!1){let r=u(e,"x","all","bool");const o=s=>{const c=z(t,r.shape);let p=c;const l=fe(p,r.rank);l!=null&&(r=Z(r,l),p=De(p.length,r.rank));const h=s.all(r,p);if(n){const m=we(h.shape,c);return x(h,m)}return h},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Cc,a)}const Yp=d({all_:gy});function by(e,t=null,n=!1){let r=u(e,"x","any","bool");const o=s=>{const c=z(t,r.shape);let p=c;const l=fe(p,r.rank);l!=null&&(r=Z(r,l),p=De(p.length,r.rank));const h=s.any(r,p);if(n){const m=we(h.shape,c);return x(h,m)}return h},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Ec,a)}const Vp=d({any_:by});function wy(e,t=0){let n=u(e,"x","argMax");const r=(a,s)=>{s([n]);let c=z(t,n.shape);const p=fe(c,n.rank);return p!=null&&(n=Z(n,p),c=De(c.length,n.rank)),a.argMax(n,c[0])},o={x:n},i={axis:t};return g.runKernelFunc(r,o,null,lo,i)}const Kp=d({argMax_:wy});function yy(e,t=0){let n=u(e,"x","argMin");const r=(a,s)=>{s([n]),t==null&&(t=0);let c=z(t,n.shape);const p=fe(c,n.rank);return p!=null&&(n=Z(n,p),c=De(c.length,n.rank)),a.argMin(n,c[0])},o={x:n},i={axis:t};return g.runKernelFunc(r,o,null,ho,i)}const Jp=d({argMin_:yy});function xy(e){const t=u(e,"x","asin"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.asin(t);return o([t]),i},n,null,uo)}const Xp=d({asin_:xy});function Ly(e){const t=u(e,"x","asinh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.asinh(t);return o([t]),i},n,null,mo)}const Zp=d({asinh_:Ly});function Sy(e){const t=u(e,"x","atan"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.atan(t);return o([t]),i},n,null,fo)}const Qp=d({atan_:Sy});function vy(e,t){let n=u(e,"a","atan2"),r=u(t,"b","atan2");[n,r]=K(n,r);const o=(a,s)=>{const c=a.atan2(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,bo)}const el=d({atan2_:vy});function Iy(e){const t=u(e,"x","atanh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.atanh(t);return o([t]),i},n,null,go)}const tl=d({atanh_:Iy});function Ty(e,t){const n=u(e,"x","cast");if(!Cp(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t==="string"&&n.dtype!=="string"||t!=="string"&&n.dtype==="string")throw new Error("Only strings can be casted to strings");const r={x:n},o={dtype:t};return g.runKernelFunc(i=>i.cast(n,t),r,null,Nn,o)}const E=d({cast_:Ty});function Ay(e,t,n,r,o="NHWC",i){const a=e[3],s=[...t,a],c=hn(o);return $e(e,s,n,i,r,null,null,c)}function At(e,t,n,r,o,i,a="channelsLast"){const[s,c]=ha(t);let p;if(a==="channelsLast")p=[s,c,e[3],e[3]];else if(a==="channelsFirst")p=[s,c,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return $e(e,p,n,r,o,i,!1,a)}function Kt(e,t,n,r,o,i,a="NDHWC"){const[s,c,p]=nl(t);let l,h;if(a==="NDHWC")h="channelsLast",l=[s,c,p,e[4],e[4]];else if(a==="NCDHW")h="channelsFirst",l=[s,c,p,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return un(e,l,n,r,o,!1,h,i)}function $e(e,t,n,r,o,i,a=!1,s="channelsLast"){let[c,p,l,h]=[-1,-1,-1,-1];if(s==="channelsLast")[c,p,l,h]=e;else if(s==="channelsFirst")[c,h,p,l]=e;else throw new Error(`Unknown dataFormat ${s}`);const[m,b,,y]=t,[w,L]=ha(n),[v,A]=ha(r),R=Tr(m,v),N=Tr(b,A),{padInfo:O,outHeight:M,outWidth:D}=Ny(o,p,l,w,L,R,N,i,s),G=a?y*h:y;let $;return s==="channelsFirst"?$=[c,G,M,D]:s==="channelsLast"&&($=[c,M,D,G]),{batchSize:c,dataFormat:s,inHeight:p,inWidth:l,inChannels:h,outHeight:M,outWidth:D,outChannels:G,padInfo:O,strideHeight:w,strideWidth:L,filterHeight:m,filterWidth:b,effectiveFilterHeight:R,effectiveFilterWidth:N,dilationHeight:v,dilationWidth:A,inShape:e,outShape:$,filterShape:t}}function un(e,t,n,r,o,i=!1,a="channelsLast",s){let[c,p,l,h,m]=[-1,-1,-1,-1,-1];if(a==="channelsLast")[c,p,l,h,m]=e;else if(a==="channelsFirst")[c,m,p,l,h]=e;else throw new Error(`Unknown dataFormat ${a}`);const[b,y,w,,L]=t,[v,A,R]=nl(n),[N,O,M]=nl(r),D=Tr(b,N),G=Tr(y,O),$=Tr(w,M),{padInfo:j,outDepth:oe,outHeight:ie,outWidth:ue}=Ry(o,p,l,h,v,A,R,D,G,$,s),Ae=i?L*m:L;let Pe;return a==="channelsFirst"?Pe=[c,Ae,oe,ie,ue]:a==="channelsLast"&&(Pe=[c,oe,ie,ue,Ae]),{batchSize:c,dataFormat:a,inDepth:p,inHeight:l,inWidth:h,inChannels:m,outDepth:oe,outHeight:ie,outWidth:ue,outChannels:Ae,padInfo:j,strideDepth:v,strideHeight:A,strideWidth:R,filterDepth:b,filterHeight:y,filterWidth:w,effectiveFilterDepth:D,effectiveFilterHeight:G,effectiveFilterWidth:$,dilationDepth:N,dilationHeight:O,dilationWidth:M,inShape:e,outShape:Pe,filterShape:t}}function Cy(e,t,n,r,o){r==null&&(r=rl(e,t,n));const i=e[0],a=e[1],s=On((i-t+2*r)/n+1,o);f(X(s),()=>`The output # of rows (${s}) must be an integer. Change the stride and/or zero pad parameters`);const c=On((a-t+2*r)/n+1,o);return f(X(c),()=>`The output # of columns (${c}) must be an integer. Change the stride and/or zero pad parameters`),[s,c]}function Ey(e,t,n,r,o,i){o==null&&(o=rl(e,t,r));const a=e[0],s=e[1],c=e[2],p=On((a-t+2*o)/r+1,i);f(X(p),()=>`The output # of depths (${p}) must be an integer. Change the stride and/or zero pad parameters`);const l=On((s-t+2*o)/r+1,i);f(X(l),()=>`The output # of rows (${l}) must be an integer. Change the stride and/or zero pad parameters`);const h=On((c-t+2*o)/r+1,i);return f(X(h),()=>`The output # of columns (${h}) must be an integer. Change the stride and/or zero pad parameters`),[p,l,h,n]}function rl(e,t,n,r=1){const o=Tr(t,r);return Math.floor((e[0]*(n-1)-n+o)/2)}function ha(e){return typeof e=="number"?[e,e,e]:e.length===2?[e[0],e[1],1]:e}function nl(e){return typeof e=="number"?[e,e,e]:e}function Tr(e,t){return t<=1?e:e+(e-1)*(t-1)}function Ny(e,t,n,r,o,i,a,s,c){let p,l,h;if(typeof e=="number"){const m=e===0?"VALID":"NUMBER";p={top:e,bottom:e,left:e,right:e,type:m};const b=Cy([t,n],i,r,e,s);l=b[0],h=b[1]}else if(e==="same"){l=Math.ceil(t/r),h=Math.ceil(n/o);const m=Math.max(0,(l-1)*r+i-t),b=Math.max(0,(h-1)*o+a-n),y=Math.floor(m/2),w=m-y,L=Math.floor(b/2),v=b-L;p={top:y,bottom:w,left:L,right:v,type:"SAME"}}else if(e==="valid")p={top:0,bottom:0,left:0,right:0,type:"VALID"},l=Math.ceil((t-i+1)/r),h=Math.ceil((n-a+1)/o);else if(typeof e=="object"){const m=c==="channelsLast"?e[1][0]:e[2][0],b=c==="channelsLast"?e[1][1]:e[2][1],y=c==="channelsLast"?e[2][0]:e[3][0],w=c==="channelsLast"?e[2][1]:e[3][1],L=m===0&&b===0&&y===0&&w===0?"VALID":"EXPLICIT";p={top:m,bottom:b,left:y,right:w,type:L},l=On((t-i+m+b)/r+1,s),h=On((n-a+y+w)/o+1,s)}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:p,outHeight:l,outWidth:h}}function Ry(e,t,n,r,o,i,a,s,c,p,l){let h,m,b,y;if(typeof e=="number"){const w=e===0?"VALID":"NUMBER";h={top:e,bottom:e,left:e,right:e,front:e,back:e,type:w};const L=Ey([t,n,r,1],s,1,o,e,l);m=L[0],b=L[1],y=L[2]}else if(e==="same"){m=Math.ceil(t/o),b=Math.ceil(n/i),y=Math.ceil(r/a);const w=(m-1)*o+s-t,L=(b-1)*i+c-n,v=(y-1)*a+p-r,A=Math.floor(w/2),R=w-A,N=Math.floor(L/2),O=L-N,M=Math.floor(v/2),D=v-M;h={top:N,bottom:O,left:M,right:D,front:A,back:R,type:"SAME"}}else if(e==="valid")h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},m=Math.ceil((t-s+1)/o),b=Math.ceil((n-c+1)/i),y=Math.ceil((r-p+1)/a);else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:h,outDepth:m,outHeight:b,outWidth:y}}function On(e,t){if(!t)return e;switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function lt(e){const[t,n,r]=ha(e);return t===1&&n===1&&r===1}function pe(e,t){return lt(e)||lt(t)}function hn(e){if(e==="NHWC")return"channelsLast";if(e==="NCHW")return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function Oy(e,t,n,r,o){const i=u(e,"x","avgPool","float32"),a=1;f(pe(n,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`);let s=i,c=!1;i.rank===3&&(c=!0,s=x(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(s.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${s.rank}.`),o!=null&&f(X(r),()=>`Error in avgPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const p=(b,y)=>{const w=At(s.shape,t,n,1,r,o);return y([s]),w.filterWidth===1&&w.filterHeight===1&&Se(w.inShape,w.outShape)?s.clone():b.avgPool(s,w)},l={x:s},h={filterSize:t,strides:n,pad:r,dimRoundingMode:o};let m=g.runKernelFunc(p,l,null,wo,h);return m=E(m,i.dtype),c?x(m,[m.shape[1],m.shape[2],m.shape[3]]):m}const ht=d({avgPool_:Oy});function ky(){ce().set("PROD",!0)}function _y(){ce().set("DEBUG",!0)}function Dy(){ce().set("DEPRECATION_WARNINGS_ENABLED",!1),console.warn("TensorFlow.js deprecation warnings have been disabled.")}function xe(e){ce().getBool("DEPRECATION_WARNINGS_ENABLED")&&console.warn(e+" You can disable deprecation warnings with tf.disableDeprecationWarnings().")}hd(xe);function Fy(){g.disposeVariables()}function My(){return g}function Uy(){return g.memory()}function Wy(e){return g.profile(e)}function F(e,t){return g.tidy(e,t)}function Le(e){const t=Zi(e);t.forEach(n=>n.dispose())}function ol(e){return g.keep(e)}function By(e){return g.time(e)}function $y(e){return g.setBackend(e)}function Gy(){return g.ready()}function jy(){return g.backendName}function Py(e){g.removeBackend(e)}function qy(e){return g.findBackend(e)}function Hy(e){return g.findBackendFactory(e)}function zy(e,t,n=1){return g.registerBackend(e,t,n)}function Yy(){return g.backend}function Vy(e,t){ce().setPlatform(e,t)}function Ky(e,t,n,r,o,i="NDHWC",a){a==null?a=[1,1,1]:xe("dilations is deprecated, this field will be gone in v3.0.0.");const s=u(e,"x","avgPool3d","float32");let c=s,p=!1;s.rank===4&&(p=!0,c=x(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${c.rank}.`),f(i==="NDHWC",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`),f(pe(n,a),()=>`Error in avgPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const l=(y,w)=>{a==null&&(a=[1,1,1]);const L=Kt(c.shape,t,n,a,r,o,i);return w([c]),y.avgPool3d(c,L)},h={x:c},m={filterSize:t,strides:n,pad:r,dimRoundingMode:o,dataFormat:i,dilations:a};let b=g.runKernelFunc(l,h,null,yo,m);return b=E(b,c.dtype),p?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const il=d({avgPool3d_:Ky});function sl(e,t){const n=e[0].length;e.forEach((o,i)=>{f(o.length===n,()=>`Error in concat${n}D: rank of tensors[${i}] must be the same as the rank of the rest (${n})`)}),f(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`);const r=e[0];e.forEach((o,i)=>{for(let a=0;a`Error in concat${n}D: Shape of tensors[${i}] (${o}) does not match the shape of the rest (${r}) along the non-concatenated axis ${i}.`)})}function al(e,t){const n=e[0].slice();for(let r=1;r`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${i}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `)}}return!Ne(e)&&!Array.isArray(e)&&(e=[e]),t=t||n,e=r!=="string"?zi(e,r):Ft(e,[],!0),g.makeTensor(e,t,r)}function Ye(e,t,n){const r=Fe(e,n);return ze(e,t,r,n)}function Jy(e,t=0){f(e.length>=1,()=>"Pass at least one tensor to concat");let n=Vt(e,"tensors","concat");n[0].dtype==="complex64"&&n.forEach(p=>{if(p.dtype!=="complex64")throw new Error(`Cannot concatenate complex64 tensors with a tensor - with dtype ${p.dtype}. `)});const r=z(t,n[0].shape)[0],o=al(n.map(p=>p.shape),r);if(te(o)===0)return Ye([],o);if(n=n.filter(p=>p.size>0),n.length===1)return n[0];const i=n.map(p=>p.shape);sl(i,r);const a=(p,l)=>{const h=p.concat(n,r);return l(n),h},s=n,c={axis:t};return g.runKernelFunc(a,s,null,To,c)}const Q=d({concat_:Jy});function Xy(e,t,n=!1,r=!1){let o=u(e,"a","matMul"),i=u(t,"b","matMul");[o,i]=K(o,i),f(o.rank>=2&&i.rank>=2&&o.rank===i.rank,()=>`Error in matMul: inputs must have the same rank of at least 2, got ranks ${o.rank} and ${i.rank}.`);const a=n?o.shape[o.rank-2]:o.shape[o.rank-1],s=r?i.shape[i.rank-1]:i.shape[i.rank-2],c=n?o.shape[o.rank-1]:o.shape[o.rank-2],p=r?i.shape[i.rank-2]:i.shape[i.rank-1],l=o.shape.slice(0,-2),h=i.shape.slice(0,-2),m=te(l),b=te(h);f(Se(l,h),()=>`Error in matMul: outer dimensions (${l}) and (${h}) of Tensors with shapes ${o.shape} and ${i.shape} must match.`),f(a===s,()=>`Error in matMul: inner shapes (${a}) and (${s}) of Tensors with shapes ${o.shape} and ${i.shape} and transposeA=${n} and transposeB=${r} must match.`);const y=o.shape.slice(0,-2).concat([c,p]),w=n?x(o,[m,a,c]):x(o,[m,c,a]),L=r?x(i,[b,p,s]):x(i,[b,s,p]),v=(O,M)=>(M([w,L]),O.batchMatMul(w,L,n,r)),A={a:w,b:L},R={transposeA:n,transposeB:r},N=g.runKernelFunc(v,A,null,xo,R);return x(N,y)}const Y=d({matMul_:Xy});function Zy(e,t){let n=u(e,"a","mul"),r=u(t,"b","mul");[n,r]=K(n,r);const o=(a,s)=>{const c=a.multiply(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,ii)}const S=d({mul_:Zy});function Qy(e){const t=u(e,"x","sigmoid"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sigmoid(t);return o([i]),i},n,null,Ni)}const Nt=d({sigmoid_:Qy});const yd={};me(yd,{assertParamsValid:()=>cl,computeFlatOffset:()=>tx,computeOutShape:()=>pl,isSliceContinous:()=>ex,maskToAxes:()=>es,parseSliceParams:()=>ts,startForAxis:()=>ml,startIndicesWithElidedDims:()=>hl,stopForAxis:()=>fl,stopIndicesWithElidedDims:()=>ul,stridesForAxis:()=>dl,stridesWithElidedDims:()=>ll});function cl(e,t,n){f(e.rank===t.length,()=>`Error in slice${e.rank}D: Length of begin ${t} must match the rank of the array (${e.rank}).`),f(e.rank===n.length,()=>`Error in slice${e.rank}D: Length of size ${n} must match the rank of the array (${e.rank}).`);for(let r=0;r`Error in slice${e.rank}D: begin[${r}] + size[${r}] (${t[r]+n[r]}) would overflow input.shape[${r}] (${e.shape[r]})`)}function es(e){const t=[];let n=0;for(;e>0;)e&1&&t.push(n),e/=2,n++;return t}function pl(e,t,n){const r=[];for(let o=0;o-1)i[s]=0;else{const c=xd(t,n,s);let p=r[c];e&1<-1)i[s]=Number.MAX_SAFE_INTEGER;else{const c=xd(t,n,s);let p=r[c];e&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);const c=r[o];return a<0&&(a+=c),a=wr(0,a,c-1),a}function fl(e,t,n,r,o,i){let a=t[o];const s=n[o]||1;(e&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);const c=r[o];return a<0&&(a+=c),s>0?a=wr(0,a,c):a=wr(-1,a,c-1),a}function ex(e,t,n){let r=n.length;for(let o=0;o1){r=o;break}for(let o=r+1;o0||n[o]!==e[o])return!1;return!0}function tx(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r{f(i!==-1,()=>"slice() does not support negative begin indexing.")});let o;return n==null?o=new Array(e.rank).fill(-1):typeof n=="number"?o=[n,...new Array(e.rank-1).fill(-1)]:n.lengthi>=0?i:(f(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),e.shape[a]-r[a])),[r,o]}function nx(e,t,n){const r=u(e,"x","slice");if(r.rank===0)throw new Error("Slicing scalar is not possible");const[o,i]=ts(r,t,n);cl(r,o,i);const a=(p,l)=>(l([r]),p.slice(r,o,i)),s={x:r},c={begin:t,size:n};return g.runKernelFunc(a,s,null,vi,c)}const V=d({slice_:nx});function rx(e){const t=u(e,"x","tanh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.tanh(t);return o([i]),i},n,null,Ui)}const Ar=d({tanh_:rx});function ox(e,t,n,r,o,i){const a=u(e,"forgetBias","basicLSTMCell"),s=u(t,"lstmKernel","basicLSTMCell"),c=u(n,"lstmBias","basicLSTMCell"),p=u(r,"data","basicLSTMCell"),l=u(o,"c","basicLSTMCell"),h=u(i,"h","basicLSTMCell"),m=Q([p,h],1),b=Y(m,s),y=C(b,c),w=y.shape[0],L=y.shape[1]/4,v=[w,L],A=V(y,[0,0],v),R=V(y,[0,L],v),N=V(y,[0,L*2],v),O=V(y,[0,L*3],v),M=C(S(Nt(A),Ar(R)),S(l,Nt(C(a,N)))),D=S(Ar(M),Nt(O));return[M,D]}const gl=d({basicLSTMCell_:ox});function ix(e,t,n){const r=u(e,"x","batchToSpaceND"),o=t.reduce((c,p)=>c*p);f(r.rank>=1+t.length,()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`),f(n.length===t.length,()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`),f(r.shape[0]%o===0,()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${o}`);const i=c=>c.batchToSpaceND(r,t,n),a={x:r},s={blockShape:t,crops:n};return g.runKernelFunc(i,a,null,Lo,s)}const kn=d({batchToSpaceND_:ix});function Sd(e){let t;return e.rank===0||e.rank===1?t=x(e,[1,1,1,e.size]):e.rank===2?t=x(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?t=x(e,[1,e.shape[0],e.shape[1],e.shape[2]]):t=e,t}function sx(e,t,n,r,o,i){i==null&&(i=.001);const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;r!=null&&(l=u(r,"offset","batchNorm")),f(s.rank===c.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),f(l==null||s.rank===l.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),f(p==null||s.rank===p.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");const h=Sd(a),m=(L,v)=>(v([h,s,c,p]),L.batchNorm(h,ua(s),ua(c),ua(l),ua(p),i)),b={x:h,scale:p,offset:l,mean:s,variance:c},y={varianceEpsilon:i},w=g.runKernelFunc(m,b,null,Go,y);return x(w,a.shape)}function ua(e){return e==null?null:e.rank===0?x(e,[e.size]):e.rank===1?e:e.rank===2?x(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?x(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e}const Jt=d({batchNorm_:sx});function ax(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),f(s.rank===2||s.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${s.rank}.`),f(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===2||p.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${l.rank}.`),Jt(a,s,c,l,p,i)}const bl=d({batchNorm2d_:ax});function cx(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),f(s.rank===3||s.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${s.rank}.`),f(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===3||p.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${l.rank}.`),Jt(a,s,c,l,p,i)}const wl=d({batchNorm3d_:cx});function px(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),f(s.rank===4||s.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${s.rank}.`),f(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===4||p.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${l.rank}.`),Jt(a,s,c,l,p,i)}const yl=d({batchNorm4d_:px});function lx(e){const t=u(e,"x","clone",null),n=()=>g.makeTensorFromDataId(t.dataId,t.shape,t.dtype),r={x:t};return g.runKernelFunc(n,r,null,qo)}const Rt=d({clone_:lx});function hx(e,t){let n=u(e,"broadcastTo","x");const r=n.shape;if(t.some(l=>!(l>0)||l%1!==0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){const l=n.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])i[l]=1;else if(n.shape[l]!==1)throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);const a=i.map((l,h)=>l>1?h:-1).filter(l=>l>=0);if(a.length===0)return Rt(n);const s=l=>l.tile(n,i),c={x:n},p={shape:t,inputShape:o};return g.runKernelFunc(s,c,null,So,p)}const Nr=d({broadcastTo_:hx});function Me(e,t="float32",n){return t=t||"float32",Vi(e),new Sr(e,t,n)}function ux(e){const t=u(e,"x","ceil"),n={x:t};return g.runKernelFunc(r=>r.ceil(t),n,null,vo)}const xl=d({ceil_:ux});function dx(e,t,n){const r=u(e,"x","clipByValue");f(t<=n,()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`);const o={x:r},i={clipValueMin:t,clipValueMax:n};return g.runKernelFunc((a,s)=>{const c=a.clip(r,t,n);return s([r]),c},o,null,Io,i)}const Ll=d({clipByValue_:dx});function mx(e,t){const n=u(e,"real","complex"),r=u(t,"imag","complex");P(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const o=a=>a.complex(n,r),i={real:n,imag:r};return g.runKernelFunc(o,i,null,_c)}const Ve=d({complex_:mx});function fx(e){return Q(e,0)}const Sl=d({concat1d_:fx});function gx(e,t){return Q(e,t)}const vl=d({concat2d_:gx});function bx(e,t){return Q(e,t)}const Il=d({concat3d_:bx});function wx(e,t){return Q(e,t)}const Tl=d({concat4d_:wx});function yx(e,t,n,r,o="NHWC",i=[1,1],a){const s=u(e,"x","conv2d"),c=u(t,"filter","conv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=x(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${c.rank}.`),a!=null&&f(X(r),()=>`Error in conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const h=o==="NHWC"?p.shape[3]:p.shape[1];f(h===c.shape[2],()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${c.shape[2]}.`),f(pe(n,i),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);const m=(L,v)=>{const A=hn(o),R=$e(p.shape,c.shape,n,i,r,a,!1,A),N=L.conv2d(p,c,R);return v([p,c]),N},b={x:p,filter:c},y={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a},w=g.runKernelFunc(m,b,null,Ao,y);return l?x(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const ve=d({conv2d_:yx});function xx(e,t,n,r,o="NWC",i=1,a){const s=u(e,"x","conv1d"),c=u(t,"filter","conv1d");let p=s,l=!1;s.rank===2&&(l=!0,p=x(s,[1,s.shape[0],s.shape[1]])),f(p.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${p.rank}.`),f(c.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${c.rank}.`),a!=null&&f(X(r),()=>`Error in conv1d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(p.shape[2]===c.shape[1],()=>`Error in conv1d: depth of input (${p.shape[2]}) must match input depth for filter ${c.shape[1]}.`),f(pe(n,i),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${i}'`),f(o==="NWC",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);const h=x(c,[1,c.shape[0],c.shape[1],c.shape[2]]),m=x(p,[p.shape[0],1,p.shape[1],p.shape[2]]),b=[1,n],y=[1,i],w="NHWC",L=ve(m,h,b,r,w,y,a);return l?x(L,[L.shape[2],L.shape[3]]):x(L,[L.shape[0],L.shape[2],L.shape[3]])}const Al=d({conv1d_:xx});function Lx(e,t,n,r,o,i="NHWC",a){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let s=e,c=t,p=!1;t.rank===3&&(p=!0,c=x(t,[1,t.shape[0],t.shape[1],t.shape[2]]),s=[1,e[0],e[1],e[2]]),f(s.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${s.length}.`),f(c.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${c.rank}`),f(n.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`);const l=i==="NHWC"?s[3]:s[1],h=i==="NHWC"?c.shape[3]:c.shape[1];f(l===n.shape[2],()=>`Error in conv2dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[2]}.`),f(h===n.shape[3],()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`),a!=null&&f(X(o),()=>`Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const m=(L,v)=>{const A=1,R=hn(i),N=$e(s,n.shape,r,A,o,a,!1,R),O=L.conv2dDerInput(c,n,N);return v([c,n]),O},b={dy:c,filter:n},y={strides:r,pad:o,dataFormat:i,dimRoundingMode:a,inputShape:s},w=g.runKernelFunc(m,b,null,No,y);return p?x(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const Rr=d({conv2DBackpropInput_:Lx});function Sx(e,t,n,r,o,i){const a=u(e,"x","conv2dTranspose"),s=u(t,"filter","conv2dTranspose");return Rr(n,a,s,r,o,"NHWC",i)}const Nl=d({conv2dTranspose_:Sx});function vx(e,t,n,r,o="NDHWC",i=[1,1,1]){const a=u(e,"x","conv3d"),s=u(t,"filter","conv3d");let c=a,p=!1;a.rank===4&&(p=!0,c=x(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),f(c.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${c.rank}.`),f(s.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${s.rank}.`),f(c.shape[4]===s.shape[3],()=>`Error in conv3d: depth of input (${c.shape[4]}) must match input depth for filter ${s.shape[3]}.`),f(pe(n,i),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),f(o==="NDHWC",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`);const l=(y,w)=>{const L=un(c.shape,s.shape,n,i,r),v=y.conv3d(c,s,L);return w([c,s]),v},h={x:c,filter:s},m={strides:n,pad:r,dataFormat:o,dilations:i},b=g.runKernelFunc(l,h,null,Ro,m);return p?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Rl=d({conv3d_:vx});function Ix(e,t,n,r,o){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let i=e,a=t,s=!1;t.rank===4&&(s=!0,a=x(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),i=[1,e[0],e[1],e[2],e[3]]);const c=i[4],p=a.shape[4];f(i.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${i.length}.`),f(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),f(n.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`),f(c===n.shape[3],()=>`Error in conv3dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[3]}.`),f(p===n.shape[4],()=>`Error in conv3dDerInput: depth of output (${p}) must match output depth for filter ${n.shape[4]}.`);const l=y=>{const w=1,L=un(i,n.shape,r,w,o);return y.conv3dDerInput(a,n,L)},h={dy:a},m={pad:o},b=g.runKernelFunc(l,h,null,Mc,m);return s?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const da=d({conv3DBackpropInput_:Ix});function Tx(e,t,n,r,o){const i=u(e,"x","conv3dTranspose"),a=u(t,"filter","conv3dTranspose");return da(n,i,a,r,o)}const Cl=d({conv3dTranspose_:Tx});function Ax(e){const t=u(e,"x","cos"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.cos(t);return o([t]),i},n,null,Co)}const _n=d({cos_:Ax});function Nx(e){const t=u(e,"x","cosh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.cosh(t);return o([t]),i},n,null,Eo)}const ns=d({cosh_:Nx});function Rx(e,t=0,n=!1,r=!1){const o=u(e,"x","cumsum"),i=(c,p)=>{const l=fe([t],o.rank);let h=o;l!=null&&(h=Z(o,l));const m=De(1,o.rank)[0];let b=c.cumsum(h,m,n,r);if(p([o]),l!=null){const y=En(l);b=Z(b,y)}return b},a={x:o},s={axis:t,exclusive:n,reverse:r};return g.runKernelFunc(i,a,null,Oo,s)}const rs=d({cumsum_:Rx});function Cx(e,t,n="NHWC"){const r=u(e,"x","depthToSpace"),o=n==="NHWC"?r.shape[1]:r.shape[2],i=n==="NHWC"?r.shape[2]:r.shape[3],a=n==="NHWC"?r.shape[3]:r.shape[1];f(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying - ${o} and ${t} for depthToSpace with input shape - ${r.shape}`),f(i*t>=0,()=>`Negative dimension size caused by overflow when multiplying - ${i} and ${t} for depthToSpace with input shape - ${r.shape}`),f(a%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${a} for depthToSpace with input shape ${r.shape}`);const s=l=>l.depthToSpace(r,t,n),c={x:r},p={blockSize:t,dataFormat:n};return g.runKernelFunc(s,c,null,Wc,p)}const El=d({depthToSpace_:Cx});function Ex(e,t,n,r,o="NHWC",i=[1,1],a){const s=u(e,"x","depthwiseConv2d"),c=u(t,"filter","depthwiseConv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=x(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[3]===c.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p.shape[3]}) must match the inChannels dimension in filter ${c.shape[2]}.`),a!=null&&f(X(r),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const h=(w,L)=>{i==null&&(i=[1,1]),f(pe(n,i),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);const v=$e(p.shape,c.shape,n,i,r,a,!0),A=w.depthwiseConv2D(p,c,v);return L([p,c]),A},m={x:p,filter:c},b={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a},y=g.runKernelFunc(h,m,null,ko,b);return l?x(y,[y.shape[1],y.shape[2],y.shape[3]]):y}const Dn=d({depthwiseConv2d_:Ex});function Ox(e){const t=u(e,"x","diag"),n=o=>{const i=x(t,[t.size]),a=o.diag(i),s=[...e.shape,...e.shape];return x(a,s)},r={x:t};return g.runKernelFunc(n,r,null,Gc)}const Ol=d({diag_:Ox});function kx(e,t,n,r,o=[1,1],i="NHWC"){const a=u(e,"x","dilation2d"),s=u(t,"filter","dilation2d");f(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),f(s.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${s.rank}.`),f(i==="NHWC",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${i}`);let c=a,p=!1;a.rank===3&&(c=x(a,[1,a.shape[0],a.shape[1],a.shape[2]]),p=!0);const l={x:c,filter:s},h={strides:n,pad:r,dilations:o},m=g.runKernel(_o,l,h);return p?x(m,[m.shape[1],m.shape[2],m.shape[3]]):m}const kl=d({dilation2d_:kx});function _x(e,t){let n=u(e,"a","floorDiv"),r=u(t,"b","floorDiv");[n,r]=K(n,r);const o=(a,s)=>{const c=a.floorDiv(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,$o)}const os=d({floorDiv_:_x});function Dx(e,t){let n=u(e,"a","div"),r=u(t,"b","div");if([n,r]=K(n,r),n.dtype==="int32"&&r.dtype==="int32")return os(n,r);const o=(s,c)=>{const p=s.realDivide(n,r);return c([n,r]),p},i={a:n,b:r},a={};return g.runKernelFunc(o,i,null,Do,a)}const U=d({div_:Dx});function Fx(e,t){const n=e.length,r=[];for(let o=0;o1&&a===1&&r.unshift(i)}return r}function ae(e,t){const n=[];for(let r=0;r1)&&n.unshift(i)}return n}function q(e,t){const n=[],r=Math.max(e.length,t.length);for(let o=0;oa.equal(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Hc)}const Xt=d({equal_:Mx});function Ux(e,t,n){const r=u(t,"a","where"),o=u(n,"b","where"),i=u(e,"condition","where","bool"),a=q(r.shape,o.shape),s=Nr(r,a),c=Nr(o,a);i.rank===1&&f(i.shape[0]===r.shape[0],()=>"The first dimension of `a` must match the size of `condition`."),i.rank!==1&&P(i.shape,c.shape,"Error in where: ");const p=(h,m)=>{const b=h.select(i,s,c);return m([i]),b},l={condition:i,t:s,e:c};return g.runKernelFunc(p,l,null,Li)}const Ee=d({where_:Ux});function Wx(e){const t=u(e,"x","zerosLike"),n={x:t};return g.runKernelFunc(r=>r.zerosLike(t),n,null,ji)}const B=d({zerosLike_:Wx});function Bx(e,t){let n=u(e,"a","div"),r=u(t,"b","div");[n,r]=K(n,r);const o=U(n,r),i=B(o),a=Xt(r,i);return Ee(a,i,o)}const _l=d({divNoNan_:Bx});function $x(e,t){const n=u(e,"t1","dot"),r=u(t,"t2","dot");f((n.rank===1||n.rank===2)&&(r.rank===1||r.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`);const o=n.rank===1?n.size:n.shape[1],i=r.rank===1?r.size:r.shape[0];if(f(o===i,()=>`Error in dot: inner dimensions of inputs must match, but got ${o} and ${i}.`),n.rank===1&&r.rank===1){const a=x(n,[1,-1]),s=x(r,[-1,1]),c=Y(a,s);return x(c,[])}else if(n.rank===1&&r.rank===2){const a=x(n,[1,-1]),s=x(r,[r.shape[0],r.shape[1]]),c=Y(a,s);return x(c,[c.size])}else if(n.rank===2&&r.rank===1){const a=x(r,[-1,1]),s=Y(n,a);return x(s,[s.size])}else{const a=x(r,[r.shape[0],r.shape[1]]),s=Y(n,a);return s}}const Dl=d({dot_:$x});function Gx(e){const t=u(e,"x","elu"),n=(o,i)=>{const a=o.elu(t);return i([a]),a},r={x:t};return g.runKernelFunc(n,r,null,Fo)}const is=d({elu_:Gx});function jx(e){let t=u(e,"x","erf");f(t.dtype==="int32"||t.dtype==="float32",()=>"Input dtype must be `int32` or `float32`."),t.dtype==="int32"&&(t=E(t,"float32"));const n={x:t};return g.runKernelFunc((r,o)=>{const i=r.erf(t);return o([t]),i},n,null,Mo)}const Fl=d({erf_:jx});function Px(e){const t=u(e,"x","exp"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.exp(t);return o([i]),i},n,null,Uo)}const Oe=d({exp_:Px});function qx(e,t=0){const n=null,r=u(e,"x","expandDims",n);f(t<=r.rank,()=>"Axis must be <= rank of the tensor");const o=r.shape.slice();return t<0&&(f(-(r.rank+1)<=t,()=>`Axis must be in the interval [${-(r.rank+1)}, ${r.rank}]`),t=r.rank+t+1),o.splice(t,0,1),x(r,o)}const et=d({expandDims_:qx});function Hx(e){const t=u(e,"x","expm1"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.expm1(t);return o([t]),i},n,null,Wo)}const Ml=d({expm1_:Hx});function zx(e,t){const n=null,r=u(e,"x","tile",n);f(r.rank===t.length,()=>`Error in transpose: rank of input ${r.rank} must match length of reps ${t}.`);const o=(c,p)=>{const l=c.tile(r,t);return p([r]),l},i=[r],a={x:r},s={reps:t};return g.runKernelFunc(o,a,null,Wi,s,i)}const Zt=d({tile_:zx});function Yx(e,t,n,r="float32"){t==null&&(t=e);const o=Me([e,t],r),i=e<=t?e:t;for(let s=0;s`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],o=e.size/r,i=e.as2D(o,r),a=n.fft(i);return a.reshape(e.shape)},t,null,zc)}const Fn=d({fft_:Vx});function Ge(e,t,n){const r={shape:e,value:t,dtype:n};return g.runKernelFunc(o=>o.fill(e,t,n),{},null,Yc,r)}function Kx(e){const t=u(e,"x","floor"),n={x:t};return g.runKernelFunc(r=>r.floor(t),n,null,Bo)}const Mn=d({floor_:Kx});const ma=30;function Jx(e){return e<=ma?e:Lr(e,Math.floor(Math.sqrt(e)))}const vd={};me(vd,{collectGatherOpShapeInfo:()=>Ul,computeOutShape:()=>Zx,segOpComputeOptimalWindowSize:()=>Xx});function Xx(e,t){let n=!1,r;for(e<=ma?(r=e,n=!0):r=Lr(e,Math.floor(Math.sqrt(e)));!n;)r>t||r===e?n=!0:r=Lr(e,r+1);return r}function Zx(e,t,n){const r=[],o=e.length;for(let i=0;i{const l=z(n,r.shape)[0],h=Ul(r,o,l),m=c.gather(r,x(o,[o.size]),l);return p([r,o]),x(m,h.outputShape)};return g.runKernelFunc(s,i,null,jo,a)}const Un=d({gather_:Qx});function eL(e,t){let n=u(e,"a","greater"),r=u(t,"b","greater");[n,r]=K(n,r),q(n.shape,r.shape);const o=a=>a.greater(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Jc)}const tt=d({greater_:eL});function tL(e,t){let n=u(e,"a","greaterEqual"),r=u(t,"b","greaterEqual");[n,r]=K(n,r),q(n.shape,r.shape);const o=(a,s)=>{const c=a.greaterEqual(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Po)}const ut=d({greaterEqual_:tL});function nL(e){f(e.dtype==="complex64",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],o=e.size/r,i=x(e,[o,r]),a=n.ifft(i);return x(a,e.shape)},t,null,Xc)}const dn=d({ifft_:nL});function rL(e){const t=u(e,"input","imag"),n=o=>o.imag(t),r={input:t};return g.runKernelFunc(n,r,null,Zc)}const Qt=d({imag_:rL});function oL(e){const t=u(e,"input","real"),n=o=>o.real(t),r={input:t};return g.runKernelFunc(n,r,null,fp)}const Gt=d({real_:oL});function iL(e,t){const n=u(e,"x","reverse"),r=a=>{const s=z(t,n.shape);if(n.rank===0)return Rt(n);const c=a.reverse(n,s);return x(c,n.shape)},o={x:n},i={dims:t};return g.runKernelFunc(r,o,null,wi,i)}const Ke=d({reverse_:iL});function k(e,t){if((Ne(e)&&t!=="string"||Array.isArray(e))&&t!=="complex64")throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if(t==="string"&&Ne(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");const n=[],r=[];return ze(e,n,r,t)}function sL(e){const t=e.shape[e.shape.length-1],n=e.size/t;let r;if(t<=2){const o=x(e,[n,t]);r=dn(o)}else{const o=[n,2*(t-1)],i=x(Gt(e),[n,t]),a=x(Qt(e),[n,t]),s=Ke(V(i,[0,1],[n,t-2]),1),c=S(Ke(V(a,[0,1],[n,t-2]),1),k(-1)),p=Q([i,s],1),l=Q([a,c],1),h=x(Ve(p,l),[o[0],o[1]]);r=dn(h)}if(r=Gt(r),e.rank===3&&e.shape[0]!==0){const o=r,i=e.shape[0];r=x(r,[i,r.shape[0]/i,r.shape[1]]),o.dispose()}return r}const as=d({irfft_:sL});function aL(e){const t=u(e,"x","isFinite"),n={x:t};return g.runKernelFunc(r=>r.isFinite(t),n,null,Ho)}const Wl=d({isFinite_:aL});function cL(e){const t=u(e,"x","isInf"),n={x:t};return g.runKernelFunc(r=>r.isInf(t),n,null,zo)}const Bl=d({isInf_:cL});function pL(e){const t=u(e,"x","isNaN"),n={x:t};return g.runKernelFunc(r=>r.isNaN(t),n,null,Yo)}const $l=d({isNaN_:pL});function lL(e,t){let n=u(e,"a","maximum"),r=u(t,"b","maximum");[n,r]=K(n,r),n.dtype==="bool"&&(n=E(n,"int32"),r=E(r,"int32")),q(n.shape,r.shape);const o=(a,s)=>{const c=a.maximum(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Qo)}const Ct=d({maximum_:lL});function hL(e,t=.2){const n=u(e,"x","leakyRelu");return Ct(S(k(t),n),n)}const Gl=d({leakyRelu_:hL});function uL(e,t){let n=u(e,"a","less"),r=u(t,"b","less");[n,r]=K(n,r),q(n.shape,r.shape);const o=a=>a.less(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Qc)}const Wn=d({less_:uL});function dL(e,t){let n=u(e,"a","lessEqual"),r=u(t,"b","lessEqual");[n,r]=K(n,r),q(n.shape,r.shape);const o=(a,s)=>{const c=a.lessEqual(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,ep)}const dt=d({lessEqual_:dL});function jl(e,t,n){if(n<=0)throw new Error("The number of values should be positive.");const r={start:e,stop:t,num:n};return g.runKernelFunc(o=>o.linspace(e,t,n),{},null,tp,r)}function mL(e,t=5,n=1,r=1,o=.5){const i=u(e,"x","localResponseNormalization");f(i.rank===4||i.rank===3,()=>`Error in localResponseNormalization: x must be rank 3 or 4 but got - rank ${i.rank}.`),f(X(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let a=i,s=!1;i.rank===3&&(s=!0,a=x(i,[1,i.shape[0],i.shape[1],i.shape[2]]));const c=(m,b)=>{const y=m.localResponseNormalization4D(a,t,n,r,o);return b([a,y]),y},p={x:a},l={depthRadius:t,bias:n,alpha:r,beta:o},h=g.runKernelFunc(c,p,null,Xo,l);return s?x(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const Pl=d({localResponseNormalization_:mL});function fL(e){const t=u(e,"x","log"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.log(t);return o([t]),i},n,null,Vo)}const wt=d({log_:fL});function gL(e){const t=u(e,"x","log1p"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.log1p(t);return o([t]),i},n,null,Ko)}const cs=d({log1p_:gL});function bL(e){return f(Mt(e),()=>"The f passed in grad(f) must be a function"),(t,n)=>{const r=u(t,"x","tf.grad",null),o=n!=null?u(n,"dy","tf.grad"):null;return g.tidy(()=>{const{value:i,grads:a}=g.gradients(()=>e(r),[r],o);return o!=null&&P(i.shape,o.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),fa(a),a[0]})}}function wL(e){return f(Mt(e),()=>"The f passed in grads(f) must be a function"),(t,n)=>{f(Array.isArray(t),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");const r=Vt(t,"args","tf.grads",null),o=n!=null?u(n,"dy","tf.grads"):null;return g.tidy(()=>{const{value:i,grads:a}=g.gradients(()=>e(...r),r,o);return o!=null&&P(i.shape,o.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),fa(a),a})}}function yL(e){return f(Mt(e),()=>"The f passed in valueAndGrad(f) must be a function"),(t,n)=>{f(t instanceof ne,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),f(n==null||n instanceof ne,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");const{grads:r,value:o}=g.gradients(()=>e(t),[t],n);return fa(r),{grad:r[0],value:o}}}function xL(e){return f(Mt(e),()=>"The f passed in valueAndGrads(f) must be a function"),(t,n)=>{f(Array.isArray(t)&&t.every(o=>o instanceof ne),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),f(n==null||n instanceof ne,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");const r=g.gradients(()=>e(...t),t,n);return n!=null&&P(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),fa(r.grads),r}}function ql(e,t){f(Mt(e),()=>"The f passed in variableGrads(f) must be a function"),f(t==null||Array.isArray(t)&&t.every(p=>p instanceof $t),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");const n=t!=null;if(!n){t=[];for(const p in g.registeredVariables)t.push(g.registeredVariables[p])}const r=n?t.filter(p=>!p.trainable):null,o=t.length;t=t.filter(p=>p.trainable),f(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`);const i=!0,{value:a,grads:s}=g.gradients(e,t,null,i);f(s.some(p=>p!=null),()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize()."),f(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);const c={};return t.forEach((p,l)=>{s[l]!=null&&(c[p.name]=s[l])}),r!=null&&r.forEach(p=>c[p.name]=null),{value:a,grads:c}}function Je(e){return g.customGrad(e)}function fa(e){const t=e.filter(n=>n==null).length;if(t>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that - the f you passed encloses all operations that lead from x to y.`)}function LL(e){const t=u(e,"x","neg"),n={x:t};return g.runKernelFunc(r=>r.neg(t),n,null,si)}const re=d({neg_:LL});function SL(e){const t=u(e,"x","softplus"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.softplus(t);return o([t]),i},n,null,Ri)}const ps=d({softplus_:SL});function vL(e){const t=u(e,"x","logSigmoid"),n=Je(r=>{const o=re(ps(re(r))),i=a=>{const s=S(a,Nt(re(r)));return s};return{value:o,gradFunc:i}});return n(t)}const Hl=d({logSigmoid_:vL});function IL(e,t=null,n=!1){const r=u(e,"x","max"),o=(s,c)=>{const p=z(t,r.shape);let l=p;const h=fe(l,r.rank);let m=r;h!=null&&(m=Z(r,h),l=De(l.length,m.rank));const b=s.max(m,l);h!=null&&m.dispose();let y=b;if(n){const w=we(y.shape,z(t,r.shape));y=x(y,w),b.dispose()}return c([r,y]),y},i={x:r},a={reductionIndices:t,keepDims:n};return g.runKernelFunc(o,i,null,Zo,a)}const mt=d({max_:IL});function TL(e,t){let n=u(e,"a","sub"),r=u(t,"b","sub");[n,r]=K(n,r);const o=(a,s)=>{const c=a.subtract(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Fi)}const _=d({sub_:TL});function AL(e,t=null,n=!1){let r=u(e,"x","sum");r.dtype==="bool"&&(r=E(r,"int32"));const o=(s,c)=>{c([r]);const p=z(t,r.shape),l=fe(p,r.rank);let h=p,m=r;l!=null&&(m=Z(r,l),h=De(h.length,r.rank));let b=s.sum(m,h);if(n){const y=we(b.shape,p);b=x(b,y)}return b},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Ei,a)}const W=d({sum_:AL});function NL(e,t=-1){const n=u(e,"logits","logSoftmax");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);const r=(a,s)=>{const c=!0,p=mt(e,t,!0),l=_(e,p),h=_(E(l,"float32"),wt(W(Oe(l),t,c)));return s([h]),h},o={logits:n},i={axis:t};return g.runKernelFunc(r,o,null,Jo,i)}const zl=d({logSoftmax_:NL});function RL(e,t=null,n=!1){const r=u(e,"x","logSumExp"),o=z(t,r.shape),i=mt(r,o,!0),a=_(r,i),s=Oe(a),c=W(s,o),p=wt(c),l=C(x(i,p.shape),p);if(n){const h=we(l.shape,o);return x(l,h)}return l}const ls=d({logSumExp_:RL});function CL(e,t){const n=u(e,"a","logicalAnd","bool"),r=u(t,"b","logicalAnd","bool");q(n.shape,r.shape);const o={a:n,b:r};return g.runKernelFunc(i=>i.logicalAnd(n,r),o,null,np)}const yt=d({logicalAnd_:CL});function EL(e){const t=u(e,"x","logicalNot","bool"),n={x:t};return g.runKernelFunc(r=>r.logicalNot(t),n,null,rp)}const Bn=d({logicalNot_:EL});function OL(e,t){const n=u(e,"a","logicalOr","bool"),r=u(t,"b","logicalOr","bool");q(n.shape,r.shape);const o={a:n,b:r};return g.runKernelFunc(i=>i.logicalOr(n,r),o,null,op)}const hs=d({logicalOr_:OL});function kL(e,t){const n=u(e,"a","logicalXor","bool"),r=u(t,"b","logicalXor","bool");return q(n.shape,r.shape),yt(hs(e,t),Bn(yt(e,t)))}const Yl=d({logicalXor_:kL});function _L(e,t,n,r,o){const i=u(e,"x","maxPool"),a=1;let s=i,c=!1;i.rank===3&&(c=!0,s=x(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(s.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${s.rank}.`),f(pe(n,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in maxPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const p=(b,y)=>{const w=At(s.shape,t,n,1,r,o);let L;return w.filterWidth===1&&w.filterHeight===1&&Se(w.inShape,w.outShape)?L=s.clone():L=b.maxPool(s,w),y([s,L]),L},l={x:s},h={filterSize:t,strides:n,pad:r,dimRoundingMode:o},m=g.runKernelFunc(p,l,null,ei,h);return c?x(m,[m.shape[1],m.shape[2],m.shape[3]]):m}const Ie=d({maxPool_:_L});function DL(e,t=[1,1,1],n,r,o,i="NDHWC",a){a==null?a=[1,1,1]:xe("dilations is deprecated, this field will be gone in v3.0.0.");const s=u(e,"x","maxPool3d");let c=s,p=!1;s.rank===4&&(p=!0,c=x(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${c.rank}.`),f(i==="NDHWC",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`),f(pe(n,a),()=>`Error in maxPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const l=(y,w)=>{a==null&&(a=[1,1,1]);const L=Kt(c.shape,t,n,a,r,o,i),v=y.maxPool3d(c,L);return w([c,v]),v},h={x:c},m={filterSize:t,strides:n,pad:r,dimRoundingMode:o,dataFormat:i,dilations:a},b=g.runKernelFunc(l,h,null,ti,m);return p?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Vl=d({maxPool3d_:DL});function FL(e,t,n,r,o=!1){const i=u(e,"x","maxPoolWithArgmax"),a={x:i},s={filterSize:t,strides:n,pad:r,includeBatchInIndex:o},c=g.runKernel(cp,a,s);return{result:c[0],indexes:c[1]}}const Kl=d({maxPoolWithArgmax_:FL});function Re(e,t="float32"){if(t==="complex64"){const r=Re(e,"float32"),o=Re(e,"float32");return Ve(r,o)}const n=Wt(te(e),t);return g.makeTensor(n,e,t)}function xt(e,t="float32"){if(t==="complex64"){const r=xt(e,"float32"),o=Re(e,"float32");return Ve(r,o)}const n=Yi(te(e),t);return g.makeTensor(n,e,t)}function ML(e,t=null,n=!1){const r=u(e,"x","mean"),o=z(t,r.shape),i=zp(r.shape,o),a=i[1],s=te(a),c=Je(p=>{const l=k(s),h=l.dtype===p.dtype?p:E(p,l.dtype),m=U(h,l),b=W(m,t,n),y=w=>{const L=p.shape.slice();o.forEach(R=>{L[R]=1});const v=x(w,L),A=U(S(v,xt(p.shape,"float32")),s);return A};return{value:b,gradFunc:y}});return c(r)}const mn=d({mean_:ML});function UL(e,t=null,n=!1){const r=u(e,"x","min"),o=(s,c)=>{const p=z(t,r.shape);let l=p;const h=fe(l,r.rank);let m=r;h!=null&&(m=Z(r,h),l=De(l.length,r.rank));const b=s.min(m,l);h!=null&&m.dispose();let y=b;if(n){const w=we(y.shape,p);y=x(b,w),b.dispose()}return c([r,y]),y},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,ni,a)}const fn=d({min_:UL});function WL(e,t){let n=u(e,"a","minimum"),r=u(t,"b","minimum");[n,r]=K(n,r),n.dtype==="bool"&&(n=E(n,"int32"),r=E(r,"int32")),q(n.shape,r.shape);const o=(a,s)=>{const c=a.minimum(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,ri)}const $n=d({minimum_:WL});function BL(e,t){let n=u(e,"a","mod"),r=u(t,"b","mod");[n,r]=K(n,r);const o=(a,s)=>{const c=a.mod(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,oi)}const us=d({mod_:BL});function $L(e){const t=u(e,"x","square"),n={},r=[t],o=[];return g.runKernelFunc((i,a)=>(a([t]),i.square(t)),{x:t},null,"Square",n,r,o)}const H=d({square_:$L});function GL(e,t=null,n=!1){e=u(e,"x","moments");const r=z(t,e.shape),o=mn(e,r,n);let i=o.shape;n||(i=we(o.shape,r));const a=H(_(E(e,"float32"),x(o,i))),s=mn(a,r,n);return{mean:o,variance:s}}const Jl=d({moments_:GL});function jL(e,t,n,r){const o=u(t,"data","multiRNNCell"),i=Vt(n,"c","multiRNNCell"),a=Vt(r,"h","multiRNNCell");let s=o;const c=[];for(let h=0;h2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);n=n||Math.random();const s=a===1?x(o,[1,-1]):o,c=g.runKernelFunc(p=>p.multinomial(s,r,t,n),{logits2D:s});return a===1?x(c,[c.size]):c}const Zl=d({multinomial_:PL});function qL(e,t){let n=u(e,"a","notEqual"),r=u(t,"b","notEqual");[n,r]=K(n,r),q(n.shape,r.shape);const o=a=>a.notEqual(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,pp)}const Gn=d({notEqual_:qL});function HL(e,t,n=1,r=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);const o=u(e,"indices","oneHot","int32"),i=[...o.shape,t],a=(p,l)=>(l([o]),x(p.oneHot(x(o,[o.size]),t,n,r),i)),s={indices:o},c={depth:t,onValue:n,offValue:r};return g.runKernelFunc(a,s,null,ci,c)}const Cr=d({oneHot_:HL});function zL(e){const t=u(e,"x","onesLike"),n=(o,i)=>{if(t.dtype==="complex64"){const a=ga(Gt(t)),s=B(Qt(t));return Ve(a,s)}return o.onesLike(t)},r={x:t};return g.runKernelFunc(n,r,null,ai)}const ga=d({onesLike_:zL});function YL(e,t){const n=u(e,"v1","outerProduct"),r=u(t,"v2","outerProduct");f(n.rank===1&&r.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`);const o=x(n,[-1,1]),i=x(r,[1,-1]);return Y(o,i)}const Ql=d({outerProduct_:YL});function VL(e,t,n=0){const r=u(e,"x","pad");if(r.rank===0)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const o=(s,c)=>(c([r]),s.pad(r,t,n)),i={paddings:t,constantValue:n},a={x:r};return g.runKernelFunc(o,a,null,pi,i)}const je=d({pad_:VL});function KL(e,t,n=0){return f(t.length===2,()=>"Invalid number of paddings. Must be length of 2."),je(e,[t],n)}const eh=d({pad1d_:KL});function JL(e,t,n=0){return f(t.length===2&&t[0].length===2&&t[1].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),je(e,t,n)}const th=d({pad2d_:JL});function XL(e,t,n=0){return f(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),je(e,t,n)}const nh=d({pad3d_:XL});function ZL(e,t,n=0){return f(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),je(e,t,n)}const rh=d({pad4d_:ZL});function QL(e,t,n){const r=u(e,"x","spaceToBatchND");f(r.rank>=1+t.length,()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`),f(n.length===t.length,()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`),f(r.shape.reduce((s,c,p)=>p>0&&p<=t.length?s&&(c+n[p-1][0]+n[p-1][1])%t[p-1]===0:s,!0),()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`);const o=s=>s.spaceToBatchND(r,t,n),i={x:r},a={blockShape:t,paddings:n};return g.runKernelFunc(o,i,null,Oi,a)}const jn=d({spaceToBatchND_:QL});function nS(e,t,n,r,o,i){o==null&&(o=[1,1]),i==null&&(i=1),r===0&&(r="valid");const a=u(e,"x","maxPool");let s=a,c=!1;a.rank===3&&(c=!0,s=x(a,[1,a.shape[0],a.shape[1],a.shape[2]])),f(pe(i,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${i} and dilations '${o}'`);const p=At(s.shape,t,i,o,r),l=[p.dilationHeight,p.dilationWidth];let h;r==="same"?h=tS([p.filterHeight,p.filterWidth],l):h=[[0,0],[0,0]];const m=l[0]===1&&l[1]===1,[b,y]=eS([p.inHeight,p.inWidth],l,h),w=m?r:"valid",L=m?s:jn(s,l,b),v=n==="avg"?()=>ht(L,t,i,w):()=>Ie(L,t,i,w),A=v(),R=m?A:kn(A,l,y);return c?x(R,[R.shape[1],R.shape[2],R.shape[3]]):R}function eS(e,t,n){const r=n.map(l=>l[0]),o=n.map(l=>l[1]),i=e.concat(r,o),a=t.map((l,h)=>(l-i[h]%l)%l),s=o.map((l,h)=>l+a[h]),c=t.map((l,h)=>[r[h],s[h]]),p=t.map((l,h)=>[0,a[h]]);return[c,p]}function tS(e,t){const n=e.map((a,s)=>a+(a-1)*(t[s]-1)),r=n.map(a=>a-1),o=r.map(a=>Math.floor(a/2)),i=r.map((a,s)=>a-o[s]);return r.map((a,s)=>[o[s],i[s]])}const oh=d({pool_:nS});function rS(e,t){let n=u(e,"base","pow"),r=u(t,"exp","pow");[n,r]=K(n,r);const o={a:n,b:r},i=(a,s)=>{const c=a.pow(n,r);return s([n,r,c]),c};return g.runKernelFunc(i,o,null,li)}const Xe=d({pow_:rS});function oS(e,t){const n=u(e,"x","prelu"),r=u(t,"alpha","prelu"),o=(a,s)=>{const c=a.prelu(n,r);return s([n,r]),c},i={x:n,alpha:r};return g.runKernelFunc(o,i,null,hi)}const ds=d({prelu_:oS});function ih(e,t=!1){console.log(e.toString(t))}function iS(e,t=null,n=!1){let r=u(e,"x","prod");const o=s=>{r.dtype==="bool"&&(r=E(r,"int32"));const c=z(t,r.shape),p=fe(c,r.rank);let l=c,h=r;p!=null&&(h=Z(r,p),l=De(l.length,r.rank));let m=s.prod(h,l);if(n){const b=we(m.shape,c);m=x(m,b)}return m},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,dp,a)}const sh=d({prod_:iS});function sS(e,t,n){const r=te(e);let o=null;if(n==null||n==="float32")o=new Float32Array(r);else if(n==="int32")o=new Int32Array(r);else if(n==="bool")o=new Uint8Array(r);else throw new Error(`Unknown data type ${n}`);for(let i=0;iTd,expectArrayBuffersEqual:()=>dS,expectArraysClose:()=>cS,expectArraysEqual:()=>lS,expectNumbersClose:()=>hS,expectPromiseToFail:()=>pS,expectValuesInRange:()=>uS,testEpsilon:()=>ch});const aS=.001,Td=.1;function cS(e,t,n){return n==null&&(n=ch()),ph(e,t,(r,o)=>lh(r,o,n))}function ch(){return g.backend.floatPrecision()===32?aS:Td}function ph(e,t,n){let r=!0;if((Ne(e)||Ne(t))&&(r=!1),Ne(e)&&Ne(t)&&(r=!0),r){const a=e.constructor.name,s=t.constructor.name;if(a!==s)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${s}`)}if(Array.isArray(e)&&Array.isArray(t)){const a=Fe(e),s=Fe(t);if(!Se(a,s))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${s}]`)}const o=Ne(e)?e:Ft(e),i=Ne(t)?t:Ft(t);if(o.length!==i.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${i.length}. -Actual: ${o}. -Expected: ${i}.`);for(let a=0;at.fail(),()=>t())}function lS(e,t){const n=typeof t=="string"||typeof t=="number"||typeof t=="boolean"?[t]:t;return Tt(e)||Tt(e[0])||Tt(t)||Tt(t[0])?ph(e,n,(r,o)=>r==o):ph(e,t,(r,o)=>lh(r,o,0))}function hS(e,t,n){if(n==null&&(n=ch()),!lh(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function lh(e,t,n){return!isFinite(e)&&!isFinite(t)?!0:!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function uS(e,t,n){for(let r=0;rn)throw new Error(`Value out of range:${e[r]} low: ${t}, high: ${n}`)}function dS(e,t){expect(new Float32Array(e)).toEqual(new Float32Array(t))}const ba=ee(Ru());class ms{constructor(e,t,n,r,o){this.mean=e,this.stdDev=t,this.dtype=n,this.nextVal=NaN,this.truncated=r,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);const i=o||Math.random();this.random=ba.alea(i.toString())}nextValue(){if(!isNaN(this.nextVal)){const r=this.nextVal;return this.nextVal=NaN,r}let e,t,n=!1;for(;!n;){let r,o,i;do r=2*this.random()-1,o=2*this.random()-1,i=r*r+o*o;while(i>=1||i===0);const a=Math.sqrt(-2*Math.log(i)/i);e=this.mean+this.stdDev*r*a,t=this.mean+this.stdDev*o*a,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype==="float32"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}}class Ad{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;const o=r||Math.random();this.randu=ba.alea(o.toString()),this.randn=new ms(0,1,n,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,o,i;for(;;){do r=this.randn.nextValue(),i=1+this.c*r;while(i<=0);if(i*=i*i,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-i+Math.log(i)),o=this.randu(),othis.dtype==null||this.dtype==="float32",this.min=e,this.range=t-e,this.dtype=n,r==null&&(r=Math.random()),typeof r=="number"&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=ba.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}function mS(e,t,n=1,r="float32",o){if(n==null&&(n=1),r==null&&(r="float32"),r!=="float32"&&r!=="int32")throw new Error(`Unsupported data type ${r}`);const i=new Ad(t,n,r,o),a=Me(e,r);for(let s=0;s{const a=e===t,s=e1;if(a||s||c)return Re([0],r);const p=Math.abs(Math.ceil((t-e)/n)),l=Wt(p,r);t{const i=r.reciprocal(t);return o([t]),i},n,null,ui)}const dh=d({reciprocal_:bS});function wS(e){const t=u(e,"x","relu"),n=(o,i)=>(i([t]),t.dtype==="bool"?E(t,"int32"):o.relu(t)),r={x:t};return g.runKernelFunc(n,r,null,di)}const se=d({relu_:wS});function yS(e){const t=u(e,"x","relu6"),n=(o,i)=>(i([t]),t.dtype==="bool"?E(t,"int32"):o.relu6(t)),r={x:t};return g.runKernelFunc(n,r,null,bi)}const gs=d({relu6_:yS});function xS(e){const t=u(e,"x","reverse");return f(t.rank===1,()=>`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),Ke(t,0)}const mh=d({reverse1d_:xS});function LS(e,t){const n=u(e,"x","reverse");return f(n.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`),Ke(n,t)}const fh=d({reverse2d_:LS});function SS(e,t){const n=u(e,"x","reverse");return f(n.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`),Ke(n,t)}const gh=d({reverse3d_:SS});function vS(e,t){const n=u(e,"x","reverse");return f(n.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`),Ke(n,t)}const bh=d({reverse4d_:vS});function wh(e,t,n=0){let r=[];if(typeof t=="number")f(e.shape[n]%t===0,()=>"Number of splits must evenly divide the axis."),r=new Array(t).fill(e.shape[n]/t);else{const o=t.reduce((a,s)=>(s===-1&&(a+=1),a),0);f(o<=1,()=>"There should be only one negative value in split array.");const i=t.indexOf(-1);if(i!==-1){const a=t.reduce((s,c)=>c>0?s+c:s);t[i]=e.shape[n]-a}f(e.shape[n]===t.reduce((a,s)=>a+s),()=>"The sum of sizes must match the size of the axis dimension."),r=t}return r}function IS(e,t,n=0){const r=u(e,"x","split"),o=(s,c)=>{const p=z(n,r.shape)[0],l=wh(r,t,p);return s.split(r,l,p)},i={x:r},a={numOrSizeSplits:t,axis:n};return g.runKernelFunc(o,i,null,ki,a)}const jt=d({split_:IS});function TS(e,t){f(e.dtype==="float32",()=>`The dtype for rfft() must be real value but got ${e.dtype}`);let n=e.shape[e.shape.length-1];const r=e.size/n;let o;if(t!=null&&t0),w=e.shape.map(L=>L);w[e.shape.length-1]=t,o=V(e,y,w),n=t}else if(t!=null&&t>n){const y=e.shape.map(w=>w);y[e.shape.length-1]=t-n,o=Q([e,Re(y)],e.shape.length-1),n=t}else o=e;const i=B(o),a=x(Ve(o,i),[r,n]),s=Fn(a),c=Math.floor(n/2)+1,p=Gt(s),l=Qt(s),h=jt(p,[c,n-c],p.shape.length-1),m=jt(l,[c,n-c],l.shape.length-1),b=o.shape.slice();return b[o.shape.length-1]=c,x(Ve(h[0],m[0]),b)}const Pn=d({rfft_:TS});function AS(e){const t=u(e,"x","round"),n={x:t};return g.runKernelFunc(r=>r.round(t),n,null,yi)}const yh=d({round_:AS});function NS(e){const t=u(e,"x","rsqrt"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.rsqrt(t);return o([t]),i},n,null,xi)}const bs=d({rsqrt_:NS});function RS(e){const t=u(e,"x","selu"),n=(o,i)=>{const a=o.selu(t);return i([t]),a},r={x:t};return g.runKernelFunc(n,r,null,Si)}const xh=d({selu_:RS});function CS(e,t,n,r,o,i=[1,1],a="NHWC"){const s=u(e,"x","separableConv2d"),c=u(t,"depthwiseFilter","separableConv2d"),p=u(n,"pointwiseFilter","separableConv2d");let l=s,h=!1;if(s.rank===3&&(h=!0,l=x(s,[1,s.shape[0],s.shape[1],s.shape[2]])),a==="NCHW")throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");f(l.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${l.rank}.`),f(c.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${p.shape[0]}.`),f(p.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${p.shape[1]}.`);const m=c.shape[2],b=c.shape[3];f(p.shape[2]===m*b,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*b}, but got ${p.shape[2]}.`);const y=Dn(l,c,r,o,a,i),w=1,L=ve(y,p,w,"valid",a);return h?x(L,[L.shape[1],L.shape[2],L.shape[3]]):L}const qn=d({separableConv2d_:CS});async function ES(e,t){const n=u(e,"x","setdiff1d"),r=u(t,"y","setdiff1d");f(n.dtype===r.dtype,()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`),f(n.rank===1,()=>`x should be 1D tensor, but got x (${n.shape}).`),f(r.rank===1,()=>`y should be 1D tensor, but got y (${r.shape}).`);const o=await n.data(),i=await r.data(),a=new Set(i);let s=0;for(let l=0;lr.sign(t),n,null,Ai)}const Sh=d({sign_:OS});function kS(e){const t=u(e,"x","sin"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sin(t);return o([t]),i},n,null,Ii)}const ws=d({sin_:kS});function _S(e){const t=u(e,"x","sinh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sinh(t);return o([t]),i},n,null,Ti)}const ys=d({sinh_:_S});function DS(e,t,n){const r=u(e,"x","slice1d");return f(r.rank===1,()=>`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`),V(r,[t],[n])}const vh=d({slice1d_:DS});function FS(e,t,n){const r=u(e,"x","slice2d");return f(r.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`),V(r,t,n)}const Ih=d({slice2d_:FS});function MS(e,t,n){const r=u(e,"x","slice3d");return f(r.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`),V(r,t,n)}const xs=d({slice3d_:MS});function US(e,t,n){const r=u(e,"x","slice4d");return f(r.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`),V(r,t,n)}const Th=d({slice4d_:US});function WS(e,t=-1){const n=u(e,"logits","softmax","float32");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);const r={logits:n},o={dim:t};return g.runKernelFunc((i,a)=>{const s=i.softmax(n,t);return a([s]),s},r,null,_i,o)}const en=d({softmax_:WS});function BS(e){const t=u(e,"x","sqrt"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sqrt(t);return o([t]),i},n,null,Ci)}const de=d({sqrt_:BS});function $S(e,t){let n=u(e,"a","squaredDifference"),r=u(t,"b","squaredDifference");[n,r]=K(n,r),q(n.shape,r.shape);const o=(s,c)=>{const p=s.squaredDifference(n,r);return c([n,r]),p},i={a:n,b:r},a={};return g.runKernelFunc(o,i,null,Di,a)}const Hn=d({squaredDifference_:$S});function GS(e,t){const n=u(e,"x","squeeze");return x(n,Np(n.shape,t).newShape)}const zn=d({squeeze_:GS});function jS(e,t=0){const n=Vt(e,"tensors","stack");if(f(n.length>=1,()=>"Pass at least one tensor to tf.stack"),n.length===1)return et(n[0],t);const r=n[0].rank,o=n[0].shape,i=n[0].dtype;f(t<=r,()=>"Axis must be <= rank of the tensor"),n.forEach(s=>{P(o,s.shape,"All tensors passed to stack must have matching shapes"),f(i===s.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=n.map(s=>et(s,t));return Q(a,t)}const Ue=d({stack_:jS});function PS(e,t=0){const n=u(e,"x","step"),r={x:n},o={alpha:t};return g.runKernelFunc(i=>i.step(n,t),r,null,Pi,o)}const Et=d({step_:PS});function qS(e,t,n,r,o=0,i=0,a=0,s=0,c=0){r==null&&(r=new Array(t.length));let p=u(e,"x","stridedSlice");const l=b=>{const y=es(a);if(y.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(a!==0&&s!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(a!==0&&c!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");const w=p.rank-t.length,L=es(s),v=p.shape.slice();if(L.forEach(D=>{t[D]=0,n[D]=1,v.splice(D,0,1)}),p=x(p,v),y.length&&w>0){const D=y[0],G=w+1;t=hl(o,D,G,t,p.shape),n=ul(i,D,G,n,p.shape),r=ll(r,D,G,p.shape)}else for(let D=0;D{n[D]=t[D]+1,r[D]=1});const R=pl(t,n,r),N=R.filter((D,G)=>A.indexOf(G)===-1),O=r.every(D=>D===1);if(O)return x(V(p,t,R),N);const M=b.stridedSlice(p,t,n,r);return x(M,N)},h={x:p},m={begin:t,end:n,strides:r,beginMask:o,endMask:i,ellipsisMask:a,newAxisMask:s,shrinkAxisMask:c};return g.runKernelFunc(l,h,null,Lp,m)}const Ah=d({stridedSlice_:qS});function HS(e){const t=u(e,"x","tan"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.tan(t);return o([t]),i},n,null,Mi)}const Nh=d({tan_:HS});function ft(e,t,n){if(pt(e),t!=null&&t.length!==2)throw new Error("tensor2d() requires shape to have two numbers");const r=Fe(e,n);if(r.length!==2&&r.length!==1)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return ze(e,t,r,n)}function Ls(e,t,n){if(pt(e),t!=null&&t.length!==3)throw new Error("tensor3d() requires shape to have three numbers");const r=Fe(e,n);if(r.length!==3&&r.length!==1)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return ze(e,t,r,n)}function Pt(e,t,n){if(pt(e),t!=null&&t.length!==4)throw new Error("tensor4d() requires shape to have four numbers");const r=Fe(e,n);if(r.length!==4&&r.length!==1)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return ze(e,t,r,n)}function Rh(e,t,n){if(pt(e),t!=null&&t.length!==5)throw new Error("tensor5d() requires shape to have five numbers");const r=Fe(e,n);if(r.length!==5&&r.length!==1)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return ze(e,t,r,n)}function Ch(e,t,n){if(pt(e),t!=null&&t.length!==6)throw new Error("tensor6d() requires shape to have six numbers");const r=Fe(e,n);if(r.length!==6&&r.length!==1)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return t=t||r,ze(e,t,r,n)}function zS(e,t=1,n=!0){const r=u(e,"x","topk");if(r.rank===0)throw new Error("topk() expects the input to be of rank 1 or higher");const o=r.shape[r.shape.length-1];if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);const i={x:r},a={k:t,sorted:n},[s,c]=g.runKernelFunc(p=>p.topk(r,t,n),i,null,Sp,a);return{values:s,indices:c}}const Eh=d({topk_:zS});function YS(e,t=0,n=1,r,o){if(r!=null&&r==="bool")throw new Error("Unsupported data type $ { dtype }");const i=new ms(t,n,r,!0,o),a=Me(e,r);for(let s=0;s"numSegments must be of dtype int");const i={x:r,segmentIds:o},a={numSegments:n},s=(c,p)=>{const l=c.unsortedSegmentSum(r,o,n);return p([o]),l};return g.runKernelFunc(s,i,null,Gi,a)}const Ss=d({unsortedSegmentSum_:VS});function KS(e,t=0){const n=u(e,"x","unstack");f(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`),t<0&&(t+=n.shape.length);const r={value:n},o={axis:t},i=a=>a.unstack(n,t);return g.runKernelFunc(i,r,null,$i,o)}const We=d({unstack_:KS});function kh(e,t=!0,n,r){return g.makeVariable(e,t,n,r)}function wa(e,t){const n=[];for(let i=0;i0,()=>"mask cannot be scalar"),P(s.slice(i,i+a),o.shape,"mask's shape must match the first K dimensions of tensor's shape,");let c=1;for(let w=i;w"Shape mismatch in v and x");const c=k(1),p=_(c,s);let l=S(_(a,i),p);if(o){f(r!=null,()=>"When using zeroDebias: true, step is required.");const h=u(r,"step","movingAverage");l=U(l,_(c,Xe(s,h)))}return C(i,l)}const Hd=d({movingAverage_:mv});const zd={};me(zd,{calculateShapes:()=>Yd,validateInput:()=>ya,validateUpdateShape:()=>_h});function _h(e,t,n){const r=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,i=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${o}.`;if(n.rank1?t.shape[r-1]:1,i=n.length;let a=1;for(let h=o;hc.scatterND(r,o,n),a={indices:r,updates:o},s={shape:n};return g.runKernelFunc(i,a,null,wp,s)}const Vd=d({scatterND_:fv});function Kd(e,t,n,r){if(e.dtype!=="int32")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);const o=e.rank>0?e.shape[0]:1,i=e.rank>1?e.shape[1]:1;if(n.length!==i)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${i}.`);const a=t.size;if(!(t.rank===0||t.rank===1&&a===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}function gv(e,t,n,r=0){const o=u(e,"sparseIndices","sparseToDense","int32"),i=u(t,"sparseValues","sparseToDense"),a=u(r,"defaultValue","sparseToDense",i.dtype);Kd(o,i,n,a);const s={sparseIndices:o,sparseValues:i,defaultValue:a},c={outputShape:n};return g.runKernelFunc(p=>p.sparseToDense(o,i,n,a),s,null,xp,c)}const Jd=d({sparseToDense_:gv});function bv(e,t){const n=u(t,"indices","gatherND","int32"),r=u(e,"x","gatherND"),o=a=>a.gatherND(r,n),i={params:r,indices:n};return g.runKernelFunc(o,i,null,Kc)}const Xd=d({gatherND_:bv});function Zd(e,t){if(t==null)return e.shape.slice();if(Se(e.shape,t))return t;if(e.shape.length===t.length){const n=[];for(let r=0;r`x has to be a floating point tensor since it's going to be scaled, but got a ${o.dtype} tensor instead.`),f(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return e instanceof ne?o.clone():o;const i=Zd(o,n),a=1-t,s=U(Mn(C(fs(i,0,1,"float32",r),a)),a);return S(o,s)}const Qd=d({dropout_:wv});function xa(e){return Math.floor(Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))))}function kr(e,t,n){const r=1-e%2,o=new Float32Array(e);for(let i=0;i1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`),f(r.rank-1===o.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${o.rank}`),P(r.shape.slice(0,r.shape.length-1),o.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const i=r.shape[r.shape.length-1];f(n>0&&n<=i,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${i}), but got ${n}`);const a=await r.data(),s=await o.data(),[c,p]=[a.length/i,i],l=yr("bool",c);for(let h=0;hL.value-w.value),l[h]=0;for(let w=0;w`Error in conv2dDerFilter: input must be rank 4, but got shape ${s.shape}.`),f(c.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${c.shape}.`),f(n.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`);const p=i==="NHWC"?s.shape[3]:s.shape[1],l=i==="NHWC"?c.shape[3]:c.shape[1];f(p===n[2],()=>`Error in conv2dDerFilter: depth of input ${p}) must match input depth in filter (${n[2]}.`),f(l===n[3],()=>`Error in conv2dDerFilter: depth of dy (${l}) must match output depth for filter (${n[3]}).`),a!=null&&f(X(o),()=>`Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const h=y=>{const w=1,L=hn(i),v=$e(s.shape,n,r,w,o,a,!1,L);return y.conv2dDerFilter(s,c,v)},m={x:s,dy:c},b={strides:r,pad:o,dataFormat:i,dimRoundingMode:a};return g.runKernelFunc(h,m,null,Dc,b)}const _r=d({conv2DBackpropFilter_:xv});function Yn(e,t,n){if(n==null||n==="linear")return e;if(n==="relu")return S(e,Et(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function Vn(e,t){let n=t;const r=ae(e.shape,t.shape);return r.length>0&&(n=W(n,r)),x(n,e.shape)}function Kn(e,t,n){if(t==="linear")return e;if(t==="relu")return se(e);if(t==="elu")return is(e);if(t==="relu6")return gs(e);if(t==="prelu")return ds(e,n);throw new Error(`Unknown fused activation ${t}.`)}const Jn=(e,t)=>{const n=e>0;return!n||t==="linear"};function Lv({x:e,filter:t,strides:n,pad:r,dataFormat:o="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(c=c||"linear",Jn(g.state.gradientDepth,c)===!1){let O=ve(e,t,n,r,o,i,a);return s!=null&&(O=C(O,s)),Kn(O,c,p)}const l=u(e,"x","conv2d"),h=u(t,"filter","conv2d");let m=l,b=!1;l.rank===3&&(b=!0,m=x(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(m.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${m.rank}.`),f(h.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${h.rank}.`),a!=null&&f(X(r),()=>`Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(m.shape[3]===h.shape[2],()=>`Error in conv2d: depth of input (${m.shape[3]}) must match input depth for filter ${h.shape[2]}.`),f(pe(n,i),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),f(o==="NHWC",()=>`Error in conv2d: got dataFormat of ${o} but only NHWC is currently supported.`);const y=$e(m.shape,h.shape,n,i,r,a);let w;s!=null&&(w=u(s,"bias","fused conv2d"),[w]=K(w,l),q(y.outShape,w.shape));let L;p!=null&&(L=u(p,"prelu weights","fused conv2d"));const v=(O,M)=>{const[D,G,$,j]=M,oe=Yn(O,$,c);f(lt(i),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const ie=Rr(G.shape,oe,D,n,r),ue=_r(G,oe,D.shape,n,r),Ae=[ie,ue];if(j!=null){const Pe=Vn(j,oe);Ae.push(Pe)}return Ae},A=O=>{const M=O.fusedConv2d({input:m,filter:h,convInfo:y,bias:w,activation:c,preluActivationWeights:L});return M},R={x:m,filter:h,bias:w,preluActivationWeights:L},N={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a,activation:c};if(s==null){const O=Je((M,D,G)=>{let $=g.runKernelFunc(A,R,null,oa,N);return G([D,M,$]),b&&($=x($,[$.shape[1],$.shape[2],$.shape[3]])),{value:$,gradFunc:v}});return O(m,h)}else{const O=Je((M,D,G,$)=>{let j=g.runKernelFunc(A,R,null,oa,N);return $([D,M,j,G]),b&&(j=x(j,[j.shape[1],j.shape[2],j.shape[3]])),{value:j,gradFunc:v}});return O(m,h,w)}}const Sv=d({fusedConv2d_:Lv});function vv(e,t,n,r){let o=e;e.rank===3&&(o=x(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let i=t;i.rank===3&&(i=x(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=c=>c.depthwiseConv2DDerFilter(o,i,r),s={x:o,dy:i};return g.runKernelFunc(a,s,null,Bc)}const La=d({depthwiseConv2dNativeBackpropFilter_:vv});function Iv(e,t,n,r){let o=t,i=!1;t.rank===3&&(i=!0,o=x(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=p=>p.depthwiseConv2DDerInput(o,n,r),s={dy:o},c=g.runKernelFunc(a,s,null,$c);return i?x(c,[c.shape[1],c.shape[2],c.shape[3]]):c}const Sa=d({depthwiseConv2dNativeBackpropInput_:Iv});function Tv({x:e,filter:t,strides:n,pad:r,dataFormat:o="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(Jn(g.state.gradientDepth,c)===!1){let O=Dn(e,t,n,r,o,i,a);return s!=null&&(O=C(O,s)),Kn(O,c,p)}const l=u(e,"x","depthwiseConv2d"),h=u(t,"filter","depthwiseConv2d");let m=l,b=!1;l.rank===3&&(b=!0,m=x(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(m.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${m.rank}.`),f(h.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${h.rank}.`),f(m.shape[3]===h.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${m.shape[3]}) must match the inChannels dimension in filter ${h.shape[2]}.`),i==null&&(i=[1,1]),f(pe(n,i),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),a!=null&&f(X(r),()=>`Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${a} but got pad ${r}.`);const y=$e(m.shape,h.shape,n,i,r,a,!0);let w;s!=null&&(w=u(s,"bias","fused conv2d"),[w]=K(w,l),q(y.outShape,w.shape));let L;p!=null&&(L=u(p,"prelu weights","fused depthwiseConv2d"));const v=(O,M)=>{f(lt(i),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${i}'`);const[D,G,$,j]=M,oe=Yn(O,$,c),ie=Sa(G.shape,oe,D,y),ue=La(G,oe,D.shape,y);if(j!=null){const Ae=Vn(w,oe);return[ie,ue,Ae]}return[ie,ue]},A=O=>{const M=O.fusedDepthwiseConv2D({input:m,filter:h,convInfo:y,bias:w,activation:c,preluActivationWeights:L});return M},R={x:m,filter:h,bias:w,preluActivationWeights:L},N={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a,activation:c};if(s==null){const O=Je((M,D,G)=>{let $=g.runKernelFunc(A,R,null,ia,N);return G([D,M,$]),b&&($=x($,[$.shape[1],$.shape[2],$.shape[3]])),{value:$,gradFunc:v}});return O(m,h)}else{const O=Je((M,D,G,$)=>{let j=g.runKernelFunc(A,R,null,ia,N);return $([D,M,j,G]),b&&(j=x(j,[j.shape[1],j.shape[2],j.shape[3]])),{value:j,gradFunc:v}});return O(m,h,w)}}const Av=d({fusedDepthwiseConv2d_:Tv});function Nv({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:o,activation:i="linear",preluActivationWeights:a}){if(Jn(g.state.gradientDepth,i)===!1){let j=Y(e,t,n,r);return o!=null&&(j=C(j,o)),Kn(j,i,a)}let s=u(e,"a","fused matMul"),c=u(t,"b","fused matMul");[s,c]=K(s,c);const p=n?s.shape[s.rank-2]:s.shape[s.rank-1],l=r?c.shape[c.rank-1]:c.shape[c.rank-2],h=n?s.shape[s.rank-1]:s.shape[s.rank-2],m=r?c.shape[c.rank-2]:c.shape[c.rank-1],b=s.shape.slice(0,-2),y=c.shape.slice(0,-2),w=te(b),L=te(y);f(s.rank>=2&&c.rank>=2&&s.rank===c.rank,()=>`Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${s.rank} and ${c.rank}.`),f(Se(b,y),()=>`Error in fused matMul: outer dimensions (${b}) and (${y}) of Tensors with shapes ${s.shape} and ${c.shape} must match.`),f(p===l,()=>`Error in fused matMul: inner shapes (${p}) and (${l}) of Tensors with shapes ${s.shape} and ${c.shape} and transposeA=${n} and transposeB=${r} must match.`);const v=s.shape.slice(0,-2).concat([h,m]),A=n?x(s,[w,p,h]):x(s,[w,h,p]),R=r?x(c,[L,m,l]):x(c,[L,l,m]);let N;o!=null&&(N=u(o,"bias","fused matMul"),[N]=K(N,s),q(v,N.shape));let O;a!=null&&(O=u(a,"prelu weights","fused matMul"));const M=(j,oe)=>{const[ie,ue,Ae,Pe]=oe,zt=Yn(x(j,Ae.shape),Ae,i);let pr,lr;if(!n&&!r?(pr=Y(zt,ue,!1,!0),lr=Y(ie,zt,!0,!1)):!n&&r?(pr=Y(zt,ue,!1,!1),lr=Y(zt,ie,!0,!1)):n&&!r?(pr=Y(ue,zt,!1,!0),lr=Y(ie,zt,!1,!1)):(pr=Y(ue,zt,!0,!0),lr=Y(zt,ie,!0,!0)),o!=null){const Bb=Vn(Pe,zt);return[pr,lr,Bb]}else return[pr,lr]},D=j=>{const oe=j.fusedBatchMatMul({a:A,b:R,transposeA:n,transposeB:r,bias:N,activation:i,preluActivationWeights:O});return oe},G={a:A,b:R,bias:N,preluActivationWeights:O},$={transposeA:n,transposeB:r,activation:i};if(o==null){const j=Je((oe,ie,ue)=>{const Ae=g.runKernelFunc(D,G,null,ra,$);return ue([oe,ie,Ae]),{value:x(Ae,v),gradFunc:M}});return j(A,R)}else{const j=Je((oe,ie,ue,Ae)=>{const Pe=g.runKernelFunc(D,G,null,ra,$);return Ae([oe,ie,Pe,ue]),{value:x(Pe,v),gradFunc:M}});return j(A,R,N)}}const Rv=d({fusedMatMul_:Nv});const Dh={};me(Dh,{conv2d:()=>Sv,depthwiseConv2d:()=>Av,matMul:()=>Rv});function Cv(e){return kr(e,.54,.46)}const tm=d({hammingWindow_:Cv});function Ev(e){return kr(e,.5,.5)}const va=d({hannWindow_:Ev});function Ov(e,t,n,r=!1,o=0){let i=0;const a=[];for(;i+t<=e.size;)a.push(V(e,i,t)),i+=n;if(r)for(;i`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),f(s.rank===2&&s.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${p},4] but had shape ${s.shape}.`),f(c.rank===1&&c.shape[0]===p,()=>`Error in cropAndResize: boxInd must be have size [${p}] but had shape ${s.shape}.`),f(r.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`),f(r[0]>=1&&r[1]>=1,()=>`cropSize must be atleast [1,1], but was ${r}`),f(o==="bilinear"||o==="nearest",()=>`method must be bilinear or nearest, but was ${o}`);const l=y=>y.cropAndResize(a,s,c,r,o,i),h={image:a,boxes:s,boxInd:c},m={method:o,extrapolationValue:i,cropSize:r},b=g.runKernelFunc(l,h,null,Uc,m);return b}const rm=d({cropAndResize_:_v});function Dv(e){const t=u(e,"image","flipLeftRight","float32");f(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);const n={image:t},r=g.runKernel(Vc,n,{});return r}const om=d({flipLeftRight_:Dv});function Fv(e,t,n=0,r=.5){const o=u(e,"image","rotateWithOffset","float32");f(o.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${o.rank}.`);const i={image:o},a={radians:t,fillValue:n,center:r},s=g.runKernel(vp,i,a);return s}const im=d({rotateWithOffset_:Fv});function Lt(e,t,n,r,o,i){r==null&&(r=.5),o==null&&(o=Number.NEGATIVE_INFINITY),i==null&&(i=0);const a=e.shape[0];return n=Math.min(n,a),f(0<=r&&r<=1,()=>`iouThreshold must be in [0, 1], but was '${r}'`),f(e.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`),f(e.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`),f(t.rank===1,()=>"scores must be a 1D tensor"),f(t.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${t.shape[0]}`),f(0<=i&&i<=1,()=>`softNmsSigma must be in [0, 1], but was '${i}'`),{maxOutputSize:n,iouThreshold:r,scoreThreshold:o,softNmsSigma:i}}function Mv(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY){const i=u(e,"boxes","nonMaxSuppression"),a=u(t,"scores","nonMaxSuppression"),s=Lt(i,a,n,r,o);n=s.maxOutputSize,r=s.iouThreshold,o=s.scoreThreshold;const c={maxOutputSize:n,iouThreshold:r,scoreThreshold:o};return g.runKernelFunc(p=>p.nonMaxSuppression(i,a,n,r,o),{boxes:i,scores:a},null,lp,c)}const sm=d({nonMaxSuppression_:Mv});function am(e,t,n){const r=Uv(e,t,n),o=r<0?-(r+1):r;e.splice(o,0,t)}function Uv(e,t,n){return Bv(e,t,n||Wv)}function Wv(e,t){return e>t?1:e>>1);const s=n(t,e[i]);s>0?r=i+1:(o=i,a=!s)}return a?r:-r-1}function Ta(e,t,n,r,o){return Fh(e,t,n,r,o,0).selectedIndices}function Aa(e,t,n,r,o,i){return Fh(e,t,n,r,o,0,!1,i,!0)}function Na(e,t,n,r,o,i){return Fh(e,t,n,r,o,i,!0)}function Fh(e,t,n,r,o,i,a=!1,s=!1,c=!1){const p=[];for(let L=0;Lo&&p.push({score:t[L],boxIndex:L,suppressBeginIndex:0});p.sort(cm);const l=i>0?-.5/i:0,h=[],m=[];for(;h.length0;){const L=p.pop(),{score:v,boxIndex:A,suppressBeginIndex:R}=L;if(v=R;--O){const M=$v(e,A,h[O]);if(M>=r){N=!0;break}if(L.score=L.score*Gv(r,l,M),L.score<=o)break}L.suppressBeginIndex=h.length,N||(L.score===v?(h.push(A),m.push(L.score)):L.score>o&&am(p,L,cm))}const b=h.length,y=n-b;s&&y>0&&(h.push(...new Array(y).fill(0)),m.push(...new Array(y).fill(0)));const w={selectedIndices:ge(h,"int32")};return a&&(w.selectedScores=ge(m,"float32")),c&&(w.validOutputs=k(b,"int32")),w}function $v(e,t,n){const r=e.subarray(t*4,t*4+4),o=e.subarray(n*4,n*4+4),i=Math.min(r[0],r[2]),a=Math.min(r[1],r[3]),s=Math.max(r[0],r[2]),c=Math.max(r[1],r[3]),p=Math.min(o[0],o[2]),l=Math.min(o[1],o[3]),h=Math.max(o[0],o[2]),m=Math.max(o[1],o[3]),b=(s-i)*(c-a),y=(h-p)*(m-l);if(b<=0||y<=0)return 0;const w=Math.max(i,p),L=Math.max(a,l),v=Math.min(s,h),A=Math.min(c,m),R=Math.max(v-w,0)*Math.max(A-L,0);return R/(b+y-R)}function Gv(e,t,n){const r=Math.exp(t*n*n);return n<=e?r:0}function cm(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}async function jv(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY){const i=u(e,"boxes","nonMaxSuppressionAsync"),a=u(t,"scores","nonMaxSuppressionAsync"),s=Lt(i,a,n,r,o);n=s.maxOutputSize,r=s.iouThreshold,o=s.scoreThreshold;const c=await Promise.all([i.data(),a.data()]),p=c[0],l=c[1],h=Ta(p,l,n,r,o);return i!==e&&i.dispose(),a!==t&&a.dispose(),h}const pm=jv;function Pv(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=0){const a=u(e,"boxes","nonMaxSuppression"),s=u(t,"scores","nonMaxSuppression"),c=Lt(a,s,n,r,o,i);n=c.maxOutputSize,r=c.iouThreshold,o=c.scoreThreshold,i=c.softNmsSigma;const p={boxes:a,scores:s},l={maxOutputSize:n,iouThreshold:r,scoreThreshold:o,softNmsSigma:i},h=g.runKernel(up,p,l);return{selectedIndices:h[0],selectedScores:h[1]}}const lm=d({nonMaxSuppressionWithScore_:Pv});async function qv(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=0){const a=u(e,"boxes","nonMaxSuppressionAsync"),s=u(t,"scores","nonMaxSuppressionAsync"),c=Lt(a,s,n,r,o,i);n=c.maxOutputSize,r=c.iouThreshold,o=c.scoreThreshold,i=c.softNmsSigma;const p=await Promise.all([a.data(),s.data()]),l=p[0],h=p[1],m=Na(l,h,n,r,o,i);return a!==e&&a.dispose(),s!==t&&s.dispose(),m}const hm=qv;function Hv(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=!1){const a=u(e,"boxes","nonMaxSuppression"),s=u(t,"scores","nonMaxSuppression"),c=Lt(a,s,n,r,o,null),p=c.maxOutputSize,l=c.iouThreshold,h=c.scoreThreshold,m={boxes:a,scores:s},b={maxOutputSize:p,iouThreshold:l,scoreThreshold:h,padToMaxOutputSize:i},y=g.runKernel(hp,m,b);return{selectedIndices:y[0],validOutputs:y[1]}}const um=d({nonMaxSuppressionPadded_:Hv});async function zv(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=!1){const a=u(e,"boxes","nonMaxSuppressionAsync"),s=u(t,"scores","nonMaxSuppressionAsync"),c=Lt(a,s,n,r,o,null),p=c.maxOutputSize,l=c.iouThreshold,h=c.scoreThreshold,[m,b]=await Promise.all([a.data(),s.data()]),y=Aa(m,b,p,l,h,i);return a!==e&&a.dispose(),s!==t&&s.dispose(),y}const dm=zv;function Yv(e,t,n=!1){const r=u(e,"images","resizeBilinear");f(r.rank===3||r.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`);let o=r,i=!1;r.rank===3&&(i=!0,o=x(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c=(m,b)=>(b([o]),m.resizeBilinear(o,a,s,n)),p={images:o},l={alignCorners:n,size:t},h=g.runKernelFunc(c,p,null,gi,l);return i?x(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const mm=d({resizeBilinear_:Yv});function Vv(e,t,n=!1){const r=u(e,"images","resizeNearestNeighbor");f(r.rank===3||r.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),f(r.dtype==="float32"||r.dtype==="int32",()=>"`images` must have `int32` or `float32` as dtype");let o=r,i=!1;r.rank===3&&(i=!0,o=x(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c={images:o},p={alignCorners:n,size:t},l=(m,b)=>(b([o]),m.resizeNearestNeighbor(o,a,s,n)),h=g.runKernelFunc(l,c,null,fi,p);return i?x(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const fm=d({resizeNearestNeighbor_:Vv});function Kv(e,t,n){f(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),f(n%1===0,()=>`bandPart(): numUpper must be an integer, got ${n}.`);const r=u(e,"a","bandPart");f(r.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`);const o=r.shape,[i,a]=r.shape.slice(-2);if(!(t<=i))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${i}).`);if(!(n<=a))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${a}).`);t<0&&(t=i),n<0&&(n=a);const s=x(Er(0,i,1,"int32"),[-1,1]),c=Er(0,a,1,"int32"),p=_(s,c),l=yt(dt(p,k(+t,"int32")),ut(p,k(-n,"int32"))),h=Re([i,a],r.dtype);return x(Ue(We(x(r,[-1,i,a])).map(m=>Ee(l,m,h))),o)}const gm=d({bandPart_:Kv});function Jv(e){let t;if(Array.isArray(e)){t=!1,f(e!=null&&e.length>0,()=>"Gram-Schmidt process: input must not be null, undefined, or empty");const o=e[0].shape[0];for(let i=1;i`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[i].shape[0]} vs. ${o})`)}else t=!0,e=jt(e,e.shape[0],0).map(o=>zn(o,[0]));f(e.length<=e[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`);const n=[],r=e;for(let o=0;o{let i=r[o];if(o>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`),e.rank===2)return wm(e,t);{const n=e.shape.slice(0,e.shape.length-2).reduce((c,p)=>c*p),r=We(x(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),o=[],i=[];r.forEach(c=>{const[p,l]=wm(c,t);o.push(p),i.push(l)});const a=x(Ue(o,0),e.shape),s=x(Ue(i,0),e.shape);return[a,s]}}function wm(e,t=!1){return g.tidy(()=>{f(e.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`);const n=e.shape[0],r=e.shape[1];let o=ss(n),i=Rt(e);const a=ft([[1]],[1,1]);let s=Rt(a);const c=n>=r?r:n;for(let p=0;p{const b=V(i,[p,p],[n-p,1]),y=Or(b),w=V(i,[p,p],[1,1]),L=Ee(tt(w,0),ft([[-1]]),ft([[1]])),v=_(w,S(L,y)),A=U(b,v);A.shape[0]===1?s=Rt(a):s=Q([a,V(A,[1,0],[A.shape[0]-1,A.shape[1]])],0);const R=re(U(Y(L,v),y)),N=V(i,[p,0],[n-p,r]),O=S(R,s),M=Z(s);if(p===0)i=_(N,Y(O,Y(M,N)));else{const $=_(N,Y(O,Y(M,N)));i=Q([V(i,[0,0],[p,r]),$],0)}const D=Z(O),G=V(o,[0,p],[n,o.shape[1]-p]);if(p===0)o=_(G,Y(Y(G,s),D));else{const $=_(G,Y(Y(G,s),D));o=Q([V(o,[0,0],[n,p]),$],1)}return[s,i,o]}),Le([l,h,m])}return!t&&n>r&&(o=V(o,[0,0],[n,r]),i=V(i,[0,0],[r,r])),[o,i]})}const ym=d({qr_:Xv});var be;(function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"})(be||(be={}));function Zv(e,t,n=be.SUM_BY_NONZERO_WEIGHTS){const r=u(e,"losses","computeWeightedLoss");let o=null;t!=null&&(o=u(t,"weights","computeWeightedLoss"));const i=o==null?r:S(r,o);if(n===be.NONE)return i;if(n===be.SUM)return W(i);if(n===be.MEAN){if(o==null)return mn(i);{const a=r.size/o.size,s=U(W(i),W(o));return a>1?U(s,k(a)):s}}if(n===be.SUM_BY_NONZERO_WEIGHTS){if(o==null)return U(W(i),k(r.size));{const a=S(o,xt(r.shape)),s=E(W(Gn(a,k(0))),"float32");return U(W(i),s)}}throw Error(`Unknown reduction: ${n}`)}const Be=d({computeWeightedLoss_:Zv});function Qv(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){const o=u(e,"labels","absoluteDifference"),i=u(t,"predictions","absoluteDifference");let a=null;n!=null&&(a=u(n,"weights","absoluteDifference")),P(o.shape,i.shape,"Error in absoluteDifference: ");const s=Ce(_(o,i));return Be(s,a,r)}const xm=d({absoluteDifference_:Qv});function eI(e,t,n,r,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","cosineDistance"),a=u(t,"predictions","cosineDistance");let s=null;r!=null&&(s=u(r,"weights","cosineDistance")),P(i.shape,a.shape,"Error in cosineDistance: ");const c=k(1),p=_(c,W(S(i,a),n,!0));return Be(p,s,o)}const Lm=d({cosineDistance_:eI});function tI(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){let o=u(e,"labels","hingeLoss");const i=u(t,"predictions","hingeLoss");let a=null;n!=null&&(a=u(n,"weights","hingeLoss")),P(o.shape,i.shape,"Error in hingeLoss: ");const s=k(1);o=_(S(k(2),o),s);const c=se(_(s,S(o,i)));return Be(c,a,r)}const Sm=d({hingeLoss_:tI});function nI(e,t,n,r=1,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","huberLoss"),a=u(t,"predictions","huberLoss");let s=null;n!=null&&(s=u(n,"weights","huberLoss")),P(i.shape,a.shape,"Error in huberLoss: ");const c=k(r),p=Ce(_(a,i)),l=$n(p,c),h=_(p,l),m=C(S(k(.5),H(l)),S(c,h));return Be(m,s,o)}const vm=d({huberLoss_:nI});function rI(e,t,n,r=1e-7,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","logLoss"),a=u(t,"predictions","logLoss");let s=null;n!=null&&(s=u(n,"weights","logLoss")),P(i.shape,a.shape,"Error in logLoss: ");const c=k(1),p=k(r),l=re(S(i,wt(C(a,p)))),h=S(_(c,i),wt(C(_(c,a),p))),m=_(l,h);return Be(m,s,o)}const Im=d({logLoss_:rI});function oI(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){const o=u(e,"labels","meanSquaredError"),i=u(t,"predictions","meanSquaredError");let a=null;n!=null&&(a=u(n,"weights","meanSquaredError")),P(o.shape,i.shape,"Error in meanSquaredError: ");const s=Hn(o,i);return Be(s,a,r)}const Tm=d({meanSquaredError_:oI});function iI(e,t){const n=u(e,"labels","sigmoidCrossEntropyWithLogits"),r=u(t,"logits","sigmoidCrossEntropyWithLogits");P(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const o=se(r),i=S(r,n),a=cs(Oe(re(Ce(r))));return C(_(o,i),a)}function sI(e,t,n,r=0,o=be.SUM_BY_NONZERO_WEIGHTS){let i=u(e,"multiClassLabels","sigmoidCrossEntropy");const a=u(t,"logits","sigmoidCrossEntropy");let s=null;if(n!=null&&(s=u(n,"weights","sigmoidCrossEntropy")),P(i.shape,a.shape,"Error in sigmoidCrossEntropy: "),r>0){const p=k(r),l=k(1),h=k(.5);i=C(S(i,_(l,p)),S(h,p))}const c=iI(i,a);return Be(c,s,o)}const Am=d({sigmoidCrossEntropy_:sI});function aI(e,t,n=-1){if(n===-1&&(n=t.rank-1),n!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${n}`);const r=Je((o,i,a)=>{const s=!0,c=ls(i,[n],s),p=_(E(i,"float32"),c);a([o,p]);const l=re(S(p,o)),h=W(l,[n]),m=(b,y)=>{const[w,L]=y,v=we(b.shape,[n]);return[S(x(b,v),_(E(w,"float32"),Oe(L))),S(x(b,v),_(Oe(L),E(w,"float32")))]};return{value:h,gradFunc:m}});return r(e,t)}function cI(e,t,n,r=0,o=be.SUM_BY_NONZERO_WEIGHTS){let i=u(e,"onehotLabels","softmaxCrossEntropy");const a=u(t,"logits","softmaxCrossEntropy");let s=null;if(n!=null&&(s=u(n,"weights","softmaxCrossEntropy")),P(i.shape,a.shape,"Error in softmaxCrossEntropy: "),r>0){const p=k(r),l=k(1),h=k(i.shape[1]);i=C(S(i,_(l,p)),U(p,h))}const c=aI(i,a);return Be(c,s,o)}const Nm=d({softmaxCrossEntropy_:cI});const Mh={};me(Mh,{abs:()=>Ce,acos:()=>jp,acosh:()=>Pp,add:()=>C,addN:()=>qp,addStrict:()=>Fd,all:()=>Yp,any:()=>Vp,argMax:()=>Kp,argMin:()=>Jp,asin:()=>Xp,asinh:()=>Zp,atan:()=>Qp,atan2:()=>el,atanh:()=>tl,avgPool:()=>ht,avgPool3d:()=>il,basicLSTMCell:()=>gl,batchNorm:()=>Jt,batchNorm2d:()=>bl,batchNorm3d:()=>wl,batchNorm4d:()=>yl,batchToSpaceND:()=>kn,booleanMaskAsync:()=>Rd,broadcastTo:()=>Nr,buffer:()=>Me,cast:()=>E,ceil:()=>xl,clipByValue:()=>Ll,clone:()=>Rt,complex:()=>Ve,concat:()=>Q,concat1d:()=>Sl,concat2d:()=>vl,concat3d:()=>Il,concat4d:()=>Tl,conv1d:()=>Al,conv2d:()=>ve,conv2dTranspose:()=>Nl,conv3d:()=>Rl,conv3dTranspose:()=>Cl,cos:()=>_n,cosh:()=>ns,cosineWindow:()=>kr,cumsum:()=>rs,depthToSpace:()=>El,depthwiseConv2d:()=>Dn,diag:()=>Ol,dilation2d:()=>kl,div:()=>U,divNoNan:()=>_l,divStrict:()=>Md,dot:()=>Dl,dropout:()=>Qd,elu:()=>is,enclosingPowerOfTwo:()=>xa,equal:()=>Xt,equalStrict:()=>Cd,erf:()=>Fl,exp:()=>Oe,expandDims:()=>et,expm1:()=>Ml,eye:()=>ss,fft:()=>Fn,fill:()=>Ge,floor:()=>Mn,floorDiv:()=>os,fused:()=>Dh,gather:()=>Un,gatherND:()=>Xd,greater:()=>tt,greaterEqual:()=>ut,greaterEqualStrict:()=>Ed,greaterStrict:()=>Od,ifft:()=>dn,imag:()=>Qt,image:()=>Ra,inTopKAsync:()=>em,irfft:()=>as,isFinite:()=>Wl,isInf:()=>Bl,isNaN:()=>$l,leakyRelu:()=>Gl,less:()=>Wn,lessEqual:()=>dt,lessEqualStrict:()=>kd,lessStrict:()=>_d,linalg:()=>Em,linspace:()=>jl,localResponseNormalization:()=>Pl,log:()=>wt,log1p:()=>cs,logSigmoid:()=>Hl,logSoftmax:()=>zl,logSumExp:()=>ls,logicalAnd:()=>yt,logicalNot:()=>Bn,logicalOr:()=>hs,logicalXor:()=>Yl,losses:()=>Om,matMul:()=>Y,max:()=>mt,maxPool:()=>Ie,maxPool3d:()=>Vl,maxPoolWithArgmax:()=>Kl,maximum:()=>Ct,maximumStrict:()=>Ud,mean:()=>mn,min:()=>fn,minimum:()=>$n,minimumStrict:()=>Wd,mod:()=>us,modStrict:()=>Bd,moments:()=>Jl,movingAverage:()=>Hd,mul:()=>S,mulStrict:()=>$d,multiRNNCell:()=>Xl,multinomial:()=>Zl,neg:()=>re,norm:()=>Or,notEqual:()=>Gn,notEqualStrict:()=>Dd,oneHot:()=>Cr,ones:()=>xt,onesLike:()=>ga,op:()=>d,outerProduct:()=>Ql,pad:()=>je,pad1d:()=>eh,pad2d:()=>th,pad3d:()=>nh,pad4d:()=>rh,pool:()=>oh,pow:()=>Xe,powStrict:()=>Gd,prelu:()=>ds,print:()=>ih,prod:()=>sh,rand:()=>ah,randomGamma:()=>hh,randomNormal:()=>uh,randomUniform:()=>fs,range:()=>Er,real:()=>Gt,reciprocal:()=>dh,relu:()=>se,relu6:()=>gs,reshape:()=>x,reverse:()=>Ke,reverse1d:()=>mh,reverse2d:()=>fh,reverse3d:()=>gh,reverse4d:()=>bh,rfft:()=>Pn,round:()=>yh,rsqrt:()=>bs,scalar:()=>k,scatterND:()=>Vd,selu:()=>xh,separableConv2d:()=>qn,setdiff1dAsync:()=>Lh,sigmoid:()=>Nt,sign:()=>Sh,signal:()=>Cm,sin:()=>ws,sinh:()=>ys,slice:()=>V,slice1d:()=>vh,slice2d:()=>Ih,slice3d:()=>xs,slice4d:()=>Th,softmax:()=>en,softplus:()=>ps,spaceToBatchND:()=>jn,sparseToDense:()=>Jd,spectral:()=>Rm,split:()=>jt,sqrt:()=>de,square:()=>H,squaredDifference:()=>Hn,squaredDifferenceStrict:()=>jd,squeeze:()=>zn,stack:()=>Ue,step:()=>Et,stridedSlice:()=>Ah,sub:()=>_,subStrict:()=>Pd,sum:()=>W,tan:()=>Nh,tanh:()=>Ar,tensor:()=>Ye,tensor1d:()=>ge,tensor2d:()=>ft,tensor3d:()=>Ls,tensor4d:()=>Pt,tensor5d:()=>Rh,tensor6d:()=>Ch,tile:()=>Zt,topk:()=>Eh,transpose:()=>Z,truncatedNormal:()=>Oh,unsortedSegmentSum:()=>Ss,unstack:()=>We,variable:()=>kh,where:()=>Ee,whereAsync:()=>vs,zeros:()=>Re,zerosLike:()=>B});const Rm={fft:Fn,ifft:dn,rfft:Pn,irfft:as},Cm={hammingWindow:tm,hannWindow:va,frame:Ia,stft:nm},Ra={flipLeftRight:om,resizeNearestNeighbor:fm,resizeBilinear:mm,rotateWithOffset:im,cropAndResize:rm,nonMaxSuppression:sm,nonMaxSuppressionAsync:pm,nonMaxSuppressionWithScore:lm,nonMaxSuppressionWithScoreAsync:hm,nonMaxSuppressionPadded:um,nonMaxSuppressionPaddedAsync:dm},Em={bandPart:gm,gramSchmidt:bm,qr:ym},Om={absoluteDifference:xm,computeWeightedLoss:Be,cosineDistance:Lm,hingeLoss:Sm,huberLoss:vm,logLoss:Im,meanSquaredError:Tm,sigmoidCrossEntropy:Am,softmaxCrossEntropy:Nm};ld(Mh);const Is={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};const Ca=4;async function lI(e,t){const n=[],r=[],o=Array.isArray(e)?e.map(a=>a.name):Object.keys(e);for(let a=0;a{const m=await c.bytes(),b=m.reduce((L,v)=>L+v.length,0)+Ca*m.length,y=new Uint8Array(b);let w=0;for(let L=0;L{if(t+=i.byteLength,n.push(i.byteLength===i.buffer.byteLength?i:new i.constructor(i)),!(i instanceof Float32Array||i instanceof Int32Array||i instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${i.constructor.name}`)});const r=new Uint8Array(t);let o=0;return n.forEach(i=>{r.set(new Uint8Array(i.buffer),o),o+=i.byteLength}),r.buffer}const uI=typeof Buffer!="undefined"&&(typeof Blob=="undefined"||typeof atob=="undefined"||typeof btoa=="undefined");function km(e){return uI?Buffer.byteLength(e):new Blob([e]).size}function Ts(e){if(e.length===1)return e[0];let t=0;e.forEach(o=>{t+=o.byteLength});const n=new Uint8Array(t);let r=0;return e.forEach(o=>{n.set(new Uint8Array(o),r),r+=o.byteLength}),n.buffer}function Wh(e){const t="/";for(e=e.trim();e.endsWith(t);)e=e.slice(0,e.length-1);const n=e.split(t);return n[n.length-1]}function As(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date(),modelTopologyType:"JSON",modelTopologyBytes:e.modelTopology==null?0:km(JSON.stringify(e.modelTopology)),weightSpecsBytes:e.weightSpecs==null?0:km(JSON.stringify(e.weightSpecs)),weightDataBytes:e.weightData==null?0:e.weightData.byteLength}}function dI(){const e=n=>{let r=n<<13,o=0;for(;(r&8388608)===0;)o-=8388608,r<<=1;return r&=~8388608,o+=947912704,r|o},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let n=1024;n<2048;n++)t[n]=939524096+(n-1024<<13);return t}function mI(){const e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}function fI(){const e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}function hI(){const e=dI(),t=mI(),n=fI();return r=>{const o=new ArrayBuffer(4*r.length),i=new Uint32Array(o);for(let a=0;a>10]+(s&1023)]+t[s>>10];i[a]=c}return new Float32Array(o)}}class Te{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Te.instance==null&&(Te.instance=new Te()),Te.instance}static registerSaveRouter(e){Te.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Te.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Te.getHandlers(e,"save")}static getLoadHandlers(e,t){return Te.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[],o=t==="load"?Te.getInstance().loadRouters:Te.getInstance().saveRouters;return o.forEach(i=>{const a=i(e,n);a!==null&&r.push(a)}),r}}const gI=e=>Te.registerSaveRouter(e),bI=e=>Te.registerLoadRouter(e),wI=e=>Te.getSaveHandlers(e),yI=(e,t)=>Te.getLoadHandlers(e,t);const Dr="://";class Ot{constructor(){this.managers={}}static getInstance(){return Ot.instance==null&&(Ot.instance=new Ot()),Ot.instance}static registerManager(e,t){f(e!=null,()=>"scheme must not be undefined or null."),e.endsWith(Dr)&&(e=e.slice(0,e.indexOf(Dr))),f(e.length>0,()=>"scheme must not be an empty string.");const n=Ot.getInstance();f(n.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),n.managers[e]=t}static getManager(e){const t=this.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}}function Ea(e){if(e.indexOf(Dr)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${Ot.getSchemes().join(",")}`);return{scheme:e.split(Dr)[0],path:e.split(Dr)[1]}}async function _m(e,t,n=!1){f(e!==t,()=>`Old path and new path are the same: '${e}'`);const r=Te.getLoadHandlers(e);f(r.length>0,()=>`Copying failed because no load handler is found for source URL ${e}.`),f(r.length<2,()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`);const o=r[0],i=Te.getSaveHandlers(t);f(i.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),f(i.length<2,()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`);const a=i[0],s=Ea(e).scheme,c=Ea(e).path,p=s===Ea(e).scheme,l=await o.load();n&&p&&await Ot.getManager(s).removeModel(c);const h=await a.save(l);return n&&!p&&await Ot.getManager(s).removeModel(c),h.modelArtifactsInfo}async function Dm(){const e=Ot.getSchemes(),t={};for(const n of e){const r=await Ot.getManager(n).listModels();for(const o in r){const i=n+Dr+o;t[i]=r[o]}}return t}async function Fm(e){const t=Ea(e),n=Ot.getManager(t.scheme);return n.removeModel(t.path)}async function Mm(e,t){const n=!1;return _m(e,t,n)}async function Um(e,t){const n=!0;return _m(e,t,n)}const xI="model",LI=".json",SI=".weights.bin";function Wm(e){return new Promise(t=>setTimeout(t)).then(e)}class Fr{constructor(e){if(!ce().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith(Fr.URL_SCHEME)&&(e=e.slice(Fr.URL_SCHEME.length)),(e==null||e.length===0)&&(e=xI),this.modelTopologyFileName=e+LI,this.weightDataFileName=e+SI}async save(e){if(typeof document=="undefined")throw new Error("Browser downloads are not supported in this environment since `document` is not present");const t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},o=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:"application/json"})),i=this.jsonAnchor==null?document.createElement("a"):this.jsonAnchor;if(i.download=this.modelTopologyFileName,i.href=o,await Wm(()=>i.dispatchEvent(new MouseEvent("click"))),e.weightData!=null){const a=this.weightDataAnchor==null?document.createElement("a"):this.weightDataAnchor;a.download=this.weightDataFileName,a.href=t,await Wm(()=>a.dispatchEvent(new MouseEvent("click")))}return{modelArtifactsInfo:As(e)}}}}Fr.URL_SCHEME="downloads://";class vI{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.files=e}async load(){const e=this.files[0],t=this.files.slice(1);return new Promise((n,r)=>{const o=new FileReader();o.onload=i=>{const a=JSON.parse(i.target.result),s=a.modelTopology;if(s==null){r(new Error(`modelTopology field is missing from file ${e.name}`));return}t.length===0&&n({modelTopology:s});const c=a.weightsManifest;if(c==null){r(new Error(`weightManifest field is missing from file ${e.name}`));return}let p;try{p=this.checkManifestAndWeightFiles(c,t)}catch(b){r(b);return}const l=[],h=[],m=[];c.forEach(b=>{b.paths.forEach(y=>{h.push(y),m.push(null)}),l.push(...b.weights)}),c.forEach(b=>{b.paths.forEach(y=>{const w=new FileReader();w.onload=L=>{const v=L.target.result,A=h.indexOf(y);m[A]=v,m.indexOf(null)===-1&&n({modelTopology:s,weightSpecs:l,weightData:Ts(m),format:a.format,generatedBy:a.generatedBy,convertedBy:a.convertedBy,userDefinedMetadata:a.userDefinedMetadata})},w.onerror=L=>r(`Failed to weights data from file of path '${y}'.`),w.readAsArrayBuffer(p[y])})})},o.onerror=i=>r(`Failed to read model topology and weights manifest JSON from file '${e.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),o.readAsText(e)})}checkManifestAndWeightFiles(e,t){const n=[],r=t.map(i=>Wh(i.name)),o={};for(const i of e)i.paths.forEach(a=>{const s=Wh(a);if(n.indexOf(s)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(n.push(s),r.indexOf(s)===-1)throw new Error(`Weight file with basename '${s}' is not provided.`);o[a]=t[r.indexOf(s)]});if(n.length!==t.length)throw new Error(`Mismatch in the number of files in weights manifest (${n.length}) and the number of weight files provided (${t.length}).`);return o}}const TI=e=>ce().getBool("IS_BROWSER")&&(!Array.isArray(e)&&e.startsWith(Fr.URL_SCHEME))?II(e.slice(Fr.URL_SCHEME.length)):null;Te.registerSaveRouter(TI);function II(e="model"){return new Fr(e)}function AI(e){return new vI(e)}function Bh(e,t,n,r){a(e),n=n==null?0:n,r=r==null?1:r,s(n,r);let o=0;const i=c=>(c.then(p=>{const l=n+ ++o/e.length*(r-n);return t(l),p}),c);function a(c){f(c!=null&&Array.isArray(c)&&c.length>0,()=>"promises must be a none empty array")}function s(c,p){f(c>=0&&c<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${c}`),f(p>=0&&p<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${p}`),f(p>=c,()=>`startFraction must be no more than endFraction, but got startFraction ${c} and endFraction ${p}`)}return Promise.all(e.map(i))}async function $h(e,t){t==null&&(t={});const n=t.fetchFunc==null?ce().platform.fetch:t.fetchFunc,r=e.map(h=>n(h,t.requestInit,{isBinary:!0})),o=0,i=.5,a=t.onProgress==null?await Promise.all(r):await Bh(r,t.onProgress,o,i),s=a.map(h=>h.arrayBuffer()),c=.5,p=1,l=t.onProgress==null?await Promise.all(s):await Bh(s,t.onProgress,c,p);return l}async function NI(e,t="",n,r){const o=a=>$h(a,{requestInit:r}),i=Bm(o);return i(e,t,n)}function Bm(e){return async(t,n="",r)=>{const o=t.map(()=>!1),i={},a=r!=null?r.map(()=>!1):[],s=[];if(t.forEach((b,y)=>{let w=0;b.weights.forEach(L=>{const v="quantization"in L?L.quantization.dtype:L.dtype,A=Is[v]*te(L.shape),R=()=>{o[y]=!0,i[y]==null&&(i[y]=[]),i[y].push({manifestEntry:L,groupOffset:w,sizeBytes:A})};r!=null?r.forEach((N,O)=>{N===L.name&&(R(),a[O]=!0)}):R(),s.push(L.name),w+=A})}),!a.every(b=>b)){const b=r.filter((y,w)=>!a[w]);throw new Error(`Could not find weights in manifest with names: ${b.join(", ")}. -Manifest JSON has weights with names: ${s.join(", ")}.`)}const c=o.reduce((b,y,w)=>(y&&b.push(w),b),[]),p=[];c.forEach(b=>{t[b].paths.forEach(y=>{const w=n+(n.endsWith("/")?"":"/")+y;p.push(w)})});const l=await e(p),h={};let m=0;return c.forEach(b=>{const y=t[b].paths.length;let w=0;for(let N=0;N{const O=L.slice(N.groupOffset,N.groupOffset+N.sizeBytes),M=Uh(O,[N.manifestEntry]);for(const D in M)h[D]=M[D]}),m+=y}),h}}const RI="application/octet-stream",CI="application/json";class Gh{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,t.fetchFunc!=null?(f(typeof t.fetchFunc=="function",()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)"),this.fetch=t.fetchFunc):this.fetch=ce().platform.fetch,f(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&f(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData();const n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,userDefinedMetadata:e.userDefinedMetadata,weightsManifest:n};t.body.append("model.json",new Blob([JSON.stringify(r)],{type:CI}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:RI}),"model.weights.bin");const o=await this.fetch(this.path,t);if(o.ok)return{modelArtifactsInfo:As(e),responses:[o]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${o.status}.`)}async load(){const e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(l){let h=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?h+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":h+=" Please make sure the server is serving valid JSON for this request.",new Error(h)}const n=t.modelTopology,r=t.weightsManifest,o=t.generatedBy,i=t.convertedBy,a=t.format,s=t.userDefinedMetadata;if(n==null&&r==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);let c,p;if(r!=null){const l=await this.loadWeights(r);[c,p]=l}return{modelTopology:n,weightSpecs:c,weightData:p,userDefinedMetadata:s,generatedBy:o,convertedBy:i,format:a}}async loadWeights(e){const t=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=EI(t),o=this.weightPathPrefix||n,i=[];for(const c of e)i.push(...c.weights);const a=[];e.forEach(c=>{c.paths.forEach(p=>{a.push(o+p+r)})});const s=await $h(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[i,Ts(s)]}}Gh.URL_SCHEME_REGEX=/^https?:\/\//;function EI(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),r=e.substring(0,t),o=n>t?e.substring(n):"";return[r+"/",o]}function jh(e){return e.match(Gh.URL_SCHEME_REGEX)!=null}const $m=(e,t)=>{if(typeof fetch=="undefined"&&(t==null||t.fetchFunc==null))return null;{let n=!0;if(Array.isArray(e)?n=e.every(r=>jh(r)):n=jh(e),n)return Ph(e,t)}return null};Te.registerSaveRouter($m);Te.registerLoadRouter($m);function Ph(e,t){return new Gh(e,t)}function OI(e,t){return Ph(e,t)}class qh{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}}class kI{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}}function _I(e,t,n,r){if(arguments.length===1){const o=e.modelTopology!=null||e.weightSpecs!=null;return o?new qh(e):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new qh({modelTopology:e}))}else return console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new qh({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:r})}function DI(e){return new kI(e)}const Mr={};me(Mr,{browserFiles:()=>AI,browserHTTPRequest:()=>OI,concatenateArrayBuffers:()=>Ts,copyModel:()=>Mm,decodeWeights:()=>Uh,encodeWeights:()=>lI,fromMemory:()=>_I,getLoadHandlers:()=>yI,getModelArtifactsInfoForJSON:()=>As,getSaveHandlers:()=>wI,http:()=>Ph,isHTTPScheme:()=>jh,listModels:()=>Dm,loadWeights:()=>NI,moveModel:()=>Um,registerLoadRouter:()=>bI,registerSaveRouter:()=>gI,removeModel:()=>Fm,weightsLoaderFactory:()=>Bm,withSaveHandler:()=>DI});function FI(e,t,n){const r=u(e,"labels","confusionMatrix"),o=u(t,"predictions","confusionMatrix");f(n==null||n>0&&Number.isInteger(n),()=>`If provided, numClasses must be a positive integer, but got ${n}`),f(r.rank===1,()=>`Expected the rank of labels to be 1, but got ${r.rank}`),f(o.rank===1,()=>`Expected the rank of predictions to be 1, but got ${o.rank}`),f(r.shape[0]===o.shape[0],()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${o.shape[0]}. Labels and predictions should have the same number of elements.`),f(n>0&&Number.isInteger(n),()=>`numClasses is required to be a positive integer, but got ${n}`);const i=Cr(E(r,"int32"),n),a=Cr(E(o,"int32"),n),s=Z(i);return E(Y(s,a),"int32")}const MI=d({confusionMatrix_:FI});const Gm={};me(Gm,{confusionMatrix:()=>MI});const Ur={};me(Ur,{fromPixels:()=>BI,toPixels:()=>WI});let Wr;function UI(e,t=3){if(t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(e==null)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,o=!1,i=!1,a=!1;if(e.data instanceof Uint8Array)n=!0;else if(typeof ImageData!="undefined"&&e instanceof ImageData)r=!0;else if(typeof HTMLVideoElement!="undefined"&&e instanceof HTMLVideoElement)o=!0;else if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement)i=!0;else if(e.getContext!=null)a=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${e.constructor.name}`);if(o){const b=2;if(o&&e.readyState element.")}const s=Hi(na,g.backendName);if(s!=null){const b={pixels:e},y={numChannels:t};return g.runKernel(na,b,y)}const[c,p]=o?[e.videoWidth,e.videoHeight]:[e.width,e.height];let l;a?l=e.getContext("2d").getImageData(0,0,c,p).data:r||n?l=e.data:(i||o)&&(Wr==null&&(Wr=document.createElement("canvas").getContext("2d")),Wr.canvas.width=c,Wr.canvas.height=p,Wr.drawImage(e,0,0,c,p),l=Wr.getImageData(0,0,c,p).data);let h;if(t===4)h=new Int32Array(l);else{const b=c*p;h=new Int32Array(b*t);for(let y=0;y4||i===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${i}`);const a=await n.data(),s=fn(n),c=mt(n),p=await Promise.all([s.data(),c.data()]),l=p[0],h=p[1],m=l[0],b=h[0];if(s.dispose(),c.dispose(),n.dtype==="float32"){if(m<0||b>1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but got range [${m} - ${b}].`)}else if(n.dtype==="int32"){if(m<0||b>255)throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but got range [${m} - ${b}].`)}else throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const y=n.dtype==="float32"?255:1,w=new Uint8ClampedArray(o*r*4);for(let L=0;LPm});function Pm(e,t){if(e.rank<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e.rank}.`);if(t.rank<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${t.rank}.`);if(t.dtype!=="int32")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[t.rank-1]>e.rank)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[t.rank-1]} vs. ${e.rank}`);if(e.size===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);const n=t.shape,r=n[n.length-1];let o=1;for(let p=0;pp/s),1].slice(0,r);return[a,o,s,c]}const qm={};me(qm,{Serializable:()=>Hh,SerializationMap:()=>Xn,registerClass:()=>nt});class Hh{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class Xn{constructor(){this.classNameMap={}}static getMap(){return Xn.instance==null&&(Xn.instance=new Xn()),Xn.instance}static register(e){Xn.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function nt(e){f(e.className!=null,()=>"Class being registered does not have the static className property defined."),f(typeof e.className=="string",()=>"className is required to be a string, but got type "+typeof e.className),f(e.className.length>0,()=>"Class being registered has an empty-string as its className, which is disallowed."),Xn.register(e)}const $I="2.3.0";class it extends Hh{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(n!=null){const i=n.map(a=>({name:a.name,tensor:o[a.name]}));this.applyGradients(i)}else this.applyGradients(o);return Le(o),t?r:(r.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return ql(e,t)}dispose(){this.iterations_!=null&&Le(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:k(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(it,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});class Zn extends it{constructor(e,t,n=null){super();this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n],i=!1;this.accumulatedGrads[r]==null&&(this.accumulatedGrads[r]={originalName:`${n}/accum_grad`,variable:F(()=>B(o).variable(i))}),this.accumulatedUpdates[r]==null&&(this.accumulatedUpdates[r]={originalName:`${n}/accum_var`,variable:F(()=>B(o).variable(i))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedGrads[r].variable,c=this.accumulatedUpdates[r].variable;F(()=>{const p=C(S(s,this.rho),S(H(a),1-this.rho)),l=S(U(de(C(c,this.epsilon)),de(C(s,this.epsilon))),a),h=C(S(c,this.rho),S(H(l),1-this.rho));s.assign(p),c.assign(h);const m=C(S(l,-this.learningRate),o);o.assign(m)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Le(this.accumulatedGrads.map(e=>e.variable)),Le(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=e.length/2,n=!1;this.accumulatedGrads=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedUpdates=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}Zn.className="Adadelta";nt(Zn);class Qn extends it{constructor(e,t=.1){super();this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n];if(this.accumulatedGrads[r]==null){const s=!1;this.accumulatedGrads[r]={originalName:`${n}/accumulator`,variable:F(()=>Ge(o.shape,this.initialAccumulatorValue).variable(s))}}const i=Array.isArray(e)?e[r].tensor:e[n];if(i==null)return;const a=this.accumulatedGrads[r].variable;F(()=>{const s=C(a,H(i));a.assign(s);const c=C(S(U(i,de(C(s,g.backend.epsilon()))),-this.learningRate),o);o.assign(c)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Le(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulatedGrads=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}Qn.className="Adagrad";nt(Qn);class er extends it{constructor(e,t,n,r=null){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],F(()=>{this.accBeta1=k(t).variable(),this.accBeta2=k(n).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);F(()=>{const n=_(1,this.accBeta1),r=_(1,this.accBeta2);t.forEach((o,i)=>{const a=g.registeredVariables[o],s=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${o}/m`,variable:F(()=>B(a).variable(s))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${o}/v`,variable:F(()=>B(a).variable(s))});const c=Array.isArray(e)?e[i].tensor:e[o];if(c==null)return;const p=this.accumulatedFirstMoment[i].variable,l=this.accumulatedSecondMoment[i].variable,h=C(S(p,this.beta1),S(c,1-this.beta1)),m=C(S(l,this.beta2),S(H(c),1-this.beta2)),b=U(h,n),y=U(m,r);p.assign(h),l.assign(m);const w=C(S(U(b,C(de(y),this.epsilon)),-this.learningRate),a);a.assign(w)}),this.accBeta1.assign(S(this.accBeta1,this.beta1)),this.accBeta2.assign(S(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Le(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&Le(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),F(()=>{this.accBeta1.assign(Xe(this.beta1,this.iterations_+1)),this.accBeta2.assign(Xe(this.beta2,this.iterations_+1))});const t=e.length/2,n=!1;this.accumulatedFirstMoment=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}er.className="Adam";nt(er);class tr extends it{constructor(e,t,n,r=null,o=0){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],F(()=>{this.iteration=k(0).variable(),this.accBeta1=k(t).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);F(()=>{const n=_(1,this.accBeta1),r=U(-this.learningRate,C(S(this.iteration,this.decay),1));t.forEach((o,i)=>{const a=g.registeredVariables[o],s=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${o}/m`,variable:B(a).variable(s)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${o}/v`,variable:B(a).variable(s)});const c=Array.isArray(e)?e[i].tensor:e[o];if(c==null)return;const p=this.accumulatedFirstMoment[i].variable,l=this.accumulatedWeightedInfNorm[i].variable,h=C(S(p,this.beta1),S(c,1-this.beta1)),m=S(l,this.beta2),b=Ce(c),y=Ct(m,b);p.assign(h),l.assign(y);const w=C(S(U(r,n),U(h,C(y,this.epsilon))),a);a.assign(w)}),this.iteration.assign(C(this.iteration,1)),this.accBeta1.assign(S(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Le(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&Le(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}tr.className="Adamax";nt(tr);class tn extends it{constructor(e){super();this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=Array.isArray(e)?e[r].tensor:e[n];if(o==null)return;const i=g.registeredVariables[n];F(()=>{const a=C(S(this.c,o),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=ol(k(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}tn.className="SGD";nt(tn);class nr extends tn{constructor(e,t,n=!1){super(e);this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=k(this.momentum)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n];if(this.accumulations[r]==null){const s=!1;this.accumulations[r]={originalName:`${n}/momentum`,variable:F(()=>B(o).variable(s))}}const i=this.accumulations[r].variable,a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;F(()=>{let s;const c=C(S(this.m,i),a);this.useNesterov?s=C(S(this.c,C(a,S(c,this.m))),o):s=C(S(this.c,c),o),i.assign(c),o.assign(s)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Le(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulations=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}nr.className="Momentum";nt(nr);class rr extends it{constructor(e,t=.9,n=0,r=null,o=!1){super();if(this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,r==null&&(this.epsilon=g.backend.epsilon()),e==null)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n],i=!1;this.accumulatedMeanSquares[r]==null&&(this.accumulatedMeanSquares[r]={originalName:`${n}/rms`,variable:F(()=>B(o).variable(i))}),this.accumulatedMoments[r]==null&&(this.accumulatedMoments[r]={originalName:`${n}/momentum`,variable:F(()=>B(o).variable(i))}),this.accumulatedMeanGrads[r]==null&&this.centered&&(this.accumulatedMeanGrads[r]={originalName:`${n}/mg`,variable:F(()=>B(o).variable(i))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedMeanSquares[r].variable,c=this.accumulatedMoments[r].variable;F(()=>{const p=C(S(s,this.decay),S(H(a),1-this.decay));if(this.centered){const l=this.accumulatedMeanGrads[r].variable,h=C(S(l,this.decay),S(a,1-this.decay)),m=U(S(a,this.learningRate),de(_(p,C(H(h),this.epsilon)))),b=C(S(c,this.momentum),m);s.assign(p),l.assign(h),c.assign(b);const y=_(o,b);o.assign(y)}else{const l=C(S(s,this.decay),S(H(a),1-this.decay)),h=C(S(c,this.momentum),U(S(a,this.learningRate),de(C(l,this.epsilon))));s.assign(l),c.assign(h);const m=_(o,h);o.assign(m)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Le(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Le(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&Le(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedMoments=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}rr.className="RMSProp";nt(rr);class gn{static sgd(e){return new tn(e)}static momentum(e,t,n=!1){return new nr(e,t,n)}static rmsprop(e,t=.9,n=0,r=null,o=!1){return new rr(e,t,n,r,o)}static adam(e=.001,t=.9,n=.999,r=null){return new er(e,t,n,r)}static adadelta(e=.001,t=.95,n=null){return new Zn(e,t,n)}static adamax(e=.002,t=.9,n=.999,r=null,o=0){return new tr(e,t,n,r,o)}static adagrad(e,t=.1){return new Qn(e,t)}}nr,tn,Zn,Qn,rr,tr,er;const GI={sgd:gn.sgd,momentum:gn.momentum,adadelta:gn.adadelta,adagrad:gn.adagrad,rmsprop:gn.rmsprop,adamax:gn.adamax,adam:gn.adam};const jI=(()=>typeof requestAnimationFrame!="undefined"?requestAnimationFrame:typeof setImmediate!="undefined"?setImmediate:e=>e())();function PI(){return new Promise(e=>jI(()=>e()))}function qI(e,t,n){const r=n*(typeof e=="number"?e:e[0]),o=t*(typeof e=="number"?e:e[1]);return[r,o]}function HI(e,t,n,r=!0){let o=[];if(r)o=o.concat(t.slice(0)),o.push(e[0]/n),o=o.concat(e.slice(1));else{o=o.concat(e[0]);const i=t.length;for(let a=0;a=t*2+1||a%2===1?i.push(a):o.push(a);r.push(...o),r.push(0),r.push(...i)}return r}function YI(e,t,n,r=!0){const o=[];r?o.push(e[0]/n):o.push(e[0]*n);for(let i=1;iXI,ERF_A2:()=>ZI,ERF_A3:()=>QI,ERF_A4:()=>eT,ERF_A5:()=>tT,ERF_P:()=>JI,PARALLELIZE_THRESHOLD:()=>ma,SELU_SCALE:()=>Yh,SELU_SCALEALPHA:()=>zh,applyActivation:()=>Kn,assertAndGetBroadcastShape:()=>q,assertAxesAreInnerMostDims:()=>dy,assertParamsConsistent:()=>sl,assignToTypedArray:()=>pT,axesAreInnerMostDims:()=>Hp,calculateShapes:()=>Yd,castTensor:()=>uT,combineLocations:()=>wd,complexWithEvenIndex:()=>sT,complexWithOddIndex:()=>aT,computeConv2DInfo:()=>$e,computeConv3DInfo:()=>un,computeDefaultPad:()=>rl,computeDilation2DInfo:()=>Ay,computeOptimalWindowSize:()=>Jx,computeOutAndReduceShapes:()=>zp,computeOutShape:()=>al,computePool2DInfo:()=>At,computePool3DInfo:()=>Kt,convertConv2DDataFormat:()=>hn,eitherStridesOrDilationsAreOne:()=>pe,expandShapeToKeepDim:()=>we,exponent:()=>hT,exponents:()=>lT,getAxesPermutation:()=>fe,getBroadcastDims:()=>Fx,getComplexWithIndex:()=>cT,getFusedBiasGradient:()=>Vn,getFusedDyActivation:()=>Yn,getImageCenter:()=>qI,getInnerMostAxes:()=>De,getPermuted:()=>zI,getReductionAxes:()=>ae,getReshaped:()=>HI,getReshapedPermuted:()=>YI,getSliceBeginCoords:()=>VI,getSliceSize:()=>KI,getUndoAxesPermutation:()=>En,linspaceImpl:()=>mT,log:()=>rT,mergeRealAndImagArrays:()=>oT,prepareAndValidate:()=>Pm,prepareSplitSize:()=>wh,reshapeTensor:()=>dT,segment_util:()=>vd,shouldFuse:()=>Jn,splitRealAndImagArrays:()=>iT,tupleValuesAreOne:()=>lt,upcastType:()=>Ir,validateInput:()=>ya,validateUpdateShape:()=>_h,warn:()=>nT});function uT(e,t,n){if(t==="complex64"){if(e.dtype==="complex64")return e.clone();const r=Re(e.shape),o=E(e,"float32"),i=n.complex(o,r);return r.dispose(),o.dispose(),i}if(!Ep(e.dtype,t))return g.makeTensorFromDataId(e.dataId,e.shape,t);if(e.dtype==="complex64"){const r=n.real(e),o=E(r,t);return r.dispose(),o}if(t==="int32")return n.int(e);if(t==="bool"){const r=k(0,e.dtype),o=n.notEqual(e,r);return r.dispose(),o}else throw new Error(`Error in Cast: failed to cast ${e.dtype} to ${t}`)}function dT(e,t){return g.makeTensorFromDataId(e.dataId,t,e.dtype)}function mT(e,t,n){const r=(t-e)/(n-1),o=Wt(n,"float32");o[0]=e;for(let i=1;i{const a=[...o];a[n]=i;const s=V(e,r,a);return r[n]+=i,s})}function Ym(e,t){const n=new Array(e.rank);for(let o=0;oR.value-A.value);const w=h*r,L=c.subarray(w,w+r),v=p.subarray(w,w+r);for(let A=0;ATa,nonMaxSuppressionV4Impl:()=>Aa,nonMaxSuppressionV5Impl:()=>Na,split:()=>zm,tile:()=>Ym,topkImpl:()=>Vm,whereImpl:()=>wa});const fT=1e-7,gT=1e-4;class bT{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap(),this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}}class wT{time(e){return I("time")}read(e){return I("read")}readSync(e){return I("readSync")}numDataIds(){return I("numDataIds")}disposeData(e){return I("disposeData")}write(e,t,n){return I("write")}move(e,t,n,r){return I("move")}memory(){return I("memory")}floatPrecision(){return I("floatPrecision")}epsilon(){return this.floatPrecision()===32?fT:gT}batchMatMul(e,t,n,r){return I("batchMatMul")}fusedBatchMatMul({a:e,b:t,transposeA:n,transposeB:r,bias:o,activation:i,preluActivationWeights:a}){return I("fusedBatchMatMul")}slice(e,t,n){return I("slice")}stridedSlice(e,t,n,r){return I("stridedSlice")}unstack(e,t){return I("unstack")}reverse(e,t){return I("reverse")}concat(e,t){return I("concat")}neg(e){return I("neg")}add(e,t){return I("add")}addN(e){return I("addN")}subtract(e,t){return I("subtract")}multiply(e,t){return I("multiply")}realDivide(e,t){return I("realDivide")}floorDiv(e,t){return I("floorDiv")}sum(e,t){return I("sum")}prod(e,t){return I("prod")}unsortedSegmentSum(e,t,n){return I("unsortedSegmentSum")}argMin(e,t){return I("argMin")}argMax(e,t){return I("argMax")}equal(e,t){return I("equal")}notEqual(e,t){return I("notEqual")}less(e,t){return I("less")}lessEqual(e,t){return I("lessEqual")}greater(e,t){return I("greater")}greaterEqual(e,t){return I("greaterEqual")}logicalNot(e){return I("logicalNot")}logicalAnd(e,t){return I("logicalAnd")}logicalOr(e,t){return I("logicalOr")}where(e){return I("where")}select(e,t,n){return I("select")}topk(e,t,n){return I("topk")}min(e,t){return I("min")}minimum(e,t){return I("minimum")}mod(e,t){return I("mod")}max(e,t){return I("max")}maximum(e,t){return I("maximum")}all(e,t){return I("all")}any(e,t){return I("any")}squaredDifference(e,t){return I("squaredDifference")}ceil(e){return I("ceil")}floor(e){return I("floor")}round(e){return I("round")}sign(e){return I("sign")}isNaN(e){return I("isNaN")}isInf(e){return I("isInf")}isFinite(e){return I("isFinite")}pow(e,t){return I("pow")}exp(e){return I("exp")}expm1(e){return I("expm1")}softmax(e,t){return I("softmax")}log(e){return I("log")}log1p(e){return I("log1p")}sqrt(e){return I("sqrt")}rsqrt(e){return I("rsqrt")}square(e){return I("square")}reciprocal(e){return I("reciprocal")}relu(e){return I("relu")}relu6(e){return I("relu6")}prelu(e,t){return I("prelu")}elu(e){return I("elu")}eluDer(e,t){return I("eluDer")}selu(e){return I("selu")}int(e){return I("int")}clip(e,t,n){return I("clip")}abs(e){return I("abs")}complexAbs(e){return I("complexAbs")}sigmoid(e){return I("sigmoid")}softplus(e){return I("softplus")}sin(e){return I("sin")}cos(e){return I("cos")}tan(e){return I("tan")}asin(e){return I("asin")}acos(e){return I("acos")}atan(e){return I("atan")}atan2(e,t){return I("atan2")}sinh(e){return I("sinh")}cosh(e){return I("cosh")}tanh(e){return I("tanh")}asinh(e){return I("asinh")}acosh(e){return I("acosh")}atanh(e){return I("atanh")}erf(e){return I("erf")}step(e,t){return I("step")}fusedConv2d({input:e,filter:t,convInfo:n,bias:r,activation:o,preluActivationWeights:i}){return I("fusedConv2d")}conv2d(e,t,n){return I("conv2d")}conv2dDerInput(e,t,n){return I("conv2dDerInput")}conv2dDerFilter(e,t,n){return I("conv2dDerFilter")}fusedDepthwiseConv2D({input:e,filter:t,convInfo:n,bias:r,activation:o,preluActivationWeights:i}){return I("fusedDepthwiseConv2D")}depthwiseConv2D(e,t,n){return I("depthwiseConv2D")}depthwiseConv2DDerInput(e,t,n){return I("depthwiseConv2DDerInput")}depthwiseConv2DDerFilter(e,t,n){return I("depthwiseConv2DDerFilter")}conv3d(e,t,n){return I("conv3d")}conv3dDerInput(e,t,n){return I("conv3dDerInput")}conv3dDerFilter(e,t,n){return I("conv3dDerFilter")}maxPool(e,t){return I("maxPool")}maxPoolBackprop(e,t,n,r){return I("maxPoolBackprop")}avgPool(e,t){return I("avgPool")}avgPoolBackprop(e,t,n){return I("avgPoolBackprop")}avgPool3d(e,t){return I("avgPool3d")}avgPool3dBackprop(e,t,n){return I("avgPool3dBackprop")}maxPool3d(e,t){return I("maxPool3d")}maxPool3dBackprop(e,t,n,r){return I("maxPool3dBackprop")}reshape(e,t){return I("reshape")}cast(e,t){return I("cast")}tile(e,t){return I("tile")}pad(e,t,n){return I("pad")}transpose(e,t){return I("transpose")}gather(e,t,n){return I("gather")}gatherND(e,t){return I("gatherND")}scatterND(e,t,n){return I("scatterND")}batchToSpaceND(e,t,n){return I("batchToSpaceND")}spaceToBatchND(e,t,n){return I("spaceToBatchND")}resizeBilinear(e,t,n,r){return I("resizeBilinear")}resizeBilinearBackprop(e,t,n){return I("resizeBilinearBackprop")}resizeNearestNeighbor(e,t,n,r){return I("resizeNearestNeighbor")}resizeNearestNeighborBackprop(e,t,n){return I("resizeNearestNeighborBackprop")}batchNorm(e,t,n,r,o,i){return I("batchNorm")}localResponseNormalization4D(e,t,n,r,o){return I("localResponseNormalization4D")}LRNGrad(e,t,n,r,o,i,a){return I("LRNGrad")}multinomial(e,t,n,r){return I("multinomial")}oneHot(e,t,n,r){return I("oneHot")}cumsum(e,t,n,r){return I("cumsum")}nonMaxSuppression(e,t,n,r,o){return I("nonMaxSuppression")}fft(e){return I("fft")}ifft(e){return I("ifft")}complex(e,t){return I("complex")}real(e){return I("real")}imag(e){return I("imag")}cropAndResize(e,t,n,r,o,i){return I("cropAndResize")}depthToSpace(e,t,n){return I("depthToSpace")}split(e,t,n){return I("split")}sparseToDense(e,t,n,r){return I("sparseToDense")}diag(e){return I("diag")}fill(e,t,n){return I("fill")}onesLike(e){return I("onesLike")}zerosLike(e){return I("zerosLike")}linspace(e,t,n){return I("linspace")}dispose(){return I("dispose")}}function I(e){throw new Error(`'${e}' not yet implemented or not found in the registry. Did you forget to import the kernel?`)}const Jm={kernelName:so,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,Et(E(n,"float32"),-1))}}};const Xm={kernelName:ao,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=H(E(n,"float32")),o=de(_(k(1),r));return re(U(e,o))}}}};const Zm={kernelName:co,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=de(_(H(E(n,"float32")),1));return U(e,r)}}}};const Qm={kernelName:An,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{let s=e;const c=ae(n.shape,o);return c.length>0&&(s=W(s,c)),x(s,n.shape)},a=()=>{let s=e;const c=ae(r.shape,o);return c.length>0&&(s=W(s,c)),x(s,r.shape)};return{a:i,b:a}}};const ef={kernelName:po,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((r,o)=>{n[o]=()=>e.clone()}),n}};const tf={kernelName:lo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>B(n)}}};const nf={kernelName:ho,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>B(n)}}};const rf={kernelName:uo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,de(_(k(1),H(E(n,"float32")))))}}};const of={kernelName:mo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=de(C(k(1),H(E(n,"float32"))));return U(e,r)}}}};const sf={kernelName:bo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=C(H(n),H(r));let c=S(e,U(r,s));const p=ae(n.shape,o);return p.length>0&&(c=W(c,p)),x(c,n.shape)},a=()=>{const s=C(H(n),H(r));let c=re(S(e,U(n,s)));const p=ae(r.shape,o);return p.length>0&&(c=W(c,p)),x(c,r.shape)};return{a:i,b:a}}};const af={kernelName:fo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,C(H(E(n,"float32")),1))}}};const cf={kernelName:go,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,_(k(1),H(E(n,"float32"))))}}};function yT(e,t,n,r,o=[1,1,1],i,a){const s=u(e,"dy","avgPool3dBackprop"),c=u(t,"input","avgPool3dBackprop");let p=s,l=c,h=!1;c.rank===4&&(h=!0,p=x(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]]),l=x(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]])),f(p.rank===5,()=>`Error in avgPool3dBackprop: dy must be rank 5 but got rank ${p.rank}.`),f(l.rank===5,()=>`Error in avgPool3dBackprop: input must be rank 5 but got rank ${l.rank}.`),f(pe(r,o),()=>`Error in avgPool3dBackprop: Either strides or dilations must be 1. Got strides ${r} and dilations '${o}'`),a!=null&&f(X(i),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const m=L=>{const v=Kt(l.shape,n,r,o,i,a);return L.avgPool3dBackprop(p,l,v)},b={dy:p,input:l},y={filterSize:n,strides:r,dilations:o,pad:i,dimRoundingMode:a},w=g.runKernelFunc(m,b,null,kc,y);return h?x(w,[w.shape[1],w.shape[2],w.shape[3],w.shape[4]]):w}const pf=d({avgPool3dBackprop_:yT});const lf={kernelName:yo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:o,strides:i,dilations:a,pad:s,dimRoundingMode:c}=n,p=a==null?[1,1,1]:a;return{x:()=>pf(e,r,o,i,p,s,c)}}};function xT(e,t,n,r,o){const i=u(e,"dy","avgPoolBackprop"),a=u(t,"input","avgPoolBackprop");f(a.rank===i.rank,()=>`Rank of input (${a.rank}) does not match rank of dy (${i.rank})`);let s=a,c=i,p=!1;a.rank===3&&(p=!0,s=x(a,[1,a.shape[0],a.shape[1],a.shape[2]]),c=x(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(c.rank===4,()=>`Error in avgPoolBackprop: dy must be rank 4 but got rank ${c.rank}.`),f(s.rank===4,()=>`Error in avgPoolBackprop: input must be rank 4 but got rank ${s.rank}.`);const l=y=>{const w=At(s.shape,n,r,1,o);return y.avgPoolBackprop(c,s,w)},h={dy:c,input:s},m={filterSize:n,strides:r,pad:o},b=g.runKernelFunc(l,h,null,Oc,m);return p?x(b,[b.shape[1],b.shape[2],b.shape[3]]):b}const hf=d({avgPoolBackprop_:xT});const uf={kernelName:wo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:o,strides:i,pad:a}=n;return{x:()=>hf(e,r,o,i,a)}}};const df={kernelName:xo,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[r,o]=t,{transposeA:i,transposeB:a}=n;return!i&&!a?{a:()=>Y(e,o,!1,!0),b:()=>Y(r,e,!0,!1)}:!i&&a?{a:()=>Y(e,o,!1,!1),b:()=>Y(e,r,!0,!1)}:i&&!a?{a:()=>Y(o,e,!1,!0),b:()=>Y(r,e,!1,!1)}:{a:()=>Y(o,e,!0,!0),b:()=>Y(e,r,!0,!0)}}};const mf={kernelName:Lo,gradFunc:(e,t,n)=>{const{blockShape:r,crops:o}=n;return{x:()=>jn(e,r,o)}}};const ff={kernelName:So,gradFunc:(e,t,n)=>{const r=n,o=r.inputShape,i=r.shape,a=Array.from(i);for(let c=o.length-1;c>=0;c--)if(o[c]===i[c])a[c]=1;else if(o[c]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${i}].`);const s=[];for(let c=0;c1&&s.push(c);return{x:()=>W(e,s,!0)}}};const gf={kernelName:Nn,gradFunc:e=>({x:()=>e.clone()})};const bf={kernelName:vo,gradFunc:e=>({x:()=>B(e)})};const wf={kernelName:Io,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{clipValueMin:o,clipValueMax:i}=n;return{x:()=>Ee(yt(ut(r,o),dt(r,i)),e,B(e))}}};const yf={kernelName:To,saveAllInputs:!0,gradFunc:(e,t,n)=>{const r=t.map(c=>c.shape),{axis:o}=n,i=z(o,t[0].shape)[0],a=r.map(c=>c[i]),s=jt(e,a,i);return s.map(c=>()=>c)}};const xf={kernelName:Ao,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,{dilations:i,strides:a,pad:s,dataFormat:c}=n;return f(lt(i),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`),{x:()=>Rr(r.shape,e,o,a,s,c),filter:()=>_r(r,e,o.shape,a,s,c)}}};const Lf={kernelName:No,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,{strides:i,pad:a,dataFormat:s,dimRoundingMode:c}=n;return{dy:()=>ve(e,o,i,a,s,1,c),filter:()=>_r(e,r,o.shape,i,a,s,c)}}};function LT(e,t,n,r,o){let i=e;e.rank===4&&(i=x(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let a=t;a.rank===4&&(a=x(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),f(i.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${i.shape}.`),f(a.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`),f(n.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),f(i.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${i.shape[4]}) must match input depth in filter (${n[3]}.`),f(a.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${n[4]}).`);const s=l=>{const h=1,m=un(i.shape,n,r,h,o);return l.conv3dDerFilter(i,a,m)},c={x:i,y:a},p={strides:r,pad:o};return g.runKernelFunc(s,c,null,Fc,p)}const Sf=d({conv3DBackpropFilter_:LT});const vf={kernelName:Ro,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:o,pad:i}=n;f(lt(r),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`);const[a,s]=t;return{x:()=>da(a.shape,e,s,o,i),filter:()=>Sf(a,e,s.shape,o,i)}}};const If={kernelName:Co,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(re(ws(E(n,"float32"))),e)}}};const Tf={kernelName:Eo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(ys(E(n,"float32")),e)}}};const Af={kernelName:Oo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:o,exclusive:i,reverse:a}=n;return{x:()=>{const s=fe([o],r.rank);let c=rs(e,o,i,!a);return s!=null&&(c=Z(c,s)),c}}}};const Nf={kernelName:ko,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:o,pad:i,dimRoundingMode:a}=n,s=r==null?[1,1]:r;f(lt(s),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);const[c,p]=t;f(c.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${p.rank}.`),f(c.shape[3]===p.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${c.shape[3]}) must match the inChannels dimension in filter ${p.shape[2]}.`),f(pe(o,s),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${s}'.`),a!=null&&f(X(i),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const l=$e(c.shape,p.shape,o,s,i,a,!0);return{x:()=>Sa(c.shape,e,p,l),filter:()=>La(c,e,p.shape,l)}}};const Rf={kernelName:_o,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,i={x:r,filter:o,dy:e},a={x:r,filter:o,dy:e};return{x:()=>g.runKernel(jc,i,n),filter:()=>g.runKernel(Pc,a,n)}}};const Cf={kernelName:Do,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=U(e,E(r,"float32")),c=ae(n.shape,o);return c.length>0?x(W(s,c),n.shape):s},a=()=>{let s=S(e,E(n,"float32"));const c=ae(r.shape,o);c.length>0&&(s=x(W(s,c),r.shape));const p=H(r);return re(U(s,E(p,"float32")))};return{a:i,b:a}}};const Ef={kernelName:Fo,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,r=i=>i.eluDer(e,n),o={dy:e,y:n};return{x:()=>g.runKernelFunc(r,o,null,qc)}}};const Of={kernelName:Mo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=S(Oe(re(H(n))),2/Math.sqrt(Math.PI));return{x:()=>S(e,r)}}};const kf={kernelName:Uo,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,n)}}};const _f={kernelName:Wo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,Oe(n))}}};const Df={kernelName:Bo,gradFunc:e=>({x:()=>B(e)})};const Ff={kernelName:$o,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=U(e,E(r,"float32")),c=ae(n.shape,o);return c.length>0?x(W(s,c),n.shape):s},a=()=>{let s=S(e,E(n,"float32"));const c=ae(r.shape,o);c.length>0&&(s=x(W(s,c),r.shape));const p=H(r);return re(U(s,E(p,"float32")))};return{a:i,b:a}}};const Mf={kernelName:Go,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:r}=n,[o,i,a,s]=t,c=s==null?k(1):s,p=ae(i.shape,o.shape),l=[];if(i.rank===1){for(let N=0;Ni.rank===1?x(S(S(e,Zt(x(b,[1,1,1,i.shape[0]]),l)),c),o.shape):x(S(S(e,b),c),o.shape),L=()=>{let N=S(S(b,k(-1)),m);return i.rank===1&&(N=W(N,p)),x(N,i.shape)},v=()=>{let N=S(S(y,h),m);return i.rank===1&&(N=W(N,p)),x(N,i.shape)},A=()=>{const N=S(h,b);let O=S(e,N);return i.rank===1&&(O=W(O,p)),x(O,i.shape)},R=()=>{let N=e;return i.rank===1&&(N=W(N,p)),x(N,i.shape)};return{x:w,mean:L,variance:v,scale:A,offset:R}}};const Bf={kernelName:jo,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[r,o]=t,{axis:i}=n,a=z(i,r.shape)[0],s=()=>{const c=r.shape,p=o.size,l=c.slice(0,a),h=l.length,m=c.slice(i,c.length).slice(1),b=m.length,y=Uf(0,h),w=Uf(h+1,h+1+b),L=Wf([l,[p],m]),v=x(e,L),A=x(o,[p]),R=Wf([[h],y,w]),N=Z(v,R);let O=Ss(N,A,r.shape[a]);const M=En(R);return O=Z(O,M),O};return{x:s,indices:()=>o}}};function Uf(e,t){const n=[];for(let r=e;r{const[n,r]=t;return{a:()=>B(n),b:()=>B(r)}}};const Gf={kernelName:qo,gradFunc:e=>({x:()=>E(e,"float32")})};const jf={kernelName:Ho,gradFunc:e=>({x:()=>B(e)})};const Pf={kernelName:zo,gradFunc:e=>({x:()=>B(e)})};const qf={kernelName:Yo,gradFunc:e=>({x:()=>B(e)})};const Hf={kernelName:Ko,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,C(n,1))}}};const zf={kernelName:Vo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,E(n,"float32"))}}};const Yf={kernelName:Jo,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{axis:o}=n;return{logits:()=>{const i=!0,a=Oe(r);return _(e,S(W(e,o,i),a))}}}};function ST(e,t,n,r=5,o=1,i=1,a=.5){const s=l=>l.LRNGrad(n,e,t,r,o,i,a),c={x:e,y:t,dy:n},p={depthRadius:r,bias:o,alpha:i,beta:a};return g.runKernelFunc(s,c,null,ip,p)}const Vf=d({localResponseNormalizationBackprop_:ST});const Kf={kernelName:Xo,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{depthRadius:i,bias:a,alpha:s,beta:c}=n;return{x:()=>Vf(r,o,e,i,a,s,c)}}};function Oa(e,t,n,r,o){return t.rank{const i=S(e,E(Xt(n,t),e.dtype));return o==null?i:Z(i,o)}}}const Vh={kernelName:Zo,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{reductionIndices:o}=r,[i,a]=t,s=z(o,i.shape),c=fe(s,i.rank),p=Oa(e,a,i,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=Z(l)),l}}}};const Jf={kernelName:Qo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=()=>S(e,E(ut(n,r),"float32")),i=()=>S(e,E(Wn(n,r),"float32"));return{a:o,b:i}}};function vT(e,t,n,r,o,i=[1,1,1],a,s){const c=u(e,"dy","maxPool3dBackprop"),p=u(t,"input","maxPool3dBackprop"),l=u(n,"output","maxPool3dBackprop");let h=c,m=p,b=l,y=!1;p.rank===4&&(y=!0,h=x(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]]),m=x(p,[1,p.shape[0],p.shape[1],p.shape[2],p.shape[3]]),b=x(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]])),f(h.rank===5,()=>`Error in maxPool3dBackprop: dy must be rank 5 but got rank ${h.rank}.`),f(m.rank===5,()=>`Error in maxPool3dBackprop: input must be rank 5 but got rank ${m.rank}.`),f(b.rank===5,()=>`Error in maxPool3dBackprop: output must be rank 5 but got rank ${b.rank}.`),f(pe(o,i),()=>`Error in maxPool3dBackprop: Either strides or dilations must be 1. Got strides ${o} and dilations '${i}'`),s!=null&&f(X(a),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${s} but got pad ${a}.`);const w=R=>{const N=Kt(m.shape,r,o,i,a,s);return R.maxPool3dBackprop(h,m,b,N)},L={dy:h,input:m,output:b},v={filterSize:r,strides:o,dilations:i,pad:a,dimRoundingMode:s},A=g.runKernelFunc(w,L,null,ap,v);return y?x(A,[A.shape[1],A.shape[2],A.shape[3],A.shape[4]]):A}const Xf=d({maxPool3dBackprop_:vT});const Zf={kernelName:ti,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{filterSize:i,strides:a,dilations:s,pad:c,dimRoundingMode:p}=n,l=s==null?[1,1,1]:s;return{x:()=>Xf(e,r,o,i,a,l,c,p)}}};function IT(e,t,n,r,o,i,a){const s=u(e,"dy","maxPoolBackprop"),c=u(t,"input","maxPoolBackprop"),p=u(n,"output","maxPoolBackprop");f(c.rank===s.rank,()=>`Rank of input (${c.rank}) does not match rank of dy (${s.rank})`),f(s.rank===4,()=>`Error in maxPoolBackprop: dy must be rank 4 but got rank ${s.rank}.`),f(c.rank===4,()=>`Error in maxPoolBackprop: input must be rank 4 but got rank ${c.rank}.`),a!=null&&f(X(i),()=>`Error in maxPoolBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const l=b=>{const y=At(c.shape,r,o,1,i,a);return b.maxPoolBackprop(s,c,p,y)},h={dy:s,input:c,output:p},m={filterSize:r,strides:o,pad:i,dimRoundingMode:a};return g.runKernelFunc(l,h,null,sp,m)}const Qf=d({maxPoolBackprop_:IT});const eg={kernelName:ei,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{filterSize:i,strides:a,pad:s}=n;return{x:()=>Qf(e,r,o,i,a,s)}}};const tg={kernelName:ni,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{axis:o}=r,[i,a]=t,s=z(o,i.shape),c=fe(s,i.rank),p=Oa(e,a,i,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=Z(l)),l}}}};const ng={kernelName:ri,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=()=>S(e,E(dt(n,r),"float32")),i=()=>S(e,E(tt(n,r),"float32"));return{a:o,b:i}}};const rg={kernelName:oi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=ae(n.shape,o);return s.length>0?x(W(e,s),n.shape):e},a=()=>{const s=S(e,re(Mn(U(n,r)))),c=ae(r.shape,o);return c.length>0?x(W(s,c),r.shape):s};return{a:i,b:a}}};const og={kernelName:ii,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=S(e,E(r,"float32")),c=ae(n.shape,o);return c.length>0?x(W(s,c),n.shape):s},a=()=>{const s=S(e,E(n,"float32")),c=ae(r.shape,o);return c.length>0?x(W(s,c),r.shape):s};return{a:i,b:a}}};const ig={kernelName:si,gradFunc:e=>({x:()=>re(e)})};const sg={kernelName:ci,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>Re(n.shape,"float32")}}};const ag={kernelName:ai,gradFunc:e=>({x:()=>B(e)})};const Kh={kernelName:pi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:o}=n,i=o.map(a=>a[0]);return{x:()=>V(e,i,r.shape)}}};const cg={kernelName:li,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,r,o]=t,i=n,a=r,s=q(i.shape,a.shape),c=()=>{const l=E(a,"float32");let h=S(e,S(l,Xe(i,_(l,k(1)))));const m=ae(i.shape,s);return m.length>0&&(h=W(h,m)),x(h,i.shape)},p=()=>{const l=tt(i,0),h=Ee(l,wt(i),B(i));let m=S(e,S(o,h));const b=ae(a.shape,s);return b.length>0&&(m=W(m,b)),x(m,a.shape)};return{a:c,b:p}}};const pg={kernelName:hi,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,r]=t,o=tt(n,0);return{x:()=>Ee(o,e,S(e,r)),alpha:()=>{let i=Ee(o,B(e),S(e,n));const a=ae(r.shape,e.shape);return a.length>0&&(i=W(i,a)),x(i,r.shape)}}}};const lg={kernelName:ui,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,re(H(n)))}}};const hg={kernelName:bi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=S(dt(n,6),Et(n));return{x:()=>S(e,E(r,"float32"))}}};const ug={kernelName:di,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,E(Et(n),"float32"))}}};const dg={kernelName:mi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>x(e,n.shape)}}};const mg={kernelName:gi,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,o=s=>{const{alignCorners:c}=n;return s.resizeBilinearBackprop(e,r,c)},i={images:r},a=()=>g.runKernelFunc(o,i,null,bp,n);return{images:a}}};const fg={kernelName:fi,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,o=s=>{const{alignCorners:c}=n;return s.resizeNearestNeighborBackprop(e,r,c)},i={images:r},a=()=>g.runKernelFunc(o,i,null,gp,n);return{images:a}}};const gg={kernelName:wi,gradFunc:(e,t,n)=>{const{dims:r}=n,o=z(r,e.shape);return{x:()=>Ke(e,o)}}};const bg={kernelName:yi,gradFunc:e=>({x:()=>B(e)})};const wg={kernelName:xi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>re(U(e,S(Xe(n,1.5),2)))}}};const yg={kernelName:Li,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>E(B(n),"float32"),t:()=>S(e,E(n,e.dtype)),e:()=>S(e,E(Bn(n),e.dtype))}}};const xg={kernelName:Si,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=tt(n,k(0)),o=k(zh),i=k(Yh),a=S(e,i),s=S(S(e,o),Oe(E(n,"float32")));return Ee(r,a,s)}}}};const Lg={kernelName:Ni,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,S(n,_(k(1),n)))}}};const Sg={kernelName:Ai,gradFunc:e=>({x:()=>B(e)})};const vg={kernelName:Ii,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(_n(E(n,"float32")),e)}}};const Ig={kernelName:Ti,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(ns(E(n,"float32")),e)}}};const Tg={kernelName:vi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{begin:o,size:i}=n,a=r.shape,[s,c]=ts(r,o,i),p=[];for(let l=0;lje(e,p)}}};const Ag={kernelName:_i,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{dim:o}=n,i=!0,a=S(e,r);return{logits:()=>_(a,S(W(a,[o],i),r))}}};const Ng={kernelName:Ri,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,Nt(n))}}};const Jh={kernelName:Oi,gradFunc:(e,t,n)=>{const{blockShape:r,paddings:o}=n;return{x:()=>kn(e,r,o)}}};const Xh={kernelName:ki,gradFunc:(e,t,n)=>{const{axis:r}=n;return{x:()=>Q(e,r)}}};const Rg={kernelName:Ci,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,S(de(E(n,"float32")),2))}}};const Cg={kernelName:yp,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(e,S(E(n,"float32"),2))}}};const Eg={kernelName:Di,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=k(2),i=()=>S(e,S(o,_(n,r))),a=()=>S(e,S(o,_(r,n)));return{a:i,b:a}}};const Og={kernelName:Pi,gradFunc:e=>({x:()=>B(e)})};const kg={kernelName:Fi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{let s=e;const c=ae(n.shape,o);return c.length>0&&(s=W(s,c)),x(s,n.shape)},a=()=>{let s=e;const c=ae(r.shape,o);return c.length>0&&(s=W(s,c)),x(re(s),r.shape)};return{a:i,b:a}}};const _g={kernelName:Ei,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,o=r.shape.slice(),{axis:i}=n,a=z(i,r.shape);a.forEach(p=>{o[p]=1});const s=x(e,o),c=S(s,xt(r.shape,"float32"));return{x:()=>c}}};const Dg={kernelName:Mi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>U(e,H(_n(n)))}}};const Fg={kernelName:Ui,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>S(_(k(1),H(n)),e)}}};const Mg={kernelName:Wi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{reps:o}=n,i=()=>{let a=B(r);if(r.rank===1)for(let s=0;s{const r=n,{perm:o}=r,i=En(o);return{x:()=>Z(e,i)}}};const Wg={kernelName:$i,gradFunc:(e,t,n)=>{const r=n,{axis:o}=r;return{value:()=>Ue(e,o)}}};const Bg={kernelName:Gi,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t,r=()=>TT(e,n);return{x:r}}};function TT(e,t){const n=Ct(t,B(t)),r=Un(e,n);let o=ut(t,k(0,"int32"));const i=r.rank-o.rank;for(let s=0;s({x:()=>B(e)})};const AT=[Jm,Xm,Zm,Qm,ef,tf,nf,rf,of,sf,af,cf,lf,uf,df,mf,ff,gf,bf,wf,yf,Lf,xf,vf,If,Tf,Af,Nf,Rf,Cf,Ef,Of,kf,_f,Ff,Df,Mf,Bf,$f,Gf,jf,Pf,qf,Hf,zf,Yf,Kf,Vh,Vh,Jf,Zf,eg,tg,ng,rg,og,ig,sg,ag,Kh,Kh,cg,pg,lg,hg,ug,dg,mg,fg,gg,bg,wg,yg,xg,Lg,Sg,vg,Ig,Tg,Ag,Ng,Jh,Jh,Xh,Xh,Rg,Eg,Cg,Og,kg,_g,Dg,Fg,Mg,Ug,Wg,Bg,$g];for(const e of AT)Tp(e);const js={};me(js,{Abs:()=>so,Acos:()=>ao,Acosh:()=>co,AdadeltaOptimizer:()=>Zn,AdagradOptimizer:()=>Qn,AdamOptimizer:()=>er,AdamaxOptimizer:()=>tr,Add:()=>An,AddN:()=>po,All:()=>Cc,Any:()=>Ec,ArgMax:()=>lo,ArgMin:()=>ho,Asin:()=>uo,Asinh:()=>mo,Atan:()=>fo,Atan2:()=>bo,Atanh:()=>go,AvgPool:()=>wo,AvgPool3D:()=>yo,AvgPool3DBackprop:()=>kc,AvgPoolBackprop:()=>Oc,BatchMatMul:()=>xo,BatchToSpaceND:()=>Lo,BroadcastTo:()=>So,Cast:()=>Nn,Ceil:()=>vo,ClipByValue:()=>Io,Complex:()=>_c,Concat:()=>To,Conv2D:()=>Ao,Conv2DBackpropFilter:()=>Dc,Conv2DBackpropInput:()=>No,Conv3D:()=>Ro,Conv3DBackpropFilterV2:()=>Fc,Conv3DBackpropInputV2:()=>Mc,Cos:()=>Co,Cosh:()=>Eo,CropAndResize:()=>Uc,Cumsum:()=>Oo,DataStorage:()=>bT,DepthToSpace:()=>Wc,DepthwiseConv2dNative:()=>ko,DepthwiseConv2dNativeBackpropFilter:()=>Bc,DepthwiseConv2dNativeBackpropInput:()=>$c,Diag:()=>Gc,Dilation2D:()=>_o,Dilation2DBackpropFilter:()=>Pc,Dilation2DBackpropInput:()=>jc,Div:()=>Do,ENV:()=>Tc,Elu:()=>Fo,EluGrad:()=>qc,Environment:()=>Ic,Equal:()=>Hc,Erf:()=>Mo,Exp:()=>Uo,Expm1:()=>Wo,FFT:()=>zc,Fill:()=>Yc,FlipLeftRight:()=>Vc,Floor:()=>Bo,FloorDiv:()=>$o,FromPixels:()=>na,FusedBatchNorm:()=>Go,FusedConv2D:()=>oa,FusedDepthwiseConv2D:()=>ia,GatherNd:()=>Kc,GatherV2:()=>jo,Greater:()=>Jc,GreaterEqual:()=>Po,IFFT:()=>Xc,Identity:()=>qo,Imag:()=>Zc,IsFinite:()=>Ho,IsInf:()=>zo,IsNan:()=>Yo,KernelBackend:()=>wT,LRN:()=>Xo,LRNBackprop:()=>ip,Less:()=>Qc,LessEqual:()=>ep,LinSpace:()=>tp,Log:()=>Vo,Log1p:()=>Ko,LogSoftmax:()=>Jo,LogicalAnd:()=>np,LogicalNot:()=>rp,LogicalOr:()=>op,Max:()=>Zo,MaxPool:()=>ei,MaxPool3D:()=>ti,MaxPool3DBackprop:()=>ap,MaxPoolBackprop:()=>sp,MaxPoolWithArgmax:()=>cp,Maximum:()=>Qo,Mean:()=>Ew,Min:()=>ni,Minimum:()=>ri,Mod:()=>oi,MomentumOptimizer:()=>nr,Multiply:()=>ii,Negate:()=>si,NonMaxSuppressionV3:()=>lp,NonMaxSuppressionV4:()=>hp,NonMaxSuppressionV5:()=>up,NotEqual:()=>pp,OneHot:()=>ci,OnesLike:()=>ai,Optimizer:()=>it,PadV2:()=>pi,Pool:()=>Ow,Pow:()=>li,Prelu:()=>hi,Prod:()=>dp,RMSPropOptimizer:()=>rr,Range:()=>mp,Rank:()=>Fp,Real:()=>fp,Reciprocal:()=>ui,Reduction:()=>be,Relu:()=>di,Relu6:()=>bi,Reshape:()=>mi,ResizeBilinear:()=>gi,ResizeBilinearGrad:()=>bp,ResizeNearestNeighbor:()=>fi,ResizeNearestNeighborGrad:()=>gp,Reverse:()=>wi,RotateWithOffset:()=>vp,Round:()=>yi,Rsqrt:()=>xi,SGDOptimizer:()=>tn,ScatterNd:()=>wp,SelectV2:()=>Li,Selu:()=>Si,Sigmoid:()=>Ni,Sign:()=>Ai,Sin:()=>Ii,Sinh:()=>Ti,Slice:()=>vi,Softmax:()=>_i,Softplus:()=>Ri,SpaceToBatchND:()=>Oi,SparseToDense:()=>xp,SplitV:()=>ki,Sqrt:()=>Ci,Square:()=>yp,SquaredDifference:()=>Di,Step:()=>Pi,StridedSlice:()=>Lp,Sub:()=>Fi,Sum:()=>Ei,Tan:()=>Mi,Tanh:()=>Ui,Tensor:()=>ne,TensorBuffer:()=>Sr,Tile:()=>Wi,TopK:()=>Sp,Transpose:()=>Bi,Unpack:()=>$i,UnsortedSegmentSum:()=>Gi,Variable:()=>$t,ZerosLike:()=>ji,_FusedMatMul:()=>ra,abs:()=>Ce,acos:()=>jp,acosh:()=>Pp,add:()=>C,addN:()=>qp,addStrict:()=>Fd,all:()=>Yp,any:()=>Vp,argMax:()=>Kp,argMin:()=>Jp,asin:()=>Xp,asinh:()=>Zp,atan:()=>Qp,atan2:()=>el,atanh:()=>tl,avgPool:()=>ht,avgPool3d:()=>il,backend:()=>Yy,backend_util:()=>Hm,basicLSTMCell:()=>gl,batchNorm:()=>Jt,batchNorm2d:()=>bl,batchNorm3d:()=>wl,batchNorm4d:()=>yl,batchToSpaceND:()=>kn,booleanMaskAsync:()=>Rd,broadcastTo:()=>Nr,browser:()=>Ur,buffer:()=>Me,cast:()=>E,ceil:()=>xl,clipByValue:()=>Ll,clone:()=>Rt,complex:()=>Ve,concat:()=>Q,concat1d:()=>Sl,concat2d:()=>vl,concat3d:()=>Il,concat4d:()=>Tl,conv1d:()=>Al,conv2d:()=>ve,conv2dTranspose:()=>Nl,conv3d:()=>Rl,conv3dTranspose:()=>Cl,cos:()=>_n,cosh:()=>ns,cosineWindow:()=>kr,cumsum:()=>rs,customGrad:()=>Je,deprecationWarn:()=>xe,depthToSpace:()=>El,depthwiseConv2d:()=>Dn,device_util:()=>fd,diag:()=>Ol,dilation2d:()=>kl,disableDeprecationWarnings:()=>Dy,dispose:()=>Le,disposeVariables:()=>Fy,div:()=>U,divNoNan:()=>_l,divStrict:()=>Md,dot:()=>Dl,dropout:()=>Qd,elu:()=>is,enableDebugMode:()=>_y,enableProdMode:()=>ky,enclosingPowerOfTwo:()=>xa,engine:()=>My,env:()=>ce,equal:()=>Xt,equalStrict:()=>Cd,erf:()=>Fl,exp:()=>Oe,expandDims:()=>et,expm1:()=>Ml,eye:()=>ss,fft:()=>Fn,fill:()=>Ge,findBackend:()=>qy,findBackendFactory:()=>Hy,floor:()=>Mn,floorDiv:()=>os,fused:()=>Dh,gather:()=>Un,gatherND:()=>Xd,gather_util:()=>jm,getBackend:()=>jy,getGradient:()=>sa,getKernel:()=>Hi,getKernelsForBackend:()=>aa,grad:()=>bL,grads:()=>wL,greater:()=>tt,greaterEqual:()=>ut,greaterEqualStrict:()=>Ed,greaterStrict:()=>Od,ifft:()=>dn,imag:()=>Qt,image:()=>Ra,inTopKAsync:()=>em,io:()=>Mr,irfft:()=>as,isFinite:()=>Wl,isInf:()=>Bl,isNaN:()=>$l,keep:()=>ol,kernel_impls:()=>Km,leakyRelu:()=>Gl,less:()=>Wn,lessEqual:()=>dt,lessEqualStrict:()=>kd,lessStrict:()=>_d,linalg:()=>Em,linspace:()=>jl,localResponseNormalization:()=>Pl,log:()=>wt,log1p:()=>cs,logSigmoid:()=>Hl,logSoftmax:()=>zl,logSumExp:()=>ls,logicalAnd:()=>yt,logicalNot:()=>Bn,logicalOr:()=>hs,logicalXor:()=>Yl,losses:()=>Om,matMul:()=>Y,math:()=>Gm,max:()=>mt,maxPool:()=>Ie,maxPool3d:()=>Vl,maxPoolWithArgmax:()=>Kl,maximum:()=>Ct,maximumStrict:()=>Ud,mean:()=>mn,memory:()=>Uy,min:()=>fn,minimum:()=>$n,minimumStrict:()=>Wd,mod:()=>us,modStrict:()=>Bd,moments:()=>Jl,movingAverage:()=>Hd,mul:()=>S,mulStrict:()=>$d,multiRNNCell:()=>Xl,multinomial:()=>Zl,neg:()=>re,nextFrame:()=>PI,norm:()=>Or,notEqual:()=>Gn,notEqualStrict:()=>Dd,oneHot:()=>Cr,ones:()=>xt,onesLike:()=>ga,op:()=>d,outerProduct:()=>Ql,pad:()=>je,pad1d:()=>eh,pad2d:()=>th,pad3d:()=>nh,pad4d:()=>rh,pool:()=>oh,pow:()=>Xe,powStrict:()=>Gd,prelu:()=>ds,print:()=>ih,prod:()=>sh,profile:()=>Wy,rand:()=>ah,randomGamma:()=>hh,randomNormal:()=>uh,randomUniform:()=>fs,range:()=>Er,ready:()=>Gy,real:()=>Gt,reciprocal:()=>dh,registerBackend:()=>zy,registerGradient:()=>Tp,registerKernel:()=>kw,relu:()=>se,relu6:()=>gs,removeBackend:()=>Py,reshape:()=>x,reverse:()=>Ke,reverse1d:()=>mh,reverse2d:()=>fh,reverse3d:()=>gh,reverse4d:()=>bh,rfft:()=>Pn,round:()=>yh,rsqrt:()=>bs,scalar:()=>k,scatterND:()=>Vd,scatter_util:()=>zd,selu:()=>xh,separableConv2d:()=>qn,serialization:()=>qm,setBackend:()=>$y,setPlatform:()=>Vy,setdiff1dAsync:()=>Lh,sigmoid:()=>Nt,sign:()=>Sh,signal:()=>Cm,sin:()=>ws,sinh:()=>ys,slice:()=>V,slice1d:()=>vh,slice2d:()=>Ih,slice3d:()=>xs,slice4d:()=>Th,slice_util:()=>yd,softmax:()=>en,softplus:()=>ps,spaceToBatchND:()=>jn,sparseToDense:()=>Jd,spectral:()=>Rm,split:()=>jt,sqrt:()=>de,square:()=>H,squaredDifference:()=>Hn,squaredDifferenceStrict:()=>jd,squeeze:()=>zn,stack:()=>Ue,step:()=>Et,stridedSlice:()=>Ah,sub:()=>_,subStrict:()=>Pd,sum:()=>W,sumOutType:()=>ey,tan:()=>Nh,tanh:()=>Ar,tensor:()=>Ye,tensor1d:()=>ge,tensor2d:()=>ft,tensor3d:()=>Ls,tensor4d:()=>Pt,tensor5d:()=>Rh,tensor6d:()=>Ch,tensor_util:()=>ud,test_util:()=>Id,tidy:()=>F,tile:()=>Zt,time:()=>By,topk:()=>Eh,train:()=>GI,transpose:()=>Z,truncatedNormal:()=>Oh,unregisterGradient:()=>Dw,unregisterKernel:()=>_w,unsortedSegmentSum:()=>Ss,unstack:()=>We,upcastType:()=>Ir,util:()=>Xu,valueAndGrad:()=>yL,valueAndGrads:()=>xL,variable:()=>kh,variableGrads:()=>ql,version_core:()=>$I,where:()=>Ee,whereAsync:()=>vs,zeros:()=>Re,zerosLike:()=>B});function nn(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:r,y:o},i)=>{const a=t[i];e.moveTo(a.x,a.y),e.lineTo(r,o)}),n){const r=t[t.length-1],o=t[0];if(!r||!o)return;e.moveTo(r.x,r.y),e.lineTo(o.x,o.y)}e.stroke()}class Qe{constructor(e,t){if(!kt(e)||!kt(t))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:e,height:t})}`);this._width=e,this._height=t}get width(){return this._width}get height(){return this._height}reverse(){return new Qe(1/this.width,1/this.height)}}const qs={};me(qs,{computeReshapedDimensions:()=>eu,getCenterPoint:()=>ar,isDimensions:()=>_a,isEven:()=>ka,isFloat:()=>Qh,isTensor:()=>or,isTensor1D:()=>NT,isTensor2D:()=>Zh,isTensor3D:()=>ir,isTensor4D:()=>gt,isValidNumber:()=>kt,isValidProbablitiy:()=>Br,range:()=>qt,round:()=>sr});function or(e,t){return e instanceof ne&&e.shape.length===t}function NT(e){return or(e,1)}function Zh(e){return or(e,2)}function ir(e){return or(e,3)}function gt(e){return or(e,4)}function Qh(e){return e%1!==0}function ka(e){return e%2===0}function sr(e,t=2){const n=Math.pow(10,t);return Math.floor(e*n)/n}function _a(e){return e&&e.width&&e.height}function eu({width:e,height:t},n){const r=n/Math.max(t,e);return new Qe(Math.round(e*r),Math.round(t*r))}function ar(e){return e.reduce((t,n)=>t.add(n),new J(0,0)).div(new J(e.length,e.length))}function qt(e,t,n){return Array(e).fill(0).map((r,o)=>t+o*n)}function kt(e){return!!e&&e!==Infinity&&e!==-Infinity&&!isNaN(e)||e===0}function Br(e){return kt(e)&&0<=e&&e<=1}class J{constructor(e,t){this._x=e,this._y=t}get x(){return this._x}get y(){return this._y}add(e){return new J(this.x+e.x,this.y+e.y)}sub(e){return new J(this.x-e.x,this.y-e.y)}mul(e){return new J(this.x*e.x,this.y*e.y)}div(e){return new J(this.x/e.x,this.y/e.y)}abs(){return new J(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}floor(){return new J(Math.floor(this.x),Math.floor(this.y))}}class he{constructor(e,t=!0){const n=e||{},r=[n.left,n.top,n.right,n.bottom].every(kt),o=[n.x,n.y,n.width,n.height].every(kt);if(!o&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(n)}`);const[i,a,s,c]=o?[n.x,n.y,n.width,n.height]:[n.left,n.top,n.right-n.left,n.bottom-n.top];he.assertIsValidBox({x:i,y:a,width:s,height:c},"Box.constructor",t),this._x=i,this._y=a,this._width=s,this._height=c}static isRect(e){return!!e&&[e.x,e.y,e.width,e.height].every(kt)}static assertIsValidBox(e,t,n=!1){if(!he.isRect(e))throw new Error(`${t} - invalid box: ${JSON.stringify(e)}, expected object with properties x, y, width, height`);if(!n&&(e.width<0||e.height<0))throw new Error(`${t} - width (${e.width}) and height (${e.height}) must be positive numbers`)}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new J(this.left,this.top)}get topRight(){return new J(this.right,this.top)}get bottomLeft(){return new J(this.left,this.bottom)}get bottomRight(){return new J(this.right,this.bottom)}round(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(o=>Math.round(o));return new he({x:e,y:t,width:n,height:r})}floor(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(o=>Math.floor(o));return new he({x:e,y:t,width:n,height:r})}toSquare(){let{x:e,y:t,width:n,height:r}=this;const o=Math.abs(n-r);return nt&&(a=-l+t+n,l=t),h>e&&(s=-h+e+r,h=e),c<1&&(s=2-c,c=1),p<1&&(s=2-p,p=1),{dy:i,edy:s,dx:o,edx:a,y:p,ey:h,x:c,ex:l,w:n,h:r}}calibrate(e){return new he({left:this.left+e.left*this.width,top:this.top+e.top*this.height,right:this.right+e.right*this.width,bottom:this.bottom+e.bottom*this.height}).toSquare().round()}}class gr extends he{constructor(e,t,n,r,o=!1){super({left:e,top:t,right:n,bottom:r},o)}}class Tn{constructor(e,t,n,r,o){this._imageDims=new Qe(o.width,o.height),this._score=e,this._classScore=t,this._className=n,this._box=new he(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new he(this._box).rescale(this.imageDims.reverse())}forSize(e,t){return new Tn(this.score,this.classScore,this.className,this.relativeBox,{width:e,height:t})}}class ye extends Tn{constructor(e,t,n){super(e,e,"",t,n)}forSize(e,t){const{score:n,relativeBox:r,imageDims:o}=super.forSize(e,t);return new ye(n,r,o)}}function Vs(e,t,n=!0){const r=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),o=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),i=r*o;return n?i/(e.area+t.area-i):i/Math.min(e.area,t.area)}function Ys(e){const t=e.map(s=>s.x),n=e.map(s=>s.y),r=t.reduce((s,c)=>ccss({score:a,boxIndex:s})).sort((a,s)=>a.score-s.score).map(a=>a.boxIndex);const i=[];for(;o.length>0;){const a=o.pop();i.push(a);const s=o,c=[];for(let p=0;pc[l]<=n)}return i}function bt(e,t){return F(()=>{const[n,r,o]=t,i=Ge([...e.shape.slice(0,3),1],n),a=Ge([...e.shape.slice(0,3),1],r),s=Ge([...e.shape.slice(0,3),1],o),c=Q([i,a,s],3);return _(e,c)})}function Hs(e,t=!1){return F(()=>{const[n,r]=e.shape.slice(1);if(n===r)return e;const o=Math.abs(n-r),i=Math.round(o*(t?.5:1)),a=n>r?2:1,s=m=>{const b=e.shape.slice();return b[a]=m,Ge(b,0)},c=s(i),p=o-c.shape[a],l=t&&p?s(p):null,h=[l,e,c].filter(m=>!!m).map(m=>m.toFloat());return Q(h,a)})}function $u(e){const t=e.slice();for(let n=t.length-1;n>0;n--){const r=Math.floor(Math.random()*(n+1)),o=t[n];t[n]=t[r],t[r]=o}return t}function ur(e){return 1/(1+Math.exp(-e))}function Gu(e){return Math.log(e/(1-e))}class ea extends he{constructor(e,t,n,r,o=!1){super({x:e,y:t,width:n,height:r},o)}}const RT=.5,CT=.43,ET=.45;class ct{constructor(e,t,n=new J(0,0)){const{width:r,height:o}=t;this._imgDims=new Qe(r,o),this._shift=n,this._positions=e.map(i=>i.mul(new J(r,o)).add(n))}get shift(){return new J(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(e=>e.sub(this._shift).div(new J(this.imageWidth,this.imageHeight)))}forSize(e,t){return new this.constructor(this.relativePositions,{width:e,height:t})}shiftBy(e,t){return new this.constructor(this.relativePositions,this._imgDims,new J(e,t))}shiftByPoint(e){return this.shiftBy(e.x,e.y)}align(e,t={}){if(e){const o=e instanceof ye?e.box.floor():new he(e);return this.shiftBy(o.x,o.y).align(null,t)}const{useDlibAlignment:n,minBoxPadding:r}=Object.assign({},{useDlibAlignment:!1,minBoxPadding:.2},t);return n?this.alignDlib():this.alignMinBbox(r)}alignDlib(){const e=this.getRefPointsForAlignment(),[t,n,r]=e,o=l=>r.sub(l).magnitude(),i=(o(t)+o(n))/2,a=Math.floor(i/ET),s=ar(e),c=Math.floor(Math.max(0,s.x-RT*a)),p=Math.floor(Math.max(0,s.y-CT*a));return new ea(c,p,Math.min(a,this.imageWidth+c),Math.min(a,this.imageHeight+p))}alignMinBbox(e){const t=Ys(this.positions);return t.pad(t.width*e,t.height*e)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}}class Yu extends ct{getRefPointsForAlignment(){const e=this.positions;return[e[0],e[1],ar([e[3],e[4]])]}}class fr extends ct{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(ar)}}class io{constructor(e,t){this._label=e,this._distance=t}get label(){return this._label}get distance(){return this._distance}toString(e=!0){return`${this.label}${e?` (${sr(this.distance)})`:""}`}}class oo extends he{constructor(e,t){super(e);this._label=t}static assertIsValidLabeledBox(e,t){if(he.assertIsValidBox(e,t),!kt(e.label))throw new Error(`${t} - expected property label (${e.label}) to be a number`)}get label(){return this._label}}class ln{constructor(e,t){if(!(typeof e=="string"))throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(t)||t.some(n=>!(n instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=e,this._descriptors=t}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(e=>Array.from(e))}}static fromJSON(e){const t=e.descriptors.map(n=>new Float32Array(n));return new ln(e.label,t)}}class zu extends oo{constructor(e,t,n,r){super(e,t);this._score=n,this._classScore=r}static assertIsValidPredictedBox(e,t){if(oo.assertIsValidLabeledBox(e,t),!Br(e.score)||!Br(e.classScore))throw new Error(`${t} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}}function It(e){return e.detection instanceof ye}function cn(e,t){const n={detection:t};return Object.assign({},e,n)}function tc(){const e=window.fetch||function(){throw new Error("fetch - missing fetch implementation for browser environment")},t=function(){throw new Error("readFile - filesystem not available for browser environment")};return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),fetch:e,readFile:t}}function Us(e){let t="";if(!e)try{e=require("fs")}catch(r){t=r.toString()}const n=e?function(r){return new Promise((o,i)=>{e.readFile(r,function(a,s){return a?i(a):o(s)})})}:function(){throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)};return{readFile:n}}function nc(){const e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=function(){if(e)return new e();throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=function(){if(t)return new t();throw new Error("createImageElement - missing Image implementation for nodejs environment")},o=global.fetch||function(){throw new Error("fetch - missing fetch implementation for nodejs environment")},i=Us();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:n,createImageElement:r,fetch:o,...i}}function rc(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}const Gg=ee(qe());function wn(e){return!Gg.env.isNodejs()&&typeof e=="string"?document.getElementById(e):e}const jg=ee(qe());function Ze(e){const{Canvas:t,CanvasRenderingContext2D:n}=jg.env.getEnv();if(e instanceof n)return e;const r=wn(e);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");const o=r.getContext("2d");if(!o)throw new Error("resolveContext2d - canvas 2d context is null");return o}var Ht;(function(e){e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT",e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT"})(Ht||(Ht={}));class Da{constructor(e={}){const{anchorPosition:t,backgroundColor:n,fontColor:r,fontSize:o,fontStyle:i,padding:a}=e;this.anchorPosition=t||Ht.TOP_LEFT,this.backgroundColor=n||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=o||14,this.fontStyle=i||"Georgia",this.padding=a||4}}class $r{constructor(e,t,n={}){this.text=typeof e=="string"?[e]:e instanceof $r?e.text:e,this.anchor=t,this.options=new Da(n)}measureWidth(e){const{padding:t}=this.options;return this.text.map(n=>e.measureText(n).width).reduce((n,r)=>n{const b=s+l.x,y=s+l.y+(m+1)*i;n.fillText(h,b,y)})}}class Pg{constructor(e={}){const{boxColor:t,lineWidth:n,label:r,drawLabelOptions:o}=e;this.boxColor=t||"rgba(0, 0, 255, 1)",this.lineWidth=n||2,this.label=r;const i={anchorPosition:Ht.BOTTOM_LEFT,backgroundColor:this.boxColor};this.drawLabelOptions=new Da(Object.assign({},i,o))}}class tu{constructor(e,t={}){this.box=new he(e),this.options=new Pg(t)}draw(e){const t=Ze(e),{boxColor:n,lineWidth:r}=this.options,{x:o,y:i,width:a,height:s}=this.box;t.strokeStyle=n,t.lineWidth=r,t.strokeRect(o,i,a,s);const{label:c}=this.options;c&&new $r([c],{x:o-r/2,y:i},this.options.drawLabelOptions).draw(e)}}function OT(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const o=r instanceof ye?r.score:It(r)?r.detection.score:void 0,i=r instanceof ye?r.box:It(r)?r.detection.box:new he(r),a=o?`${sr(o)}`:void 0;new tu(i,{label:a}).draw(e)})}const qg=ee(qe());function Zr(e){const{Image:t,Video:n}=qg.env.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}const Hg=ee(qe());function uc(e){return new Promise((t,n)=>{if(e instanceof Hg.env.getEnv().Canvas||Zr(e))return t();function r(i){if(!i.currentTarget)return;i.currentTarget.removeEventListener("load",r),i.currentTarget.removeEventListener("error",o),t(i)}function o(i){if(!i.currentTarget)return;i.currentTarget.removeEventListener("load",r),i.currentTarget.removeEventListener("error",o),n(i)}e.addEventListener("load",r),e.addEventListener("error",o)})}const zg=ee(qe());function hc(e){return new Promise((t,n)=>{if(!(e instanceof Blob))return n("bufferToImage - expected buf to be of type: Blob");const r=new FileReader();r.onload=()=>{if(typeof r.result!="string")return n("bufferToImage - expected reader.result to be a string, in onload");const o=zg.env.getEnv().createImageElement();o.onload=()=>t(o),o.onerror=n,o.src=r.result},r.onerror=n,r.readAsDataURL(e)})}const Yg=ee(qe());function yn(e){const{Image:t,Video:n}=Yg.env.getEnv();return e instanceof t?new Qe(e.naturalWidth,e.naturalHeight):e instanceof n?new Qe(e.videoWidth,e.videoHeight):new Qe(e.width,e.height)}const nu=ee(qe());function hr({width:e,height:t}){const{createCanvasElement:n}=nu.env.getEnv(),r=n();return r.width=e,r.height=t,r}function Qr(e,t){const{ImageData:n}=nu.env.getEnv();if(!(e instanceof n)&&!Zr(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");const{width:r,height:o}=t||yn(e),i=hr({width:r,height:o});return e instanceof n?Ze(i).putImageData(e,0,0):Ze(i).drawImage(e,0,0,r,o),i}const Vg=ee(qe());async function pc(e,t){const n=t||Vg.env.getEnv().createCanvasElement(),[r,o,i]=e.shape.slice(gt(e)?1:0),a=F(()=>e.as3D(r,o,i).toInt());return await Ur.toPixels(a,n),a.dispose(),n}const Kg=ee(qe());function Ws(e){const{Image:t,Canvas:n,Video:r}=Kg.env.getEnv();return e instanceof t||e instanceof n||e instanceof r}const Jg=ee(qe());function cc(e,t,n=!1){const{Image:r,Canvas:o}=Jg.env.getEnv();if(!(e instanceof r||e instanceof o))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");const i=yn(e),a=t/Math.max(i.height,i.width),s=a*i.width,c=a*i.height,p=hr({width:t,height:t}),l=e instanceof o?e:Qr(e),h=Math.abs(s-c)/2,m=n&&s{if(ir(n)){this._imageTensors[r]=n,this._inputDimensions[r]=n.shape;return}if(gt(n)){const i=n.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=n,this._inputDimensions[r]=n.shape.slice(1);return}const o=n instanceof ru.env.getEnv().Canvas?n:Qr(n);this._canvases[r]=o,this._inputDimensions[r]=[o.height,o.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return qt(this.batchSize,0,1).map((e,t)=>this.getReshapedInputDimensions(t))}getInput(e){return this.canvases[e]||this.imageTensors[e]}getInputDimensions(e){return this._inputDimensions[e]}getInputHeight(e){return this._inputDimensions[e][0]}getInputWidth(e){return this._inputDimensions[e][1]}getReshapedInputDimensions(e){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");const t=this.getInputWidth(e),n=this.getInputHeight(e);return eu({width:t,height:n},this.inputSize)}toBatchTensor(e,t=!0){return this._inputSize=e,F(()=>{const n=qt(this.batchSize,0,1).map(o=>{const i=this.getInput(o);if(i instanceof ne){let a=gt(i)?i:i.expandDims();return a=Hs(a,t),(a.shape[1]!==e||a.shape[2]!==e)&&(a=Ra.resizeBilinear(a,[e,e])),a.as3D(e,e,3)}if(i instanceof ru.env.getEnv().Canvas)return Ur.fromPixels(cc(i,e,t));throw new Error(`toBatchTensor - at batchIdx ${o}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)}),r=Ue(n.map(o=>o.toFloat())).as4D(this.batchSize,e,e,3);return r})}}async function ac(e){if(e instanceof Bs)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");const n=o=>Array.isArray(e)?` at input index ${o}:`:"",r=t.map(wn);return r.forEach((o,i)=>{if(!Ws(o)&&!ir(o)&&!gt(o))throw typeof t[i]=="string"?new Error(`toNetInput -${n(i)} string passed, but could not resolve HTMLElement for element id ${t[i]}`):new Error(`toNetInput -${n(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(gt(o)){const a=o.shape[0];if(a!==1)throw new Error(`toNetInput -${n(i)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(o=>Ws(o)&&uc(o))),new Bs(r,Array.isArray(e))}const Xg=ee(qe());async function ow(e,t){const{Canvas:n}=Xg.env.getEnv();let r=e;if(!(e instanceof n)){const a=await ac(e);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");const s=a.getInput(0);r=s instanceof n?s:await pc(s)}const o=Ze(r),i=t.map(a=>a instanceof ye?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height));return i.map(({x:a,y:s,width:c,height:p})=>{const l=hr({width:c,height:p});return Ze(l).putImageData(o.getImageData(a,s,c,p),0,0),l})}async function iw(e,t){if(!ir(e)&&!gt(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(gt(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return F(()=>{const[n,r,o]=e.shape.slice(gt(e)?1:0),i=t.map(s=>s instanceof ye?s.forSize(r,n).box:s).map(s=>s.clipAtImageBorders(r,n)),a=i.map(({x:s,y:c,width:p,height:l})=>xs(e.as3D(n,r,o),[c,s,0],[l,p,o]));return a})}const Zg=ee(qe());async function xn(e,t){const n=Zg.env.getEnv().fetch,r=await n(e,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function rw(e){const t=await xn(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return hc(n)}async function lc(e){return(await xn(e)).json()}async function nw(e){return new Float32Array(await(await xn(e)).arrayBuffer())}function Fa(e,t){const n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};const r=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(r,"");const o=e.split("/").filter(s=>s),i=e.endsWith(".json")?o[o.length-1]:n;let a=r+(e.endsWith(".json")?o.slice(0,o.length-1):o).join("/");return a=e.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${i}`:`${a}/${i}`}}async function tw(e,t){const{manifestUri:n,modelBaseUri:r}=Fa(e,t),o=await lc(n);return Mr.loadWeights(o,r)}function ew(e,t,n=!1){const{width:r,height:o}=n?yn(t):t;return e.width=r,e.height=o,{width:r,height:o}}const Qg=ee(ot()),eb=ee(qe());class He{constructor(e){this._name=e,this._params=void 0,this._paramMappings=[]}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(e){const{obj:t,objProp:n}=this.traversePropertyPath(e);return t[n]}reassignParamFromPath(e,t){const{obj:n,objProp:r}=this.traversePropertyPath(e);n[r].dispose(),n[r]=t}getParamList(){return this._paramMappings.map(({paramPath:e})=>({path:e,tensor:this.getParamFromPath(e)}))}getTrainableParams(){return this.getParamList().filter(e=>e.tensor instanceof $t)}getFrozenParams(){return this.getParamList().filter(e=>!(e.tensor instanceof $t))}variable(){this.getFrozenParams().forEach(({path:e,tensor:t})=>{this.reassignParamFromPath(e,t.variable())})}freeze(){this.getTrainableParams().forEach(({path:e,tensor:t})=>{const n=Ye(t.dataSync());t.dispose(),this.reassignParamFromPath(e,n)})}dispose(e=!0){this.getParamList().forEach(t=>{if(e&&t.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${t.path}`);t.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:e})=>Array.from(e.dataSync())).reduce((e,t)=>e.concat(t)))}async load(e){if(e instanceof Float32Array){this.extractWeights(e);return}await this.loadFromUri(e)}async loadFromUri(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);const t=await Qg.loadWeightMap(e,this.getDefaultModelName());this.loadFromWeightMap(t)}async loadFromDisk(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);const{readFile:t}=eb.env.getEnv(),{manifestUri:n,modelBaseUri:r}=Fa(e,this.getDefaultModelName()),o=c=>Promise.all(c.map(p=>t(p).then(l=>l.buffer))),i=Mr.weightsLoaderFactory(o),a=JSON.parse((await t(n)).toString()),s=await i(a,r);this.loadFromWeightMap(s)}loadFromWeightMap(e){const{paramMappings:t,params:n}=this.extractParamsFromWeigthMap(e);this._paramMappings=t,this._params=n}extractWeights(e){const{paramMappings:t,params:n}=this.extractParams(e);this._paramMappings=t,this._params=n}traversePropertyPath(e){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");const t=e.split("/").reduce((o,i)=>{if(!o.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${e}`);return{obj:o.nextObj,objProp:i,nextObj:o.nextObj[i]}},{nextObj:this.params}),{obj:n,objProp:r}=t;if(!n||!r||!(n[r]instanceof ne))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${e}`);return{obj:n,objProp:r}}}function rt(e,t,n){return F(()=>{let r=qn(e,t.depthwise_filter,t.pointwise_filter,n,"same");return r=C(r,t.bias),r})}function Ma(e,t,n=!1){return F(()=>{const r=se(n?C(ve(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):rt(e,t.conv0,[2,2])),o=rt(r,t.conv1,[1,1]),i=se(C(r,o)),a=rt(i,t.conv2,[1,1]);return se(C(r,C(o,a)))})}function Ns(e,t,n=!1,r=!0){return F(()=>{const o=se(n?C(ve(e,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):rt(e,t.conv0,r?[2,2]:[1,1])),i=rt(o,t.conv1,[1,1]),a=se(C(o,i)),s=rt(a,t.conv2,[1,1]),c=se(C(o,C(i,s))),p=rt(c,t.conv3,[1,1]);return se(C(o,C(i,C(s,p))))})}function Ua(e,t,n="same",r=!1){return F(()=>{const o=C(ve(e,t.filters,[1,1],n),t.bias);return r?se(o):o})}function st(e,t){Object.keys(e).forEach(n=>{t.some(r=>r.originalPath===n)||e[n].dispose()})}function Gr(e,t){return function(n,r,o,i){const a=Pt(e(n*r*o*o),[o,o,n,r]),s=ge(e(r));return t.push({paramPath:`${i}/filters`},{paramPath:`${i}/bias`}),{filters:a,bias:s}}}function Wa(e,t){return function(n,r,o){const i=ft(e(n*r),[n,r]),a=ge(e(r));return t.push({paramPath:`${o}/weights`},{paramPath:`${o}/bias`}),{weights:i,bias:a}}}class ou{constructor(e,t,n){this.depthwise_filter=e,this.pointwise_filter=t,this.bias=n}}function jr(e,t){return function(n,r,o){const i=Pt(e(3*3*n),[3,3,n,1]),a=Pt(e(n*r),[1,1,n,r]),s=ge(e(r));return t.push({paramPath:`${o}/depthwise_filter`},{paramPath:`${o}/pointwise_filter`},{paramPath:`${o}/bias`}),new ou(i,a,s)}}function Pr(e){return function(t){const n=e(`${t}/depthwise_filter`,4),r=e(`${t}/pointwise_filter`,4),o=e(`${t}/bias`,1);return new ou(n,r,o)}}function St(e,t){return function(n,r,o){const i=e[n];if(!or(i,r))throw new Error(`expected weightMap[${n}] to be a Tensor${r}D, instead have ${i}`);return t.push({originalPath:n,paramPath:o||n}),i}}function at(e){let t=e;function n(o){const i=t.slice(0,o);return t=t.slice(o),i}function r(){return t}return{extractWeights:n,getRemainingWeights:r}}function Ba(e,t){const n=Gr(e,t),r=jr(e,t);function o(a,s,c,p=!1){const l=p?n(a,s,3,`${c}/conv0`):r(a,s,`${c}/conv0`),h=r(s,s,`${c}/conv1`),m=r(s,s,`${c}/conv2`);return{conv0:l,conv1:h,conv2:m}}function i(a,s,c,p=!1){const{conv0:l,conv1:h,conv2:m}=o(a,s,c,p),b=r(s,s,`${c}/conv3`);return{conv0:l,conv1:h,conv2:m,conv3:b}}return{extractDenseBlock3Params:o,extractDenseBlock4Params:i}}function tb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=at(e),{extractDenseBlock4Params:o}=Ba(n,t),i=o(3,32,"dense0",!0),a=o(32,64,"dense1"),s=o(64,128,"dense2"),c=o(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:a,dense2:s,dense3:c}}}function $a(e){return function(t){const n=e(`${t}/filters`,4),r=e(`${t}/bias`,1);return{filters:n,bias:r}}}function Ga(e,t){const n=St(e,t),r=$a(n),o=Pr(n);function i(s,c=!1){const p=c?r(`${s}/conv0`):o(`${s}/conv0`),l=o(`${s}/conv1`),h=o(`${s}/conv2`);return{conv0:p,conv1:l,conv2:h}}function a(s,c=!1){const p=c?r(`${s}/conv0`):o(`${s}/conv0`),l=o(`${s}/conv1`),h=o(`${s}/conv2`),m=o(`${s}/conv3`);return{conv0:p,conv1:l,conv2:h,conv3:m}}return{extractDenseBlock3Params:i,extractDenseBlock4Params:a}}function nb(e){const t=[],{extractDenseBlock4Params:n}=Ga(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return st(e,t),{params:r,paramMappings:t}}const rb=ee(ot());class ja extends He{constructor(){super("FaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceFeatureExtractor - load model before inference");return F(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=bt(n,r).div(k(255));let i=Ns(o,t.dense0,!0);return i=Ns(i,t.dense1),i=Ns(i,t.dense2),i=Ns(i,t.dense3),i=ht(i,[7,7],[2,2],"valid"),i})}async forward(e){return this.forwardInput(await rb.toNetInput(e))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeigthMap(e){return nb(e)}extractParams(e){return tb(e)}}function Rs(e,t){return F(()=>C(Y(e,t.weights),t.bias))}function ob(e,t,n){const r=[],{extractWeights:o,getRemainingWeights:i}=at(e),a=Wa(o,r),s=a(t,n,"fc");if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{paramMappings:r,params:{fc:s}}}function ib(e){const t=[],n=St(e,t);function r(i){const a=n(`${i}/weights`,2),s=n(`${i}/bias`,1);return{weights:a,bias:s}}const o={fc:r("fc")};return st(e,t),{params:o,paramMappings:t}}function Pa(e){const t={},n={};return Object.keys(e).forEach(r=>{const o=r.startsWith("fc")?n:t;o[r]=e[r]}),{featureExtractorMap:t,classifierMap:n}}const sb=ee(ot());class qa extends He{constructor(e,t){super(e);this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return F(()=>{const n=e instanceof sb.NetInput?this.faceFeatureExtractor.forwardInput(e):e;return Rs(n.as2D(n.shape[0],-1),t.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return ob(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=Pa(e);return this.faceFeatureExtractor.loadFromWeightMap(t),ib(n)}extractParams(e){const t=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),r=n*t+n,o=e.slice(0,e.length-r),i=e.slice(e.length-r);return this.faceFeatureExtractor.extractWeights(o),this.extractClassifierParams(i)}}const Xs=["neutral","happy","sad","angry","fearful","disgusted","surprised"];class pn{constructor(e){if(e.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${e.length}`);Xs.forEach((t,n)=>{this[t]=e[n]})}asSortedArray(){return Xs.map(e=>({expression:e,probability:this[e]})).sort((e,t)=>t.probability-e.probability)}}const iu=ee(ot());class Zs extends qa{constructor(e=new ja()){super("FaceExpressionNet",e)}forwardInput(e){return F(()=>en(this.runNet(e)))}async forward(e){return this.forwardInput(await iu.toNetInput(e))}async predictExpressions(e){const t=await iu.toNetInput(e),n=await this.forwardInput(t),r=await Promise.all(We(n).map(async i=>{const a=await i.data();return i.dispose(),a}));n.dispose();const o=r.map(i=>new pn(i));return t.isBatchInput?o:o[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}}function Ks(e){return e.expressions instanceof pn}function to(e,t){const n={expressions:t};return Object.assign({},e,n)}function kT(e,t,n=.1,r){const o=Array.isArray(t)?t:[t];o.forEach(i=>{const a=i instanceof pn?i:Ks(i)?i.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");const s=a.asSortedArray(),c=s.filter(h=>h.probability>n),p=It(i)?i.detection.box.bottomLeft:r||new J(0,0),l=new $r(c.map(h=>`${h.expression} (${sr(h.probability)})`),p);l.draw(e)})}function an(e){return It(e)&&e.landmarks instanceof ct&&e.unshiftedLandmarks instanceof ct&&e.alignedRect instanceof ye}function In(e,t){const{box:n}=e.detection,r=t.shiftBy(n.x,n.y),o=r.align(),{imageDims:i}=e.detection,a=new ye(e.detection.score,o.rescale(i.reverse()),i),s={landmarks:r,unshiftedLandmarks:t,alignedRect:a};return Object.assign({},e,s)}class ab{constructor(e={}){const{drawLines:t=!0,drawPoints:n=!0,lineWidth:r,lineColor:o,pointSize:i,pointColor:a}=e;this.drawLines=t,this.drawPoints=n,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=o||"rgba(0, 255, 255, 1)",this.pointColor=a||"rgba(255, 0, 255, 1)"}}class cb{constructor(e,t={}){this.faceLandmarks=e,this.options=new ab(t)}draw(e){const t=Ze(e),{drawLines:n,drawPoints:r,lineWidth:o,lineColor:i,pointSize:a,pointColor:s}=this.options;if(n&&this.faceLandmarks instanceof fr&&(t.strokeStyle=i,t.lineWidth=o,nn(t,this.faceLandmarks.getJawOutline()),nn(t,this.faceLandmarks.getLeftEyeBrow()),nn(t,this.faceLandmarks.getRightEyeBrow()),nn(t,this.faceLandmarks.getNose()),nn(t,this.faceLandmarks.getLeftEye(),!0),nn(t,this.faceLandmarks.getRightEye(),!0),nn(t,this.faceLandmarks.getMouth(),!0)),r){t.strokeStyle=s,t.fillStyle=s;const c=p=>{t.beginPath(),t.arc(p.x,p.y,a,0,2*Math.PI),t.fill()};this.faceLandmarks.positions.forEach(c)}}}function _T(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const o=r instanceof ct?r:an(r)?r.landmarks:void 0;if(!o)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new cb(o).draw(e)})}const Ps={};me(Ps,{AnchorPosition:()=>Ht,DrawBox:()=>tu,DrawBoxOptions:()=>Pg,DrawFaceLandmarks:()=>cb,DrawFaceLandmarksOptions:()=>ab,DrawTextField:()=>$r,DrawTextFieldOptions:()=>Da,drawContour:()=>nn,drawDetections:()=>OT,drawFaceExpressions:()=>kT,drawFaceLandmarks:()=>_T});function DT(e,t){const n=Gr(e,t),r=jr(e,t);function o(a,s,c){const p=r(a,s,`${c}/separable_conv0`),l=r(s,s,`${c}/separable_conv1`),h=n(a,s,1,`${c}/expansion_conv`);return{separable_conv0:p,separable_conv1:l,expansion_conv:h}}function i(a,s){const c=r(a,a,`${s}/separable_conv0`),p=r(a,a,`${s}/separable_conv1`),l=r(a,a,`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:n,extractSeparableConvParams:r,extractReductionBlockParams:o,extractMainBlockParams:i}}function pb(e,t){const n=[],{extractWeights:r,getRemainingWeights:o}=at(e),{extractConvParams:i,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:c}=DT(r,n),p=i(3,32,3,"entry_flow/conv_in"),l=s(32,64,"entry_flow/reduction_block_0"),h=s(64,128,"entry_flow/reduction_block_1"),m={conv_in:p,reduction_block_0:l,reduction_block_1:h},b={};qt(t,0,1).forEach(v=>{b[`main_block_${v}`]=c(128,`middle_flow/main_block_${v}`)});const y=s(128,256,"exit_flow/reduction_block"),w=a(256,512,"exit_flow/separable_conv"),L={reduction_block:y,separable_conv:w};if(o().length!==0)throw new Error(`weights remaing after extract: ${o().length}`);return{paramMappings:n,params:{entry_flow:m,middle_flow:b,exit_flow:L}}}function FT(e,t){const n=St(e,t),r=$a(n),o=Pr(n);function i(s){const c=o(`${s}/separable_conv0`),p=o(`${s}/separable_conv1`),l=r(`${s}/expansion_conv`);return{separable_conv0:c,separable_conv1:p,expansion_conv:l}}function a(s){const c=o(`${s}/separable_conv0`),p=o(`${s}/separable_conv1`),l=o(`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:r,extractSeparableConvParams:o,extractReductionBlockParams:i,extractMainBlockParams:a}}function lb(e,t){const n=[],{extractConvParams:r,extractSeparableConvParams:o,extractReductionBlockParams:i,extractMainBlockParams:a}=FT(e,n),s=r("entry_flow/conv_in"),c=i("entry_flow/reduction_block_0"),p=i("entry_flow/reduction_block_1"),l={conv_in:s,reduction_block_0:c,reduction_block_1:p},h={};qt(t,0,1).forEach(w=>{h[`main_block_${w}`]=a(`middle_flow/main_block_${w}`)});const m=i("exit_flow/reduction_block"),b=o("exit_flow/separable_conv"),y={reduction_block:m,separable_conv:b};return st(e,n),{params:{entry_flow:l,middle_flow:h,exit_flow:y},paramMappings:n}}const hb=ee(ot());function ub(e,t,n){return C(ve(e,t.filters,n,"same"),t.bias)}function su(e,t,n=!0){let r=n?se(e):e;return r=rt(r,t.separable_conv0,[1,1]),r=rt(se(r),t.separable_conv1,[1,1]),r=Ie(r,[3,3],[2,2],"same"),r=C(r,ub(e,t.expansion_conv,[2,2])),r}function MT(e,t){let n=rt(se(e),t.separable_conv0,[1,1]);return n=rt(se(n),t.separable_conv1,[1,1]),n=rt(se(n),t.separable_conv2,[1,1]),n=C(n,e),n}class db extends He{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyXception - load model before inference");return F(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=bt(n,r).div(k(256));let i=se(ub(o,t.entry_flow.conv_in,[2,2]));return i=su(i,t.entry_flow.reduction_block_0,!1),i=su(i,t.entry_flow.reduction_block_1),qt(this._numMainBlocks,0,1).forEach(a=>{i=MT(i,t.middle_flow[`main_block_${a}`])}),i=su(i,t.exit_flow.reduction_block),i=se(rt(i,t.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await hb.toNetInput(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeigthMap(e){return lb(e,this._numMainBlocks)}extractParams(e){return pb(e,this._numMainBlocks)}}function mb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=at(e),o=Wa(n,t),i=o(512,1,"fc/age"),a=o(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:i,gender:a}}}}function fb(e){const t=[],n=St(e,t);function r(i){const a=n(`${i}/weights`,2),s=n(`${i}/bias`,1);return{weights:a,bias:s}}const o={fc:{age:r("fc/age"),gender:r("fc/gender")}};return st(e,t),{params:o,paramMappings:t}}var Dt;(function(e){e.FEMALE="female",e.MALE="male"})(Dt||(Dt={}));const Cs=ee(ot());class ta extends He{constructor(e=new db(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return F(()=>{const n=e instanceof Cs.NetInput?this.faceFeatureExtractor.forwardInput(e):e,r=ht(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),o=Rs(r,t.fc.age).as1D(),i=Rs(r,t.fc.gender);return{age:o,gender:i}})}forwardInput(e){return F(()=>{const{age:t,gender:n}=this.runNet(e);return{age:t,gender:en(n)}})}async forward(e){return this.forwardInput(await Cs.toNetInput(e))}async predictAgeAndGender(e){const t=await Cs.toNetInput(e),n=await this.forwardInput(t),r=We(n.age),o=We(n.gender),i=r.map((s,c)=>({ageTensor:s,genderTensor:o[c]})),a=await Promise.all(i.map(async({ageTensor:s,genderTensor:c})=>{const p=(await s.data())[0],l=(await c.data())[0],h=l>.5,m=h?Dt.MALE:Dt.FEMALE,b=h?l:1-l;return s.dispose(),c.dispose(),{age:p,gender:m,genderProbability:b}}));return n.age.dispose(),n.gender.dispose(),t.isBatchInput?a:a[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return mb(e)}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=Pa(e);return this.faceFeatureExtractor.loadFromWeightMap(t),fb(n)}extractParams(e){const t=512*1+1+(512*2+2),n=e.slice(0,e.length-t),r=e.slice(e.length-t);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(r)}}const au=ee(ot());class Ha extends qa{postProcess(e,t,n){const r=n.map(({width:i,height:a})=>{const s=t/Math.max(a,i);return{width:i*s,height:a*s}}),o=r.length;return F(()=>{const i=(l,h)=>Ue([Ge([68],l),Ge([68],h)],1).as2D(1,136).as1D(),a=(l,h)=>{const{width:m,height:b}=r[l];return h(m,b)?Math.abs(m-b)/2:0},s=l=>a(l,(h,m)=>ha(l,(h,m)=>mi(s(h),c(h))))).div(Ue(Array.from(Array(o),(l,h)=>i(r[h].width,r[h].height))));return p})}forwardInput(e){return F(()=>{const t=this.runNet(e);return this.postProcess(t,e.inputSize,e.inputDimensions.map(([n,r])=>({height:n,width:r})))})}async forward(e){return this.forwardInput(await au.toNetInput(e))}async detectLandmarks(e){const t=await au.toNetInput(e),n=F(()=>We(this.forwardInput(t))),r=await Promise.all(n.map(async(o,i)=>{const a=Array.from(await o.data()),s=a.filter((p,l)=>ka(l)),c=a.filter((p,l)=>!ka(l));return new fr(Array(68).fill(0).map((p,l)=>new J(s[l],c[l])),{height:t.getInputHeight(i),width:t.getInputWidth(i)})}));return n.forEach(o=>o.dispose()),t.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}}class mr extends Ha{constructor(e=new ja()){super("FaceLandmark68Net",e)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}}function gb(e){const t=[],{extractDenseBlock3Params:n}=Ga(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return st(e,t),{params:r,paramMappings:t}}function bb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=at(e),{extractDenseBlock3Params:o}=Ba(n,t),i=o(3,32,"dense0",!0),a=o(32,64,"dense1"),s=o(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:a,dense2:s}}}const wb=ee(ot());class yb extends He{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyFaceFeatureExtractor - load model before inference");return F(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=bt(n,r).div(k(255));let i=Ma(o,t.dense0,!0);return i=Ma(i,t.dense1),i=Ma(i,t.dense2),i=ht(i,[14,14],[2,2],"valid"),i})}async forward(e){return this.forwardInput(await wb.toNetInput(e))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeigthMap(e){return gb(e)}extractParams(e){return bb(e)}}class Js extends Ha{constructor(e=new yb()){super("FaceLandmark68TinyNet",e)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}}class Hu extends mr{}function xb(e,t){return C(S(e,t.weights),t.biases)}function cu(e,t,n,r,o="same"){const{filters:i,bias:a}=t.conv;let s=ve(e,i,n,o);return s=C(s,a),s=xb(s,t.scale),r?se(s):s}function Lb(e,t){return cu(e,t,[1,1],!0)}function pu(e,t){return cu(e,t,[1,1],!1)}function za(e,t){return cu(e,t,[2,2],!0,"valid")}function UT(e,t){function n(s,c,p){const l=e(s),h=l.length/(c*p*p);if(Qh(h))throw new Error(`depth has to be an integer: ${h}, weights.length: ${l.length}, numFilters: ${c}, filterSize: ${p}`);return F(()=>Z(Pt(l,[c,h,p,p]),[2,3,1,0]))}function r(s,c,p,l){const h=n(s,c,p),m=ge(e(c));return t.push({paramPath:`${l}/filters`},{paramPath:`${l}/bias`}),{filters:h,bias:m}}function o(s,c){const p=ge(e(s)),l=ge(e(s));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:p,biases:l}}function i(s,c,p,l){const h=r(s,c,p,`${l}/conv`),m=o(c,`${l}/scale`);return{conv:h,scale:m}}function a(s,c,p,l,h=!1){const m=i((h?.5:1)*s,c,p,`${l}/conv1`),b=i(s,c,p,`${l}/conv2`);return{conv1:m,conv2:b}}return{extractConvLayerParams:i,extractResidualLayerParams:a}}function Sb(e){const{extractWeights:t,getRemainingWeights:n}=at(e),r=[],{extractConvLayerParams:o,extractResidualLayerParams:i}=UT(t,r),a=o(4704,32,7,"conv32_down"),s=i(9216,32,3,"conv32_1"),c=i(9216,32,3,"conv32_2"),p=i(9216,32,3,"conv32_3"),l=i(36864,64,3,"conv64_down",!0),h=i(36864,64,3,"conv64_1"),m=i(36864,64,3,"conv64_2"),b=i(36864,64,3,"conv64_3"),y=i(147456,128,3,"conv128_down",!0),w=i(147456,128,3,"conv128_1"),L=i(147456,128,3,"conv128_2"),v=i(589824,256,3,"conv256_down",!0),A=i(589824,256,3,"conv256_1"),R=i(589824,256,3,"conv256_2"),N=i(589824,256,3,"conv256_down_out"),O=F(()=>Z(ft(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);const M={conv32_down:a,conv32_1:s,conv32_2:c,conv32_3:p,conv64_down:l,conv64_1:h,conv64_2:m,conv64_3:b,conv128_down:y,conv128_1:w,conv128_2:L,conv256_down:v,conv256_1:A,conv256_2:R,conv256_down_out:N,fc:O};return{params:M,paramMappings:r}}function WT(e,t){const n=St(e,t);function r(a){const s=n(`${a}/scale/weights`,1),c=n(`${a}/scale/biases`,1);return{weights:s,biases:c}}function o(a){const s=n(`${a}/conv/filters`,4),c=n(`${a}/conv/bias`,1),p=r(a);return{conv:{filters:s,bias:c},scale:p}}function i(a){return{conv1:o(`${a}/conv1`),conv2:o(`${a}/conv2`)}}return{extractConvLayerParams:o,extractResidualLayerParams:i}}function vb(e){const t=[],{extractConvLayerParams:n,extractResidualLayerParams:r}=WT(e,t),o=n("conv32_down"),i=r("conv32_1"),a=r("conv32_2"),s=r("conv32_3"),c=r("conv64_down"),p=r("conv64_1"),l=r("conv64_2"),h=r("conv64_3"),m=r("conv128_down"),b=r("conv128_1"),y=r("conv128_2"),w=r("conv256_down"),L=r("conv256_1"),v=r("conv256_2"),A=r("conv256_down_out"),R=e.fc;if(t.push({originalPath:"fc",paramPath:"fc"}),!Zh(R))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${R}`);const N={conv32_down:o,conv32_1:i,conv32_2:a,conv32_3:s,conv64_down:c,conv64_1:p,conv64_2:l,conv64_3:h,conv128_down:m,conv128_1:b,conv128_2:y,conv256_down:w,conv256_1:L,conv256_2:v,conv256_down_out:A,fc:R};return st(e,t),{params:N,paramMappings:t}}function _t(e,t){let n=Lb(e,t.conv1);return n=pu(n,t.conv2),n=C(n,e),n=se(n),n}function Es(e,t){let n=za(e,t.conv1);n=pu(n,t.conv2);let r=ht(e,2,2,"valid");const o=Re(r.shape),i=r.shape[3]!==n.shape[3],a=r.shape[1]!==n.shape[1]||r.shape[2]!==n.shape[2];if(a){const s=[...n.shape];s[1]=1;const c=Re(s);n=Q([n,c],1);const p=[...n.shape];p[2]=1;const l=Re(p);n=Q([n,l],2)}return r=i?Q([r,o],3):r,n=C(r,n),n=se(n),n}const lu=ee(ot());class dr extends He{constructor(){super("FaceRecognitionNet")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceRecognitionNet - load model before inference");return F(()=>{const n=e.toBatchTensor(150,!0).toFloat(),r=[122.782,117.001,104.298],o=bt(n,r).div(k(256));let i=za(o,t.conv32_down);i=Ie(i,3,2,"valid"),i=_t(i,t.conv32_1),i=_t(i,t.conv32_2),i=_t(i,t.conv32_3),i=Es(i,t.conv64_down),i=_t(i,t.conv64_1),i=_t(i,t.conv64_2),i=_t(i,t.conv64_3),i=Es(i,t.conv128_down),i=_t(i,t.conv128_1),i=_t(i,t.conv128_2),i=Es(i,t.conv256_down),i=_t(i,t.conv256_1),i=_t(i,t.conv256_2),i=Es(i,t.conv256_down_out);const a=i.mean([1,2]),s=Y(a,t.fc);return s})}async forward(e){return this.forwardInput(await lu.toNetInput(e))}async computeFaceDescriptor(e){const t=await lu.toNetInput(e),n=F(()=>We(this.forwardInput(t))),r=await Promise.all(n.map(o=>o.data()));return n.forEach(o=>o.dispose()),t.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeigthMap(e){return vb(e)}extractParams(e){return Sb(e)}}function qu(e){const t=new dr();return t.extractWeights(e),t}function no(e,t){const n={descriptor:t};return Object.assign({},e,n)}function Pu(e){return typeof e.age=="number"}function ro(e,t){const n={age:t};return Object.assign({},e,n)}function ju(e){return(e.gender===Dt.MALE||e.gender===Dt.FEMALE)&&Br(e.genderProbability)}function eo(e,t,n){const r={gender:t,genderProbability:n};return Object.assign({},e,r)}class vt{async then(e){return e(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}}const Ya=ee(ot());async function cr(e,t,n,r,o=({alignedRect:i})=>i){const i=e.map(c=>an(c)?o(c):c.detection),a=r||(t instanceof ne?await Ya.extractFaceTensors(t,i):await Ya.extractFaces(t,i)),s=await n(a);return a.forEach(c=>c instanceof ne&&c.dispose()),s}async function qr(e,t,n,r,o){return cr([e],t,async i=>n(i[0]),r,o)}const Va=e=>typeof e=="number";function mc(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Va(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Va(t.x)&&Va(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Va)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Hr(e){return F(()=>{const t=S(e,k(.10000000149011612));return C(se(_(e,t)),t)})}function rn(e,t){return F(()=>{let n=je(e,[[0,0],[1,1],[1,1],[0,0]]);return n=ve(n,t.conv.filters,[1,1],"valid"),n=_(n,t.bn.sub),n=S(n,t.bn.truediv),n=C(n,t.conv.bias),Hr(n)})}function on(e,t){return F(()=>{let n=je(e,[[0,0],[1,1],[1,1],[0,0]]);return n=qn(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=C(n,t.bias),Hr(n)})}function BT(e,t){const n=Gr(e,t);function r(a,s){const c=ge(e(a)),p=ge(e(a));return t.push({paramPath:`${s}/sub`},{paramPath:`${s}/truediv`}),{sub:c,truediv:p}}function o(a,s,c){const p=n(a,s,3,`${c}/conv`),l=r(s,`${c}/bn`);return{conv:p,bn:l}}const i=jr(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:o,extractSeparableConvParams:i}}function Ib(e,t,n,r){const{extractWeights:o,getRemainingWeights:i}=at(e),a=[],{extractConvParams:s,extractConvWithBatchNormParams:c,extractSeparableConvParams:p}=BT(o,a);let l;if(t.withSeparableConvs){const[h,m,b,y,w,L,v,A,R]=r,N=t.isFirstLayerConv2d?s(h,m,3,"conv0"):p(h,m,"conv0"),O=p(m,b,"conv1"),M=p(b,y,"conv2"),D=p(y,w,"conv3"),G=p(w,L,"conv4"),$=p(L,v,"conv5"),j=A?p(v,A,"conv6"):void 0,oe=R?p(A,R,"conv7"):void 0,ie=s(R||A||v,5*n,1,"conv8");l={conv0:N,conv1:O,conv2:M,conv3:D,conv4:G,conv5:$,conv6:j,conv7:oe,conv8:ie}}else{const[h,m,b,y,w,L,v,A,R]=r,N=c(h,m,"conv0"),O=c(m,b,"conv1"),M=c(b,y,"conv2"),D=c(y,w,"conv3"),G=c(w,L,"conv4"),$=c(L,v,"conv5"),j=c(v,A,"conv6"),oe=c(A,R,"conv7"),ie=s(R,5*n,1,"conv8");l={conv0:N,conv1:O,conv2:M,conv3:D,conv4:G,conv5:$,conv6:j,conv7:oe,conv8:ie}}if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{params:l,paramMappings:a}}function $T(e,t){const n=St(e,t);function r(s){const c=n(`${s}/sub`,1),p=n(`${s}/truediv`,1);return{sub:c,truediv:p}}function o(s){const c=n(`${s}/filters`,4),p=n(`${s}/bias`,1);return{filters:c,bias:p}}function i(s){const c=o(`${s}/conv`),p=r(`${s}/bn`);return{conv:c,bn:p}}const a=Pr(n);return{extractConvParams:o,extractConvWithBatchNormParams:i,extractSeparableConvParams:a}}function Tb(e,t){const n=[],{extractConvParams:r,extractConvWithBatchNormParams:o,extractSeparableConvParams:i}=$T(e,n);let a;if(t.withSeparableConvs){const s=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):i("conv0"),conv1:i("conv1"),conv2:i("conv2"),conv3:i("conv3"),conv4:i("conv4"),conv5:i("conv5"),conv6:s>7?i("conv6"):void 0,conv7:s>8?i("conv7"):void 0,conv8:r("conv8")}}else a={conv0:o("conv0"),conv1:o("conv1"),conv2:o("conv2"),conv3:o("conv3"),conv4:o("conv4"),conv5:o("conv5"),conv6:o("conv6"),conv7:o("conv7"),conv8:r("conv8")};return st(e,n),{params:a,paramMappings:n}}var fc;(function(e){e[e.XS=224]="XS",e[e.SM=320]="SM",e[e.MD=416]="MD",e[e.LG=608]="LG"})(fc||(fc={}));class gc{constructor({inputSize:e,scoreThreshold:t}={}){if(this._name="TinyYolov2Options",this._inputSize=e||416,this._scoreThreshold=t||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}}const hu=ee(ot());class zr extends He{constructor(e){super("TinyYolov2");mc(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,t){let n=rn(e,t.conv0);return n=Ie(n,[2,2],[2,2],"same"),n=rn(n,t.conv1),n=Ie(n,[2,2],[2,2],"same"),n=rn(n,t.conv2),n=Ie(n,[2,2],[2,2],"same"),n=rn(n,t.conv3),n=Ie(n,[2,2],[2,2],"same"),n=rn(n,t.conv4),n=Ie(n,[2,2],[2,2],"same"),n=rn(n,t.conv5),n=Ie(n,[2,2],[1,1],"same"),n=rn(n,t.conv6),n=rn(n,t.conv7),Ua(n,t.conv8,"valid",!1)}runMobilenet(e,t){let n=this.config.isFirstLayerConv2d?Hr(Ua(e,t.conv0,"valid",!1)):on(e,t.conv0);return n=Ie(n,[2,2],[2,2],"same"),n=on(n,t.conv1),n=Ie(n,[2,2],[2,2],"same"),n=on(n,t.conv2),n=Ie(n,[2,2],[2,2],"same"),n=on(n,t.conv3),n=Ie(n,[2,2],[2,2],"same"),n=on(n,t.conv4),n=Ie(n,[2,2],[2,2],"same"),n=on(n,t.conv5),n=Ie(n,[2,2],[1,1],"same"),n=t.conv6?on(n,t.conv6):n,n=t.conv7?on(n,t.conv7):n,Ua(n,t.conv8,"valid",!1)}forwardInput(e,t){const{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return F(()=>{let r=e.toBatchTensor(t,!1).toFloat();return r=this.config.meanRgb?bt(r,this.config.meanRgb):r,r=r.div(k(256)),this.config.withSeparableConvs?this.runMobilenet(r,n):this.runTinyYolov2(r,n)})}async forward(e,t){return await this.forwardInput(await hu.toNetInput(e),t)}async detect(e,t={}){const{inputSize:n,scoreThreshold:r}=new gc(t),o=await hu.toNetInput(e),i=await this.forwardInput(o,n),a=F(()=>We(i)[0].expandDims()),s={width:o.getInputWidth(0),height:o.getInputHeight(0)},c=await this.extractBoxes(a,o.getReshapedInputDimensions(0),r);i.dispose(),a.dispose();const p=c.map(w=>w.box),l=c.map(w=>w.score),h=c.map(w=>w.classScore),m=c.map(w=>this.config.classes[w.label]),b=zs(p.map(w=>w.rescale(n)),l,this.config.iouThreshold,!0),y=b.map(w=>new Tn(l[w],h[w],m[w],p[w],s));return y}getDefaultModelName(){return""}extractParamsFromWeigthMap(e){return Tb(e,this.config)}extractParams(e){const t=this.config.filterSizes||zr.DEFAULT_FILTER_SIZES,n=t?t.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return Ib(e,this.config,this.boxEncodingSize,t)}async extractBoxes(e,t,n){const{width:r,height:o}=t,i=Math.max(r,o),a=i/r,s=i/o,c=e.shape[1],p=this.config.anchors.length,[l,h,m]=F(()=>{const L=e.reshape([c,c,p,this.boxEncodingSize]),v=L.slice([0,0,0,0],[c,c,p,4]),A=L.slice([0,0,0,4],[c,c,p,1]),R=this.withClassScores?en(L.slice([0,0,0,5],[c,c,p,this.config.classes.length]),3):k(0);return[v,A,R]}),b=[],y=await h.array(),w=await l.array();for(let L=0;Ln){const N=(v+ur(w[L][v][A][0]))/c*a,O=(L+ur(w[L][v][A][1]))/c*s,M=Math.exp(w[L][v][A][2])*this.config.anchors[A].x/c*a,D=Math.exp(w[L][v][A][3])*this.config.anchors[A].y/c*s,G=N-M/2,$=O-D/2,j={row:L,col:v,anchor:A},{classScore:oe,label:ie}=this.withClassScores?await this.extractPredictedClass(m,j):{classScore:1,label:0};b.push({box:new gr(G,$,G+M,$+D),score:R,classScore:R*oe,label:ie,...j})}}return l.dispose(),h.dispose(),m.dispose(),b}async extractPredictedClass(e,t){const{row:n,col:r,anchor:o}=t,i=await e.array();return Array(this.config.classes.length).fill(0).map((a,s)=>i[n][r][o][s]).map((a,s)=>({classScore:a,label:s})).reduce((a,s)=>a.classScore>s.classScore?a:s)}}zr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];const Ab=.4,Nb=[new J(1.603231,2.094468),new J(6.041143,7.080126),new J(2.882459,3.518061),new J(4.266906,5.178857),new J(9.041765,10.66308)],Rb=[117.001,114.697,97.404];class vn extends zr{constructor(){const e={withSeparableConvs:!0,iouThreshold:Ab,classes:["face"],anchors:Nb,meanRgb:Rb,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(e)}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new ye(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}const Cb=.4,Eb=[new J(.738768,.874946),new J(2.42204,2.65704),new J(4.30971,7.04493),new J(10.246,4.59428),new J(12.6868,11.8741)],Ob=[new J(1.603231,2.094468),new J(6.041143,7.080126),new J(2.882459,3.518061),new J(4.266906,5.178857),new J(9.041765,10.66308)],kb=[117.001,114.697,97.404],_b="tiny_yolov2_model",Db="tiny_yolov2_separable_conv_model";class dc extends zr{constructor(e=!0){const t=Object.assign({},{withSeparableConvs:e,iouThreshold:Cb,classes:["face"]},e?{anchors:Ob,meanRgb:kb}:{anchors:Eb,withClassScores:!0});super(t)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new ye(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?Db:_b}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}const Fb=ee($s()),le={tinyFaceDetector:new vn(),tinyYolov2:new Fb.TinyYolov2(),faceLandmark68Net:new mr(),faceLandmark68TinyNet:new Js(),faceRecognitionNet:new dr(),faceExpressionNet:new Zs(),ageGenderNet:new ta()},pw=(e,t)=>le.tinyFaceDetector.locateFaces(e,t),Fu=e=>le.faceLandmark68Net.detectLandmarks(e),lw=e=>le.faceLandmark68TinyNet.detectLandmarks(e),hw=e=>le.faceRecognitionNet.computeFaceDescriptor(e),uw=e=>le.faceExpressionNet.predictExpressions(e),dw=e=>le.ageGenderNet.predictAgeAndGender(e),Mu=e=>le.tinyFaceDetector.load(e),mw=e=>le.tinyYolov2.load(e),fw=e=>le.faceLandmark68Net.load(e),gw=e=>le.faceLandmark68TinyNet.load(e),bw=e=>le.faceRecognitionNet.load(e),ww=e=>le.faceExpressionNet.load(e),yw=e=>le.ageGenderNet.load(e),xw=Mu,Lw=vn,Sw=Fu;class Mb extends vt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}class _s extends Mb{async run(){const e=await this.parentTask,t=await cr(e,this.input,async n=>await Promise.all(n.map(r=>le.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return e.map((n,r)=>to(n,t[r]))}withAgeAndGender(){return new Os(this,this.input)}}class Ds extends Mb{async run(){const e=await this.parentTask;if(!e)return;const t=await qr(e,this.input,n=>le.faceExpressionNet.predictExpressions(n),this.extractedFaces);return to(e,t)}withAgeAndGender(){return new ks(this,this.input)}}class Kr extends _s{withAgeAndGender(){return new Yr(this,this.input)}withFaceDescriptors(){return new Ln(this,this.input)}}class Jr extends Ds{withAgeAndGender(){return new Vr(this,this.input)}withFaceDescriptor(){return new Sn(this,this.input)}}class Ub extends vt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}class Os extends Ub{async run(){const e=await this.parentTask,t=await cr(e,this.input,async n=>await Promise.all(n.map(r=>le.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return e.map((n,r)=>{const{age:o,gender:i,genderProbability:a}=t[r];return ro(eo(n,i,a),o)})}withFaceExpressions(){return new _s(this,this.input)}}class ks extends Ub{async run(){const e=await this.parentTask;if(!e)return;const{age:t,gender:n,genderProbability:r}=await qr(e,this.input,o=>le.ageGenderNet.predictAgeAndGender(o),this.extractedFaces);return ro(eo(e,n,r),t)}withFaceExpressions(){return new Ds(this,this.input)}}class Yr extends Os{withFaceExpressions(){return new Kr(this,this.input)}withFaceDescriptors(){return new Ln(this,this.input)}}class Vr extends ks{withFaceExpressions(){return new Jr(this,this.input)}withFaceDescriptor(){return new Sn(this,this.input)}}class Sc extends vt{constructor(e,t){super();this.parentTask=e,this.input=t}}class Ln extends Sc{async run(){const e=await this.parentTask,t=await cr(e,this.input,n=>Promise.all(n.map(r=>le.faceRecognitionNet.computeFaceDescriptor(r))),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return t.map((n,r)=>no(e[r],n))}withFaceExpressions(){return new Kr(this,this.input)}withAgeAndGender(){return new Yr(this,this.input)}}class Sn extends Sc{async run(){const e=await this.parentTask;if(!e)return;const t=await qr(e,this.input,n=>le.faceRecognitionNet.computeFaceDescriptor(n),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return no(e,t)}withFaceExpressions(){return new Jr(this,this.input)}withAgeAndGender(){return new Vr(this,this.input)}}const Wb=ee($s());class sn extends Wb.TinyYolov2Options{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}}const Xr=ee(ot());class yc extends vt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?le.faceLandmark68TinyNet:le.faceLandmark68Net}}class xc extends yc{async run(){const e=await this.parentTask,t=e.map(o=>o.detection),n=this.input instanceof ne?await Xr.extractFaceTensors(this.input,t):await Xr.extractFaces(this.input,t),r=await Promise.all(n.map(o=>this.landmarkNet.detectLandmarks(o)));return n.forEach(o=>o instanceof ne&&o.dispose()),e.map((o,i)=>In(o,r[i]))}withFaceExpressions(){return new Kr(this,this.input)}withAgeAndGender(){return new Yr(this,this.input)}withFaceDescriptors(){return new Ln(this,this.input)}}class Lc extends yc{async run(){const e=await this.parentTask;if(!e)return;const{detection:t}=e,n=this.input instanceof ne?await Xr.extractFaceTensors(this.input,[t]):await Xr.extractFaces(this.input,[t]),r=await this.landmarkNet.detectLandmarks(n[0]);return n.forEach(o=>o instanceof ne&&o.dispose()),In(e,r)}withFaceExpressions(){return new Jr(this,this.input)}withAgeAndGender(){return new Vr(this,this.input)}withFaceDescriptor(){return new Sn(this,this.input)}}class bc extends vt{constructor(e,t=new sn()){super();this.input=e,this.options=t}}class Gs extends bc{async run(){const{input:e,options:t}=this,n=t instanceof sn?r=>le.tinyFaceDetector.locateFaces(r,t):null;if(!n)throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options");return n(e)}runAndExtendWithFaceDetections(){return new Promise(async e=>{const t=await this.run();return e(t.map(n=>cn({},n)))})}withFaceLandmarks(e=!1){return new xc(this.runAndExtendWithFaceDetections(),this.input,e)}withFaceExpressions(){return new _s(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Os(this.runAndExtendWithFaceDetections(),this.input)}}class wc extends bc{async run(){const e=await new Gs(this.input,this.options);let t=e[0];return e.forEach(n=>{n.score>t.score&&(t=n)}),t}runAndExtendWithFaceDetection(){return new Promise(async e=>{const t=await this.run();return e(t?cn({},t):void 0)})}withFaceLandmarks(e=!1){return new Lc(this.runAndExtendWithFaceDetection(),this.input,e)}withFaceExpressions(){return new Ds(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ks(this.runAndExtendWithFaceDetection(),this.input)}}function vw(e,t=new sn()){return new wc(e,t)}function Iw(e,t=new sn()){return new Gs(e,t)}function Qs(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");const n=Array.from(e),r=Array.from(t);return Math.sqrt(n.map((o,i)=>o-r[i]).reduce((o,i)=>o+Math.pow(i,2),0))}class Uu{constructor(e,t=.6){this._distanceThreshold=t;const n=Array.isArray(e)?e:[e];if(!n.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1;const o=()=>`person ${r++}`;this._labeledDescriptors=n.map(i=>{if(i instanceof ln)return i;if(i instanceof Float32Array)return new ln(o(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new ln(o(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(e,t){return t.map(n=>Qs(n,e)).reduce((n,r)=>n+r,0)/(t.length||1)}matchDescriptor(e){return this.labeledDescriptors.map(({descriptors:t,label:n})=>new io(n,this.computeMeanDistance(e,t))).reduce((t,n)=>t.distancee.toJSON())}}static fromJSON(e){const t=e.labeledDescriptors.map(n=>ln.fromJSON(n));return new Uu(t,e.distanceThreshold)}}function Bu(e){const t=new vn();return t.extractWeights(e),t}function vc(e,t){const{width:n,height:r}=new Qe(t.width,t.height);if(n<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:r})}`);if(Array.isArray(e))return e.map(o=>vc(o,{width:n,height:r}));if(an(e)){const o=e.detection.forSize(n,r),i=e.unshiftedLandmarks.forSize(o.box.width,o.box.height);return In(cn(e,o),i)}return It(e)?cn(e,e.detection.forSize(n,r)):e instanceof ct||e instanceof ye?e.forSize(n,r):e}return Vu();})(); +`;return m[m.length-1]=" "+m[m.length-1]+"]"+(o?"":y),m}function js(e){const t=[];for(let n=0;n`Length of values '${r}' does not match the size inferred by the shape '${this.size}'.`)}if(t==="complex64")throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||dm(t,this.size),this.strides=Bt(e)}set(e,...t){t.length===0&&(t=[0]),f(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);const n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(const r of e){if(r<0||r>=this.shape[t]){const i=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(i)}t++}let n=e[e.length-1];for(let r=0;rEp(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataSync(){this.throwIfDisposed();const e=jt().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>Ep(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await jt().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){if(this.isDisposed)return;jt().disposeTensor(this),this.isDisposedInternal=!0}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return oi.print(this,e)}clone(){return this.throwIfDisposed(),oi.clone(this)}toString(e=!1){const t=this.dataSync();return Iy(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),oi.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),jt().makeVariable(this,e,t,n)}}Object.defineProperty(de,Symbol.hasInstance,{value:e=>!!e&&e.dataId!=null&&e.shape!=null&&e.dtype!=null});class Nn extends de{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r);this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Le(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);jt().disposeTensor(this),this.dataId=e.dataId,jt().incRef(this,null)}dispose(){jt().disposeVariable(this),this.isDisposedInternal=!0}}Object.defineProperty(Nn,Symbol.hasInstance,{value:e=>e instanceof de&&e.assign!=null&&e.assign instanceof Function});var al;(function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"})(al||(al={}));var xm;(function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"})(xm||(xm={}));var Lm;(function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"})(Lm||(Lm={}));var vm;(function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"})(vm||(vm={}));var Sm;(function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"})(Sm||(Sm={}));const T0={float32:vm,int32:xm,bool:Lm,complex64:Sm};function wr(e,t){if(e==="string"||t==="string"){if(e==="string"&&t==="string")return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return T0[e][t]}function eS(e){return wr(e,"int32")}const Cf={};Oe(Cf,{assertTypesMatch:()=>Tm,getTensorsInContainer:()=>Gs,isTensorInList:()=>I0,makeTypesMatch:()=>V});function V(e,t){if(e.dtype===t.dtype)return[e,t];const n=wr(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function Tm(e,t){f(e.dtype===t.dtype,()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`)}function I0(e,t){return t.some(n=>n.id===e.id)}function Gs(e){const t=[],n=new Set();return Cy(e,t,n),t}function Cy(e,t,n){if(e==null)return;if(e instanceof de){t.push(e);return}if(!A0(e))return;const r=e;for(const i in r){const o=r[i];n.has(o)||(n.add(o),Cy(o,t,n))}}function A0(e){return Array.isArray(e)||typeof e=="object"}class Ey{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap(),this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class $s{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Ey()}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;const e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){const t=na(e);t.forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[e])})}initializeBackend(e){const t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(Promise.resolve(n)===n){const r=++this.pendingBackendInitId,i=n.then(o=>r(rthis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;tthis.startScope(n),()=>this.endScope(r),()=>(r=t(),r instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),r))}scopedRun(e,t,n){e();try{const r=n();return t(),r}catch(r){throw t(),r}}nextTensorId(){return $s.nextTensorId++}nextVariableId(){return $s.nextVariableId++}clone(e){const t=this.makeTensorFromDataId(e.dataId,e.shape,e.dtype),n={x:e},r=o=>({x:()=>{const a="float32",s={x:o},c={dtype:a};return g.runKernelFunc(p=>p.cast(o,a),s,null,Xn,c)}}),i=[];return this.addTapeNode(this.state.activeScope.name,n,[t],r,i,{}),t}runKernel(e,t,n,r,i){const o=null,a=null;return this.runKernelFunc(o,t,a,e,n,r,i)}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let i=0;n.forEach(s=>{i+=s.dtype==="complex64"?3:1});const o=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=r-t-i-o;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${e}'`)}runKernelFunc(e,t,n,r,i,o,a){let s,c=[];const p=this.isTapeOn();r==null&&(r=this.state.activeScope!=null?this.state.activeScope.name:"");const l=this.state.numBytes,u=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let m;const b=Fi(r,this.backendName);let y;if(b!=null)m=()=>{const L=this.backend.numDataIds();y=b.kernelFunc({inputs:t,attrs:i,backend:this.backend});const T=Array.isArray(y)?y:[y];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,L,T);const A=T.map(({dataId:_,shape:N,dtype:C})=>this.makeTensorFromDataId(_,N,C));if(p){let _=this.getTensorsForGradient(r,t,A);if(_==null){a==null&&(a=[]);const N=A.filter((C,F)=>a[F]);_=(o||[]).slice().concat(N)}c=this.saveTensorsForBackwardMode(_)}return A};else{const L=T=>{if(!p)return;c=T.map(A=>this.keep(this.clone(A)))};m=()=>{const T=this.backend.numDataIds();y=this.tidy(()=>e(this.backend,L));const A=Array.isArray(y)?y:[y];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,T,A),A}}let w;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool("DEBUG")&&!this.state.profiling?s=m():(w=this.profiler.profileKernel(r,t,()=>m()),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(w),s=w.outputs)}),p&&this.addTapeNode(r,t,s,n,c,i),this.state.profiling&&this.state.activeProfile.kernels.push({name:r,bytesAdded:this.state.numBytes-l,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-u,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(t).map(L=>t[L]!=null?t[L].shape:null),outputShapes:s.map(L=>L.shape),kernelTimeMs:w.timeMs,extraInfo:w.extraInfo}),Array.isArray(y)?s:s[0]}saveTensorsForBackwardMode(e){const t=e.map(n=>this.keep(this.clone(n)));return t}getTensorsForGradient(e,t,n){const r=ta(e);if(r!=null){const i=r.inputsToSave||[],o=r.outputsToSave||[];let a;r.saveAllInputs?(f(Array.isArray(t),()=>"saveAllInputs is true, expected inputs to be an array."),a=Object.keys(t).map(c=>t[c])):a=i.map(c=>t[c]);const s=n.filter((c,p)=>o[p]);return a.concat(s)}return null}makeTensor(e,t,n,r){if(e==null)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let i=e;n==="string"&&Rt(e[0])&&(i=e.map(s=>wm(s)));const o=r.write(i,t,n),a=new de(t,n,o,this.nextTensorId());if(this.incRef(a,r),n==="string"){const s=this.state.tensorInfo.get(o),c=bm(i);this.state.numBytes+=c-s.bytes,s.bytes=c}return a}makeTensorFromDataId(e,t,n,r){n=n||"float32";const i=new de(t,n,e,this.nextTensorId());return this.incRef(i,r),i}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),r!=null&&r!==e.dtype&&(e=e.cast(r));const i=new Nn(e,t,n,this.nextTensorId());if(this.state.registeredVariables[i.name]!=null)throw new Error(`Variable with name ${i.name} was already registered`);return this.state.registeredVariables[i.name]=i,this.incRef(i,this.backend),i}incRef(e,t){const n=this.state.tensorInfo.has(e.dataId)?this.state.tensorInfo.get(e.dataId).refCount:0;if(this.state.numTensors++,e.dtype==="string"&&this.state.numStringTensors++,n===0){this.state.numDataBuffers++;let r=0;e.dtype!=="complex64"&&e.dtype!=="string"&&(r=e.size*gm(e.dtype)),this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:r,refCount:0}),this.state.numBytes+=r}this.state.tensorInfo.get(e.dataId).refCount++,e instanceof Nn||this.track(e)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;this.state.numTensors--,e.dtype==="string"&&this.state.numStringTensors--;const t=this.state.tensorInfo.get(e.dataId),n=t.refCount;n<=1?(e.dtype!=="complex64"&&(this.state.numBytes-=t.bytes),this.state.numDataBuffers--,t.backend.disposeData(e.dataId),this.state.tensorInfo.delete(e.dataId)):this.state.tensorInfo.get(e.dataId).refCount--}disposeVariables(){for(const e in this.state.registeredVariables){const t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(r=>r.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const r of this.state.activeProfile.kernels)r.kernelTimeMs=await r.kernelTimeMs,r.extraInfo=await r.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,n,r,i,o){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:i},s=ta(e);s!=null&&(r=s.gradFunc),r!=null&&(a.gradient=c=>(c=c.map((p,l)=>{if(p==null){const u=n[l],m=Pt(u.size,u.dtype);return this.makeTensor(m,u.shape,u.dtype)}return p}),r(c.length>1?c:c[0],i,o))),this.state.activeTape.push(a)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=Gs(e),n=new Set(t.map(i=>i.id));for(let i=0;i{!i.kept&&i.scopeId===r.id&&this.track(i)})}gradients(e,t,n,r=!1){if(f(t.length>0,()=>"gradients() received an empty list of xs."),n!=null&&n.dtype!=="float32")throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const i=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy("forward",e));f(i instanceof de,()=>"The result y returned by f() must be a tensor.");const o=vy(this.state.activeTape,t,i);if(!r&&o.length===0&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",()=>{const a={};a[i.id]=n==null?N0(i.shape):n,Sy(a,o,c=>this.tidy(c),_0);const s=t.map(c=>a[c.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(c=>{for(const p of c.saved)p.dispose()}),this.state.activeTape=null),{value:i,grads:s}})}customGrad(e){return f(qt(e),()=>"The f passed in customGrad(f) must be a function."),(...t)=>{f(t.every(i=>i instanceof de),()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors");let n;const r={};return t.forEach((i,o)=>{r[o]=i}),this.runKernelFunc((i,o)=>(n=e(...t,o),f(n.value instanceof de,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),f(qt(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),r,(i,o)=>{const a=n.gradFunc(i,o),s=Array.isArray(a)?a:[a];f(s.length===t.length,()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...)."),f(s.every(p=>p instanceof de),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");const c={};return s.forEach((p,l)=>{c[l]=()=>p}),c})}}readSync(e){const t=this.state.tensorInfo.get(e);return t.backend.readSync(e)}read(e){const t=this.state.tensorInfo.get(e);return t.backend.read(e)}async time(e){const t=Cp(),n=await this.backend.time(e);return n.wallMs=Cp()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Ey();for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}$s.nextTensorId=0;$s.nextVariableId=0;function N0(e){const t=Ws(Z(e),"float32");return g.makeTensor(t,e,"float32")}function R0(){const e=cm();if(e._tfengine==null){const t=new Fh(e);e._tfengine=new $s(t)}return fy(e._tfengine.ENV),Ny(()=>e._tfengine),e._tfengine}const g=R0();function _0(e,t){const n={a:e,b:t};return g.runKernelFunc((r,i)=>{const o=r.add(e,t);return i([e,t]),o},n,null,Jn)}const ug={};Oe(ug,{isBrowser:()=>Im,isMobile:()=>E0});function C0(){return typeof navigator!="undefined"&&navigator!=null}function E0(){if(C0()){const e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}return!1}function Im(){return typeof window!="undefined"&&window.document!=null||typeof WorkerGlobalScope!="undefined"}const nn=se();nn.registerFlag("DEBUG",()=>!1,e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")});nn.registerFlag("IS_BROWSER",()=>Im());nn.registerFlag("IS_NODE",()=>typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.node!="undefined");nn.registerFlag("IS_CHROME",()=>typeof navigator!="undefined"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));nn.registerFlag("PROD",()=>!1);nn.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",()=>nn.getBool("DEBUG"));nn.registerFlag("DEPRECATION_WARNINGS_ENABLED",()=>!0);nn.registerFlag("IS_TEST",()=>!1);function Fe(e,t){let n=e;if(Ie(e))return t==="string"?[]:[e.length];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||Ie(n)&&t!=="string";)r.push(n.length),n=n[0];return Array.isArray(e)&&se().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&Oy(e,r,[]),r}function Oy(e,t,n){if(n=n||[],!Array.isArray(e)&&!Ie(e)){f(t.length===0,()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}f(t.length>0,()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`),f(e.length===t[0],()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`);const r=t.slice(1);for(let i=0;i=0&&(i=r),ky(r,i,t,n),e==null||!Ie(e)&&!Array.isArray(e)&&typeof e!="number"&&typeof e!="boolean"&&typeof e!="string"){const c=e==null?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${c}'`)}const o=Fe(e,i);!Ie(e)&&!Array.isArray(e)&&(e=[e]);const a=!0,s=i!=="string"?Us(e,i):Wt(e,[],a);return g.makeTensor(s,o,i)}function rn(e,t,n,r="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);const i=e;return i.map((o,a)=>h(o,`${t}[${a}]`,n),r)}function d(e){const t=Object.keys(e);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1));const i=(...o)=>{g.startScope(n);try{const a=r(...o);return a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),g.endScope(a),a}catch(a){throw g.endScope(null),a}};return Object.defineProperty(i,"name",{value:n,configurable:!0}),i}function O0(e){const t=h(e,"x","abs"),n={x:t};return g.runKernelFunc((r,i)=>(i([t]),t.dtype==="complex64"?r.complexAbs(t):r.abs(t)),n,null,Mi)}const _e=d({abs_:O0});function k0(e){const t=h(e,"x","acos"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.acos(t);return i([t]),o},n,null,Ui)}const Mu=d({acos_:k0});function D0(e){const t=h(e,"x","acosh"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.acosh(t);return i([t]),o},n,null,Wi)}const Fu=d({acosh_:D0});function F0(e,t){let n=h(e,"a","add"),r=h(t,"b","add");[n,r]=V(n,r);const i=(a,s)=>{const c=a.add(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,Jn)}const O=d({add_:F0});function M0(e){f(Array.isArray(e),()=>"The argument passed to tf.addN() must be a list of tensors"),f(e.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`);const t=e.map((o,a)=>h(o,`tensors${a}`,"addN")),n=t[0];t.forEach(o=>{if(o.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),t.forEach(o=>{if(!Le(o.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});const r=(o,a)=>{const s=o.addN(t);return a(t),s},i=t;return g.runKernelFunc(r,i,null,qi)}const Du=d({addN_:M0});function Am(e,t){for(let n=0;ne[o]);return[n,i]}function fe(e,t){const n=t.map(r=>1);return Dy(e,n,t)}function U0(e,t,n){f(Am(t,n),()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`)}function he(e,t){if(Am(e,t))return null;const n=[];for(let r=0;rn.push(r)),n}function pr(e){return e.map((t,n)=>[n,t]).sort((t,n)=>t[1]-n[1]).map(t=>t[0])}function Ee(e,t){const n=[];for(let r=t-e;r"new shape and old shape must have the same number of elements.");const r={x:n},i={shape:t},o=(a,s)=>(s([n]),a.reshape(n,t));return g.runKernelFunc(o,r,null,$o,i)}const x=d({reshape_:W0});function q0(e,t){const n=h(e,"x","transpose");if(t==null&&(t=n.shape.map((o,a)=>a).reverse()),f(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(o=>{f(o>=0&&o`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();const r={x:n},i={perm:t};return g.runKernelFunc(o=>o.transpose(n,t),r,null,fs,i)}const X=d({transpose_:q0});function B0(e,t=null,n=!1){let r=h(e,"x","all","bool");const i=s=>{const c=z(t,r.shape);let p=c;const l=he(p,r.rank);l!=null&&(r=X(r,l),p=Ee(p.length,r.rank));const u=s.all(r,p);if(n){const m=fe(u.shape,c);return x(u,m)}return u},o={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(i,o,null,Wu,a)}const ku=d({all_:B0});function P0(e,t=null,n=!1){let r=h(e,"x","any","bool");const i=s=>{const c=z(t,r.shape);let p=c;const l=he(p,r.rank);l!=null&&(r=X(r,l),p=Ee(p.length,r.rank));const u=s.any(r,p);if(n){const m=fe(u.shape,c);return x(u,m)}return u},o={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(i,o,null,qu,a)}const Ou=d({any_:P0});function j0(e,t=0){let n=h(e,"x","argMax");const r=(a,s)=>{s([n]);let c=z(t,n.shape);const p=he(c,n.rank);return p!=null&&(n=X(n,p),c=Ee(c.length,n.rank)),a.argMax(n,c[0])},i={x:n},o={axis:t};return g.runKernelFunc(r,i,null,Bi,o)}const Eu=d({argMax_:j0});function G0(e,t=0){let n=h(e,"x","argMin");const r=(a,s)=>{s([n]),t==null&&(t=0);let c=z(t,n.shape);const p=he(c,n.rank);return p!=null&&(n=X(n,p),c=Ee(c.length,n.rank)),a.argMin(n,c[0])},i={x:n},o={axis:t};return g.runKernelFunc(r,i,null,Pi,o)}const Cu=d({argMin_:G0});function $0(e){const t=h(e,"x","asin"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.asin(t);return i([t]),o},n,null,ji)}const Ru=d({asin_:$0});function H0(e){const t=h(e,"x","asinh"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.asinh(t);return i([t]),o},n,null,Gi)}const _u=d({asinh_:H0});function Y0(e){const t=h(e,"x","atan"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.atan(t);return i([t]),o},n,null,$i)}const Nu=d({atan_:Y0});function z0(e,t){let n=h(e,"a","atan2"),r=h(t,"b","atan2");[n,r]=V(n,r);const i=(a,s)=>{const c=a.atan2(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,Yi)}const Au=d({atan2_:z0});function V0(e){const t=h(e,"x","atanh"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.atanh(t);return i([t]),o},n,null,Hi)}const Iu=d({atanh_:V0});function K0(e,t){const n=h(e,"x","cast");if(!mm(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t==="string"&&n.dtype!=="string"||t!=="string"&&n.dtype==="string")throw new Error("Only strings can be casted to strings");const r={x:n},i={dtype:t};return g.runKernelFunc(o=>o.cast(n,t),r,null,Xn,i)}const R=d({cast_:K0});function J0(e,t,n,r,i="NHWC",o){const a=e[3],s=[...t,a],c=Sn(i);return We(e,s,n,o,r,null,null,c)}function Ct(e,t,n,r,i,o,a="channelsLast"){const[s,c]=kp(t);let p;if(a==="channelsLast")p=[s,c,e[3],e[3]];else if(a==="channelsFirst")p=[s,c,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return We(e,p,n,r,i,o,!1,a)}function on(e,t,n,r,i,o,a="NDHWC"){const[s,c,p]=_m(t);let l,u;if(a==="NDHWC")u="channelsLast",l=[s,c,p,e[4],e[4]];else if(a==="NCDHW")u="channelsFirst",l=[s,c,p,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return Tn(e,l,n,r,i,!1,u,o)}function We(e,t,n,r,i,o,a=!1,s="channelsLast"){let[c,p,l,u]=[-1,-1,-1,-1];if(s==="channelsLast")[c,p,l,u]=e;else if(s==="channelsFirst")[c,u,p,l]=e;else throw new Error(`Unknown dataFormat ${s}`);const[m,b,,y]=t,[w,L]=kp(n),[T,A]=kp(r),_=si(m,T),N=si(b,A),{padInfo:C,outHeight:F,outWidth:E}=X0(i,p,l,w,L,_,N,o,s),B=a?y*u:y;let q;return s==="channelsFirst"?q=[c,B,F,E]:s==="channelsLast"&&(q=[c,F,E,B]),{batchSize:c,dataFormat:s,inHeight:p,inWidth:l,inChannels:u,outHeight:F,outWidth:E,outChannels:B,padInfo:C,strideHeight:w,strideWidth:L,filterHeight:m,filterWidth:b,effectiveFilterHeight:_,effectiveFilterWidth:N,dilationHeight:T,dilationWidth:A,inShape:e,outShape:q,filterShape:t}}function Tn(e,t,n,r,i,o=!1,a="channelsLast",s){let[c,p,l,u,m]=[-1,-1,-1,-1,-1];if(a==="channelsLast")[c,p,l,u,m]=e;else if(a==="channelsFirst")[c,m,p,l,u]=e;else throw new Error(`Unknown dataFormat ${a}`);const[b,y,w,,L]=t,[T,A,_]=_m(n),[N,C,F]=_m(r),E=si(b,N),B=si(y,C),q=si(w,F),{padInfo:P,outDepth:te,outHeight:ne,outWidth:pe}=Z0(i,p,l,u,T,A,_,E,B,q,s),Se=o?L*m:L;let qe;return a==="channelsFirst"?qe=[c,Se,te,ne,pe]:a==="channelsLast"&&(qe=[c,te,ne,pe,Se]),{batchSize:c,dataFormat:a,inDepth:p,inHeight:l,inWidth:u,inChannels:m,outDepth:te,outHeight:ne,outWidth:pe,outChannels:Se,padInfo:P,strideDepth:T,strideHeight:A,strideWidth:_,filterDepth:b,filterHeight:y,filterWidth:w,effectiveFilterDepth:E,effectiveFilterHeight:B,effectiveFilterWidth:q,dilationDepth:N,dilationHeight:C,dilationWidth:F,inShape:e,outShape:qe,filterShape:t}}function Q0(e,t,n,r,i){r==null&&(r=Rm(e,t,n));const o=e[0],a=e[1],s=lr((o-t+2*r)/n+1,i);f(J(s),()=>`The output # of rows (${s}) must be an integer. Change the stride and/or zero pad parameters`);const c=lr((a-t+2*r)/n+1,i);return f(J(c),()=>`The output # of columns (${c}) must be an integer. Change the stride and/or zero pad parameters`),[s,c]}function eR(e,t,n,r,i,o){i==null&&(i=Rm(e,t,r));const a=e[0],s=e[1],c=e[2],p=lr((a-t+2*i)/r+1,o);f(J(p),()=>`The output # of depths (${p}) must be an integer. Change the stride and/or zero pad parameters`);const l=lr((s-t+2*i)/r+1,o);f(J(l),()=>`The output # of rows (${l}) must be an integer. Change the stride and/or zero pad parameters`);const u=lr((c-t+2*i)/r+1,o);return f(J(u),()=>`The output # of columns (${u}) must be an integer. Change the stride and/or zero pad parameters`),[p,l,u,n]}function Rm(e,t,n,r=1){const i=si(t,r);return Math.floor((e[0]*(n-1)-n+i)/2)}function kp(e){return typeof e=="number"?[e,e,e]:e.length===2?[e[0],e[1],1]:e}function _m(e){return typeof e=="number"?[e,e,e]:e}function si(e,t){return t<=1?e:e+(e-1)*(t-1)}function X0(e,t,n,r,i,o,a,s,c){let p,l,u;if(typeof e=="number"){const m=e===0?"VALID":"NUMBER";p={top:e,bottom:e,left:e,right:e,type:m};const b=Q0([t,n],o,r,e,s);l=b[0],u=b[1]}else if(e==="same"){l=Math.ceil(t/r),u=Math.ceil(n/i);const m=Math.max(0,(l-1)*r+o-t),b=Math.max(0,(u-1)*i+a-n),y=Math.floor(m/2),w=m-y,L=Math.floor(b/2),T=b-L;p={top:y,bottom:w,left:L,right:T,type:"SAME"}}else if(e==="valid")p={top:0,bottom:0,left:0,right:0,type:"VALID"},l=Math.ceil((t-o+1)/r),u=Math.ceil((n-a+1)/i);else if(typeof e=="object"){const m=c==="channelsLast"?e[1][0]:e[2][0],b=c==="channelsLast"?e[1][1]:e[2][1],y=c==="channelsLast"?e[2][0]:e[3][0],w=c==="channelsLast"?e[2][1]:e[3][1],L=m===0&&b===0&&y===0&&w===0?"VALID":"EXPLICIT";p={top:m,bottom:b,left:y,right:w,type:L},l=lr((t-o+m+b)/r+1,s),u=lr((n-a+y+w)/i+1,s)}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:p,outHeight:l,outWidth:u}}function Z0(e,t,n,r,i,o,a,s,c,p,l){let u,m,b,y;if(typeof e=="number"){const w=e===0?"VALID":"NUMBER";u={top:e,bottom:e,left:e,right:e,front:e,back:e,type:w};const L=eR([t,n,r,1],s,1,i,e,l);m=L[0],b=L[1],y=L[2]}else if(e==="same"){m=Math.ceil(t/i),b=Math.ceil(n/o),y=Math.ceil(r/a);const w=(m-1)*i+s-t,L=(b-1)*o+c-n,T=(y-1)*a+p-r,A=Math.floor(w/2),_=w-A,N=Math.floor(L/2),C=L-N,F=Math.floor(T/2),E=T-F;u={top:N,bottom:C,left:F,right:E,front:A,back:_,type:"SAME"}}else if(e==="valid")u={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},m=Math.ceil((t-s+1)/i),b=Math.ceil((n-c+1)/o),y=Math.ceil((r-p+1)/a);else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:u,outDepth:m,outHeight:b,outWidth:y}}function lr(e,t){if(!t)return e;switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function ut(e){const[t,n,r]=kp(e);return t===1&&n===1&&r===1}function ae(e,t){return ut(e)||ut(t)}function Sn(e){if(e==="NHWC")return"channelsLast";if(e==="NCHW")return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function tR(e,t,n,r,i){const o=h(e,"x","avgPool","float32"),a=1;f(ae(n,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`);let s=o,c=!1;o.rank===3&&(c=!0,s=x(o,[1,o.shape[0],o.shape[1],o.shape[2]])),f(s.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${s.rank}.`),i!=null&&f(J(r),()=>`Error in avgPool: pad must be an integer when using, dimRoundingMode ${i} but got pad ${r}.`);const p=(b,y)=>{const w=Ct(s.shape,t,n,1,r,i);return y([s]),w.filterWidth===1&&w.filterHeight===1&&Le(w.inShape,w.outShape)?s.clone():b.avgPool(s,w)},l={x:s},u={filterSize:t,strides:n,pad:r,dimRoundingMode:i};let m=g.runKernelFunc(p,l,null,zi,u);return m=R(m,o.dtype),c?x(m,[m.shape[1],m.shape[2],m.shape[3]]):m}const Di=d({avgPool_:tR});function uS(){se().set("PROD",!0)}function hS(){se().set("DEBUG",!0)}function dS(){se().set("DEPRECATION_WARNINGS_ENABLED",!1),console.warn("TensorFlow.js deprecation warnings have been disabled.")}function ge(e){se().getBool("DEPRECATION_WARNINGS_ENABLED")&&console.warn(e+" You can disable deprecation warnings with tf.disableDeprecationWarnings().")}Ry(ge);function mS(){g.disposeVariables()}function fS(){return g}function gS(){return g.memory()}function bS(e){return g.profile(e)}function ce(e,t){return g.tidy(e,t)}function be(e){const t=Gs(e);t.forEach(n=>n.dispose())}function Dh(e){return g.keep(e)}function wS(e){return g.time(e)}function yS(e){return g.setBackend(e)}function xS(){return g.ready()}function LS(){return g.backendName}function vS(e){g.removeBackend(e)}function SS(e){return g.findBackend(e)}function TS(e){return g.findBackendFactory(e)}function IS(e,t,n=1){return g.registerBackend(e,t,n)}function AS(){return g.backend}function NS(e,t){se().setPlatform(e,t)}function nR(e,t,n,r,i,o="NDHWC",a){a==null?a=[1,1,1]:ge("dilations is deprecated, this field will be gone in v3.0.0.");const s=h(e,"x","avgPool3d","float32");let c=s,p=!1;s.rank===4&&(p=!0,c=x(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${c.rank}.`),f(o==="NDHWC",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${o}`),f(ae(n,a),()=>`Error in avgPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),i!=null&&f(J(r),()=>`Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${i} but got pad ${r}.`);const l=(y,w)=>{a==null&&(a=[1,1,1]);const L=on(c.shape,t,n,a,r,i,o);return w([c]),y.avgPool3d(c,L)},u={x:c},m={filterSize:t,strides:n,pad:r,dimRoundingMode:i,dataFormat:o,dilations:a};let b=g.runKernelFunc(l,u,null,Vi,m);return b=R(b,c.dtype),p?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Tu=d({avgPool3d_:nR});function Cm(e,t){const n=e[0].length;e.forEach((i,o)=>{f(i.length===n,()=>`Error in concat${n}D: rank of tensors[${o}] must be the same as the rank of the rest (${n})`)}),f(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`);const r=e[0];e.forEach((i,o)=>{for(let a=0;a`Error in concat${n}D: Shape of tensors[${o}] (${i}) does not match the shape of the rest (${r}) along the non-concatenated axis ${o}.`)})}function Em(e,t){const n=e[0].slice();for(let r=1;r`Based on the provided shape, [${t}], the tensor should have ${i} values but has ${o}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `)}}return!Ie(e)&&!Array.isArray(e)&&(e=[e]),t=t||n,e=r!=="string"?Us(e,r):Wt(e,[],!0),g.makeTensor(e,t,r)}function Qe(e,t,n){const r=Fe(e,n);return ze(e,t,r,n)}function rR(e,t=0){f(e.length>=1,()=>"Pass at least one tensor to concat");let n=rn(e,"tensors","concat");n[0].dtype==="complex64"&&n.forEach(p=>{if(p.dtype!=="complex64")throw new Error(`Cannot concatenate complex64 tensors with a tensor + with dtype ${p.dtype}. `)});const r=z(t,n[0].shape)[0],i=Em(n.map(p=>p.shape),r);if(Z(i)===0)return Qe([],i);if(n=n.filter(p=>p.size>0),n.length===1)return n[0];const o=n.map(p=>p.shape);Cm(o,r);const a=(p,l)=>{const u=p.concat(n,r);return l(n),u},s=n,c={axis:t};return g.runKernelFunc(a,s,null,eo,c)}const re=d({concat_:rR});function iR(e,t,n=!1,r=!1){let i=h(e,"a","matMul"),o=h(t,"b","matMul");[i,o]=V(i,o),f(i.rank>=2&&o.rank>=2&&i.rank===o.rank,()=>`Error in matMul: inputs must have the same rank of at least 2, got ranks ${i.rank} and ${o.rank}.`);const a=n?i.shape[i.rank-2]:i.shape[i.rank-1],s=r?o.shape[o.rank-1]:o.shape[o.rank-2],c=n?i.shape[i.rank-1]:i.shape[i.rank-2],p=r?o.shape[o.rank-2]:o.shape[o.rank-1],l=i.shape.slice(0,-2),u=o.shape.slice(0,-2),m=Z(l),b=Z(u);f(Le(l,u),()=>`Error in matMul: outer dimensions (${l}) and (${u}) of Tensors with shapes ${i.shape} and ${o.shape} must match.`),f(a===s,()=>`Error in matMul: inner shapes (${a}) and (${s}) of Tensors with shapes ${i.shape} and ${o.shape} and transposeA=${n} and transposeB=${r} must match.`);const y=i.shape.slice(0,-2).concat([c,p]),w=n?x(i,[m,a,c]):x(i,[m,c,a]),L=r?x(o,[b,p,s]):x(o,[b,s,p]),T=(C,F)=>(F([w,L]),C.batchMatMul(w,L,n,r)),A={a:w,b:L},_={transposeA:n,transposeB:r},N=g.runKernelFunc(T,A,null,Ki,_);return x(N,y)}const K=d({matMul_:iR});function oR(e,t){let n=h(e,"a","mul"),r=h(t,"b","mul");[n,r]=V(n,r);const i=(a,s)=>{const c=a.multiply(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,Fo)}const v=d({mul_:oR});function sR(e){const t=h(e,"x","sigmoid"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.sigmoid(t);return i([o]),o},n,null,rs)}const St=d({sigmoid_:sR});const kf={};Oe(kf,{assertParamsValid:()=>Om,computeFlatOffset:()=>cR,computeOutShape:()=>km,isSliceContinous:()=>aR,maskToAxes:()=>Hs,parseSliceParams:()=>Ys,startForAxis:()=>Wm,startIndicesWithElidedDims:()=>Fm,stopForAxis:()=>qm,stopIndicesWithElidedDims:()=>Mm,stridesForAxis:()=>Um,stridesWithElidedDims:()=>Dm});function Om(e,t,n){f(e.rank===t.length,()=>`Error in slice${e.rank}D: Length of begin ${t} must match the rank of the array (${e.rank}).`),f(e.rank===n.length,()=>`Error in slice${e.rank}D: Length of size ${n} must match the rank of the array (${e.rank}).`);for(let r=0;r`Error in slice${e.rank}D: begin[${r}] + size[${r}] (${t[r]+n[r]}) would overflow input.shape[${r}] (${e.shape[r]})`)}function Hs(e){const t=[];let n=0;for(;e>0;)e&1&&t.push(n),e/=2,n++;return t}function km(e,t,n){const r=[];for(let i=0;i-1)o[s]=0;else{const c=Fy(t,n,s);let p=r[c];e&1<-1)o[s]=Number.MAX_SAFE_INTEGER;else{const c=Fy(t,n,s);let p=r[c];e&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);const c=r[i];return a<0&&(a+=c),a=ti(0,a,c-1),a}function qm(e,t,n,r,i,o){let a=t[i];const s=n[i]||1;(e&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);const c=r[i];return a<0&&(a+=c),s>0?a=ti(0,a,c):a=ti(-1,a,c-1),a}function aR(e,t,n){let r=n.length;for(let i=0;i1){r=i;break}for(let i=r+1;i0||n[i]!==e[i])return!1;return!0}function cR(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r{f(o!==-1,()=>"slice() does not support negative begin indexing.")});let i;return n==null?i=new Array(e.rank).fill(-1):typeof n=="number"?i=[n,...new Array(e.rank-1).fill(-1)]:n.lengtho>=0?o:(f(o===-1,()=>`Negative size values should be exactly -1 but got ${o} for the slice() size at index ${a}.`),e.shape[a]-r[a])),[r,i]}function pR(e,t,n){const r=h(e,"x","slice");if(r.rank===0)throw new Error("Slicing scalar is not possible");const[i,o]=Ys(r,t,n);Om(r,i,o);const a=(p,l)=>(l([r]),p.slice(r,i,o)),s={x:r},c={begin:t,size:n};return g.runKernelFunc(a,s,null,Qo,c)}const Y=d({slice_:pR});function lR(e){const t=h(e,"x","tanh"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.tanh(t);return i([o]),o},n,null,ds)}const xr=d({tanh_:lR});function uR(e,t,n,r,i,o){const a=h(e,"forgetBias","basicLSTMCell"),s=h(t,"lstmKernel","basicLSTMCell"),c=h(n,"lstmBias","basicLSTMCell"),p=h(r,"data","basicLSTMCell"),l=h(i,"c","basicLSTMCell"),u=h(o,"h","basicLSTMCell"),m=re([p,u],1),b=K(m,s),y=O(b,c),w=y.shape[0],L=y.shape[1]/4,T=[w,L],A=Y(y,[0,0],T),_=Y(y,[0,L],T),N=Y(y,[0,L*2],T),C=Y(y,[0,L*3],T),F=O(v(St(A),xr(_)),v(l,St(O(a,N)))),E=v(xr(F),St(C));return[F,E]}const Su=d({basicLSTMCell_:uR});function hR(e,t,n){const r=h(e,"x","batchToSpaceND"),i=t.reduce((c,p)=>c*p);f(r.rank>=1+t.length,()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`),f(n.length===t.length,()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`),f(r.shape[0]%i===0,()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${i}`);const o=c=>c.batchToSpaceND(r,t,n),a={x:r},s={blockShape:t,crops:n};return g.runKernelFunc(o,a,null,Ji,s)}const Kn=d({batchToSpaceND_:hR});function Uy(e){let t;return e.rank===0||e.rank===1?t=x(e,[1,1,1,e.size]):e.rank===2?t=x(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?t=x(e,[1,e.shape[0],e.shape[1],e.shape[2]]):t=e,t}function dR(e,t,n,r,i,o){o==null&&(o=.001);const a=h(e,"x","batchNorm"),s=h(t,"mean","batchNorm"),c=h(n,"variance","batchNorm");let p;i!=null&&(p=h(i,"scale","batchNorm"));let l;r!=null&&(l=h(r,"offset","batchNorm")),f(s.rank===c.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),f(l==null||s.rank===l.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),f(p==null||s.rank===p.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");const u=Uy(a),m=(L,T)=>(T([u,s,c,p]),L.batchNorm(u,Dp(s),Dp(c),Dp(l),Dp(p),o)),b={x:u,scale:p,offset:l,mean:s,variance:c},y={varianceEpsilon:o},w=g.runKernelFunc(m,b,null,bo,y);return x(w,a.shape)}function Dp(e){return e==null?null:e.rank===0?x(e,[e.size]):e.rank===1?e:e.rank===2?x(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?x(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e}const Jt=d({batchNorm_:dR});function mR(e,t,n,r,i,o){const a=h(e,"x","batchNorm"),s=h(t,"mean","batchNorm"),c=h(n,"variance","batchNorm");let p;i!=null&&(p=h(i,"scale","batchNorm"));let l;return r!=null&&(l=h(r,"offset","batchNorm")),f(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),f(s.rank===2||s.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${s.rank}.`),f(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===2||p.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${l.rank}.`),Jt(a,s,c,l,p,o)}const vu=d({batchNorm2d_:mR});function fR(e,t,n,r,i,o){const a=h(e,"x","batchNorm"),s=h(t,"mean","batchNorm"),c=h(n,"variance","batchNorm");let p;i!=null&&(p=h(i,"scale","batchNorm"));let l;return r!=null&&(l=h(r,"offset","batchNorm")),f(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),f(s.rank===3||s.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${s.rank}.`),f(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===3||p.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${l.rank}.`),Jt(a,s,c,l,p,o)}const Lu=d({batchNorm3d_:fR});function gR(e,t,n,r,i,o){const a=h(e,"x","batchNorm"),s=h(t,"mean","batchNorm"),c=h(n,"variance","batchNorm");let p;i!=null&&(p=h(i,"scale","batchNorm"));let l;return r!=null&&(l=h(r,"offset","batchNorm")),f(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),f(s.rank===4||s.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${s.rank}.`),f(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===4||p.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${l.rank}.`),Jt(a,s,c,l,p,o)}const xu=d({batchNorm4d_:gR});function bR(e){const t=h(e,"x","clone",null),n=()=>g.makeTensorFromDataId(t.dataId,t.shape,t.dtype),r={x:t};return g.runKernelFunc(n,r,null,xo)}const At=d({clone_:bR});function wR(e,t){let n=h(e,"broadcastTo","x");const r=n.shape;if(t.some(l=>!(l>0)||l%1!==0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){const l=n.shape.slice();for(;l.length=0;l--)if(i[l]===t[l])o[l]=1;else if(n.shape[l]!==1)throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);const a=o.map((l,u)=>l>1?u:-1).filter(l=>l>=0);if(a.length===0)return At(n);const s=l=>l.tile(n,o),c={x:n},p={shape:t,inputShape:i};return g.runKernelFunc(s,c,null,Xi,p)}const Ir=d({broadcastTo_:wR});function ke(e,t="float32",n){return t=t||"float32",qs(e),new yr(e,t,n)}function yR(e){const t=h(e,"x","ceil"),n={x:t};return g.runKernelFunc(r=>r.ceil(t),n,null,Zi)}const yu=d({ceil_:yR});function xR(e,t,n){const r=h(e,"x","clipByValue");f(t<=n,()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`);const i={x:r},o={clipValueMin:t,clipValueMax:n};return g.runKernelFunc((a,s)=>{const c=a.clip(r,t,n);return s([r]),c},i,null,Qi,o)}const wu=d({clipByValue_:xR});function LR(e,t){const n=h(e,"real","complex"),r=h(t,"imag","complex");$(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const i=a=>a.complex(n,r),o={real:n,imag:r};return g.runKernelFunc(i,o,null,ju)}const Ge=d({complex_:LR});function vR(e){return re(e,0)}const bu=d({concat1d_:vR});function SR(e,t){return re(e,t)}const gu=d({concat2d_:SR});function TR(e,t){return re(e,t)}const fu=d({concat3d_:TR});function IR(e,t){return re(e,t)}const mu=d({concat4d_:IR});function AR(e,t,n,r,i="NHWC",o=[1,1],a){const s=h(e,"x","conv2d"),c=h(t,"filter","conv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=x(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${c.rank}.`),a!=null&&f(J(r),()=>`Error in conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const u=i==="NHWC"?p.shape[3]:p.shape[1];f(u===c.shape[2],()=>`Error in conv2d: depth of input (${u}) must match input depth for filter ${c.shape[2]}.`),f(ae(n,o),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${o}'`);const m=(L,T)=>{const A=Sn(i),_=We(p.shape,c.shape,n,o,r,a,!1,A),N=L.conv2d(p,c,_);return T([p,c]),N},b={x:p,filter:c},y={strides:n,pad:r,dataFormat:i,dilations:o,dimRoundingMode:a},w=g.runKernelFunc(m,b,null,to,y);return l?x(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const It=d({conv2d_:AR});function NR(e,t,n,r,i="NWC",o=1,a){const s=h(e,"x","conv1d"),c=h(t,"filter","conv1d");let p=s,l=!1;s.rank===2&&(l=!0,p=x(s,[1,s.shape[0],s.shape[1]])),f(p.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${p.rank}.`),f(c.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${c.rank}.`),a!=null&&f(J(r),()=>`Error in conv1d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(p.shape[2]===c.shape[1],()=>`Error in conv1d: depth of input (${p.shape[2]}) must match input depth for filter ${c.shape[1]}.`),f(ae(n,o),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${o}'`),f(i==="NWC",()=>`Error in conv1d: got dataFormat of ${i} but only NWC is currently supported.`);const u=x(c,[1,c.shape[0],c.shape[1],c.shape[2]]),m=x(p,[p.shape[0],1,p.shape[1],p.shape[2]]),b=[1,n],y=[1,o],w="NHWC",L=It(m,u,b,r,w,y,a);return l?x(L,[L.shape[2],L.shape[3]]):x(L,[L.shape[0],L.shape[2],L.shape[3]])}const du=d({conv1d_:NR});function _R(e,t,n,r,i,o="NHWC",a){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let s=e,c=t,p=!1;t.rank===3&&(p=!0,c=x(t,[1,t.shape[0],t.shape[1],t.shape[2]]),s=[1,e[0],e[1],e[2]]),f(s.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${s.length}.`),f(c.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${c.rank}`),f(n.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`);const l=o==="NHWC"?s[3]:s[1],u=o==="NHWC"?c.shape[3]:c.shape[1];f(l===n.shape[2],()=>`Error in conv2dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[2]}.`),f(u===n.shape[3],()=>`Error in conv2dDerInput: depth of output (${u}) must match output depth for filter ${n.shape[3]}.`),a!=null&&f(J(i),()=>`Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const m=(L,T)=>{const A=1,_=Sn(o),N=We(s,n.shape,r,A,i,a,!1,_),C=L.conv2dDerInput(c,n,N);return T([c,n]),C},b={dy:c,filter:n},y={strides:r,pad:i,dataFormat:o,dimRoundingMode:a,inputShape:s},w=g.runKernelFunc(m,b,null,no,y);return p?x(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const ai=d({conv2DBackpropInput_:_R});function RR(e,t,n,r,i,o){const a=h(e,"x","conv2dTranspose"),s=h(t,"filter","conv2dTranspose");return ai(n,a,s,r,i,"NHWC",o)}const hu=d({conv2dTranspose_:RR});function CR(e,t,n,r,i="NDHWC",o=[1,1,1]){const a=h(e,"x","conv3d"),s=h(t,"filter","conv3d");let c=a,p=!1;a.rank===4&&(p=!0,c=x(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),f(c.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${c.rank}.`),f(s.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${s.rank}.`),f(c.shape[4]===s.shape[3],()=>`Error in conv3d: depth of input (${c.shape[4]}) must match input depth for filter ${s.shape[3]}.`),f(ae(n,o),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${o}'`),f(i==="NDHWC",()=>`Error in conv3d: got dataFormat of ${i} but only NDHWC is currently supported.`);const l=(y,w)=>{const L=Tn(c.shape,s.shape,n,o,r),T=y.conv3d(c,s,L);return w([c,s]),T},u={x:c,filter:s},m={strides:n,pad:r,dataFormat:i,dilations:o},b=g.runKernelFunc(l,u,null,ro,m);return p?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const uu=d({conv3d_:CR});function ER(e,t,n,r,i){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let o=e,a=t,s=!1;t.rank===4&&(s=!0,a=x(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),o=[1,e[0],e[1],e[2],e[3]]);const c=o[4],p=a.shape[4];f(o.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${o.length}.`),f(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),f(n.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`),f(c===n.shape[3],()=>`Error in conv3dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[3]}.`),f(p===n.shape[4],()=>`Error in conv3dDerInput: depth of output (${p}) must match output depth for filter ${n.shape[4]}.`);const l=y=>{const w=1,L=Tn(o,n.shape,r,w,i);return y.conv3dDerInput(a,n,L)},u={dy:a},m={pad:i},b=g.runKernelFunc(l,u,null,Hu,m);return s?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Fp=d({conv3DBackpropInput_:ER});function OR(e,t,n,r,i){const o=h(e,"x","conv3dTranspose"),a=h(t,"filter","conv3dTranspose");return Fp(n,o,a,r,i)}const lu=d({conv3dTranspose_:OR});function kR(e){const t=h(e,"x","cos"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.cos(t);return i([t]),o},n,null,io)}const Vn=d({cos_:kR});function DR(e){const t=h(e,"x","cosh"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.cosh(t);return i([t]),o},n,null,oo)}const ki=d({cosh_:DR});function FR(e,t=0,n=!1,r=!1){const i=h(e,"x","cumsum"),o=(c,p)=>{const l=he([t],i.rank);let u=i;l!=null&&(u=X(i,l));const m=Ee(1,i.rank)[0];let b=c.cumsum(u,m,n,r);if(p([i]),l!=null){const y=pr(l);b=X(b,y)}return b},a={x:i},s={axis:t,exclusive:n,reverse:r};return g.runKernelFunc(o,a,null,so,s)}const Oi=d({cumsum_:FR});function MR(e,t,n="NHWC"){const r=h(e,"x","depthToSpace"),i=n==="NHWC"?r.shape[1]:r.shape[2],o=n==="NHWC"?r.shape[2]:r.shape[3],a=n==="NHWC"?r.shape[3]:r.shape[1];f(i*t>=0,()=>`Negative dimension size caused by overflow when multiplying + ${i} and ${t} for depthToSpace with input shape + ${r.shape}`),f(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying + ${o} and ${t} for depthToSpace with input shape + ${r.shape}`),f(a%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${a} for depthToSpace with input shape ${r.shape}`);const s=l=>l.depthToSpace(r,t,n),c={x:r},p={blockSize:t,dataFormat:n};return g.runKernelFunc(s,c,null,zu,p)}const pu=d({depthToSpace_:MR});function UR(e,t,n,r,i="NHWC",o=[1,1],a){const s=h(e,"x","depthwiseConv2d"),c=h(t,"filter","depthwiseConv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=x(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[3]===c.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p.shape[3]}) must match the inChannels dimension in filter ${c.shape[2]}.`),a!=null&&f(J(r),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const u=(w,L)=>{o==null&&(o=[1,1]),f(ae(n,o),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${o}'`);const T=We(p.shape,c.shape,n,o,r,a,!0),A=w.depthwiseConv2D(p,c,T);return L([p,c]),A},m={x:p,filter:c},b={strides:n,pad:r,dataFormat:i,dilations:o,dimRoundingMode:a},y=g.runKernelFunc(u,m,null,ao,b);return l?x(y,[y.shape[1],y.shape[2],y.shape[3]]):y}const zn=d({depthwiseConv2d_:UR});function WR(e){const t=h(e,"x","diag"),n=i=>{const o=x(t,[t.size]),a=i.diag(o),s=[...e.shape,...e.shape];return x(a,s)},r={x:t};return g.runKernelFunc(n,r,null,Ju)}const cu=d({diag_:WR});function qR(e,t,n,r,i=[1,1],o="NHWC"){const a=h(e,"x","dilation2d"),s=h(t,"filter","dilation2d");f(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),f(s.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${s.rank}.`),f(o==="NHWC",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${o}`);let c=a,p=!1;a.rank===3&&(c=x(a,[1,a.shape[0],a.shape[1],a.shape[2]]),p=!0);const l={x:c,filter:s},u={strides:n,pad:r,dilations:i},m=g.runKernel(co,l,u);return p?x(m,[m.shape[1],m.shape[2],m.shape[3]]):m}const au=d({dilation2d_:qR});function BR(e,t){let n=h(e,"a","floorDiv"),r=h(t,"b","floorDiv");[n,r]=V(n,r);const i=(a,s)=>{const c=a.floorDiv(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,go)}const Ri=d({floorDiv_:BR});function PR(e,t){let n=h(e,"a","div"),r=h(t,"b","div");if([n,r]=V(n,r),n.dtype==="int32"&&r.dtype==="int32")return Ri(n,r);const i=(s,c)=>{const p=s.realDivide(n,r);return c([n,r]),p},o={a:n,b:r},a={};return g.runKernelFunc(i,o,null,po,a)}const M=d({div_:PR});function jR(e,t){const n=e.length,r=[];for(let i=0;i1&&a===1&&r.unshift(o)}return r}function ie(e,t){const n=[];for(let r=0;r1)&&n.unshift(o)}return n}function H(e,t){const n=[],r=Math.max(e.length,t.length);for(let i=0;ia.equal(n,r),o={a:n,b:r};return g.runKernelFunc(i,o,null,eh)}const Kt=d({equal_:GR});function $R(e,t,n){const r=h(t,"a","where"),i=h(n,"b","where"),o=h(e,"condition","where","bool"),a=H(r.shape,i.shape),s=Ir(r,a),c=Ir(i,a);o.rank===1&&f(o.shape[0]===r.shape[0],()=>"The first dimension of `a` must match the size of `condition`."),o.rank!==1&&$(o.shape,c.shape,"Error in where: ");const p=(u,m)=>{const b=u.select(o,s,c);return m([o]),b},l={condition:o,t:s,e:c};return g.runKernelFunc(p,l,null,Xo)}const Ae=d({where_:$R});function HR(e){const t=h(e,"x","zerosLike"),n={x:t};return g.runKernelFunc(r=>r.zerosLike(t),n,null,ws)}const W=d({zerosLike_:HR});function YR(e,t){let n=h(e,"a","div"),r=h(t,"b","div");[n,r]=V(n,r);const i=M(n,r),o=W(i),a=Kt(r,o);return Ae(a,o,i)}const su=d({divNoNan_:YR});function zR(e,t){const n=h(e,"t1","dot"),r=h(t,"t2","dot");f((n.rank===1||n.rank===2)&&(r.rank===1||r.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`);const i=n.rank===1?n.size:n.shape[1],o=r.rank===1?r.size:r.shape[0];if(f(i===o,()=>`Error in dot: inner dimensions of inputs must match, but got ${i} and ${o}.`),n.rank===1&&r.rank===1){const a=x(n,[1,-1]),s=x(r,[-1,1]),c=K(a,s);return x(c,[])}else if(n.rank===1&&r.rank===2){const a=x(n,[1,-1]),s=x(r,[r.shape[0],r.shape[1]]),c=K(a,s);return x(c,[c.size])}else if(n.rank===2&&r.rank===1){const a=x(r,[-1,1]),s=K(n,a);return x(s,[s.size])}else{const a=x(r,[r.shape[0],r.shape[1]]),s=K(n,a);return s}}const ou=d({dot_:zR});function VR(e){const t=h(e,"x","elu"),n=(i,o)=>{const a=i.elu(t);return o([a]),a},r={x:t};return g.runKernelFunc(n,r,null,lo)}const Ei=d({elu_:VR});function KR(e){let t=h(e,"x","erf");f(t.dtype==="int32"||t.dtype==="float32",()=>"Input dtype must be `int32` or `float32`."),t.dtype==="int32"&&(t=R(t,"float32"));const n={x:t};return g.runKernelFunc((r,i)=>{const o=r.erf(t);return i([t]),o},n,null,uo)}const iu=d({erf_:KR});function JR(e){const t=h(e,"x","exp"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.exp(t);return i([o]),o},n,null,ho)}const Ne=d({exp_:JR});function XR(e,t=0){const n=null,r=h(e,"x","expandDims",n);f(t<=r.rank,()=>"Axis must be <= rank of the tensor");const i=r.shape.slice();return t<0&&(f(-(r.rank+1)<=t,()=>`Axis must be in the interval [${-(r.rank+1)}, ${r.rank}]`),t=r.rank+t+1),i.splice(t,0,1),x(r,i)}const Ke=d({expandDims_:XR});function ZR(e){const t=h(e,"x","expm1"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.expm1(t);return i([t]),o},n,null,mo)}const ru=d({expm1_:ZR});function QR(e,t){const n=null,r=h(e,"x","tile",n);f(r.rank===t.length,()=>`Error in transpose: rank of input ${r.rank} must match length of reps ${t}.`);const i=(c,p)=>{const l=c.tile(r,t);return p([r]),l},o=[r],a={x:r},s={reps:t};return g.runKernelFunc(i,a,null,ms,s,o)}const Ht=d({tile_:QR});function e1(e,t,n,r="float32"){t==null&&(t=e);const i=ke([e,t],r),o=e<=t?e:t;for(let s=0;s`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],i=e.size/r,o=e.as2D(i,r),a=n.fft(o);return a.reshape(e.shape)},t,null,th)}const Yn=d({fft_:t1});function Hn(e,t,n){const r={shape:e,value:t,dtype:n};return g.runKernelFunc(i=>i.fill(e,t,n),{},null,nh,r)}function n1(e){const t=h(e,"x","floor"),n={x:t};return g.runKernelFunc(r=>r.floor(t),n,null,fo)}const $n=d({floor_:n1});const Mp=30;function r1(e){return e<=Mp?e:ii(e,Math.floor(Math.sqrt(e)))}const Wy={};Oe(Wy,{collectGatherOpShapeInfo:()=>Bm,computeOutShape:()=>o1,segOpComputeOptimalWindowSize:()=>i1});function i1(e,t){let n=!1,r;for(e<=Mp?(r=e,n=!0):r=ii(e,Math.floor(Math.sqrt(e)));!n;)r>t||r===e?n=!0:r=ii(e,r+1);return r}function o1(e,t,n){const r=[],i=e.length;for(let o=0;o{const l=z(n,r.shape)[0],u=Bm(r,i,l),m=c.gather(r,x(i,[i.size]),l);return p([r,i]),x(m,u.outputShape)};return g.runKernelFunc(s,o,null,wo,a)}const Gn=d({gather_:s1});function a1(e,t){let n=h(e,"a","greater"),r=h(t,"b","greater");[n,r]=V(n,r),H(n.shape,r.shape);const i=a=>a.greater(n,r),o={a:n,b:r};return g.runKernelFunc(i,o,null,oh)}const Ve=d({greater_:a1});function c1(e,t){let n=h(e,"a","greaterEqual"),r=h(t,"b","greaterEqual");[n,r]=V(n,r),H(n.shape,r.shape);const i=(a,s)=>{const c=a.greaterEqual(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,yo)}const ct=d({greaterEqual_:c1});function p1(e){f(e.dtype==="complex64",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],i=e.size/r,o=x(e,[i,r]),a=n.ifft(o);return x(a,e.shape)},t,null,sh)}const cn=d({ifft_:p1});function l1(e){const t=h(e,"input","imag"),n=i=>i.imag(t),r={input:t};return g.runKernelFunc(n,r,null,ah)}const Vt=d({imag_:l1});function u1(e){const t=h(e,"input","real"),n=i=>i.real(t),r={input:t};return g.runKernelFunc(n,r,null,Th)}const kt=d({real_:u1});function h1(e,t){const n=h(e,"x","reverse"),r=a=>{const s=z(t,n.shape);if(n.rank===0)return At(n);const c=a.reverse(n,s);return x(c,n.shape)},i={x:n},o={dims:t};return g.runKernelFunc(r,i,null,Vo,o)}const Pe=d({reverse_:h1});function k(e,t){if((Ie(e)&&t!=="string"||Array.isArray(e))&&t!=="complex64")throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if(t==="string"&&Ie(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");const n=[],r=[];return ze(e,n,r,t)}function d1(e){const t=e.shape[e.shape.length-1],n=e.size/t;let r;if(t<=2){const i=x(e,[n,t]);r=cn(i)}else{const i=[n,2*(t-1)],o=x(kt(e),[n,t]),a=x(Vt(e),[n,t]),s=Pe(Y(o,[0,1],[n,t-2]),1),c=v(Pe(Y(a,[0,1],[n,t-2]),1),k(-1)),p=re([o,s],1),l=re([a,c],1),u=x(Ge(p,l),[i[0],i[1]]);r=cn(u)}if(r=kt(r),e.rank===3&&e.shape[0]!==0){const i=r,o=e.shape[0];r=x(r,[o,r.shape[0]/o,r.shape[1]]),i.dispose()}return r}const _i=d({irfft_:d1});function m1(e){const t=h(e,"x","isFinite"),n={x:t};return g.runKernelFunc(r=>r.isFinite(t),n,null,Lo)}const tu=d({isFinite_:m1});function f1(e){const t=h(e,"x","isInf"),n={x:t};return g.runKernelFunc(r=>r.isInf(t),n,null,vo)}const eu=d({isInf_:f1});function g1(e){const t=h(e,"x","isNaN"),n={x:t};return g.runKernelFunc(r=>r.isNaN(t),n,null,So)}const Ql=d({isNaN_:g1});function b1(e,t){let n=h(e,"a","maximum"),r=h(t,"b","maximum");[n,r]=V(n,r),n.dtype==="bool"&&(n=R(n,"int32"),r=R(r,"int32")),H(n.shape,r.shape);const i=(a,s)=>{const c=a.maximum(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,Ro)}const Tt=d({maximum_:b1});function w1(e,t=.2){const n=h(e,"x","leakyRelu");return Tt(v(k(t),n),n)}const Zl=d({leakyRelu_:w1});function y1(e,t){let n=h(e,"a","less"),r=h(t,"b","less");[n,r]=V(n,r),H(n.shape,r.shape);const i=a=>a.less(n,r),o={a:n,b:r};return g.runKernelFunc(i,o,null,ch)}const jn=d({less_:y1});function x1(e,t){let n=h(e,"a","lessEqual"),r=h(t,"b","lessEqual");[n,r]=V(n,r),H(n.shape,r.shape);const i=(a,s)=>{const c=a.lessEqual(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,ph)}const at=d({lessEqual_:x1});function Xl(e,t,n){if(n<=0)throw new Error("The number of values should be positive.");const r={start:e,stop:t,num:n};return g.runKernelFunc(i=>i.linspace(e,t,n),{},null,lh,r)}function L1(e,t=5,n=1,r=1,i=.5){const o=h(e,"x","localResponseNormalization");f(o.rank===4||o.rank===3,()=>`Error in localResponseNormalization: x must be rank 3 or 4 but got + rank ${o.rank}.`),f(J(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let a=o,s=!1;o.rank===3&&(s=!0,a=x(o,[1,o.shape[0],o.shape[1],o.shape[2]]));const c=(m,b)=>{const y=m.localResponseNormalization4D(a,t,n,r,i);return b([a,y]),y},p={x:a},l={depthRadius:t,bias:n,alpha:r,beta:i},u=g.runKernelFunc(c,p,null,No,l);return s?x(u,[u.shape[1],u.shape[2],u.shape[3]]):u}const Jl=d({localResponseNormalization_:L1});function v1(e){const t=h(e,"x","log"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.log(t);return i([t]),o},n,null,To)}const gt=d({log_:v1});function S1(e){const t=h(e,"x","log1p"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.log1p(t);return i([t]),o},n,null,Io)}const Ni=d({log1p_:S1});function aS(e){return f(qt(e),()=>"The f passed in grad(f) must be a function"),(t,n)=>{const r=h(t,"x","tf.grad",null),i=n!=null?h(n,"dy","tf.grad"):null;return g.tidy(()=>{const{value:o,grads:a}=g.gradients(()=>e(r),[r],i);return i!=null&&$(o.shape,i.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),Up(a),a[0]})}}function cS(e){return f(qt(e),()=>"The f passed in grads(f) must be a function"),(t,n)=>{f(Array.isArray(t),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");const r=rn(t,"args","tf.grads",null),i=n!=null?h(n,"dy","tf.grads"):null;return g.tidy(()=>{const{value:o,grads:a}=g.gradients(()=>e(...r),r,i);return i!=null&&$(o.shape,i.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Up(a),a})}}function pS(e){return f(qt(e),()=>"The f passed in valueAndGrad(f) must be a function"),(t,n)=>{f(t instanceof de,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),f(n==null||n instanceof de,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");const{grads:r,value:i}=g.gradients(()=>e(t),[t],n);return Up(r),{grad:r[0],value:i}}}function lS(e){return f(qt(e),()=>"The f passed in valueAndGrads(f) must be a function"),(t,n)=>{f(Array.isArray(t)&&t.every(i=>i instanceof de),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),f(n==null||n instanceof de,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");const r=g.gradients(()=>e(...t),t,n);return n!=null&&$(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Up(r.grads),r}}function kh(e,t){f(qt(e),()=>"The f passed in variableGrads(f) must be a function"),f(t==null||Array.isArray(t)&&t.every(p=>p instanceof Nn),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");const n=t!=null;if(!n){t=[];for(const p in g.registeredVariables)t.push(g.registeredVariables[p])}const r=n?t.filter(p=>!p.trainable):null,i=t.length;t=t.filter(p=>p.trainable),f(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${i} variables is trainable.`);const o=!0,{value:a,grads:s}=g.gradients(e,t,null,o);f(s.some(p=>p!=null),()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize()."),f(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);const c={};return t.forEach((p,l)=>{s[l]!=null&&(c[p.name]=s[l])}),r!=null&&r.forEach(p=>c[p.name]=null),{value:a,grads:c}}function $e(e){return g.customGrad(e)}function Up(e){const t=e.filter(n=>n==null).length;if(t>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that + the f you passed encloses all operations that lead from x to y.`)}function T1(e){const t=h(e,"x","neg"),n={x:t};return g.runKernelFunc(r=>r.neg(t),n,null,Mo)}const Q=d({neg_:T1});function I1(e){const t=h(e,"x","softplus"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.softplus(t);return i([t]),o},n,null,is)}const gi=d({softplus_:I1});function A1(e){const t=h(e,"x","logSigmoid"),n=$e(r=>{const i=Q(gi(Q(r))),o=a=>{const s=v(a,St(Q(r)));return s};return{value:i,gradFunc:o}});return n(t)}const Kl=d({logSigmoid_:A1});function N1(e,t=null,n=!1){const r=h(e,"x","max"),i=(s,c)=>{const p=z(t,r.shape);let l=p;const u=he(l,r.rank);let m=r;u!=null&&(m=X(r,u),l=Ee(l.length,m.rank));const b=s.max(m,l);u!=null&&m.dispose();let y=b;if(n){const w=fe(y.shape,z(t,r.shape));y=x(y,w),b.dispose()}return c([r,y]),y},o={x:r},a={reductionIndices:t,keepDims:n};return g.runKernelFunc(i,o,null,_o,a)}const st=d({max_:N1});function _1(e,t){let n=h(e,"a","sub"),r=h(t,"b","sub");[n,r]=V(n,r);const i=(a,s)=>{const c=a.subtract(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,us)}const D=d({sub_:_1});function R1(e,t=null,n=!1){let r=h(e,"x","sum");r.dtype==="bool"&&(r=R(r,"int32"));const i=(s,c)=>{c([r]);const p=z(t,r.shape),l=he(p,r.rank);let u=p,m=r;l!=null&&(m=X(r,l),u=Ee(u.length,r.rank));let b=s.sum(m,u);if(n){const y=fe(b.shape,p);b=x(b,y)}return b},o={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(i,o,null,ss,a)}const U=d({sum_:R1});function C1(e,t=-1){const n=h(e,"logits","logSoftmax");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);const r=(a,s)=>{const c=!0,p=st(e,t,!0),l=D(e,p),u=D(R(l,"float32"),gt(U(Ne(l),t,c)));return s([u]),u},i={logits:n},o={axis:t};return g.runKernelFunc(r,i,null,Ao,o)}const Vl=d({logSoftmax_:C1});function E1(e,t=null,n=!1){const r=h(e,"x","logSumExp"),i=z(t,r.shape),o=st(r,i,!0),a=D(r,o),s=Ne(a),c=U(s,i),p=gt(c),l=O(x(o,p.shape),p);if(n){const u=fe(l.shape,i);return x(l,u)}return l}const Ai=d({logSumExp_:E1});function O1(e,t){const n=h(e,"a","logicalAnd","bool"),r=h(t,"b","logicalAnd","bool");H(n.shape,r.shape);const i={a:n,b:r};return g.runKernelFunc(o=>o.logicalAnd(n,r),i,null,uh)}const ft=d({logicalAnd_:O1});function k1(e){const t=h(e,"x","logicalNot","bool"),n={x:t};return g.runKernelFunc(r=>r.logicalNot(t),n,null,hh)}const Pn=d({logicalNot_:k1});function D1(e,t){const n=h(e,"a","logicalOr","bool"),r=h(t,"b","logicalOr","bool");H(n.shape,r.shape);const i={a:n,b:r};return g.runKernelFunc(o=>o.logicalOr(n,r),i,null,dh)}const Ii=d({logicalOr_:D1});function F1(e,t){const n=h(e,"a","logicalXor","bool"),r=h(t,"b","logicalXor","bool");return H(n.shape,r.shape),ft(Ii(e,t),Pn(ft(e,t)))}const zl=d({logicalXor_:F1});function M1(e,t,n,r,i){const o=h(e,"x","maxPool"),a=1;let s=o,c=!1;o.rank===3&&(c=!0,s=x(o,[1,o.shape[0],o.shape[1],o.shape[2]])),f(s.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${s.rank}.`),f(ae(n,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),i!=null&&f(J(r),()=>`Error in maxPool: pad must be an integer when using, dimRoundingMode ${i} but got pad ${r}.`);const p=(b,y)=>{const w=Ct(s.shape,t,n,1,r,i);let L;return w.filterWidth===1&&w.filterHeight===1&&Le(w.inShape,w.outShape)?L=s.clone():L=b.maxPool(s,w),y([s,L]),L},l={x:s},u={filterSize:t,strides:n,pad:r,dimRoundingMode:i},m=g.runKernelFunc(p,l,null,Co,u);return c?x(m,[m.shape[1],m.shape[2],m.shape[3]]):m}const Ti=d({maxPool_:M1});function U1(e,t=[1,1,1],n,r,i,o="NDHWC",a){a==null?a=[1,1,1]:ge("dilations is deprecated, this field will be gone in v3.0.0.");const s=h(e,"x","maxPool3d");let c=s,p=!1;s.rank===4&&(p=!0,c=x(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${c.rank}.`),f(o==="NDHWC",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${o}`),f(ae(n,a),()=>`Error in maxPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),i!=null&&f(J(r),()=>`Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${i} but got pad ${r}.`);const l=(y,w)=>{a==null&&(a=[1,1,1]);const L=on(c.shape,t,n,a,r,i,o),T=y.maxPool3d(c,L);return w([c,T]),T},u={x:c},m={filterSize:t,strides:n,pad:r,dimRoundingMode:i,dataFormat:o,dilations:a},b=g.runKernelFunc(l,u,null,Eo,m);return p?x(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Yl=d({maxPool3d_:U1});function W1(e,t,n,r,i=!1){const o=h(e,"x","maxPoolWithArgmax"),a={x:o},s={filterSize:t,strides:n,pad:r,includeBatchInIndex:i},c=g.runKernel(bh,a,s);return{result:c[0],indexes:c[1]}}const Hl=d({maxPoolWithArgmax_:W1});function Ue(e,t="float32"){if(t==="complex64"){const r=Ue(e,"float32"),i=Ue(e,"float32");return Ge(r,i)}const n=Pt(Z(e),t);return g.makeTensor(n,e,t)}function mt(e,t="float32"){if(t==="complex64"){const r=mt(e,"float32"),i=Ue(e,"float32");return Ge(r,i)}const n=Ws(Z(e),t);return g.makeTensor(n,e,t)}function q1(e,t=null,n=!1){const r=h(e,"x","mean"),i=z(t,r.shape),o=Nm(r.shape,i),a=o[1],s=Z(a),c=$e(p=>{const l=k(s),u=l.dtype===p.dtype?p:R(p,l.dtype),m=M(u,l),b=U(m,t,n),y=w=>{const L=p.shape.slice();i.forEach(_=>{L[_]=1});const T=x(w,L),A=M(v(T,mt(p.shape,"float32")),s);return A};return{value:b,gradFunc:y}});return c(r)}const an=d({mean_:q1});function B1(e,t=null,n=!1){const r=h(e,"x","min"),i=(s,c)=>{const p=z(t,r.shape);let l=p;const u=he(l,r.rank);let m=r;u!=null&&(m=X(r,u),l=Ee(l.length,r.rank));const b=s.min(m,l);u!=null&&m.dispose();let y=b;if(n){const w=fe(y.shape,p);y=x(b,w),b.dispose()}return c([r,y]),y},o={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(i,o,null,Oo,a)}const sn=d({min_:B1});function P1(e,t){let n=h(e,"a","minimum"),r=h(t,"b","minimum");[n,r]=V(n,r),n.dtype==="bool"&&(n=R(n,"int32"),r=R(r,"int32")),H(n.shape,r.shape);const i=(a,s)=>{const c=a.minimum(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,ko)}const Bn=d({minimum_:P1});function j1(e,t){let n=h(e,"a","mod"),r=h(t,"b","mod");[n,r]=V(n,r);const i=(a,s)=>{const c=a.mod(n,r);return s([n,r]),c},o={a:n,b:r};return g.runKernelFunc(i,o,null,Do)}const Si=d({mod_:j1});function G1(e){const t=h(e,"x","square"),n={},r=[t],i=[];return g.runKernelFunc((o,a)=>(a([t]),o.square(t)),{x:t},null,"Square",n,r,i)}const G=d({square_:G1});function $1(e,t=null,n=!1){e=h(e,"x","moments");const r=z(t,e.shape),i=an(e,r,n);let o=i.shape;n||(o=fe(i.shape,r));const a=G(D(R(e,"float32"),x(i,o))),s=an(a,r,n);return{mean:i,variance:s}}const $l=d({moments_:$1});function H1(e,t,n,r){const i=h(t,"data","multiRNNCell"),o=rn(n,"c","multiRNNCell"),a=rn(r,"h","multiRNNCell");let s=i;const c=[];for(let u=0;u2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);n=n||Math.random();const s=a===1?x(i,[1,-1]):i,c=g.runKernelFunc(p=>p.multinomial(s,r,t,n),{logits2D:s});return a===1?x(c,[c.size]):c}const jl=d({multinomial_:Y1});function z1(e,t){let n=h(e,"a","notEqual"),r=h(t,"b","notEqual");[n,r]=V(n,r),H(n.shape,r.shape);const i=a=>a.notEqual(n,r),o={a:n,b:r};return g.runKernelFunc(i,o,null,wh)}const qn=d({notEqual_:z1});function V1(e,t,n=1,r=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);const i=h(e,"indices","oneHot","int32"),o=[...i.shape,t],a=(p,l)=>(l([i]),x(p.oneHot(x(i,[i.size]),t,n,r),o)),s={indices:i},c={depth:t,onValue:n,offValue:r};return g.runKernelFunc(a,s,null,Wo,c)}const Sr=d({oneHot_:V1});function K1(e){const t=h(e,"x","onesLike"),n=(i,o)=>{if(t.dtype==="complex64"){const a=ea(kt(t)),s=W(Vt(t));return Ge(a,s)}return i.onesLike(t)},r={x:t};return g.runKernelFunc(n,r,null,Uo)}const ea=d({onesLike_:K1});function J1(e,t){const n=h(e,"v1","outerProduct"),r=h(t,"v2","outerProduct");f(n.rank===1&&r.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`);const i=x(n,[-1,1]),o=x(r,[1,-1]);return K(i,o)}const Pl=d({outerProduct_:J1});function X1(e,t,n=0){const r=h(e,"x","pad");if(r.rank===0)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const i=(s,c)=>(c([r]),s.pad(r,t,n)),o={paddings:t,constantValue:n},a={x:r};return g.runKernelFunc(i,a,null,qo,o)}const ot=d({pad_:X1});function Z1(e,t,n=0){return f(t.length===2,()=>"Invalid number of paddings. Must be length of 2."),ot(e,[t],n)}const Bl=d({pad1d_:Z1});function Q1(e,t,n=0){return f(t.length===2&&t[0].length===2&&t[1].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),ot(e,t,n)}const ql=d({pad2d_:Q1});function eC(e,t,n=0){return f(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),ot(e,t,n)}const Wl=d({pad3d_:eC});function tC(e,t,n=0){return f(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),ot(e,t,n)}const Ul=d({pad4d_:tC});function nC(e,t,n){const r=h(e,"x","spaceToBatchND");f(r.rank>=1+t.length,()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`),f(n.length===t.length,()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`),f(r.shape.reduce((s,c,p)=>p>0&&p<=t.length?s&&(c+n[p-1][0]+n[p-1][1])%t[p-1]===0:s,!0),()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`);const i=s=>s.spaceToBatchND(r,t,n),o={x:r},a={blockShape:t,paddings:n};return g.runKernelFunc(i,o,null,as,a)}const Un=d({spaceToBatchND_:nC});function oC(e,t,n,r,i,o){i==null&&(i=[1,1]),o==null&&(o=1),r===0&&(r="valid");const a=h(e,"x","maxPool");let s=a,c=!1;a.rank===3&&(c=!0,s=x(a,[1,a.shape[0],a.shape[1],a.shape[2]])),f(ae(o,i),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${o} and dilations '${i}'`);const p=Ct(s.shape,t,o,i,r),l=[p.dilationHeight,p.dilationWidth];let u;r==="same"?u=iC([p.filterHeight,p.filterWidth],l):u=[[0,0],[0,0]];const m=l[0]===1&&l[1]===1,[b,y]=rC([p.inHeight,p.inWidth],l,u),w=m?r:"valid",L=m?s:Un(s,l,b),T=n==="avg"?()=>Di(L,t,o,w):()=>Ti(L,t,o,w),A=T(),_=m?A:Kn(A,l,y);return c?x(_,[_.shape[1],_.shape[2],_.shape[3]]):_}function rC(e,t,n){const r=n.map(l=>l[0]),i=n.map(l=>l[1]),o=e.concat(r,i),a=t.map((l,u)=>(l-o[u]%l)%l),s=i.map((l,u)=>l+a[u]),c=t.map((l,u)=>[r[u],s[u]]),p=t.map((l,u)=>[0,a[u]]);return[c,p]}function iC(e,t){const n=e.map((a,s)=>a+(a-1)*(t[s]-1)),r=n.map(a=>a-1),i=r.map(a=>Math.floor(a/2)),o=r.map((a,s)=>a-i[s]);return r.map((a,s)=>[i[s],o[s]])}const Ml=d({pool_:oC});function sC(e,t){let n=h(e,"base","pow"),r=h(t,"exp","pow");[n,r]=V(n,r);const i={a:n,b:r},o=(a,s)=>{const c=a.pow(n,r);return s([n,r,c]),c};return g.runKernelFunc(o,i,null,Bo)}const je=d({pow_:sC});function aC(e,t){const n=h(e,"x","prelu"),r=h(t,"alpha","prelu"),i=(a,s)=>{const c=a.prelu(n,r);return s([n,r]),c},o={x:n,alpha:r};return g.runKernelFunc(i,o,null,Po)}const vi=d({prelu_:aC});function Fl(e,t=!1){console.log(e.toString(t))}function cC(e,t=null,n=!1){let r=h(e,"x","prod");const i=s=>{r.dtype==="bool"&&(r=R(r,"int32"));const c=z(t,r.shape),p=he(c,r.rank);let l=c,u=r;p!=null&&(u=X(r,p),l=Ee(l.length,r.rank));let m=s.prod(u,l);if(n){const b=fe(m.shape,c);m=x(m,b)}return m},o={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(i,o,null,vh,a)}const Dl=d({prod_:cC});function pC(e,t,n){const r=Z(e);let i=null;if(n==null||n==="float32")i=new Float32Array(r);else if(n==="int32")i=new Int32Array(r);else if(n==="bool")i=new Uint8Array(r);else throw new Error(`Unknown data type ${n}`);for(let o=0;oqy,expectArrayBuffersEqual:()=>gC,expectArraysClose:()=>uC,expectArraysEqual:()=>dC,expectNumbersClose:()=>mC,expectPromiseToFail:()=>hC,expectValuesInRange:()=>fC,testEpsilon:()=>Pm});const lC=.001,qy=.1;function uC(e,t,n){return n==null&&(n=Pm()),jm(e,t,(r,i)=>Gm(r,i,n))}function Pm(){return g.backend.floatPrecision()===32?lC:qy}function jm(e,t,n){let r=!0;if((Ie(e)||Ie(t))&&(r=!1),Ie(e)&&Ie(t)&&(r=!0),r){const a=e.constructor.name,s=t.constructor.name;if(a!==s)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${s}`)}if(Array.isArray(e)&&Array.isArray(t)){const a=Fe(e),s=Fe(t);if(!Le(a,s))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${s}]`)}const i=Ie(e)?e:Wt(e),o=Ie(t)?t:Wt(t);if(i.length!==o.length)throw new Error(`Arrays have different lengths actual: ${i.length} vs expected: ${o.length}. +Actual: ${i}. +Expected: ${o}.`);for(let a=0;at.fail(),()=>t())}function dC(e,t){const n=typeof t=="string"||typeof t=="number"||typeof t=="boolean"?[t]:t;return Rt(e)||Rt(e[0])||Rt(t)||Rt(t[0])?jm(e,n,(r,i)=>r==i):jm(e,t,(r,i)=>Gm(r,i,0))}function mC(e,t,n){if(n==null&&(n=Pm()),!Gm(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function Gm(e,t,n){return!isFinite(e)&&!isFinite(t)?!0:!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function fC(e,t,n){for(let r=0;rn)throw new Error(`Value out of range:${e[r]} low: ${t}, high: ${n}`)}function gC(e,t){expect(new Float32Array(e)).toEqual(new Float32Array(t))}const Wp=Iv(Nf());class zs{constructor(e,t,n,r,i){this.mean=e,this.stdDev=t,this.dtype=n,this.nextVal=NaN,this.truncated=r,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);const o=i||Math.random();this.random=Wp.alea(o.toString())}nextValue(){if(!isNaN(this.nextVal)){const r=this.nextVal;return this.nextVal=NaN,r}let e,t,n=!1;for(;!n;){let r,i,o;do r=2*this.random()-1,i=2*this.random()-1,o=r*r+i*i;while(o>=1||o===0);const a=Math.sqrt(-2*Math.log(o)/o);e=this.mean+this.stdDev*r*a,t=this.mean+this.stdDev*i*a,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype==="float32"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}}class By{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;const i=r||Math.random();this.randu=Wp.alea(i.toString()),this.randn=new zs(0,1,n,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,i,o;for(;;){do r=this.randn.nextValue(),o=1+this.c*r;while(o<=0);if(o*=o*o,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-o+Math.log(o)),i=this.randu(),ithis.dtype==null||this.dtype==="float32",this.min=e,this.range=t-e,this.dtype=n,r==null&&(r=Math.random()),typeof r=="number"&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=Wp.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}function bC(e,t,n=1,r="float32",i){if(n==null&&(n=1),r==null&&(r="float32"),r!=="float32"&&r!=="int32")throw new Error(`Unsupported data type ${r}`);const o=new By(t,n,r,i),a=ke(e,r);for(let s=0;s{const a=e===t,s=e1;if(a||s||c)return Ue([0],r);const p=Math.abs(Math.ceil((t-e)/n)),l=Pt(p,r);t{const o=r.reciprocal(t);return i([t]),o},n,null,jo)}const Cl=d({reciprocal_:xC});function LC(e){const t=h(e,"x","relu"),n=(i,o)=>(o([t]),t.dtype==="bool"?R(t,"int32"):i.relu(t)),r={x:t};return g.runKernelFunc(n,r,null,Go)}const zt=d({relu_:LC});function vC(e){const t=h(e,"x","relu6"),n=(i,o)=>(o([t]),t.dtype==="bool"?R(t,"int32"):i.relu6(t)),r={x:t};return g.runKernelFunc(n,r,null,zo)}const xi=d({relu6_:vC});function SC(e){const t=h(e,"x","reverse");return f(t.rank===1,()=>`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),Pe(t,0)}const Rl=d({reverse1d_:SC});function TC(e,t){const n=h(e,"x","reverse");return f(n.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`),Pe(n,t)}const _l=d({reverse2d_:TC});function IC(e,t){const n=h(e,"x","reverse");return f(n.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`),Pe(n,t)}const Nl=d({reverse3d_:IC});function AC(e,t){const n=h(e,"x","reverse");return f(n.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`),Pe(n,t)}const Al=d({reverse4d_:AC});function $m(e,t,n=0){let r=[];if(typeof t=="number")f(e.shape[n]%t===0,()=>"Number of splits must evenly divide the axis."),r=new Array(t).fill(e.shape[n]/t);else{const i=t.reduce((a,s)=>(s===-1&&(a+=1),a),0);f(i<=1,()=>"There should be only one negative value in split array.");const o=t.indexOf(-1);if(o!==-1){const a=t.reduce((s,c)=>c>0?s+c:s);t[o]=e.shape[n]-a}f(e.shape[n]===t.reduce((a,s)=>a+s),()=>"The sum of sizes must match the size of the axis dimension."),r=t}return r}function NC(e,t,n=0){const r=h(e,"x","split"),i=(s,c)=>{const p=z(n,r.shape)[0],l=$m(r,t,p);return s.split(r,l,p)},o={x:r},a={numOrSizeSplits:t,axis:n};return g.runKernelFunc(i,o,null,cs,a)}const Ot=d({split_:NC});function _C(e,t){f(e.dtype==="float32",()=>`The dtype for rfft() must be real value but got ${e.dtype}`);let n=e.shape[e.shape.length-1];const r=e.size/n;let i;if(t!=null&&t0),w=e.shape.map(L=>L);w[e.shape.length-1]=t,i=Y(e,y,w),n=t}else if(t!=null&&t>n){const y=e.shape.map(w=>w);y[e.shape.length-1]=t-n,i=re([e,Ue(y)],e.shape.length-1),n=t}else i=e;const o=W(i),a=x(Ge(i,o),[r,n]),s=Yn(a),c=Math.floor(n/2)+1,p=kt(s),l=Vt(s),u=Ot(p,[c,n-c],p.shape.length-1),m=Ot(l,[c,n-c],l.shape.length-1),b=i.shape.slice();return b[i.shape.length-1]=c,x(Ge(u[0],m[0]),b)}const Wn=d({rfft_:_C});function RC(e){const t=h(e,"x","round"),n={x:t};return g.runKernelFunc(r=>r.round(t),n,null,Ko)}const Il=d({round_:RC});function CC(e){const t=h(e,"x","rsqrt"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.rsqrt(t);return i([t]),o},n,null,Jo)}const yi=d({rsqrt_:CC});function EC(e){const t=h(e,"x","selu"),n=(i,o)=>{const a=i.selu(t);return o([t]),a},r={x:t};return g.runKernelFunc(n,r,null,Zo)}const Tl=d({selu_:EC});function OC(e,t,n,r,i,o=[1,1],a="NHWC"){const s=h(e,"x","separableConv2d"),c=h(t,"depthwiseFilter","separableConv2d"),p=h(n,"pointwiseFilter","separableConv2d");let l=s,u=!1;if(s.rank===3&&(u=!0,l=x(s,[1,s.shape[0],s.shape[1],s.shape[2]])),a==="NCHW")throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");f(l.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${l.rank}.`),f(c.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${p.shape[0]}.`),f(p.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${p.shape[1]}.`);const m=c.shape[2],b=c.shape[3];f(p.shape[2]===m*b,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*b}, but got ${p.shape[2]}.`);const y=zn(l,c,r,i,a,o),w=1,L=It(y,p,w,"valid",a);return u?x(L,[L.shape[1],L.shape[2],L.shape[3]]):L}const Sl=d({separableConv2d_:OC});async function kC(e,t){const n=h(e,"x","setdiff1d"),r=h(t,"y","setdiff1d");f(n.dtype===r.dtype,()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`),f(n.rank===1,()=>`x should be 1D tensor, but got x (${n.shape}).`),f(r.rank===1,()=>`y should be 1D tensor, but got y (${r.shape}).`);const i=await n.data(),o=await r.data(),a=new Set(o);let s=0;for(let l=0;lr.sign(t),n,null,ns)}const Ll=d({sign_:DC});function FC(e){const t=h(e,"x","sin"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.sin(t);return i([t]),o},n,null,es)}const wi=d({sin_:FC});function MC(e){const t=h(e,"x","sinh"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.sinh(t);return i([t]),o},n,null,ts)}const bi=d({sinh_:MC});function UC(e,t,n){const r=h(e,"x","slice1d");return f(r.rank===1,()=>`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`),Y(r,[t],[n])}const xl=d({slice1d_:UC});function WC(e,t,n){const r=h(e,"x","slice2d");return f(r.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`),Y(r,t,n)}const yl=d({slice2d_:WC});function qC(e,t,n){const r=h(e,"x","slice3d");return f(r.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`),Y(r,t,n)}const wl=d({slice3d_:qC});function BC(e,t,n){const r=h(e,"x","slice4d");return f(r.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`),Y(r,t,n)}const bl=d({slice4d_:BC});function PC(e,t=-1){const n=h(e,"logits","softmax","float32");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);const r={logits:n},i={dim:t};return g.runKernelFunc((o,a)=>{const s=o.softmax(n,t);return a([s]),s},r,null,ps,i)}const gl=d({softmax_:PC});function jC(e){const t=h(e,"x","sqrt"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.sqrt(t);return i([t]),o},n,null,os)}const le=d({sqrt_:jC});function GC(e,t){let n=h(e,"a","squaredDifference"),r=h(t,"b","squaredDifference");[n,r]=V(n,r),H(n.shape,r.shape);const i=(s,c)=>{const p=s.squaredDifference(n,r);return c([n,r]),p},o={a:n,b:r},a={};return g.runKernelFunc(i,o,null,ls,a)}const Mn=d({squaredDifference_:GC});function $C(e,t){const n=h(e,"x","squeeze");return x(n,hm(n.shape,t).newShape)}const Fn=d({squeeze_:$C});function HC(e,t=0){const n=rn(e,"tensors","stack");if(f(n.length>=1,()=>"Pass at least one tensor to tf.stack"),n.length===1)return Ke(n[0],t);const r=n[0].rank,i=n[0].shape,o=n[0].dtype;f(t<=r,()=>"Axis must be <= rank of the tensor"),n.forEach(s=>{$(i,s.shape,"All tensors passed to stack must have matching shapes"),f(o===s.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=n.map(s=>Ke(s,t));return re(a,t)}const dt=d({stack_:HC});function YC(e,t=0){const n=h(e,"x","step"),r={x:n},i={alpha:t};return g.runKernelFunc(o=>o.step(n,t),r,null,ys,i)}const vt=d({step_:YC});function zC(e,t,n,r,i=0,o=0,a=0,s=0,c=0){r==null&&(r=new Array(t.length));let p=h(e,"x","stridedSlice");const l=b=>{const y=Hs(a);if(y.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(a!==0&&s!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(a!==0&&c!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");const w=p.rank-t.length,L=Hs(s),T=p.shape.slice();if(L.forEach(E=>{t[E]=0,n[E]=1,T.splice(E,0,1)}),p=x(p,T),y.length&&w>0){const E=y[0],B=w+1;t=Fm(i,E,B,t,p.shape),n=Mm(o,E,B,n,p.shape),r=Dm(r,E,B,p.shape)}else for(let E=0;E{n[E]=t[E]+1,r[E]=1});const _=km(t,n,r),N=_.filter((E,B)=>A.indexOf(B)===-1),C=r.every(E=>E===1);if(C)return x(Y(p,t,_),N);const F=b.stridedSlice(p,t,n,r);return x(F,N)},u={x:p},m={begin:t,end:n,strides:r,beginMask:i,endMask:o,ellipsisMask:a,newAxisMask:s,shrinkAxisMask:c};return g.runKernelFunc(l,u,null,Ch,m)}const fl=d({stridedSlice_:zC});function VC(e){const t=h(e,"x","tan"),n={x:t};return g.runKernelFunc((r,i)=>{const o=r.tan(t);return i([t]),o},n,null,hs)}const ml=d({tan_:VC});function Yt(e,t,n){if(lt(e),t!=null&&t.length!==2)throw new Error("tensor2d() requires shape to have two numbers");const r=Fe(e,n);if(r.length!==2&&r.length!==1)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return ze(e,t,r,n)}function fi(e,t,n){if(lt(e),t!=null&&t.length!==3)throw new Error("tensor3d() requires shape to have three numbers");const r=Fe(e,n);if(r.length!==3&&r.length!==1)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return ze(e,t,r,n)}function dl(e,t,n){if(lt(e),t!=null&&t.length!==4)throw new Error("tensor4d() requires shape to have four numbers");const r=Fe(e,n);if(r.length!==4&&r.length!==1)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return ze(e,t,r,n)}function hl(e,t,n){if(lt(e),t!=null&&t.length!==5)throw new Error("tensor5d() requires shape to have five numbers");const r=Fe(e,n);if(r.length!==5&&r.length!==1)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return ze(e,t,r,n)}function ul(e,t,n){if(lt(e),t!=null&&t.length!==6)throw new Error("tensor6d() requires shape to have six numbers");const r=Fe(e,n);if(r.length!==6&&r.length!==1)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return t=t||r,ze(e,t,r,n)}function KC(e,t=1,n=!0){const r=h(e,"x","topk");if(r.rank===0)throw new Error("topk() expects the input to be of rank 1 or higher");const i=r.shape[r.shape.length-1];if(t>i)throw new Error(`'k' passed to topk() must be <= the last dimension (${i}) but got ${t}`);const o={x:r},a={k:t,sorted:n},[s,c]=g.runKernelFunc(p=>p.topk(r,t,n),o,null,Eh,a);return{values:s,indices:c}}const ll=d({topk_:KC});function JC(e,t=0,n=1,r,i){if(r!=null&&r==="bool")throw new Error("Unsupported data type $ { dtype }");const o=new zs(t,n,r,!0,i),a=ke(e,r);for(let s=0;s"numSegments must be of dtype int");const o={x:r,segmentIds:i},a={numSegments:n},s=(c,p)=>{const l=c.unsortedSegmentSum(r,i,n);return p([i]),l};return g.runKernelFunc(s,o,null,bs,a)}const mi=d({unsortedSegmentSum_:XC});function ZC(e,t=0){const n=h(e,"x","unstack");f(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`),t<0&&(t+=n.shape.length);const r={value:n},i={axis:t},o=a=>a.unstack(n,t);return g.runKernelFunc(o,r,null,gs,i)}const Dn=d({unstack_:ZC});function cl(e,t=!0,n,r){return g.makeVariable(e,t,n,r)}function qp(e,t){const n=[];for(let o=0;o0,()=>"mask cannot be scalar"),$(s.slice(o,o+a),i.shape,"mask's shape must match the first K dimensions of tensor's shape,");let c=1;for(let w=o;w"Shape mismatch in v and x");const c=k(1),p=D(c,s);let l=v(D(a,o),p);if(i){f(r!=null,()=>"When using zeroDebias: true, step is required.");const u=h(r,"step","movingAverage");l=M(l,D(c,je(s,u)))}return O(o,l)}const Pf=d({movingAverage_:bE});const Df={};Oe(Df,{calculateShapes:()=>Gy,validateInput:()=>Bp,validateUpdateShape:()=>Hm});function Hm(e,t,n){const r=t.rank>1?t.shape[t.rank-1]:1,i=t.rank>1?t.rank-1:1,o=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${i}.`;if(n.rank1?t.shape[r-1]:1,o=n.length;let a=1;for(let u=i;uc.scatterND(r,i,n),a={indices:r,updates:i},s={shape:n};return g.runKernelFunc(o,a,null,Nh,s)}const Ff=d({scatterND_:wE});function $y(e,t,n,r){if(e.dtype!=="int32")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);const i=e.rank>0?e.shape[0]:1,o=e.rank>1?e.shape[1]:1;if(n.length!==o)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${o}.`);const a=t.size;if(!(t.rank===0||t.rank===1&&a===i))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${i}]`);if(t.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}function yE(e,t,n,r=0){const i=h(e,"sparseIndices","sparseToDense","int32"),o=h(t,"sparseValues","sparseToDense"),a=h(r,"defaultValue","sparseToDense",o.dtype);$y(i,o,n,a);const s={sparseIndices:i,sparseValues:o,defaultValue:a},c={outputShape:n};return g.runKernelFunc(p=>p.sparseToDense(i,o,n,a),s,null,Rh,c)}const Of=d({sparseToDense_:yE});function xE(e,t){const n=h(t,"indices","gatherND","int32"),r=h(e,"x","gatherND"),i=a=>a.gatherND(r,n),o={params:r,indices:n};return g.runKernelFunc(i,o,null,ih)}const $f=d({gatherND_:xE});function Hy(e,t){if(t==null)return e.shape.slice();if(Le(e.shape,t))return t;if(e.shape.length===t.length){const n=[];for(let r=0;r`x has to be a floating point tensor since it's going to be scaled, but got a ${i.dtype} tensor instead.`),f(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return e instanceof de?i.clone():i;const o=Hy(i,n),a=1-t,s=M($n(O(Li(o,0,1,"float32",r),a)),a);return v(i,s)}const Hf=d({dropout_:LE});function Qs(e){return Math.floor(Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))))}function Lr(e,t,n){const r=1-e%2,i=new Float32Array(e);for(let o=0;o1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`),f(r.rank-1===i.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${i.rank}`),$(r.shape.slice(0,r.shape.length-1),i.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const o=r.shape[r.shape.length-1];f(n>0&&n<=o,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${o}), but got ${n}`);const a=await r.data(),s=await i.data(),[c,p]=[a.length/o,o],l=ni("bool",c);for(let u=0;uL.value-w.value),l[u]=0;for(let w=0;w`Error in conv2dDerFilter: input must be rank 4, but got shape ${s.shape}.`),f(c.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${c.shape}.`),f(n.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`);const p=o==="NHWC"?s.shape[3]:s.shape[1],l=o==="NHWC"?c.shape[3]:c.shape[1];f(p===n[2],()=>`Error in conv2dDerFilter: depth of input ${p}) must match input depth in filter (${n[2]}.`),f(l===n[3],()=>`Error in conv2dDerFilter: depth of dy (${l}) must match output depth for filter (${n[3]}).`),a!=null&&f(J(i),()=>`Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const u=y=>{const w=1,L=Sn(o),T=We(s.shape,n,r,w,i,a,!1,L);return y.conv2dDerFilter(s,c,T)},m={x:s,dy:c},b={strides:r,pad:i,dataFormat:o,dimRoundingMode:a};return g.runKernelFunc(u,m,null,Gu,b)}const ci=d({conv2DBackpropFilter_:SE});function ur(e,t,n){if(n==null||n==="linear")return e;if(n==="relu")return v(e,vt(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function hr(e,t){let n=t;const r=ie(e.shape,t.shape);return r.length>0&&(n=U(n,r)),x(n,e.shape)}function dr(e,t,n){if(t==="linear")return e;if(t==="relu")return zt(e);if(t==="elu")return Ei(e);if(t==="relu6")return xi(e);if(t==="prelu")return vi(e,n);throw new Error(`Unknown fused activation ${t}.`)}const mr=(e,t)=>{const n=e>0;return!n||t==="linear"};function TE({x:e,filter:t,strides:n,pad:r,dataFormat:i="NHWC",dilations:o=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(c=c||"linear",mr(g.state.gradientDepth,c)===!1){let C=It(e,t,n,r,i,o,a);return s!=null&&(C=O(C,s)),dr(C,c,p)}const l=h(e,"x","conv2d"),u=h(t,"filter","conv2d");let m=l,b=!1;l.rank===3&&(b=!0,m=x(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(m.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${m.rank}.`),f(u.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${u.rank}.`),a!=null&&f(J(r),()=>`Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(m.shape[3]===u.shape[2],()=>`Error in conv2d: depth of input (${m.shape[3]}) must match input depth for filter ${u.shape[2]}.`),f(ae(n,o),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${o}'`),f(i==="NHWC",()=>`Error in conv2d: got dataFormat of ${i} but only NHWC is currently supported.`);const y=We(m.shape,u.shape,n,o,r,a);let w;s!=null&&(w=h(s,"bias","fused conv2d"),[w]=V(w,l),H(y.outShape,w.shape));let L;p!=null&&(L=h(p,"prelu weights","fused conv2d"));const T=(C,F)=>{const[E,B,q,P]=F,te=ur(C,q,c);f(ut(o),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${o}'`);const ne=ai(B.shape,te,E,n,r),pe=ci(B,te,E.shape,n,r),Se=[ne,pe];if(P!=null){const qe=hr(P,te);Se.push(qe)}return Se},A=C=>{const F=C.fusedConv2d({input:m,filter:u,convInfo:y,bias:w,activation:c,preluActivationWeights:L});return F},_={x:m,filter:u,bias:w,preluActivationWeights:L},N={strides:n,pad:r,dataFormat:i,dilations:o,dimRoundingMode:a,activation:c};if(s==null){const C=$e((F,E,B)=>{let q=g.runKernelFunc(A,_,null,oa,N);return B([E,F,q]),b&&(q=x(q,[q.shape[1],q.shape[2],q.shape[3]])),{value:q,gradFunc:T}});return C(m,u)}else{const C=$e((F,E,B,q)=>{let P=g.runKernelFunc(A,_,null,oa,N);return q([E,F,P,B]),b&&(P=x(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:T}});return C(m,u,w)}}const IE=d({fusedConv2d_:TE});function AE(e,t,n,r){let i=e;e.rank===3&&(i=x(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let o=t;o.rank===3&&(o=x(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=c=>c.depthwiseConv2DDerFilter(i,o,r),s={x:i,dy:o};return g.runKernelFunc(a,s,null,Vu)}const Pp=d({depthwiseConv2dNativeBackpropFilter_:AE});function NE(e,t,n,r){let i=t,o=!1;t.rank===3&&(o=!0,i=x(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=p=>p.depthwiseConv2DDerInput(i,n,r),s={dy:i},c=g.runKernelFunc(a,s,null,Ku);return o?x(c,[c.shape[1],c.shape[2],c.shape[3]]):c}const jp=d({depthwiseConv2dNativeBackpropInput_:NE});function _E({x:e,filter:t,strides:n,pad:r,dataFormat:i="NHWC",dilations:o=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(mr(g.state.gradientDepth,c)===!1){let C=zn(e,t,n,r,i,o,a);return s!=null&&(C=O(C,s)),dr(C,c,p)}const l=h(e,"x","depthwiseConv2d"),u=h(t,"filter","depthwiseConv2d");let m=l,b=!1;l.rank===3&&(b=!0,m=x(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(m.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${m.rank}.`),f(u.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${u.rank}.`),f(m.shape[3]===u.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${m.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),o==null&&(o=[1,1]),f(ae(n,o),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${o}'`),a!=null&&f(J(r),()=>`Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${a} but got pad ${r}.`);const y=We(m.shape,u.shape,n,o,r,a,!0);let w;s!=null&&(w=h(s,"bias","fused conv2d"),[w]=V(w,l),H(y.outShape,w.shape));let L;p!=null&&(L=h(p,"prelu weights","fused depthwiseConv2d"));const T=(C,F)=>{f(ut(o),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${o}'`);const[E,B,q,P]=F,te=ur(C,q,c),ne=jp(B.shape,te,E,y),pe=Pp(B,te,E.shape,y);if(P!=null){const Se=hr(w,te);return[ne,pe,Se]}return[ne,pe]},A=C=>{const F=C.fusedDepthwiseConv2D({input:m,filter:u,convInfo:y,bias:w,activation:c,preluActivationWeights:L});return F},_={x:m,filter:u,bias:w,preluActivationWeights:L},N={strides:n,pad:r,dataFormat:i,dilations:o,dimRoundingMode:a,activation:c};if(s==null){const C=$e((F,E,B)=>{let q=g.runKernelFunc(A,_,null,sa,N);return B([E,F,q]),b&&(q=x(q,[q.shape[1],q.shape[2],q.shape[3]])),{value:q,gradFunc:T}});return C(m,u)}else{const C=$e((F,E,B,q)=>{let P=g.runKernelFunc(A,_,null,sa,N);return q([E,F,P,B]),b&&(P=x(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:T}});return C(m,u,w)}}const RE=d({fusedDepthwiseConv2d_:_E});function CE({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:i,activation:o="linear",preluActivationWeights:a}){if(mr(g.state.gradientDepth,o)===!1){let P=K(e,t,n,r);return i!=null&&(P=O(P,i)),dr(P,o,a)}let s=h(e,"a","fused matMul"),c=h(t,"b","fused matMul");[s,c]=V(s,c);const p=n?s.shape[s.rank-2]:s.shape[s.rank-1],l=r?c.shape[c.rank-1]:c.shape[c.rank-2],u=n?s.shape[s.rank-1]:s.shape[s.rank-2],m=r?c.shape[c.rank-2]:c.shape[c.rank-1],b=s.shape.slice(0,-2),y=c.shape.slice(0,-2),w=Z(b),L=Z(y);f(s.rank>=2&&c.rank>=2&&s.rank===c.rank,()=>`Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${s.rank} and ${c.rank}.`),f(Le(b,y),()=>`Error in fused matMul: outer dimensions (${b}) and (${y}) of Tensors with shapes ${s.shape} and ${c.shape} must match.`),f(p===l,()=>`Error in fused matMul: inner shapes (${p}) and (${l}) of Tensors with shapes ${s.shape} and ${c.shape} and transposeA=${n} and transposeB=${r} must match.`);const T=s.shape.slice(0,-2).concat([u,m]),A=n?x(s,[w,p,u]):x(s,[w,u,p]),_=r?x(c,[L,m,l]):x(c,[L,l,m]);let N;i!=null&&(N=h(i,"bias","fused matMul"),[N]=V(N,s),H(T,N.shape));let C;a!=null&&(C=h(a,"prelu weights","fused matMul"));const F=(P,te)=>{const[ne,pe,Se,qe]=te,Gt=ur(x(P,Se.shape),Se,o);let gr,br;if(!n&&!r?(gr=K(Gt,pe,!1,!0),br=K(ne,Gt,!0,!1)):!n&&r?(gr=K(Gt,pe,!1,!1),br=K(Gt,ne,!0,!1)):n&&!r?(gr=K(pe,Gt,!1,!0),br=K(ne,Gt,!1,!1)):(gr=K(pe,Gt,!0,!0),br=K(Gt,ne,!0,!0)),i!=null){const vv=hr(qe,Gt);return[gr,br,vv]}else return[gr,br]},E=P=>{const te=P.fusedBatchMatMul({a:A,b:_,transposeA:n,transposeB:r,bias:N,activation:o,preluActivationWeights:C});return te},B={a:A,b:_,bias:N,preluActivationWeights:C},q={transposeA:n,transposeB:r,activation:o};if(i==null){const P=$e((te,ne,pe)=>{const Se=g.runKernelFunc(E,B,null,ia,q);return pe([te,ne,Se]),{value:x(Se,T),gradFunc:F}});return P(A,_)}else{const P=$e((te,ne,pe,Se)=>{const qe=g.runKernelFunc(E,B,null,ia,q);return Se([te,ne,qe,pe]),{value:x(qe,T),gradFunc:F}});return P(A,_,N)}}const EE=d({fusedMatMul_:CE});const nu={};Oe(nu,{conv2d:()=>IE,depthwiseConv2d:()=>RE,matMul:()=>EE});function OE(e){return Lr(e,.54,.46)}const Yy=d({hammingWindow_:OE});function kE(e){return Lr(e,.5,.5)}const Gp=d({hannWindow_:kE});function DE(e,t,n,r=!1,i=0){let o=0;const a=[];for(;o+t<=e.size;)a.push(Y(e,o,t)),o+=n;if(r)for(;o`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),f(s.rank===2&&s.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${p},4] but had shape ${s.shape}.`),f(c.rank===1&&c.shape[0]===p,()=>`Error in cropAndResize: boxInd must be have size [${p}] but had shape ${s.shape}.`),f(r.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`),f(r[0]>=1&&r[1]>=1,()=>`cropSize must be atleast [1,1], but was ${r}`),f(i==="bilinear"||i==="nearest",()=>`method must be bilinear or nearest, but was ${i}`);const l=y=>y.cropAndResize(a,s,c,r,i,o),u={image:a,boxes:s,boxInd:c},m={method:i,extrapolationValue:o,cropSize:r},b=g.runKernelFunc(l,u,null,Yu,m);return b}const Vy=d({cropAndResize_:ME});function UE(e){const t=h(e,"image","flipLeftRight","float32");f(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);const n={image:t},r=g.runKernel(rh,n,{});return r}const Ky=d({flipLeftRight_:UE});function WE(e,t,n=0,r=.5){const i=h(e,"image","rotateWithOffset","float32");f(i.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${i.rank}.`);const o={image:i},a={radians:t,fillValue:n,center:r},s=g.runKernel(Oh,o,a);return s}const Jy=d({rotateWithOffset_:WE});function Lt(e,t,n,r,i,o){r==null&&(r=.5),i==null&&(i=Number.NEGATIVE_INFINITY),o==null&&(o=0);const a=e.shape[0];return n=Math.min(n,a),f(0<=r&&r<=1,()=>`iouThreshold must be in [0, 1], but was '${r}'`),f(e.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`),f(e.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`),f(t.rank===1,()=>"scores must be a 1D tensor"),f(t.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${t.shape[0]}`),f(0<=o&&o<=1,()=>`softNmsSigma must be in [0, 1], but was '${o}'`),{maxOutputSize:n,iouThreshold:r,scoreThreshold:i,softNmsSigma:o}}function qE(e,t,n,r=.5,i=Number.NEGATIVE_INFINITY){const o=h(e,"boxes","nonMaxSuppression"),a=h(t,"scores","nonMaxSuppression"),s=Lt(o,a,n,r,i);n=s.maxOutputSize,r=s.iouThreshold,i=s.scoreThreshold;const c={maxOutputSize:n,iouThreshold:r,scoreThreshold:i};return g.runKernelFunc(p=>p.nonMaxSuppression(o,a,n,r,i),{boxes:o,scores:a},null,yh,c)}const Xy=d({nonMaxSuppression_:qE});function Zy(e,t,n){const r=BE(e,t,n),i=r<0?-(r+1):r;e.splice(i,0,t)}function BE(e,t,n){return jE(e,t,n||PE)}function PE(e,t){return e>t?1:e>>1);const s=n(t,e[o]);s>0?r=o+1:(i=o,a=!s)}return a?r:-r-1}function Hp(e,t,n,r,i){return Ym(e,t,n,r,i,0).selectedIndices}function Yp(e,t,n,r,i,o){return Ym(e,t,n,r,i,0,!1,o,!0)}function zp(e,t,n,r,i,o){return Ym(e,t,n,r,i,o,!0)}function Ym(e,t,n,r,i,o,a=!1,s=!1,c=!1){const p=[];for(let L=0;Li&&p.push({score:t[L],boxIndex:L,suppressBeginIndex:0});p.sort(Qy);const l=o>0?-.5/o:0,u=[],m=[];for(;u.length0;){const L=p.pop(),{score:T,boxIndex:A,suppressBeginIndex:_}=L;if(T=_;--C){const F=GE(e,A,u[C]);if(F>=r){N=!0;break}if(L.score=L.score*$E(r,l,F),L.score<=i)break}L.suppressBeginIndex=u.length,N||(L.score===T?(u.push(A),m.push(L.score)):L.score>i&&Zy(p,L,Qy))}const b=u.length,y=n-b;s&&y>0&&(u.push(...new Array(y).fill(0)),m.push(...new Array(y).fill(0)));const w={selectedIndices:ht(u,"int32")};return a&&(w.selectedScores=ht(m,"float32")),c&&(w.validOutputs=k(b,"int32")),w}function GE(e,t,n){const r=e.subarray(t*4,t*4+4),i=e.subarray(n*4,n*4+4),o=Math.min(r[0],r[2]),a=Math.min(r[1],r[3]),s=Math.max(r[0],r[2]),c=Math.max(r[1],r[3]),p=Math.min(i[0],i[2]),l=Math.min(i[1],i[3]),u=Math.max(i[0],i[2]),m=Math.max(i[1],i[3]),b=(s-o)*(c-a),y=(u-p)*(m-l);if(b<=0||y<=0)return 0;const w=Math.max(o,p),L=Math.max(a,l),T=Math.min(s,u),A=Math.min(c,m),_=Math.max(T-w,0)*Math.max(A-L,0);return _/(b+y-_)}function $E(e,t,n){const r=Math.exp(t*n*n);return n<=e?r:0}function Qy(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}async function HE(e,t,n,r=.5,i=Number.NEGATIVE_INFINITY){const o=h(e,"boxes","nonMaxSuppressionAsync"),a=h(t,"scores","nonMaxSuppressionAsync"),s=Lt(o,a,n,r,i);n=s.maxOutputSize,r=s.iouThreshold,i=s.scoreThreshold;const c=await Promise.all([o.data(),a.data()]),p=c[0],l=c[1],u=Hp(p,l,n,r,i);return o!==e&&o.dispose(),a!==t&&a.dispose(),u}const ex=HE;function YE(e,t,n,r=.5,i=Number.NEGATIVE_INFINITY,o=0){const a=h(e,"boxes","nonMaxSuppression"),s=h(t,"scores","nonMaxSuppression"),c=Lt(a,s,n,r,i,o);n=c.maxOutputSize,r=c.iouThreshold,i=c.scoreThreshold,o=c.softNmsSigma;const p={boxes:a,scores:s},l={maxOutputSize:n,iouThreshold:r,scoreThreshold:i,softNmsSigma:o},u=g.runKernel(Lh,p,l);return{selectedIndices:u[0],selectedScores:u[1]}}const tx=d({nonMaxSuppressionWithScore_:YE});async function zE(e,t,n,r=.5,i=Number.NEGATIVE_INFINITY,o=0){const a=h(e,"boxes","nonMaxSuppressionAsync"),s=h(t,"scores","nonMaxSuppressionAsync"),c=Lt(a,s,n,r,i,o);n=c.maxOutputSize,r=c.iouThreshold,i=c.scoreThreshold,o=c.softNmsSigma;const p=await Promise.all([a.data(),s.data()]),l=p[0],u=p[1],m=zp(l,u,n,r,i,o);return a!==e&&a.dispose(),s!==t&&s.dispose(),m}const nx=zE;function VE(e,t,n,r=.5,i=Number.NEGATIVE_INFINITY,o=!1){const a=h(e,"boxes","nonMaxSuppression"),s=h(t,"scores","nonMaxSuppression"),c=Lt(a,s,n,r,i,null),p=c.maxOutputSize,l=c.iouThreshold,u=c.scoreThreshold,m={boxes:a,scores:s},b={maxOutputSize:p,iouThreshold:l,scoreThreshold:u,padToMaxOutputSize:o},y=g.runKernel(xh,m,b);return{selectedIndices:y[0],validOutputs:y[1]}}const rx=d({nonMaxSuppressionPadded_:VE});async function KE(e,t,n,r=.5,i=Number.NEGATIVE_INFINITY,o=!1){const a=h(e,"boxes","nonMaxSuppressionAsync"),s=h(t,"scores","nonMaxSuppressionAsync"),c=Lt(a,s,n,r,i,null),p=c.maxOutputSize,l=c.iouThreshold,u=c.scoreThreshold,[m,b]=await Promise.all([a.data(),s.data()]),y=Yp(m,b,p,l,u,o);return a!==e&&a.dispose(),s!==t&&s.dispose(),y}const ix=KE;function JE(e,t,n=!1){const r=h(e,"images","resizeBilinear");f(r.rank===3||r.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`);let i=r,o=!1;r.rank===3&&(o=!0,i=x(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c=(m,b)=>(b([i]),m.resizeBilinear(i,a,s,n)),p={images:i},l={alignCorners:n,size:t},u=g.runKernelFunc(c,p,null,Yo,l);return o?x(u,[u.shape[1],u.shape[2],u.shape[3]]):u}const ox=d({resizeBilinear_:JE});function XE(e,t,n=!1){const r=h(e,"images","resizeNearestNeighbor");f(r.rank===3||r.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),f(r.dtype==="float32"||r.dtype==="int32",()=>"`images` must have `int32` or `float32` as dtype");let i=r,o=!1;r.rank===3&&(o=!0,i=x(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c={images:i},p={alignCorners:n,size:t},l=(m,b)=>(b([i]),m.resizeNearestNeighbor(i,a,s,n)),u=g.runKernelFunc(l,c,null,Ho,p);return o?x(u,[u.shape[1],u.shape[2],u.shape[3]]):u}const sx=d({resizeNearestNeighbor_:XE});function ZE(e,t,n){f(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),f(n%1===0,()=>`bandPart(): numUpper must be an integer, got ${n}.`);const r=h(e,"a","bandPart");f(r.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`);const i=r.shape,[o,a]=r.shape.slice(-2);if(!(t<=o))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${o}).`);if(!(n<=a))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${a}).`);t<0&&(t=o),n<0&&(n=a);const s=x(vr(0,o,1,"int32"),[-1,1]),c=vr(0,a,1,"int32"),p=D(s,c),l=ft(at(p,k(+t,"int32")),ct(p,k(-n,"int32"))),u=Ue([o,a],r.dtype);return x(dt(Dn(x(r,[-1,o,a])).map(m=>Ae(l,m,u))),i)}const ax=d({bandPart_:ZE});function QE(e){let t;if(Array.isArray(e)){t=!1,f(e!=null&&e.length>0,()=>"Gram-Schmidt process: input must not be null, undefined, or empty");const i=e[0].shape[0];for(let o=1;o`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[o].shape[0]} vs. ${i})`)}else t=!0,e=Ot(e,e.shape[0],0).map(i=>Fn(i,[0]));f(e.length<=e[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`);const n=[],r=e;for(let i=0;i{let o=r[i];if(i>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`),e.rank===2)return px(e,t);{const n=e.shape.slice(0,e.shape.length-2).reduce((c,p)=>c*p),r=Dn(x(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),i=[],o=[];r.forEach(c=>{const[p,l]=px(c,t);i.push(p),o.push(l)});const a=x(dt(i,0),e.shape),s=x(dt(o,0),e.shape);return[a,s]}}function px(e,t=!1){return g.tidy(()=>{f(e.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`);const n=e.shape[0],r=e.shape[1];let i=Ci(n),o=At(e);const a=Yt([[1]],[1,1]);let s=At(a);const c=n>=r?r:n;for(let p=0;p{const b=Y(o,[p,p],[n-p,1]),y=Tr(b),w=Y(o,[p,p],[1,1]),L=Ae(Ve(w,0),Yt([[-1]]),Yt([[1]])),T=D(w,v(L,y)),A=M(b,T);A.shape[0]===1?s=At(a):s=re([a,Y(A,[1,0],[A.shape[0]-1,A.shape[1]])],0);const _=Q(M(K(L,T),y)),N=Y(o,[p,0],[n-p,r]),C=v(_,s),F=X(s);if(p===0)o=D(N,K(C,K(F,N)));else{const q=D(N,K(C,K(F,N)));o=re([Y(o,[0,0],[p,r]),q],0)}const E=X(C),B=Y(i,[0,p],[n,i.shape[1]-p]);if(p===0)i=D(B,K(K(B,s),E));else{const q=D(B,K(K(B,s),E));i=re([Y(i,[0,0],[n,p]),q],1)}return[s,o,i]}),be([l,u,m])}return!t&&n>r&&(i=Y(i,[0,0],[n,r]),o=Y(o,[0,0],[r,r])),[i,o]})}const lx=d({qr_:eO});var ue;(function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"})(ue||(ue={}));function tO(e,t,n=ue.SUM_BY_NONZERO_WEIGHTS){const r=h(e,"losses","computeWeightedLoss");let i=null;t!=null&&(i=h(t,"weights","computeWeightedLoss"));const o=i==null?r:v(r,i);if(n===ue.NONE)return o;if(n===ue.SUM)return U(o);if(n===ue.MEAN){if(i==null)return an(o);{const a=r.size/i.size,s=M(U(o),U(i));return a>1?M(s,k(a)):s}}if(n===ue.SUM_BY_NONZERO_WEIGHTS){if(i==null)return M(U(o),k(r.size));{const a=v(i,mt(r.shape)),s=R(U(qn(a,k(0))),"float32");return M(U(o),s)}}throw Error(`Unknown reduction: ${n}`)}const Me=d({computeWeightedLoss_:tO});function nO(e,t,n,r=ue.SUM_BY_NONZERO_WEIGHTS){const i=h(e,"labels","absoluteDifference"),o=h(t,"predictions","absoluteDifference");let a=null;n!=null&&(a=h(n,"weights","absoluteDifference")),$(i.shape,o.shape,"Error in absoluteDifference: ");const s=_e(D(i,o));return Me(s,a,r)}const ux=d({absoluteDifference_:nO});function rO(e,t,n,r,i=ue.SUM_BY_NONZERO_WEIGHTS){const o=h(e,"labels","cosineDistance"),a=h(t,"predictions","cosineDistance");let s=null;r!=null&&(s=h(r,"weights","cosineDistance")),$(o.shape,a.shape,"Error in cosineDistance: ");const c=k(1),p=D(c,U(v(o,a),n,!0));return Me(p,s,i)}const hx=d({cosineDistance_:rO});function iO(e,t,n,r=ue.SUM_BY_NONZERO_WEIGHTS){let i=h(e,"labels","hingeLoss");const o=h(t,"predictions","hingeLoss");let a=null;n!=null&&(a=h(n,"weights","hingeLoss")),$(i.shape,o.shape,"Error in hingeLoss: ");const s=k(1);i=D(v(k(2),i),s);const c=zt(D(s,v(i,o)));return Me(c,a,r)}const dx=d({hingeLoss_:iO});function oO(e,t,n,r=1,i=ue.SUM_BY_NONZERO_WEIGHTS){const o=h(e,"labels","huberLoss"),a=h(t,"predictions","huberLoss");let s=null;n!=null&&(s=h(n,"weights","huberLoss")),$(o.shape,a.shape,"Error in huberLoss: ");const c=k(r),p=_e(D(a,o)),l=Bn(p,c),u=D(p,l),m=O(v(k(.5),G(l)),v(c,u));return Me(m,s,i)}const mx=d({huberLoss_:oO});function sO(e,t,n,r=1e-7,i=ue.SUM_BY_NONZERO_WEIGHTS){const o=h(e,"labels","logLoss"),a=h(t,"predictions","logLoss");let s=null;n!=null&&(s=h(n,"weights","logLoss")),$(o.shape,a.shape,"Error in logLoss: ");const c=k(1),p=k(r),l=Q(v(o,gt(O(a,p)))),u=v(D(c,o),gt(O(D(c,a),p))),m=D(l,u);return Me(m,s,i)}const fx=d({logLoss_:sO});function aO(e,t,n,r=ue.SUM_BY_NONZERO_WEIGHTS){const i=h(e,"labels","meanSquaredError"),o=h(t,"predictions","meanSquaredError");let a=null;n!=null&&(a=h(n,"weights","meanSquaredError")),$(i.shape,o.shape,"Error in meanSquaredError: ");const s=Mn(i,o);return Me(s,a,r)}const gx=d({meanSquaredError_:aO});function cO(e,t){const n=h(e,"labels","sigmoidCrossEntropyWithLogits"),r=h(t,"logits","sigmoidCrossEntropyWithLogits");$(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const i=zt(r),o=v(r,n),a=Ni(Ne(Q(_e(r))));return O(D(i,o),a)}function pO(e,t,n,r=0,i=ue.SUM_BY_NONZERO_WEIGHTS){let o=h(e,"multiClassLabels","sigmoidCrossEntropy");const a=h(t,"logits","sigmoidCrossEntropy");let s=null;if(n!=null&&(s=h(n,"weights","sigmoidCrossEntropy")),$(o.shape,a.shape,"Error in sigmoidCrossEntropy: "),r>0){const p=k(r),l=k(1),u=k(.5);o=O(v(o,D(l,p)),v(u,p))}const c=cO(o,a);return Me(c,s,i)}const bx=d({sigmoidCrossEntropy_:pO});function lO(e,t,n=-1){if(n===-1&&(n=t.rank-1),n!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${n}`);const r=$e((i,o,a)=>{const s=!0,c=Ai(o,[n],s),p=D(R(o,"float32"),c);a([i,p]);const l=Q(v(p,i)),u=U(l,[n]),m=(b,y)=>{const[w,L]=y,T=fe(b.shape,[n]);return[v(x(b,T),D(R(w,"float32"),Ne(L))),v(x(b,T),D(Ne(L),R(w,"float32")))]};return{value:u,gradFunc:m}});return r(e,t)}function uO(e,t,n,r=0,i=ue.SUM_BY_NONZERO_WEIGHTS){let o=h(e,"onehotLabels","softmaxCrossEntropy");const a=h(t,"logits","softmaxCrossEntropy");let s=null;if(n!=null&&(s=h(n,"weights","softmaxCrossEntropy")),$(o.shape,a.shape,"Error in softmaxCrossEntropy: "),r>0){const p=k(r),l=k(1),u=k(o.shape[1]);o=O(v(o,D(l,p)),M(p,u))}const c=lO(o,a);return Me(c,s,i)}const wx=d({softmaxCrossEntropy_:uO});const zm={};Oe(zm,{abs:()=>_e,acos:()=>Mu,acosh:()=>Fu,add:()=>O,addN:()=>Du,addStrict:()=>eg,all:()=>ku,any:()=>Ou,argMax:()=>Eu,argMin:()=>Cu,asin:()=>Ru,asinh:()=>_u,atan:()=>Nu,atan2:()=>Au,atanh:()=>Iu,avgPool:()=>Di,avgPool3d:()=>Tu,basicLSTMCell:()=>Su,batchNorm:()=>Jt,batchNorm2d:()=>vu,batchNorm3d:()=>Lu,batchNorm4d:()=>xu,batchToSpaceND:()=>Kn,booleanMaskAsync:()=>Qf,broadcastTo:()=>Ir,buffer:()=>ke,cast:()=>R,ceil:()=>yu,clipByValue:()=>wu,clone:()=>At,complex:()=>Ge,concat:()=>re,concat1d:()=>bu,concat2d:()=>gu,concat3d:()=>fu,concat4d:()=>mu,conv1d:()=>du,conv2d:()=>It,conv2dTranspose:()=>hu,conv3d:()=>uu,conv3dTranspose:()=>lu,cos:()=>Vn,cosh:()=>ki,cosineWindow:()=>Lr,cumsum:()=>Oi,depthToSpace:()=>pu,depthwiseConv2d:()=>zn,diag:()=>cu,dilation2d:()=>au,div:()=>M,divNoNan:()=>su,divStrict:()=>tg,dot:()=>ou,dropout:()=>Hf,elu:()=>Ei,enclosingPowerOfTwo:()=>Qs,equal:()=>Kt,equalStrict:()=>Yf,erf:()=>iu,exp:()=>Ne,expandDims:()=>Ke,expm1:()=>ru,eye:()=>Ci,fft:()=>Yn,fill:()=>Hn,floor:()=>$n,floorDiv:()=>Ri,fused:()=>nu,gather:()=>Gn,gatherND:()=>$f,greater:()=>Ve,greaterEqual:()=>ct,greaterEqualStrict:()=>zf,greaterStrict:()=>Vf,ifft:()=>cn,imag:()=>Vt,image:()=>Wf,inTopKAsync:()=>jf,irfft:()=>_i,isFinite:()=>tu,isInf:()=>eu,isNaN:()=>Ql,leakyRelu:()=>Zl,less:()=>jn,lessEqual:()=>at,lessEqualStrict:()=>Kf,lessStrict:()=>Jf,linalg:()=>qf,linspace:()=>Xl,localResponseNormalization:()=>Jl,log:()=>gt,log1p:()=>Ni,logSigmoid:()=>Kl,logSoftmax:()=>Vl,logSumExp:()=>Ai,logicalAnd:()=>ft,logicalNot:()=>Pn,logicalOr:()=>Ii,logicalXor:()=>zl,losses:()=>Bf,matMul:()=>K,max:()=>st,maxPool:()=>Ti,maxPool3d:()=>Yl,maxPoolWithArgmax:()=>Hl,maximum:()=>Tt,maximumStrict:()=>ng,mean:()=>an,min:()=>sn,minimum:()=>Bn,minimumStrict:()=>rg,mod:()=>Si,modStrict:()=>ig,moments:()=>$l,movingAverage:()=>Pf,mul:()=>v,mulStrict:()=>og,multiRNNCell:()=>Gl,multinomial:()=>jl,neg:()=>Q,norm:()=>Tr,notEqual:()=>qn,notEqualStrict:()=>Xf,oneHot:()=>Sr,ones:()=>mt,onesLike:()=>ea,op:()=>d,outerProduct:()=>Pl,pad:()=>ot,pad1d:()=>Bl,pad2d:()=>ql,pad3d:()=>Wl,pad4d:()=>Ul,pool:()=>Ml,pow:()=>je,powStrict:()=>sg,prelu:()=>vi,print:()=>Fl,prod:()=>Dl,rand:()=>kl,randomGamma:()=>Ol,randomNormal:()=>El,randomUniform:()=>Li,range:()=>vr,real:()=>kt,reciprocal:()=>Cl,relu:()=>zt,relu6:()=>xi,reshape:()=>x,reverse:()=>Pe,reverse1d:()=>Rl,reverse2d:()=>_l,reverse3d:()=>Nl,reverse4d:()=>Al,rfft:()=>Wn,round:()=>Il,rsqrt:()=>yi,scalar:()=>k,scatterND:()=>Ff,selu:()=>Tl,separableConv2d:()=>Sl,setdiff1dAsync:()=>vl,sigmoid:()=>St,sign:()=>Ll,signal:()=>Uf,sin:()=>wi,sinh:()=>bi,slice:()=>Y,slice1d:()=>xl,slice2d:()=>yl,slice3d:()=>wl,slice4d:()=>bl,softmax:()=>gl,softplus:()=>gi,spaceToBatchND:()=>Un,sparseToDense:()=>Of,spectral:()=>Mf,split:()=>Ot,sqrt:()=>le,square:()=>G,squaredDifference:()=>Mn,squaredDifferenceStrict:()=>ag,squeeze:()=>Fn,stack:()=>dt,step:()=>vt,stridedSlice:()=>fl,sub:()=>D,subStrict:()=>cg,sum:()=>U,tan:()=>ml,tanh:()=>xr,tensor:()=>Qe,tensor1d:()=>ht,tensor2d:()=>Yt,tensor3d:()=>fi,tensor4d:()=>dl,tensor5d:()=>hl,tensor6d:()=>ul,tile:()=>Ht,topk:()=>ll,transpose:()=>X,truncatedNormal:()=>pl,unsortedSegmentSum:()=>mi,unstack:()=>Dn,variable:()=>cl,where:()=>Ae,whereAsync:()=>di,zeros:()=>Ue,zerosLike:()=>W});const Mf={fft:Yn,ifft:cn,rfft:Wn,irfft:_i},Uf={hammingWindow:Yy,hannWindow:Gp,frame:$p,stft:zy},Wf={flipLeftRight:Ky,resizeNearestNeighbor:sx,resizeBilinear:ox,rotateWithOffset:Jy,cropAndResize:Vy,nonMaxSuppression:Xy,nonMaxSuppressionAsync:ex,nonMaxSuppressionWithScore:tx,nonMaxSuppressionWithScoreAsync:nx,nonMaxSuppressionPadded:rx,nonMaxSuppressionPaddedAsync:ix},qf={bandPart:ax,gramSchmidt:cx,qr:lx},Bf={absoluteDifference:ux,computeWeightedLoss:Me,cosineDistance:hx,hingeLoss:dx,huberLoss:mx,logLoss:fx,meanSquaredError:gx,sigmoidCrossEntropy:bx,softmaxCrossEntropy:wx};_y(zm);const Vs={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};const Vp=4;async function dO(e,t){const n=[],r=[],i=Array.isArray(e)?e.map(a=>a.name):Object.keys(e);for(let a=0;a{const m=await c.bytes(),b=m.reduce((L,T)=>L+T.length,0)+Vp*m.length,y=new Uint8Array(b);let w=0;for(let L=0;L{if(t+=o.byteLength,n.push(o.byteLength===o.buffer.byteLength?o:new o.constructor(o)),!(o instanceof Float32Array||o instanceof Int32Array||o instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${o.constructor.name}`)});const r=new Uint8Array(t);let i=0;return n.forEach(o=>{r.set(new Uint8Array(o.buffer),i),i+=o.byteLength}),r.buffer}const fO=typeof Buffer!="undefined"&&(typeof Blob=="undefined"||typeof atob=="undefined"||typeof btoa=="undefined");function yx(e){return fO?Buffer.byteLength(e):new Blob([e]).size}function Ks(e){if(e.length===1)return e[0];let t=0;e.forEach(i=>{t+=i.byteLength});const n=new Uint8Array(t);let r=0;return e.forEach(i=>{n.set(new Uint8Array(i),r),r+=i.byteLength}),n.buffer}function Km(e){const t="/";for(e=e.trim();e.endsWith(t);)e=e.slice(0,e.length-1);const n=e.split(t);return n[n.length-1]}function Js(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date(),modelTopologyType:"JSON",modelTopologyBytes:e.modelTopology==null?0:yx(JSON.stringify(e.modelTopology)),weightSpecsBytes:e.weightSpecs==null?0:yx(JSON.stringify(e.weightSpecs)),weightDataBytes:e.weightData==null?0:e.weightData.byteLength}}function gO(){const e=n=>{let r=n<<13,i=0;for(;(r&8388608)===0;)i-=8388608,r<<=1;return r&=~8388608,i+=947912704,r|i},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let n=1024;n<2048;n++)t[n]=939524096+(n-1024<<13);return t}function bO(){const e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}function wO(){const e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}function mO(){const e=gO(),t=bO(),n=wO();return r=>{const i=new ArrayBuffer(4*r.length),o=new Uint32Array(i);for(let a=0;a>10]+(s&1023)]+t[s>>10];o[a]=c}return new Float32Array(i)}}class ve{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return ve.instance==null&&(ve.instance=new ve()),ve.instance}static registerSaveRouter(e){ve.getInstance().saveRouters.push(e)}static registerLoadRouter(e){ve.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return ve.getHandlers(e,"save")}static getLoadHandlers(e,t){return ve.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[],i=t==="load"?ve.getInstance().loadRouters:ve.getInstance().saveRouters;return i.forEach(o=>{const a=o(e,n);a!==null&&r.push(a)}),r}}const yO=e=>ve.registerSaveRouter(e),xO=e=>ve.registerLoadRouter(e),LO=e=>ve.getSaveHandlers(e),vO=(e,t)=>ve.getLoadHandlers(e,t);const pi="://";class Et{constructor(){this.managers={}}static getInstance(){return Et.instance==null&&(Et.instance=new Et()),Et.instance}static registerManager(e,t){f(e!=null,()=>"scheme must not be undefined or null."),e.endsWith(pi)&&(e=e.slice(0,e.indexOf(pi))),f(e.length>0,()=>"scheme must not be an empty string.");const n=Et.getInstance();f(n.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),n.managers[e]=t}static getManager(e){const t=this.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}}function Kp(e){if(e.indexOf(pi)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${Et.getSchemes().join(",")}`);return{scheme:e.split(pi)[0],path:e.split(pi)[1]}}async function xx(e,t,n=!1){f(e!==t,()=>`Old path and new path are the same: '${e}'`);const r=ve.getLoadHandlers(e);f(r.length>0,()=>`Copying failed because no load handler is found for source URL ${e}.`),f(r.length<2,()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`);const i=r[0],o=ve.getSaveHandlers(t);f(o.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),f(o.length<2,()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`);const a=o[0],s=Kp(e).scheme,c=Kp(e).path,p=s===Kp(e).scheme,l=await i.load();n&&p&&await Et.getManager(s).removeModel(c);const u=await a.save(l);return n&&!p&&await Et.getManager(s).removeModel(c),u.modelArtifactsInfo}async function Lx(){const e=Et.getSchemes(),t={};for(const n of e){const r=await Et.getManager(n).listModels();for(const i in r){const o=n+pi+i;t[o]=r[i]}}return t}async function vx(e){const t=Kp(e),n=Et.getManager(t.scheme);return n.removeModel(t.path)}async function Sx(e,t){const n=!1;return xx(e,t,n)}async function Tx(e,t){const n=!0;return xx(e,t,n)}const SO="model",TO=".json",IO=".weights.bin";function Ix(e){return new Promise(t=>setTimeout(t)).then(e)}class li{constructor(e){if(!se().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith(li.URL_SCHEME)&&(e=e.slice(li.URL_SCHEME.length)),(e==null||e.length===0)&&(e=SO),this.modelTopologyFileName=e+TO,this.weightDataFileName=e+IO}async save(e){if(typeof document=="undefined")throw new Error("Browser downloads are not supported in this environment since `document` is not present");const t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},i=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:"application/json"})),o=this.jsonAnchor==null?document.createElement("a"):this.jsonAnchor;if(o.download=this.modelTopologyFileName,o.href=i,await Ix(()=>o.dispatchEvent(new MouseEvent("click"))),e.weightData!=null){const a=this.weightDataAnchor==null?document.createElement("a"):this.weightDataAnchor;a.download=this.weightDataFileName,a.href=t,await Ix(()=>a.dispatchEvent(new MouseEvent("click")))}return{modelArtifactsInfo:Js(e)}}}}li.URL_SCHEME="downloads://";class AO{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.files=e}async load(){const e=this.files[0],t=this.files.slice(1);return new Promise((n,r)=>{const i=new FileReader();i.onload=o=>{const a=JSON.parse(o.target.result),s=a.modelTopology;if(s==null){r(new Error(`modelTopology field is missing from file ${e.name}`));return}t.length===0&&n({modelTopology:s});const c=a.weightsManifest;if(c==null){r(new Error(`weightManifest field is missing from file ${e.name}`));return}let p;try{p=this.checkManifestAndWeightFiles(c,t)}catch(b){r(b);return}const l=[],u=[],m=[];c.forEach(b=>{b.paths.forEach(y=>{u.push(y),m.push(null)}),l.push(...b.weights)}),c.forEach(b=>{b.paths.forEach(y=>{const w=new FileReader();w.onload=L=>{const T=L.target.result,A=u.indexOf(y);m[A]=T,m.indexOf(null)===-1&&n({modelTopology:s,weightSpecs:l,weightData:Ks(m),format:a.format,generatedBy:a.generatedBy,convertedBy:a.convertedBy,userDefinedMetadata:a.userDefinedMetadata})},w.onerror=L=>r(`Failed to weights data from file of path '${y}'.`),w.readAsArrayBuffer(p[y])})})},i.onerror=o=>r(`Failed to read model topology and weights manifest JSON from file '${e.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),i.readAsText(e)})}checkManifestAndWeightFiles(e,t){const n=[],r=t.map(o=>Km(o.name)),i={};for(const o of e)o.paths.forEach(a=>{const s=Km(a);if(n.indexOf(s)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(n.push(s),r.indexOf(s)===-1)throw new Error(`Weight file with basename '${s}' is not provided.`);i[a]=t[r.indexOf(s)]});if(n.length!==t.length)throw new Error(`Mismatch in the number of files in weights manifest (${n.length}) and the number of weight files provided (${t.length}).`);return i}}const _O=e=>se().getBool("IS_BROWSER")&&(!Array.isArray(e)&&e.startsWith(li.URL_SCHEME))?NO(e.slice(li.URL_SCHEME.length)):null;ve.registerSaveRouter(_O);function NO(e="model"){return new li(e)}function RO(e){return new AO(e)}function Jm(e,t,n,r){a(e),n=n==null?0:n,r=r==null?1:r,s(n,r);let i=0;const o=c=>(c.then(p=>{const l=n+ ++i/e.length*(r-n);return t(l),p}),c);function a(c){f(c!=null&&Array.isArray(c)&&c.length>0,()=>"promises must be a none empty array")}function s(c,p){f(c>=0&&c<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${c}`),f(p>=0&&p<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${p}`),f(p>=c,()=>`startFraction must be no more than endFraction, but got startFraction ${c} and endFraction ${p}`)}return Promise.all(e.map(o))}async function Xm(e,t){t==null&&(t={});const n=t.fetchFunc==null?se().platform.fetch:t.fetchFunc,r=e.map(u=>n(u,t.requestInit,{isBinary:!0})),i=0,o=.5,a=t.onProgress==null?await Promise.all(r):await Jm(r,t.onProgress,i,o),s=a.map(u=>u.arrayBuffer()),c=.5,p=1,l=t.onProgress==null?await Promise.all(s):await Jm(s,t.onProgress,c,p);return l}async function CO(e,t="",n,r){const i=a=>Xm(a,{requestInit:r}),o=Ax(i);return o(e,t,n)}function Ax(e){return async(t,n="",r)=>{const i=t.map(()=>!1),o={},a=r!=null?r.map(()=>!1):[],s=[];if(t.forEach((b,y)=>{let w=0;b.weights.forEach(L=>{const T="quantization"in L?L.quantization.dtype:L.dtype,A=Vs[T]*Z(L.shape),_=()=>{i[y]=!0,o[y]==null&&(o[y]=[]),o[y].push({manifestEntry:L,groupOffset:w,sizeBytes:A})};r!=null?r.forEach((N,C)=>{N===L.name&&(_(),a[C]=!0)}):_(),s.push(L.name),w+=A})}),!a.every(b=>b)){const b=r.filter((y,w)=>!a[w]);throw new Error(`Could not find weights in manifest with names: ${b.join(", ")}. +Manifest JSON has weights with names: ${s.join(", ")}.`)}const c=i.reduce((b,y,w)=>(y&&b.push(w),b),[]),p=[];c.forEach(b=>{t[b].paths.forEach(y=>{const w=n+(n.endsWith("/")?"":"/")+y;p.push(w)})});const l=await e(p),u={};let m=0;return c.forEach(b=>{const y=t[b].paths.length;let w=0;for(let N=0;N{const C=L.slice(N.groupOffset,N.groupOffset+N.sizeBytes),F=Vm(C,[N.manifestEntry]);for(const E in F)u[E]=F[E]}),m+=y}),u}}const EO="application/octet-stream",OO="application/json";class Zm{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,t.fetchFunc!=null?(f(typeof t.fetchFunc=="function",()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)"),this.fetch=t.fetchFunc):this.fetch=se().platform.fetch,f(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&f(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData();const n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,userDefinedMetadata:e.userDefinedMetadata,weightsManifest:n};t.body.append("model.json",new Blob([JSON.stringify(r)],{type:OO}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:EO}),"model.weights.bin");const i=await this.fetch(this.path,t);if(i.ok)return{modelArtifactsInfo:Js(e),responses:[i]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${i.status}.`)}async load(){const e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(l){let u=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?u+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":u+=" Please make sure the server is serving valid JSON for this request.",new Error(u)}const n=t.modelTopology,r=t.weightsManifest,i=t.generatedBy,o=t.convertedBy,a=t.format,s=t.userDefinedMetadata;if(n==null&&r==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);let c,p;if(r!=null){const l=await this.loadWeights(r);[c,p]=l}return{modelTopology:n,weightSpecs:c,weightData:p,userDefinedMetadata:s,generatedBy:i,convertedBy:o,format:a}}async loadWeights(e){const t=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=kO(t),i=this.weightPathPrefix||n,o=[];for(const c of e)o.push(...c.weights);const a=[];e.forEach(c=>{c.paths.forEach(p=>{a.push(i+p+r)})});const s=await Xm(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[o,Ks(s)]}}Zm.URL_SCHEME_REGEX=/^https?:\/\//;function kO(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),r=e.substring(0,t),i=n>t?e.substring(n):"";return[r+"/",i]}function Qm(e){return e.match(Zm.URL_SCHEME_REGEX)!=null}const Nx=(e,t)=>{if(typeof fetch=="undefined"&&(t==null||t.fetchFunc==null))return null;{let n=!0;if(Array.isArray(e)?n=e.every(r=>Qm(r)):n=Qm(e),n)return ef(e,t)}return null};ve.registerSaveRouter(Nx);ve.registerLoadRouter(Nx);function ef(e,t){return new Zm(e,t)}function DO(e,t){return ef(e,t)}class tf{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}}class FO{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}}function MO(e,t,n,r){if(arguments.length===1){const i=e.modelTopology!=null||e.weightSpecs!=null;return i?new tf(e):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new tf({modelTopology:e}))}else return console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new tf({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:r})}function UO(e){return new FO(e)}const lg={};Oe(lg,{browserFiles:()=>RO,browserHTTPRequest:()=>DO,concatenateArrayBuffers:()=>Ks,copyModel:()=>Sx,decodeWeights:()=>Vm,encodeWeights:()=>dO,fromMemory:()=>MO,getLoadHandlers:()=>vO,getModelArtifactsInfoForJSON:()=>Js,getSaveHandlers:()=>LO,http:()=>ef,isHTTPScheme:()=>Qm,listModels:()=>Lx,loadWeights:()=>CO,moveModel:()=>Tx,registerLoadRouter:()=>xO,registerSaveRouter:()=>yO,removeModel:()=>vx,weightsLoaderFactory:()=>Ax,withSaveHandler:()=>UO});function WO(e,t,n){const r=h(e,"labels","confusionMatrix"),i=h(t,"predictions","confusionMatrix");f(n==null||n>0&&Number.isInteger(n),()=>`If provided, numClasses must be a positive integer, but got ${n}`),f(r.rank===1,()=>`Expected the rank of labels to be 1, but got ${r.rank}`),f(i.rank===1,()=>`Expected the rank of predictions to be 1, but got ${i.rank}`),f(r.shape[0]===i.shape[0],()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${i.shape[0]}. Labels and predictions should have the same number of elements.`),f(n>0&&Number.isInteger(n),()=>`numClasses is required to be a positive integer, but got ${n}`);const o=Sr(R(r,"int32"),n),a=Sr(R(i,"int32"),n),s=X(o);return R(K(s,a),"int32")}const qO=d({confusionMatrix_:WO});const pg={};Oe(pg,{confusionMatrix:()=>qO});const Zf={};Oe(Zf,{fromPixels:()=>jO,toPixels:()=>PO});let ui;function BO(e,t=3){if(t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(e==null)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,i=!1,o=!1,a=!1;if(e.data instanceof Uint8Array)n=!0;else if(typeof ImageData!="undefined"&&e instanceof ImageData)r=!0;else if(typeof HTMLVideoElement!="undefined"&&e instanceof HTMLVideoElement)i=!0;else if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement)o=!0;else if(e.getContext!=null)a=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${e.constructor.name}`);if(i){const b=2;if(i&&e.readyState element.")}const s=Fi(ra,g.backendName);if(s!=null){const b={pixels:e},y={numChannels:t};return g.runKernel(ra,b,y)}const[c,p]=i?[e.videoWidth,e.videoHeight]:[e.width,e.height];let l;a?l=e.getContext("2d").getImageData(0,0,c,p).data:r||n?l=e.data:(o||i)&&(ui==null&&(ui=document.createElement("canvas").getContext("2d")),ui.canvas.width=c,ui.canvas.height=p,ui.drawImage(e,0,0,c,p),l=ui.getImageData(0,0,c,p).data);let u;if(t===4)u=new Int32Array(l);else{const b=c*p;u=new Int32Array(b*t);for(let y=0;y4||o===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${o}`);const a=await n.data(),s=sn(n),c=st(n),p=await Promise.all([s.data(),c.data()]),l=p[0],u=p[1],m=l[0],b=u[0];if(s.dispose(),c.dispose(),n.dtype==="float32"){if(m<0||b>1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but got range [${m} - ${b}].`)}else if(n.dtype==="int32"){if(m<0||b>255)throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but got range [${m} - ${b}].`)}else throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const y=n.dtype==="float32"?255:1,w=new Uint8ClampedArray(i*r*4);for(let L=0;L_x});function _x(e,t){if(e.rank<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e.rank}.`);if(t.rank<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${t.rank}.`);if(t.dtype!=="int32")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[t.rank-1]>e.rank)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[t.rank-1]} vs. ${e.rank}`);if(e.size===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);const n=t.shape,r=n[n.length-1];let i=1;for(let p=0;pp/s),1].slice(0,r);return[a,i,s,c]}const Ef={};Oe(Ef,{Serializable:()=>nf,SerializationMap:()=>fr,registerClass:()=>Xe});class nf{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class fr{constructor(){this.classNameMap={}}static getMap(){return fr.instance==null&&(fr.instance=new fr()),fr.instance}static register(e){fr.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function Xe(e){f(e.className!=null,()=>"Class being registered does not have the static className property defined."),f(typeof e.className=="string",()=>"className is required to be a string, but got type "+typeof e.className),f(e.className.length>0,()=>"Class being registered has an empty-string as its className, which is disallowed."),fr.register(e)}const Qv="2.3.0";class Ze extends nf{minimize(e,t=!1,n){const{value:r,grads:i}=this.computeGradients(e,n);if(n!=null){const o=n.map(a=>({name:a.name,tensor:i[a.name]}));this.applyGradients(o)}else this.applyGradients(i);return be(i),t?r:(r.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return kh(e,t)}dispose(){this.iterations_!=null&&be(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:k(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Ze,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});class kn extends Ze{constructor(e,t,n=null){super();this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const i=g.registeredVariables[n],o=!1;this.accumulatedGrads[r]==null&&(this.accumulatedGrads[r]={originalName:`${n}/accum_grad`,variable:ce(()=>W(i).variable(o))}),this.accumulatedUpdates[r]==null&&(this.accumulatedUpdates[r]={originalName:`${n}/accum_var`,variable:ce(()=>W(i).variable(o))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedGrads[r].variable,c=this.accumulatedUpdates[r].variable;ce(()=>{const p=O(v(s,this.rho),v(G(a),1-this.rho)),l=v(M(le(O(c,this.epsilon)),le(O(s,this.epsilon))),a),u=O(v(c,this.rho),v(G(l),1-this.rho));s.assign(p),c.assign(u);const m=O(v(l,-this.learningRate),i);i.assign(m)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(be(this.accumulatedGrads.map(e=>e.variable)),be(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=e.length/2,n=!1;this.accumulatedGrads=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedUpdates=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}kn.className="Adadelta";Xe(kn);class On extends Ze{constructor(e,t=.1){super();this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const i=g.registeredVariables[n];if(this.accumulatedGrads[r]==null){const s=!1;this.accumulatedGrads[r]={originalName:`${n}/accumulator`,variable:ce(()=>Hn(i.shape,this.initialAccumulatorValue).variable(s))}}const o=Array.isArray(e)?e[r].tensor:e[n];if(o==null)return;const a=this.accumulatedGrads[r].variable;ce(()=>{const s=O(a,G(o));a.assign(s);const c=O(v(M(o,le(O(s,g.backend.epsilon()))),-this.learningRate),i);i.assign(c)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&be(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulatedGrads=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}On.className="Adagrad";Xe(On);class En extends Ze{constructor(e,t,n,r=null){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],ce(()=>{this.accBeta1=k(t).variable(),this.accBeta2=k(n).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);ce(()=>{const n=D(1,this.accBeta1),r=D(1,this.accBeta2);t.forEach((i,o)=>{const a=g.registeredVariables[i],s=!1;this.accumulatedFirstMoment[o]==null&&(this.accumulatedFirstMoment[o]={originalName:`${i}/m`,variable:ce(()=>W(a).variable(s))}),this.accumulatedSecondMoment[o]==null&&(this.accumulatedSecondMoment[o]={originalName:`${i}/v`,variable:ce(()=>W(a).variable(s))});const c=Array.isArray(e)?e[o].tensor:e[i];if(c==null)return;const p=this.accumulatedFirstMoment[o].variable,l=this.accumulatedSecondMoment[o].variable,u=O(v(p,this.beta1),v(c,1-this.beta1)),m=O(v(l,this.beta2),v(G(c),1-this.beta2)),b=M(u,n),y=M(m,r);p.assign(u),l.assign(m);const w=O(v(M(b,O(le(y),this.epsilon)),-this.learningRate),a);a.assign(w)}),this.accBeta1.assign(v(this.accBeta1,this.beta1)),this.accBeta2.assign(v(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&be(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&be(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),ce(()=>{this.accBeta1.assign(je(this.beta1,this.iterations_+1)),this.accBeta2.assign(je(this.beta2,this.iterations_+1))});const t=e.length/2,n=!1;this.accumulatedFirstMoment=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}En.className="Adam";Xe(En);class Cn extends Ze{constructor(e,t,n,r=null,i=0){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=i,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],ce(()=>{this.iteration=k(0).variable(),this.accBeta1=k(t).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);ce(()=>{const n=D(1,this.accBeta1),r=M(-this.learningRate,O(v(this.iteration,this.decay),1));t.forEach((i,o)=>{const a=g.registeredVariables[i],s=!1;this.accumulatedFirstMoment[o]==null&&(this.accumulatedFirstMoment[o]={originalName:`${i}/m`,variable:W(a).variable(s)}),this.accumulatedWeightedInfNorm[o]==null&&(this.accumulatedWeightedInfNorm[o]={originalName:`${i}/v`,variable:W(a).variable(s)});const c=Array.isArray(e)?e[o].tensor:e[i];if(c==null)return;const p=this.accumulatedFirstMoment[o].variable,l=this.accumulatedWeightedInfNorm[o].variable,u=O(v(p,this.beta1),v(c,1-this.beta1)),m=v(l,this.beta2),b=_e(c),y=Tt(m,b);p.assign(u),l.assign(y);const w=O(v(M(r,n),M(u,O(y,this.epsilon))),a);a.assign(w)}),this.iteration.assign(O(this.iteration,1)),this.accBeta1.assign(v(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&be(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&be(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}Cn.className="Adamax";Xe(Cn);class $t extends Ze{constructor(e){super();this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const i=Array.isArray(e)?e[r].tensor:e[n];if(i==null)return;const o=g.registeredVariables[n];ce(()=>{const a=O(v(this.c,i),o);o.assign(a)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=Dh(k(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}$t.className="SGD";Xe($t);class Rn extends $t{constructor(e,t,n=!1){super(e);this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=k(this.momentum)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const i=g.registeredVariables[n];if(this.accumulations[r]==null){const s=!1;this.accumulations[r]={originalName:`${n}/momentum`,variable:ce(()=>W(i).variable(s))}}const o=this.accumulations[r].variable,a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;ce(()=>{let s;const c=O(v(this.m,o),a);this.useNesterov?s=O(v(this.c,O(a,v(c,this.m))),i):s=O(v(this.c,c),i),o.assign(c),i.assign(s)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&be(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulations=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}Rn.className="Momentum";Xe(Rn);class _n extends Ze{constructor(e,t=.9,n=0,r=null,i=!1){super();if(this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=i,r==null&&(this.epsilon=g.backend.epsilon()),e==null)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const i=g.registeredVariables[n],o=!1;this.accumulatedMeanSquares[r]==null&&(this.accumulatedMeanSquares[r]={originalName:`${n}/rms`,variable:ce(()=>W(i).variable(o))}),this.accumulatedMoments[r]==null&&(this.accumulatedMoments[r]={originalName:`${n}/momentum`,variable:ce(()=>W(i).variable(o))}),this.accumulatedMeanGrads[r]==null&&this.centered&&(this.accumulatedMeanGrads[r]={originalName:`${n}/mg`,variable:ce(()=>W(i).variable(o))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedMeanSquares[r].variable,c=this.accumulatedMoments[r].variable;ce(()=>{const p=O(v(s,this.decay),v(G(a),1-this.decay));if(this.centered){const l=this.accumulatedMeanGrads[r].variable,u=O(v(l,this.decay),v(a,1-this.decay)),m=M(v(a,this.learningRate),le(D(p,O(G(u),this.epsilon)))),b=O(v(c,this.momentum),m);s.assign(p),l.assign(u),c.assign(b);const y=D(i,b);i.assign(y)}else{const l=O(v(s,this.decay),v(G(a),1-this.decay)),u=O(v(c,this.momentum),M(v(a,this.learningRate),le(O(l,this.epsilon))));s.assign(l),c.assign(u);const m=D(i,u);i.assign(m)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&be(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&be(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&be(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedMoments=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}_n.className="RMSProp";Xe(_n);class In{static sgd(e){return new $t(e)}static momentum(e,t,n=!1){return new Rn(e,t,n)}static rmsprop(e,t=.9,n=0,r=null,i=!1){return new _n(e,t,n,r,i)}static adam(e=.001,t=.9,n=.999,r=null){return new En(e,t,n,r)}static adadelta(e=.001,t=.95,n=null){return new kn(e,t,n)}static adamax(e=.002,t=.9,n=.999,r=null,i=0){return new Cn(e,t,n,r,i)}static adagrad(e,t=.1){return new On(e,t)}}Rn,$t,kn,On,_n,Cn,En;const tS={sgd:In.sgd,momentum:In.momentum,adadelta:In.adadelta,adagrad:In.adagrad,rmsprop:In.rmsprop,adamax:In.adamax,adam:In.adam};const GO=(()=>typeof requestAnimationFrame!="undefined"?requestAnimationFrame:typeof setImmediate!="undefined"?setImmediate:e=>e())();function _S(){return new Promise(e=>GO(()=>e()))}function $O(e,t,n){const r=n*(typeof e=="number"?e:e[0]),i=t*(typeof e=="number"?e:e[1]);return[r,i]}function HO(e,t,n,r=!0){let i=[];if(r)i=i.concat(t.slice(0)),i.push(e[0]/n),i=i.concat(e.slice(1));else{i=i.concat(e[0]);const o=t.length;for(let a=0;a=t*2+1||a%2===1?o.push(a):i.push(a);r.push(...i),r.push(0),r.push(...o)}return r}function zO(e,t,n,r=!0){const i=[];r?i.push(e[0]/n):i.push(e[0]*n);for(let o=1;oXO,ERF_A2:()=>ZO,ERF_A3:()=>QO,ERF_A4:()=>ek,ERF_A5:()=>tk,ERF_P:()=>JO,PARALLELIZE_THRESHOLD:()=>Mp,SELU_SCALE:()=>of,SELU_SCALEALPHA:()=>rf,applyActivation:()=>dr,assertAndGetBroadcastShape:()=>H,assertAxesAreInnerMostDims:()=>U0,assertParamsConsistent:()=>Cm,assignToTypedArray:()=>pk,axesAreInnerMostDims:()=>Am,calculateShapes:()=>Gy,castTensor:()=>hk,combineLocations:()=>Dy,complexWithEvenIndex:()=>sk,complexWithOddIndex:()=>ak,computeConv2DInfo:()=>We,computeConv3DInfo:()=>Tn,computeDefaultPad:()=>Rm,computeDilation2DInfo:()=>J0,computeOptimalWindowSize:()=>r1,computeOutAndReduceShapes:()=>Nm,computeOutShape:()=>Em,computePool2DInfo:()=>Ct,computePool3DInfo:()=>on,convertConv2DDataFormat:()=>Sn,eitherStridesOrDilationsAreOne:()=>ae,expandShapeToKeepDim:()=>fe,exponent:()=>uk,exponents:()=>lk,getAxesPermutation:()=>he,getBroadcastDims:()=>jR,getComplexWithIndex:()=>ck,getFusedBiasGradient:()=>hr,getFusedDyActivation:()=>ur,getImageCenter:()=>$O,getInnerMostAxes:()=>Ee,getPermuted:()=>YO,getReductionAxes:()=>ie,getReshaped:()=>HO,getReshapedPermuted:()=>zO,getSliceBeginCoords:()=>VO,getSliceSize:()=>KO,getUndoAxesPermutation:()=>pr,linspaceImpl:()=>mk,log:()=>rk,mergeRealAndImagArrays:()=>ik,prepareAndValidate:()=>_x,prepareSplitSize:()=>$m,reshapeTensor:()=>dk,segment_util:()=>Wy,shouldFuse:()=>mr,splitRealAndImagArrays:()=>ok,tupleValuesAreOne:()=>ut,upcastType:()=>wr,validateInput:()=>Bp,validateUpdateShape:()=>Hm,warn:()=>nk});function hk(e,t,n){if(t==="complex64"){if(e.dtype==="complex64")return e.clone();const r=Ue(e.shape),i=R(e,"float32"),o=n.complex(i,r);return r.dispose(),i.dispose(),o}if(!fm(e.dtype,t))return g.makeTensorFromDataId(e.dataId,e.shape,t);if(e.dtype==="complex64"){const r=n.real(e),i=R(r,t);return r.dispose(),i}if(t==="int32")return n.int(e);if(t==="bool"){const r=k(0,e.dtype),i=n.notEqual(e,r);return r.dispose(),i}else throw new Error(`Error in Cast: failed to cast ${e.dtype} to ${t}`)}function dk(e,t){return g.makeTensorFromDataId(e.dataId,t,e.dtype)}function mk(e,t,n){const r=(t-e)/(n-1),i=Pt(n,"float32");i[0]=e;for(let o=1;o{const a=[...i];a[n]=o;const s=Y(e,r,a);return r[n]+=o,s})}function Cx(e,t){const n=new Array(e.rank);for(let i=0;i_.value-A.value);const w=u*r,L=c.subarray(w,w+r),T=p.subarray(w,w+r);for(let A=0;AHp,nonMaxSuppressionV4Impl:()=>Yp,nonMaxSuppressionV5Impl:()=>zp,split:()=>Rx,tile:()=>Cx,topkImpl:()=>Ex,whereImpl:()=>qp});const fk=1e-7,gk=1e-4;class RS{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap(),this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}}class CS{time(e){return I("time")}read(e){return I("read")}readSync(e){return I("readSync")}numDataIds(){return I("numDataIds")}disposeData(e){return I("disposeData")}write(e,t,n){return I("write")}move(e,t,n,r){return I("move")}memory(){return I("memory")}floatPrecision(){return I("floatPrecision")}epsilon(){return this.floatPrecision()===32?fk:gk}batchMatMul(e,t,n,r){return I("batchMatMul")}fusedBatchMatMul({a:e,b:t,transposeA:n,transposeB:r,bias:i,activation:o,preluActivationWeights:a}){return I("fusedBatchMatMul")}slice(e,t,n){return I("slice")}stridedSlice(e,t,n,r){return I("stridedSlice")}unstack(e,t){return I("unstack")}reverse(e,t){return I("reverse")}concat(e,t){return I("concat")}neg(e){return I("neg")}add(e,t){return I("add")}addN(e){return I("addN")}subtract(e,t){return I("subtract")}multiply(e,t){return I("multiply")}realDivide(e,t){return I("realDivide")}floorDiv(e,t){return I("floorDiv")}sum(e,t){return I("sum")}prod(e,t){return I("prod")}unsortedSegmentSum(e,t,n){return I("unsortedSegmentSum")}argMin(e,t){return I("argMin")}argMax(e,t){return I("argMax")}equal(e,t){return I("equal")}notEqual(e,t){return I("notEqual")}less(e,t){return I("less")}lessEqual(e,t){return I("lessEqual")}greater(e,t){return I("greater")}greaterEqual(e,t){return I("greaterEqual")}logicalNot(e){return I("logicalNot")}logicalAnd(e,t){return I("logicalAnd")}logicalOr(e,t){return I("logicalOr")}where(e){return I("where")}select(e,t,n){return I("select")}topk(e,t,n){return I("topk")}min(e,t){return I("min")}minimum(e,t){return I("minimum")}mod(e,t){return I("mod")}max(e,t){return I("max")}maximum(e,t){return I("maximum")}all(e,t){return I("all")}any(e,t){return I("any")}squaredDifference(e,t){return I("squaredDifference")}ceil(e){return I("ceil")}floor(e){return I("floor")}round(e){return I("round")}sign(e){return I("sign")}isNaN(e){return I("isNaN")}isInf(e){return I("isInf")}isFinite(e){return I("isFinite")}pow(e,t){return I("pow")}exp(e){return I("exp")}expm1(e){return I("expm1")}softmax(e,t){return I("softmax")}log(e){return I("log")}log1p(e){return I("log1p")}sqrt(e){return I("sqrt")}rsqrt(e){return I("rsqrt")}square(e){return I("square")}reciprocal(e){return I("reciprocal")}relu(e){return I("relu")}relu6(e){return I("relu6")}prelu(e,t){return I("prelu")}elu(e){return I("elu")}eluDer(e,t){return I("eluDer")}selu(e){return I("selu")}int(e){return I("int")}clip(e,t,n){return I("clip")}abs(e){return I("abs")}complexAbs(e){return I("complexAbs")}sigmoid(e){return I("sigmoid")}softplus(e){return I("softplus")}sin(e){return I("sin")}cos(e){return I("cos")}tan(e){return I("tan")}asin(e){return I("asin")}acos(e){return I("acos")}atan(e){return I("atan")}atan2(e,t){return I("atan2")}sinh(e){return I("sinh")}cosh(e){return I("cosh")}tanh(e){return I("tanh")}asinh(e){return I("asinh")}acosh(e){return I("acosh")}atanh(e){return I("atanh")}erf(e){return I("erf")}step(e,t){return I("step")}fusedConv2d({input:e,filter:t,convInfo:n,bias:r,activation:i,preluActivationWeights:o}){return I("fusedConv2d")}conv2d(e,t,n){return I("conv2d")}conv2dDerInput(e,t,n){return I("conv2dDerInput")}conv2dDerFilter(e,t,n){return I("conv2dDerFilter")}fusedDepthwiseConv2D({input:e,filter:t,convInfo:n,bias:r,activation:i,preluActivationWeights:o}){return I("fusedDepthwiseConv2D")}depthwiseConv2D(e,t,n){return I("depthwiseConv2D")}depthwiseConv2DDerInput(e,t,n){return I("depthwiseConv2DDerInput")}depthwiseConv2DDerFilter(e,t,n){return I("depthwiseConv2DDerFilter")}conv3d(e,t,n){return I("conv3d")}conv3dDerInput(e,t,n){return I("conv3dDerInput")}conv3dDerFilter(e,t,n){return I("conv3dDerFilter")}maxPool(e,t){return I("maxPool")}maxPoolBackprop(e,t,n,r){return I("maxPoolBackprop")}avgPool(e,t){return I("avgPool")}avgPoolBackprop(e,t,n){return I("avgPoolBackprop")}avgPool3d(e,t){return I("avgPool3d")}avgPool3dBackprop(e,t,n){return I("avgPool3dBackprop")}maxPool3d(e,t){return I("maxPool3d")}maxPool3dBackprop(e,t,n,r){return I("maxPool3dBackprop")}reshape(e,t){return I("reshape")}cast(e,t){return I("cast")}tile(e,t){return I("tile")}pad(e,t,n){return I("pad")}transpose(e,t){return I("transpose")}gather(e,t,n){return I("gather")}gatherND(e,t){return I("gatherND")}scatterND(e,t,n){return I("scatterND")}batchToSpaceND(e,t,n){return I("batchToSpaceND")}spaceToBatchND(e,t,n){return I("spaceToBatchND")}resizeBilinear(e,t,n,r){return I("resizeBilinear")}resizeBilinearBackprop(e,t,n){return I("resizeBilinearBackprop")}resizeNearestNeighbor(e,t,n,r){return I("resizeNearestNeighbor")}resizeNearestNeighborBackprop(e,t,n){return I("resizeNearestNeighborBackprop")}batchNorm(e,t,n,r,i,o){return I("batchNorm")}localResponseNormalization4D(e,t,n,r,i){return I("localResponseNormalization4D")}LRNGrad(e,t,n,r,i,o,a){return I("LRNGrad")}multinomial(e,t,n,r){return I("multinomial")}oneHot(e,t,n,r){return I("oneHot")}cumsum(e,t,n,r){return I("cumsum")}nonMaxSuppression(e,t,n,r,i){return I("nonMaxSuppression")}fft(e){return I("fft")}ifft(e){return I("ifft")}complex(e,t){return I("complex")}real(e){return I("real")}imag(e){return I("imag")}cropAndResize(e,t,n,r,i,o){return I("cropAndResize")}depthToSpace(e,t,n){return I("depthToSpace")}split(e,t,n){return I("split")}sparseToDense(e,t,n,r){return I("sparseToDense")}diag(e){return I("diag")}fill(e,t,n){return I("fill")}onesLike(e){return I("onesLike")}zerosLike(e){return I("zerosLike")}linspace(e,t,n){return I("linspace")}dispose(){return I("dispose")}}function I(e){throw new Error(`'${e}' not yet implemented or not found in the registry. Did you forget to import the kernel?`)}const Ox={kernelName:Mi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,vt(R(n,"float32"),-1))}}};const kx={kernelName:Ui,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=G(R(n,"float32")),i=le(D(k(1),r));return Q(M(e,i))}}}};const Dx={kernelName:Wi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=le(D(G(R(n,"float32")),1));return M(e,r)}}}};const Fx={kernelName:Jn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{let s=e;const c=ie(n.shape,i);return c.length>0&&(s=U(s,c)),x(s,n.shape)},a=()=>{let s=e;const c=ie(r.shape,i);return c.length>0&&(s=U(s,c)),x(s,r.shape)};return{a:o,b:a}}};const Mx={kernelName:qi,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((r,i)=>{n[i]=()=>e.clone()}),n}};const Ux={kernelName:Bi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>W(n)}}};const Wx={kernelName:Pi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>W(n)}}};const qx={kernelName:ji,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,le(D(k(1),G(R(n,"float32")))))}}};const Bx={kernelName:Gi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=le(O(k(1),G(R(n,"float32"))));return M(e,r)}}}};const Px={kernelName:Yi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{const s=O(G(n),G(r));let c=v(e,M(r,s));const p=ie(n.shape,i);return p.length>0&&(c=U(c,p)),x(c,n.shape)},a=()=>{const s=O(G(n),G(r));let c=Q(v(e,M(n,s)));const p=ie(r.shape,i);return p.length>0&&(c=U(c,p)),x(c,r.shape)};return{a:o,b:a}}};const jx={kernelName:$i,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,O(G(R(n,"float32")),1))}}};const Gx={kernelName:Hi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,D(k(1),G(R(n,"float32"))))}}};function bk(e,t,n,r,i=[1,1,1],o,a){const s=h(e,"dy","avgPool3dBackprop"),c=h(t,"input","avgPool3dBackprop");let p=s,l=c,u=!1;c.rank===4&&(u=!0,p=x(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]]),l=x(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]])),f(p.rank===5,()=>`Error in avgPool3dBackprop: dy must be rank 5 but got rank ${p.rank}.`),f(l.rank===5,()=>`Error in avgPool3dBackprop: input must be rank 5 but got rank ${l.rank}.`),f(ae(r,i),()=>`Error in avgPool3dBackprop: Either strides or dilations must be 1. Got strides ${r} and dilations '${i}'`),a!=null&&f(J(o),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const m=L=>{const T=on(l.shape,n,r,i,o,a);return L.avgPool3dBackprop(p,l,T)},b={dy:p,input:l},y={filterSize:n,strides:r,dilations:i,pad:o,dimRoundingMode:a},w=g.runKernelFunc(m,b,null,Pu,y);return u?x(w,[w.shape[1],w.shape[2],w.shape[3],w.shape[4]]):w}const $x=d({avgPool3dBackprop_:bk});const Hx={kernelName:Vi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:i,strides:o,dilations:a,pad:s,dimRoundingMode:c}=n,p=a==null?[1,1,1]:a;return{x:()=>$x(e,r,i,o,p,s,c)}}};function wk(e,t,n,r,i){const o=h(e,"dy","avgPoolBackprop"),a=h(t,"input","avgPoolBackprop");f(a.rank===o.rank,()=>`Rank of input (${a.rank}) does not match rank of dy (${o.rank})`);let s=a,c=o,p=!1;a.rank===3&&(p=!0,s=x(a,[1,a.shape[0],a.shape[1],a.shape[2]]),c=x(o,[1,o.shape[0],o.shape[1],o.shape[2]])),f(c.rank===4,()=>`Error in avgPoolBackprop: dy must be rank 4 but got rank ${c.rank}.`),f(s.rank===4,()=>`Error in avgPoolBackprop: input must be rank 4 but got rank ${s.rank}.`);const l=y=>{const w=Ct(s.shape,n,r,1,i);return y.avgPoolBackprop(c,s,w)},u={dy:c,input:s},m={filterSize:n,strides:r,pad:i},b=g.runKernelFunc(l,u,null,Bu,m);return p?x(b,[b.shape[1],b.shape[2],b.shape[3]]):b}const Yx=d({avgPoolBackprop_:wk});const zx={kernelName:zi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:i,strides:o,pad:a}=n;return{x:()=>Yx(e,r,i,o,a)}}};const Vx={kernelName:Ki,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[r,i]=t,{transposeA:o,transposeB:a}=n;return!o&&!a?{a:()=>K(e,i,!1,!0),b:()=>K(r,e,!0,!1)}:!o&&a?{a:()=>K(e,i,!1,!1),b:()=>K(e,r,!0,!1)}:o&&!a?{a:()=>K(i,e,!1,!0),b:()=>K(r,e,!1,!1)}:{a:()=>K(i,e,!0,!0),b:()=>K(e,r,!0,!0)}}};const Kx={kernelName:Ji,gradFunc:(e,t,n)=>{const{blockShape:r,crops:i}=n;return{x:()=>Un(e,r,i)}}};const Jx={kernelName:Xi,gradFunc:(e,t,n)=>{const r=n,i=r.inputShape,o=r.shape,a=Array.from(o);for(let c=i.length-1;c>=0;c--)if(i[c]===o[c])a[c]=1;else if(i[c]!==1)throw new Error(`broadcastTo(): [${i}] cannot be broadcast to [${o}].`);const s=[];for(let c=0;c1&&s.push(c);return{x:()=>U(e,s,!0)}}};const Xx={kernelName:Xn,gradFunc:e=>({x:()=>e.clone()})};const Zx={kernelName:Zi,gradFunc:e=>({x:()=>W(e)})};const Qx={kernelName:Qi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{clipValueMin:i,clipValueMax:o}=n;return{x:()=>Ae(ft(ct(r,i),at(r,o)),e,W(e))}}};const eL={kernelName:eo,saveAllInputs:!0,gradFunc:(e,t,n)=>{const r=t.map(c=>c.shape),{axis:i}=n,o=z(i,t[0].shape)[0],a=r.map(c=>c[o]),s=Ot(e,a,o);return s.map(c=>()=>c)}};const tL={kernelName:to,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,i]=t,{dilations:o,strides:a,pad:s,dataFormat:c}=n;return f(ut(o),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${o}'`),{x:()=>ai(r.shape,e,i,a,s,c),filter:()=>ci(r,e,i.shape,a,s,c)}}};const nL={kernelName:no,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[r,i]=t,{strides:o,pad:a,dataFormat:s,dimRoundingMode:c}=n;return{dy:()=>It(e,i,o,a,s,1,c),filter:()=>ci(e,r,i.shape,o,a,s,c)}}};function yk(e,t,n,r,i){let o=e;e.rank===4&&(o=x(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let a=t;a.rank===4&&(a=x(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),f(o.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${o.shape}.`),f(a.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`),f(n.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),f(o.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${o.shape[4]}) must match input depth in filter (${n[3]}.`),f(a.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${n[4]}).`);const s=l=>{const u=1,m=Tn(o.shape,n,r,u,i);return l.conv3dDerFilter(o,a,m)},c={x:o,y:a},p={strides:r,pad:i};return g.runKernelFunc(s,c,null,$u,p)}const rL=d({conv3DBackpropFilter_:yk});const iL={kernelName:ro,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:i,pad:o}=n;f(ut(r),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`);const[a,s]=t;return{x:()=>Fp(a.shape,e,s,i,o),filter:()=>rL(a,e,s.shape,i,o)}}};const oL={kernelName:io,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(Q(wi(R(n,"float32"))),e)}}};const sL={kernelName:oo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(bi(R(n,"float32")),e)}}};const aL={kernelName:so,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:i,exclusive:o,reverse:a}=n;return{x:()=>{const s=he([i],r.rank);let c=Oi(e,i,o,!a);return s!=null&&(c=X(c,s)),c}}}};const cL={kernelName:ao,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:i,pad:o,dimRoundingMode:a}=n,s=r==null?[1,1]:r;f(ut(s),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);const[c,p]=t;f(c.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${p.rank}.`),f(c.shape[3]===p.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${c.shape[3]}) must match the inChannels dimension in filter ${p.shape[2]}.`),f(ae(i,s),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${s}'.`),a!=null&&f(J(o),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const l=We(c.shape,p.shape,i,s,o,a,!0);return{x:()=>jp(c.shape,e,p,l),filter:()=>Pp(c,e,p.shape,l)}}};const pL={kernelName:co,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,i]=t,o={x:r,filter:i,dy:e},a={x:r,filter:i,dy:e};return{x:()=>g.runKernel(Xu,o,n),filter:()=>g.runKernel(Zu,a,n)}}};const lL={kernelName:po,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{const s=M(e,R(r,"float32")),c=ie(n.shape,i);return c.length>0?x(U(s,c),n.shape):s},a=()=>{let s=v(e,R(n,"float32"));const c=ie(r.shape,i);c.length>0&&(s=x(U(s,c),r.shape));const p=G(r);return Q(M(s,R(p,"float32")))};return{a:o,b:a}}};const uL={kernelName:lo,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,r=o=>o.eluDer(e,n),i={dy:e,y:n};return{x:()=>g.runKernelFunc(r,i,null,Qu)}}};const hL={kernelName:uo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=v(Ne(Q(G(n))),2/Math.sqrt(Math.PI));return{x:()=>v(e,r)}}};const dL={kernelName:ho,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,n)}}};const mL={kernelName:mo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,Ne(n))}}};const fL={kernelName:fo,gradFunc:e=>({x:()=>W(e)})};const gL={kernelName:go,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{const s=M(e,R(r,"float32")),c=ie(n.shape,i);return c.length>0?x(U(s,c),n.shape):s},a=()=>{let s=v(e,R(n,"float32"));const c=ie(r.shape,i);c.length>0&&(s=x(U(s,c),r.shape));const p=G(r);return Q(M(s,R(p,"float32")))};return{a:o,b:a}}};const bL={kernelName:bo,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:r}=n,[i,o,a,s]=t,c=s==null?k(1):s,p=ie(o.shape,i.shape),l=[];if(o.rank===1){for(let N=0;No.rank===1?x(v(v(e,Ht(x(b,[1,1,1,o.shape[0]]),l)),c),i.shape):x(v(v(e,b),c),i.shape),L=()=>{let N=v(v(b,k(-1)),m);return o.rank===1&&(N=U(N,p)),x(N,o.shape)},T=()=>{let N=v(v(y,u),m);return o.rank===1&&(N=U(N,p)),x(N,o.shape)},A=()=>{const N=v(u,b);let C=v(e,N);return o.rank===1&&(C=U(C,p)),x(C,o.shape)},_=()=>{let N=e;return o.rank===1&&(N=U(N,p)),x(N,o.shape)};return{x:w,mean:L,variance:T,scale:A,offset:_}}};const xL={kernelName:wo,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[r,i]=t,{axis:o}=n,a=z(o,r.shape)[0],s=()=>{const c=r.shape,p=i.size,l=c.slice(0,a),u=l.length,m=c.slice(o,c.length).slice(1),b=m.length,y=wL(0,u),w=wL(u+1,u+1+b),L=yL([l,[p],m]),T=x(e,L),A=x(i,[p]),_=yL([[u],y,w]),N=X(T,_);let C=mi(N,A,r.shape[a]);const F=pr(_);return C=X(C,F),C};return{x:s,indices:()=>i}}};function wL(e,t){const n=[];for(let r=e;r{const[n,r]=t;return{a:()=>W(n),b:()=>W(r)}}};const vL={kernelName:xo,gradFunc:e=>({x:()=>R(e,"float32")})};const SL={kernelName:Lo,gradFunc:e=>({x:()=>W(e)})};const TL={kernelName:vo,gradFunc:e=>({x:()=>W(e)})};const IL={kernelName:So,gradFunc:e=>({x:()=>W(e)})};const AL={kernelName:Io,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,O(n,1))}}};const NL={kernelName:To,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,R(n,"float32"))}}};const _L={kernelName:Ao,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{axis:i}=n;return{logits:()=>{const o=!0,a=Ne(r);return D(e,v(U(e,i,o),a))}}}};function xk(e,t,n,r=5,i=1,o=1,a=.5){const s=l=>l.LRNGrad(n,e,t,r,i,o,a),c={x:e,y:t,dy:n},p={depthRadius:r,bias:i,alpha:o,beta:a};return g.runKernelFunc(s,c,null,mh,p)}const RL=d({localResponseNormalizationBackprop_:xk});const CL={kernelName:No,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,i]=t,{depthRadius:o,bias:a,alpha:s,beta:c}=n;return{x:()=>RL(r,i,e,o,a,s,c)}}};function Jp(e,t,n,r,i){return t.rank{const o=v(e,R(Kt(n,t),e.dtype));return i==null?o:X(o,i)}}}const sf={kernelName:_o,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{reductionIndices:i}=r,[o,a]=t,s=z(i,o.shape),c=he(s,o.rank),p=Jp(e,a,o,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=X(l)),l}}}};const EL={kernelName:Ro,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=()=>v(e,R(ct(n,r),"float32")),o=()=>v(e,R(jn(n,r),"float32"));return{a:i,b:o}}};function Lk(e,t,n,r,i,o=[1,1,1],a,s){const c=h(e,"dy","maxPool3dBackprop"),p=h(t,"input","maxPool3dBackprop"),l=h(n,"output","maxPool3dBackprop");let u=c,m=p,b=l,y=!1;p.rank===4&&(y=!0,u=x(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]]),m=x(p,[1,p.shape[0],p.shape[1],p.shape[2],p.shape[3]]),b=x(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]])),f(u.rank===5,()=>`Error in maxPool3dBackprop: dy must be rank 5 but got rank ${u.rank}.`),f(m.rank===5,()=>`Error in maxPool3dBackprop: input must be rank 5 but got rank ${m.rank}.`),f(b.rank===5,()=>`Error in maxPool3dBackprop: output must be rank 5 but got rank ${b.rank}.`),f(ae(i,o),()=>`Error in maxPool3dBackprop: Either strides or dilations must be 1. Got strides ${i} and dilations '${o}'`),s!=null&&f(J(a),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${s} but got pad ${a}.`);const w=_=>{const N=on(m.shape,r,i,o,a,s);return _.maxPool3dBackprop(u,m,b,N)},L={dy:u,input:m,output:b},T={filterSize:r,strides:i,dilations:o,pad:a,dimRoundingMode:s},A=g.runKernelFunc(w,L,null,gh,T);return y?x(A,[A.shape[1],A.shape[2],A.shape[3],A.shape[4]]):A}const OL=d({maxPool3dBackprop_:Lk});const kL={kernelName:Eo,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,i]=t,{filterSize:o,strides:a,dilations:s,pad:c,dimRoundingMode:p}=n,l=s==null?[1,1,1]:s;return{x:()=>OL(e,r,i,o,a,l,c,p)}}};function vk(e,t,n,r,i,o,a){const s=h(e,"dy","maxPoolBackprop"),c=h(t,"input","maxPoolBackprop"),p=h(n,"output","maxPoolBackprop");f(c.rank===s.rank,()=>`Rank of input (${c.rank}) does not match rank of dy (${s.rank})`),f(s.rank===4,()=>`Error in maxPoolBackprop: dy must be rank 4 but got rank ${s.rank}.`),f(c.rank===4,()=>`Error in maxPoolBackprop: input must be rank 4 but got rank ${c.rank}.`),a!=null&&f(J(o),()=>`Error in maxPoolBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const l=b=>{const y=Ct(c.shape,r,i,1,o,a);return b.maxPoolBackprop(s,c,p,y)},u={dy:s,input:c,output:p},m={filterSize:r,strides:i,pad:o,dimRoundingMode:a};return g.runKernelFunc(l,u,null,fh,m)}const DL=d({maxPoolBackprop_:vk});const FL={kernelName:Co,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,i]=t,{filterSize:o,strides:a,pad:s}=n;return{x:()=>DL(e,r,i,o,a,s)}}};const ML={kernelName:Oo,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{axis:i}=r,[o,a]=t,s=z(i,o.shape),c=he(s,o.rank),p=Jp(e,a,o,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=X(l)),l}}}};const UL={kernelName:ko,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=()=>v(e,R(at(n,r),"float32")),o=()=>v(e,R(Ve(n,r),"float32"));return{a:i,b:o}}};const WL={kernelName:Do,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{const s=ie(n.shape,i);return s.length>0?x(U(e,s),n.shape):e},a=()=>{const s=v(e,Q($n(M(n,r)))),c=ie(r.shape,i);return c.length>0?x(U(s,c),r.shape):s};return{a:o,b:a}}};const qL={kernelName:Fo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{const s=v(e,R(r,"float32")),c=ie(n.shape,i);return c.length>0?x(U(s,c),n.shape):s},a=()=>{const s=v(e,R(n,"float32")),c=ie(r.shape,i);return c.length>0?x(U(s,c),r.shape):s};return{a:o,b:a}}};const BL={kernelName:Mo,gradFunc:e=>({x:()=>Q(e)})};const PL={kernelName:Wo,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>Ue(n.shape,"float32")}}};const jL={kernelName:Uo,gradFunc:e=>({x:()=>W(e)})};const af={kernelName:qo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:i}=n,o=i.map(a=>a[0]);return{x:()=>Y(e,o,r.shape)}}};const GL={kernelName:Bo,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,r,i]=t,o=n,a=r,s=H(o.shape,a.shape),c=()=>{const l=R(a,"float32");let u=v(e,v(l,je(o,D(l,k(1)))));const m=ie(o.shape,s);return m.length>0&&(u=U(u,m)),x(u,o.shape)},p=()=>{const l=Ve(o,0),u=Ae(l,gt(o),W(o));let m=v(e,v(i,u));const b=ie(a.shape,s);return b.length>0&&(m=U(m,b)),x(m,a.shape)};return{a:c,b:p}}};const $L={kernelName:Po,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,r]=t,i=Ve(n,0);return{x:()=>Ae(i,e,v(e,r)),alpha:()=>{let o=Ae(i,W(e),v(e,n));const a=ie(r.shape,e.shape);return a.length>0&&(o=U(o,a)),x(o,r.shape)}}}};const HL={kernelName:jo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,Q(G(n)))}}};const YL={kernelName:zo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=v(at(n,6),vt(n));return{x:()=>v(e,R(r,"float32"))}}};const zL={kernelName:Go,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,R(vt(n),"float32"))}}};const VL={kernelName:$o,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>x(e,n.shape)}}};const KL={kernelName:Yo,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,i=s=>{const{alignCorners:c}=n;return s.resizeBilinearBackprop(e,r,c)},o={images:r},a=()=>g.runKernelFunc(i,o,null,Ah,n);return{images:a}}};const JL={kernelName:Ho,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,i=s=>{const{alignCorners:c}=n;return s.resizeNearestNeighborBackprop(e,r,c)},o={images:r},a=()=>g.runKernelFunc(i,o,null,Ih,n);return{images:a}}};const XL={kernelName:Vo,gradFunc:(e,t,n)=>{const{dims:r}=n,i=z(r,e.shape);return{x:()=>Pe(e,i)}}};const ZL={kernelName:Ko,gradFunc:e=>({x:()=>W(e)})};const QL={kernelName:Jo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>Q(M(e,v(je(n,1.5),2)))}}};const ev={kernelName:Xo,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>R(W(n),"float32"),t:()=>v(e,R(n,e.dtype)),e:()=>v(e,R(Pn(n),e.dtype))}}};const tv={kernelName:Zo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=Ve(n,k(0)),i=k(rf),o=k(of),a=v(e,o),s=v(v(e,i),Ne(R(n,"float32")));return Ae(r,a,s)}}}};const nv={kernelName:rs,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,v(n,D(k(1),n)))}}};const rv={kernelName:ns,gradFunc:e=>({x:()=>W(e)})};const iv={kernelName:es,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(Vn(R(n,"float32")),e)}}};const ov={kernelName:ts,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(ki(R(n,"float32")),e)}}};const sv={kernelName:Qo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{begin:i,size:o}=n,a=r.shape,[s,c]=Ys(r,i,o),p=[];for(let l=0;lot(e,p)}}};const av={kernelName:ps,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{dim:i}=n,o=!0,a=v(e,r);return{logits:()=>D(a,v(U(a,[i],o),r))}}};const cv={kernelName:is,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,St(n))}}};const cf={kernelName:as,gradFunc:(e,t,n)=>{const{blockShape:r,paddings:i}=n;return{x:()=>Kn(e,r,i)}}};const pf={kernelName:cs,gradFunc:(e,t,n)=>{const{axis:r}=n;return{x:()=>re(e,r)}}};const pv={kernelName:os,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,v(le(R(n,"float32")),2))}}};const lv={kernelName:_h,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,v(R(n,"float32"),2))}}};const uv={kernelName:ls,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=k(2),o=()=>v(e,v(i,D(n,r))),a=()=>v(e,v(i,D(r,n)));return{a:o,b:a}}};const hv={kernelName:ys,gradFunc:e=>({x:()=>W(e)})};const dv={kernelName:us,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,i=H(n.shape,r.shape),o=()=>{let s=e;const c=ie(n.shape,i);return c.length>0&&(s=U(s,c)),x(s,n.shape)},a=()=>{let s=e;const c=ie(r.shape,i);return c.length>0&&(s=U(s,c)),x(Q(s),r.shape)};return{a:o,b:a}}};const mv={kernelName:ss,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,i=r.shape.slice(),{axis:o}=n,a=z(o,r.shape);a.forEach(p=>{i[p]=1});const s=x(e,i),c=v(s,mt(r.shape,"float32"));return{x:()=>c}}};const fv={kernelName:hs,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>M(e,G(Vn(n)))}}};const gv={kernelName:ds,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(D(k(1),G(n)),e)}}};const bv={kernelName:ms,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{reps:i}=n,o=()=>{let a=W(r);if(r.rank===1)for(let s=0;s{const r=n,{perm:i}=r,o=pr(i);return{x:()=>X(e,o)}}};const yv={kernelName:gs,gradFunc:(e,t,n)=>{const r=n,{axis:i}=r;return{value:()=>dt(e,i)}}};const xv={kernelName:bs,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t,r=()=>Sk(e,n);return{x:r}}};function Sk(e,t){const n=Tt(t,W(t)),r=Gn(e,n);let i=ct(t,k(0,"int32"));const o=r.rank-i.rank;for(let s=0;s({x:()=>W(e)})};const Tk=[Ox,kx,Dx,Fx,Mx,Ux,Wx,qx,Bx,Px,jx,Gx,Hx,zx,Vx,Kx,Jx,Xx,Zx,Qx,eL,nL,tL,iL,oL,sL,aL,cL,pL,lL,uL,hL,dL,mL,gL,fL,bL,xL,LL,vL,SL,TL,IL,AL,NL,_L,CL,sf,sf,EL,kL,FL,ML,UL,WL,qL,BL,PL,jL,af,af,GL,$L,HL,YL,zL,VL,KL,JL,XL,ZL,QL,ev,tv,nv,rv,iv,ov,sv,av,cv,cf,cf,pf,pf,pv,uv,lv,hv,dv,mv,fv,gv,bv,wv,yv,xv,Lv];for(const e of Tk)Uu(e);return dy();})(); +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ /** * @license * Copyright 2017 Google LLC. All Rights Reserved. diff --git a/dist/face-api.min.js.map b/dist/face-api.min.js.map index 44e1814..6291c9c 100644 --- a/dist/face-api.min.js.map +++ b/dist/face-api.min.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["node_modules/seedrandom/lib/alea.js", "node_modules/seedrandom/lib/xor128.js", "node_modules/seedrandom/lib/xorwow.js", "node_modules/seedrandom/lib/xorshift7.js", "node_modules/seedrandom/lib/xor4096.js", "node_modules/seedrandom/lib/tychei.js", "disabled:crypto", "node_modules/seedrandom/seedrandom.js", "node_modules/seedrandom/index.js", "build/env/../../src/env/isNodejs.ts", "build/env/types.js", "build/env/../../src/env/index.ts", "build/dom/types.js", "build/dom/../../src/dom/index.ts", "build/tinyYolov2/types.js", "build/tinyYolov2/../../src/tinyYolov2/index.ts", "build/globalApi/types.js", "build/globalApi/../../src/globalApi/index.ts", "build/../src/index.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/environment.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/global_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_names.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/profiler.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tape.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_format.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/types.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/engine.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/device_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/flags.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util_env.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/operation.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/abs.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add_n.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/axis_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reshape.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/all.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/any.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan2.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cast.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/globals.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/basic_lstm_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batch_to_space_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clone.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_to.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/buffer.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ceil.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clip_by_value.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/complex.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cumsum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depth_to_space.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/diag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dilation2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floorDiv.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div_no_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/elu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expand_dims.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expm1.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tile.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/eye.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fill.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reduce_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/segment_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ifft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/imag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/real.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scalar.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/irfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_finite.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_inf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/maximum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/leaky_relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/linspace.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log1p.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/neg.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softplus.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sub.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sum_exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_and.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_not.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_or.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_xor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_with_argmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/minimum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/square.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moments.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multi_rnn_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multinomial.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/not_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/one_hot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/outer_product.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/space_to_batch_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pow.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prelu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/print.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/test_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_gamma.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_uniform.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/range.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reciprocal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu6.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/round.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rsqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/separable_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/setdiff1d_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sign.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squared_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squeeze.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/step.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/strided_slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor5d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor6d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/topk.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/truncated_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unsorted_segment_sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unstack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/variable.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/where_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/boolean_mask.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compare.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/binary_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/norm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moving_average.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/signal_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/in_top_k.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hamming_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hann_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/frame.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/crop_and_resize.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/flip_left_right.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_with_offset.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/nonmax_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/array_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/non_max_suppression_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_bilinear.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_nearest_neighbor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/band_part.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gram_schmidt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/qr.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/loss_ops_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compute_weighted_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/absolute_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosine_distance.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hinge_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/huber_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean_squared_error.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ops.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/base_side_effects.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/types.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/router_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/model_management.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/browser_files.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/progress.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/weights_loader.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/http.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/passthrough.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/confusion_matrix.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/math.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/browser.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/serialization.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/version.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adadelta_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adagrad_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adam_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adamax_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/sgd_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/momentum_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/rmsprop_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer_constructors.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/train.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/browser_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/array_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/log.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/complex_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/split_shared.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/tile_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/topk_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/kernel_impls.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Abs_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Add_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AddN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchMatMul_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchToSpaceND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BroadcastTo_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cast_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Ceil_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ClipByValue_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Concat_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2DBackpropInput_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cumsum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/DepthwiseConv2dNative_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Dilation2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Div_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Elu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Erf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Exp_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Expm1_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Floor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FloorDiv_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FusedBatchNorm_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GatherV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GreaterEqual_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Identity_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsFinite_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsInf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsNan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log1p_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LogSoftmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LRN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/min_max_grad_util.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Max_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Maximum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Min_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Minimum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Mod_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Multiply_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Negate_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OneHot_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OnesLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/PadV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Pow_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Prelu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reciprocal_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu6_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reshape_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeBilinear_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeNearestNeighbor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reverse_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Round_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Rsqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SelectV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Selu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sigmoid_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sign_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Slice_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softplus_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SpaceToBatchND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SplitV_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Square_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SquaredDifference_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Step_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sub_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tile_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Transpose_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Unpack_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/UnsortedSegmentSum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ZerosLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/register_all_gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/index.ts", "build/draw/../../src/draw/drawContour.ts", "build/classes/../../src/classes/Dimensions.ts", "build/utils/../../src/utils/index.ts", "build/classes/../../src/classes/Point.ts", "build/classes/../../src/classes/Box.ts", "build/classes/../../src/classes/BoundingBox.ts", "build/classes/../../src/classes/ObjectDetection.ts", "build/classes/../../src/classes/FaceDetection.ts", "build/ops/../../src/ops/iou.ts", "build/ops/../../src/ops/minBbox.ts", "build/ops/../../src/ops/nonMaxSuppression.ts", "build/ops/../../src/ops/normalize.ts", "build/ops/../../src/ops/padToSquare.ts", "build/ops/../../src/ops/shuffleArray.ts", "build/ops/../../src/ops/index.ts", "build/classes/../../src/classes/Rect.ts", "build/classes/../../src/classes/FaceLandmarks.ts", "build/classes/../../src/classes/FaceLandmarks5.ts", "build/classes/../../src/classes/FaceLandmarks68.ts", "build/classes/../../src/classes/FaceMatch.ts", "build/classes/../../src/classes/LabeledBox.ts", "build/classes/../../src/classes/LabeledFaceDescriptors.ts", "build/classes/../../src/classes/PredictedBox.ts", "build/factories/../../src/factories/WithFaceDetection.ts", "build/env/../../src/env/createBrowserEnv.ts", "build/env/../../src/env/createFileSystem.ts", "build/env/../../src/env/createNodejsEnv.ts", "build/env/../../src/env/isBrowser.ts", "build/dom/../../src/dom/resolveInput.ts", "build/dom/../../src/dom/getContext2dOrThrow.ts", "build/draw/../../src/draw/DrawTextField.ts", "build/draw/../../src/draw/DrawBox.ts", "build/draw/../../src/draw/drawDetections.ts", "build/dom/../../src/dom/isMediaLoaded.ts", "build/dom/../../src/dom/awaitMediaLoaded.ts", "build/dom/../../src/dom/bufferToImage.ts", "build/dom/../../src/dom/getMediaDimensions.ts", "build/dom/../../src/dom/createCanvas.ts", "build/dom/../../src/dom/imageTensorToCanvas.ts", "build/dom/../../src/dom/isMediaElement.ts", "build/dom/../../src/dom/imageToSquare.ts", "build/dom/../../src/dom/NetInput.ts", "build/dom/../../src/dom/toNetInput.ts", "build/dom/../../src/dom/extractFaces.ts", "build/dom/../../src/dom/extractFaceTensors.ts", "build/dom/../../src/dom/fetchOrThrow.ts", "build/dom/../../src/dom/fetchImage.ts", "build/dom/../../src/dom/fetchJson.ts", "build/dom/../../src/dom/fetchNetWeights.ts", "build/common/../../src/common/getModelUris.ts", "build/dom/../../src/dom/loadWeightMap.ts", "build/dom/../../src/dom/matchDimensions.ts", "build/../src/NeuralNetwork.ts", "build/common/../../src/common/depthwiseSeparableConv.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/denseBlock.ts", "build/common/../../src/common/convLayer.ts", "build/common/../../src/common/disposeUnusedWeightTensors.ts", "build/common/../../src/common/extractConvParamsFactory.ts", "build/common/../../src/common/extractFCParamsFactory.ts", "build/common/../../src/common/types.ts", "build/common/../../src/common/extractSeparableConvParamsFactory.ts", "build/common/../../src/common/extractWeightEntryFactory.ts", "build/common/../../src/common/extractWeightsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractorsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParams.ts", "build/common/../../src/common/loadConvParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/loadParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "build/common/../../src/common/fullyConnectedLayer.ts", "build/faceProcessor/../../src/faceProcessor/extractParams.ts", "build/faceProcessor/../../src/faceProcessor/extractParamsFromWeigthMap.ts", "build/faceProcessor/../../src/faceProcessor/util.ts", "build/faceProcessor/../../src/faceProcessor/FaceProcessor.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressions.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressionNet.ts", "build/factories/../../src/factories/WithFaceExpressions.ts", "build/draw/../../src/draw/drawFaceExpressions.ts", "build/factories/../../src/factories/WithFaceLandmarks.ts", "build/draw/../../src/draw/DrawFaceLandmarks.ts", "build/draw/../../src/draw/index.ts", "build/xception/../../src/xception/extractParams.ts", "build/xception/../../src/xception/extractParamsFromWeigthMap.ts", "build/xception/../../src/xception/TinyXception.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParams.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParamsFromWeigthMap.ts", "build/ageGenderNet/../../src/ageGenderNet/types.ts", "build/ageGenderNet/../../src/ageGenderNet/AgeGenderNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68Net.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/index.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/scaleLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/convLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParams.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/residualLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/FaceRecognitionNet.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/index.ts", "build/factories/../../src/factories/WithFaceDescriptor.ts", "build/factories/../../src/factories/WithAge.ts", "build/factories/../../src/factories/WithGender.ts", "build/globalApi/../../src/globalApi/ComposableTask.ts", "build/globalApi/../../src/globalApi/extractFacesAndComputeResults.ts", "build/tinyYolov2/../../src/tinyYolov2/config.ts", "build/tinyYolov2/../../src/tinyYolov2/leaky.ts", "build/tinyYolov2/../../src/tinyYolov2/convWithBatchNorm.ts", "build/tinyYolov2/../../src/tinyYolov2/depthwiseSeparableConv.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParams.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParamsFromWeigthMap.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Options.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Base.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/const.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetector.ts", "build/tinyYolov2/../../src/tinyYolov2/const.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2.ts", "build/globalApi/../../src/globalApi/nets.ts", "build/globalApi/../../src/globalApi/PredictFaceExpressionsTask.ts", "build/globalApi/../../src/globalApi/PredictAgeAndGenderTask.ts", "build/globalApi/../../src/globalApi/ComputeFaceDescriptorsTasks.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "build/globalApi/../../src/globalApi/DetectFaceLandmarksTasks.ts", "build/globalApi/../../src/globalApi/DetectFacesTasks.ts", "build/globalApi/../../src/globalApi/detectFaces.ts", "build/../src/euclideanDistance.ts", "build/globalApi/../../src/globalApi/FaceMatcher.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/index.ts", "build/../src/resizeResults.ts"], - "sourcesContent": ["// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", null, "//# sourceMappingURL=types.js.map", null, "//# sourceMappingURL=types.js.map", null, "//# sourceMappingURL=types.js.map", null, "//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], - "mappings": "mdAAA,oBA2BA,AAAC,UAAS,EAAQ,EAAQ,GAE1B,WAAc,GACZ,GAAI,GAAK,KAAM,EAAO,IAEtB,EAAG,KAAO,WACR,GAAI,GAAI,QAAU,EAAG,GAAK,EAAG,EAAI,sBACjC,SAAG,GAAK,EAAG,GACX,EAAG,GAAK,EAAG,GACJ,EAAG,GAAK,EAAK,GAAG,EAAI,EAAI,IAIjC,EAAG,EAAI,EACP,EAAG,GAAK,EAAK,KACb,EAAG,GAAK,EAAK,KACb,EAAG,GAAK,EAAK,KACb,EAAG,IAAM,EAAK,GACd,AAAI,EAAG,GAAK,GAAK,GAAG,IAAM,GAC1B,EAAG,IAAM,EAAK,GACd,AAAI,EAAG,GAAK,GAAK,GAAG,IAAM,GAC1B,EAAG,IAAM,EAAK,GACd,AAAI,EAAG,GAAK,GAAK,GAAG,IAAM,GAC1B,EAAO,KAGT,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EACR,EAAE,GAAK,EAAE,GACT,EAAE,GAAK,EAAE,GACT,EAAE,GAAK,EAAE,GACF,EAGT,WAAc,EAAM,GAClB,GAAI,GAAK,GAAI,GAAK,GACd,EAAQ,GAAQ,EAAK,MACrB,EAAO,EAAG,KACd,SAAK,MAAQ,WAAa,MAAQ,GAAG,OAAS,WAAe,GAC7D,EAAK,OAAS,WACZ,MAAO,KAAU,KAAS,QAAW,GAAK,uBAE5C,EAAK,MAAQ,EACb,AAAI,GACF,CAAI,MAAO,IAAU,UAAU,EAAK,EAAO,GAC3C,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAI,MAErC,EAGT,aACE,GAAI,GAAI,WAEJ,EAAO,SAAS,GAClB,EAAO,EAAK,WACZ,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,KAC/B,GAAK,EAAK,WAAW,GACrB,GAAI,GAAI,mBAAsB,EAC9B,EAAI,IAAM,EACV,GAAK,EACL,GAAK,EACL,EAAI,IAAM,EACV,GAAK,EACL,GAAK,EAAI,WAEX,MAAQ,KAAM,GAAK,uBAGrB,MAAO,GAIT,AAAI,GAAU,EAAO,QACnB,EAAO,QAAU,EACZ,AAAI,GAAU,EAAO,IAC1B,EAAO,WAAa,MAAO,KAE3B,KAAK,KAAO,IAIZ,GACC,MAAO,KAAW,UAAY,GAC9B,MAAO,SAAW,YAAc,UC9GnC,oBAGA,AAAC,UAAS,EAAQ,EAAQ,GAE1B,WAAgB,GACd,GAAI,GAAK,KAAM,EAAU,GAEzB,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,EAGP,EAAG,KAAO,WACR,GAAI,GAAI,EAAG,EAAK,EAAG,GAAK,GACxB,SAAG,EAAI,EAAG,EACV,EAAG,EAAI,EAAG,EACV,EAAG,EAAI,EAAG,EACH,EAAG,GAAM,EAAG,IAAM,GAAM,EAAK,IAAM,GAG5C,AAAI,IAAU,GAAO,GAEnB,EAAG,EAAI,EAGP,GAAW,EAIb,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAS,GAAI,IACvC,EAAG,GAAK,EAAQ,WAAW,GAAK,EAChC,EAAG,OAIP,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACD,EAGT,WAAc,EAAM,GAClB,GAAI,GAAK,GAAI,GAAO,GAChB,EAAQ,GAAQ,EAAK,MACrB,EAAO,WAAa,MAAQ,GAAG,SAAW,GAAK,YACnD,SAAK,OAAS,WACZ,EACE,IAAI,GAAM,EAAG,SAAW,GACpB,EAAO,GAAG,SAAW,GAAK,WAC1B,EAAU,GAAM,GAAQ,IAAK,UAC1B,IAAW,GACpB,MAAO,IAET,EAAK,MAAQ,EAAG,KAChB,EAAK,MAAQ,EACb,AAAI,GACF,CAAI,MAAO,IAAU,UAAU,EAAK,EAAO,GAC3C,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAI,MAErC,EAGT,AAAI,GAAU,EAAO,QACnB,EAAO,QAAU,EACZ,AAAI,GAAU,EAAO,IAC1B,EAAO,WAAa,MAAO,KAE3B,KAAK,OAAS,IAId,GACC,MAAO,KAAW,UAAY,GAC9B,MAAO,SAAW,YAAc,UC7EnC,oBAGA,AAAC,UAAS,EAAQ,EAAQ,GAE1B,WAAgB,GACd,GAAI,GAAK,KAAM,EAAU,GAGzB,EAAG,KAAO,WACR,GAAI,GAAK,EAAG,EAAK,EAAG,IAAM,EAC1B,SAAG,EAAI,EAAG,EAAG,EAAG,EAAI,EAAG,EAAG,EAAG,EAAI,EAAG,EAAG,EAAG,EAAI,EAAG,EACzC,GAAG,EAAK,EAAG,EAAI,OAAS,GAC5B,GAAG,EAAK,EAAG,EAAK,EAAG,GAAK,EAAO,GAAK,GAAK,IAAO,GAGtD,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,EAEP,AAAI,IAAU,GAAO,GAEnB,EAAG,EAAI,EAGP,GAAW,EAIb,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAS,GAAI,IACvC,EAAG,GAAK,EAAQ,WAAW,GAAK,EAChC,AAAI,GAAK,EAAQ,QACf,GAAG,EAAI,EAAG,GAAK,GAAK,EAAG,IAAM,GAE/B,EAAG,OAIP,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACD,EAGT,WAAc,EAAM,GAClB,GAAI,GAAK,GAAI,GAAO,GAChB,EAAQ,GAAQ,EAAK,MACrB,EAAO,WAAa,MAAQ,GAAG,SAAW,GAAK,YACnD,SAAK,OAAS,WACZ,EACE,IAAI,GAAM,EAAG,SAAW,GACpB,EAAO,GAAG,SAAW,GAAK,WAC1B,EAAU,GAAM,GAAQ,IAAK,UAC1B,IAAW,GACpB,MAAO,IAET,EAAK,MAAQ,EAAG,KAChB,EAAK,MAAQ,EACb,AAAI,GACF,CAAI,MAAO,IAAU,UAAU,EAAK,EAAO,GAC3C,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAI,MAErC,EAGT,AAAI,GAAU,EAAO,QACnB,EAAO,QAAU,EACZ,AAAI,GAAU,EAAO,IAC1B,EAAO,WAAa,MAAO,KAE3B,KAAK,OAAS,IAId,GACC,MAAO,KAAW,UAAY,GAC9B,MAAO,SAAW,YAAc,UClFnC,oBAKA,AAAC,UAAS,EAAQ,EAAQ,GAE1B,WAAgB,GACd,GAAI,GAAK,KAGT,EAAG,KAAO,WAER,GAAI,GAAI,EAAG,EAAG,EAAI,EAAG,EAAG,EAAG,EAAG,EAC9B,SAAI,EAAE,GAAI,GAAM,IAAM,EAAI,EAAI,EAAK,GAAK,GACxC,EAAI,EAAG,EAAI,EAAK,GAAI,GAAK,EAAK,IAAM,GACpC,EAAI,EAAG,EAAI,EAAK,GAAI,GAAK,EAAK,IAAM,EACpC,EAAI,EAAG,EAAI,EAAK,GAAI,GAAK,EAAK,GAAK,EACnC,EAAI,EAAG,EAAI,EAAK,GAAI,EAAI,EAAK,GAAK,GAAK,GAAK,EAAK,GAAK,EACtD,EAAE,GAAK,EACP,EAAG,EAAK,EAAI,EAAK,EACV,GAGT,WAAc,EAAI,GAChB,GAAI,GAAG,EAAG,EAAI,GAEd,GAAI,IAAU,GAAO,GAEnB,EAAI,EAAE,GAAK,MAIX,KADA,EAAO,GAAK,EACP,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAE,EAC7B,EAAE,EAAI,GAAM,EAAE,EAAI,IAAM,GACnB,EAAK,WAAW,GAAK,EAAG,EAAI,EAAK,IAAM,GAIhD,KAAO,EAAE,OAAS,GAAG,EAAE,KAAK,GAC5B,IAAK,EAAI,EAAG,EAAI,GAAK,EAAE,KAAO,EAAG,EAAE,EAAE,CAOrC,IANA,AAAI,GAAK,EAAG,EAAI,EAAE,GAAK,GAAS,EAAI,EAAE,GAEtC,EAAG,EAAI,EACP,EAAG,EAAI,EAGF,EAAI,IAAK,EAAI,EAAG,EAAE,EACrB,EAAG,OAIP,EAAK,EAAI,GAGX,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EAAE,QACV,EAAE,EAAI,EAAE,EACD,EAGT,WAAc,EAAM,GAClB,AAAI,GAAQ,MAAM,GAAO,CAAE,GAAI,SAC/B,GAAI,GAAK,GAAI,GAAO,GAChB,EAAQ,GAAQ,EAAK,MACrB,EAAO,WAAa,MAAQ,GAAG,SAAW,GAAK,YACnD,SAAK,OAAS,WACZ,EACE,IAAI,GAAM,EAAG,SAAW,GACpB,EAAO,GAAG,SAAW,GAAK,WAC1B,EAAU,GAAM,GAAQ,IAAK,UAC1B,IAAW,GACpB,MAAO,IAET,EAAK,MAAQ,EAAG,KAChB,EAAK,MAAQ,EACb,AAAI,GACF,CAAI,EAAM,GAAG,EAAK,EAAO,GACzB,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAI,MAErC,EAGT,AAAI,GAAU,EAAO,QACnB,EAAO,QAAU,EACZ,AAAI,GAAU,EAAO,IAC1B,EAAO,WAAa,MAAO,KAE3B,KAAK,UAAY,IAIjB,GACC,MAAO,KAAW,UAAY,GAC9B,MAAO,SAAW,YAAc,UC9FnC,oBAyBA,AAAC,UAAS,EAAQ,EAAQ,GAE1B,WAAgB,GACd,GAAI,GAAK,KAGT,EAAG,KAAO,WACR,GAAI,GAAI,EAAG,EACP,EAAI,EAAG,EAAG,EAAI,EAAG,EAAG,EAAG,EAE3B,SAAG,EAAI,EAAK,EAAI,WAAc,EAE9B,EAAI,EAAG,EAAI,GAAM,KACjB,EAAI,EAAE,EAAM,EAAI,EAAK,KACrB,GAAK,GAAK,GACV,GAAK,GAAK,GACV,GAAK,IAAM,GACX,GAAK,IAAM,GAEX,EAAI,EAAE,GAAK,EAAI,EACf,EAAG,EAAI,EAEC,EAAK,GAAK,IAAM,IAAQ,GAGlC,WAAc,EAAI,GAChB,GAAI,GAAG,EAAG,EAAG,EAAG,EAAG,EAAI,GAAI,EAAQ,IAYnC,IAXA,AAAI,IAAU,GAAO,GAEnB,GAAI,EACJ,EAAO,MAGP,GAAO,EAAO,KACd,EAAI,EACJ,EAAQ,KAAK,IAAI,EAAO,EAAK,SAG1B,EAAI,EAAG,EAAI,IAAK,EAAI,EAAO,EAAE,EAEhC,AAAI,GAAM,IAAK,EAAK,WAAY,GAAI,IAAM,EAAK,SAE/C,AAAI,IAAM,GAAG,GAAI,GACjB,GAAK,GAAK,GACV,GAAK,IAAM,GACX,GAAK,GAAK,EACV,GAAK,IAAM,GACX,AAAI,GAAK,GACP,GAAK,EAAI,WAAc,EACvB,EAAK,EAAE,EAAI,MAAS,EAAI,EACxB,EAAK,AAAK,GAAL,EAAU,EAAI,EAAI,GAW3B,IAPA,AAAI,GAAK,KACP,GAAG,IAAQ,EAAK,QAAU,GAAK,KAAO,IAKxC,EAAI,IACC,EAAI,EAAI,IAAK,EAAI,EAAG,EAAE,EACzB,EAAI,EAAG,EAAI,GAAM,KACjB,EAAI,EAAE,EAAM,EAAI,EAAK,KACrB,GAAK,GAAK,GACV,GAAK,GAAK,GACV,GAAK,IAAM,GACX,GAAK,IAAM,GACX,EAAE,GAAK,EAAI,EAGb,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,EAGT,EAAK,EAAI,GAGX,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EAAE,QACH,EAGT,WAAc,EAAM,GAClB,AAAI,GAAQ,MAAM,GAAO,CAAE,GAAI,SAC/B,GAAI,GAAK,GAAI,GAAO,GAChB,EAAQ,GAAQ,EAAK,MACrB,EAAO,WAAa,MAAQ,GAAG,SAAW,GAAK,YACnD,SAAK,OAAS,WACZ,EACE,IAAI,GAAM,EAAG,SAAW,GACpB,EAAO,GAAG,SAAW,GAAK,WAC1B,EAAU,GAAM,GAAQ,IAAK,UAC1B,IAAW,GACpB,MAAO,IAET,EAAK,MAAQ,EAAG,KAChB,EAAK,MAAQ,EACb,AAAI,GACF,CAAI,EAAM,GAAG,EAAK,EAAO,GACzB,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAI,MAErC,EAGT,AAAI,GAAU,EAAO,QACnB,EAAO,QAAU,EACZ,AAAI,GAAU,EAAO,IAC1B,EAAO,WAAa,MAAO,KAE3B,KAAK,QAAU,IAIf,GACC,MAAO,KAAW,UAAY,GAC9B,MAAO,SAAW,YAAc,UChJnC,oBAIA,AAAC,UAAS,EAAQ,EAAQ,GAE1B,WAAgB,GACd,GAAI,GAAK,KAAM,EAAU,GAGzB,EAAG,KAAO,WACR,GAAI,GAAI,EAAG,EAAG,EAAI,EAAG,EAAG,EAAI,EAAG,EAAG,EAAI,EAAG,EACzC,SAAK,GAAK,GAAO,IAAM,EAAK,EAC5B,EAAK,EAAI,EAAK,EACd,EAAK,GAAK,GAAO,IAAM,EAAK,EAC5B,EAAK,EAAI,EAAK,EACd,EAAG,EAAI,EAAK,GAAK,GAAO,IAAM,GAAM,EACpC,EAAG,EAAI,EAAK,EAAI,EAAK,EACrB,EAAG,EAAK,GAAK,GAAO,IAAM,GAAM,EACzB,EAAG,EAAK,EAAI,EAAK,GAmB1B,EAAG,EAAI,EACP,EAAG,EAAI,EACP,EAAG,EAAI,WAAa,EACpB,EAAG,EAAI,WAEP,AAAI,IAAS,KAAK,MAAM,GAEtB,GAAG,EAAK,EAAO,WAAe,EAC9B,EAAG,EAAI,EAAO,GAGd,GAAW,EAIb,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAS,GAAI,IACvC,EAAG,GAAK,EAAQ,WAAW,GAAK,EAChC,EAAG,OAIP,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACD,EAGT,WAAc,EAAM,GAClB,GAAI,GAAK,GAAI,GAAO,GAChB,EAAQ,GAAQ,EAAK,MACrB,EAAO,WAAa,MAAQ,GAAG,SAAW,GAAK,YACnD,SAAK,OAAS,WACZ,EACE,IAAI,GAAM,EAAG,SAAW,GACpB,EAAO,GAAG,SAAW,GAAK,WAC1B,EAAU,GAAM,GAAQ,IAAK,UAC1B,IAAW,GACpB,MAAO,IAET,EAAK,MAAQ,EAAG,KAChB,EAAK,MAAQ,EACb,AAAI,GACF,CAAI,MAAO,IAAU,UAAU,EAAK,EAAO,GAC3C,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAI,MAErC,EAGT,AAAI,GAAU,EAAO,QACnB,EAAO,QAAU,EACZ,AAAI,GAAU,EAAO,IAC1B,EAAO,WAAa,MAAO,KAE3B,KAAK,OAAS,IAId,GACC,MAAO,KAAW,UAAY,GAC9B,MAAO,SAAW,YAAc,UCnGnC,kBCAA,oBAwBA,AAAC,UAAU,EAAM,GAIjB,GAAI,GAAS,KACT,EAAQ,IACR,EAAS,EACT,EAAS,GACT,EAAU,SACV,EAAa,EAAK,IAAI,EAAO,GAC7B,EAAe,EAAK,IAAI,EAAG,GAC3B,EAAW,EAAe,EAC1B,EAAO,EAAQ,EACf,EAMJ,WAAoB,EAAM,EAAS,GACjC,GAAI,GAAM,GACV,EAAW,GAAW,GAAQ,CAAE,QAAS,IAAU,GAAW,GAG9D,GAAI,GAAY,EAAO,EACrB,EAAQ,QAAU,CAAC,EAAM,EAAS,IACjC,GAAQ,KAAQ,IAAa,EAAM,GAAI,GAGtC,EAAO,GAAI,GAAK,GAIhB,EAAO,WAIT,OAHI,GAAI,EAAK,EAAE,GACX,GAAI,EACJ,GAAI,EACD,EAAI,GACT,EAAK,GAAI,IAAK,EACd,IAAK,EACL,GAAI,EAAK,EAAE,GAEb,KAAO,GAAK,GACV,GAAK,EACL,IAAK,EACL,MAAO,EAET,MAAQ,GAAI,IAAK,IAGnB,SAAK,MAAQ,WAAa,MAAO,GAAK,EAAE,GAAK,GAC7C,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAE,GAAK,YAC7C,EAAK,OAAS,EAGd,EAAO,EAAS,EAAK,GAAI,GAGjB,GAAQ,MAAQ,GACpB,SAAS,EAAM,GAAM,GAAc,IAUjC,MATA,AAAI,KAEF,CAAI,GAAM,GAAK,EAAK,GAAO,GAE3B,EAAK,MAAQ,WAAa,MAAO,GAAK,EAAM,MAK1C,GAAgB,GAAK,GAAW,EAAa,IAIrC,IAElB,EACA,EACA,UAAY,GAAU,EAAQ,OAAU,MAAQ,EAChD,EAAQ,OAEV,EAAK,OAAS,GAAW,EAYzB,WAAc,GACZ,GAAI,GAAG,EAAS,EAAI,OAChB,EAAK,KAAM,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,GAMtD,IAHA,AAAK,GAAU,GAAM,CAAC,MAGf,EAAI,GACT,EAAE,GAAK,IAET,IAAK,EAAI,EAAG,EAAI,EAAO,IACrB,EAAE,GAAK,EAAE,EAAI,EAAQ,EAAI,EAAI,EAAI,GAAW,GAAI,EAAE,KAClD,EAAE,GAAK,EAIT,AAAC,GAAG,EAAI,SAAS,GAIf,OAFI,IAAG,GAAI,EACP,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EACxB,KACL,GAAI,GAAE,GAAI,EAAQ,GAAI,GACtB,GAAI,GAAI,EAAQ,GAAE,EAAS,IAAE,IAAK,GAAE,GAAI,EAAQ,GAAI,KAAQ,IAAE,IAAK,KAErE,SAAG,EAAI,GAAG,EAAG,EAAI,GACV,KAIN,GAOL,WAAc,EAAG,GACf,SAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EAAE,QACH,EAOT,WAAiB,EAAK,GACpB,GAAI,GAAS,GAAI,EAAO,MAAO,GAAM,EACrC,GAAI,GAAS,GAAO,SAClB,IAAK,IAAQ,GACX,IAAM,EAAO,KAAK,EAAQ,EAAI,GAAO,EAAQ,UAAc,IAG/D,MAAQ,GAAO,OAAS,EAAS,GAAO,SAAW,EAAM,EAAM,KAQjE,WAAgB,EAAM,GAEpB,OADI,GAAa,EAAO,GAAI,EAAO,EAAI,EAChC,EAAI,EAAW,QACpB,EAAI,EAAO,GACT,EAAS,IAAS,EAAI,EAAO,GAAK,IAAM,EAAW,WAAW,KAElE,MAAO,GAAS,GAQlB,aACE,IACE,GAAI,GACJ,MAAI,IAAe,GAAM,EAAW,aAElC,EAAM,EAAI,GAEV,GAAM,GAAI,YAAW,GACpB,GAAO,QAAU,EAAO,UAAU,gBAAgB,IAE9C,EAAS,SACT,GACP,GAAI,GAAU,EAAO,UACjB,EAAU,GAAW,EAAQ,QACjC,MAAO,CAAC,CAAC,GAAI,QAAM,EAAQ,EAAS,EAAO,OAAQ,EAAS,KAQhE,WAAkB,GAChB,MAAO,QAAO,aAAa,MAAM,EAAG,GAgBtC,GANA,EAAO,EAAK,SAAU,GAMjB,MAAO,KAAW,UAAY,GAAO,SACxC,GAAO,QAAU,EAEjB,IACE,EAAa,WACN,SACJ,AAAK,OAAO,SAAW,YAAc,OAAO,KACjD,OAAO,WAAa,MAAO,OAK3B,GACA,QCrPF,oBAYA,GAAI,IAAO,KAKP,GAAS,KAKT,GAAS,KAQT,GAAY,KASZ,GAAU,KAOV,GAAS,KAIT,GAAK,KAET,GAAG,KAAO,GACV,GAAG,OAAS,GACZ,GAAG,OAAS,GACZ,GAAG,UAAY,GACf,GAAG,QAAU,GACb,GAAG,OAAS,GAEZ,GAAO,QAAU,KC3DjB,6CAAM,cACJ,MAAO,OAAO,SAAW,UACpB,IACA,MAAO,KAAW,aAGlB,MAAO,UAAY,aAAe,CAAC,CAAC,QAAQ,WCNnD,kBCAA,mCAIA,SAAyB,SA8DzB,KAAc,UA3Dd,GAAI,IAEJ,cACE,GAAI,CAAC,GACH,KAAM,IAAI,OAAM,yEAElB,MAAO,IAGT,YAAgB,GACd,GAAc,EAGhB,cAGE,GAAI,KACF,MAAO,IAAO,MAEhB,GAAI,cACF,MAAO,IAAO,MAIlB,YAAqB,GAKnB,GAJA,AAAK,IACH,KAGE,CAAC,GACH,KAAM,IAAI,OAAM,8EAGlB,KAAM,CAAE,SAAS,GAAY,OAAQ,QAAQ,GAAY,OAAU,EACnE,GAAY,OAAS,EACrB,GAAY,MAAQ,EACpB,GAAY,oBAAsB,EAAI,qBAAwB,KAAM,GAAI,MACxE,GAAY,mBAAqB,EAAI,oBAAuB,KAAM,GAAI,MAEtE,GAAY,UAAY,EAAI,WAAa,GAAY,UACrD,GAAY,MAAQ,EAAI,OAAS,GAAY,MAC7C,GAAY,MAAQ,EAAI,OAAS,GAAY,MAC7C,GAAY,SAAW,EAAI,UAAY,GAAY,SAG9C,KAAM,IAAM,CACjB,UACA,UACA,cACA,oBACA,oBACA,mBACA,eACA,aACA,sBAGF,OChEA,kBCAA,oeAoBA,KAAc,YCpBd,kBCAA,2IAKA,KAAc,UAIR,YAA2B,EAAuB,EAA8B,IACpF,KAAM,GAAM,GAAI,IAAW,GAC3B,SAAI,eAAe,GACZ,KCZT,kBCAA,62BAOA,KAAc,YCPd,yoCAaA,KAAc,UACd,KAAc,UAKd,KAAc,UAGd,KAAc,YCtBd,AAoBA,KAAM,IAA4B,YApBlC,SAgDE,YAAmB,GAAA,KAAA,OAAA,EATX,KAAA,MAAe,GACf,KAAA,aAAwD,GAExD,KAAA,SAAkB,GAOxB,KAAK,mBAGP,YAAY,EAAsB,GAChC,AAAI,KAAK,UAAY,MACnB,QAAQ,KACJ,YAAY,KAAK,oEACgB,MAEvC,KAAK,aAAe,EACpB,KAAK,SAAW,EAGlB,aACI,EAAkB,EAClB,GAKF,GAJA,KAAK,aAAa,GAAY,CAAC,eAAc,WAIzC,KAAK,SAAS,IAAa,MAC7B,KAAM,GAAY,KAAK,SAAS,GAChC,QAAQ,KACJ,qCAAqC,MAAa,MACtD,KAAK,IAAI,EAAU,SAIjB,UAAS,GACb,MAAI,KAAY,MAAK,MACZ,KAAK,MAAM,GAGpB,MAAK,MAAM,GAAY,KAAM,MAAK,aAAa,GACxC,KAAK,MAAM,IAGpB,IAAI,GACF,GAAI,IAAY,MAAK,MACnB,MAAO,MAAK,MAAM,GAGpB,KAAM,GAAY,KAAK,aAAa,GACpC,GAAI,YAAqB,SACvB,KAAM,IAAI,OACN,QAAQ,uEAId,YAAK,MAAM,GAAY,EAEhB,KAAK,MAAM,GAGpB,UAAU,GACR,MAAO,MAAK,IAAI,GAGlB,QAAQ,GACN,MAAO,MAAK,IAAI,GAGlB,WACE,MAAO,MAAK,SAGV,YACF,MAAO,MAAK,MAGd,IAAI,EAAkB,GACpB,GAAI,KAAK,aAAa,IAAa,KACjC,KAAM,IAAI,OACN,mBAAmB,oCAEzB,KAAK,MAAM,GAAY,EACvB,AAAI,KAAK,aAAa,GAAU,SAAW,MACzC,KAAK,aAAa,GAAU,QAAQ,GAIhC,aAAa,GACnB,GAAI,KAAK,aAAa,IAAa,KACjC,KAAM,IAAI,OACN,yBAAyB,qCAE/B,MAAO,MAAK,aAAa,GAAU,eAGrC,SAAS,GACP,KAAK,MAAQ,OAAO,OAAO,GAAI,GAGjC,QACE,KAAK,MAAQ,GACb,KAAK,SAAW,GAChB,KAAK,mBAGC,mBACN,GAAI,MAAO,MAAK,QAAW,aACvB,MAAO,MAAK,OAAO,UAAa,aAChC,MAAO,MAAK,OAAO,SAAS,QAAW,YACzC,OAGF,KAAM,GAAY,GAAe,KAAK,OAAO,SAAS,QACtD,GAAI,KAA6B,IAC/B,KAAM,GAAY,EAAU,IAA2B,MAAM,KAC7D,EAAU,QAAQ,IAChB,KAAM,CAAC,EAAK,GAAS,EAAS,MAAM,KACpC,KAAK,SAAS,GAAO,GAAW,EAAK,OAMvC,YAAyB,GAC7B,KAAM,GAAS,GACf,SAAY,QAAQ,8BAA+B,CAAC,KAAM,IACxD,IAAY,EAAQ,EAAE,GAAI,EAAE,IACrB,EAAE,KAAK,OAET,EAGT,YACI,EAAiC,EAAc,GACjD,EAAO,mBAAmB,IAAS,mBAAmB,GAAS,IAGjE,YAAoB,EAAkB,GAEpC,GADA,EAAQ,EAAM,cACV,IAAU,QAAU,IAAU,QAChC,MAAO,KAAU,OACZ,GAAI,GAAG,CAAE,MAAY,EAC1B,MAAO,CAAC,EAEV,KAAM,IAAI,OACN,oCAAoC,cAAkB,MAUtD,cACJ,MAAO,IAGF,GAAI,IAAmB,KACxB,YAA+B,GACnC,GAAM,EC5MR,AAqBA,GAAI,IAEE,cACJ,GAAI,IAAmB,MAErB,GAAI,GACJ,GAAI,MAAQ,SAAY,YACtB,EAAK,eACI,MAAQ,SAAY,YAC7B,EAAK,eACI,MAAQ,UAAa,YAC9B,EAAK,gBACI,MAAQ,OAAU,YAC3B,EAAK,SAEL,MAAM,IAAI,OAAM,kCAElB,GAAkB,EAEpB,MAAO,IAIT,cACE,KAAM,GAAK,KACX,MAAI,GAAG,YAAc,MACnB,GAAG,WAAa,GAAI,QAEf,EAAG,WAUN,YAAuB,EAAa,GACxC,KAAM,GAAY,KAClB,GAAI,EAAU,IAAI,GAChB,MAAO,GAAU,IAAI,GAChB,CACL,KAAM,GAAY,IAClB,SAAU,IAAI,EAAK,GACZ,EAAU,IAAI,ICzClB,KAAM,IAAM,MAGN,GAAO,OAGP,GAAQ,QAGR,GAAM,MAGN,GAAO,OAGP,GAAM,MAON,GAAM,MAON,GAAS,SAMT,GAAS,SAMT,GAAO,OAGP,GAAQ,QAGR,GAAO,OAGP,GAAQ,QAGR,GAAQ,QAGR,GAAU,UASV,GAAkB,kBAQlB,GAAY,YAWZ,GAAoB,oBAUpB,GAAc,cAOd,GAAiB,iBASjB,GAAc,cAOd,GAAO,OAMP,GAAO,OAGP,GAAc,cAOd,GAAU,UAGV,GAAS,SAMT,GAAS,SAUT,GAAuB,uBASvB,GAAsB,sBAUtB,GAAS,SAST,GAAyB,yBAQzB,GAAwB,wBAMxB,GAAM,MAGN,GAAO,OAGP,GAAS,SAQT,GAAgB,gBAShB,GAAe,eAOf,GAAwB,wBAWxB,GACT,sCAIS,GACT,qCAIS,GAAO,OAGP,GAAa,aAQb,GAA0B,0BAI1B,GAA2B,2BAI3B,GAAM,MAGN,GAAM,MAGN,GAAU,UAGV,GAAM,MAGN,GAAQ,QAGR,GAAM,MAGN,GAAQ,QAGR,GAAM,MAGN,GAAO,OAOP,GAAgB,gBAGhB,GAAQ,QAGR,GAAW,WAGX,GAAiB,iBAOjB,GAAW,WAMX,GAAW,WAGX,GAAU,UAGV,GAAe,eAGf,GAAW,WAGX,GAAO,OAGP,GAAO,OAGP,GAAW,WAGX,GAAQ,QAGR,GAAQ,QAGR,GAAO,OAGP,GAAY,YAGZ,GAAW,WAMX,GAAM,MAGN,GAAQ,QAGR,GAAa,aAGb,GAAa,aAGb,GAAY,YAGZ,GAAa,aAMb,GAAM,MASN,GAAc,cASd,GAAM,MAON,GAAU,UAGV,GAAU,UASV,GAAkB,kBAUlB,GAAY,YAWZ,GAAoB,oBAWpB,GAAoB,oBASpB,GAAO,OAOP,GAAM,MAON,GAAU,UAGV,GAAM,MAGN,GAAW,WAGX,GAAS,SAGT,GAAW,WAGX,GAAsB,sBAStB,GAAsB,sBAUtB,GAAsB,sBAUtB,GAAW,WAGX,GAAS,SAQT,GAAQ,QAOR,GAAO,OAGP,GAAM,MAGN,GAAQ,QAGR,GAAO,OAOP,GAAQ,QAQR,GAAO,OAGP,GAAa,aAGb,GAAO,OAGP,GAAU,UAMV,GAAwB,wBAOxB,GAA4B,4BAI5B,GAAiB,iBAOjB,GAAqB,qBAGrB,GAAQ,QAGR,GAAU,UAMV,GAAQ,QAGR,GAAQ,QAGR,GAAY,YAMZ,GAAW,WAGX,GAAO,OAGP,GAAQ,QAMR,GAAM,MAGN,GAAO,OAGP,GAAO,OAGP,GAAU,UAGV,GAAW,WAGX,GAAO,OAGP,GAAM,MAON,GAAiB,iBAOjB,GAAS,SAOT,GAAU,UAMV,GAAoB,oBAGpB,GAAS,SAGT,GAAM,MAGN,GAAgB,gBAOhB,GAAe,eAaf,GAAM,MAGN,GAAO,OAGP,GAAO,OAMP,GAAO,OAOP,GAAY,YAQZ,GAAS,SAMT,GAAqB,qBAOrB,GAAY,YAMZ,GAAO,OAMP,GAAa,aASb,GAAmB,mBAQnB,GAAe,eAef,GAAc,cAgBd,GAAuB,uBCvzBpC,AAuBA,KAAM,IACF,GAAU,iBAAkB,IAAM,GAAI,QACpC,GACF,GAAU,eAAgB,IAAM,GAAI,QAoElC,YACF,EAAoB,GACtB,KAAM,GAAM,GAAQ,EAAY,GAChC,MAAO,IAAe,IAAI,GAOtB,YAAsB,GAC1B,MAAO,IAAa,IAAI,GAGpB,YAA+B,GACnC,KAAM,GAAK,GAAe,UACpB,EAAyB,GAE/B,QACE,KAAM,CAAC,OAAM,SAAS,EAAG,OACzB,GAAI,EACF,MAEF,KAAM,CAAC,EAAK,GAAU,EAChB,CAAC,GAAa,EAAI,MAAM,KAC9B,AAAI,IAAY,GACd,EAAO,KAAK,GAGhB,MAAO,GAcH,YAAyB,GAC7B,KAAM,CAAC,aAAY,eAAe,EAC5B,EAAM,GAAQ,EAAY,GAChC,AAAI,GAAe,IAAI,IACrB,QAAQ,KACJ,eAAe,mBACX,4BAEV,GAAe,IAAI,EAAK,GAWpB,YAA2B,GAC/B,KAAM,CAAC,cAAc,EAErB,AAAI,GAAa,IAAI,IAGnB,CAAI,KAAM,QAAQ,UAChB,QAAQ,KAAK,gCAAgC,OAGjD,GAAa,IAAI,EAAY,GAUzB,YACF,EAAoB,GACtB,KAAM,GAAM,GAAQ,EAAY,GAChC,GAAI,CAAC,GAAe,IAAI,GACtB,KAAM,IAAI,OACN,eAAe,mBACX,wBAEV,GAAe,OAAO,GAIlB,YAA6B,GACjC,GAAI,CAAC,GAAa,IAAI,GACpB,KAAM,IAAI,OACN,iBAAiB,oCAEvB,GAAa,OAAO,GAGtB,YAAiB,EAAoB,GACnC,MAAO,GAAG,KAAe,ICrM3B,khCAkCM,YAAkB,GAEtB,GAAI,GAAU,EAAM,OAChB,EAAO,EACP,EAAQ,EAEZ,KAAO,EAAU,GAEf,EAAS,KAAK,SAAW,EAAW,EAEpC,IAEA,EAAO,EAAM,GACb,EAAM,GAAW,EAAM,GACvB,EAAM,GAAS,EAKb,YAAgB,EAAa,EAAW,GAC5C,MAAO,MAAK,IAAI,EAAK,KAAK,IAAI,EAAG,IAG7B,YAA4B,GAChC,MAAO,GAAM,IAAM,EAAI,EAAM,EAAM,EAG/B,YAAc,GAClB,GAAI,GAAM,EACV,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,IAC9B,GAAO,EAAI,GAEb,MAAO,GAUH,YAAsB,EAAW,GACrC,KAAM,GAAI,KAAK,SACf,MAAQ,GAAI,EAAM,GAAI,GAAK,EAIvB,YAAsB,EAAe,GACzC,GAAI,GAAS,EACb,OAAS,GAAI,EAAG,EAAI,EAAE,OAAQ,KAC5B,KAAM,GAAO,OAAO,EAAE,IAAM,OAAO,EAAE,IACrC,GAAU,EAAO,EAEnB,MAAO,GAiBH,WAAiB,EAAe,GACpC,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,MAAO,IAAQ,SAAW,EAAM,KAI9C,WACF,EAAkB,EAAkB,EAAqB,IAC3D,EACI,GAAY,EAAQ,GACpB,IAAM,EAAqB,WAAW,SAAc,gBAGpD,YAAwB,GAC5B,EACI,GAAK,KACL,IAAM,iEAqBN,YAEF,EAA0B,EAAc,GAAI,EAAiB,IAI/D,GAHA,AAAI,GAAU,MACZ,GAAS,IAEP,MAAM,QAAQ,IAAQ,GAAa,IAAQ,CAAC,EAC9C,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,EAAE,EAChC,GAAQ,EAAI,GAAI,EAAQ,OAG1B,GAAO,KAAK,GAEd,MAAO,GAaH,YAAwB,GAC5B,GAAI,EAAM,SAAW,EAEnB,MAAO,GAET,GAAI,GAAO,EAAM,GACjB,OAAS,GAAI,EAAG,EAAI,EAAM,OAAQ,IAChC,GAAQ,EAAM,GAEhB,MAAO,GAGH,YAAwB,GAC5B,MAAO,GAAM,SAAW,EAGpB,YAAsB,EAAgB,GAC1C,GAAI,IAAO,EACT,MAAO,GAET,GAAI,GAAM,MAAQ,GAAM,KACtB,MAAO,GAGT,GAAI,EAAG,SAAW,EAAG,OACnB,MAAO,GAET,OAAS,GAAI,EAAG,EAAI,EAAG,OAAQ,IAC7B,GAAI,EAAG,KAAO,EAAG,GACf,MAAO,GAGX,MAAO,GAGH,WAAgB,GACpB,MAAO,GAAI,IAAM,EAGb,YAAe,GAEnB,GAAK,KAAa,MAAQ,KAExB,MAAQ,MAAa,KAAK,GAE5B,GAAI,IAAM,SACR,MAAO,GACF,GAAI,IAAM,UACf,MAAO,GACF,CACL,KAAM,GAAM,KAAK,IAAI,EAAI,GACzB,MAAQ,GAAM,GAAM,GAAM,IAIxB,YAA8B,GAClC,KAAM,GAAQ,KAAK,KAAK,KAAK,KAAK,IAClC,MAAO,CAAC,EAAO,KAAK,KAAK,EAAO,IAc5B,YAAgC,GACpC,KAAM,GAAkB,GAAI,aAAY,GACxC,OAAS,GAAI,EAAG,EAAI,EAAG,EAAE,EACvB,EAAgB,GAAK,EAEvB,UAAQ,GACD,EAGH,YAAmB,EAAW,GAClC,MAAI,IAAQ,EAAE,OACL,EAEF,EAAI,IAAI,OAAO,EAAO,EAAE,QAG3B,YACF,EAAwB,EAAU,AAAC,GAAoB,EACvD,GACF,MAAO,IAAI,SAAc,CAAC,EAAS,KACjC,GAAI,GAAW,EAEf,KAAM,GAAQ,KACZ,GAAI,KACF,IACA,OAGF,IAEA,KAAM,GAAc,EAAQ,GAE5B,GAAI,GAAc,MAAQ,GAAY,GACpC,IACA,OAEF,WAAW,EAAO,IAGpB,MAaE,YACF,EAAiB,GACnB,GAAI,GAAY,EACZ,EAAc,GAElB,OAAS,GAAI,EAAG,EAAI,EAAM,OAAQ,EAAE,EAClC,GAAI,EAAM,IAAM,EACd,GAAa,EAAM,WACV,EAAM,KAAO,IACtB,GAAI,IAAgB,GAClB,KAAM,OACF,yDACmB,aAAuB,KAEhD,EAAc,UACL,EAAM,GAAK,EACpB,KAAM,OAAM,gCAAgC,EAAM,aAAa,KAInE,GAAI,IAAgB,IAClB,GAAI,EAAO,GAAK,IAAS,EACvB,KAAM,OAAM,QAAQ,sCAAyC,KAE/D,MAAO,GAGT,GAAI,IAAc,EAChB,KAAM,OACF,qCAAqC,gCAG3C,GAAI,EAAO,IAAc,EACvB,KAAM,OACF,wDACO,OAAU,KAGvB,KAAM,GAAW,EAAM,QACvB,SAAS,GAAe,EAAO,EACxB,EAGH,WACF,EAAuB,GACzB,KAAM,GAAO,EAAM,OAGnB,SAAO,GAAQ,KAAO,EAAM,IAAI,CAAC,EAAG,IAAM,GAAK,GAAG,OAAO,GAGzD,EACI,EAAK,MAAM,GAAM,GAAM,CAAC,GAAQ,EAAK,GACrC,IACI,+CAA+C,MAAS,mBAC5C,KAGpB,EACI,EAAK,MAAM,GAAM,EAAM,IACvB,IAAM,0DACU,KAGb,EAAK,IAAI,GAAK,EAAI,EAAI,EAAO,EAAI,GAIpC,YAAuB,EAAiB,GAE5C,KAAM,GAAqB,GACrB,EAAqB,GACrB,EAAe,GAAQ,MAAQ,MAAM,QAAQ,IAAS,EAAK,SAAW,EACtE,EAAQ,GAAQ,MAAQ,EAC1B,KACA,EAAe,EAAM,GAAO,OAChC,GAAI,GAAI,EACR,OAAS,GAAI,EAAG,EAAI,EAAM,OAAQ,EAAE,GAClC,GAAI,GAAQ,MACV,GAAI,EAAK,KAAO,GAAK,EAAM,KAAO,EAChC,KAAM,IAAI,OACN,sBAAsB,oBAAoB,EAAM,gBAEtD,AAAK,GAAK,IAAM,MAAQ,EAAK,GAAK,IAAM,EAAM,KAAO,GACnD,GAAS,KAAK,EAAM,IACpB,EAAS,KAAK,IAEhB,AAAI,EAAK,IAAM,GACb,IAGJ,AAAI,EAAM,KAAO,GACf,GAAS,KAAK,EAAM,IACpB,EAAS,KAAK,IAGlB,MAAO,CAAC,WAAU,YAGd,YACF,EAAU,GACZ,GAAI,GAAS,KACb,GAAI,GAAS,MAAQ,IAAU,UAC7B,EAAS,GAAI,cAAa,WACjB,IAAU,QACnB,EAAS,GAAI,YAAW,WACf,IAAU,OACnB,EAAS,GAAI,YAAW,OAExB,MAAM,IAAI,OAAM,qBAAqB,KAEvC,MAAO,GAGH,YACF,EAAU,GACZ,GAAI,GAAS,KACb,GAAI,GAAS,MAAQ,IAAU,UAC7B,EAAS,GAAI,cAAa,WACjB,IAAU,QACnB,EAAS,GAAI,YAAW,WACf,IAAU,OACnB,EAAS,GAAI,YAAW,WACf,IAAU,SACnB,EAAS,GAAI,OAAgB,OAE7B,MAAM,IAAI,OAAM,qBAAqB,KAEvC,MAAO,GAGH,YACF,EAA+B,GACjC,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,KAC/B,KAAM,GAAM,EAAK,GACjB,GAAI,MAAM,IAAQ,CAAC,SAAS,GAC1B,KAAM,OAAM,oBAAoB,6BAAiC,OAMjE,YAAuB,GAC3B,MAAO,KAAU,QAAU,IAAU,aAAe,IAAU,WAC1D,IAAU,SAAW,IAAU,SAO/B,YAA0B,EAAmB,GACjD,MAAI,KAAY,aAGZ,KAAY,WAAa,IAAY,aAGrC,IAAY,SAAW,IAAY,WAAa,IAAY,aALvD,GAQL,MAAY,QAAU,IAAY,QAMlC,YAAuB,GAC3B,MAAO,aAAa,eAAgB,YAAa,aAC7C,YAAa,YAGb,YAA0B,GAC9B,GAAI,IAAU,WAAa,IAAU,QACnC,MAAO,GACF,GAAI,IAAU,YACnB,MAAO,GACF,GAAI,IAAU,OACnB,MAAO,GAEP,KAAM,IAAI,OAAM,iBAAiB,KAU/B,YAA+B,GACnC,GAAI,GAAO,KACT,MAAO,GAET,GAAI,GAAQ,EACZ,SAAI,QAAQ,GAAK,GAAS,EAAE,QACrB,EAIH,YAAmB,GACvB,MAAO,OAAO,IAAU,UAAY,YAAiB,QAGjD,YAAoB,GACxB,MAAO,OAAO,IAAU,UAGpB,YAAmB,GACvB,MAAO,OAAO,IAAU,SAGpB,YAAqB,GACzB,MAAI,OAAM,QAAQ,GACT,GAAW,EAAO,IAEvB,YAAkB,cACb,UACE,YAAkB,aAAc,YAAkB,YACpD,QACE,GAAS,GACX,UACE,GAAS,GACX,SACE,GAAU,GACZ,OAEF,UAGH,YAAqB,GACzB,MAAO,CAAC,CAAE,IAAK,EAAE,aAAe,EAAE,MAAQ,EAAE,OAGxC,YAAyB,EAAc,GAC3C,OAAS,GAAI,EAAO,EAAI,EAAM,EAAE,EAC9B,GAAI,EAAO,IAAM,EACf,MAAO,GAGX,MAAO,GAGH,YAAyB,GAC7B,KAAM,GAAO,EAAM,OACnB,GAAI,EAAO,EACT,MAAO,GAKT,KAAM,GAAU,GAAI,OAAM,EAAO,GACjC,EAAQ,EAAO,GAAK,EAAM,EAAO,GACjC,OAAS,GAAI,EAAO,EAAG,GAAK,EAAG,EAAE,EAC/B,EAAQ,GAAK,EAAQ,EAAI,GAAK,EAAM,EAAI,GAE1C,MAAO,GAGH,YAAuB,EAAe,GAC1C,GAAI,IAAU,SACZ,KAAM,IAAI,OAAM,6CASlB,GAPA,AAAI,MAAM,QAAQ,IAChB,GAAI,GAAQ,IAGd,AAAI,KAAM,QAAQ,UAChB,GAAyB,EAAe,GAEtC,GAAmB,EAAG,GACxB,MAAO,GAET,GAAI,GAAS,MAAQ,IAAU,WAAa,IAAU,YACpD,MAAO,IAAI,cAAa,GACnB,GAAI,IAAU,QACnB,MAAO,IAAI,YAAW,GACjB,GAAI,IAAU,QACnB,KAAM,GAAO,GAAI,YAAY,EAAe,QAC5C,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,EAAE,EACjC,AAAI,KAAK,MAAO,EAAe,MAAQ,GACrC,GAAK,GAAK,GAGd,MAAO,OAEP,MAAM,IAAI,OAAM,qBAAqB,KAIzC,YAA2B,EAAgB,EAAiB,GAC1D,KAAM,GAAM,GAAI,SAChB,GAAI,EAAM,SAAW,GACnB,KAAM,GAAI,EAAM,GAChB,OAAS,GAAI,EAAG,EAAI,EAAG,IACrB,EAAI,GAAK,EAAE,EAAS,QAGtB,KAAM,GAAI,EAAM,GACV,EAAO,EAAM,MAAM,GACnB,EAAM,EAAK,OAAO,CAAC,EAAK,IAAM,EAAM,GAC1C,OAAS,GAAI,EAAG,EAAI,EAAG,IACrB,EAAI,GAAK,GAAkB,EAAS,EAAI,EAAK,EAAM,GAGvD,MAAO,GAIH,YAAwB,EAAiB,GAC7C,GAAI,EAAM,SAAW,EAEnB,MAAO,GAAE,GAEX,KAAM,GAAO,EAAM,OAAO,CAAC,EAAK,IAAM,EAAM,GAC5C,GAAI,IAAS,EAEX,MAAO,GAET,GAAI,IAAS,EAAE,OACb,KAAM,IAAI,OAAM,IAAI,oCAAwC,EAAE,WAGhE,MAAO,IAAkB,EAAG,EAAO,GAGrC,YAA4B,EAAe,GACzC,MAAQ,aAAa,eAAgB,IAAU,WAC1C,YAAa,aAAc,IAAU,SACrC,YAAa,aAAc,IAAU,OAGtC,YACF,EAAc,GAChB,KAAM,GAAQ,GAAoB,EAAM,GACxC,OAAS,GAAI,EAAG,EAAI,EAAM,OAAQ,IAChC,EAAM,GAAK,EAEb,MAAO,GAGH,YACF,EAAc,GAChB,GAAI,GAAS,MAAQ,IAAU,WAAa,IAAU,YACpD,MAAO,IAAI,cAAa,GACnB,GAAI,IAAU,QACnB,MAAO,IAAI,YAAW,GACjB,GAAI,IAAU,OACnB,MAAO,IAAI,YAAW,GAEtB,KAAM,IAAI,OAAM,qBAAqB,KASnC,YACF,EAAiB,GACnB,KAAM,GAAO,EAAM,OAAO,CAAC,EAAM,IAAS,EAAO,EAAM,GACvD,GAAI,GAAS,MAAQ,IAAU,UAC7B,MAAO,IAAc,EAAO,GAAI,cAAa,IACxC,GAAI,IAAU,QACnB,MAAO,IAAc,EAAO,GAAI,YAAW,IACtC,GAAI,IAAU,OACnB,MAAO,IAAc,EAAO,GAAI,YAAW,IAE3C,KAAM,IAAI,OAAM,qBAAqB,KAcnC,cACJ,MAAO,MAAM,SAAS,MAGlB,YAA6C,GACjD,EAAM,QAAQ,IACZ,EACI,OAAO,UAAU,IAAY,GAAW,EACxC,IACI,0EACU,SAmBhB,YACF,EAAc,GAChB,MAAO,MAAM,SAAS,MAAM,EAAM,GAW9B,YAAuB,EAAW,EAAW,SACjD,SAAW,GAAY,QAChB,KAAM,SAAS,OAAO,EAAG,GAU5B,YAAuB,EAAmB,EAAW,SACzD,SAAW,GAAY,QAChB,KAAM,SAAS,OAAO,EAAO,GAWhC,YACF,EAAgB,EAAc,GAChC,GAAI,IAAS,EACX,MAAO,GACF,GAAI,IAAS,EAClB,MAAO,GAAK,GAEd,GAAI,GAAQ,EAAK,EAAK,OAAS,GAC/B,OAAS,GAAI,EAAG,EAAI,EAAK,OAAS,EAAG,EAAE,EACrC,GAAS,EAAQ,GAAK,EAAK,GAE7B,MAAO,GAWH,YACF,EAAe,EAAc,GAC/B,GAAI,IAAS,EACX,MAAO,GACF,GAAI,IAAS,EAClB,MAAO,CAAC,GAEV,KAAM,GAAiB,GAAI,OAAM,GACjC,OAAS,GAAI,EAAG,EAAI,EAAK,OAAS,EAAG,EAAE,EACrC,EAAK,GAAK,KAAK,MAAM,EAAQ,EAAQ,IACrC,GAAS,EAAK,GAAK,EAAQ,GAE7B,SAAK,EAAK,OAAS,GAAK,EACjB,ECxwBT,SAgCE,YAAoB,EAAoC,GAApC,KAAA,aAAA,EAAoC,KAAA,OAAA,EACtD,AAAI,GAAU,MACZ,MAAK,OAAS,GAAI,OAItB,cAAc,EAAoB,EAAwB,GAExD,GAAI,GACJ,KAAM,GAAsB,KAC1B,EAAU,KAEN,EAAQ,KAAK,aAAa,KAAK,GAErC,EAAQ,IAAI,IAGV,EAAE,OAAO,KAAK,IACZ,GAA0B,EAAY,EAAE,MAAO,OAInD,KAAM,GAAgB,CACpB,aACA,UACA,SACA,OAAQ,EAAM,KAAK,GAAU,EAAO,UACpC,UAAW,EAAM,KACb,GAAU,EAAO,qBAAuB,KACpC,EAAO,sBACP,KAEV,MAAO,GAGT,iBAAiB,GACf,KAAM,CAAC,aAAY,UAAS,SAAQ,SAAQ,aAAa,EAEzD,EAAQ,QAAQ,IACd,QAAQ,IAAI,CAAC,EAAO,OAAQ,EAAQ,IAAY,KAAK,IACnD,KAAK,OAAO,iBACR,EAAY,EAAQ,EAAe,GAAI,EAAe,GAAI,EAC1D,EAAe,SAMrB,YACF,EAAsB,EAAU,GAClC,GAAI,IAAU,UAEZ,MAAO,GAET,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,KAC/B,KAAM,GAAM,EAAK,GACjB,GAAI,MAAM,IAAQ,CAAC,SAAS,GAE1B,eAAQ,KAAK,SAAS,uBAAyB,MACxC,GAGX,MAAO,GA9FT,SAkGE,iBACI,EAAc,EAAgB,EAC9B,EAAgC,EAChC,GACF,KAAM,GAAO,MAAO,IAAW,SAAW,AAAK,GAAS,GAAG,MAAY,GAC7B,EAAO,MAC3C,EAAa,AAAK,GAAS,EAAM,IACjC,EAAO,EAAO,KACd,EAAO,EAAO,KACd,EAAQ,AAAK,GAAS,EAAO,MAAM,WAAY,IACrD,GAAI,GAAyB,GAE7B,SAAW,KAAQ,IACjB,KAAM,GAAQ,EAAO,GACrB,GAAI,GAAS,MAGX,KAAM,GAAa,EAAM,OAAS,EAAO,MACnC,EAAY,EAAW,OAC7B,GACI,GAAG,MAAS,MAAc,EAAY,EAAI,EAAa,OAI/D,QAAQ,IACJ,KAAK,OAAiB,OAAW,MAAS,OAAY,OAClD,OAA6B,IACjC,mBAAoB,YAAa,aAAc,gBAC/C,eAAgB,qBC9HxB,AA2CM,YACF,EAAkB,EAAc,GAGlC,KAAM,GAA8C,GAC9C,EAA0C,GAChD,OAAS,GAAI,EAAG,EAAI,EAAG,OAAQ,IAC7B,EAAa,EAAG,GAAG,IAAM,GAG3B,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,KAC/B,KAAM,GAAO,EAAK,GACZ,EAAa,EAAK,OACxB,SAAW,KAAa,IACtB,KAAM,GAAQ,EAAW,GAEzB,GAAI,GAAgB,GACpB,OAAS,GAAI,EAAG,EAAI,EAAG,OAAQ,IAC7B,GAAI,EAAa,EAAM,KACrB,EAAK,QAAQ,QAAQ,GAAU,EAAa,EAAO,IAAM,IACzD,EAAgB,GAChB,EAAW,EAAK,IAAM,GACtB,MAIJ,GAAI,EACF,OAMN,KAAM,GAAgD,GACtD,EAAe,EAAE,IAAM,GACvB,KAAM,GAAwC,GAE9C,OAAS,GAAI,EAAK,OAAS,EAAG,GAAK,EAAG,KACpC,KAAM,GAAO,EAAK,GACZ,EAAa,EAAK,OAGxB,OAAS,GAAI,EAAG,EAAI,EAAK,QAAQ,OAAQ,IACvC,GAAI,EAAe,EAAK,QAAQ,GAAG,KACjC,SAAW,KAAa,GACtB,EAAe,EAAW,GAAW,IAAM,GAC3C,EAAS,EAAK,IAAM,GAEtB,OAMN,KAAM,GAA2B,GACjC,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,KAC/B,KAAM,GAAO,EAAK,GAElB,GAAI,EAAW,EAAK,KAAO,EAAS,EAAK,KAEvC,KAAM,GAA8C,GACpD,SAAW,KAAa,GAAK,QAC3B,KAAM,GAAY,EAAK,OAAO,GAC9B,AAAI,EAAa,EAAU,KACzB,GAAa,GAAa,GAK9B,KAAM,GAAa,OAAO,OAAO,GAAI,GACrC,EAAW,OAAS,EACpB,EAAW,QAAU,EAAK,QAE1B,EAAa,KAAK,IAItB,MAAO,GAUH,YACF,EACA,EAA0B,EAC1B,GAEF,OAAS,GAAI,EAAa,OAAS,EAAG,GAAK,EAAG,KAC5C,KAAM,GAAO,EAAa,GAEpB,EAAgB,GAYtB,GAXA,EAAK,QAAQ,QAAQ,IACnB,KAAM,GAAa,EAA6B,EAAE,IAClD,AAAI,GAAc,KAChB,EAAI,KAAK,GAIT,EAAI,KAAK,QAIT,EAAK,UAAY,KACnB,KAAM,IAAI,OACN,4DACO,EAAK,eAIlB,KAAM,GAAiB,EAAK,SAAS,GAErC,SAAW,KAAa,GAAK,QAC3B,GAAI,CAAE,KAAa,IACjB,KAAM,IAAI,OACN,iCAAiC,iCACH,OAAO,KAAK,OAIhD,KAAM,GAAK,EAAK,IAAM,EAAe,MACrC,GAAI,EAAG,QAAU,UACf,KAAM,IAAI,OACN,4BACI,EAAK,qCACN,yCAAiD,EAAG,UAE7D,KAAM,GAAI,EAAK,OAAO,GACtB,GAAI,CAAC,AAAK,GAAY,EAAG,MAAO,EAAE,OAChC,KAAM,IAAI,OACN,4BACI,EAAK,sCACL,iBAAyB,EAAG,wDACL,EAAE,UAGnC,GAAI,EAA6B,EAAE,KAAO,KACxC,EAA6B,EAAE,IAAM,OAErC,KAAM,GAAc,EAA6B,EAAE,IACnD,EAA6B,EAAE,IAAM,EAAI,EAAa,GACtD,EAAY,aC5LpB,AAqBA,KAAM,IAAwB,GAExB,GAA6B,EAE7B,GAAwB,EAExB,YACF,EAA2B,EAAiB,EAC5C,GACF,KAAM,GAAU,GAAe,GACzB,EAAY,GAAwB,EAAM,EAAO,EAAO,GACxD,EAAO,EAAM,OACb,EAAY,GAAkB,EAAM,EAAO,EAAO,EAAS,GAC3D,EAAQ,CAAC,UACf,MAAI,IACF,GAAM,KAAK,YAAY,KACvB,EAAM,KAAK,WAAW,KACtB,EAAM,KAAK,aAAa,MACxB,EAAM,KAAK,cAEb,EAAM,KAAK,EAAU,IAAI,GAAK,OAAS,GAAG,KAAK;IACxC,EAAM,KAAK;GAGpB,YACI,EAA2B,EAAiB,EAC5C,GACF,KAAM,GAAI,GAAc,GAClB,EAAU,EAAQ,EAAQ,OAAS,GACnC,EAAY,GAAI,OAAM,GAAS,KAAK,GACpC,EAAO,EAAM,OACb,EACF,IAAU,YAAc,GAAoB,GAAQ,EAExD,GAAI,EAAO,EACT,OAAS,GAAM,EAAG,EAAM,EAAI,EAAS,KACnC,KAAM,GAAS,EAAM,EACrB,OAAS,GAAI,EAAG,EAAI,EAAS,IAC3B,EAAU,GAAK,KAAK,IAChB,EAAU,GACV,GAAY,EAAe,EAAS,GAAI,EAAG,GAAO,QAI5D,MAAO,GAGT,YACI,EAAqC,EAAa,GACpD,GAAI,GACJ,MAAI,OAAM,QAAQ,GAChB,EAAS,GAAG,WAAW,EAAI,GAAG,QAAQ,UAC/B,WAAW,EAAI,GAAG,QAAQ,QAC5B,AAAI,GAAS,GAClB,EAAS,IAAI,KACR,AAAI,IAAU,OACnB,EAAS,GAAgB,GAEzB,EAAS,WAAW,EAAI,QAAQ,KAAwB,WAGnD,GAAS,EAAQ,GAG1B,YAAyB,GACvB,MAAO,KAAM,EAAI,QAAU,OAG7B,YACI,EAA2B,EAAiB,EAC5C,EAAmB,EAAqB,EAAS,IACnD,KAAM,GAAoB,IAAU,YAAc,EAAI,EAEhD,EAAO,EAAM,GACb,EAAO,EAAM,OACnB,GAAI,IAAS,GACX,GAAI,IAAU,aACZ,KAAM,GAAe,GAAoB,GACzC,MAAO,CAAC,GAAY,EAAa,GAAI,EAAG,IAE1C,MAAI,KAAU,OACL,CAAC,GAAgB,EAAK,KAExB,CAAC,EAAK,GAAG,YAGlB,GAAI,IAAS,GACX,GAAI,EAAO,IACT,KAAM,GAAgB,GAA6B,EAEnD,GAAI,GAAY,MAAM,KAClB,EAAK,MAAM,EAAG,IACd,EAAW,MAAM,KAAqC,EAAK,MAC1D,GAAO,IAA8B,EACtC,EAAO,IACX,MAAI,KAAU,aACZ,GAAY,GAAoB,GAChC,EAAW,GAAoB,IAE1B,CACL,IACA,EAAU,IAAI,CAAC,EAAG,IAAM,GAAY,EAAG,EAAU,GAAI,IAChD,KAAK,MACV,UACA,EACK,IACG,CAAC,EAAG,IAAM,GACN,EAAG,EAAU,EAAO,GAA6B,GAAI,IAC5D,KAAK,MACV,KAGJ,KAAM,GACF,IAAU,YAAc,GAAoB,GACpB,MAAM,KAAoB,GAEtD,MAAO,CACL,IACA,EAAY,IAAI,CAAC,EAAG,IAAM,GAAY,EAAG,EAAU,GAAI,IAClD,KAAK,MACV,KAKJ,KAAM,GAAW,EAAM,MAAM,GACvB,EAAa,EAAQ,MAAM,GAC3B,EAAS,EAAQ,GAAK,EACtB,EAAkB,GACxB,GAAI,EAAO,IACT,OAAS,GAAI,EAAG,EAAI,GAA4B,KAC9C,KAAM,GAAQ,EAAI,EACZ,EAAM,EAAQ,EACpB,EAAM,KAAK,GAAG,GACV,EAAK,MAAM,EAAO,GAAM,EAAU,EAAO,EAAY,EACrD,KAEN,EAAM,KAAK,OACX,OAAS,GAAI,EAAO,GAA4B,EAAI,EAAM,KACxD,KAAM,GAAQ,EAAI,EACZ,EAAM,EAAQ,EACpB,EAAM,KAAK,GAAG,GACV,EAAK,MAAM,EAAO,GAAM,EAAU,EAAO,EAAY,EACrD,IAAM,EAAO,SAGnB,QAAS,GAAI,EAAG,EAAI,EAAM,KACxB,KAAM,GAAQ,EAAI,EACZ,EAAM,EAAQ,EACpB,EAAM,KAAK,GAAG,GACV,EAAK,MAAM,EAAO,GAAM,EAAU,EAAO,EAAY,EACrD,IAAM,EAAO,IAGrB,KAAM,GAAM,IAAS,EAAI,IAAM,GAC/B,EAAM,GAAK,IAAM,EAAM,GAAK,EAC5B,OAAS,GAAI,EAAG,EAAI,EAAM,OAAS,EAAG,IACpC,EAAM,GAAK,IAAM,EAAM,GAAK,EAE9B,GAAI,GAAa;EACjB,OAAS,GAAI,EAAG,EAAI,EAAM,IACxB,GAAc;EAEhB,SAAM,EAAM,OAAS,GACjB,IAAM,EAAM,EAAM,OAAS,GAAK,IAAO,GAAS,GAAK,GAClD,EAGT,YAA6B,GAE3B,KAAM,GAAyC,GAC/C,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EACpC,EAAc,KAAK,CAAC,EAAK,GAAI,EAAK,EAAI,KAExC,MAAO,GCnMT,SA4CE,YAAY,EAA2B,EAAU,GAI/C,GAJqC,KAAA,MAAA,EACrC,KAAK,MAAQ,EAAM,QACnB,KAAK,KAAO,AAAK,GAAc,GAE3B,GAAU,MACZ,KAAM,GAAI,EAAO,OACjB,AAAK,EACD,IAAM,KAAK,KACX,IAAM,qBAAqB,qDACG,KAAK,UAEzC,GAAI,IAAU,YACZ,KAAM,IAAI,OACN,8JAIN,KAAK,OAAS,GAAU,AAAK,GAAkB,EAAO,KAAK,MAC3D,KAAK,QAAU,GAAe,GAUhC,IAAI,KAA6B,GAC/B,AAAI,EAAK,SAAW,GAClB,GAAO,CAAC,IAEV,AAAK,EACD,EAAK,SAAW,KAAK,KACrB,IAAM,uCAAuC,EAAK,gCAC3B,KAAK,SAEhC,KAAM,GAAQ,KAAK,WAAW,GAC9B,KAAK,OAAO,GAAS,EASvB,OAAO,GACL,AAAI,EAAK,SAAW,GAClB,GAAO,CAAC,IAEV,GAAI,GAAI,EACR,SAAW,KAAO,IAChB,GAAI,EAAM,GAAK,GAAO,KAAK,MAAM,IAC/B,KAAM,GAAM,qCAAqC,qBAC3B,KAAK,QAC3B,KAAM,IAAI,OAAM,GAElB,IAEF,GAAI,GAAQ,EAAK,EAAK,OAAS,GAC/B,OAAS,GAAI,EAAG,EAAI,EAAK,OAAS,EAAG,EAAE,EACrC,GAAS,KAAK,QAAQ,GAAK,EAAK,GAElC,MAAO,MAAK,OAAO,GAGrB,WAAW,GACT,GAAI,KAAK,OAAS,EAChB,MAAO,GACF,GAAI,KAAK,OAAS,EACvB,MAAO,GAAK,GAEd,GAAI,GAAQ,EAAK,EAAK,OAAS,GAC/B,OAAS,GAAI,EAAG,EAAI,EAAK,OAAS,EAAG,EAAE,EACrC,GAAS,KAAK,QAAQ,GAAK,EAAK,GAElC,MAAO,GAGT,WAAW,GACT,GAAI,KAAK,OAAS,EAChB,MAAO,GACF,GAAI,KAAK,OAAS,EACvB,MAAO,CAAC,GAEV,KAAM,GAAiB,GAAI,OAAM,KAAK,MAAM,QAC5C,OAAS,GAAI,EAAG,EAAI,EAAK,OAAS,EAAG,EAAE,EACrC,EAAK,GAAK,KAAK,MAAM,EAAQ,KAAK,QAAQ,IAC1C,GAAS,EAAK,GAAK,KAAK,QAAQ,GAElC,SAAK,EAAK,OAAS,GAAK,EACjB,KAGL,QACF,MAAO,MAAK,MAAM,OAOpB,WACE,MAAO,MAAY,WAAW,KAAK,OAAQ,KAAK,MAAO,KAAK,QAiChE,GAAI,IAAiC,KAEjC,GAAuB,KAEvB,GAA8C,KAW5C,YAA2B,GAC/B,GAAY,EAQR,YAAuB,GAC3B,GAAY,EAOR,YAAkC,GACtC,GAAuB,EAtNzB,SAyQE,YAAY,EAAoB,EAAiB,EAAgB,GAXjE,KAAA,KAAO,GA4HG,KAAA,mBAAqB,GAhH7B,KAAK,MAAQ,EAAM,QACnB,KAAK,MAAQ,GAAS,UACtB,KAAK,KAAO,AAAK,GAAc,GAC/B,KAAK,QAAU,GAAe,GAC9B,KAAK,OAAS,EACd,KAAK,GAAK,EACV,KAAK,SAAY,KAAK,KAAO,EAAI,KAAK,KAAK,WAAa,YAGtD,QACF,MAAO,MAAK,MAAM,YAOd,UACJ,KAAM,GAAO,KAAM,MAAK,OACxB,MAAO,IAAU,OAAO,KAAK,MAAO,KAAK,MAAY,GAKvD,aACE,MAAO,IAAU,OAAO,KAAK,MAAO,KAAK,MAAY,KAAK,iBAQtD,SACJ,KAAM,GAAO,KAAM,MAAK,OACxB,MAAO,IAAc,KAAK,MAAO,GAQnC,YACE,MAAO,IAAc,KAAK,MAAO,KAAK,iBAQlC,QACJ,KAAK,kBACL,KAAM,GAAO,KAAY,KAAK,KAAK,QACnC,GAAI,KAAK,QAAU,UACjB,KAAM,GAAQ,KAAM,GACpB,IACE,MAAO,GAAM,IAAI,GAAK,AAAK,GAAa,UACxC,GACA,KAAM,IAAI,OACN,kGAIR,MAAO,GAQT,WACE,KAAK,kBACL,KAAM,GAAO,KAAY,SAAS,KAAK,QACvC,GAAI,KAAK,QAAU,SACjB,IACE,MAAQ,GAAsB,IAAI,GAAK,AAAK,GAAa,UAEzD,GACA,KAAM,IAAI,OACN,iGAIR,MAAO,QAIH,SACJ,KAAK,kBACL,KAAM,GAAO,KAAM,MAAY,KAAK,KAAK,QACzC,MAAI,MAAK,QAAU,SACV,EAEA,GAAI,YAAY,EAAoB,QAQ/C,UACE,GAAI,KAAK,WACP,OAEF,KAAY,cAAc,MAC1B,KAAK,mBAAqB,MAIxB,cACF,MAAO,MAAK,mBAGd,kBACE,GAAI,KAAK,WACP,KAAM,IAAI,OAAM,uBAWpB,MAAM,EAAU,IACd,MAAO,IAAU,MAAM,KAAM,GAK/B,QACE,YAAK,kBACE,GAAU,MAAM,MAOzB,SAAS,EAAU,IACjB,KAAM,GAAO,KAAK,WAClB,MAAO,IAAe,EAAM,KAAK,MAAO,KAAK,MAAO,GAGtD,KAAqB,GACnB,YAAK,kBACE,GAAU,KAAK,KAAW,GAEnC,SAAS,EAAY,GAAM,EAAe,GACxC,YAAK,kBACE,KAAY,aAAa,KAAM,EAAW,EAAM,IAI3D,OAAO,eAAe,GAAQ,OAAO,YAAa,CAChD,MAAO,AAAC,GACC,CAAC,CAAC,GAAY,EAAS,QAAU,MAAQ,EAAS,OAAS,MAC9D,EAAS,OAAS,OA7a1B,gBAgdqD,IAGnD,YACI,EAAgC,EAAoB,EACpD,GACF,MACI,EAAa,MAAO,EAAa,MAAO,EAAa,OAAQ,GAH/B,KAAA,UAAA,EAIlC,KAAK,KAAO,EAUd,OAAO,GACL,GAAI,EAAS,QAAU,KAAK,MAC1B,KAAM,IAAI,OACN,2BAA2B,EAAS,8BACjB,KAAK,qBAE9B,GAAI,CAAC,AAAK,GAAY,EAAS,MAAO,KAAK,OACzC,KAAM,IAAI,OACN,2BAA2B,EAAS,8BACjB,KAAK,qBAE9B,KAAY,cAAc,MAC1B,KAAK,OAAS,EAAS,OACvB,KAAY,OAAO,KAAM,MAG3B,UACE,KAAY,gBAAgB,MAC5B,KAAK,mBAAqB,IAI9B,OAAO,eAAe,GAAU,OAAO,YAAa,CAClD,MAAO,AAAC,GACC,YAAoB,KAAU,EAAS,QAAU,MACpD,EAAS,iBAAkB,YC3fnC,AAgEA,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,GAAA,KACA,EAAA,GAAA,KACA,EAAA,GAAA,KACA,EAAA,GAAA,KACA,EAAA,GAAA,KACA,EAAA,GAAA,KACA,EAAA,GAAA,OAPU,IAAA,IAAI,KAqBhB,GAAK,IAAL,AAAA,UAAK,GACH,EAAA,QAAA,UACA,EAAA,MAAA,QACA,EAAA,KAAA,QACA,EAAA,UAAA,cAJG,IAAA,IAAiB,KAOtB,GAAK,IAAL,AAAA,UAAK,GACH,EAAA,QAAA,UACA,EAAA,MAAA,QACA,EAAA,KAAA,OACA,EAAA,UAAA,cAJG,IAAA,IAAgB,KAOrB,GAAK,IAAL,AAAA,UAAK,GACH,EAAA,QAAA,UACA,EAAA,MAAA,UACA,EAAA,KAAA,UACA,EAAA,UAAA,cAJG,IAAA,IAAmB,KAOxB,GAAK,IAAL,AAAA,UAAK,GACH,EAAA,QAAA,YACA,EAAA,MAAA,YACA,EAAA,KAAA,YACA,EAAA,UAAA,cAJG,IAAA,IAAqB,KAO1B,KAAM,IAAgB,CACpB,QAAW,GACX,MAAS,GACT,KAAQ,GACR,UAAa,IAGT,YAAqB,EAAiB,GAC1C,GAAI,IAAU,UAAY,IAAU,UAClC,GAAI,IAAU,UAAY,IAAU,SAClC,MAAO,SAET,KAAM,IAAI,OAAM,kBAAkB,UAAc,KAElD,MAAO,IAAc,GAAO,GAIxB,YAAqB,GACzB,MAAO,IAAW,EAAM,SCpI1B,qHAsBM,WAA2C,EAAM,GACrD,GAAI,EAAE,QAAU,EAAE,MAChB,MAAO,CAAC,EAAG,GAEb,KAAM,GAAQ,GAAW,EAAE,MAAO,EAAE,OACpC,MAAO,CAAC,EAAE,KAAK,GAAQ,EAAE,KAAK,IAG1B,YAA2B,EAAW,GAC1C,EACI,EAAE,QAAU,EAAE,MACd,IAAM,2BAA2B,EAAE,qBACpB,EAAE,2BAGjB,YAAyB,EAAgB,GAC7C,MAAO,GAAW,KAAK,GAAK,EAAE,KAAO,EAAO,IAexC,YAAgC,GACpC,KAAM,GAAiB,GACjB,EAAO,GAAI,OACjB,UAAoB,EAAQ,EAAM,GAC3B,EAGT,YACI,EAA4B,EAAgB,GAC9C,GAAI,GAAa,KACf,OAEF,GAAI,YAAqB,KACvB,EAAK,KAAK,GACV,OAEF,GAAI,CAAC,GAAW,GACd,OAGF,KAAM,GAAW,EACjB,SAAW,KAAK,IACd,KAAM,GAAM,EAAS,GACrB,AAAK,EAAK,IAAI,IACZ,GAAK,IAAI,GACT,GAAoB,EAAK,EAAM,KAMrC,YAAoB,GAClB,MAAO,OAAM,QAAQ,IAAQ,MAAO,IAAQ,SCrF9C,SAmFA,cAEE,KAAA,oBAAwC,GAExC,KAAA,eAAiB,EACjB,KAAA,SAAW,EACX,KAAA,WAAa,EACb,KAAA,iBAAmB,EACnB,KAAA,eAAiB,EAMjB,KAAA,cAAgB,EAGhB,KAAA,YAAc,EAId,KAAA,WAA2B,GAK3B,KAAA,kBAA8B,GAC9B,KAAA,YAAc,EAEd,KAAA,WAAa,GAAI,WAQjB,KAAA,UAAY,GACZ,KAAA,cACI,CAAC,SAAU,EAAG,WAAY,EAAG,UAAW,EAAG,QAAS,GAAI,OAAQ,MAEpE,UACE,SAAW,KAAgB,MAAK,oBAC9B,KAAK,oBAAoB,GAAc,WA9H7C,SAmJE,YAAmB,GAAA,KAAA,IAAA,EAbnB,KAAA,SAA0C,GAC1C,KAAA,gBAKI,GAKI,KAAA,qBAAuB,EAG7B,KAAK,MAAQ,GAAI,WAGb,SACJ,GAAI,KAAK,oBAAsB,KAC7B,MAAO,MAAK,mBAAmB,KAAK,QAEtC,GAAI,KAAK,iBAAmB,KAC1B,OAEF,KAAM,GAAiB,KAAK,oBAE5B,OAAS,GAAI,EAAG,EAAI,EAAe,OAAQ,KACzC,KAAM,GAAc,EAAe,GAC7B,EAAU,KAAM,MAAK,kBAAkB,GAAa,QAC1D,GAAI,GACF,KAAM,MAAK,WAAW,GACtB,QAIJ,KAAM,IAAI,OACN,6EAIF,WACF,GAAI,KAAK,oBAAsB,KAC7B,KAAM,IAAI,OACN,YAAY,KAAK,kIAIvB,GAAI,KAAK,iBAAmB,MAC1B,KAAM,CAAC,OAAM,aAAa,KAAK,kCAC/B,GAAI,EACF,KAAM,IAAI,OACN,iCAAiC,wHAIvC,KAAK,WAAW,GAElB,MAAO,MAAK,gBAGd,eACE,MAAO,QAAO,KAAK,KAAK,iBAG1B,YAAY,GACV,GAAI,CAAE,KAAe,MAAK,UAGxB,GAAI,IAAe,MAAK,iBACtB,KAAM,CAAC,aAAa,KAAK,kBAAkB,GAC3C,GAAI,EAEF,MAAO,UAGT,OAAO,MAGX,MAAO,MAAK,SAAS,GAGvB,mBAAmB,GAEjB,MAAM,KAAe,MAAK,gBAGnB,KAAK,gBAAgB,GAAa,QAFhC,KAKX,gBACI,EACA,EACA,EAAW,GACb,MAAI,KAAe,MAAK,gBACtB,SAAQ,KACJ,GAAG,uEAEA,IAET,MAAK,gBAAgB,GAAe,CAAC,UAAS,YACvC,SAGH,YAAW,GACf,GAAI,KAAK,gBAAgB,IAAgB,KACvC,KAAM,IAAI,OAAM,iBAAiB,4BAGnC,GADA,KAAK,YAAc,EACf,KAAK,SAAS,IAAgB,MAChC,KAAK,gBAAkB,KACvB,KAAM,CAAC,UAAS,aAAa,KAAK,kBAAkB,GAC9C,EAAS,EAAY,KAAM,GAAU,EAC3C,GAAI,CAAC,EACH,MAAO,GAGX,YAAK,gBAAkB,KAAK,SAAS,GACrC,KAAK,yBAEL,KAAK,SAAW,GAAI,IAAS,KAAK,iBAE3B,GAGD,yBACN,KAAM,GAAU,GAAqB,KAAK,aAC1C,EAAQ,QAAQ,IACd,AAAI,EAAO,WAAa,MACtB,EAAO,UAAU,KAAK,mBAKpB,yBAAyB,GAC/B,KAAM,GAAU,GAAqB,GACrC,EAAQ,QAAQ,IACd,AAAI,EAAO,aAAe,MACxB,EAAO,YAAY,KAAK,SAAS,MAW/B,kBAAkB,GAExB,KAAM,GAAuB,KAAK,gBAAgB,GAClD,GAAI,GAAwB,KAC1B,KAAM,IAAI,OACN,6BAA6B,6BAGnC,IACE,KAAM,GAAU,EAAqB,UAErC,GAAI,QAAQ,QAAQ,KAAa,GAC/B,KAAM,GAAY,EAAE,KAAK,qBACnB,EACF,EACK,KAAK,GAEA,EAAY,KAAK,qBACZ,GAET,MAAK,SAAS,GAAe,EAC7B,KAAK,mBAAqB,KACnB,KAER,MAAM,GAED,GAAY,KAAK,sBAGrB,MAAK,mBAAqB,KAC1B,QAAQ,KACJ,6BAA6B,YACjC,QAAQ,KAAK,EAAI,OAAS,EAAI,UACvB,KAEjB,YAAK,mBAAqB,EACnB,CAAC,UAAS,UAAW,QAE5B,aAAK,SAAS,GAAe,EACtB,CAAC,QAAS,GAAM,UAAW,UAE7B,GACP,eAAQ,KAAK,6BAA6B,YAC1C,QAAQ,KAAK,EAAI,OAAS,EAAI,SACvB,CAAC,QAAS,GAAO,UAAW,KAIvC,cAAc,GACZ,GAAI,CAAE,KAAe,MAAK,iBACxB,KAAM,IAAI,OAAM,GAAG,mCAErB,AAAI,KAAK,cAAgB,GAAe,KAAK,oBAAsB,MAGjE,KAAK,uBAGP,AAAI,IAAe,MAAK,UACtB,MAAK,yBAAyB,GAC9B,KAAK,SAAS,GAAa,UAC3B,MAAO,MAAK,SAAS,IAGvB,MAAO,MAAK,gBAAgB,GAG5B,AAAI,KAAK,cAAgB,GACvB,MAAK,mBAAqB,KAC1B,KAAK,YAAc,KACnB,KAAK,gBAAkB,MAInB,oBACN,GAAI,OAAO,KAAK,KAAK,iBAAiB,SAAW,EAC/C,KAAM,IAAI,OAAM,iCAElB,MAAO,QAAO,KAAK,KAAK,iBAAiB,KAAK,CAAC,EAAW,IAEjD,KAAK,gBAAgB,GAAG,SAC3B,KAAK,gBAAgB,GAAG,UAIxB,kCAEN,KAAM,GAAiB,KAAK,oBAE5B,OAAS,GAAI,EAAG,EAAI,EAAe,OAAQ,KACzC,KAAM,GAAc,EAAe,GAC7B,CAAC,UAAS,aAAa,KAAK,kBAAkB,GACpD,GAAI,GAAa,EACf,MAAO,CAAC,KAAM,EAAa,aAG/B,KAAM,IAAI,OACN,0EAIN,SAAS,EAAwB,GAC/B,KAAM,GAAO,KAAK,MAAM,WAAW,IAAI,GACjC,EAAa,EAAK,QAClB,EAAS,KAAK,SAAS,GAG7B,EAAW,YAAY,GACvB,EAAK,QAAU,EACf,EAAQ,KAAK,EAAQ,EAAQ,EAAK,MAAO,EAAK,OAC9C,AAAI,KAAK,0BAGP,KAAK,MAAM,kBAAkB,KAAK,MAAM,kBAAkB,OAAS,KAIvE,KAAgC,EAA6B,GAE3D,GAAI,GAAe,KACnB,GAAI,GAAM,MAER,GAAI,MAAO,IAAa,WACtB,KAAM,IAAI,OAAM,uCAElB,EAAK,OAGL,GAAI,MAAO,IAAa,UAAY,CAAE,aAAoB,SACxD,KAAM,IAAI,OACN,kFAGN,GAAI,MAAO,IAAO,WAChB,KAAM,IAAI,OACN,kFAGN,EAAO,EAIT,GAAI,GACJ,MAAO,MAAK,UACR,IAAM,KAAK,WAAW,GAAO,IAAM,KAAK,SAAS,GAAS,IACxD,GAAS,IACT,AAAI,YAAkB,UACpB,QAAQ,MAAM,2CAET,IAIP,UAAa,EAAmB,EAAiB,GACvD,IACA,IACE,KAAM,GAAM,IACZ,WACO,QACA,GACP,UACM,GAKF,eACN,MAAO,IAAO,eAIR,iBACN,MAAO,IAAO,iBAYR,MAAM,GACZ,KAAM,GAAI,KAAK,qBAAqB,EAAE,OAAQ,EAAE,MAAO,EAAE,OACnD,EAAS,CAAC,KACV,EAAO,AAAC,GAAgB,EAC5B,EAAG,KACD,KAAM,GAAQ,UACR,EAAa,CAAC,EAAG,GACjB,EAAQ,CAAC,SAEf,MAAO,GAAO,cACV,GAAW,EAAQ,KAAK,EAAI,GAC5B,EAAoC,KAAiB,GACrD,MAGF,EAAkB,GACxB,YAAK,YAAY,KAAK,MAAM,YAAY,KAAM,EAAQ,CAAC,GAAI,EAAM,EAAO,IACjE,EAgBT,UACI,EAAoB,EAAwB,EAC5C,EAAyB,GAC3B,KAAM,GAAoB,KACpB,EAAsB,KAI5B,MAAO,MAAK,cACR,EAAa,EAAQ,EAAe,EAAY,EAAO,EACvD,GAGE,yBACN,MAAO,MAAK,IAAI,QAAQ,WAGlB,sBACJ,EAAoB,EACpB,GACF,KAAM,GAAkB,KAAK,QAAQ,aAGrC,GAAI,GAAmB,EACvB,EAAS,QAAQ,IAGf,GAAqB,EAAK,QAAU,YAAc,EAAI,IAQxD,KAAM,GACF,KAAK,MAAM,kBAAkB,KAAK,MAAM,kBAAkB,OAAS,GACjE,EACF,EAAkB,EAAmB,EAAmB,EAC5D,GAAI,EAAgB,EAClB,KAAM,IAAI,OACN,YAAY,KAAK,6CACb,8BAA0C,MAQtD,cACI,EAA6B,EAC7B,EACA,EAAqB,EAAsB,EAC3C,GACF,GAAI,GACA,EAAkB,GACtB,KAAM,GAAW,KAAK,WACtB,AAAI,GAAc,MAChB,GACI,KAAK,MAAM,aAAe,KAAO,KAAK,MAAM,YAAY,KAAO,IAGrE,KAAM,GAAoB,KAAK,MAAM,SAC/B,EAAqB,KAAK,MAAM,WAEtC,AAAI,KAAK,0BACP,KAAK,MAAM,kBAAkB,KAAK,GAGpC,GAAI,GACJ,KAAM,GAAS,GAAU,EAAY,KAAK,aAC1C,GAAI,GACJ,GAAI,GAAU,KACZ,EAAa,KACX,KAAM,GAAmB,KAAK,QAAQ,aACtC,EAAM,EAAO,WAAW,CAAC,SAAQ,QAAO,QAAS,KAAK,UACtD,KAAM,GAAW,MAAM,QAAQ,GAAO,EAAM,CAAC,GAC7C,AAAI,KAAK,0BACP,KAAK,sBAAsB,EAAY,EAAkB,GAE3D,KAAM,GAAa,EAAS,IACxB,CAAC,CAAC,SAAQ,QAAO,WACb,KAAK,qBAAqB,EAAQ,EAAO,IAMjD,GAAI,GACF,GAAI,GACA,KAAK,sBAAsB,EAAY,EAAQ,GACnD,GAAI,GAAiB,MAKnB,AAAI,GAAiB,MACnB,GAAgB,IAElB,KAAM,GAAa,EAAW,OAAO,CAAC,EAAG,IAAM,EAAc,IAC7D,EAAiB,IAAgB,IAAI,QAAQ,OAAO,GAEtD,EAAQ,KAAK,2BAA2B,GAE1C,MAAO,SAGT,KAAM,GAAyB,AAAC,IAI9B,GAAI,CAAC,EACH,OAEF,EAAQ,EAAQ,IAAI,GAAU,KAAK,KAAK,KAAK,MAAM,MAGrD,EAAa,KACX,KAAM,GAAmB,KAAK,QAAQ,aACtC,EAAM,KAAK,KAAK,IAAM,EAAY,KAAK,QAAS,IAChD,KAAM,GAAQ,MAAM,QAAQ,GAAO,EAAM,CAAC,GAC1C,MAAI,MAAK,0BACP,KAAK,sBAAsB,EAAY,EAAkB,GAEpD,GAKX,GAAI,GACJ,YAAK,UACD,IAAM,KAAK,MAAM,cAAe,IAAM,KAAK,MAAM,cAAe,KAC9D,AAAI,CAAC,KAAK,IAAI,QAAQ,UAAY,CAAC,KAAK,MAAM,UAC5C,EAAU,IAEV,GAAgB,KAAK,SAAS,cAC1B,EAAY,EAAQ,IAAM,KAC9B,AAAI,KAAK,IAAI,QAAQ,UACnB,KAAK,SAAS,iBAAiB,GAEjC,EAAU,EAAc,WAIhC,AAAI,GACF,KAAK,YACD,EAAY,EAAQ,EAAS,EAAe,EAAO,GAGzD,AAAI,KAAK,MAAM,WACb,KAAK,MAAM,cAAc,QAAQ,KAAK,CACpC,KAAM,EACN,WAAY,KAAK,MAAM,SAAW,EAClC,mBAAoB,KAAK,MAAM,SAC/B,aAAc,KAAK,MAAM,WAAa,EACtC,qBAAsB,KAAK,MAAM,WACjC,YAAa,OAAO,KAAK,GAAQ,IAC7B,GAAO,EAAO,IAAQ,KAAO,EAAO,GAAK,MAAQ,MACrD,aAAc,EAAQ,IAAI,GAAQ,EAAK,OACvC,aAAc,EAAc,OAC5B,UAAW,EAAc,YAGrB,MAAM,QAAQ,GAAO,EAAU,EAAQ,GAQzC,2BAA2B,GACjC,KAAM,GAAQ,EAAQ,IAAI,GAAU,KAAK,KAAK,KAAK,MAAM,KACzD,MAAO,GAaD,sBACJ,EAAoB,EACpB,GACF,KAAM,GAAa,GAAY,GAC/B,GAAI,GAAc,MAChB,KAAM,GAAyB,EAAW,cAAgB,GACpD,EAA2B,EAAW,eAAiB,GAI7D,GAAI,GACJ,AAAI,EAAW,cACb,CAAK,EACD,MAAM,QAAQ,GACd,IAAM,0DAEV,EAAqB,OAAO,KAAK,GAAQ,IAAI,AAAC,GAAQ,EAAO,KAE7D,EAAqB,EAAa,IAAI,AAAC,GAAc,EAAO,IAG9D,KAAM,GACF,EAAQ,OAAO,CAAC,EAAG,IAAM,EAAc,IAE3C,MAAO,GAAmB,OAAO,GAInC,MAAO,MAQT,WACI,EAAoB,EAAiB,EACrC,GACF,GAAI,GAAU,KACZ,KAAM,IAAI,OAAM,iDAElB,EAAQ,GAAS,UACjB,EAAU,GAAW,KAAK,QAC1B,GAAI,GAAc,EAClB,AAAI,IAAU,UAAY,AAAK,GAAS,EAAO,KAC7C,GAAe,EAAoB,IAAI,GAAK,AAAK,GAAa,KAEhE,KAAM,GAAS,EAAQ,MAAM,EAAa,EAAO,GAC3C,EAAI,GAAI,IAAO,EAAO,EAAO,EAAQ,KAAK,gBAIhD,GAHA,KAAK,OAAO,EAAG,GAGX,IAAU,UACZ,KAAM,GAAO,KAAK,MAAM,WAAW,IAAI,GACjC,EAAW,GAAqB,GACtC,KAAK,MAAM,UAAY,EAAW,EAAK,MACvC,EAAK,MAAQ,EAEf,MAAO,GAQT,qBACI,EAAgB,EAAiB,EACjC,GACF,EAAQ,GAAS,UACjB,KAAM,GAAI,GAAI,IAAO,EAAO,EAAO,EAAQ,KAAK,gBAChD,YAAK,OAAO,EAAG,GACR,EAGT,aACI,EAAsB,EAAY,GAAM,EACxC,GACF,EAAO,GAAQ,KAAK,iBAAiB,WACrC,AAAI,GAAS,MAAQ,IAAU,EAAa,OAC1C,GAAe,EAAa,KAAK,IAEnC,KAAM,GAAI,GAAI,IAAS,EAAc,EAAW,EAAM,KAAK,gBAC3D,GAAI,KAAK,MAAM,oBAAoB,EAAE,OAAS,KAC5C,KAAM,IAAI,OAAM,sBAAsB,EAAE,+BAE1C,YAAK,MAAM,oBAAoB,EAAE,MAAQ,EACzC,KAAK,OAAO,EAAG,KAAK,SACb,EAGT,OAAO,EAAW,GAChB,KAAM,GAAW,KAAK,MAAM,WAAW,IAAI,EAAE,QACzC,KAAK,MAAM,WAAW,IAAI,EAAE,QAAQ,SACpC,EAKJ,GAJA,KAAK,MAAM,aACX,AAAI,EAAE,QAAU,UACd,KAAK,MAAM,mBAET,IAAa,GACf,KAAK,MAAM,iBAIX,GAAI,GAAQ,EACZ,AAAI,EAAE,QAAU,aAAe,EAAE,QAAU,UACzC,GAAQ,EAAE,KAAO,AAAK,GAAgB,EAAE,QAE1C,KAAK,MAAM,WAAW,IAAI,EAAE,OAAQ,CAClC,QAAS,GAAW,KAAK,QACzB,MAAO,EAAE,MACT,MAAO,EAAE,MACT,QACA,SAAU,IAEZ,KAAK,MAAM,UAAY,EAEzB,KAAK,MAAM,WAAW,IAAI,EAAE,QAAQ,WACpC,AAAM,YAAa,KACjB,KAAK,MAAM,GAIf,cAAc,GACZ,GAAI,CAAC,KAAK,MAAM,WAAW,IAAI,EAAE,QAC/B,OAGF,KAAK,MAAM,aACX,AAAI,EAAE,QAAU,UACd,KAAK,MAAM,mBAEb,KAAM,GAAO,KAAK,MAAM,WAAW,IAAI,EAAE,QACnC,EAAW,EAAK,SACtB,AAAI,GAAY,EAGd,CAAI,EAAE,QAAU,aACd,MAAK,MAAM,UAAY,EAAK,OAE9B,KAAK,MAAM,iBACX,EAAK,QAAQ,YAAY,EAAE,QAC3B,KAAK,MAAM,WAAW,OAAO,EAAE,SAE/B,KAAK,MAAM,WAAW,IAAI,EAAE,QAAQ,WAOxC,mBACE,SAAW,KAAW,MAAK,MAAM,qBAC/B,KAAM,GAAI,KAAK,MAAM,oBAAoB,GACzC,KAAK,gBAAgB,IAIzB,gBAAgB,GACd,KAAK,cAAc,GACnB,AAAI,KAAK,MAAM,oBAAoB,EAAE,OAAS,MAC5C,MAAO,MAAK,MAAM,oBAAoB,EAAE,MAI5C,SACE,KAAM,GAAO,KAAK,QAAQ,SAC1B,SAAK,WAAa,KAAK,MAAM,WAC7B,EAAK,eAAiB,KAAK,MAAM,eACjC,EAAK,SAAW,KAAK,MAAM,SAC3B,AAAI,KAAK,MAAM,iBAAmB,GAChC,GAAK,WAAa,GAClB,AAAI,EAAK,SAAW,MAClB,GAAK,QAAU,IAEjB,EAAK,QAAQ,KACT,0EAGC,OAGH,SAAQ,GAEZ,KAAK,MAAM,UAAY,GAEvB,KAAM,GAAa,KAAK,MAAM,SACxB,EAAkB,KAAK,MAAM,WAEnC,KAAK,MAAM,cAAc,QAAU,GACnC,KAAK,MAAM,cAAc,OAAS,KAAM,KAExC,KAAK,MAAM,UAAY,GAEvB,KAAK,MAAM,cAAc,UAAY,KAAK,IACtC,GAAG,KAAK,MAAM,cAAc,QAAQ,IAAI,GAAK,EAAE,qBACnD,KAAK,MAAM,cAAc,SAAW,KAAK,MAAM,SAAW,EAC1D,KAAK,MAAM,cAAc,WACrB,KAAK,MAAM,WAAa,EAC5B,SAAW,KAAU,MAAK,MAAM,cAAc,QAC5C,EAAO,aAAe,KAAM,GAAO,aACnC,EAAO,UAAY,KAAM,GAAO,UAElC,MAAO,MAAK,MAAM,cAGpB,WACE,MAAO,MAAK,MAAM,cAAgB,GAAK,KAAK,MAAM,cAAgB,EAG5D,YACJ,EAAoB,EAAwB,EAC5C,EAAyB,EAAiB,GAC5C,KAAM,GACF,CAAC,GAAI,KAAK,MAAM,iBAAkB,aAAY,SAAQ,UAAS,SAE7D,EAAa,GAAY,GAC/B,AAAI,GAAc,MAChB,GAAgB,EAAW,UAE7B,AAAI,GAAiB,MACnB,GAAS,SAAW,AAAC,GAGnB,GAAM,EAAI,IAAI,CAAC,EAAI,KACjB,GAAI,GAAM,MACR,KAAM,GAAS,EAAQ,GACjB,EAAO,AAAK,GAAoB,EAAO,KAAM,EAAO,OAC1D,MAAO,MAAK,WAAW,EAAM,EAAO,MAAO,EAAO,OAEpD,MAAO,KAIF,EAAc,EAAI,OAAS,EAAI,EAAM,EAAI,GAAI,EAAO,KAG/D,KAAK,MAAM,WAAW,KAAK,GAG7B,KAAuB,GACrB,SAAO,KAAO,GACP,EAGD,YACN,AAAI,KAAK,MAAM,gBAAkB,GAC/B,MAAK,MAAM,WAAa,IAE1B,KAAK,MAAM,gBAGL,UACN,KAAK,MAAM,gBAOb,WAAW,GACT,KAAM,GAAwB,CAC5B,MAAO,GACP,KAAM,gBACN,GAAI,KAAK,MAAM,eAEjB,AAAI,GACF,GAAU,KAAO,GAEnB,KAAK,MAAM,WAAW,KAAK,GAC3B,KAAK,MAAM,YAAc,EAO3B,SAAS,GACP,KAAM,GAAyB,GAAsB,GAC/C,EACF,GAAI,KAAI,EAAuB,IAAI,GAAK,EAAE,KAG9C,OAAS,GAAI,EAAG,EAAI,KAAK,MAAM,YAAY,MAAM,OAAQ,KACvD,KAAM,GAAS,KAAK,MAAM,YAAY,MAAM,GAC5C,AAAI,CAAC,EAAO,MAAQ,CAAC,EAA0B,IAAI,EAAO,KACxD,EAAO,UAIX,KAAM,GAAW,KAAK,MAAM,WAAW,MACvC,KAAK,MAAM,YAAc,KAAK,MAAM,WAAW,SAAW,EACtD,KACA,KAAK,MAAM,WAAW,KAAK,MAAM,WAAW,OAAS,GAGzD,EAAuB,QAAQ,IAG7B,AAAI,CAAC,EAAO,MAAQ,EAAO,UAAY,EAAS,IAC9C,KAAK,MAAM,KAWjB,UACI,EAAY,EAAc,EAC1B,EAAmB,IAGrB,GAFA,AAAK,EACD,EAAG,OAAS,EAAG,IAAM,6CACrB,GAAM,MAAQ,EAAG,QAAU,UAC7B,KAAM,IAAI,OAAM,0CAA0C,EAAG,UAG/D,KAAM,GAAI,KAAK,UACX,IAAM,KAAK,YAAa,IAAM,KAAK,UACnC,IAAM,KAAK,KAAK,UAAW,IAE/B,AAAK,EACD,YAAa,IACb,IAAM,kDAEV,KAAM,GAAe,GAAqB,KAAK,MAAM,WAAY,EAAI,GACrE,GAAI,CAAC,GAAoB,EAAa,SAAW,GAAK,EAAG,OAAS,EAChE,KAAM,IAAI,OACN,uIAKN,MAAO,MAAK,KAAK,WAAY,KAC3B,KAAM,GAAuD,GAC7D,EAAuB,EAAE,IAAO,GAAM,KAAQ,GAAK,EAAE,OAAS,EAG9D,GACI,EAAwB,EAExB,GAAK,KAAK,KAAK,GAEf,IACJ,KAAM,GAAQ,EAAG,IAAI,GAAK,EAAuB,EAAE,KAEnD,MAAI,MAAK,MAAM,gBAAkB,GAG/B,MAAK,MAAM,WAAW,QAAQ,IAC5B,SAAW,KAAU,GAAK,MACxB,EAAO,YAGX,KAAK,MAAM,WAAa,MAEnB,CAAC,MAAO,EAAG,WAItB,WAA6B,GAE3B,MAAK,GACD,AAAK,GAAW,GAChB,IAAM,qDACH,IAAI,KACT,AAAK,EACD,EAAO,MAAM,GAAK,YAAa,KAC/B,IAAM,oEAGV,GAAI,GAIJ,KAAM,GAA2B,GACjC,SAAO,QAAQ,CAAC,EAAO,KACrB,EAAS,GAAK,IAET,KAAK,cACR,CAAC,EAAG,IACF,GAAM,EAAM,GAAG,EAAQ,GACvB,AAAK,EACD,EAAI,gBAAiB,IACrB,IAAM,8FAEV,AAAK,EACD,AAAK,GAAW,EAAI,UACpB,IAAM,oGAEH,EAAI,OAEb,EACA,CAAC,EAAO,KACN,KAAM,GAAU,EAAI,SAAS,EAAI,GAC3B,EACF,MAAM,QAAQ,GAAW,EAAU,CAAC,GACxC,AAAK,EACD,EAAM,SAAW,EAAO,OACxB,IAAM,uKAGV,AAAK,EACD,EAAM,MAAM,GAAK,YAAa,KAC9B,IAAM,wIAGV,KAAM,GAAyC,GAC/C,SAAM,QAAQ,CAAC,EAAM,KACnB,EAAQ,GAAK,IAAM,IAEd,KAKjB,SAAS,GAEP,KAAM,GAAO,KAAK,MAAM,WAAW,IAAI,GACvC,MAAO,GAAK,QAAQ,SAAS,GAE/B,KAAK,GAEH,KAAM,GAAO,KAAK,MAAM,WAAW,IAAI,GACvC,MAAO,GAAK,QAAQ,KAAK,QAGrB,MAAK,GACT,KAAM,GAAQ,KACR,EAAa,KAAM,MAAK,QAAQ,KAAK,GAC3C,SAAW,OAAS,KAAQ,EACrB,EASD,MAAwB,GAC9B,MAAI,MAAK,MAAM,aAAe,MAC5B,GAAO,QAAU,KAAK,MAAM,YAAY,GACxC,KAAK,MAAM,YAAY,MAAM,KAAK,IAG7B,KAGL,uBACF,MAAO,MAAK,MAAM,oBAOpB,QAEE,KAAK,uBAEL,KAAK,MAAM,UACX,KAAK,IAAI,QACT,KAAK,MAAQ,GAAI,MAEjB,SAAW,KAAe,MAAK,SAC7B,KAAK,yBAAyB,GAC9B,KAAK,SAAS,GAAa,UAC3B,MAAO,MAAK,SAAS,GAEvB,KAAK,YAAc,KACnB,KAAK,gBAAkB,KACvB,KAAK,mBAAqB,MA3sBb,GAAA,aAAe,EAKf,GAAA,eAAiB,EA0sBlC,YAAc,GACZ,KAAM,GAAS,GAAmB,GAAc,GAAQ,WACxD,MAAO,GAAO,WAAW,EAAQ,EAAO,WAG1C,cACE,KAAM,GAAK,KACX,GAAI,EAAG,WAAa,MAClB,KAAM,GAAc,GAAI,IAAY,GACpC,EAAG,UAAY,GAAI,IAAO,GAE5B,UAAqB,EAAG,UAAU,KAIlC,GAAiB,IAAM,EAAG,WACnB,EAAG,UAGL,KAAM,GAAS,KAQhB,YAAc,EAAW,GAE7B,KAAM,GAAS,CAAC,IAAG,KACnB,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,EAAG,GAC3B,SAAK,CAAC,EAAG,IACF,GACN,EAAgC,KAAqB,IChrC1D,sDAkBA,cACE,MAAO,OAAO,YAAc,aAAe,WAAa,KAGpD,cACJ,GAAI,MAEF,KAAM,GAAI,UAAU,WAAa,UAAU,QAAW,OAAe,MAErE,MAAO,2TACK,KAAK,IAEb,0kDACK,KAAK,EAAE,OAAO,EAAG,IAE5B,MAAO,GAGH,cACJ,MAAQ,OAAO,SAAW,aAAe,OAAO,UAAY,MAEvD,MAAO,oBAAsB,YCvCpC,AAmBA,KAAM,IAAM,KAOZ,GAAI,aAAa,QAAS,IAAM,GAAO,IACrC,AAAI,GACF,QAAQ,KACJ,iJAOR,GAAI,aAAa,aAAc,IAAM,AAAY,MAGjD,GAAI,aACA,UACA,IAAO,MAAO,UAAY,aACrB,MAAO,SAAQ,UAAa,aAC5B,MAAO,SAAQ,SAAS,MAAS,aAG1C,GAAI,aACA,YACA,IAAM,MAAO,YAAc,aAAe,WAAa,MACnD,UAAU,WAAa,MAAQ,SAAS,KAAK,UAAU,YACvD,aAAa,KAAK,UAAU,SAMpC,GAAI,aAAa,OAAQ,IAAM,IAM/B,GAAI,aACA,qCAAsC,IAAM,GAAI,QAAQ,UAG5D,GAAI,aAAa,+BAAgC,IAAM,IAGvD,GAAI,aAAa,UAAW,IAAM,ICrElC,AAuBM,YAAqB,EAAiB,GAC1C,GAAI,GAAwB,EAE5B,GAAI,GAAa,GACf,MAAO,KAAU,SAAW,GAAK,CAAC,EAAI,QAExC,GAAI,CAAC,MAAM,QAAQ,GACjB,MAAO,GAET,KAAM,GAAkB,GAExB,KAAO,MAAM,QAAQ,IACd,GAAa,IAAc,IAAU,UAC1C,EAAM,KAAK,EAAU,QACrB,EAAY,EAAU,GAExB,MAAI,OAAM,QAAQ,IACd,KAAM,QAAQ,uCAChB,GAA2B,EAAK,EAAO,IAGlC,EAGT,YACI,EAAiB,EAAiB,GAEpC,GADA,EAAU,GAAW,GACjB,CAAE,MAAM,QAAQ,IAAS,CAAC,GAAa,IACzC,EACI,EAAM,SAAW,EACjB,IAAM,eAAe,EAAQ,KAAK,+DACU,EAAM,eACtD,OAEF,EACI,EAAM,OAAS,EACf,IAAM,eAAe,EAAQ,KAAK,oDACR,EAAI,mBAClC,EACI,EAAI,SAAW,EAAM,GACrB,IAAM,eAAe,EAAQ,KAAK,sBAAsB,EAAM,wBACrC,EAAI,mBACjC,KAAM,GAAW,EAAM,MAAM,GAC7B,OAAS,GAAI,EAAG,EAAI,EAAI,OAAQ,EAAE,EAChC,GAA2B,EAAI,GAAI,EAAU,EAAQ,OAAO,IAIhE,YACI,EAAmC,EAAuB,EAC1D,GACF,GAAI,GAAiB,KACnB,OAEF,GAAI,IAAkB,WAAa,IAAkB,GACjD,IAAkB,WAAa,IAAgB,SACjD,KAAM,IAAI,OACN,aAAa,iBAAuB,cAC9B,qBAAiC,YAIzC,WACF,EAAiB,EAAiB,EAClC,EAAmC,WACrC,GAAI,YAAa,IACf,UAAY,EAAc,EAAE,MAAO,EAAS,GACrC,EAET,GAAI,GAAgB,GAAW,GAS/B,GANA,AAAI,IAAkB,UAClB,CAAC,OAAQ,QAAS,WAAW,QAAQ,IAAiB,GACxD,GAAgB,GAElB,GAAY,EAAc,EAAe,EAAS,GAE7C,GAAK,MACL,CAAC,GAAa,IAAM,CAAC,MAAM,QAAQ,IAAM,MAAO,IAAM,UACtD,MAAO,IAAM,WAAa,MAAO,IAAM,UAC1C,KAAM,GAAO,GAAK,KAAO,OAAU,EAAS,YAAY,KACxD,KAAM,IAAI,OACN,aAAa,iBAAuB,+CACF,MAExC,KAAM,GAAgB,GAAW,EAAG,GACpC,AAAI,CAAC,GAAa,IAAM,CAAC,MAAM,QAAQ,IACrC,GAAI,CAAC,IAEP,KAAM,GAAiB,GACjB,EAAS,IAAkB,SAC7B,GAAa,EAAG,GAChB,GAAQ,EAAe,GAAI,GAC/B,MAAO,GAAO,WAAW,EAAQ,EAAe,GAG5C,YACF,EAA0B,EAAiB,EAC3C,EAAmC,WACrC,GAAI,CAAC,MAAM,QAAQ,GACjB,KAAM,IAAI,OACN,YAAY,eAAqB,gDAGvC,KAAM,GAAU,EAChB,MAAO,GAAQ,IACX,CAAC,EAAG,IAAM,EAAgB,EAAG,GAAG,KAAW,KAAM,GACjD,GCnIN,AAuBM,WAAiC,GACrC,KAAM,GAAO,OAAO,KAAK,GACzB,GAAI,EAAK,SAAW,EAClB,KAAM,IAAI,OACN,yGAEG,EAAK,gBAGd,GAAI,GAAS,EAAK,GAClB,KAAM,GAAK,EAAE,GAGb,AAAI,EAAO,SAAS,MAClB,GAAS,EAAO,UAAU,EAAG,EAAO,OAAS,IAI/C,KAAM,GAAK,IAAI,KACb,EAAO,WAAW,GAClB,IACE,KAAM,GAAS,EAAG,GAAG,GACrB,MAAI,aAAkB,UACpB,QAAQ,MAAM,2CAEhB,EAAO,SAAS,GACT,QACA,GACP,QAAO,SAAS,MACV,IAGV,cAAO,eAAe,EAAI,OAAQ,CAAC,MAAO,EAAQ,aAAc,KAGzD,EC1DT,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAoB,CAAC,EAAG,GAE9B,MAAO,GAAO,cAAc,CAAC,EAAS,IACpC,GAAK,CAAC,IACF,EAAG,QAAU,YACR,EAAQ,WAAW,GAGrB,EAAQ,IAAI,IAClB,EAAgC,KAAiB,IAG/C,KAAM,IAAM,EAAG,CAAC,UCpDvB,AAoCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAC7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WC9CxB,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,MAAM,GAC1B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAQ,EAAG,CAAC,YChDzB,AAgDA,YAAgC,EAAsB,GACpD,GAAI,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,IAAI,EAAI,GAC5B,SAAK,CAAC,EAAI,IACH,GAGH,EAAoB,CAAC,EAAG,EAAI,EAAG,GAErC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,GAAM,EAAG,CAAC,UClEvB,AAuCA,YAAiC,GAC/B,AAAK,EACD,MAAM,QAAQ,GACd,IAAM,8DACV,AAAK,EACD,EAAQ,QAAU,EAClB,IAAM,uDACC,EAAQ,UAEnB,KAAM,GACF,EAAQ,IAAI,CAAC,EAAG,IAAM,EAAgB,EAAG,UAAU,IAAK,SAEtD,EAAc,EAAS,GAC7B,EAAS,QAAQ,IACf,GAAI,EAAE,QAAU,EAAY,MAC1B,KAAM,IAAI,OACN,8DAIR,EAAS,QAAQ,IACf,GAAI,CAAC,AAAK,GAAY,EAAE,MAAO,EAAY,OACzC,KAAM,IAAI,OACN,8DAIR,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,GACE,GAGH,EAAqB,EAE3B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAO,EAAG,CAAC,WC/ExB,AAuBM,YAA+B,EAAgB,GACnD,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,EAAE,EACjC,GAAI,EAAK,EAAK,OAAS,EAAI,KAAO,EAAO,EAAI,EAC3C,MAAO,GAGX,MAAO,GAGH,YACF,EAAqB,EAAqB,GAC5C,KAAM,GAAO,EAAU,OAAS,EAAU,OACpC,EAAM,GACZ,GAAI,GAAS,EACT,EAAY,EACd,OAAS,GAAM,EAAG,EAAM,EAAM,IAC9B,AAAI,EAAK,QAAQ,KAAS,GACxB,EAAI,KAAK,EAAU,MAEnB,EAAI,KAAK,EAAU,MAGvB,MAAO,GAGH,YACF,EAAkB,GACpB,KAAM,GAAW,GACX,EAAO,EAAO,OACpB,OAAS,GAAM,EAAG,EAAM,EAAM,IAC5B,AAAI,EAAK,QAAQ,KAAS,IACxB,EAAS,KAAK,EAAO,IAGzB,KAAM,GAAc,EAAK,IAAI,GAAO,EAAO,IAC3C,MAAO,CAAC,EAAU,GAGd,YACF,EAAiB,GACnB,KAAM,GAAiB,EAAK,IAAI,GAAK,GACrC,MAAO,IAAiB,EAAO,EAAgB,GAG3C,YACF,EAAa,EAAgB,GAC/B,AAAK,EACD,GAAqB,EAAM,GAC3B,IAAM,GAAG,qDACO,cAAiB,YAQjC,YAA6B,EAAgB,GAEjD,GAAI,GAAqB,EAAM,GAC7B,MAAO,MAET,KAAM,GAAmB,GACzB,OAAS,GAAI,EAAG,EAAI,EAAM,EAAE,EAC1B,AAAI,EAAK,QAAQ,KAAO,IACtB,EAAO,KAAK,GAGhB,SAAK,QAAQ,GAAQ,EAAO,KAAK,IAC1B,EAIH,YAAiC,GACrC,MAAO,GAAK,IAAI,CAAC,EAAM,IAAM,CAAC,EAAG,IAC5B,KAAK,CAAC,EAAG,IAAM,EAAE,GAAK,EAAE,IACxB,IAAI,GAAK,EAAE,IAGZ,YAA2B,EAAiB,GAChD,KAAM,GAAgB,GACtB,OAAS,GAAI,EAAO,EAAS,EAAI,EAAM,EAAE,EACvC,EAAI,KAAK,GAEX,MAAO,GC3GT,AAsDA,YACI,EAAsB,GACxB,KAAM,GAAK,EAAgB,EAAG,IAAK,UAAW,MAC9C,EAAQ,AAAK,GAAuB,EAAO,EAAG,MAC9C,AAAK,EACD,EAAG,OAAS,AAAK,GAAc,GAC/B,IAAM,kEAEV,KAAM,GAAwB,CAAC,EAAG,GAC5B,EAAsB,CAAC,SACvB,EACF,CAAC,EAAwB,IACvB,GAAK,CAAC,IACC,EAAQ,QAAQ,EAAI,IAEjC,MAAO,GAAO,cACV,EAAS,EAAgC,KAAiB,GAC1D,GAEC,KAAM,GAAU,EAAG,CAAC,cCzE3B,AA8CA,YAAsC,EAAiB,GACrD,KAAM,GAAK,EAAgB,EAAG,IAAK,aAgBnC,GAdA,AAAI,GAAQ,MACV,GAAO,EAAG,MAAM,IAAI,CAAC,EAAG,IAAM,GAAG,WAEnC,AAAK,EACD,EAAG,OAAS,EAAK,OACjB,IAAM,qCAAqC,EAAG,kCACb,MACrC,EAAK,QAAQ,IACX,AAAK,EACD,GAAQ,GAAK,EAAO,EAAG,KACvB,IAAM,+CAA+C,EAAG,KAAO,aAC/C,OAGlB,EAAG,MAAQ,EACb,MAAO,GAAG,QAGZ,KAAM,GAA0B,CAAC,EAAG,GAC9B,EAAwB,CAAC,QAE/B,MAAO,GAAO,cACV,GAAW,EAAQ,UAAU,EAAI,GAAO,EACxC,KAAqB,GAAW,GAG/B,KAAM,GAAY,EAAG,CAAC,gBC3E7B,AA2DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,GAAI,GAAK,EAAgB,EAAG,IAAK,MAAO,QAExC,KAAM,GAA+B,AAAC,IACpC,KAAM,GAAW,EAAe,EAAM,EAAG,OACzC,GAAI,GAAO,EACX,KAAM,GAAe,GAAmB,EAAM,EAAG,MACjD,AAAI,GAAgB,MAClB,GAAK,EAAU,EAAI,GACnB,EAAO,GAAiB,EAAK,OAAQ,EAAG,OAE1C,KAAM,GAAM,EAAQ,IAAI,EAAI,GAC5B,GAAI,GACF,KAAM,GAAW,GAAqB,EAAI,MAAO,GACjD,MAAO,GAAQ,EAAK,GAEtB,MAAO,IAGH,EAAoB,CAAC,EAAG,GACxB,EAAkB,CAAC,OAAM,YAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAM,EAAG,CAAC,UCvFvB,AA2DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,GAAI,GAAK,EAAgB,EAAG,IAAK,MAAO,QAExC,KAAM,GAA+B,AAAC,IACpC,KAAM,GAAW,EAAe,EAAM,EAAG,OACzC,GAAI,GAAO,EACX,KAAM,GAAe,GAAmB,EAAM,EAAG,MACjD,AAAI,GAAgB,MAClB,GAAK,EAAU,EAAI,GACnB,EAAO,GAAiB,EAAK,OAAQ,EAAG,OAE1C,KAAM,GAAM,EAAQ,IAAI,EAAI,GAC5B,GAAI,GACF,KAAM,GAAW,GAAqB,EAAI,MAAO,GACjD,MAAO,GAAQ,EAAK,GAEtB,MAAO,IAGH,EAAoB,CAAC,EAAG,GACxB,EAAkB,CAAC,OAAM,YAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAIN,KAAM,IAAM,EAAG,CAAC,UCxFvB,AAqDA,YAAmC,EAAsB,EAAO,GAC9D,GAAI,GAAK,EAAgB,EAAG,IAAK,UAEjC,KAAM,GAA+B,CAAC,EAAS,KAC7C,EAAK,CAAC,IAEN,GAAI,GAAO,AAAK,EAAe,EAAM,EAAG,OACxC,KAAM,GAAe,AAAU,GAAmB,EAAM,EAAG,MAC3D,MAAI,IAAgB,MAClB,GAAK,EAAU,EAAI,GACnB,EAAO,AAAU,GAAiB,EAAK,OAAQ,EAAG,OAE7C,EAAQ,OAAO,EAAI,EAAK,KAG3B,EAAuB,CAAC,EAAG,GAC3B,EAAqB,CAAC,QAE5B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAS,EAAG,CAAC,aC5E1B,AAsDA,YAAmC,EAAsB,EAAO,GAC9D,GAAI,GAAK,EAAgB,EAAG,IAAK,UAEjC,KAAM,GAA+B,CAAC,EAAS,KAC7C,EAAK,CAAC,IAEN,AAAI,GAAQ,MACV,GAAO,GAET,GAAI,GAAO,AAAK,EAAe,EAAM,EAAG,OACxC,KAAM,GAAe,AAAU,GAAmB,EAAM,EAAG,MAC3D,MAAI,IAAgB,MAClB,GAAK,EAAU,EAAI,GACnB,EAAO,AAAU,GAAiB,EAAK,OAAQ,EAAG,OAE7C,EAAQ,OAAO,EAAI,EAAK,KAG3B,EAAuB,CAAC,EAAG,GAC3B,EAAqB,CAAC,QAE5B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAS,EAAG,CAAC,aChF1B,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAC7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WC/CxB,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,MAAM,GAC1B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAQ,EAAG,CAAC,YCjDzB,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WChDxB,AA2CA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAK,EAAgB,EAAG,IAAK,SACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,MAAM,EAAI,GAC9B,SAAK,CAAC,EAAI,IACH,GAEH,EAAsB,CAAC,EAAG,EAAI,EAAG,GAEvC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAQ,EAAG,CAAC,YC7DzB,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,MAAM,GAC1B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAQ,EAAG,CAAC,YCjDzB,AAsCA,YAAiC,EAAiB,GAChD,KAAM,GAAK,EAAgB,EAAG,IAAK,QAGnC,GAAI,CAAC,AAAK,GAAa,GACrB,KAAM,IAAI,OAAM,mCAAmC,KAErD,GAAI,IAAU,UAAY,EAAG,QAAU,UACnC,IAAU,UAAY,EAAG,QAAU,SACrC,KAAM,IAAI,OAAM,yCAGlB,KAAM,GAAqB,CAAC,EAAG,GACzB,EAAmB,CAAC,SAE1B,MAAO,GAAO,cACV,GAAW,EAAQ,KAAK,EAAI,GAAQ,EACpC,KAAiB,GAAM,GAGtB,KAAM,GAAO,EAAG,CAAC,WC1DxB,AAmGM,YACF,EACA,EAAuC,EACvC,EAA4B,EAAqB,OACjD,GAKF,KAAM,GAAgB,EAAW,GAC3B,EACF,CAAC,GAAG,EAAa,GACf,EAAc,GAAwB,GAE5C,MAAO,IACH,EAAY,EAAc,EAAS,EAAW,EAC9C,KAAyB,KAAsB,GAG/C,YACF,EACA,EAAqC,EACrC,EAAoC,EACpC,EACA,EAA6C,gBAC/C,KAAM,CAAC,EAAc,GAAe,GAAgB,GAEpD,GAAI,GACJ,GAAI,IAAe,eACjB,EAAc,CAAC,EAAc,EAAa,EAAQ,GAAI,EAAQ,YACrD,IAAe,gBACxB,EAAc,CAAC,EAAc,EAAa,EAAQ,GAAI,EAAQ,QAE9D,MAAM,IAAI,OAAM,sBAAsB,KAGxC,MAAO,IACH,EAAS,EAAa,EAAS,EAAW,EAAK,EAAc,GAC7D,GAMA,YACF,EACA,EACA,EACA,EAA4C,EAC5C,EACA,EAA8B,SAChC,KAAM,CAAC,EAAa,EAAc,GAAe,GAAiB,GAElE,GAAI,GACA,EACJ,GAAI,IAAe,QACjB,EAAc,eACd,EACI,CAAC,EAAa,EAAc,EAAa,EAAQ,GAAI,EAAQ,YACxD,IAAe,QACxB,EAAc,gBACd,EACI,CAAC,EAAa,EAAc,EAAa,EAAQ,GAAI,EAAQ,QAEjE,MAAM,IAAI,OAAM,sBAAsB,KAGxC,MAAO,IACH,EAAS,EAAa,EAAS,EAAW,EAAK,GAAO,EACtD,GAOA,YACF,EACA,EACA,EAAkC,EAClC,EACA,EAAuC,EAAY,GACnD,EAA6C,gBAC/C,GAAI,CAAC,EAAW,EAAU,EAAS,GAAc,CAAC,GAAI,GAAI,GAAI,IAC9D,GAAI,IAAe,eACjB,CAAC,EAAW,EAAU,EAAS,GAAc,UACpC,IAAe,gBACxB,CAAC,EAAW,EAAY,EAAU,GAAW,MAE7C,MAAM,IAAI,OAAM,sBAAsB,KAGxC,KAAM,CAAC,EAAc,EAAY,CAAG,GAAkB,EAChD,CAAC,EAAc,GAAe,GAAgB,GAC9C,CAAC,EAAgB,GAAiB,GAAgB,GAElD,EACF,GAAuB,EAAc,GACnC,EACF,GAAuB,EAAa,GAClC,CAAC,UAAS,YAAW,YAAY,GACnC,EAAK,EAAU,EAAS,EAAc,EAAa,EACnD,EAAsB,EAAc,GAElC,EAAc,EAAY,EAAiB,EAAa,EAE9D,GAAI,GACJ,MAAI,KAAe,gBACjB,EAAW,CAAC,EAAW,EAAa,EAAW,GAC1C,AAAI,IAAe,gBACxB,GAAW,CAAC,EAAW,EAAW,EAAU,IAGvC,CACL,YACA,aACA,WACA,UACA,aACA,YACA,WACA,cACA,UACA,eACA,cACA,eACA,cACA,wBACA,uBACA,iBACA,gBACA,UACA,WACA,eA0CE,YACF,EACA,EACA,EACA,EAA4C,EAC5C,EAAY,GACZ,EAA6C,eAC7C,GACF,GAAI,CAAC,EAAW,EAAS,EAAU,EAAS,GACxC,CAAC,GAAI,GAAI,GAAI,GAAI,IACrB,GAAI,IAAe,eACjB,CAAC,EAAW,EAAS,EAAU,EAAS,GAAc,UAC7C,IAAe,gBACxB,CAAC,EAAW,EAAY,EAAS,EAAU,GAAW,MAEtD,MAAM,IAAI,OAAM,sBAAsB,KAGxC,KAAM,CAAC,EAAa,EAAc,EAAY,CAAG,GAC7C,EACE,CAAC,EAAa,EAAc,GAAe,GAAiB,GAC5D,CAAC,EAAe,EAAgB,GAClC,GAAiB,GAEf,EACF,GAAuB,EAAa,GAClC,EACF,GAAuB,EAAc,GACnC,EACF,GAAuB,EAAa,GAClC,CAAC,UAAS,YAAU,aAAW,aAAY,GAC7C,EAAK,EAAS,EAAU,EAAS,EAAa,EAAc,EAC5D,EAAsB,EAAuB,EAC7C,GAEE,GAAc,EAAY,EAAiB,EAAa,EAE9D,GAAI,IACJ,MAAI,KAAe,gBACjB,GAAW,CAAC,EAAW,GAAa,GAAU,GAAW,IACpD,AAAI,IAAe,gBACxB,IAAW,CAAC,EAAW,GAAU,GAAW,GAAU,KAGjD,CACL,YACA,aACA,UACA,WACA,UACA,aACA,YACA,aACA,YACA,eACA,UACA,cACA,eACA,cACA,cACA,eACA,cACA,uBACA,wBACA,uBACA,gBACA,iBACA,gBACA,UACA,YACA,eAIJ,YACI,EAA2B,EAAmB,EAC9C,EAAkB,GACpB,AAAI,GAAW,MACb,GAAU,GAAkB,EAAS,EAAW,IAElD,KAAM,GAAY,EAAQ,GACpB,EAAY,EAAQ,GAEpB,EAAa,GACd,GAAY,EAAY,EAAI,GAAW,EAAS,EAAG,GACxD,AAAK,EACD,AAAK,EAAM,GACX,IAAM,yBAAyB,uEAGnC,KAAM,GAAa,GACd,GAAY,EAAY,EAAI,GAAW,EAAS,EAAG,GACxD,MAAK,GACD,AAAK,EAAM,GACX,IAAM,4BAA4B,uEAG/B,CAAC,EAAY,GAGtB,YACI,EAA2C,EAC3C,EAAqB,EAAgB,EACrC,GACF,AAAI,GAAW,MACb,GAAU,GAAkB,EAAS,EAAW,IAElD,KAAM,GAAa,EAAQ,GACrB,EAAY,EAAQ,GACpB,EAAY,EAAQ,GAEpB,EAAe,GAChB,GAAa,EAAY,EAAI,GAAW,EAAS,EAAG,GACzD,AAAK,EACD,AAAK,EAAM,GACX,IAAM,2BAA2B,uEAGrC,KAAM,GAAa,GACd,GAAY,EAAY,EAAI,GAAW,EAAS,EAAG,GACxD,AAAK,EACD,AAAK,EAAM,GACX,IAAM,yBAAyB,uEAGnC,KAAM,GAAa,GACd,GAAY,EAAY,EAAI,GAAW,EAAS,EAAG,GACxD,MAAK,GACD,AAAK,EAAM,GACX,IAAM,4BAA4B,uEAG/B,CAAC,EAAc,EAAY,EAAY,GAG1C,YACF,EACA,EAAmB,EAAgB,EAAW,GAChD,KAAM,GAAqB,GAAuB,EAAW,GAC7D,MAAO,MAAK,MACP,GAAW,GAAM,GAAS,GAAK,EAAS,GAAsB,GAGrE,YAAyB,GACvB,MAAI,OAAO,IAAU,SACZ,CAAC,EAAO,EAAO,GAEpB,EAAM,SAAW,EACZ,CAAC,EAAM,GAAI,EAAM,GAAI,GAEvB,EAGT,YAA0B,GAExB,MAAO,OAAO,IAAU,SAAW,CAAC,EAAO,EAAO,GAAS,EAc7D,YAAgC,EAAoB,GAClD,MAAI,IAAY,EACP,EAGF,EAAc,GAAa,GAAM,GAAW,GAGrD,YACI,EAA4C,EAC5C,EAAiB,EAAsB,EACvC,EAAsB,EACtB,EACA,GAEF,GAAI,GACA,EACA,EAEJ,GAAI,MAAO,IAAQ,UACjB,KAAM,GAAW,IAAQ,EAAK,QAAU,SACxC,EAAU,CAAC,IAAK,EAAK,OAAQ,EAAK,KAAM,EAAK,MAAO,EAAK,KAAM,GAC/D,KAAM,GAAW,GACb,CAAC,EAAU,GAAU,EAAc,EAAc,EAAK,GAC1D,EAAY,EAAS,GACrB,EAAW,EAAS,WACX,IAAQ,QACjB,EAAY,KAAK,KAAK,EAAW,GACjC,EAAW,KAAK,KAAK,EAAU,GAC/B,KAAM,GACF,KAAK,IAAI,EAAI,GAAY,GAAK,EAAe,EAAe,GAC1D,EACF,KAAK,IAAI,EAAI,GAAW,GAAK,EAAc,EAAc,GACvD,EAAM,KAAK,MAAM,EAAiB,GAClC,EAAS,EAAiB,EAC1B,EAAO,KAAK,MAAM,EAAgB,GAClC,EAAQ,EAAgB,EAC9B,EAAU,CAAC,MAAK,SAAQ,OAAM,QAAO,KAAM,gBAClC,IAAQ,QACjB,EAAU,CAAC,IAAK,EAAG,OAAQ,EAAG,KAAM,EAAG,MAAO,EAAG,KAAM,SACvD,EAAY,KAAK,KAAM,GAAW,EAAe,GAAK,GACtD,EAAW,KAAK,KAAM,GAAU,EAAc,GAAK,WAC1C,MAAO,IAAQ,UACxB,KAAM,GAAM,IAAe,eAAiB,EAAI,GAAG,GAAK,EAAI,GAAG,GACzD,EAAS,IAAe,eAAiB,EAAI,GAAG,GAAK,EAAI,GAAG,GAC5D,EAAO,IAAe,eAAiB,EAAI,GAAG,GAAK,EAAI,GAAG,GAC1D,EAAQ,IAAe,eAAiB,EAAI,GAAG,GAAK,EAAI,GAAG,GAC3D,EAAW,IAAQ,GAAK,IAAW,GAAK,IAAS,GAAK,IAAU,EAClE,QACA,WACJ,EAAU,CAAC,MAAK,SAAQ,OAAM,QAAO,KAAM,GAC3C,EAAY,GACP,GAAW,EAAe,EAAM,GAAU,EAAe,EAC1D,GACJ,EAAW,GACN,GAAU,EAAc,EAAO,GAAS,EAAc,EAAG,OAE9D,MAAM,OAAM,8BAA8B,KAE5C,MAAO,CAAC,UAAS,YAAW,YAG9B,YACI,EAA4B,EAAiB,EAC7C,EAAiB,EAAqB,EACtC,EAAqB,EAAqB,EAC1C,EAAqB,GAMvB,GAAI,GACA,EACA,EACA,EAEJ,GAAI,MAAO,IAAQ,UACjB,KAAM,GAAW,IAAQ,EAAK,QAAU,SACxC,EAAU,CACR,IAAK,EACL,OAAQ,EACR,KAAM,EACN,MAAO,EACP,MAAO,EACP,KAAM,EACN,KAAM,GAER,KAAM,GAAW,GACb,CAAC,EAAS,EAAU,EAAS,GAAI,EAAa,EAAG,EAAa,EAC9D,GACJ,EAAW,EAAS,GACpB,EAAY,EAAS,GACrB,EAAW,EAAS,WACX,IAAQ,QACjB,EAAW,KAAK,KAAK,EAAU,GAC/B,EAAY,KAAK,KAAK,EAAW,GACjC,EAAW,KAAK,KAAK,EAAU,GAC/B,KAAM,GAAiB,GAAW,GAAK,EAAc,EAAc,EAC7D,EACD,GAAY,GAAK,EAAe,EAAe,EAC9C,EAAiB,GAAW,GAAK,EAAc,EAAc,EAC7D,EAAQ,KAAK,MAAM,EAAgB,GACnC,EAAO,EAAgB,EACvB,EAAM,KAAK,MAAM,EAAiB,GAClC,EAAS,EAAiB,EAC1B,EAAO,KAAK,MAAM,EAAgB,GAClC,EAAQ,EAAgB,EAE9B,EAAU,CAAC,MAAK,SAAQ,OAAM,QAAO,QAAO,OAAM,KAAM,gBAC/C,IAAQ,QACjB,EAAU,CACR,IAAK,EACL,OAAQ,EACR,KAAM,EACN,MAAO,EACP,MAAO,EACP,KAAM,EACN,KAAM,SAER,EAAW,KAAK,KAAM,GAAU,EAAc,GAAK,GACnD,EAAY,KAAK,KAAM,GAAW,EAAe,GAAK,GACtD,EAAW,KAAK,KAAM,GAAU,EAAc,GAAK,OAEnD,MAAM,OAAM,8BAA8B,KAE5C,MAAO,CAAC,UAAS,WAAU,YAAW,YAQxC,YACI,EAAe,GACjB,GAAI,CAAC,EACH,MAAO,GAET,OAAQ,OACD,QAEH,MAAO,MAAK,MAAM,OACf,OAEH,MAAO,MAAK,KAAK,OACd,QACH,MAAO,MAAK,MAAM,WAElB,KAAM,IAAI,OAAM,wBAAwB,MAIxC,YAA4B,GAChC,KAAM,CAAC,EAAM,EAAM,GAAQ,GAAgB,GAC3C,MAAO,KAAS,GAAK,IAAS,GAAK,IAAS,EAGxC,YACF,EAA0B,GAC5B,MAAO,IAAkB,IAAY,GAAkB,GAUnD,YAAkC,GAEtC,GAAI,IAAe,OACjB,MAAO,eACF,GAAI,IAAe,OACxB,MAAO,gBAEP,KAAM,IAAI,OAAM,sBAAsB,KC5mB1C,AAoDA,YACI,EAAiB,EACjB,EAAkC,EAClC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,UAAW,WACxC,EAAY,EAElB,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,wEACa,oBAA0B,MAEjD,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG3D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,mDAAmD,EAAI,SAEjE,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,wEACiB,iBAA+B,MAG5D,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAY,EAAS,EAAmB,EACnD,GAIJ,MAFA,GAAK,CAAC,IAEF,EAAS,cAAgB,GAAK,EAAS,eAAiB,GACxD,AAAK,GAAY,EAAS,QAAS,EAAS,UACvC,EAAI,QAGN,EAAQ,QAAQ,EAAK,IAGxB,EAAwB,CAAC,EAAG,GAE5B,EAAsB,CAAC,aAAY,UAAS,MAAK,mBAEvD,GAAI,GAAM,EAAO,cACb,EAAS,EAAgC,KAAiB,GAC1D,GAIJ,MAFA,GAAM,EAAK,EAAK,EAAG,OAEf,EACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAGtD,EAGF,KAAM,IAAU,EAAG,CAAC,cClH3B,AA+BM,cACJ,KAAM,IAAI,OAAQ,IAgBd,cACJ,KAAM,IAAI,QAAS,IAIf,cACJ,KAAM,IAAI,+BAAgC,IAC1C,QAAQ,KAAK,0DAIT,YAA0B,GAC9B,AAAI,KAAM,QAAQ,iCAChB,QAAQ,KACJ,EAAM,+EAId,GAAwB,IAMlB,cACJ,EAAO,mBAOH,cACJ,MAAO,GAuBH,cACJ,MAAO,GAAO,SA+BV,YAAkB,GAEtB,MAAO,GAAO,QAAQ,GA0ClB,WACF,EAA6B,GAC/B,MAAO,GAAO,KAAK,EAAU,GAazB,YAAkB,GACtB,KAAM,GAAU,GAAsB,GACtC,EAAQ,QAAQ,GAAU,EAAO,WAkC7B,YAAiC,GACrC,MAAO,GAAO,KAAK,GA2Bf,YAAe,GACnB,MAAO,GAAO,KAAK,GAiBf,YAAqB,GACzB,MAAO,GAAO,WAAW,GASrB,cACJ,MAAO,GAAO,QAQV,cACJ,MAAO,GAAO,YAOV,YAAwB,GAC5B,EAAO,cAAc,GAOjB,YAAsB,GAC1B,MAAO,GAAO,YAAY,GAQtB,YAA6B,GAEjC,MAAO,GAAO,mBAAmB,GAiB7B,YACF,EAAc,EACd,EAAW,GACb,MAAO,GAAO,gBAAgB,EAAM,EAAS,GAUzC,cACJ,MAAO,GAAO,QASV,YAAsB,EAAsB,GAChD,KAAM,YAAY,EAAc,GC5WlC,AA4EA,YACI,EAAiB,EACjB,EAA0C,EAC1C,EACA,EAA8B,QAC9B,GACF,AAAI,GAAa,KACf,EAAY,CAAC,EAAG,EAAG,GAEnB,GACI,+DAIN,KAAM,GAAK,EAAgB,EAAG,IAAK,YAAa,WAEhD,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAGxE,AAAK,EACD,EAAI,OAAS,EACb,IAAM,qDAAqD,EAAI,SACnE,AAAK,EACD,IAAe,QACf,IAAM,gFACuB,KACjC,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,0EACa,oBAA0B,MAEjD,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,0EACiB,iBAA+B,MAG5D,KAAM,GAA+B,CAAC,EAAS,KAC7C,AAAI,GAAa,MACf,GAAY,CAAC,EAAG,EAAG,IAGrB,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAY,EAAS,EAAW,EAAK,EAChD,GAEJ,SAAK,CAAC,IAEC,EAAQ,UAAU,EAAK,IAG1B,EAA0B,CAAC,EAAG,GAE9B,EACF,CAAC,aAAY,UAAS,MAAK,kBAAiB,aAAY,aAE5D,GAAI,GAAM,EAAO,cACb,EAAS,EAAgC,KAAiB,GAC1D,GAIJ,MAFA,GAAM,EAAK,EAAK,EAAI,OAEhB,EACK,EACI,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAIhE,EAGF,KAAM,IAAY,EAAG,CAAC,gBCxJ7B,AAmBM,YAAiC,EAAoB,GACzD,KAAM,GAAO,EAAO,GAAG,OACvB,EAAO,QAAQ,CAAC,EAAO,KACrB,AAAK,EACD,EAAM,SAAW,EACjB,IACI,kBAAkB,uBAA0B,gDAChB,QAGtC,AAAK,EACD,GAAQ,GAAK,EAAO,EACpB,IAAM,kBAAkB,kCAAqC,EAAO,MAExE,KAAM,GAAa,EAAO,GAC1B,EAAO,QAAQ,CAAC,EAAO,KACrB,OAAS,GAAI,EAAG,EAAI,EAAM,IACxB,AAAK,EACA,IAAM,GAAU,EAAM,KAAO,EAAW,GACzC,IAAM,kBAAkB,wBAA2B,OAAO,4CACb,sCACN,QAK3C,YAA0B,EAAoB,GAClD,KAAM,GAAc,EAAO,GAAG,QAC9B,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,EAAY,IAAS,EAAO,GAAG,GAEjC,MAAO,GClDT,AAwBM,YACF,EAAoB,EAAiB,EACrC,GAIF,GAHA,AAAI,GAAS,MACX,GAAQ,GAAW,IAEjB,IAAU,YACZ,KAAM,IAAI,OACN,oFAGN,GAAI,CAAC,GAAa,IAAW,CAAC,MAAM,QAAQ,IACxC,MAAO,IAAW,UAAY,MAAO,IAAW,WAChD,MAAO,IAAW,SACpB,KAAM,IAAI,OACN,4HAGN,GAAI,GAAS,MACX,GAAmC,GAEnC,KAAM,GAAe,GAAc,GAC7B,EAAe,GAAc,GACnC,EACI,IAAiB,EACjB,IACI,iCAAiC,8BAC9B,oBAA+B,KAE1C,OAAS,GAAI,EAAG,EAAI,EAAc,OAAQ,EAAE,GAC1C,KAAM,GAAW,EAAc,GACzB,EAAoB,IAAM,EAAc,OAAS,EACnD,IAAa,GAAc,EAAM,MAAM,IACvC,GACJ,EACI,EAAc,KAAO,EAAM,IAAM,CAAC,EAClC,IAAM,gDACE,yCACM,SAItB,MAAI,CAAC,GAAa,IAAW,CAAC,MAAM,QAAQ,IAC1C,GAAS,CAAC,IAGZ,EAAQ,GAAS,EACjB,EAAS,IAAU,SACf,GAAa,EAAQ,GACrB,GAAQ,EAAoB,GAAI,IAC7B,EAAO,WAAW,EAAsB,EAAO,GC1ExD,AAmDM,YACF,EAAoB,EAAqB,GAC3C,KAAM,GAAgB,GAAW,EAAQ,GACzC,MAAO,IAAW,EAAQ,EAAO,EAAe,GCtDlD,AAoEA,YAAmC,EAA8B,EAAO,GACtE,EAAO,EAAQ,QAAU,EAAG,IAAM,sCAElC,GAAI,GAAW,GAAqB,EAAS,UAAW,UACxD,AAAI,EAAS,GAAG,QAAU,aACxB,EAAS,QAAQ,IACf,GAAI,EAAO,QAAU,YACnB,KAAM,IAAI,OAAM;uBACD,EAAO,aAK5B,KAAM,GAAQ,EAAe,EAAM,EAAS,GAAG,OAAO,GAChD,EAAW,GAAgB,EAAS,IAAI,GAAK,EAAE,OAAQ,GAC7D,GAAI,GAAc,KAAc,EAC9B,MAAO,IAAO,GAAI,GAIpB,GADA,EAAW,EAAS,OAAO,GAAK,EAAE,KAAO,GACrC,EAAS,SAAW,EACtB,MAAO,GAAS,GAGlB,KAAM,GAAS,EAAS,IAAI,GAAK,EAAE,OACnC,GAAuB,EAAQ,GAE/B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,OAAO,EAAU,GACrC,SAAK,GACE,GAGH,EAAuB,EACvB,EAAoB,CAAC,QAE3B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,GAAS,EAAG,CAAC,aC7G1B,AA4CA,YACI,EAAiB,EAAiB,EAAa,GAC/C,EAAa,IACf,GAAI,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAK,EAAgB,EAAG,IAAK,UACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,AAAK,EACD,EAAG,MAAQ,GAAK,EAAG,MAAQ,GAAK,EAAG,OAAS,EAAG,KAC/C,IAAM,4EACW,EAAG,YAAY,EAAG,SAEvC,KAAM,GACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GACtD,EACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GAEtD,EACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GACtD,EACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GAEtD,EAAa,EAAG,MAAM,MAAM,EAAG,IAC/B,EAAa,EAAG,MAAM,MAAM,EAAG,IAC/B,EAAY,AAAK,GAAc,GAC/B,EAAY,AAAK,GAAc,GAErC,AAAK,EACD,AAAK,GAAY,EAAY,GAC7B,IAAM,sCAAsC,WACrC,6BAAsC,EAAG,aACzC,EAAG,qBAEd,AAAK,EACD,IAAgB,EAChB,IAAM,kCAAkC,WACjC,6BAAuC,EAAG,aAC1C,EAAG,wBAAwB,oBACX,iBAE3B,KAAM,GAAW,EAAG,MAAM,MAAM,EAAG,IAAI,OAAO,CAAC,EAAa,IAEtD,EAAM,EAAa,EAAQ,EAAI,CAAC,EAAW,EAAa,IACrC,EAAQ,EAAI,CAAC,EAAW,EAAa,IACxD,EAAM,EAAa,EAAQ,EAAI,CAAC,EAAW,EAAa,IACrC,EAAQ,EAAI,CAAC,EAAW,EAAa,IAExD,EAA+B,CAAC,EAAS,IAC7C,GAAK,CAAC,EAAK,IAEJ,EAAQ,YACX,EAAiB,EAAiB,EAAY,IAG9C,EAA4B,CAAC,EAAG,EAAK,EAAG,GAExC,EAA0B,CAAC,aAAY,cAEvC,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GAEJ,MAAO,GAAQ,EAAK,GAGf,KAAM,GAAS,EAAG,CAAC,aC7G1B,AAmDA,YAAgC,EAAsB,GACpD,GAAI,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,SAAS,EAAI,GACjC,SAAK,CAAC,EAAI,IACH,GAEH,EAAyB,CAAC,EAAG,EAAI,EAAG,GAE1C,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAEN,KAAM,GAAM,EAAG,CAAC,UCnEvB,AAqCA,YAAoC,GAClC,KAAM,GAAK,EAAgB,EAAG,IAAK,WAE7B,EAAwB,CAAC,EAAG,GAElC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,QAAQ,GAC5B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAU,EAAG,CAAC,cChD3B,6TAoBM,YACF,EAAe,EAAiB,GAClC,AAAK,EACD,EAAM,OAAS,EAAM,OACrB,IAAM,iBAAiB,EAAM,0BAA0B,uCACnB,EAAM,UAC9C,AAAK,EACD,EAAM,OAAS,EAAK,OACpB,IAAM,iBAAiB,EAAM,yBAAyB,uCAClB,EAAM,UAE9C,OAAS,GAAI,EAAG,EAAI,EAAM,KAAM,EAAE,EAChC,AAAK,EACD,EAAM,GAAK,EAAK,IAAM,EAAM,MAAM,GAClC,IAAM,iBAAiB,EAAM,gBAAgB,aAAa,OAClD,EAAM,GAAK,EAAK,kCAAkC,OAChD,EAAM,MAAM,OAKxB,YAAqB,GACzB,KAAM,GAAO,GACb,GAAI,GAAO,EACX,KAAO,EAAO,GACZ,AAAI,EAAO,GACT,EAAK,KAAK,GAEZ,GAAQ,EACR,IAEF,MAAO,GAIH,YACF,EAAiB,EAAe,GAClC,KAAM,GAAO,GACb,OAAS,GAAO,EAAG,EAAO,EAAM,OAAQ,IACtC,EAAK,GAAQ,KAAK,KAAM,GAAI,GAAQ,EAAM,IAAS,EAAQ,IAE7D,MAAO,GAKH,YACF,EAAmB,EAAgC,EACnD,GACF,KAAM,GAAa,CAAC,GAAG,GACvB,OAAS,GAAI,EAAW,OAAQ,EAAI,EAAW,OAAQ,IACrD,EAAW,KAAK,GAElB,OAAS,GAAI,EAAG,EAAI,EAAe,IACjC,AAAI,IAAM,EACR,EAAW,GAA0B,EAErC,GAAW,OACP,EAAwB,EACxB,GACJ,EAAW,OAGf,MAAO,GAGT,YACI,EAAgC,EAChC,GACF,MAAI,IAAkB,EACb,EAGF,EAAkB,GAAgB,GAG3C,YAAuB,EAAuB,GAC5C,KAAM,GAAa,GACnB,OAAS,GAAI,EAAG,EAAI,EAAe,IACjC,EAAW,KAAK,EAAyB,GAE3C,MAAO,GAKH,YACF,EAAmB,EAAgC,EACnD,EAAyB,GAC3B,KAAM,GAAa,CAAC,GAAG,GACjB,EAAa,GAAc,EAAe,GAEhD,OAAS,GAAO,EAAG,EAAO,EAAW,OAAQ,IAC3C,GAAI,EAAW,QAAQ,GAAQ,GAC7B,EAAW,GAAQ,OAEnB,KAAM,GACF,GAAgB,EAAwB,EAAe,GAC3D,GAAI,GAAgB,EAAc,GAClC,AAAI,EAAY,GAAK,GACnB,GAAgB,GAGlB,EAAW,GAAQ,EAGvB,MAAO,GAKH,YACF,EAAiB,EAAgC,EACjD,EAAuB,GACzB,KAAM,GAAa,CAAC,GAAG,GACjB,EAAa,GAAc,EAAe,GAEhD,OAAS,GAAO,EAAG,EAAO,EAAW,OAAQ,IAC3C,GAAI,EAAW,QAAQ,GAAQ,GAC7B,EAAW,GAAQ,OAAO,sBAE1B,KAAM,GACF,GAAgB,EAAwB,EAAe,GAC3D,GAAI,GAAgB,EAAY,GAChC,AAAI,EAAU,GAAK,GACjB,GAAgB,OAAO,kBAEzB,EAAW,GAAQ,EAIvB,OAAS,GAAI,EAAG,EAAI,EAAW,OAAQ,KAErC,KAAM,GAAW,EAAW,GAC5B,AAAI,EAAW,GAAK,GAClB,GAAW,IAAM,GAEnB,EAAW,GAAK,AAAK,GAAM,EAAG,EAAW,GAAI,EAAW,IAE1D,MAAO,GAGH,YACF,EAAmB,EAAc,GACnC,GAAI,GAAS,EAAQ,GACrB,MAAI,GAAgB,GAAK,GAAS,GAAU,OAC1C,GAAS,GAGJ,EAGH,YACF,EAAmB,EAAwB,EAC3C,EAAsB,EAAc,GAEtC,GAAI,GAAQ,EAAa,GACzB,KAAM,GAAS,EAAQ,IAAS,EAIhC,AAAI,GAAY,GAAK,GAAQ,EAAe,GAAK,GAAQ,GAAS,OAChE,CAAI,EAAS,EAIX,EAAQ,OAAO,iBAGf,EAAQ,OAAO,kBAKnB,KAAM,GAAW,EAAW,GAC5B,MAAI,GAAQ,GACV,IAAS,GAIX,EAAQ,AAAK,GAAM,EAAG,EAAO,EAAW,GAEjC,EAGH,YACF,EAAiB,EAAuB,EACxC,EAAsB,EAAc,GAEtC,GAAI,GAAO,EAAY,GACvB,KAAM,GAAS,EAAQ,IAAS,EAIhC,AAAI,GAAW,GAAK,GAAS,EAAgB,GAAK,GAAS,GAAQ,OACjE,CAAI,EAAS,EAGX,EAAO,OAAO,iBAGd,EAAO,OAAO,kBAKlB,KAAM,GAAW,EAAW,GAC5B,MAAI,GAAO,GACT,IAAQ,GAMV,AAAI,EAAS,EAEX,EAAO,AAAK,GAAM,EAAG,EAAM,GAG3B,EAAO,AAAK,GAAM,GAAI,EAAM,EAAW,GAGlC,EAOH,YACF,EAAiB,EAAiB,GAEpC,GAAI,GAAkB,EAAK,OAC3B,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,GAAI,EAAK,GAAK,GACZ,EAAkB,EAClB,MAIJ,OAAS,GAAI,EAAkB,EAAG,EAAI,EAAK,OAAQ,IACjD,GAAI,EAAM,GAAK,GAAK,EAAK,KAAO,EAAM,GACpC,MAAO,GAGX,MAAO,GAGH,YAA4B,EAAiB,GACjD,GAAI,GAAa,EAAM,OAAS,EAAI,EAAM,EAAM,OAAS,GAAK,EAC9D,OAAS,GAAI,EAAG,EAAI,EAAM,OAAS,EAAG,IACpC,GAAc,EAAM,GAAK,EAAQ,GAEnC,MAAO,GAGH,YACF,EAAW,EAAwB,GAErC,GAAI,GACJ,AAAI,MAAO,IAAU,SACnB,EAAS,CAAC,EAAO,GAAG,GAAI,OAAM,EAAE,KAAO,GAAG,KAAK,IAC1C,AAAI,EAAM,OAAS,EAAE,KAC1B,EAAS,EAAM,OAAO,GAAI,OAAM,EAAE,KAAO,EAAM,QAAQ,KAAK,IAE5D,EAAS,EAAM,QAEjB,EAAO,QAAQ,IACb,AAAK,EACD,IAAM,GAAI,IAAM,uDAEtB,GAAI,GACJ,MAAI,IAAQ,KACV,EAAQ,GAAI,OAAM,EAAE,MAAM,KAAK,IAC1B,AAAI,MAAO,IAAS,SACzB,EAAQ,CAAC,EAAM,GAAG,GAAI,OAAM,EAAE,KAAO,GAAG,KAAK,KACxC,AAAI,EAAK,OAAS,EAAE,KACzB,EAAQ,EAAK,OAAO,GAAI,OAAM,EAAE,KAAO,EAAK,QAAQ,KAAK,KAEzD,EAAQ,EAEV,EAAQ,EAAM,IAAI,CAAC,EAAG,IAChB,GAAK,EACA,EAEP,CAAK,EACD,IAAM,GACN,IAAM,qDACC,mCAAmC,MACvC,EAAE,MAAM,GAAK,EAAO,KAGxB,CAAC,EAAQ,GCxTlB,AA6DA,YACI,EAAiB,EAAwB,GAC3C,KAAM,GAAK,EAAgB,EAAG,IAAK,SAEnC,GAAI,EAAG,OAAS,EACd,KAAM,IAAI,OAAM,kCAElB,KAAM,CAAC,EAAQ,GAAS,AAAW,GAAiB,EAAI,EAAO,GAC/D,AAAW,GAAkB,EAAI,EAAQ,GAEzC,KAAM,GAA+B,CAAC,EAAS,IAC7C,GAAK,CAAC,IACC,EAAQ,MAAM,EAAI,EAAQ,IAG7B,EAAsB,CAAC,EAAG,GAC1B,EAAoB,CAAC,QAAO,QAElC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,GAAQ,EAAG,CAAC,YCpFzB,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAI,EAAQ,KAAK,GACvB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WChDxB,AA6CA,YACI,EAA+B,EAC/B,EAA+B,EAC/B,EAAwB,GAC1B,KAAM,GACF,EAAgB,EAAY,aAAc,iBACxC,EACF,EAAgB,EAAY,aAAc,iBACxC,EAAY,EAAgB,EAAU,WAAY,iBAClD,EAAQ,EAAgB,EAAM,OAAQ,iBACtC,EAAK,EAAgB,EAAG,IAAK,iBAC7B,EAAK,EAAgB,EAAG,IAAK,iBAE7B,EAAW,EAAO,CAAC,EAAO,GAAK,GAC/B,EAAW,EAAO,EAAU,GAC5B,EAAgB,EAAI,EAAU,GAG9B,EAAY,EAAI,MAAM,GACtB,EAAY,EAAI,MAAM,GAAK,EAC3B,EAA8B,CAAC,EAAW,GAC1C,EAAI,EAAM,EAAK,CAAC,EAAG,GAAI,GACvB,EAAI,EAAM,EAAK,CAAC,EAAG,GAAY,GAC/B,EAAI,EAAM,EAAK,CAAC,EAAG,EAAY,GAAI,GACnC,EAAI,EAAM,EAAK,CAAC,EAAG,EAAY,GAAI,GAEnC,EACF,EAAI,EAAI,GAAQ,GAAI,GAAK,IACrB,EAAI,EAAI,GAAQ,EAAI,EAAa,MACnC,EAAiB,EAAI,GAAK,GAAO,GAAQ,IAC/C,MAAO,CAAC,EAAM,GAGT,KAAM,IAAgB,EAAG,CAAC,oBC9EjC,AA2EA,YACI,EAAiB,EAAsB,GACzC,KAAM,GAAK,EAAgB,EAAG,IAAK,kBAC7B,EAAO,EAAW,OAAO,CAAC,EAAG,IAAM,EAAI,GAE7C,AAAK,EACD,EAAG,MAAQ,EAAI,EAAW,OAC1B,IAAM,iBAAiB,EAAG,+CACtB,EAAW,UAEnB,AAAK,EACD,EAAM,SAAW,EAAW,OAC5B,IAAM,mBACF,EAAM,oDACN,EAAW,UAEnB,AAAK,EACD,EAAG,MAAM,GAAK,IAAS,EACvB,IAAM,yBACI,EAAG,MAAM,wEACe,EAAW,KAAK,cAAc,KAEpE,KAAM,GAA0B,GACvB,EAAQ,eAAe,EAAI,EAAY,GAG1C,EAA+B,CAAC,EAAG,GACnC,EAA6B,CAAC,aAAY,SAEhD,MAAO,GAAO,cACV,EAAS,EAAgC,KACzC,GAAgB,GAGf,KAAM,IAAiB,EAAG,CAAC,qBCzF5B,YAAgC,GACpC,GAAI,GACJ,MAAI,GAAE,OAAS,GAAK,EAAE,OAAS,EAC7B,EAAM,EAAQ,EAAG,CAAC,EAAG,EAAG,EAAG,EAAE,OACxB,AAAI,EAAE,OAAS,EACpB,EAAM,EAAQ,EAAG,CAAC,EAAG,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,KACvC,AAAI,EAAE,OAAS,EACpB,EAAM,EAAQ,EAAG,CAAC,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,KAErD,EAAM,EAGD,EChCT,AAuDA,YACI,EAAyB,EACzB,EACA,EACA,EACA,GACF,AAAI,GAAmB,MACrB,GAAkB,MAEpB,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAQ,EAAgB,EAAM,OAAQ,aACtC,EAAY,EAAgB,EAAU,WAAY,aACxD,GAAI,GACJ,AAAI,GAAS,MACX,GAAS,EAAgB,EAAO,QAAS,cAE3C,GAAI,GACJ,AAAI,GAAU,MACZ,GAAU,EAAgB,EAAQ,SAAU,cAG9C,AAAK,EACD,EAAM,OAAS,EAAU,KACzB,IAAM,gFAEV,AAAK,EACD,GAAW,MAAQ,EAAM,OAAS,EAAQ,KAC1C,IAAM,8EAEV,AAAK,EACD,GAAU,MAAQ,EAAM,OAAS,EAAO,KACxC,IAAM,6EAGV,KAAM,GAAgB,GAAM,GAEtB,EAA+B,CAAC,EAAS,IAC7C,GAAK,CAAC,EAAK,EAAO,EAAW,IAEtB,EAAQ,UACX,EAAK,GAAS,GAAQ,GAAS,GAAY,GAAS,GACpD,GAAS,GAAS,IAGlB,EAA+B,CACnC,EAAG,EACH,MAAO,EACP,OAAQ,EACR,KAAM,EACN,SAAU,GAGN,EAA6B,CAAC,mBAE9B,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAgB,GAEpB,MAAO,GAAQ,EAAK,EAAG,OAGzB,YAAkB,GAChB,MAAI,IAAK,KACA,KAEL,EAAE,OAAS,EAEN,EAAQ,EAAG,CAAC,EAAE,OACZ,EAAE,OAAS,EACb,EACE,EAAE,OAAS,EAEb,EAAQ,EAAG,CAAC,EAAG,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,KACpC,EAAE,OAAS,EAEb,EAAQ,EAAG,CAAC,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,KAEjD,EAGF,KAAM,IAAY,EAAG,CAAC,gBCpG7B,YACI,EAAwB,EACxB,EACA,EAAuC,EACvC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAQ,EAAgB,EAAM,OAAQ,aACtC,EAAY,EAAgB,EAAU,WAAY,aACxD,GAAI,GACJ,AAAI,GAAS,MACX,GAAS,EAAgB,EAAO,QAAS,cAE3C,GAAI,GACJ,MAAI,IAAU,MACZ,GAAU,EAAgB,EAAQ,SAAU,cAE9C,AAAK,EACD,EAAG,OAAS,EACZ,IAAM,uDACC,EAAG,SACd,AAAK,EACD,EAAM,OAAS,GAAK,EAAM,OAAS,EACnC,IAAM,oEACU,EAAM,SAC1B,AAAK,EACD,EAAU,OAAS,GAAK,EAAU,OAAS,EAC3C,IAAM,wEACc,EAAU,SAClC,AAAI,GAAU,MACZ,AAAK,EACD,EAAO,OAAS,GAAK,EAAO,OAAS,EACrC,IAAM,qEACc,EAAO,SAEjC,AAAI,GAAW,MACb,AAAK,EACD,EAAQ,OAAS,GAAK,EAAQ,OAAS,EACvC,IAAM,sEACc,EAAQ,SAG3B,GAAU,EAAI,EAAO,EAAW,EAAS,EAAQ,GAGnD,KAAM,IAAc,EAAG,CAAC,kBC5C/B,YACI,EAAwB,EACxB,EACA,EAAuC,EACvC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAQ,EAAgB,EAAM,OAAQ,aACtC,EAAY,EAAgB,EAAU,WAAY,aACxD,GAAI,GACJ,AAAI,GAAS,MACX,GAAS,EAAgB,EAAO,QAAS,cAE3C,GAAI,GACJ,MAAI,IAAU,MACZ,GAAU,EAAgB,EAAQ,SAAU,cAE9C,AAAK,EACD,EAAG,OAAS,EACZ,IAAM,uDACC,EAAG,SACd,AAAK,EACD,EAAM,OAAS,GAAK,EAAM,OAAS,EACnC,IAAM,oEACU,EAAM,SAC1B,AAAK,EACD,EAAU,OAAS,GAAK,EAAU,OAAS,EAC3C,IAAM,wEACc,EAAU,SAClC,AAAI,GAAU,MACZ,AAAK,EACD,EAAO,OAAS,GAAK,EAAO,OAAS,EACrC,IAAM,qEACc,EAAO,SAEjC,AAAI,GAAW,MACb,AAAK,EACD,EAAQ,OAAS,GAAK,EAAQ,OAAS,EACvC,IAAM,sEACc,EAAQ,SAG3B,GAAU,EAAI,EAAO,EAAW,EAAS,EAAQ,GAGnD,KAAM,IAAc,EAAG,CAAC,kBC5C/B,YACI,EAAwB,EACxB,EACA,EAAuC,EACvC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAQ,EAAgB,EAAM,OAAQ,aACtC,EAAY,EAAgB,EAAU,WAAY,aACxD,GAAI,GACJ,AAAI,GAAS,MACX,GAAS,EAAgB,EAAO,QAAS,cAE3C,GAAI,GACJ,MAAI,IAAU,MACZ,GAAU,EAAgB,EAAQ,SAAU,cAE9C,AAAK,EACD,EAAG,OAAS,EACZ,IAAM,uDACC,EAAG,SACd,AAAK,EACD,EAAM,OAAS,GAAK,EAAM,OAAS,EACnC,IAAM,oEACU,EAAM,SAC1B,AAAK,EACD,EAAU,OAAS,GAAK,EAAU,OAAS,EAC3C,IAAM,wEACc,EAAU,SAClC,AAAI,GAAU,MACZ,AAAK,EACD,EAAO,OAAS,GAAK,EAAO,OAAS,EACrC,IAAM,qEACc,EAAO,SAEjC,AAAI,GAAW,MACb,AAAK,EACD,EAAQ,OAAS,GAAK,EAAQ,OAAS,EACvC,IAAM,sEACc,EAAQ,SAE3B,GAAU,EAAI,EAAO,EAAW,EAAS,EAAQ,GAGnD,KAAM,IAAc,EAAG,CAAC,kBC9E/B,AAuCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,QAAS,MACtC,EAAU,IACZ,EAAO,qBAAqB,EAAG,OAAQ,EAAG,MAAO,EAAG,OAElD,EAAyB,CAAC,EAAG,GAInC,MAAO,GAAO,cACV,EAAS,EAAgC,KAAiB,IAGzD,KAAM,IAAQ,EAAG,CAAC,YCpDzB,AA2CA,YACI,EAAsB,GACxB,GAAI,GAAQ,EAAgB,EAAG,cAAe,KAC9C,KAAM,GAAS,EAAM,MAErB,GAAI,EAAM,KAAK,GAAK,CAAE,GAAI,IAAM,EAAI,IAAM,GACxC,KAAM,IAAI,OAAM,2CAA2C,OAG7D,GAAI,EAAM,OAAS,EAAM,KACvB,KAAM,IAAI,OAAM,+BAA+B,EAAM,uBACjD,EAAM,SAGZ,GAAI,EAAM,OAAS,EAAM,MACvB,KAAM,GAAW,EAAM,MAAM,QAC7B,KAAO,EAAS,OAAS,EAAM,QAC7B,EAAS,QAAQ,GAEnB,EAAQ,EAAQ,EAAO,GAGzB,KAAM,GAAa,EAAM,MACnB,EAAiB,MAAM,KAAK,GAClC,OAAS,GAAI,EAAM,OAAS,EAAG,GAAK,EAAG,IACrC,GAAI,EAAW,KAAO,EAAM,GAC1B,EAAK,GAAK,UACD,EAAM,MAAM,KAAO,EAC5B,KAAM,IAAI,OACN,mBAAmB,8BAAmC,OAG9D,KAAM,GAAO,EAAK,IAAI,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,IAAI,OAAO,GAAK,GAAK,GAEjE,GAAI,EAAK,SAAW,EAClB,MAAO,IAAM,GAGf,KAAM,GAAU,AAAC,GAA2B,EAAQ,KAAK,EAAO,GAE1D,EAA4B,CAAC,EAAG,GAChC,EAA0B,CAAC,QAAO,cAExC,MAAO,GAAO,cACH,EAAS,EAAqC,KAC9C,GAAa,GAGnB,KAAM,IAAc,EAAG,CAAC,kBC3F/B,AA8CM,YACF,EAAoB,EAAW,UAC/B,GACF,SAAQ,GAAS,UACjB,AAAK,GAAmC,GACjC,GAAI,IAAmB,EAAO,EAAO,GCnD9C,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAAqB,CAAC,EAAG,GAC/B,MAAO,GAAO,cACV,GAAW,EAAQ,KAAK,GAAK,EAC7B,KAAiB,IAEhB,KAAM,IAAO,EAAG,CAAC,WC7CxB,AAwCA,YACI,EAAiB,EAAsB,GACzC,KAAM,GAAK,EAAgB,EAAG,IAAK,eACnC,AAAK,EACA,GAAgB,EACjB,IAAM,uBAAuB,yCACK,OAEtC,KAAM,GAA4B,CAAC,EAAG,GAChC,EAA0B,CAAC,eAAc,gBAE/C,MAAO,GAAO,cACV,CAAC,EAAS,KACR,KAAM,GAAM,EAAQ,KAAK,EAAI,EAAc,GAC3C,SAAK,CAAC,IACC,GAET,EAAgC,KAAiB,GACjD,GAGC,KAAM,IAAc,EAAG,CAAC,kBC7D/B,AA6CA,YAAoC,EAAoB,GACtD,KAAM,GAAQ,EAAgB,EAAM,OAAQ,WACtC,EAAQ,EAAgB,EAAM,OAAQ,WAC5C,AAAK,EACD,EAAM,MAAO,EAAM,MACnB,yBAAyB,EAAM,aAAa,EAAM,8CAGtD,KAAM,GAA+B,AAAC,GAC7B,EAAQ,QAAQ,EAAO,GAE1B,EAAwB,CAAC,KAAM,EAAO,KAAM,GAClD,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAU,EAAG,CAAC,cC7B3B,YAAmB,GACjB,MAAO,GAAO,EAAS,GAGlB,KAAM,IAAW,EAAG,CAAC,eCY5B,YACI,EAAqC,GACvC,MAAO,GAAO,EAAS,GAGlB,KAAM,IAAW,EAAG,CAAC,eCD5B,YACI,EAAqC,GACvC,MAAO,GAAO,EAAS,GAGlB,KAAM,IAAW,EAAG,CAAC,eC5B5B,YACI,EAAqC,GACvC,MAAO,GAAO,EAAS,GAGlB,KAAM,IAAW,EAAG,CAAC,eCnC5B,AA6DA,YACI,EAAiB,EACjB,EACA,EACA,EAA4B,OAC5B,EAAqC,CAAC,EAAG,GACzC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAU,EAAgB,EAAQ,SAAU,UAElD,GAAI,GAAM,EACN,EAAe,GAEnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG3D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,uDAAuD,EAAI,SACrE,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,wDACC,EAAQ,SACnB,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,uEACiB,iBAA+B,MAG5D,KAAM,GAAU,IAAe,OAAS,EAAI,MAAM,GAAK,EAAI,MAAM,GACjE,AAAK,EACD,IAAY,EAAQ,MAAM,GAC1B,IAAM,oCAAoC,wCACZ,EAAQ,MAAM,OAChD,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,uEACa,oBAA0B,MAEjD,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAc,AAAU,GAAwB,GAChD,EAAW,AAAU,GACvB,EAAI,MAAO,EAAQ,MAAO,EAAS,EAAW,EAAK,EACnD,GAAO,GACL,EAAM,EAAQ,OAAO,EAAK,EAAS,GAEzC,SAAK,CAAC,EAAK,IAEJ,GAGH,EAAuB,CAAC,EAAG,EAAK,OAAQ,GACxC,EACY,CAAC,UAAS,MAAK,aAAY,YAAW,mBAElD,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GAEJ,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAS,EAAG,CAAC,aC3E1B,YACI,EAAiB,EAA6B,EAC9C,EACA,EAA0B,MAAO,EAAW,EAC5C,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAU,EAAgB,EAAQ,SAAU,UAElD,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,MAG9C,AAAK,EACD,EAAI,OAAS,EACb,IAAM,uDAAuD,EAAI,SACrE,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,wDACC,EAAQ,SACnB,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,uEACiB,iBAA+B,MAG5D,AAAK,EACD,EAAI,MAAM,KAAO,EAAQ,MAAM,GAC/B,IAAM,oCAAoC,EAAI,MAAM,yCACtB,EAAQ,MAAM,OAChD,AAAK,EACD,AAAU,GAA+B,EAAQ,GACjD,IAAM,oEACY,mBAAwB,MAC9C,AAAK,EACD,IAAe,MACf,IAAM,sCACF,0CAER,KAAM,GAAW,EACb,EAAS,CAAC,EAAG,EAAQ,MAAM,GAAI,EAAQ,MAAM,GAAI,EAAQ,MAAM,KAC7D,EAAU,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAG,EAAI,MAAM,GAAI,EAAI,MAAM,KACjE,EAA4B,CAAC,EAAG,GAChC,EAA8B,CAAC,EAAG,GAElC,EAAmB,OAEnB,EAAM,GACP,EAAuB,EAAuB,EAAS,EACxD,EAAkB,EAAW,GAEjC,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,KAGxC,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAGtD,KAAM,IAAS,EAAG,CAAC,aCnH1B,AAoDA,YACI,EAAmE,EACnE,EAAkB,EAClB,EACA,EAA4B,OAC5B,GACF,AAAK,EACD,EAAO,SAAW,EAAG,KACrB,IAAM,sBACE,EAAO,2BAA2B,EAAG,oBAEjD,GAAI,GAAW,EACX,EAAO,EACP,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAO,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,KAC1D,EAAW,CAAC,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,KAG9C,AAAK,EACD,EAAS,SAAW,EACpB,IACI,qEACG,EAAS,WACpB,AAAK,EACD,EAAK,OAAS,EACd,IAAM,4DACM,EAAK,QACrB,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,gEACM,EAAO,QACvB,KAAM,GAAU,IAAe,OAAS,EAAS,GAAK,EAAS,GACzD,EAAW,IAAe,OAAS,EAAK,MAAM,GAAK,EAAK,MAAM,GACpE,AAAK,EACD,IAAY,EAAO,MAAM,GACzB,IAAM,4CAA4C,wCACd,EAAO,MAAM,OACrD,AAAK,EACD,IAAa,EAAO,MAAM,GAC1B,IAAM,6CAA6C,yCACd,EAAO,MAAM,OACtD,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,+EACiB,iBAA+B,MAG5D,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAY,EAEZ,EAAc,AAAU,GAAwB,GAChD,EAAW,AAAU,GACvB,EAAU,EAAO,MAAO,EAAS,EAAW,EAAK,EAAiB,GAClE,GAEE,EAAM,EAAQ,eAAe,EAAM,EAAQ,GAEjD,SAAK,CAAC,EAAM,IAEL,GAGH,EAAoC,CAAC,GAAI,EAAM,UAE/C,EACF,CAAC,UAAS,MAAK,aAAY,kBAAiB,WAAY,GAEtD,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAqB,GAEzB,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAsB,EAAG,CAAC,0BCzFvC,YACI,EAAiB,EACjB,EACA,EAAkC,EAClC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,mBAC7B,EAAU,EAAgB,EAAQ,SAAU,mBAElD,MAAO,IACH,EAAa,EAAI,EAAS,EAAS,EAAK,OAAQ,GAG/C,KAAM,IAAkB,EAAG,CAAC,sBCvDnC,AA8DA,YACI,EAAiB,EACjB,EAA0C,EAC1C,EAA8B,QAC9B,EAA6C,CAAC,EAAG,EAAG,IACtD,KAAM,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAU,EAAgB,EAAQ,SAAU,UAElD,GAAI,GAAM,EACN,EAAe,GAEnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAExE,AAAK,EACD,EAAI,OAAS,EACb,IAAM,uDAAuD,EAAI,SACrE,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,wDACC,EAAQ,SACnB,AAAK,EACD,EAAI,MAAM,KAAO,EAAQ,MAAM,GAC/B,IAAM,oCAAoC,EAAI,MAAM,yCACtB,EAAQ,MAAM,OAChD,AAAK,EACD,GAA+B,EAAS,GACxC,IAAM,uEACa,oBAA0B,MACjD,AAAK,EACD,IAAe,QACf,IAAM,sCACF,4CAER,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAQ,MAAO,EAAS,EAAW,GAC5C,EAAM,EAAQ,OAAO,EAAK,EAAS,GAEzC,SAAK,CAAC,EAAK,IAEJ,GAGH,EAAuB,CAAC,EAAG,EAAK,OAAQ,GAExC,EAAqB,CAAC,UAAS,MAAK,aAAY,aAEhD,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GAEJ,MAAI,GACK,EACI,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAGhE,EAGF,KAAM,IAAS,EAAG,CAAC,aC3H1B,AA6CA,YACI,EAGA,EAAO,EAAkB,EACzB,GACF,AAAK,EACD,EAAO,SAAW,EAAG,KACrB,IAAM,sBACE,EAAO,2BAA2B,EAAG,oBAEjD,GAAI,GAAW,EACX,EAAO,EACP,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAO,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,KACvE,EAAW,CAAC,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,KAGzD,KAAM,GAAU,EAAS,GACnB,EAAW,EAAK,MAAM,GAC5B,AAAK,EACD,EAAS,SAAW,EACpB,IACI,qEACG,EAAS,WACpB,AAAK,EACD,EAAK,OAAS,EACd,IAAM,4DACM,EAAK,QACrB,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,gEACM,EAAO,QACvB,AAAK,EACD,IAAY,EAAO,MAAM,GACzB,IAAM,4CAA4C,wCACd,EAAO,MAAM,OACrD,AAAK,EACD,IAAa,EAAO,MAAM,GAC1B,IAAM,6CAA6C,yCACd,EAAO,MAAM,OAEtD,KAAM,GAA+B,IACnC,KAAM,GAAY,EAEZ,EAAW,AAAU,GACvB,EAAU,EAAO,MAAO,EAAS,EAAW,GAEhD,MAAO,GAAQ,eAAe,EAAM,EAAQ,IAGxC,EAAoC,CAAC,GAAI,GAEzC,EAAkC,CAAC,OAEnC,EAAM,EAAO,cACf,EAAS,EAAgC,KAAM,GAC/C,GAEJ,MAAI,GACK,EACI,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAGhE,EAGF,KAAM,IAAsB,EAAG,CAAC,0BCzEvC,YACI,EAAiB,EACjB,EAGA,EAA0C,GAC5C,KAAM,GAAK,EAAgB,EAAG,IAAK,mBAC7B,EAAU,EAAgB,EAAQ,SAAU,mBAElD,MAAO,IAAoB,EAAa,EAAI,EAAS,EAAS,GAGzD,KAAM,IAAkB,EAAG,CAAC,sBCrDnC,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAoB,CAAC,EAAG,GAE9B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,GACxB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAM,EAAG,CAAC,UChDvB,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAC7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WC/CxB,AAoDA,YACI,EAAsB,EAAO,EAAG,EAAY,GAAO,EAAU,IAC/D,KAAM,GAAK,EAAgB,EAAG,IAAK,UAE7B,EACF,CAAC,EAAwB,KACvB,KAAM,GAAc,GAAmB,CAAC,GAAO,EAAG,MAClD,GAAI,GAAY,EAChB,AAAI,GAAe,MACjB,GAAY,EAAU,EAAI,IAE5B,KAAM,GAAe,GAAiB,EAAG,EAAG,MAAM,GAClD,GAAI,GAAQ,EAAQ,OAAO,EAAW,EAAc,EAAW,GAG/D,GAFA,EAAK,CAAC,IAEF,GAAe,MACjB,KAAM,GAAqB,GAAuB,GAClD,EAAQ,EAAU,EAAO,GAE3B,MAAO,IAGP,EAAuB,CAAC,EAAG,GAC3B,EAAqB,CAAC,OAAM,YAAW,WAE7C,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAS,EAAG,CAAC,aClF1B,AAgEA,YACI,EAA0B,EAC1B,EAA4B,QAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,gBAE7B,EAAe,IAAe,OAAU,EAAG,MAAM,GAAK,EAAG,MAAM,GAC/D,EAAc,IAAe,OAAU,EAAG,MAAM,GAAK,EAAG,MAAM,GAC9D,EAAc,IAAe,OAAU,EAAG,MAAM,GAAK,EAAG,MAAM,GAEpE,AAAK,EACD,EAAc,GAAa,EAC3B,IAAM;MACN,SAAmB;MACnB,EAAG,SAEP,AAAK,EACD,EAAa,GAAa,EAC1B,IAAM;MACN,SAAkB;UACd,EAAG,SAEX,AAAK,EACA,EAAc,GAAY,KAAe,EAC1C,IAAM,8CACF,EAAY,YACZ,uCAAgD,EAAG,SAE3D,KAAM,GAAiC,GACnC,EAAQ,aAAa,EAAI,EAAW,GAElC,EAA6B,CAAC,EAAG,GACjC,EAA2B,CAAC,YAAW,cAE7C,MAAO,GAAO,cACV,EAAS,EAAgC,KACzC,GAAc,GAGb,KAAM,IAAe,EAAG,CAAC,mBCtGhC,AA0EA,YACI,EAAiB,EACjB,EAAkC,EAClC,EAA4B,OAC5B,EAAqC,CAAC,EAAG,GACzC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,mBAC7B,EAAU,EAAgB,EAAQ,SAAU,mBAElD,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAE3D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,gEACM,EAAI,SACpB,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,iEACC,EAAQ,SACnB,AAAK,EACD,EAAI,MAAM,KAAO,EAAQ,MAAM,GAC/B,IAAM,uDACE,EAAI,MAAM,qDACJ,EAAQ,MAAM,OAEhC,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,gFACiB,iBAA+B,MAG5D,KAAM,GAA+B,CAAC,EAAS,KAC7C,AAAI,GAAa,MACf,GAAY,CAAC,EAAG,IAGlB,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,gFACgB,oBAA0B,MAEpD,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAQ,MAAO,EAAS,EAAW,EAAK,EACnD,IACE,EAAM,EAAQ,gBAAgB,EAAK,EAAS,GAClD,SAAK,CAAC,EAAK,IACJ,GAGH,EAAsC,CAAC,EAAG,EAAK,OAAQ,GACvD,EACF,CAAC,UAAS,MAAK,aAAY,YAAW,mBAEpC,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAuB,GAE3B,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAkB,EAAG,CAAC,sBC9InC,AA+CA,YAAe,GACb,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAA+B,IACnC,KAAM,GAAO,EAAQ,EAAI,CAAC,EAAG,OACvB,EAAS,EAAQ,KAAK,GACtB,EAAW,CAAC,GAAG,EAAE,MAAO,GAAG,EAAE,OAEnC,MAAO,GAAQ,EAAQ,IAGnB,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cACV,EAAS,EAAgC,KAAiB,IAGzD,KAAM,IAAO,EAAG,CAAC,WChExB,AA2DA,YACI,EAAiB,EACjB,EAAkC,EAClC,EAAqC,CAAC,EAAG,GACzC,EAAqB,QACvB,KAAM,GAAK,EAAgB,EAAG,IAAK,cAC7B,EAAU,EAAgB,EAAQ,SAAU,cAElD,AAAK,EACD,EAAG,OAAS,GAAK,EAAG,OAAS,EAC7B,IAAM,gEACC,EAAG,SACd,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,4DACC,EAAQ,SACnB,AAAK,EACD,IAAe,OACf,IAAM,gFACuB,KAEjC,GAAI,GAAM,EACN,EAAe,GAEnB,AAAI,EAAG,OAAS,GACd,GAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,KACzD,EAAe,IAGjB,KAAM,GAA2B,CAAC,EAAG,EAAK,OAAQ,GAC5C,EAAyB,CAAC,UAAS,MAAK,aAExC,EAAM,EAAO,UACH,GAAY,EACZ,GAEhB,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAGtD,EAGF,KAAM,IAAa,EAAG,CAAC,iBCtG9B,AAoDA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,YAC7B,EAAK,EAAgB,EAAG,IAAK,YACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,SAAS,EAAI,GACjC,SAAK,CAAC,EAAI,IACH,GAEH,EAAyB,CAAC,EAAG,EAAI,EAAG,GAE1C,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAW,EAAG,CAAC,eCtE5B,AAmDA,YAAgC,EAAsB,GACpD,GAAI,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OAGjC,GAFA,CAAC,EAAI,GAAM,EAAe,EAAI,GAE1B,EAAG,QAAU,SAAW,EAAG,QAAU,QACvC,MAAO,IAAS,EAAI,GAGtB,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,WAAW,EAAI,GACnC,SAAK,CAAC,EAAI,IACH,GAGH,EAAoB,CAAC,EAAG,EAAI,EAAG,GAC/B,EAAQ,GAEd,MAAO,GAAO,cACH,EAAS,EAAgC,KAAqB,GAC9D,GAGN,KAAM,GAAM,EAAG,CAAC,UC1EvB,AA0BM,YACF,EAAmB,GACrB,KAAM,GAAS,EAAQ,OACjB,EAAiB,GACvB,OAAS,GAAI,EAAG,EAAI,EAAQ,KAC1B,KAAM,GAAM,EAAS,EAAI,EACnB,EAAI,EAAQ,IAAQ,EACpB,EAAI,EAAS,EAAS,OAAS,EAAI,IAAM,EAC/C,AAAI,EAAI,GAAK,IAAM,GACjB,EAAK,QAAQ,GAGjB,MAAO,GAOH,YACF,EAAmB,GACrB,KAAM,GAAmB,GACzB,OAAS,GAAI,EAAG,EAAI,EAAS,OAAQ,KACnC,KAAM,GAAQ,EAAQ,EAAQ,OAAS,EAAI,GACrC,EAAU,EAAS,OAAS,EAAI,EAChC,EAAS,EAAS,GACxB,AAAI,IAAS,MAAS,IAAU,GAAK,EAAS,IAC5C,EAAO,QAAQ,GAGnB,MAAO,GAGH,WACF,EAAkB,GACpB,KAAM,GAAmB,GACnB,EAAI,KAAK,IAAI,EAAO,OAAQ,EAAO,QAEzC,OAAS,GAAI,EAAG,EAAI,EAAG,KACrB,GAAI,GAAI,EAAO,EAAO,OAAS,EAAI,GACnC,AAAI,GAAK,MACP,GAAI,GAEN,GAAI,GAAI,EAAO,EAAO,OAAS,EAAI,GAInC,GAHA,AAAI,GAAK,MACP,GAAI,GAEF,IAAM,EACR,EAAO,QAAQ,WACN,IAAM,EACf,EAAO,QAAQ,WACN,IAAM,GACf,KAAM,GAAS,wDACR,SAAc,KACrB,KAAM,OAAM,OAEZ,GAAO,QAAQ,GAGnB,MAAO,GCrFT,AAyCA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAK,EAAgB,EAAG,IAAK,SACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,GAAW,EAAQ,MAAM,EAAI,GAE5D,EAAsB,CAAC,EAAG,EAAI,EAAG,GAEvC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAM,IAGrD,KAAM,IAAQ,EAAG,CAAC,YCzDzB,AAmDA,YACI,EAA8B,EAAiB,GACjD,KAAM,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAK,EAAgB,EAAG,IAAK,SAC7B,EAAa,EAAgB,EAAW,YAAa,QAAS,QAI9D,EAAiB,EAA2B,EAAG,MAAO,EAAG,OACzD,EAAgB,GAAY,EAAI,GAChC,EAAgB,GAAY,EAAI,GACtC,AAAI,EAAW,OAAS,GAGtB,EACI,EAAW,MAAM,KAAO,EAAG,MAAM,GACjC,IAAM,kEAGZ,AAAI,EAAW,OAAS,GAEtB,EACI,EAAW,MAAO,EAAc,MAAO,oBAG7C,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,OAAO,EAAY,EAAe,GACtD,SAAK,CAAC,IACC,GAEH,EAAyB,CAC7B,UAAW,EACX,EAAG,EACH,EAAG,GAEL,MAAO,GAAO,cACH,EAAS,EAAqC,KAC9C,IAGN,KAAM,IAAQ,EAAG,CAAC,YC3FzB,AAsCA,YAAsC,GACpC,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAA0B,CAAC,EAAG,GACpC,MAAO,GAAO,cACH,GAAW,EAAQ,UAAU,GAAK,EAClC,KAAiB,IAEvB,KAAM,GAAY,EAAG,CAAC,gBC7C7B,AAyDA,YACI,EAAsB,GAExB,GAAI,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAAY,EAAI,EAAI,GACpB,EAAQ,EAAU,GAClB,EAAc,GAAM,EAAI,GAC9B,MAAO,IAAM,EAAa,EAAO,GAG5B,KAAM,IAAW,EAAG,CAAC,eCtE5B,AA0CA,YAAc,EAAuB,GACnC,KAAM,GAAM,EAAgB,EAAI,KAAM,OAChC,EAAM,EAAgB,EAAI,KAAM,OAEtC,AAAK,EACA,GAAI,OAAS,GAAK,EAAI,OAAS,IAAO,GAAI,OAAS,GAAK,EAAI,OAAS,GACtE,IAAM,+DACC,EAAI,YAAY,EAAI,SAE/B,KAAM,GAAW,EAAI,OAAS,EAAI,EAAI,KAAO,EAAI,MAAM,GACjD,EAAW,EAAI,OAAS,EAAI,EAAI,KAAO,EAAI,MAAM,GAOvD,GALA,AAAK,EACD,IAAY,EACZ,IAAM,gEACC,SAAe,MAEtB,EAAI,OAAS,GAAK,EAAI,OAAS,GACjC,KAAM,GAAO,EAAQ,EAAK,CAAC,EAAG,KACxB,EAAO,EAAQ,EAAK,CAAC,GAAI,IACzB,EAAO,EAAO,EAAM,GAC1B,MAAO,GAAQ,EAAM,YACZ,EAAI,OAAS,GAAK,EAAI,OAAS,GACxC,KAAM,GAAO,EAAQ,EAAK,CAAC,EAAG,KACxB,EAAO,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,KAC7C,EAAO,EAAO,EAAM,GAC1B,MAAO,GAAQ,EAAM,CAAC,EAAK,eAClB,EAAI,OAAS,GAAK,EAAI,OAAS,GACxC,KAAM,GAAO,EAAQ,EAAK,CAAC,GAAI,IACzB,EAAO,EAAO,EAAK,GACzB,MAAO,GAAQ,EAAM,CAAC,EAAK,YAE3B,KAAM,GAAO,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,KAC7C,EAAO,EAAO,EAAK,GACzB,MAAO,IAIJ,KAAM,IAAM,EAAG,CAAC,UChFvB,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAI,EAAQ,IAAI,GACtB,SAAK,CAAC,IACC,GAGH,EAAoB,CAAC,EAAG,GAE9B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAM,EAAG,CAAC,UCrDvB,AAwCA,YAAgC,GAC9B,GAAI,GAAK,EAAgB,EAAG,IAAK,OACjC,AAAK,EACD,EAAG,QAAU,SAAW,EAAG,QAAU,UACrC,IAAM,6CAEV,AAAI,EAAG,QAAU,SACf,GAAK,EAAK,EAAI,YAGhB,KAAM,GAAoB,CAAC,EAAG,GAC9B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,GACxB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAM,EAAG,CAAC,UCzDvB,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAoB,CAAC,EAAG,GAC9B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,GACxB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAM,EAAG,CAAC,UC/CvB,AAwCA,YAAuC,EAAsB,EAAO,GAClE,KAAM,GAAoB,KACpB,EAAK,EAAgB,EAAG,IAAK,aAAc,GAEjD,AAAK,EAAO,GAAQ,EAAG,KAAM,IAAM,sCACnC,KAAM,GAAW,EAAG,MAAM,QAC1B,MAAI,GAAO,GAET,CAAK,EACD,CAAE,GAAG,KAAO,IAAM,EAClB,IAAM,iCAAiC,CAAG,GAAG,KAAO,OAAO,EAAG,SAClE,EAAO,EAAG,KAAO,EAAO,GAE1B,EAAS,OAAO,EAAM,EAAG,GAClB,EAAQ,EAAI,GAGd,KAAM,IAAa,EAAG,CAAC,iBCzD9B,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAChC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,MAAM,GAC1B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAQ,EAAG,CAAC,YChDzB,AAoDA,YAAiC,EAAiB,GAChD,KAAM,GAAoB,KACpB,EAAK,EAAgB,EAAG,IAAK,OAAQ,GAC3C,AAAK,EACD,EAAG,OAAS,EAAK,OACjB,IAAM,qCAAqC,EAAG,kCACb,MAErC,KAAM,GAA0B,CAAC,EAAS,KACxC,KAAM,GAAM,EAAQ,KAAK,EAAI,GAC7B,SAAK,CAAC,IACC,GAGH,EAAe,CAAC,GAChB,EAAqB,CAAC,EAAG,GACzB,EAAmB,CAAC,QAE1B,MAAO,GAAO,cACV,EAAS,EAAqC,KAAiB,GAC/D,EAAkC,GAGjC,KAAM,IAAO,EAAG,CAAC,WC3ExB,AAuCA,YACI,EAAiB,EACjB,EAKA,EAAkB,WACpB,AAAI,GAAc,MAChB,GAAa,GAEf,KAAM,GAAO,GAAO,CAAC,EAAS,GAAa,GACrC,EAAI,GAAW,EAAa,EAAU,EAC5C,OAAS,GAAI,EAAG,EAAI,EAAG,EAAE,EACvB,EAAK,IAAI,EAAG,EAAG,GAEjB,KAAM,GAAgB,EAAQ,EAAK,WAAY,CAAC,EAAS,IACzD,GAAI,GAAc,KAChB,MAAO,GAEP,GAAI,EAAW,SAAW,EACxB,MAAO,IAAK,GAAW,EAAK,GAAI,CAAC,EAAW,GAAI,EAAG,IAC9C,GAAI,EAAW,SAAW,EAE/B,MAAO,IACI,GAAW,GAAW,EAAK,GAAI,GAC/B,CAAC,EAAW,GAAI,EAAW,GAAI,EAAG,IACxC,GAAI,EAAW,SAAW,EAE/B,MAAO,IAAK,GAAW,GAAW,GAAW,EAAK,GAAI,GAAI,GAAI,CACrD,EAAW,GAAI,EAAW,GAAI,EAAW,GAAI,EAAG,IAGzD,KAAM,IAAI,OACN,qEAE8B,EAAmB,YAKpD,KAAM,IAAM,EAAG,CAAC,UChFvB,AA0CA,YAAc,GACZ,EACI,EAAM,QAAU,YAChB,IAAM,6DACS,EAAM,UAEzB,KAAM,GAAoB,CAAC,SAE3B,MAAO,GAAO,cAAc,IAE1B,KAAM,GAAqB,EAAM,MAAM,EAAM,MAAM,OAAS,GACtD,EAAQ,EAAM,KAAO,EAErB,EAAU,EAAM,KAAK,EAAO,GAC5B,EAAS,EAAQ,IAAI,GAC3B,MAAO,GAAO,QAAQ,EAAM,QAC3B,EAAgC,KAAqB,IAGnD,KAAM,IAAM,EAAG,CAAC,UC7DvB,AAoCA,YACI,EAAoB,EAAsB,GAC5C,KAAM,GAAmB,CAAC,QAAO,QAAO,SAExC,MAAO,GAAO,cACV,GAAW,EAAQ,KAAK,EAAO,EAAO,GAAQ,GAAI,KAAM,GACxD,GC1CN,AAoCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAChC,MAAO,GAAO,cACV,GAAW,EAAQ,MAAM,GAAK,EAC9B,KAAiB,IAEhB,KAAM,IAAQ,EAAG,CAAC,YC5CzB,AAuBO,KAAM,IAAwB,GAQ/B,YAAmC,GACvC,MAAI,IAAU,GACL,EAEF,GAAe,EAAQ,KAAK,MAAM,KAAK,KAAK,KCnCrD,iHA6BM,YACF,EAAgB,GAClB,GAAI,GAAO,GACP,EASJ,IAPA,AAAI,GAAU,GACZ,GAAM,EACN,EAAO,IAEP,EAAM,GAAe,EAAQ,KAAK,MAAM,KAAK,KAAK,KAG7C,CAAC,GACN,AAAI,EAAM,GAAe,IAAQ,EAC/B,EAAO,GAEP,EAAM,GAAe,EAAQ,EAAM,GAGvC,MAAO,GAGH,YACF,EAAkB,EAAc,GAClC,KAAM,GAAW,GACX,EAAO,EAAO,OACpB,OAAS,GAAM,EAAG,EAAM,EAAM,IAC5B,AAAI,IAAQ,EACV,EAAS,KAAK,EAAO,IAErB,EAAS,KAAK,GAGlB,MAAO,GASH,YACF,EAAW,EAAiB,GAC9B,KAAM,GAAU,EAAE,MAAM,GAElB,EAAwB,GAC9B,GAAI,GAAY,EACZ,EAAY,EAChB,OAAS,GAAI,EAAG,EAAI,EAAM,IACxB,EAAY,KAAK,EAAE,MAAM,IACzB,GAAa,EAAE,MAAM,GAGvB,OAAS,GAAI,EAAG,EAAI,EAAQ,KAAM,IAChC,EAAY,KAAK,EAAQ,MAAM,IAGjC,OAAS,GAAI,EAAO,EAAG,EAAI,EAAE,KAAM,IACjC,EAAY,KAAK,EAAE,MAAM,IACzB,GAAa,EAAE,MAAM,GAGvB,MAAO,CAAC,YAAW,YAAW,UAAS,eC5FzC,AAmDA,YACI,EAAiB,EAA4B,EAAO,GACtD,KAAM,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAW,EAAgB,EAAS,UAAW,SAAU,SAEzD,EAAyB,CAAC,EAAG,EAAI,QAAS,GAC1C,EAAuB,CAAC,QAExB,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAa,EAAe,EAAM,EAAG,OAAO,GAC5C,EAAY,GAAyB,EAAI,EAAU,GAEnD,EACF,EAAQ,OAAO,EAAI,EAAQ,EAAU,CAAC,EAAS,OAAQ,GAC3D,SAAK,CAAC,EAAI,IAEH,EAAQ,EAAK,EAAU,cAGhC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAS,EAAG,CAAC,aC3E1B,AAyCA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,WAC7B,EAAK,EAAgB,EAAG,IAAK,WACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,GAAW,EAAQ,QAAQ,EAAI,GAE9D,EAAwB,CAAC,EAAG,EAAI,EAAG,GAEzC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAU,EAAG,CAAC,cC1D3B,AAyCA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,gBAC7B,EAAK,EAAgB,EAAG,IAAK,gBACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,aAAa,EAAI,GACrC,SAAK,CAAC,EAAI,IACH,GAGH,EAA6B,CAAC,EAAG,EAAI,EAAG,GAE9C,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAe,EAAG,CAAC,mBC9DhC,AA2CA,YAAe,GACb,EACI,EAAM,QAAU,YAChB,IAAM,8DACS,EAAM,UAEzB,KAAM,GAAqB,CAAC,SAE5B,MAAO,GAAO,cAAc,IAE1B,KAAM,GAAqB,EAAM,MAAM,EAAM,MAAM,OAAS,GACtD,EAAQ,EAAM,KAAO,EAErB,EAAoB,EAAQ,EAAO,CAAC,EAAO,IAC3C,EAAS,EAAQ,KAAK,GAC5B,MAAO,GAAQ,EAAQ,EAAM,QAC5B,EAAgC,KAAqB,IAGnD,KAAM,IAAO,EAAG,CAAC,WC9DxB,AAqCA,YAAiC,GAC/B,KAAM,GAAS,EAAgB,EAAO,QAAS,QAEzC,EAA+B,AAAC,GAC7B,EAAQ,KAAK,GAGhB,EAAqB,CAAC,MAAO,GACnC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAO,EAAG,CAAC,WClDxB,AAuCA,YAAiC,GAC/B,KAAM,GAAS,EAAgB,EAAO,QAAS,QAEzC,EAA+B,AAAC,GAC7B,EAAQ,KAAK,GAGhB,EAAqB,CAAC,MAAO,GACnC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAO,EAAG,CAAC,WCpDxB,AA4DA,YACI,EAAiB,GACnB,KAAM,GAAK,EAAgB,EAAG,IAAK,WAE7B,EAA+B,AAAC,IACpC,KAAM,GAAO,EAAe,EAAM,EAAG,OACrC,GAAI,EAAG,OAAS,EACd,MAAO,IAAM,GAEf,KAAM,GAAM,EAAQ,QAAQ,EAAI,GAChC,MAAO,GAAQ,EAAK,EAAG,QAGnB,EAAwB,CAAC,EAAG,GAC5B,EAAsB,CAAC,KAAM,GAEnC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAS,GAGf,KAAM,IAAU,EAAG,CAAC,cCjF3B,AAoCM,WACF,EAAyC,GAC3C,GAAM,IAAa,IAAU,IAAU,UAAa,MAAM,QAAQ,KAC9D,IAAU,YACZ,KAAM,IAAI,OACN,kFAGN,GAAI,IAAU,UAAY,GAAa,IACnC,CAAE,aAAiB,aACrB,KAAM,IAAI,OACN,6EAGN,KAAM,GAAkB,GAClB,EAA0B,GAChC,MAAO,IAAW,EAAO,EAAO,EAAe,GCpDjD,AAiDA,YAAgB,GACd,KAAM,GAAqB,EAAM,MAAM,EAAM,MAAM,OAAS,GACtD,EAAQ,EAAM,KAAO,EAC3B,GAAI,GACJ,GAAI,GAAsB,GACxB,KAAM,GAAe,EAAQ,EAAO,CAAC,EAAO,IAC5C,EAAM,GAAK,QAIX,KAAM,GAAc,CAAC,EAAO,EAAK,GAAqB,IAChD,EAAY,EAAQ,GAAK,GAAQ,CAAC,EAAO,IACzC,EAAY,EAAQ,GAAK,GAAQ,CAAC,EAAO,IAEzC,EACF,GAAQ,EAAM,EAAW,CAAC,EAAG,GAAI,CAAC,EAAO,EAAqB,IAAK,GACjE,EAA0B,EAC5B,GAAQ,EAAM,EAAW,CAAC,EAAG,GAAI,CAAC,EAAO,EAAqB,IAAK,GACnE,EAAO,KAEL,EAAI,EAAO,CAAC,EAAW,GAAgB,GACvC,EAAI,EAAO,CAAC,EAAW,GAAgB,GACvC,EACF,EAAQ,GAAQ,EAAG,GAAI,CAAC,EAAY,GAAI,EAAY,KACxD,EAAM,GAAK,GAIb,GAFA,EAAM,GAAK,GAEP,EAAM,OAAS,GAAK,EAAM,MAAM,KAAO,GACzC,KAAM,GAAO,EACP,EAAQ,EAAM,MAAM,GAC1B,EAAM,EAAQ,EAAK,CAAC,EAAO,EAAI,MAAM,GAAK,EAAO,EAAI,MAAM,KAC3D,EAAK,UAEP,MAAO,GAGF,KAAM,IAAQ,EAAG,CAAC,YCtFzB,AAqCA,YAAqC,GACnC,KAAM,GAAK,EAAgB,EAAG,IAAK,YAE7B,EAAyB,CAAC,EAAG,GAEnC,MAAO,GAAO,cACV,AAAC,GAAY,EAAQ,SAAS,GAAK,EACnC,KAAiB,IAEhB,KAAM,IAAW,EAAG,CAAC,eC9C5B,AAqCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cACV,AAAC,GAAY,EAAQ,MAAM,GAAK,EAChC,KAAiB,IAEhB,KAAM,IAAQ,EAAG,CAAC,YC9CzB,AAqCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cACV,GAAW,EAAQ,MAAM,GAAK,EAC9B,KAAiB,IAEhB,KAAM,IAAQ,EAAG,CAAC,YC7CzB,AAuDA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,WAC7B,EAAK,EAAgB,EAAG,IAAK,WACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,AAAI,EAAG,QAAU,QACf,GAAK,EAAK,EAAI,SACd,EAAK,EAAK,EAAI,UAEhB,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,QAAQ,EAAI,GAChC,SAAK,CAAC,EAAI,IACH,GAGH,EAAwB,CAAC,EAAG,EAAI,EAAG,GAEzC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAU,EAAG,CAAC,cChF3B,AA0CA,YAAsC,EAAiB,EAAQ,IAC7D,KAAM,GAAK,EAAgB,EAAG,IAAK,aACnC,MAAO,IAAQ,EAAI,EAAO,GAAQ,GAAK,GAGlC,KAAM,IAAY,EAAG,CAAC,gBC/C7B,AAwCA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,QAC7B,EAAK,EAAgB,EAAG,IAAK,QACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,GAAW,EAAQ,KAAK,EAAI,GAE3D,EAAqB,CAAC,EAAG,EAAI,EAAG,GAEtC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAO,EAAG,CAAC,WCzDxB,AAyCA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAK,EAAgB,EAAG,IAAK,aACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,UAAU,EAAI,GAClC,SAAK,CAAC,EAAI,IACH,GAGH,EAA0B,CAAC,EAAG,EAAI,EAAG,GAE3C,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAY,EAAG,CAAC,gBC9D7B,AAiCM,YAAmB,EAAe,EAAc,GACpD,GAAI,GAAO,EACT,KAAM,IAAI,OAAM,4CAGlB,KAAM,GAAuB,CAAC,QAAO,OAAM,OAC3C,MAAO,GAAO,cACV,GAAW,EAAQ,SAAS,EAAO,EAAM,GAAM,GAC/C,KAAiB,GAAU,GCzCjC,AA2CA,YACI,EAAiB,EAAc,EAAG,EAAO,EAAG,EAAQ,EAAG,EAAO,IAChE,KAAM,GAAK,EAAgB,EAAG,IAAK,8BACnC,AAAK,EACD,EAAG,OAAS,GAAK,EAAG,OAAS,EAC7B,IAAM;sBACU,EAAG,SACvB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,2FAC6B,MAEvC,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG3D,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAI,EAAQ,6BACd,EAAK,EAAa,EAAM,EAAO,GAEnC,SAAK,CAAC,EAAK,IAEJ,GAGH,EAAoB,CAAC,EAAG,GAExB,EAAkB,CAAC,cAAa,OAAM,QAAO,QAE7C,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GAEJ,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEpD,EAIJ,KAAM,IAA6B,EAAG,CAAC,iCCtF9C,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAoB,CAAC,EAAG,GAC9B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,GACxB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAM,EAAG,CAAC,UC/CvB,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAChC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,MAAM,GAC1B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAQ,EAAG,CAAC,YChDzB,AAyDA,YAAc,GAEZ,MAAK,GACD,AAAK,GAAW,GAAI,IAAM,8CACvB,CAAC,EAAsB,KAE5B,KAAM,GAAK,EAAgB,EAAG,IAAK,UAAW,MACxC,EACD,GAAM,KAAQ,EAAgB,EAAI,KAAM,WAAa,KAC1D,MAAO,GAAO,KAAK,KACjB,KAAM,CAAC,QAAO,SAAS,EAAO,UAAU,IAAM,EAAE,GAAK,CAAC,GAAK,GAC3D,MAAI,IAAO,MACT,AAAK,EACD,EAAM,MAAO,EAAI,MACjB,kFAGN,GAAW,GACJ,EAAM,MAiCnB,YAAe,GAEb,MAAK,GACD,AAAK,GAAW,GAAI,IAAM,+CACvB,CAAC,EAAgC,KACtC,AAAK,EACD,MAAM,QAAQ,GACd,IAAM,oFAGV,KAAM,GAAQ,GAAqB,EAAM,OAAQ,WAAY,MACvD,EACD,GAAM,KAAQ,EAAgB,EAAI,KAAM,YAAc,KAC3D,MAAO,GAAO,KAAK,KACjB,KAAM,CAAC,QAAO,SAAS,EAAO,UAAU,IAAM,EAAE,GAAG,GAAQ,EAAO,GAClE,MAAI,IAAO,MACT,AAAK,EACD,EAAM,MAAO,EAAI,MACjB,iGAGN,GAAW,GACJ,KA6Bb,YAA0D,GAKxD,MAAK,GACD,AAAK,GAAW,GAChB,IAAM,sDACH,CAAC,EAAM,KACZ,AAAK,EACD,YAAa,IACb,IAAM,uDACV,AAAK,EACD,GAAM,MAAQ,YAAc,IAC5B,IAAM,4DACV,KAAM,CAAC,QAAO,SAAS,EAAO,UAAU,IAAM,EAAE,GAAI,CAAC,GAAI,GACzD,UAAW,GACJ,CAAC,KAAM,EAAM,GAAS,UAkCjC,YAAyC,GAKvC,MAAK,GACD,AAAK,GAAW,GAChB,IAAM,uDACH,CAAC,EAAgB,KACtB,AAAK,EACD,MAAM,QAAQ,IAAS,EAAK,MAAM,GAAO,YAAe,KACxD,IAAM,sEAEV,AAAK,EACD,GAAM,MAAQ,YAAc,IAC5B,IAAM,gEACV,KAAM,GAAM,EAAO,UAAU,IAAM,EAAE,GAAG,GAAO,EAAM,GACrD,MAAI,IAAM,MACR,AAAK,EACD,EAAI,MAAM,MAAO,EAAG,MACpB,yGAGN,GAAW,EAAI,OACR,GAiCX,YAAuB,EAAiB,GAEtC,AAAK,EACD,AAAK,GAAW,GAChB,IAAM,uDACV,AAAK,EACD,GAAW,MACP,MAAM,QAAQ,IAAY,EAAQ,MAAM,GAAK,YAAa,KAC9D,IACI,iFAGR,KAAM,GAAmB,GAAW,KACpC,GAAI,CAAC,GAEH,EAAU,GACV,SAAW,KAAW,GAAO,oBAC3B,EAAQ,KAAK,EAAO,oBAAoB,IAI5C,KAAM,GACF,EAAmB,EAAQ,OAAO,GAAY,CAAC,EAAS,WAAa,KAGnE,EAAmB,EAAQ,OACjC,EAAU,EAAQ,OAAO,GAAY,EAAS,WAC9C,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,gGAC+B,6BAGzC,KAAM,GAAmB,GACnB,CAAC,QAAO,SAAS,EAAO,UAAU,EAAG,EAAS,KAAM,GAE1D,AAAK,EACD,EAAM,KAAK,GAAK,GAAK,MACrB,IAAM,gMAGV,AAAK,EACD,EAAM,OAAS,EACf,IAAM,iFACiB,EAAM,eAEjC,KAAM,GAA6B,GACnC,SAAQ,QAAQ,CAAC,EAAG,KAClB,AAAI,EAAM,IAAM,MACd,GAAW,EAAE,MAAQ,EAAM,MAG/B,AAAI,GAAyB,MAG3B,EAAsB,QAAQ,GAAK,EAAW,EAAE,MAAQ,MAEnD,CAAC,QAAO,MAAO,GA0CxB,YAAsC,GAEpC,MAAO,GAAO,WAAW,GAG3B,YAAoB,GAClB,KAAM,GAAmB,EAAM,OAAO,GAAK,GAAK,MAAM,OACtD,GAAI,EAAmB,EACrB,KAAM,IAAI,OACN;sECvXR,AAsCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAuB,CAAC,EAAG,GACjC,MAAO,GAAO,cACV,GAAW,EAAQ,IAAI,GAAK,EAC5B,KAAiB,IAEhB,KAAM,IAAM,EAAG,CAAC,UC9CvB,AAqCA,YAAqC,GACnC,KAAM,GAAK,EAAgB,EAAG,IAAK,YAE7B,EAAyB,CAAC,EAAG,GACnC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,SAAS,GAC7B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAW,EAAG,CAAC,eC/C5B,AAwCA,YAAuC,GACrC,KAAM,GAAK,EAAgB,EAAG,IAAK,cAK7B,EAAW,GAAW,AAAC,IAI3B,KAAM,GAAQ,GAAI,GAAS,GAAI,KAEzB,EAAW,AAAC,IAChB,KAAM,GAAO,EAAI,EAAI,GAAQ,GAAI,KACjC,MAAO,IAET,MAAO,CAAC,QAAO,cAGjB,MAAO,GAAS,GAEX,KAAM,IAAa,EAAG,CAAC,iBC7D9B,AA4DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,KAAM,GAAK,EAAgB,EAAG,IAAK,OAC7B,EACF,CAAC,EAAwB,KACvB,KAAM,GAAW,AAAK,EAAe,EAAM,EAAG,OAC9C,GAAI,GAAO,EACX,KAAM,GAAe,AAAU,GAAmB,EAAM,EAAG,MAC3D,GAAI,GAAW,EACf,AAAI,GAAgB,MAClB,GAAW,EAAU,EAAI,GACzB,EAAO,AAAU,GAAiB,EAAK,OAAQ,EAAS,OAG1D,KAAM,GAAI,EAAQ,IAAI,EAAU,GAChC,AAAI,GAAgB,MAClB,EAAS,UAGX,GAAI,GAAM,EACV,GAAI,GACF,KAAM,GAAgB,AAAU,GAC5B,EAAI,MAAO,AAAK,EAAe,EAAM,EAAG,QAC5C,EAAM,EAAQ,EAAK,GACnB,EAAE,UAGJ,SAAK,CAAC,EAAI,IACH,GAGP,EAAoB,CAAC,EAAG,GACxB,EAAkB,CAAC,iBAAkB,EAAM,YAEjD,MAAO,GAAO,cACH,EAAS,EAAgC,KAAqB,GAC9D,GAGN,KAAM,IAAM,EAAG,CAAC,UCnGvB,AAgDA,YAAgC,EAAsB,GACpD,GAAI,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,SAAS,EAAI,GACjC,SAAK,CAAC,EAAI,IACH,GAGH,EAAoB,CAAC,EAAG,EAAI,EAAG,GAErC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,GAAM,EAAG,CAAC,UClEvB,AA4DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,GAAI,GAAK,EAAgB,EAAG,IAAK,OACjC,AAAI,EAAG,QAAU,QACf,GAAK,EAAK,EAAI,UAGhB,KAAM,GAA+B,CAAC,EAAS,KAC7C,EAAK,CAAC,IACN,KAAM,GAAO,EAAe,EAAM,EAAG,OAE/B,EAAc,GAAmB,EAAM,EAAG,MAChD,GAAI,GAAgB,EAChB,EAAY,EAChB,AAAI,GAAe,MACjB,GAAY,EAAU,EAAI,GAC1B,EAAgB,GAAiB,EAAc,OAAQ,EAAG,OAE5D,GAAI,GAAQ,EAAQ,IAAI,EAAW,GACnC,GAAI,GACF,KAAM,GAAW,GAAqB,EAAM,MAAO,GACnD,EAAQ,EAAQ,EAAO,GAEzB,MAAO,IAGH,EAAoB,CAAC,EAAG,GACxB,EAAkB,CAAC,OAAM,YAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,GAAM,EAAG,CAAC,UC9FvB,AAqDA,YAAuC,EAAsB,EAAO,IAClE,KAAM,GAAU,EAAgB,EAAQ,SAAU,cAKlD,GAHA,AAAI,IAAS,IACX,GAAO,EAAQ,KAAO,GAEpB,IAAS,EAAQ,KAAO,EAC1B,KAAM,OACF,gFACmB,EAAQ,qBAAqB,KAGtD,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAW,GACX,EAAO,GAAI,EAAQ,EAAM,IACzB,EAAU,EAAI,EAAQ,GACtB,EACF,EAAI,EAAK,EAAS,WAAY,GAAI,EAAI,GAAI,GAAU,EAAM,KAC9D,SAAK,CAAC,IACC,GAGH,EAA2B,CAAC,OAAQ,GACpC,EAAyB,CAAC,QAEhC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAY,GAGlB,KAAM,IAAa,EAAG,CAAC,iBCnF9B,AA4DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,KAAM,GAAK,EAAgB,EAAG,IAAK,aAE7B,EAAO,EAAe,EAAM,EAAG,OAC/B,EAAO,GAAI,EAAI,EAAM,IACrB,EAAI,EAAI,EAAI,GACZ,EAAI,GAAI,GACR,EAAI,EAAI,EAAG,GACX,EAAI,GAAI,GACR,EAAM,EAAI,EAAQ,EAAM,EAAE,OAAQ,GAExC,GAAI,GACF,KAAM,GAAW,GAAqB,EAAI,MAAO,GACjD,MAAO,GAAQ,EAAK,GAEtB,MAAO,GAGF,KAAM,IAAY,EAAG,CAAC,gBC/E7B,AAwCA,YACI,EAAsB,GACxB,KAAM,GAAK,EAAgB,EAAG,IAAK,aAAc,QAC3C,EAAK,EAAgB,EAAG,IAAK,aAAc,QACjD,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA2B,CAAC,EAAG,EAAI,EAAG,GAE5C,MAAO,GAAO,cACH,GAAW,EAAQ,WAAW,EAAI,GAClC,EAAgC,KAAiB,IAGvD,KAAM,IAAa,EAAG,CAAC,iBCrD9B,AAqCA,YAAuC,GACrC,KAAM,GAAK,EAAgB,EAAG,IAAK,aAAc,QAC3C,EAA2B,CAAC,EAAG,GACrC,MAAO,GAAO,cACV,GAAW,EAAQ,WAAW,GAAK,EACnC,KAAiB,IAGhB,KAAM,IAAa,EAAG,CAAC,iBC7C9B,AAuCA,YACI,EAAsB,GACxB,KAAM,GAAK,EAAgB,EAAG,IAAK,YAAa,QAC1C,EAAK,EAAgB,EAAG,IAAK,YAAa,QAChD,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA0B,CAAC,EAAG,EAAI,EAAG,GAC3C,MAAO,GAAO,cACH,GAAW,EAAQ,UAAU,EAAI,GACjC,EAAgC,KAAiB,IAEvD,KAAM,IAAY,EAAG,CAAC,gBClD7B,AAyCA,YACI,EAAsB,GACxB,KAAM,GAAK,EAAgB,EAAG,IAAK,aAAc,QAC3C,EAAK,EAAgB,EAAG,IAAK,aAAc,QACjD,SAA2B,EAAG,MAAO,EAAG,OAGjC,GAAW,GAAU,EAAG,GAAI,GAAW,GAAW,EAAG,KAGvD,KAAM,IAAa,EAAG,CAAC,iBCnD9B,AAwDA,YACI,EAAiB,EACjB,EAAkC,EAClC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,WAC7B,EAAY,EAElB,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG3D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,uDAAuD,EAAI,SACrE,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,wEACa,oBAA0B,MACjD,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,wEACiB,iBAA+B,MAG5D,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAY,EAAS,EAAmB,EACnD,GAEJ,GAAI,GAEJ,MAAI,GAAS,cAAgB,GAAK,EAAS,eAAiB,GACxD,AAAK,GAAY,EAAS,QAAS,EAAS,UAC9C,EAAI,EAAI,QAER,EAAI,EAAQ,QAAQ,EAAK,GAG3B,EAAK,CAAC,EAAK,IAEJ,GAGH,EAAwB,CAAC,EAAG,GAE5B,EAAsB,CAAC,aAAY,UAAS,MAAK,mBAEjD,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GAEJ,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAU,EAAG,CAAC,cCrH3B,AA0EA,YACI,EAAiB,EAA8C,CAAC,EAAG,EAAG,GACtE,EAA0C,EAC1C,EACA,EAA8B,QAC9B,GACF,AAAI,GAAa,KACf,EAAY,CAAC,EAAG,EAAG,GAEnB,GACI,+DAIN,KAAM,GAAK,EAAgB,EAAG,IAAK,aAEnC,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAGxE,AAAK,EACD,EAAI,OAAS,EACb,IAAM,qDAAqD,EAAI,SACnE,AAAK,EACD,IAAe,QACf,IAAM,gFACuB,KACjC,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,0EACa,oBAA0B,MACjD,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,0EACiB,iBAA+B,MAG5D,KAAM,GAA+B,CAAC,EAAS,KAC7C,AAAI,GAAa,MACf,GAAY,CAAC,EAAG,EAAG,IAErB,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAY,EAAS,EAAW,EAAK,EAChD,GACE,EAAI,EAAQ,UAAU,EAAK,GACjC,SAAK,CAAC,EAAK,IACJ,GAGH,EAA0B,CAAC,EAAG,GAE9B,EACF,CAAC,aAAY,UAAS,MAAK,kBAAiB,aAAY,aAEtD,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GAEJ,MAAI,GACK,EACI,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAIhE,EAGF,KAAM,IAAY,EAAG,CAAC,gBCjJ7B,AA4DA,YACI,EAAiB,EACjB,EAAkC,EAClC,EAAsB,IACxB,KAAM,GAAK,EAAgB,EAAG,IAAK,qBAE7B,EAAkC,CAAC,EAAG,GACtC,EACuB,CAAC,aAAY,UAAS,MAAK,uBAElD,EAAS,EAAO,UACH,GAAmB,EACnB,GAEnB,MAAO,CAAC,OAAQ,EAAO,GAAI,QAAS,EAAO,IAGtC,KAAM,IAAoB,EAAG,CAAC,wBC7ErC,AAoCM,YACF,EAAoB,EAAkB,WACxC,GAAI,IAAU,aACZ,KAAM,GAAO,GAAM,EAAO,WACpB,EAAO,GAAM,EAAO,WAC1B,MAAO,IAAQ,EAAM,GAEvB,KAAM,GAAS,GAAoB,GAAc,GAAQ,GACzD,MAAO,GAAO,WAAW,EAAQ,EAAO,GC5C1C,AAqCM,YACF,EAAoB,EAAkB,WACxC,GAAI,IAAU,aACZ,KAAM,GAAO,GAAK,EAAO,WACnB,EAAO,GAAM,EAAO,WAC1B,MAAO,IAAQ,EAAM,GAEvB,KAAM,GAAS,GAAmB,GAAc,GAAQ,GACxD,MAAO,GAAO,WAAW,EAAQ,EAAO,GC7C1C,AA4DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAAO,EAAe,EAAM,EAAG,OAC/B,EAAS,GAA0B,EAAG,MAAO,GAC7C,EAAc,EAAO,GACrB,EAAa,GAAc,GAI3B,EAAW,GAAW,AAAC,IAC3B,KAAM,GAAmB,EAAO,GAE1B,EAAU,EAAiB,QAAU,EAAE,MACzC,EACA,EAAK,EAAG,EAAiB,OACvB,EAAM,EAAI,EAAS,GACnB,EAAQ,EAAI,EAAK,EAAM,GAEvB,EAAW,AAAC,IAChB,KAAM,GAAkB,EAAE,MAAM,QAChC,EAAK,QAAQ,IACX,EAAgB,GAAQ,IAE1B,KAAM,GAAa,EAAQ,EAAI,GACzB,EAAO,EAAI,EAAI,EAAY,GAAK,EAAE,MAAO,YAAa,GAC5D,MAAO,IAET,MAAO,CAAC,QAAO,cAGjB,MAAO,GAAS,GAGX,KAAM,IAAO,EAAG,CAAC,WCpCxB,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EACF,CAAC,EAAwB,KACvB,KAAM,GAAW,EAAe,EAAM,EAAG,OACzC,GAAI,GAAO,EACX,KAAM,GAAe,AAAU,GAAmB,EAAM,EAAG,MAC3D,GAAI,GAAW,EACf,AAAI,GAAgB,MAClB,GAAW,EAAU,EAAI,GACzB,EAAO,AAAU,GAAiB,EAAK,OAAQ,EAAG,OAGpD,KAAM,GAAI,EAAQ,IAAI,EAAU,GAChC,AAAI,GAAgB,MAClB,EAAS,UAGX,GAAI,GAAM,EACV,GAAI,GACF,KAAM,GACF,AAAU,GAAqB,EAAI,MAAO,GAC9C,EAAM,EAAQ,EAAG,GACjB,EAAE,UAGJ,SAAK,CAAC,EAAI,IACH,GAGP,EAAoB,CAAC,EAAG,GACxB,EAAkB,CAAC,OAAM,YAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAqB,GAC9D,GAGN,KAAM,IAAM,EAAG,CAAC,UCnGvB,AAuDA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,WAC7B,EAAK,EAAgB,EAAG,IAAK,WACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,AAAI,EAAG,QAAU,QACf,GAAK,EAAK,EAAI,SACd,EAAK,EAAK,EAAI,UAGhB,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,QAAQ,EAAI,GAChC,SAAK,CAAC,EAAI,IACH,GAEH,EAAwB,CAAC,EAAG,EAAI,EAAG,GAEzC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAU,EAAG,CAAC,cChF3B,AAsDA,YAAgC,EAAsB,GACpD,GAAI,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,IAAI,EAAI,GAC5B,SAAK,CAAC,EAAI,IACH,GAEH,EAAoB,CAAC,EAAG,EAAI,EAAG,GAErC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAM,EAAG,CAAC,UCvEvB,AAkCA,YAAmC,GACjC,KAAM,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAQ,GACR,EAAe,CAAC,GAChB,EAA2B,GACjC,MAAO,GAAO,cAAc,CAAC,EAAS,IACpC,GAAK,CAAC,IACC,EAAQ,OAAO,IACrB,CAAC,EAAG,GAAK,KAAiB,SAAU,EAAO,EAAc,GAGvD,KAAM,GAAS,EAAG,CAAC,aC7C1B,AA2CA,YACI,EAAsB,EAAwB,KAC9C,EAAW,IACb,EAAI,EAAgB,EAAG,IAAK,WAC5B,KAAM,GAAO,EAAe,EAAM,EAAE,OAC9B,EAAQ,GAAK,EAAG,EAAM,GAC5B,GAAI,GAAgB,EAAM,MAC1B,AAAK,GACH,GAAgB,GAAqB,EAAM,MAAO,IAEpD,KAAM,GACF,EAAO,EAAI,EAAK,EAAG,WAAY,EAAQ,EAAO,KAC5C,EAAW,GAAK,EAAY,EAAM,GACxC,MAAO,CAAC,KAAM,EAAO,YAGhB,KAAM,IAAU,EAAG,CAAC,cChB3B,YACI,EAA2B,EAC3B,EACA,GACF,KAAM,GAAQ,EAAgB,EAAM,OAAQ,gBACtC,EAAK,GAAqB,EAAG,IAAK,gBAClC,EAAK,GAAqB,EAAG,IAAK,gBAExC,GAAI,GAAQ,EACZ,KAAM,GAAY,GAClB,OAAS,GAAI,EAAG,EAAI,EAAU,OAAQ,KACpC,KAAM,GAAS,EAAU,GAAG,EAAO,EAAG,GAAI,EAAG,IAC7C,EAAU,KAAK,EAAO,IACtB,EAAU,KAAK,EAAO,IACtB,EAAQ,EAAO,GAEjB,KAAM,GAAmB,GACnB,EAAmB,GACzB,OAAS,GAAI,EAAG,EAAI,EAAU,OAAQ,GAAK,EACzC,EAAK,KAAK,EAAU,IACpB,EAAK,KAAK,EAAU,EAAI,IAE1B,MAAO,CAAC,EAAM,GAET,KAAM,IAAe,EAAG,CAAC,mBCnEhC,AA2CA,YACI,EAAsC,EAAoB,EAC1D,EAAa,IACf,KAAM,GAAU,EAAgB,EAAQ,SAAU,eAC5C,EAAc,EAAQ,KACtB,EAAW,EAAQ,KACzB,GAAI,EAAc,EAChB,KAAM,IAAI,OACN,+DACG,MAET,GAAI,EAAW,EACb,KAAM,IAAI,OAAM,gDAAgD,KAElE,EAAO,GAAQ,KAAK,SACpB,KAAM,GACF,IAAa,EAAI,EAAQ,EAAS,CAAC,EAAG,KAAO,EAC3C,EAAM,EAAO,cACf,GAAW,EAAQ,YAAY,EAAU,EAAY,EAAY,GACjE,CAAC,aAEL,MAAO,KAAa,EAAI,EAAQ,EAAK,CAAC,EAAI,OAAqB,EAG1D,KAAM,IAAc,EAAG,CAAC,kBCnE/B,AAwCA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,YAC7B,EAAK,EAAgB,EAAG,IAAK,YACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,AAAC,GAAY,EAAQ,SAAS,EAAI,GAEjE,EAAyB,CAAC,EAAG,EAAI,EAAG,GAE1C,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAW,EAAG,CAAC,eCzD5B,AA8CA,YACI,EAA4B,EAAe,EAAU,EACrD,EAAW,GACb,GAAI,EAAQ,EACV,KAAM,IAAI,OAAM,iDAAiD,KAEnE,KAAM,GAAW,EAAgB,EAAS,UAAW,SAAU,SACzD,EAAW,CAAC,GAAG,EAAS,MAAO,GAE/B,EAA+B,CAAC,EAAS,IAC7C,GAAK,CAAC,IACC,EACH,EAAQ,OACJ,EAAQ,EAAU,CAAC,EAAS,OAAQ,EAAO,EAAS,GACxD,IAGA,EAAuB,CAAC,QAAS,GACjC,EAAqB,CAAC,QAAO,UAAS,YAE5C,MAAO,GAAO,cACV,EAAS,EAAqC,KAAiB,GAC/D,GAGC,KAAM,IAAS,EAAG,CAAC,aCvE1B,AAyCA,YAAqC,GACnC,KAAM,GAAK,EAAgB,EAAG,IAAK,YAE7B,EAA+B,CAAC,EAAS,KAC7C,GAAI,EAAG,QAAU,aACf,KAAM,GAAI,GAAS,GAAK,IAClB,EAAI,EAAU,GAAK,IACzB,MAAO,IAAQ,EAAG,GAGpB,MAAO,GAAQ,SAAS,IAGpB,EAAyB,CAAC,EAAG,GACnC,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAW,EAAG,CAAC,eCtB5B,YACI,EAAyB,GAC3B,KAAM,GAAM,EAAgB,EAAI,KAAM,gBAChC,EAAM,EAAgB,EAAI,KAAM,gBAEtC,AAAK,EACD,EAAI,OAAS,GAAK,EAAI,OAAS,EAC/B,IAAM,+DACC,EAAI,YAAY,EAAI,SAE/B,KAAM,GAAO,EAAQ,EAAK,CAAC,GAAI,IACzB,EAAO,EAAQ,EAAK,CAAC,EAAG,KAC9B,MAAO,GAAO,EAAM,GAGf,KAAM,IAAe,EAAG,CAAC,mBCrDhC,AAkDA,YACI,EAAiB,EAAmC,EAAgB,GACtE,KAAM,GAAK,EAAgB,EAAG,IAAK,OACnC,GAAI,EAAG,OAAS,EACd,KAAM,IAAI,OAAM,sDAElB,KAAM,GAA0B,CAAC,EAAS,IACxC,GAAK,CAAC,IACC,EAAQ,IAAI,EAAI,EAAU,IAG7B,EAAoB,CAAC,WAAU,iBAC/B,EAAsB,CAAC,EAAG,GAChC,MAAO,GAAO,cACV,EAAS,EAAqC,KAAiB,GAC/D,GAGC,KAAM,IAAM,EAAG,CAAC,UC3CvB,YACI,EAAwB,EACxB,EAAgB,GAClB,SACI,EAAS,SAAW,EACpB,IAAM,oDACH,GAAI,EAAG,CAAC,GAAW,GAGrB,KAAM,IAAQ,EAAG,CAAC,YCTzB,YACI,EAAwB,EACxB,EAAgB,GAClB,SACI,EAAS,SAAW,GAAK,EAAS,GAAG,SAAW,GAC5C,EAAS,GAAG,SAAW,EAC3B,IAAM,yDACH,GAAI,EAAG,EAAU,GAGnB,KAAM,IAAQ,EAAG,CAAC,YCVzB,YACI,EACA,EACA,EAAgB,GAClB,SACI,EAAS,SAAW,GAAK,EAAS,GAAG,SAAW,GAC5C,EAAS,GAAG,SAAW,GAAK,EAAS,GAAG,SAAW,EACvD,IAAM,yDACH,GAAI,EAAG,EAAU,GAGnB,KAAM,IAAQ,EAAG,CAAC,YCXzB,YACI,EACA,EAIA,EAAgB,GAClB,SACI,EAAS,SAAW,GAAK,EAAS,GAAG,SAAW,GAC5C,EAAS,GAAG,SAAW,GAAK,EAAS,GAAG,SAAW,GACnD,EAAS,GAAG,SAAW,EAC3B,IAAM,yDACH,GAAI,EAAG,EAAU,GAGnB,KAAM,IAAQ,EAAG,CAAC,YCxCzB,AA2EA,YACI,EAAiB,EAAsB,GACzC,KAAM,GAAK,EAAgB,EAAG,IAAK,kBAEnC,AAAK,EACD,EAAG,MAAQ,EAAI,EAAW,OAC1B,IAAM,cAAc,EAAG,sCACnB,EAAW,UAEnB,AAAK,EACD,EAAS,SAAW,EAAW,OAC/B,IAAM,qBACF,EAAS,wCAAwC,EAAW,UAEpE,AAAK,EACD,EAAG,MAAM,OACL,CAAC,EAAG,EAAG,IACD,EAAI,GAAK,GAAK,EAAW,OACpB,GACD,GAAI,EAAS,EAAI,GAAG,GAAK,EAAS,EAAI,GAAG,IACtC,EAAW,EAAI,KACnB,EAEA,EAET,IACJ,IAAM,4BAA4B,EAAG,MAAM,MAAM,oBAC7C,EAAS,+CACT,EAAW,cAEnB,KAAM,GAA0B,GAC5B,EAAQ,eAAe,EAAI,EAAY,GAErC,EAA+B,CAAC,EAAG,GACnC,EAA6B,CAAC,aAAY,YAEhD,MAAO,GAAO,cACV,EAAS,EAAgC,KACzC,GAAgB,GAGf,KAAM,IAAiB,EAAG,CAAC,qBCpHlC,AAuDA,YACI,EAAqB,EACrB,EAA0B,EAC1B,EAAqC,GACvC,AAAI,GAAa,MACf,GAAY,CAAC,EAAG,IAElB,AAAI,GAAW,MACb,GAAU,GAEZ,AAAI,IAAQ,GACV,GAAM,SAGR,KAAM,GAAK,EAAgB,EAAO,IAAK,WACvC,GAAI,GAAM,EACN,EAAe,GAEnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG3D,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,qEACa,oBAA0B,MAEjD,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAa,EAAS,EAAW,GAC1C,EACF,CAAC,EAAS,eAAgB,EAAS,eAOvC,GAAI,GACJ,AAAI,IAAQ,OACV,EAAc,GACV,CAAC,EAAS,aAAc,EAAS,aAAc,GAEnD,EAAc,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,IAG7B,KAAM,GAAgB,EAAS,KAAO,GAAK,EAAS,KAAO,EACrD,CAAC,EAAiB,GAAiB,GACrC,CAAC,EAAS,SAAU,EAAS,SAAU,EAAU,GAC/C,EAAe,EAAgB,EAAM,QACrC,EACF,EAAgB,EAAM,GAAe,EAAK,EAAU,GAElD,EAAY,IAAgB,MAC9B,IAAM,GAAQ,EAAY,EAAa,EAAS,GAChD,IAAM,GAAQ,EAAY,EAAa,EAAS,GAC9C,EAAI,IAEJ,EAAM,EAAgB,EAAI,GAAe,EAAG,EAAU,GAE5D,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAGtD,EAMT,YACI,EAA8B,EAC9B,GACF,KAAM,GAAW,EAAY,IAAI,GAAK,EAAE,IAClC,EAAa,EAAY,IAAI,GAAK,EAAE,IACpC,EAAiB,EAAW,OAAO,EAAU,GAC7C,EAAc,EAAW,IAAI,CAAC,EAAG,IAAO,GAAI,EAAe,GAAK,GAAK,GACrE,EAAS,EAAW,IAAI,CAAC,EAAG,IAAM,EAAI,EAAY,IAClD,EAAW,EAAW,IAAI,CAAC,EAAG,IAAM,CAAC,EAAS,GAAI,EAAO,KACzD,EAAQ,EAAW,IAAI,CAAC,EAAG,IAAM,CAAC,EAAG,EAAY,KACvD,MAAO,CAAC,EAAU,GAMpB,YACI,EAA+B,GAGjC,KAAM,GAAqB,EAAY,IAAI,CAAC,EAAG,IACtC,EAAK,GAAI,GAAM,GAAS,GAAK,IAEhC,EAAgB,EAAmB,IAAI,GAAK,EAAI,GAIhD,EAAgB,EAAc,IAAI,GAAK,KAAK,MAAM,EAAI,IACtD,EAAc,EAAc,IAAI,CAAC,EAAG,IAAM,EAAI,EAAc,IAClE,MAAO,GAAc,IAAI,CAAC,EAAG,IACpB,CAAC,EAAc,GAAI,EAAY,KAInC,KAAM,IAAO,EAAG,CAAC,WC/JxB,AAqDA,YACI,EAAyB,GAC3B,GAAI,GAAQ,EAAgB,EAAM,OAAQ,OACtC,EAAO,EAAgB,EAAK,MAAO,OACvC,CAAC,EAAO,GAAQ,EAAe,EAAO,GAEtC,KAAM,GAAoB,CAAC,EAAG,EAAO,EAAG,GAClC,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAI,EAAQ,IAAI,EAAO,GAC7B,SAAK,CAAC,EAAO,EAAM,IACZ,GAGT,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IAAM,EAAG,CAAC,UCvEvB,AAyCA,YAAkC,EAAiB,GACjD,KAAM,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAS,EAAgB,EAAO,QAAS,SAEzC,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,MAAM,EAAI,GAC9B,SAAK,CAAC,EAAI,IACH,GAGH,EAAsB,CAAC,EAAG,EAAI,MAAO,GAC3C,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAQ,EAAG,CAAC,YCzDzB,AA+BM,YAAkC,EAAM,EAAU,IACtD,QAAQ,IAAI,EAAE,SAAS,IChCzB,AA6DA,YACI,EAAsB,EAAwB,KAAM,EAAW,IACjE,GAAI,GAAK,EAAgB,EAAG,IAAK,QAEjC,KAAM,GAA+B,AAAC,IACpC,AAAI,EAAG,QAAU,QACf,GAAK,EAAK,EAAI,UAEhB,KAAM,GAAO,EAAe,EAAM,EAAG,OAE/B,EAAc,GAAmB,EAAM,EAAG,MAChD,GAAI,GAAgB,EAChB,EAAY,EAChB,AAAI,GAAe,MACjB,GAAY,EAAU,EAAI,GAC1B,EAAgB,GAAiB,EAAc,OAAQ,EAAG,OAE5D,GAAI,GAAQ,EAAQ,KAAK,EAAW,GACpC,GAAI,GACF,KAAM,GAAW,GAAqB,EAAM,MAAO,GACnD,EAAQ,EAAQ,EAAO,GAGzB,MAAO,IAGH,EAAqB,CAAC,EAAG,GACzB,EAAmB,CAAC,OAAM,YAEhC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAO,EAAG,CAAC,WC/FxB,AAiCA,YACI,EAAoB,EACpB,GACF,KAAM,GAAO,GAAc,GAC3B,GAAI,GAAS,KACb,GAAI,GAAS,MAAQ,IAAU,UAC7B,EAAS,GAAI,cAAa,WACjB,IAAU,QACnB,EAAS,GAAI,YAAW,WACf,IAAU,OACnB,EAAS,GAAI,YAAW,OAExB,MAAM,IAAI,OAAM,qBAAqB,KAEvC,OAAS,GAAI,EAAG,EAAI,EAAM,IACxB,EAAO,GAAK,IAEd,MAAO,GAAO,WAAW,EAAQ,EAAO,GAGnC,KAAM,IAAO,EAAG,CAAC,WCrDxB,qOAsBA,KAAM,IAAuB,KAChB,GAAuB,GAE9B,YACF,EACA,EAAoD,GACtD,MAAI,IAAW,MACb,GAAU,MAEL,GACH,EAAQ,EAAU,CAAC,EAAG,IAAM,GAAS,EAAa,EAAa,IAG/D,cACJ,MAAO,GAAO,QAAQ,mBAAqB,GAAK,GACA,GAGlD,YACI,EAAoB,EACpB,GACF,GAAI,GAAiB,GAOrB,GANA,AAAI,IAAa,IAAW,GAAa,KACvC,GAAiB,IAEnB,AAAI,GAAa,IAAW,GAAa,IACvC,GAAiB,IAEf,GACF,KAAM,GAAQ,EAAO,YAAY,KAC3B,EAAQ,EAAS,YAAY,KAEnC,GAAI,IAAU,EACZ,KAAM,IAAI,OACN,yCAAyC,gBAC5B,KAIrB,GAAI,MAAM,QAAQ,IAAW,MAAM,QAAQ,IACzC,KAAM,GAAc,GAAW,GACzB,EAAgB,GAAW,GACjC,GAAI,CAAC,GAAY,EAAa,GAC5B,KAAM,IAAI,OACN,0CACY,kBAA4B,MAIhD,KAAM,GACF,GAAa,GAAU,EAAS,GAAQ,GACtC,EAAe,GAAa,GAC9B,EACA,GAAQ,GAEZ,GAAI,EAAW,SAAW,EAAa,OACrC,KAAM,IAAI,OACN,yCAAyC,EAAW,uBACvC,EAAa;YACb;YACA,MAEnB,OAAS,GAAI,EAAG,EAAI,EAAa,OAAQ,EAAE,GACzC,KAAM,GAAI,EAAW,GACf,EAAI,EAAa,GAEvB,GAAI,CAAC,EAAU,EAAG,GAChB,KAAM,IAAI,OACN,yBAAyB,QAAQ,eAAe,QAAQ;YAC3C;YACA,OAUjB,YAA8B,EAAuB,GACzD,IAAK,KAAK,IAAM,EAAK,OAAQ,IAAM,KAG/B,YAA4B,EAAoB,GACpD,KAAM,GAAM,MAAO,IAAa,UAAY,MAAO,IAAa,UACxD,MAAO,IAAa,UACxB,CAAC,GACD,EACJ,MAAI,IAAS,IAAW,GAAU,EAAoB,KAClD,GAAS,IAAa,GAAU,EAAsB,IAEjD,GAAsB,EAAQ,EAAK,CAAC,EAAG,IAAM,GAAK,GAEpD,GACH,EAAQ,EAAU,CAAC,EAAG,IAAM,GAAS,EAAa,EAAa,IAG/D,YAA6B,EAAW,EAAW,GAIvD,GAHA,AAAI,GAAW,MACb,GAAU,MAER,CAAC,GAAS,EAAG,EAAG,GAClB,KAAM,IAAI,OAAM,8BAA8B,mBAAmB,KAIrE,YAAkB,EAAW,EAAW,GACtC,MAAI,CAAC,SAAS,IAAM,CAAC,SAAS,GACrB,GAEL,QAAM,IAAM,MAAM,IAAM,KAAK,IAAI,EAAI,GAAK,GAM1C,YACF,EAA6B,EAAa,GAC5C,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,GAAI,EAAO,GAAK,GAAO,EAAO,GAAK,EACjC,KAAM,IAAI,OACN,sBAAsB,EAAO,WAAW,YAAc,KAK1D,YACF,EAAqB,GAGvB,OAAO,GAAI,cAAa,IAAS,QAAQ,GAAI,cAAa,ICxI5D,SAA4B,SAjB5B,SAmDE,YACI,EAAc,EAAsB,EACpC,EAAqB,GACvB,KAAK,KAAO,EACZ,KAAK,OAAS,EACd,KAAK,MAAQ,EACb,KAAK,QAAU,IACf,KAAK,UAAY,EACjB,AAAI,KAAK,WACP,MAAK,MAAQ,KAAK,KAAO,KAAK,OAAS,EACvC,KAAK,MAAQ,KAAK,KAAO,KAAK,OAAS,GAEzC,KAAM,GAAY,GAAc,KAAK,SACrC,KAAK,OAAS,AAAW,QAAK,EAAU,YAInC,YACL,GAAI,CAAC,MAAM,KAAK,UACd,KAAM,GAAQ,KAAK,QACnB,YAAK,QAAU,IACR,EAGT,GAAI,GAAiB,EACjB,EAAU,GACd,KAAO,CAAC,IACN,GAAI,GAAY,EAAY,EAC5B,EACE,GAAK,EAAI,KAAK,SAAW,EACzB,EAAK,EAAI,KAAK,SAAW,EACzB,EAAI,EAAK,EAAK,EAAK,QACZ,GAAK,GAAK,IAAM,GAEzB,KAAM,GAAM,KAAK,KAAK,GAAO,KAAK,IAAI,GAAK,GAC3C,EAAU,KAAK,KAAO,KAAK,OAAS,EAAK,EACzC,EAAU,KAAK,KAAO,KAAK,OAAS,EAAK,EAEzC,AAAI,EAAC,KAAK,WAAa,KAAK,iBAAiB,KAC3C,GAAU,IAId,MAAI,EAAC,KAAK,WAAa,KAAK,iBAAiB,KAC3C,MAAK,QAAU,KAAK,aAAa,IAE5B,KAAK,aAAa,GAInB,aAAa,GACnB,MAAI,MAAK,OAAS,MAAQ,KAAK,QAAU,UAChC,EAEF,KAAK,MAAM,GAIZ,iBAAiB,GACvB,MAAO,IAAS,KAAK,OAAS,GAAS,KAAK,OA9GhD,SA6HE,YACI,EAAe,EAAc,EAC7B,GACF,KAAK,MAAQ,EACb,KAAK,KAAO,EAAI,EAChB,KAAK,MAAQ,EAEb,KAAM,GAAY,GAAc,KAAK,SACrC,KAAK,MAAQ,AAAW,QAAK,EAAU,YACvC,KAAK,MAAQ,GAAI,IAAY,EAAG,EAAG,EAAO,GAAO,KAAK,SAEtD,AAAI,EAAQ,EACV,KAAK,EAAI,EAAS,EAAI,EAEtB,KAAK,EAAI,EAAS,EAAI,EAExB,KAAK,EAAI,EAAI,KAAK,KAAK,EAAI,KAAK,GAI3B,YACL,GAAI,GAAY,EAAY,EAAY,EAAW,EAAW,EAC9D,QACE,EACE,GAAI,KAAK,MAAM,YACf,EAAI,EAAK,KAAK,EAAI,QACX,GAAK,GAMd,GALA,GAAK,EAAI,EACT,EAAK,EAAI,EACT,EAAK,EAAK,KAAQ,EAAK,EACvB,EAAM,GAAM,EAAO,KAAK,EAAK,GAAI,EAAI,KAAK,IAAI,IAC9C,EAAI,KAAK,QACL,EAAI,GAAM,KAAK,IAAI,GAAK,EAC1B,MAGJ,SAAK,EAAI,KAAK,KAAQ,KAAK,EAAI,EAC/B,AAAI,KAAK,MAAQ,GACf,IAAK,KAAK,IAAI,KAAK,QAAS,EAAI,KAAK,QAEhC,KAAK,aAAa,GAGnB,aAAa,GACnB,MAAI,MAAK,QAAU,UACV,EAEF,KAAK,MAAM,IA5KtB,SAsLE,YACI,EAAM,EAAG,EAAM,EAAG,EAClB,GAWF,GAQM,KAAA,eAAiB,IACpB,KAAK,OAAS,MAAQ,KAAK,QAAU,UAnBxC,KAAK,IAAM,EACX,KAAK,MAAQ,EAAM,EACnB,KAAK,MAAQ,EACb,AAAI,GAAQ,MACV,GAAO,KAAK,UAEd,AAAI,MAAO,IAAS,UAClB,GAAO,EAAK,YAGV,CAAC,KAAK,kBAAoB,KAAK,OAAS,EAC1C,KAAM,IAAI,OACN,0BAA0B,OAAS,iCAEzC,KAAK,OAAS,AAAW,QAAK,GAOxB,aAAa,GACnB,MAAI,MAAK,iBACA,EAEF,KAAK,MAAM,GAGpB,YACE,MAAO,MAAK,aAAa,KAAK,IAAM,KAAK,MAAQ,KAAK,WCtN1D,AAuCA,YACI,EAAoB,EAAe,EAAO,EAC1C,EAA2B,UAAW,GAOxC,GANA,AAAI,GAAQ,MACV,GAAO,GAET,AAAI,GAAS,MACX,GAAQ,WAEN,IAAU,WAAa,IAAU,QACnC,KAAM,IAAI,OAAM,yBAAyB,KAE3C,KAAM,GAAS,GAAI,IAAU,EAAO,EAAM,EAAO,GAC3C,EAAM,GAAO,EAAO,GAC1B,OAAS,GAAI,EAAG,EAAI,EAAI,OAAO,OAAQ,IACrC,EAAI,OAAO,GAAK,EAAO,YAEzB,MAAO,GAAI,WAGN,KAAM,IAAc,EAAG,CAAC,kBC3D/B,AAsCA,YACI,EAAoB,EAAO,EAAG,EAAS,EAAG,EAC1C,GACF,GAAI,GAAS,MAAS,IAAuB,OAC3C,KAAM,IAAI,OAAM,yBAAyB,KAE3C,KAAM,GACF,GAAI,IAAY,EAAM,EAAQ,EAAO,GAAuB,GAC1D,EAAM,GAAO,EAAO,GAC1B,OAAS,GAAI,EAAG,EAAI,EAAI,OAAO,OAAQ,IACrC,EAAI,OAAO,GAAK,EAAU,YAE5B,MAAO,GAAI,WAGN,KAAM,IAAe,EAAG,CAAC,mBCrDhC,AA2CA,YACI,EAAoB,EAAS,EAAG,EAAS,EAAG,EAAkB,UAC9D,GACF,KAAM,GAAM,GAAO,EAAO,GACpB,EAAS,GAAI,IAAc,EAAQ,EAAQ,KAAM,GACvD,OAAS,GAAI,EAAG,EAAI,EAAI,OAAO,OAAQ,IACrC,EAAI,OAAO,GAAK,EAAO,YAEzB,MAAO,GAAI,WAGN,KAAM,IAAgB,EAAG,CAAC,oBCtDjC,AAuCM,YAAmB,EAAsB,GAC7C,GAAc,GACd,KAAM,GAAgB,GAAW,EAAQ,GACzC,GAAI,EAAc,SAAW,EAC3B,KAAM,IAAI,OAAM,sDAElB,KAAM,GAAkB,KACxB,MAAO,IAAW,EAAQ,EAAO,EAAe,GC9ClD,AA4CM,YACF,EAAe,EAAc,EAAO,EACpC,EAA2B,WAC7B,GAAI,IAAS,EACX,KAAM,IAAI,OAAM,8BAGlB,KAAM,GAA+B,KACnC,KAAM,GAAgB,IAAU,EAC1B,EAA8B,EAAQ,GAAQ,EAAO,EACrD,EAA8B,EAAO,GAAS,EAAO,EAE3D,GAAI,GAAiB,GACjB,EACF,MAAO,IAAM,CAAC,GAAI,GAGpB,KAAM,GAAc,KAAK,IAAI,KAAK,KAAM,GAAO,GAAS,IAClD,EAAS,GAAoB,EAAa,GAEhD,AAAI,EAAO,GAAS,IAAS,GAG3B,GAAO,IAGT,EAAO,GAAK,EACZ,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,EAAO,GAAK,EAAO,EAAI,GAAK,EAG9B,MAAO,IAAS,EAAQ,IAGpB,EAAoB,CAAC,QAAO,OAAM,OAAM,SAE9C,MAAO,GAAO,cACH,EAAS,GAAiB,KAAiB,GAC3C,GClFb,AAqCA,YAAuC,GACrC,KAAM,GAAK,EAAgB,EAAG,IAAK,cAE7B,EAA2B,CAAC,EAAG,GACrC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,WAAW,GAC/B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAa,EAAG,CAAC,iBC/C9B,AAuCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAA+B,CAAC,EAAS,IAC7C,GAAK,CAAC,IAEF,EAAG,QAAU,OACR,EAAK,EAAI,SAGX,EAAQ,KAAK,IAGhB,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAO,EAAG,CAAC,WC3DxB,AAuCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAA+B,CAAC,EAAS,IAC7C,GAAK,CAAC,IAEF,EAAG,QAAU,OACR,EAAK,EAAI,SAGX,EAAQ,MAAM,IAGjB,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAQ,EAAG,CAAC,YC3DzB,AA6BA,YAAoB,GAClB,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IAAM,qDAAqD,EAAG,SAC3D,GAAQ,EAAI,GAGd,KAAM,IAAY,EAAG,CAAC,gBCrC7B,AA+BA,YAAoB,EAAwB,GAC1C,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IAAM,qDAAqD,EAAG,SAC3D,GAAQ,EAAI,GAGd,KAAM,IAAY,EAAG,CAAC,gBCvC7B,AA+BA,YAAoB,EAAwB,GAC1C,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IAAM,qDAAqD,EAAG,SAC3D,GAAQ,EAAI,GAGd,KAAM,IAAY,EAAG,CAAC,gBCvC7B,AA+BA,YAAoB,EAAwB,GAC1C,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IAAM,qDAAqD,EAAG,SAC3D,GAAQ,EAAI,GAGd,KAAM,IAAY,EAAG,CAAC,gBCdvB,YACF,EAAsB,EACtB,EAAO,GACT,GAAI,GAAa,GACjB,GAAI,MAAQ,IAAqB,SAC/B,EACI,EAAE,MAAM,GAAQ,IAAoB,EACpC,IAAM,iDACV,EACI,GAAI,OAAM,GAAiB,KAAK,EAAE,MAAM,GAAQ,QAEpD,KAAM,GAAY,EAAgB,OAAO,CAAC,EAAO,IAC/C,CAAI,IAAU,IACZ,IAAS,GAEJ,GACN,GACH,EACI,GAAa,EACb,IAAM,2DACV,KAAM,GAAW,EAAgB,QAAQ,IAGzC,GAAI,IAAa,IACf,KAAM,GAAQ,EAAgB,OAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,EAAI,GAC/D,EAAgB,GAAY,EAAE,MAAM,GAAQ,EAE9C,EACI,EAAE,MAAM,KAAU,EAAgB,OAAO,CAAC,EAAG,IAAM,EAAI,GACvD,IAAM,+DACV,EAAa,EAGf,MAAO,GC1DT,AA8DA,YACI,EAAsB,EAAkC,EAAO,GACjE,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAQ,EAAe,EAAM,EAAG,OAAO,GACvC,EAAa,GAAiB,EAAI,EAAiB,GACzD,MAAO,GAAQ,MAAM,EAAI,EAAY,IAGjC,EAAuB,CAAC,EAAG,GAC3B,EAAoB,CAAC,kBAAiB,QAE5C,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,GAC1D,GAGN,KAAM,IAAQ,EAAG,CAAC,YChFzB,AAgDA,YAAe,EAAe,GAC5B,EACI,EAAM,QAAU,UAChB,IAAM,mDAAmD,EAAM,SAEnE,GAAI,GAAqB,EAAM,MAAM,EAAM,MAAM,OAAS,GAC1D,KAAM,GAAQ,EAAM,KAAO,EAE3B,GAAI,GACJ,GAAI,GAAa,MAAQ,EAAY,GAEnC,KAAM,GAAQ,EAAM,MAAM,IAAI,GAAK,GAC7B,EAAO,EAAM,MAAM,IAAI,GAAK,GAClC,EAAK,EAAM,MAAM,OAAS,GAAK,EAC/B,EAAgB,EAAM,EAAO,EAAO,GACpC,EAAqB,UACZ,GAAa,MAAQ,EAAY,GAE1C,KAAM,GAAa,EAAM,MAAM,IAAI,GAAK,GACxC,EAAW,EAAM,MAAM,OAAS,GAAK,EAAY,EACjD,EAAgB,EAAO,CAAC,EAAO,GAAM,IAAc,EAAM,MAAM,OAAS,GACxE,EAAqB,MAErB,GAAgB,EAIlB,KAAM,GAAa,EAAU,GACvB,EACF,EAAQ,GAAQ,EAAe,GAAa,CAAC,EAAO,IAElD,EAAM,GAAI,GAGV,EAAO,KAAK,MAAM,EAAqB,GAAK,EAC5C,EAAa,GAAK,GAClB,EAAa,GAAK,GAClB,EAAuB,GACzB,EAAY,CAAC,EAAM,EAAqB,GACxC,EAAW,MAAM,OAAS,GACxB,EAAuB,GACzB,EAAY,CAAC,EAAM,EAAqB,GACxC,EAAW,MAAM,OAAS,GAExB,EAAc,EAAc,MAAM,QACxC,SAAY,EAAc,MAAM,OAAS,GAAK,EAEvC,EACH,GAAQ,EAAqB,GAAI,EAAqB,IAAK,GAG1D,KAAM,IAAO,EAAG,CAAC,WCnGxB,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAC7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cACV,AAAC,GAAY,EAAQ,MAAM,GAAK,EAChC,KAAiB,IAGhB,KAAM,IAAQ,EAAG,CAAC,YC/CzB,AAsCA,YAAkC,GAChC,KAAM,GAAK,EAAgB,EAAG,IAAK,SAE7B,EAAsB,CAAC,EAAG,GAEhC,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,MAAM,GAC1B,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAQ,EAAG,CAAC,YCjDzB,AAuCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GAGH,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KAAiB,IAIhE,KAAM,IAAO,EAAG,CAAC,WCexB,YACI,EAAiB,EACjB,EAAsC,EACtC,EAAqB,EAAoC,CAAC,EAAG,GAC7D,EAA4B,QAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,mBAC7B,EACF,EAAgB,EAAiB,kBAAmB,mBAClD,EACF,EAAgB,EAAiB,kBAAmB,mBAExD,GAAI,GAAM,EACN,EAAe,GAMnB,GALA,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAGvD,IAAe,OACjB,KAAM,IAAI,OACN,sFAIN,AAAK,EACD,EAAI,OAAS,EACb,IAAM,gEACM,EAAI,SACpB,AAAK,EACD,EAAiB,OAAS,EAC1B,IAAM,2EACU,EAAiB,SACrC,AAAK,EACD,EAAiB,OAAS,EAC1B,IAAM,2EACU,EAAiB,SACrC,AAAK,EACD,EAAiB,MAAM,KAAO,EAC9B,IACI,yFACuB,EAAiB,MAAM,OACtD,AAAK,EACD,EAAiB,MAAM,KAAO,EAC9B,IAAM,yFAC2B,EAAiB,MAAM,OAE5D,KAAM,GAAa,EAAiB,MAAM,GACpC,EAAoB,EAAiB,MAAM,GACjD,AAAK,EACD,EAAiB,MAAM,KAAO,EAAa,EAC3C,IACI,6EACW,EAAa,cACb,EAAiB,MAAM,OAE1C,KAAM,GAAY,GACd,EAAK,EAAkB,EAAS,EAAK,EAAY,GAC/C,EAAkB,EAClB,EACF,GAAO,EAAW,EAAkB,EAAiB,QAAS,GAElE,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAkB,EAAG,CAAC,sBCzInC,AAiDA,kBACI,EAAsB,GACxB,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAK,EAAgB,EAAG,IAAK,aAEnC,AAAK,EACD,EAAG,QAAU,EAAG,MAChB,IAAM,kDACF,EAAG,iBAAiB,EAAG,WAE/B,AAAK,EACD,EAAG,OAAS,EAAG,IAAM,qCAAqC,EAAG,WAEjE,AAAK,EACD,EAAG,OAAS,EAAG,IAAM,qCAAqC,EAAG,WAEjE,KAAM,GAAQ,KAAM,GAAG,OACjB,EAAQ,KAAM,GAAG,OACjB,EAAO,GAAI,KAAI,GAErB,GAAI,GAAa,EACjB,OAAS,GAAI,EAAG,EAAI,EAAM,OAAQ,IAChC,AAAK,EAAK,IAAI,EAAM,KAClB,IAIJ,KAAM,GAAS,GAAI,IAAa,CAAC,GAAa,EAAG,OAC3C,EAAU,GAAI,IAAa,CAAC,GAAa,SAC/C,OAAS,GAAI,EAAG,EAAI,EAAG,EAAI,EAAM,OAAQ,IACvC,AAAK,EAAK,IAAI,EAAM,KAClB,GAAO,OAAO,GAAK,EAAM,GACzB,EAAQ,OAAO,GAAK,EACpB,KAGJ,MAAO,CAAC,EAAO,WAAY,EAAQ,YAE9B,KAAM,IAAiB,GCvF9B,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAC7B,EAAqB,CAAC,EAAG,GAC/B,MAAO,GAAO,cACV,GAAW,EAAQ,KAAK,GAAK,EAC7B,KAAiB,IAEhB,KAAM,IAAO,EAAG,CAAC,WC5CxB,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAoB,CAAC,EAAG,GAE9B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,GACxB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAM,EAAG,CAAC,UChDvB,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAC7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WC/CxB,AA6BA,YACI,EAAwB,EAAe,GACzC,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IACI,mDAAmD,EAAG,eACvD,EAAM,EAAI,CAAC,GAAQ,CAAC,IAEtB,KAAM,IAAU,EAAG,CAAC,cCtC3B,AA6BA,YACI,EAAwB,EACxB,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IACI,mDAAmD,EAAG,eACvD,EAAM,EAAI,EAAO,GAEnB,KAAM,IAAU,EAAG,CAAC,cCvC3B,AA6BA,YACI,EAAwB,EACxB,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IACI,mDAAmD,EAAG,eACvD,EAAM,EAAI,EAAO,GAEnB,KAAM,IAAU,EAAG,CAAC,cCvC3B,AA6BA,YACI,EAAwB,EACxB,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAK,GACD,EAAG,OAAS,EACZ,IACI,mDAAmD,EAAG,eACvD,EAAM,EAAI,EAAO,GAEnB,KAAM,IAAU,EAAG,CAAC,cCvC3B,AA+CA,YAAoC,EAAsB,EAAM,IAC9D,KAAM,GAAU,EAAgB,EAAQ,SAAU,UAAW,WAK7D,GAHA,AAAI,IAAQ,IACV,GAAM,EAAQ,KAAO,GAEnB,IAAQ,EAAQ,KAAO,EACzB,KAAM,OACF,4EACmB,EAAQ,oBAAoB,KAGrD,KAAM,GAAwB,CAAC,OAAQ,GACjC,EAAsB,CAAC,OAE7B,MAAO,GAAO,cACV,CAAC,EAAS,KACR,KAAM,GAAI,EAAQ,QAAQ,EAAS,GACnC,SAAK,CAAC,IACC,GAET,EAAgC,KAAiB,GACjD,GAGC,KAAM,IAAU,EAAG,CAAC,cCxE3B,AAqCA,YAAiC,GAC/B,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAAqB,CAAC,EAAG,GAE/B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,KAAK,GACzB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAO,EAAG,CAAC,WChDxB,AAmDA,YACI,EAAsB,GACxB,GAAI,GAAK,EAAgB,EAAG,IAAK,qBAC7B,EAAK,EAAgB,EAAG,IAAK,qBACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,EAA2B,EAAG,MAAO,EAAG,OAExC,KAAM,GAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,kBAAkB,EAAI,GAC1C,SAAK,CAAC,EAAI,IACH,GAGH,EAAkC,CAAC,EAAG,EAAI,EAAG,GAC7C,EAAQ,GAEd,MAAO,GAAO,cACH,EAAS,EAAqC,KAC9C,GAAmB,GAGzB,KAAM,IAAoB,EAAG,CAAC,wBCzErC,AAuCA,YAAoC,EAAsB,GACxD,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,MAAO,GAAQ,EAAI,GAAa,EAAG,MAAO,GAAM,UAG3C,KAAM,IAAU,EAAG,CAAC,cC5C3B,AAwCA,YACI,EAA8B,EAAO,GACvC,KAAM,GAAW,GAAqB,EAAS,UAAW,SAK1D,GAHA,AAAK,EACD,EAAS,QAAU,EAAG,IAAM,wCAE5B,EAAS,SAAW,EACtB,MAAO,IAAW,EAAS,GAAI,GAGjC,KAAM,GAAO,EAAS,GAAG,KACnB,EAAQ,EAAS,GAAG,MACpB,EAAQ,EAAS,GAAG,MAE1B,AAAK,EAAO,GAAQ,EAAM,IAAM,sCAEhC,EAAS,QAAQ,IACf,AAAK,EACD,EAAO,EAAE,MACT,yDACJ,AAAK,EACD,IAAU,EAAE,MACZ,IAAM,2DAGZ,KAAM,GAAkB,EAAS,IAAI,GAAK,GAAW,EAAG,IAOxD,MAAO,GAAO,EAAiB,GAG1B,KAAM,IAAQ,EAAG,CAAC,YC5EzB,AAuCA,YAAiC,EAAiB,EAAQ,GACxD,KAAM,GAAK,EAAgB,EAAG,IAAK,QAE7B,EAAqB,CAAC,EAAG,GACzB,EAAmB,CAAC,SAE1B,MAAO,GAAO,cACV,GAAW,EAAQ,KAAK,EAAI,GAAQ,EACpC,KAAiB,GAAM,GAEtB,KAAM,IAAO,EAAG,CAAC,WCjDxB,AA8DA,YACI,EAAsB,EAAiB,EAAe,EACtD,EAAY,EAAG,EAAU,EAAG,EAAe,EAAG,EAAc,EAC5D,EAAiB,GACnB,AAAI,GAAW,MACb,GAAU,GAAI,OAAM,EAAM,SAG5B,GAAI,GAAK,EAAgB,EAAG,IAAK,gBAEjC,KAAM,GAA+B,AAAC,IACpC,KAAM,GAAe,GAAW,GAChC,GAAI,EAAa,OAAS,EACxB,KAAM,IAAI,OAAM,8CAGlB,GAAI,IAAiB,GAAK,IAAgB,EACxC,KAAM,IAAI,OACN,iEAGN,GAAI,IAAiB,GAAK,IAAmB,EAC3C,KAAM,IAAI,OACN,oEAGN,KAAM,GAAsB,EAAG,KAAO,EAAM,OAGtC,EAAa,GAAW,GACxB,EAAW,EAAG,MAAM,QAS1B,GARA,EAAW,QAAQ,IACjB,EAAM,GAAQ,EACd,EAAI,GAAQ,EACZ,EAAS,OAAO,EAAM,EAAG,KAE3B,EAAK,EAAQ,EAAI,GAGb,EAAa,QAAU,EAAsB,GAC/C,KAAM,GAAY,EAAa,GAIzB,EAAgB,EAAsB,EAC5C,EAAQ,GACJ,EAAW,EAAW,EAAe,EAAO,EAAG,OACnD,EAAM,GACF,EAAS,EAAW,EAAe,EAAK,EAAG,OAC/C,EACI,GAAsB,EAAS,EAAW,EAAe,EAAG,WAEhE,QAAS,GAAO,EAAG,EAAO,EAAG,KAAM,IACjC,EAAM,GAAQ,GACV,EAAW,EAAO,EAAS,EAAG,MAAO,EAAM,GAC/C,EAAI,GACA,GAAY,EAAS,EAAK,EAAS,EAAG,MAAO,EAAM,GACvD,EAAQ,GAAQ,GAAe,EAAS,EAAM,GAIlD,KAAM,GAAa,GAAW,GAE9B,EAAW,QAAQ,IACjB,EAAI,GAAQ,EAAM,GAAQ,EAC1B,EAAQ,GAAQ,IAIlB,KAAM,GAAO,GAAgB,EAAO,EAAK,GAEnC,EAAW,EAAK,OAAO,CAAC,EAAG,IAAS,EAAW,QAAQ,KAAU,IAEjE,EAAa,EAAQ,MAAM,GAAK,IAAM,GAC5C,GAAI,EACF,MAAO,GAAQ,EAAM,EAAI,EAAO,GAAO,GAGzC,KAAM,GAAM,EAAQ,aAAa,EAAI,EAAO,EAAK,GACjD,MAAO,GAAQ,EAAK,IAGhB,EAA6B,CAAC,EAAG,GACjC,EAA2B,CAC/B,QACA,MACA,UACA,YACA,UACA,eACA,cACA,kBAGF,MAAO,GAAO,cACV,EAAS,EAAgC,KAAiB,GAC1D,GAGC,KAAM,IAAe,EAAG,CAAC,mBCjKhC,AAqCA,YAAgC,GAC9B,KAAM,GAAK,EAAgB,EAAG,IAAK,OAE7B,EAAoB,CAAC,EAAG,GAE9B,MAAO,GAAO,cAAc,CAAC,EAAS,KACpC,KAAM,GAAM,EAAQ,IAAI,GACxB,SAAK,CAAC,IACC,GACN,EAAgC,KAAiB,IAE/C,KAAM,IAAM,EAAG,CAAC,UChDvB,AA8CM,YACF,EAAsB,EACtB,GAEF,GADA,GAAc,GACV,GAAS,MAAQ,EAAM,SAAW,EACpC,KAAM,IAAI,OAAM,iDAElB,KAAM,GAAgB,GAAW,EAAQ,GACzC,GAAI,EAAc,SAAW,GAAK,EAAc,SAAW,EACzD,KAAM,IAAI,OACN,kEAEN,GAAI,EAAc,SAAW,GAAK,GAAS,KACzC,KAAM,IAAI,OACN,gFAGN,MAAO,IAAW,EAAQ,EAAO,EAAe,GC/DlD,AA8CM,YACF,EAAsB,EACtB,GAEF,GADA,GAAc,GACV,GAAS,MAAQ,EAAM,SAAW,EACpC,KAAM,IAAI,OAAM,mDAElB,KAAM,GAAgB,GAAW,EAAQ,GACzC,GAAI,EAAc,SAAW,GAAK,EAAc,SAAW,EACzD,KAAM,IAAI,OACN,oEAEN,GAAI,EAAc,SAAW,GAAK,GAAS,KACzC,KAAM,IAAI,OACN,2EAGN,MAAO,IAAW,EAAQ,EAAO,EAAe,GC/DlD,AA8CM,YACF,EAAsB,EACtB,GAEF,GADA,GAAc,GACV,GAAS,MAAQ,EAAM,SAAW,EACpC,KAAM,IAAI,OAAM,kDAElB,KAAM,GAAgB,GAAW,EAAQ,GACzC,GAAI,EAAc,SAAW,GAAK,EAAc,SAAW,EACzD,KAAM,IAAI,OACN,sEAEN,GAAI,EAAc,SAAW,GAAK,GAAS,KACzC,KAAM,IAAI,OACN,2EAGN,MAAO,IAAW,EAAQ,EAAO,EAAe,GC/DlD,AA8CM,YACF,EAAsB,EACtB,GAEF,GADA,GAAc,GACV,GAAS,MAAQ,EAAM,SAAW,EACpC,KAAM,IAAI,OAAM,kDAElB,KAAM,GAAgB,GAAW,EAAQ,GACzC,GAAI,EAAc,SAAW,GAAK,EAAc,SAAW,EACzD,KAAM,IAAI,OACN,wEAGN,GAAI,EAAc,SAAW,GAAK,GAAS,KACzC,KAAM,IAAI,OACN,2EAGN,MAAO,IAAW,EAAQ,EAAO,EAAe,GChElD,AA8CM,YACF,EACA,EACA,GAEF,GADA,GAAc,GACV,GAAS,MAAQ,EAAM,SAAW,EACpC,KAAM,IAAI,OAAM,iDAElB,KAAM,GAAgB,GAAW,EAAQ,GACzC,GAAI,EAAc,SAAW,GAAK,EAAc,SAAW,EACzD,KAAM,IAAI,OACN,0EAGN,GAAI,EAAc,SAAW,GAAK,GAAS,KACzC,KAAM,IAAI,OACN,2EAGN,SAAQ,GACJ,EACG,GAAW,EAAQ,EAAO,EAAe,GCnElD,AAkDA,YACI,EAAiB,EAAI,EAAG,EAAS,IACnC,KAAM,GAAK,EAAgB,EAAG,IAAK,QACnC,GAAI,EAAG,OAAS,EACd,KAAM,IAAI,OAAM,sDAElB,KAAM,GAAU,EAAG,MAAM,EAAG,MAAM,OAAS,GAC3C,GAAI,EAAI,EACN,KAAM,IAAI,OACN,uDAAuD,cAC5C,KAGjB,KAAM,GAAqB,CAAC,EAAG,GACzB,EAAmB,CAAC,IAAG,UAEvB,CAAC,EAAQ,GAAW,EAAO,cAC7B,GAAK,EAAE,KAAK,EAAqB,EAAG,GACpC,EAAgC,KAAiB,GACjD,GAEJ,MAAO,CAAC,SAAQ,WAGX,KAAM,IAAO,EAAG,CAAC,WC1ExB,AA2CA,YACI,EAAoB,EAAO,EAAG,EAAS,EAAG,EAC1C,GACF,GAAI,GAAS,MAAS,IAAuB,OAC3C,KAAM,IAAI,OAAM,qCAElB,KAAM,GACF,GAAI,IAAY,EAAM,EAAQ,EAAO,GAAsB,GACzD,EAAM,GAAO,EAAO,GAC1B,OAAS,GAAI,EAAG,EAAI,EAAI,OAAO,OAAQ,IACrC,EAAI,OAAO,GAAK,EAAU,YAE5B,MAAO,GAAI,WAGN,KAAM,IAAkB,EAAG,CAAC,sBC1DnC,AA6CA,YACI,EAAiB,EAAiC,GACpD,KAAM,GAAK,EAAgB,EAAG,IAAK,sBAC7B,EACF,EAAgB,EAAY,aAAc,qBAAsB,SACpE,EAAO,EAAM,GAAc,IAAM,oCAEjC,KAAM,GAAmC,CAAC,EAAG,EAAI,WAAY,GACvD,EAAiC,CAAC,eAElC,EAA+B,CAAC,EAAS,KAC7C,KAAM,GAAM,EAAQ,mBAAmB,EAAI,EAAa,GACxD,SAAK,CAAC,IACC,GAGT,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAoB,GAG1B,KAAM,IAAqB,EAAG,CAAC,yBClEtC,AA0CA,YAAkB,EAAsB,EAAO,GAC7C,KAAM,GAAK,EAAgB,EAAG,IAAK,WACnC,AAAK,EACD,GAAQ,CAAC,EAAG,MAAM,QAAU,EAAO,EAAG,MAAM,OAC5C,IACI,UAAU,iBAAoB,EAAG,MAAM,WAAW,EAAG,MAAM,WACnE,AAAI,EAAO,GACT,IAAQ,EAAG,MAAM,QAEnB,KAAM,GAAuB,CAAC,MAAO,GAC/B,EAAqB,CAAC,QACtB,EAAiC,AAAC,GACpC,EAAQ,QAAQ,EAAI,GACxB,MAAO,GAAO,cACV,EAAS,EAAgC,KAAiB,GAC1D,GAGC,KAAM,IAAU,EAAG,CAAC,cC5D3B,AAoCM,YACF,EAAyB,EAAY,GAAM,EAC3C,GACF,MAAO,GAAO,aAAa,EAAc,EAAW,EAAM,GCvC5D,AAuBM,YAAoB,EAAqB,GAC7C,KAAM,GAAU,GAChB,OAAS,GAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,AAAI,EAAS,IACX,EAAQ,KAAK,GAIjB,KAAM,GAAW,GAAO,EAAW,SAE7B,EAAM,GAAO,CAAC,EAAQ,OAAQ,EAAU,QAAS,SACvD,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,KAClC,KAAM,GAAM,EAAS,WAAW,EAAQ,IAClC,EAAS,EAAI,EAAU,OAC7B,EAAI,OAAO,IAAI,EAAK,GAEtB,MAAO,GAAI,WCvCb,AAwCA,kBAA2B,GACzB,KAAM,GACF,EAAgB,EAAW,YAAa,aAAc,QACpD,EAAO,KAAM,GAAW,OACxB,EAAM,GAAU,EAAW,MAAO,GACxC,MAAI,KAAc,GAChB,EAAW,UAEN,EAGF,KAAM,IAAa,GCnD1B,AA4CA,kBACI,EAA2B,EAC3B,GACF,KAAM,GAAU,EAAgB,EAAQ,SAAU,YAC5C,EAAQ,EAAgB,EAAM,OAAQ,WAAY,QAElD,EAAW,GAAQ,KAAO,EAAI,EAC9B,EAAU,EAAM,KAChB,EAAc,EAAQ,MAE5B,AAAK,EAAO,EAAU,EAAG,IAAM,yBAC/B,AAAK,EACD,EAAY,MAAM,EAAU,EAAW,GAAU,EAAM,MACvD,qEAEJ,GAAI,GAAc,EAClB,OAAS,GAAI,EAAU,EAAI,EAAW,EAAS,IAC7C,GAAe,EAAY,GAE7B,KAAM,GACF,EAAY,MAAM,EAAG,GAChB,OAAO,CAAC,GAAc,EAAY,MAAM,EAAW,IACtD,EAAiB,EAAQ,EAAS,GAClC,EAAe,EAAQ,EAAO,CAAC,KAC/B,EAAoB,KAAM,IAAW,GACrC,EAAU,GAAQ,EAAmB,CAAC,IAEtC,EAAM,GAAO,EAAgB,EAAS,GAG5C,MAAI,KAAW,GACb,EAAQ,UAEV,AAAI,IAAS,GACX,EAAM,UAER,EAAQ,UACR,EAAe,UACf,EAAa,UACb,EAAkB,UAEX,EAGF,KAAM,IAAmB,GCxFhC,AAuCA,YACI,EAAiB,GACnB,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,kBAC7B,EAAK,EAAgB,EAAG,IAAK,kBACnC,SAAkB,EAAG,MAAO,EAAG,MAAO,6BAC/B,GAAS,EAAI,GAYtB,YAAuC,EAAiB,GACtD,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,cAC7B,EAAK,EAAgB,EAAG,IAAK,cACnC,SAAkB,EAAG,MAAO,EAAG,MAAO,yBAC/B,GAAK,EAAI,GAGlB,YAAwC,EAAiB,GACvD,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,eAC7B,EAAK,EAAgB,EAAG,IAAK,eACnC,SAAkB,EAAG,MAAO,EAAG,MAAO,0BAC/B,GAAM,EAAI,GAGnB,YACI,EAAiB,GACnB,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,mBAC7B,EAAK,EAAgB,EAAG,IAAK,mBACnC,SAAkB,EAAG,MAAO,EAAG,MAAO,8BAC/B,GAAU,EAAI,GAGvB,YAA0C,EAAiB,GACzD,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,iBAC7B,EAAK,EAAgB,EAAG,IAAK,iBACnC,SAAkB,EAAG,MAAO,EAAG,MAAO,4BAC/B,GAAQ,EAAI,GAGrB,YACI,EAAiB,GACnB,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,sBAC7B,EAAK,EAAgB,EAAG,IAAK,sBACnC,SAAkB,EAAG,MAAO,EAAG,MAAO,iCAC/B,GAAa,EAAI,GAGnB,KAAM,IAAc,EAAG,CAAC,kBAClB,GAAqB,EAAG,CAAC,yBACzB,GAAgB,EAAG,CAAC,oBACpB,GAAkB,EAAG,CAAC,sBACtB,GAAa,EAAG,CAAC,iBACjB,GAAiB,EAAG,CAAC,qBCpHlC,AA2CA,YAAsC,EAAiB,GACrD,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAK,EAAgB,EAAG,IAAK,aACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,wBACpC,EAAI,EAAI,GAajB,YAAsC,EAAiB,GACrD,GACI,6EAGJ,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAK,EAAgB,EAAG,IAAK,aACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,wBACpC,EAAI,EAAI,GAajB,YAAsC,EAAS,GAC7C,UACI,6EAGJ,AAAK,EAAkB,EAAK,MAAO,EAAI,MAAO,wBACvC,GAAI,EAAM,GAanB,YAAsC,EAAiB,GACrD,GACI,6EAGJ,KAAM,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,6BACpC,EAAI,EAAI,GAWjB,YAAsC,EAAiB,GACrD,GACI,6EAGJ,KAAM,GAAK,EAAgB,EAAG,IAAK,OAC7B,EAAK,EAAgB,EAAG,IAAK,OACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,2BACpC,EAAI,EAAI,GAWjB,YAAsC,EAAiB,GACrD,GACI,6EAGJ,KAAM,GAAK,EAAgB,EAAG,IAAK,aAC7B,EAAK,EAAgB,EAAG,IAAK,aACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,wBACpC,GAAI,EAAI,GAWjB,YAA0C,EAAiB,GACzD,GACI,6EAGJ,KAAM,GAAK,EAAgB,EAAG,IAAK,iBAC7B,EAAK,EAAgB,EAAG,IAAK,iBACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,4BACpC,GAAQ,EAAI,GAWrB,YAA0C,EAAiB,GACzD,GACI,6EAGJ,KAAM,GAAK,EAAgB,EAAG,IAAK,iBAC7B,EAAK,EAAgB,EAAG,IAAK,iBACnC,MAAK,GAAkB,EAAG,MAAO,EAAG,MAAO,4BACpC,GAAQ,EAAI,GAarB,YACI,EAAiB,GACnB,GACI,6EAEJ,KAAM,GAAK,EAAgB,EAAG,IAAK,2BAC7B,EAAK,EAAgB,EAAG,IAAK,2BACnC,MAAK,GACD,EAAG,MAAO,EAAG,MAAO,sCACjB,GAAkB,EAAI,GAGxB,KAAM,IAAY,EAAG,CAAC,gBAChB,GAAY,EAAG,CAAC,gBAChB,GAAgB,EAAG,CAAC,oBACpB,GAAgB,EAAG,CAAC,oBACpB,GAAY,EAAG,CAAC,gBAChB,GAAY,EAAG,CAAC,gBAChB,GAAY,EAAG,CAAC,gBAChB,GAA0B,EAAG,CAAC,8BAC9B,GAAY,EAAG,CAAC,gBC5N7B,AAuEA,YACI,EAAsB,EAAgC,YACtD,EAAwB,KAAM,EAAW,IAC3C,EAAI,EAAgB,EAAG,IAAK,QAE5B,KAAM,GAAO,GAAS,EAAG,EAAK,GAC9B,GAAI,GAAgB,EAAK,MACzB,GAAI,GACF,KAAM,GAAO,EAAe,EAAM,EAAE,OACpC,EAAgB,AAAU,GAAqB,EAAK,MAAO,GAE7D,MAAO,GAAQ,EAAM,GAGvB,YACI,EAAW,EAAkB,EAAwB,MACvD,GAAI,EAAE,OAAS,EACb,MAAO,IAAI,GAIb,GAAI,EAAE,OAAS,GAAK,IAAS,KAC3B,MAAO,IAAS,EAAQ,EAAG,CAAC,KAAM,EAAG,GAIvC,GAAI,EAAE,OAAS,GAAK,MAAO,IAAS,UAChC,MAAM,QAAQ,IAAS,EAAK,SAAW,GACzC,GAAI,IAAM,EACR,MAAO,GAAI,GAAI,GAAI,GAErB,GAAI,IAAM,SACR,MAAO,IAAI,GAAI,GAAI,GAErB,GAAI,IAAM,UACR,MAAO,IAAI,GAAI,GAAI,GAErB,GAAI,IAAM,aAAe,IAAM,EAE7B,MAAO,IAAK,EAAI,GAAI,GAAI,GAAI,EAAO,EAAG,UAAW,IAGnD,KAAM,IAAI,OAAM,qCAAqC,KAIvD,GAAI,MAAM,QAAQ,IAAS,EAAK,SAAW,GACzC,GAAI,IAAM,EACR,MAAO,IAAI,EAAI,GAAI,GAAI,EAAK,IAAK,EAAK,GAAK,GAE7C,GAAI,IAAM,SACR,MAAO,IAAI,EAAI,GAAI,GAAI,EAAK,IAAK,EAAK,IAExC,GAAI,IAAM,UACR,MAAO,IAAI,EAAI,GAAI,GAAI,EAAK,IAAK,EAAK,IAExC,GAAI,IAAM,OAAS,IAAM,YAEvB,MAAO,IAAK,EAAI,EAAO,GAAI,IAG7B,KAAM,IAAI,OAAM,qCAAqC,KAGvD,KAAM,IAAI,OAAM,gCAAgC,KAG3C,KAAM,IAAO,EAAG,CAAC,WC1IxB,AA0DA,YACI,EAAiB,EAAiB,EAClC,EAAsB,EAAa,IACrC,KAAM,GAAK,EAAgB,EAAG,IAAK,iBAC7B,EAAK,EAAgB,EAAG,IAAK,iBAC7B,EAAS,EAAgB,EAAO,QAAS,iBAE/C,GAAiB,EAAI,GACrB,AAAK,EACD,AAAK,GAAY,EAAG,MAAO,EAAG,OAAQ,IAAM,6BAEhD,KAAM,GAAM,EAAO,GACb,EAAgB,EAAI,EAAK,GAE/B,GAAI,GAAS,EAAI,EAAI,EAAI,GAAK,GAC9B,GAAI,GACF,AAAK,EACD,GAAQ,KAAM,IAAM,kDACxB,KAAM,GAAQ,EAAgB,EAAM,OAAQ,iBAC5C,EAAS,EAAI,EAAQ,EAAI,EAAK,GAAI,EAAQ,KAE5C,MAAO,GAAI,EAAI,GAGV,KAAM,IAAgB,EAAG,CAAC,oBChEjC,4FAQM,YACF,EAAiB,EAAiB,GACpC,KAAM,GAAY,EAAQ,KAAO,EAAK,EAAQ,MAAM,EAAQ,KAAO,GAAK,EAClE,EAAY,EAAQ,KAAO,EAAK,EAAQ,KAAO,EAAI,EAEnD,EAAa,6FACyB,EAAQ,yBAC5B,EAAQ,iBAAiB,gBAC9B,oBAA2B,KAE9C,GAAI,EAAQ,KAAO,EACjB,KAAM,IAAI,OAAM,EAAa,kBAAkB,OAEjD,GAAI,EAAM,OAAS,EAAY,GAAQ,KAAO,GAC5C,KAAM,IAAI,OACN,EACA,0BAA0B,EAAY,GAAQ,KAAO,MAE3D,GAAI,EAAQ,OAAS,EAAW,EAAM,OAAS,EAC7C,KAAM,IAAI,OACN,EAAa,mBAAmB,EAAW,EAAM,OAAS,KAEhE,OAAS,GAAI,EAAG,EAAI,EAAU,EAAE,EAC9B,GAAI,EAAQ,MAAM,KAAO,EAAQ,MAAM,GACrC,KAAM,IAAI,OACN,EACA,kBAAkB,OAAO,EAAQ,MAAM,wBAAwB,OAC3D,EAAQ,MAAM,QAG1B,OAAS,GAAI,EAAG,EAAI,EAAQ,KAAO,EAAU,EAAE,EAC7C,GAAI,EAAQ,MAAM,EAAI,KAAc,EAAM,EAAI,GAC5C,KAAM,IAAI,OACN,EACA,kBAAkB,EAAI,OAClB,EAAQ,MAAM,EAAI,gBAAuB,EAAI,OAC7C,EAAM,EAAI,OAmBlB,YACF,EAAiB,EAAiB,GACpC,GAAI,EAAQ,KAAO,EACjB,KAAM,IAAI,OACN,+EACqB,EAAQ,SAEnC,GAAI,EAAQ,KAAO,EACjB,KAAM,IAAI,OACN,+EACqB,EAAQ,SAEnC,GAAI,EAAQ,QAAU,QACpB,KAAM,IAAI,OAAM,0DACZ,EAAQ,SAEd,GAAI,EAAM,OAAS,EACjB,KAAM,IAAI,OACN,6DAA6D,KAGnE,GAAI,EAAM,SAAW,GACnB,GAAI,EAAQ,OAAS,EACnB,KAAM,IAAI,OAAM,sDACZ,EAAQ,SAEd,GAAI,EAAQ,OAAS,EACnB,KAAM,IAAI,OAAM,sDACZ,EAAQ,SAIhB,GAAoB,EAAO,EAAS,GAYhC,YACF,EAAqB,EACrB,GAEF,KAAM,GAAc,EAAQ,MAAM,OAC5B,EAAa,EAAc,EAAK,EAAQ,MAAM,EAAc,GAAK,EAKjE,EAAU,EAAM,OAEtB,GAAI,GAAY,EAChB,OAAS,GAAI,EAAW,EAAI,EAAS,EAAE,EACrC,GAAa,EAAM,GAGrB,KAAM,GAAgB,EAAY,EAAK,EAAI,EACrC,EAAa,GAAc,EAAQ,OAAS,EAE5C,EAAU,CAAC,GAAG,GAAe,EAAM,MAAM,EAAG,IAAa,GACzD,EAAa,GAAc,GACjC,MAAO,CAAC,YAAW,aAAY,YAAW,UAAS,cCnJrD,AA8CA,YACI,EAA4B,EAC5B,GACF,KAAM,GAAW,EAAgB,EAAS,UAAW,YAAa,SAC5D,EAAW,EAAgB,EAAS,UAAW,aACrD,AAAgB,GAAc,EAAU,EAAU,GAElD,KAAM,GAA+B,AAAC,GAC7B,EAAQ,UAAU,EAAU,EAAU,GAGzC,EAA0B,CAAC,QAAS,EAAU,QAAS,GACvD,EAAwB,CAAC,SAE/B,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAW,GAGjB,KAAM,IAAY,EAAG,CAAC,gBClCvB,YACF,EAAuB,EAAsB,EAC7C,GACF,GAAI,EAAc,QAAU,QAC1B,KAAM,IAAI,OACN,8EACsB,EAAc,UAE1C,GAAI,EAAc,KAAO,EACvB,KAAM,IAAI,OACN,sEACkB,EAAc,UAGtC,KAAM,GAAW,EAAc,KAAO,EAAI,EAAc,MAAM,GAAK,EAC7D,EAAU,EAAc,KAAO,EAAI,EAAc,MAAM,GAAK,EAElE,GAAI,EAAY,SAAW,EACzB,KAAM,IAAI,OACN,kDACI,EAAY,sBAAsB,MAG5C,KAAM,GAAY,EAAa,KAC/B,GAAI,CAAE,GAAa,OAAS,GACtB,EAAa,OAAS,GAAK,IAAc,GAC7C,KAAM,IAAI,OACN,oCACG,EAAa,2BAA2B,MAGjD,GAAI,EAAa,QAAU,EAAc,MACvC,KAAM,IAAI,OAAM,qDC/DpB,AAiEA,YACI,EAAkC,EAClC,EAA0B,EAAkC,GAC9D,KAAM,GACF,EAAgB,EAAe,gBAAiB,gBAAiB,SAC/D,EACF,EAAgB,EAAc,eAAgB,iBAC5C,EAAgB,EAClB,EAAc,eAAgB,gBAAiB,EAAc,OAEjE,AAAgB,GACZ,EAAgB,EAAe,EAAa,GAEhD,KAAM,GAA8B,CAClC,cAAe,EACf,aAAc,EACd,aAAc,GAGV,EAA4B,CAAC,eAEnC,MAAO,GAAO,cACV,GAAW,EAAQ,cACf,EAAgB,EAAe,EAAa,GAChD,EAAgC,KAAiB,GACjD,GAGC,KAAM,IAAgB,EAAG,CAAC,oBC7FjC,AA6DA,YAAmB,EAAsB,GACvC,KAAM,GAAW,EAAgB,EAAS,UAAW,WAAY,SAC3D,EAAK,EAAgB,EAAG,IAAK,YAE7B,EAA+B,AAAC,GAC7B,EAAQ,SAAS,EAAI,GAGxB,EAAyB,CAAC,OAAQ,EAAI,QAAS,GAErD,MAAO,GAAO,cACV,EAAS,EAAgC,KAAqB,IAG7D,KAAM,IAAW,EAAG,CAAC,eC3E5B,AA4BM,YAAwB,EAAW,GACvC,GAAI,GAAc,KAChB,MAAO,GAAE,MAAM,QAEjB,GAAI,AAAK,GAAY,EAAE,MAAO,GAC5B,MAAO,GAET,GAAI,EAAE,MAAM,SAAW,EAAW,QAChC,KAAM,GAAyB,GAC/B,OAAS,GAAI,EAAG,EAAI,EAAE,MAAM,OAAQ,IAClC,AAAI,EAAW,IAAM,MAAQ,EAAE,MAAM,IAAM,KACzC,EAAa,KAAK,EAAE,MAAM,IAE1B,EAAa,KAAK,EAAW,IAGjC,MAAO,GAGT,MAAO,GC/CT,AAmDA,YACI,EAAsB,EAAc,EACpC,GACF,KAAM,GAAK,EAAgB,EAAG,IAAK,WAUnC,GARA,AAAK,EACD,EAAG,QAAU,UACb,IAAM,gFACmB,EAAG,yBAChC,AAAK,EACD,GAAQ,GAAK,EAAO,EACpB,IAAM,qDAAqD,MAE3D,IAAS,EACX,MAAO,aAAa,IAAS,EAAG,QAAU,EAG5C,KAAM,GAAc,GAAc,EAAI,GAChC,EAAW,EAAI,EACf,EAAa,EACf,GAAM,EAAI,GAAc,EAAa,EAAG,EAAG,UAAW,GAAO,IAC7D,GAEJ,MAAO,GAAI,EAAI,GAGV,KAAM,IAAU,EAAG,CAAC,cC7E3B,AAoBM,YAA8B,GAElC,MAAO,MAAK,MAAM,KAAK,IAAI,EAAG,KAAK,KAAK,KAAK,IAAI,GAAS,KAAK,IAAI,MAG/D,YACF,EAAsB,EAAW,GACnC,KAAM,GAAO,EAAI,EAAe,EAC1B,EAAY,GAAI,cAAa,GACnC,OAAS,GAAI,EAAG,EAAI,EAAc,EAAE,GAClC,KAAM,GAAU,EAAM,KAAK,GAAK,EAAM,GAAe,EAAO,GAC5D,EAAU,GAAK,EAAI,EAAI,KAAK,IAAI,GAElC,MAAO,IAAS,EAAW,WCjC7B,AAuCA,kBACI,EAA2B,EAAuB,EAAI,GACxD,KAAM,GAAe,EAAgB,EAAa,cAAe,UAC3D,EAAW,EAAgB,EAAS,UAAW,UAErD,EACI,EAAa,KAAO,EACpB,IAAM,uEACS,EAAa,QAChC,EACI,EAAa,KAAO,IAAM,EAAS,KACnC,IAAM,mFAEC,EAAa,yBAAyB,EAAS,QAC1D,EACI,EAAa,MAAM,MAAM,EAAG,EAAa,MAAM,OAAS,GACxD,EAAS,MACT,2FAEJ,KAAM,GAAU,EAAa,MAAM,EAAa,MAAM,OAAS,GAC/D,EACI,EAAI,GAAK,GAAK,EACd,IAAM,4EACY,eAAqB,KAE3C,KAAM,GAAkB,KAAM,GAAa,OACrC,EAAc,KAAM,GAAS,OAI7B,CAAC,EAAO,GAAQ,CAAC,EAAgB,OAAS,EAAS,GACnD,EAAY,GAAuB,OAAQ,GAEjD,OAAS,GAAI,EAAG,EAAI,EAAO,KACzB,KAAM,GAAS,EAAI,EACb,EAAO,EAAgB,SAAS,EAAQ,EAAS,GACjD,EAAmD,GACzD,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,EAAU,KAAK,CAAC,MAAO,EAAK,GAAI,MAAO,IAEzC,EAAU,KAAK,CAAC,EAAG,IAAM,EAAE,MAAQ,EAAE,OAErC,EAAU,GAAK,EACf,OAAS,GAAI,EAAG,EAAI,EAAG,IACrB,GAAI,EAAU,GAAG,QAAU,EAAY,IACrC,EAAU,GAAK,EACf,OAKN,MAAI,KAAgB,GAClB,EAAa,UAEf,AAAI,IAAY,GACd,EAAS,UAIJ,GAAO,EAAW,EAAS,MAAO,QAGpC,KAAM,IAAc,GCrG3B,AAiDA,YACI,EAAM,EAAO,EACb,EACA,EACA,EAA4B,OAC5B,GACF,GAAI,GAAM,EACV,AAAI,EAAE,OAAS,GACb,GAAM,EAAQ,EAAG,CAAC,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,MAEvD,GAAI,GAAO,EACX,AAAI,EAAK,OAAS,GAChB,GAAO,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAE5D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,iEACC,EAAI,UACf,AAAK,EACD,EAAK,OAAS,EACd,IAAM,8DACC,EAAK,UAChB,AAAK,EACD,EAAY,SAAW,EACvB,IAAM,mEACC,MACX,KAAM,GAAU,IAAe,OAAS,EAAI,MAAM,GAAK,EAAI,MAAM,GAC3D,EAAW,IAAe,OAAS,EAAK,MAAM,GAAK,EAAK,MAAM,GACpE,AAAK,EACD,IAAY,EAAY,GACxB,IAAM,4CAA4C,wCACd,EAAY,OACpD,AAAK,EACD,IAAa,EAAY,GACzB,IAAM,0CAA0C,0CACV,EAAY,QACtD,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,gFACiB,iBAA+B,MAG5D,KAAM,GAA+B,IACnC,KAAM,GAAY,EACZ,EAAc,AAAU,GAAwB,GAChD,EAAW,AAAU,GACvB,EAAI,MAAO,EAAa,EAAS,EAAW,EAAK,EAAiB,GAClE,GAEJ,MAAO,GAAQ,gBAAgB,EAAK,EAAM,IAGtC,EAAqC,CAAC,EAAG,EAAK,GAAI,GAClD,EAC0B,CAAC,UAAS,MAAK,aAAY,mBAE3D,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAsB,GAG5B,KAAM,IAAuB,EAAG,CAAC,2BC/GxC,AA+BM,YACF,EAAY,EAAW,GACzB,GAAI,GAAc,MAAQ,IAAe,SACvC,MAAO,GAET,GAAI,IAAe,OACjB,MAAO,GAAI,EAAI,GAAK,IAEtB,KAAM,IAAI,OACN,gDAAgD,MAIhD,YACF,EAAc,GAChB,GAAI,GAAM,EACV,KAAM,GACF,AAAe,GAAiB,EAAK,MAAO,EAAa,OAC7D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAK,OAGrB,YACF,EAAW,EACX,GACF,GAAI,IAAe,SACjB,MAAO,GACF,GAAI,IAAe,OACxB,MAAO,IAAK,GACP,GAAI,IAAe,MACxB,MAAO,IAAI,GACN,GAAI,IAAe,QACxB,MAAO,IAAM,GACR,GAAI,IAAe,QACxB,MAAO,IAAM,EAAG,GAElB,KAAM,IAAI,OAAM,4BAA4B,MAIvC,KAAM,IAAa,CAAC,EAAuB,KAChD,KAAM,GAAe,EAAgB,EACrC,MAAO,CAAC,GAAgB,IAAe,UC3EzC,AA+FA,YAAmD,CACjD,IACA,SACA,UACA,MACA,aAAa,OACb,YAAY,CAAC,EAAG,GAChB,kBACA,OACA,aAAa,SACb,2BAeA,GAFA,EAAa,GAAc,SAEvB,GAAW,EAAO,MAAM,cAAe,KAAgB,IACzD,GAAI,GAAS,GACT,EAAG,EAAQ,EAAS,EAAK,EAAY,EAAW,GACpD,MAAI,IAAQ,MACV,GAAS,EAAI,EAAQ,IAGhB,GAAgB,EAAQ,EAAY,GAG7C,KAAM,GAAK,EAAgB,EAAG,IAAK,UAC7B,EAAU,EAAgB,EAAQ,SAAU,UAElD,GAAI,GAAM,EACN,EAAe,GAEnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAE3D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,6DACC,EAAI,SACf,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,8DACC,EAAQ,SACnB,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,6EACiB,iBAA+B,MAG5D,AAAK,EACD,EAAI,MAAM,KAAO,EAAQ,MAAM,GAC/B,IAAM,oCAAoC,EAAI,MAAM,yCACtB,EAAQ,MAAM,OAChD,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,uEACa,oBAA0B,MACjD,AAAK,EACD,IAAe,OACf,IAAM,sCACF,2CAER,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAQ,MAAO,EAAS,EAAW,EAAK,GAEvD,GAAI,GACJ,AAAI,GAAQ,MACV,GAAQ,EAAgB,EAAM,OAAQ,gBACtC,CAAC,GAAS,EAAe,EAAO,GAEhC,AAAe,EAA2B,EAAS,SAAU,EAAM,QAGrE,GAAI,GACJ,AAAI,GAA0B,MAC5B,GAA0B,EACtB,EAAwB,gBAAiB,iBAG/C,KAAM,GAAO,CAAC,EAAc,KAC1B,KAAM,CAAC,EAAS,EAAK,EAAG,GACpB,EAEE,GAAe,GAAqB,EAAI,EAAG,GAEjD,AAAK,EACD,AAAU,GAAkB,GAC5B,IAAM,uHAEoD,MAE9D,KAAM,IACF,GAAoB,EAAI,MAAO,GAAc,EAAS,EAAS,GAC7D,GACF,GAAqB,EAAK,GAAc,EAAQ,MAAO,EAAS,GAC9D,GAAgB,CAAC,GAAM,IAE7B,GAAI,GAAS,MACX,KAAM,IAAU,GAAqB,EAAO,IAC5C,GAAI,KAAK,IAEX,MAAO,KAGH,EAA+B,AAAC,IACpC,KAAM,GAAM,EAAQ,YAAY,CAC9B,MAAO,EACP,OAAQ,EACR,WACA,KAAM,EACN,aACA,uBAAwB,IAE1B,MAAO,IAGH,EAA4B,CAChC,EAAG,EACH,OAAQ,EACR,KAAM,EACN,uBAAwB,GAGpB,EACF,CAAC,UAAS,MAAK,aAAY,YAAW,kBAAiB,cAI3D,GAAI,GAAQ,MACV,KAAM,GACF,GAAW,CAAC,EAAe,EAAkB,KAC3C,GAAI,GAAM,EAAO,cACb,EAAS,EAAgC,KACzC,GAAa,GAEjB,SAAK,CAAC,EAAQ,EAAK,IAEnB,AAAI,GACF,GAAM,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,MAGrD,CAAC,MAAO,EAAK,SAAU,KAEpC,MAAO,GAAS,EAAK,QAErB,KAAM,GAAmB,GACrB,CAAC,EAAe,EAAkB,EAAc,KAC9C,GAAI,GAAM,EAAO,cACb,EAAS,EAAgC,KACzC,GAAa,GAEjB,SAAK,CAAC,EAAQ,EAAK,EAAK,IAExB,AAAI,GACF,GAAM,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,MAGrD,CAAC,MAAO,EAAK,SAAU,KAGpC,MAAO,GAAiB,EAAK,EAAS,IAGnC,KAAM,IAAS,EAAG,CAAC,kBC7Q1B,AAyBA,YACI,EAAM,EAAO,EACb,GACF,GAAI,GAAM,EACV,AAAI,EAAE,OAAS,GACb,GAAM,EAAQ,EAAG,CAAC,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,MAEvD,GAAI,GAAO,EACX,AAAI,EAAK,OAAS,GAChB,GAAO,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG5D,KAAM,GAA+B,GACjC,EAAQ,yBAAyB,EAAK,EAAM,GAE1C,EAAoD,CAAC,EAAG,EAAK,GAAI,GAEvE,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,IAGN,KAAM,IACT,EAAG,CAAC,0CChDR,AAyBA,YACI,EAAmE,EACnE,EAAkB,GACpB,GAAI,GAAO,EACP,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAO,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAG5D,KAAM,GAA+B,GACjC,EAAQ,wBAAwB,EAAM,EAAQ,GAE5C,EAAmD,CAAC,GAAI,GAExD,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,IAEJ,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IACT,EAAG,CAAC,yCCnDR,AAyFA,YAA4D,CAC1D,IACA,SACA,UACA,MACA,aAAa,OACb,YAAY,CAAC,EAAG,GAChB,kBACA,OACA,aAAa,SACb,2BAaA,GAAI,GAAW,EAAO,MAAM,cAAe,KAAgB,IACzD,GAAI,GAAS,GACT,EAAG,EAAQ,EAAS,EAAK,EAAY,EAAW,GACpD,MAAI,IAAQ,MACV,GAAS,EAAI,EAAQ,IAGhB,GAAgB,EAAQ,EAAY,GAG7C,KAAM,GAAK,EAAgB,EAAG,IAAK,mBAC7B,EAAU,EAAgB,EAAQ,SAAU,mBAElD,GAAI,GAAM,EACN,EAAe,GACnB,AAAI,EAAG,OAAS,GACd,GAAe,GACf,EAAM,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAE3D,AAAK,EACD,EAAI,OAAS,EACb,IAAM,sEACM,EAAI,SACpB,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,uEACc,EAAQ,SAChC,AAAK,EACD,EAAI,MAAM,KAAO,EAAQ,MAAM,GAC/B,IAAM,6DACE,EAAI,MAAM,qDACJ,EAAQ,MAAM,OAChC,AAAI,GAAa,MACf,GAAY,CAAC,EAAG,IAElB,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IACI,sFACqB,oBAA0B,MAEvD,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,qFACuB,iBAA+B,MAGlE,KAAM,GAAW,AAAU,GACvB,EAAI,MAAO,EAAQ,MAAO,EAAS,EAAW,EAAK,EACnD,IAEJ,GAAI,GACJ,AAAI,GAAQ,MACV,GAAQ,EAAgB,EAAM,OAAQ,gBACtC,CAAC,GAAS,EAAe,EAAO,GAEhC,AAAe,EAA2B,EAAS,SAAU,EAAM,QAGrE,GAAI,GACJ,AAAI,GAA0B,MAC5B,GAA0B,EACtB,EAAwB,gBAAiB,0BAG/C,KAAM,GAAO,CAAC,EAAc,KAC1B,AAAK,EACD,AAAU,GAAkB,GAC5B,IAAM,mHAEE,MACZ,KAAM,CAAC,EAAS,EAAK,EAAG,GAAQ,EAE1B,GAAe,GAAqB,EAAI,EAAG,GAE3C,GAAO,GACR,EAAiB,MAAO,GAAc,EAAqB,GAC1D,GAAY,GACd,EAAiB,GAAe,EAAqB,MAAO,GAEhE,GAAI,GAAQ,MACV,KAAM,IAAU,GAAqB,EAAO,IAC5C,MAAO,CAAC,GAAM,GAAW,IAE3B,MAAO,CAAC,GAAM,KAGV,EAA+B,AAAC,IACpC,KAAM,GAAM,EAAQ,qBAAqB,CACvC,MAAO,EACP,OAAQ,EACR,WACA,KAAM,EACN,aACA,uBAAwB,IAE1B,MAAO,IAGH,EAAqC,CACzC,EAAG,EACH,OAAQ,EACR,KAAM,EACN,uBAAwB,GAEpB,EACF,CAAC,UAAS,MAAK,aAAY,YAAW,kBAAiB,cAI3D,GAAI,GAAQ,MACV,KAAM,GACF,GAAW,CAAC,EAAe,EAAkB,KAC3C,GAAI,GAAM,EAAO,cACb,EAAS,EAAgC,KACzC,GAAsB,GAE1B,SAAK,CAAC,EAAQ,EAAK,IAEnB,AAAI,GACF,GAAM,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,MAGrD,CAAC,MAAO,EAAK,SAAU,KAEpC,MAAO,GAAS,EAAK,QAErB,KAAM,GAAmB,GACrB,CAAC,EAAe,EAAkB,EAAc,KAC9C,GAAI,GAAM,EAAO,cACb,EAAS,EAAgC,KACzC,GAAsB,GAE1B,SAAK,CAAC,EAAQ,EAAK,EAAK,IAExB,AAAI,GACF,GAAM,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,MAGrD,CAAC,MAAO,EAAK,SAAU,KAGpC,MAAO,GAAiB,EAAK,EAAS,IAGnC,KAAM,IAAkB,EAAG,CAAC,2BClQnC,AAwDA,YAAwC,CACtC,IACA,IACA,aAAa,GACb,aAAa,GACb,OACA,aAAa,SACb,2BAUA,GAAI,GAAW,EAAO,MAAM,cAAe,KAAgB,IACzD,GAAI,GAAS,EAAc,EAAG,EAAG,EAAY,GAC7C,MAAI,IAAQ,MACV,GAAS,EAAI,EAAQ,IAGhB,GAAgB,EAAQ,EAAY,GAG7C,GAAI,GAAK,EAAgB,EAAG,IAAK,gBAC7B,EAAK,EAAgB,EAAG,IAAK,gBACjC,CAAC,EAAI,GAAM,EAAe,EAAI,GAE9B,KAAM,GACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GACtD,EACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GAEtD,EACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GACtD,EACF,EAAa,EAAG,MAAM,EAAG,KAAO,GAAK,EAAG,MAAM,EAAG,KAAO,GAEtD,EAAa,EAAG,MAAM,MAAM,EAAG,IAC/B,EAAa,EAAG,MAAM,MAAM,EAAG,IAC/B,EAAY,AAAK,GAAc,GAC/B,EAAY,AAAK,GAAc,GAErC,AAAK,EACD,EAAG,MAAQ,GAAK,EAAG,MAAQ,GAAK,EAAG,OAAS,EAAG,KAC/C,IACI,kFACgB,EAAG,YAAY,EAAG,SAE1C,AAAK,EACD,AAAK,GAAY,EAAY,GAC7B,IAAM,4CAA4C,WAC3C,6BAAsC,EAAG,aACzC,EAAG,qBAEd,AAAK,EACD,IAAgB,EAChB,IAAM,wCAAwC,WACvC,6BAAuC,EAAG,aAC1C,EAAG,wBAAwB,oBACX,iBAE3B,KAAM,GAAW,EAAG,MAAM,MAAM,EAAG,IAAI,OAAO,CAAC,EAAa,IAEtD,EAAgB,EAClB,EAAQ,EAAI,CAAC,EAAW,EAAa,IACrC,EAAQ,EAAI,CAAC,EAAW,EAAa,IACnC,EAAgB,EAClB,EAAQ,EAAI,CAAC,EAAW,EAAa,IACrC,EAAQ,EAAI,CAAC,EAAW,EAAa,IAEzC,GAAI,GACJ,AAAI,GAAQ,MACV,GAAQ,EAAgB,EAAM,OAAQ,gBACtC,CAAC,GAAS,EAAe,EAAO,GAEhC,AAAe,EAA2B,EAAU,EAAM,QAG5D,GAAI,GACJ,AAAI,GAA0B,MAC5B,GAA0B,EACtB,EAAwB,gBAAiB,iBAG/C,KAAM,GAAO,CAAC,EAAc,MAC1B,KAAM,CAAC,GAAK,GAAK,GAAG,IAAS,GAIvB,GACF,GAAqB,EAAQ,EAAI,GAAE,OAAQ,GAAG,GAClD,GAAI,IACA,GAgBJ,GAdA,AAAI,CAAC,GAAc,CAAC,EAClB,IAAO,EAAc,GAAc,GAAK,GAAO,IAC/C,GAAO,EAAc,GAAK,GAAc,GAAM,KACzC,AAAI,CAAC,GAAc,EACxB,IAAO,EAAc,GAAc,GAAK,GAAO,IAC/C,GAAO,EAAc,GAAc,GAAK,GAAM,KACzC,AAAI,GAAc,CAAC,EACxB,IAAO,EAAc,GAAK,GAAc,GAAO,IAC/C,GAAO,EAAc,GAAK,GAAc,GAAO,KAE/C,IAAO,EAAc,GAAK,GAAc,GAAM,IAC9C,GAAO,EAAc,GAAc,GAAK,GAAM,KAG5C,GAAQ,MACV,KAAM,IAAU,GAAqB,GAAO,IAC5C,MAAO,CAAC,GAAM,GAAM,QAEpB,OAAO,CAAC,GAAM,KAIZ,EAA+B,AAAC,IACpC,KAAM,IAAI,EAAQ,iBAAiB,CACjC,EAAG,EACH,EAAG,EACH,aACA,aACA,KAAM,EACN,aACA,uBAAwB,IAE1B,MAAO,KAGH,EAA6B,CACjC,EAAG,EACH,EAAG,EACH,KAAM,EACN,uBAAwB,GAEpB,EAA2B,CAAC,aAAY,aAAY,cAI1D,GAAI,GAAQ,MACV,KAAM,GACF,GAAW,CAAC,GAAe,GAAe,MACxC,KAAM,IAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAc,GAElB,UAAK,CAAC,GAAK,GAAK,KAET,CAAC,MAAO,EAAQ,GAAK,GAAW,SAAU,KAEvD,MAAO,GAAS,EAAK,QAErB,KAAM,GAAmB,GACrB,CAAC,GAAe,GAAe,GAAe,MAC5C,KAAM,IAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAc,GAElB,UAAK,CAAC,GAAK,GAAK,GAAK,KAEd,CAAC,MAAO,EAAQ,GAAK,GAAW,SAAU,KAGvD,MAAO,GAAiB,EAAK,EAAK,IAI/B,KAAM,IAAS,EAAG,CAAC,kBClO1B,wECAA,AAkCA,YAAwB,GACtB,MAAO,IAAa,EAAc,IAAM,KAEnC,KAAM,IAAgB,EAAG,CAAC,oBCrCjC,AAkCA,YAAqB,GACnB,MAAO,IAAa,EAAc,GAAK,IAGlC,KAAM,IAAa,EAAG,CAAC,iBCtC9B,AA2CA,YACI,EAAkB,EAAqB,EAAmB,EAAS,GACnE,EAAW,GACb,GAAI,GAAQ,EACZ,KAAM,GAAmB,GACzB,KAAO,EAAQ,GAAe,EAAO,MACnC,EAAO,KAAK,EAAM,EAAQ,EAAO,IACjC,GAAS,EAGX,GAAI,EACF,KAAO,EAAQ,EAAO,OACpB,KAAM,GAAU,EAAQ,EAAe,EAAO,KACxC,EAAM,EAAO,CACjB,EAAM,EAAQ,EAAO,EAAc,GAAS,GAAK,CAAC,GAAS,KAE7D,EAAO,KAAK,GACZ,GAAS,EAIb,MAAI,GAAO,SAAW,EACb,GAAS,GAAI,CAAC,EAAG,IAGnB,EAAQ,EAAO,GAAS,CAAC,EAAO,OAAQ,IAE1C,KAAM,IAAQ,EAAG,CAAC,YCtEzB,AA6CA,YACI,EAAkB,EAAqB,EACvC,EACA,EAAyC,IAC3C,AAAI,GAAa,MACf,GAAY,GAAoB,IAElC,KAAM,GAAe,GAAM,EAAQ,EAAa,GAC1C,EAAiB,EAAI,EAAc,EAAS,IAC5C,EAAmB,GACzB,OAAS,GAAI,EAAG,EAAI,EAAa,MAAM,GAAI,IACzC,EAAO,KACH,GAAK,EAAM,EAAgB,CAAC,EAAG,GAAI,CAAC,EAAG,IAAe,IAE5D,MAAO,GAAO,GAET,KAAM,IAAO,EAAG,CAAC,WC7DxB,AAkDA,YACI,EACA,EACA,EACA,EACA,EACA,GAEF,KAAM,GAAS,EAAgB,EAAO,QAAS,iBACzC,EAAS,EAAgB,EAAO,QAAS,gBAAiB,WAC1D,EAAU,EAAgB,EAAQ,SAAU,gBAAiB,SACnE,EAAS,GAAU,WACnB,EAAqB,GAAsB,EAE3C,KAAM,GAAW,EAAO,MAAM,GAE9B,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,6DACc,EAAO,SAC/B,AAAK,EACD,EAAO,OAAS,GAAK,EAAO,MAAM,KAAO,EACzC,IAAM,oDAAoD,sBACrC,EAAO,UAChC,AAAK,EACD,EAAQ,OAAS,GAAK,EAAQ,MAAM,KAAO,EAC3C,IAAM,qDAAqD,oBACtC,EAAO,UAChC,AAAK,EACD,EAAS,SAAW,EACpB,IAAM,wEACQ,EAAS,WAC3B,AAAK,EACD,EAAS,IAAM,GAAK,EAAS,IAAM,EACnC,IAAM,2CAA2C,KACrD,AAAK,EACD,IAAW,YAAc,IAAW,UACpC,IAAM,+CAA+C,KAEzD,KAAM,GAAiC,AAAC,GAAY,EAAQ,cACxD,EAAQ,EAAQ,EAAS,EAAU,EAAQ,GAEzC,EACoB,CAAC,MAAO,EAAQ,MAAO,EAAQ,OAAQ,GAC3D,EAA4B,CAAC,SAAQ,qBAAoB,YACzD,EAAM,EAAO,cACf,EAAS,EAAgC,KAAiB,GAC1D,GACJ,MAAO,GAGF,KAAM,IAAgB,EAAG,CAAC,oBCrGjC,AAkCA,YAAwB,GACtB,KAAM,GAAS,EAAgB,EAAO,QAAS,gBAAiB,WAEhE,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,6DACc,EAAO,SAE/B,KAAM,GAA8B,CAAC,MAAO,GACtC,EACF,EAAO,UAAU,GAAe,EAAgC,IACpE,MAAO,GAGF,KAAM,IAAgB,EAAG,CAAC,oBChDjC,AA2CA,YACI,EAA4B,EAC5B,EAA6C,EAC7C,EAAkC,IACpC,KAAM,GAAS,EAAgB,EAAO,QAAS,mBAAoB,WAEnE,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,gEACc,EAAO,SAE/B,KAAM,GAAiC,CAAC,MAAO,GACzC,EAA+B,CAAC,UAAS,YAAW,UACpD,EAAM,EAAO,UACf,GAAkB,EAClB,GACJ,MAAO,GAGF,KAAM,IAAmB,EAAG,CAAC,uBC9DpC,AAoBA,YACI,EAAiB,EAAkB,EACnC,EAAsB,EAAwB,GAMhD,AAAI,GAAgB,MAClB,GAAe,IAEjB,AAAI,GAAkB,MACpB,GAAiB,OAAO,mBAE1B,AAAI,GAAgB,MAClB,GAAe,GAGjB,KAAM,GAAW,EAAM,MAAM,GAC7B,SAAgB,KAAK,IAAI,EAAe,GAExC,AAAK,EACD,GAAK,GAAgB,GAAgB,EACrC,IAAM,4CAA4C,MACtD,AAAK,EACD,EAAM,OAAS,EACf,IAAM,+CAA+C,EAAM,SAC/D,AAAK,EACD,EAAM,MAAM,KAAO,EACnB,IACI,oDAAoD,EAAM,MAAM,MACxE,AAAK,EAAO,EAAO,OAAS,EAAG,IAAM,8BACrC,AAAK,EACD,EAAO,MAAM,KAAO,EACpB,IAAM,sDAAsD,cAC7C,EAAO,MAAM,MAChC,AAAK,EACD,GAAK,GAAgB,GAAgB,EACrC,IAAM,4CAA4C,MAC/C,CAAC,gBAAe,eAAc,iBAAgB,gBC3DvD,AA0BA,YACI,EAA4B,EAC5B,EAAuB,EAAe,GACtC,EAAiB,OAAO,mBAC1B,KAAM,GAAS,EAAgB,EAAO,QAAS,qBACzC,EAAU,EAAgB,EAAQ,SAAU,qBAE5C,EAAS,GACX,EAAQ,EAAS,EAAe,EAAc,GAClD,EAAgB,EAAO,cACvB,EAAe,EAAO,aACtB,EAAiB,EAAO,eAExB,KAAM,GAAQ,CAAC,gBAAe,eAAc,kBAC5C,MAAO,GAAO,cACV,GAAK,EAAE,kBACH,EAAQ,EAAS,EAAe,EAAc,GAClD,CAAC,MAAO,EAAQ,OAAQ,GAAU,KAAiB,GACnD,GAGC,KAAM,IAAoB,EAAG,CAAC,wBC/CrC,AA8BM,YACF,EAAU,EAAY,GACxB,KAAM,GAAQ,GAAa,EAAK,EAAS,GACnC,EAAiB,EAAQ,EAAI,CAAE,GAAQ,GAAK,EAClD,EAAI,OAAO,EAAgB,EAAG,GAkB1B,YACF,EAAU,EAAW,GACvB,MAAO,IAAc,EAAK,EAAQ,GAAc,IAUlD,YAA8B,EAAM,GAClC,MAAO,GAAI,EAAI,EAAI,EAAI,EAAI,GAAK,EAGlC,YACI,EAAU,EAAW,GACvB,GAAI,GAAO,EACP,EAAQ,EAAI,OACZ,EAAS,EACT,EAAQ,GACZ,KAAO,EAAO,IACZ,EAAS,EAAS,GAAQ,IAAU,GACpC,KAAM,GAAgB,EAAW,EAAQ,EAAI,IAC7C,AAAI,EAAgB,EAClB,EAAO,EAAS,EAEhB,GAAQ,EAGR,EAAQ,CAAC,GAIb,MAAO,GAAQ,EAAO,CAAC,EAAO,ECvFhC,AAmCM,YACF,EAAmB,EAAoB,EACvC,EAAsB,GACxB,MAAO,IACI,EAAO,EAAQ,EAAe,EAAc,EAC5C,GACC,gBAGR,YACF,EAAmB,EAAoB,EACvC,EAAsB,EACtB,GACF,MAAO,IACH,EAAO,EAAQ,EAAe,EAAc,EAC5C,EAAsB,GACtB,EAA6C,IAI7C,YACF,EAAmB,EAAoB,EACvC,EAAsB,EACtB,GACF,MAAO,IACH,EAAO,EAAQ,EAAe,EAAc,EAAgB,EAC5D,IAGN,YACI,EAAmB,EAAoB,EACvC,EAAsB,EAAwB,EAC9C,EAAqB,GAAO,EAAqB,GACjD,EAAqB,IAGvB,KAAM,GAAa,GAEnB,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,AAAI,EAAO,GAAK,GACd,EAAW,KAAK,CAAC,MAAO,EAAO,GAAI,SAAU,EAAG,mBAAoB,IAIxE,EAAW,KAAK,IAIhB,KAAM,GAAQ,EAAe,EAAK,IAAO,EAAgB,EAEnD,EAA4B,GAC5B,EAA2B,GAEjC,KAAO,EAAgB,OAAS,GAAiB,EAAW,OAAS,IACnE,KAAM,GAAY,EAAW,MACvB,CAAC,MAAO,EAAe,WAAU,sBAAsB,EAE7D,GAAI,EAAgB,EAClB,MASF,GAAI,GAAkB,GACtB,OAAS,GAAI,EAAgB,OAAS,EAAG,GAAK,EAAoB,EAAE,GAClE,KAAM,GAAM,GAAsB,EAAO,EAAU,EAAgB,IAEnE,GAAI,GAAO,GACT,EAAkB,GAClB,MAMF,GAHA,EAAU,MACN,EAAU,MAAQ,GAAe,EAAc,EAAO,GAEtD,EAAU,OAAS,EACrB,MAWJ,EAAU,mBAAqB,EAAgB,OAE/C,AAAK,GAGH,CAAI,EAAU,QAAU,EACtB,GAAgB,KAAK,GACrB,EAAe,KAAK,EAAU,QACzB,AAAI,EAAU,MAAQ,GAG3B,GAAa,EAAY,EAAW,KAM1C,KAAM,GAAe,EAAgB,OAC/B,EAAa,EAAgB,EAEnC,AAAI,GAAsB,EAAa,GACrC,GAAgB,KAAK,GAAG,GAAI,OAAM,GAAY,KAAK,IACnD,EAAe,KAAK,GAAG,GAAI,OAAM,GAAY,KAAK,KAGpD,KAAM,GACe,CAAC,gBAAiB,GAAS,EAAiB,UAEjE,MAAI,IACF,GAAO,eAAoB,GAAS,EAAgB,YAGtD,AAAI,GACF,GAAO,aAAkB,EAAO,EAAc,UAGzC,EAGT,YAA+B,EAAmB,EAAW,GAC3D,KAAM,GAAS,EAAM,SAAS,EAAI,EAAG,EAAI,EAAI,GACvC,EAAS,EAAM,SAAS,EAAI,EAAG,EAAI,EAAI,GACvC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAQ,KAAK,IAAI,EAAO,GAAI,EAAO,IACnC,EAAS,GAAQ,GAAU,GAAQ,GACnC,EAAS,GAAQ,GAAU,GAAQ,GACzC,GAAI,GAAS,GAAK,GAAS,EACzB,MAAO,GAET,KAAM,GAAmB,KAAK,IAAI,EAAO,GACnC,EAAmB,KAAK,IAAI,EAAO,GACnC,EAAmB,KAAK,IAAI,EAAO,GACnC,EAAmB,KAAK,IAAI,EAAO,GACnC,EAAmB,KAAK,IAAI,EAAmB,EAAkB,GACnE,KAAK,IAAI,EAAmB,EAAkB,GAClD,MAAO,GAAoB,GAAQ,EAAQ,GAO7C,YAAwB,EAAsB,EAAe,GAC3D,KAAM,GAAS,KAAK,IAAI,EAAQ,EAAM,GACtC,MAAO,IAAO,EAAe,EAAS,EAGxC,YAA6B,EAAe,GAK1C,MAAQ,GAAG,MAAQ,EAAG,OAChB,EAAG,QAAU,EAAG,OAAW,EAAG,SAAW,EAAG,SC7MpD,AAyCA,kBACI,EAA4B,EAC5B,EAAuB,EAAe,GACtC,EAAiB,OAAO,mBAC1B,KAAM,GAAS,EAAgB,EAAO,QAAS,0BACzC,EAAU,EAAgB,EAAQ,SAAU,0BAE5C,EAAS,GACX,EAAQ,EAAS,EAAe,EAAc,GAClD,EAAgB,EAAO,cACvB,EAAe,EAAO,aACtB,EAAiB,EAAO,eAExB,KAAM,GAAiB,KAAM,SAAQ,IAAI,CAAC,EAAO,OAAQ,EAAQ,SAC3D,EAAY,EAAe,GAC3B,EAAa,EAAe,GAK5B,EAAM,GACR,EAAW,EAAY,EAAe,EAAc,GACxD,MAAI,KAAW,GACb,EAAO,UAET,AAAI,IAAY,GACd,EAAQ,UAEH,EAGF,KAAM,IAAyB,GCxEtC,AAwDA,YACI,EAA4B,EAC5B,EAAuB,EAAe,GACtC,EAAiB,OAAO,kBACxB,EAAe,GACjB,KAAM,GAAS,EAAgB,EAAO,QAAS,qBACzC,EAAU,EAAgB,EAAQ,SAAU,qBAE5C,EAAS,GACX,EAAQ,EAAS,EAAe,EAAc,EAC9C,GACJ,EAAgB,EAAO,cACvB,EAAe,EAAO,aACtB,EAAiB,EAAO,eACxB,EAAe,EAAO,aAEtB,KAAM,GAAoC,CAAC,MAAO,EAAQ,OAAQ,GAC5D,EACF,CAAC,gBAAe,eAAc,iBAAgB,gBAE5C,EAAS,EAAO,UACH,GAAqB,EACrB,GAEnB,MAAO,CAAC,gBAAiB,EAAO,GAAI,eAAgB,EAAO,IAGtD,KAAM,IAA6B,EAAG,CAAC,iCCnF9C,AAmDA,kBACI,EAA4B,EAC5B,EAAuB,EAAe,GACtC,EAAiB,OAAO,kBACxB,EAAe,GACjB,KAAM,GAAS,EAAgB,EAAO,QAAS,0BACzC,EAAU,EAAgB,EAAQ,SAAU,0BAE5C,EAAS,GACX,EAAQ,EAAS,EAAe,EAAc,EAC9C,GACJ,EAAgB,EAAO,cACvB,EAAe,EAAO,aACtB,EAAiB,EAAO,eACxB,EAAe,EAAO,aAEtB,KAAM,GAAiB,KAAM,SAAQ,IAAI,CAAC,EAAO,OAAQ,EAAQ,SAC3D,EAAY,EAAe,GAC3B,EAAa,EAAe,GAK5B,EAAM,GACR,EAAW,EAAY,EAAe,EAAc,EACpD,GAEJ,MAAI,KAAW,GACb,EAAO,UAET,AAAI,IAAY,GACd,EAAQ,UAEH,EAGF,KAAM,IAAkC,GCvF/C,AAkDA,YACI,EAA4B,EAC5B,EAAuB,EAAe,GACtC,EAAiB,OAAO,kBACxB,EAAqB,IACvB,KAAM,GAAS,EAAgB,EAAO,QAAS,qBACzC,EAAU,EAAgB,EAAQ,SAAU,qBAE5C,EAAS,GACX,EAAQ,EAAS,EAAe,EAAc,EAC9C,MACE,EAAiB,EAAO,cACxB,EAAgB,EAAO,aACvB,EAAkB,EAAO,eAEzB,EAAoC,CAAC,MAAO,EAAQ,OAAQ,GAC5D,EAAkC,CACtC,cAAe,EACf,aAAc,EACd,eAAgB,EAChB,sBAGI,EAAS,EAAO,UACH,GAAqB,EACrB,GAEnB,MAAO,CAAC,gBAAiB,EAAO,GAAI,aAAc,EAAO,IAGpD,KAAM,IAA0B,EAAG,CAAC,8BChF3C,AA6CA,kBACI,EAA4B,EAC5B,EAAuB,EAAe,GACtC,EAAiB,OAAO,kBACxB,EAAqB,IACvB,KAAM,GAAS,EAAgB,EAAO,QAAS,0BACzC,EAAU,EAAgB,EAAQ,SAAU,0BAE5C,EAAS,GACX,EAAQ,EAAS,EAAe,EAAc,EAC9C,MACE,EAAiB,EAAO,cACxB,EAAgB,EAAO,aACvB,EAAkB,EAAO,eAEzB,CAAC,EAAW,GACd,KAAM,SAAQ,IAAI,CAAC,EAAO,OAAQ,EAAQ,SAKxC,EAAM,GACR,EAAW,EAAY,EAAgB,EAAe,EACtD,GAEJ,MAAI,KAAW,GACb,EAAO,UAET,AAAI,IAAY,GACd,EAAQ,UAEH,EAGF,KAAM,IAA+B,GC/E5C,AA0CA,YACI,EAAsB,EAAwB,EAAe,IAC/D,KAAM,GAAU,EAAgB,EAAQ,SAAU,kBAElD,AAAK,EACD,EAAQ,OAAS,GAAK,EAAQ,OAAS,EACvC,IAAM,gEACM,EAAQ,SACxB,AAAK,EACD,EAAK,SAAW,EAChB,IAAM,6DACC,MAEX,GAAI,GAAc,EACd,EAAe,GACnB,AAAI,EAAQ,OAAS,GACnB,GAAe,GACf,EAAc,EACV,EAAS,CAAC,EAAG,EAAQ,MAAM,GAAI,EAAQ,MAAM,GAAI,EAAQ,MAAM,MAGrE,KAAM,CAAC,EAAW,GAAY,EACxB,EAAiC,CAAC,EAAS,IAC/C,GAAK,CAAC,IACC,EAAQ,eACX,EAAa,EAAW,EAAU,IAGlC,EAA+B,CAAC,OAAQ,GACxC,EAA6B,CAAC,eAAc,QAE5C,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAgB,GAEpB,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAiB,EAAG,CAAC,qBCnFlC,AA0CA,YACI,EAAsB,EAAwB,EAAe,IAC/D,KAAM,GAAU,EAAgB,EAAQ,SAAU,yBAElD,AAAK,EACD,EAAQ,OAAS,GAAK,EAAQ,OAAS,EACvC,IAAM,uEACM,EAAQ,SACxB,AAAK,EACD,EAAK,SAAW,EAChB,IACI,oEACG,MACX,AAAK,EACD,EAAQ,QAAU,WAAa,EAAQ,QAAU,QACjD,IAAM,oDAEV,GAAI,GAAc,EACd,EAAe,GACnB,AAAI,EAAQ,OAAS,GACnB,GAAe,GACf,EAAc,EACV,EAAS,CAAC,EAAG,EAAQ,MAAM,GAAI,EAAQ,MAAM,GAAI,EAAQ,MAAM,MAErE,KAAM,CAAC,EAAW,GAAY,EAExB,EAAsC,CAAC,OAAQ,GAC/C,EAAoC,CAAC,eAAc,QAEnD,EAAiC,CAAC,EAAS,IAC/C,GAAK,CAAC,IACC,EAAQ,sBACX,EAAa,EAAW,EAAU,IAGlC,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAuB,GAE3B,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAwB,EAAG,CAAC,4BCvFzC,AA0EA,YACI,EAAiB,EAAkB,GACrC,EACI,EAAW,IAAM,EACjB,IAAM,gDAAgD,MAC1D,EACI,EAAW,IAAM,EACjB,IAAM,gDAAgD,MAE1D,KAAM,GAAK,EAAgB,EAAG,IAAK,YAEnC,EACI,EAAG,MAAQ,EACX,IAAM,4CAA4C,EAAG,SAEzD,KAAM,GAAQ,EAAG,MACX,CAAC,EAAG,GAAK,EAAG,MAAM,MAAM,IAE9B,GAAI,CAAE,IAAY,GAChB,KAAM,IAAI,OACN,yBAAyB,mDACwB,OAEvD,GAAI,CAAE,IAAY,GAChB,KAAM,IAAI,OACN,yBAAyB,sDAC2B,OAG1D,AAAI,EAAW,GACb,GAAW,GAEb,AAAI,EAAW,GACb,GAAW,GAGb,KAAM,GAAI,EAAQ,GAAM,EAAG,EAAG,EAAG,SAAU,CAAC,GAAI,IAC1C,EAAI,GAAM,EAAG,EAAG,EAAG,SACnB,EAAK,EAAI,EAAG,GAEZ,EAAS,GACX,GAAU,EAAI,EAAO,CAAC,EAAU,UAChC,GAAa,EAAI,EAAO,CAAC,EAAU,WAEjC,EAAO,GAAM,CAAC,EAAG,GAAI,EAAG,OAE9B,MAAO,GACI,GAAM,GAAQ,EAAQ,EAAI,CAAC,GAAI,EAAG,KACvB,IAAI,GAAO,GAAM,EAAQ,EAAK,KACzC,GAGN,KAAM,IAAW,EAAG,CAAC,eC9H5B,AA4DA,YAAsB,GACpB,GAAI,GACJ,GAAI,MAAM,QAAQ,IAChB,EAAkB,GAClB,EACI,GAAM,MAAQ,EAAG,OAAS,EAC1B,IAAM,qEAEV,KAAM,GAAM,EAAG,GAAG,MAAM,GACxB,OAAS,GAAI,EAAG,EAAI,EAAG,OAAQ,EAAE,EAC/B,EACI,EAAG,GAAG,MAAM,KAAO,EACnB,IACI,iEACK,EAAkB,GAAG,MAAM,UAAU,UAGpD,GAAkB,GAClB,EAAK,GAAM,EAAI,EAAG,MAAM,GAAI,GAAG,IAAI,GAAK,GAAQ,EAAG,CAAC,KAGtD,EACI,EAAG,QAAU,EAAG,GAAG,MAAM,GACzB,IAAM,oCACK,EAAkB,yCACC,EAAkB,GAAG,MAAM,QAE7D,KAAM,GAAiB,GACjB,EAAO,EACb,OAAS,GAAI,EAAG,EAAI,EAAG,OAAQ,EAAE,EAC/B,EAAG,KAAK,EAAO,KAAK,KAClB,GAAI,GAAI,EAAK,GACb,GAAI,EAAI,EACN,OAAS,GAAI,EAAG,EAAI,EAAG,EAAE,GACvB,KAAM,GAAO,EAAI,EAAI,EAAI,EAAG,GAAI,IAAK,EAAG,IACxC,EAAI,EAAI,EAAG,GAGf,MAAO,GAAI,EAAG,GAAK,EAAG,iBAI1B,MAAI,GACK,GAAM,EAAI,GAEV,EAIJ,KAAM,IAAc,EAAG,CAAC,kBC7G/B,AAoFA,YAAa,EAAW,EAAe,IAMrC,GALA,EACI,EAAE,MAAQ,EACV,IAAM,gEACF,EAAE,QAEN,EAAE,OAAS,EACb,MAAO,IAAK,EAAe,GACtB,CAKL,KAAM,GAAgB,EAAE,MAAM,MAAM,EAAG,EAAE,MAAM,OAAS,GAC7B,OAAO,CAAC,EAAO,IAAS,EAAQ,GACrD,EAAO,GACT,EACI,EACA,CACE,EAAe,EAAE,MAAM,EAAE,MAAM,OAAS,GACxC,EAAE,MAAM,EAAE,MAAM,OAAS,KAE/B,GACE,EAAmB,GACnB,EAAmB,GACzB,EAAK,QAAQ,IACX,KAAM,CAAC,EAAK,GAAO,GAAK,EAAiB,GACzC,EAAK,KAAK,GACV,EAAK,KAAK,KAEZ,KAAM,GAAI,EAAQ,GAAM,EAAM,GAAI,EAAE,OAC9B,EAAI,EAAQ,GAAM,EAAM,GAAI,EAAE,OACpC,MAAO,CAAC,EAAG,IAIf,YAAc,EAAa,EAAe,IACxC,MAAO,GAAO,KAAK,KACjB,EACI,EAAE,MAAM,SAAW,EACnB,IAAM,0CACF,EAAE,MAAM,mBAEhB,KAAM,GAAI,EAAE,MAAM,GACZ,EAAI,EAAE,MAAM,GAElB,GAAI,GAAI,GAAI,GACR,EAAI,GAAM,GAEd,KAAM,GAAQ,GAAS,CAAC,CAAC,IAAK,CAAC,EAAG,IAClC,GAAI,GAAc,GAAM,GAExB,KAAM,GAAQ,GAAK,EAAI,EAAI,EAC3B,OAAS,GAAI,EAAG,EAAI,EAAO,EAAE,GAG3B,KAAM,GAAQ,EACR,EAAQ,EACR,EAAQ,EACd,CAAC,EAAG,EAAG,GAAK,EAAO,KAAK,KAEtB,KAAM,GAAS,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAI,EAAG,IAClC,EAAQ,GAAK,GACb,EAAM,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,IAG3B,EAAI,GAAM,GAAQ,EAAK,GAAI,GAAS,CAAC,CAAC,MAAO,GAAS,CAAC,CAAC,MAExD,EAAK,EAAI,EAAK,EAAI,EAAG,IACrB,EAAO,EAAI,EAAQ,GACzB,AAAI,EAAK,MAAM,KAAO,EACpB,EAAI,GAAM,GAEV,EAAI,EACA,CACE,EACA,EAAM,EAAM,CAAC,EAAG,GAAI,CAAC,EAAK,MAAM,GAAK,EAAG,EAAK,MAAM,MAGrD,GAEN,KAAM,GAAM,GAAI,EAAI,EAAO,EAAG,GAAK,IAG7B,EAAW,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAI,EAAG,IACpC,EAAsB,EAAI,EAAK,GAC/B,EAAe,EAAU,GAC/B,GAAI,IAAM,EACR,EAAI,EAAI,EAAU,EAAO,EAAW,EAAO,EAAI,UAE/C,KAAM,GACF,EAAI,EAAU,EAAO,EAAW,EAAO,EAAI,KAC/C,EAAI,EAAO,CAAC,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,GAAY,GAEpD,KAAM,GAAuB,EAAU,GACjC,EAAW,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,EAAE,MAAM,GAAK,IACnD,GAAI,IAAM,EACR,EAAI,EAAI,EAAU,EAAO,EAAO,EAAU,GAAI,SAE9C,KAAM,GACF,EAAI,EAAU,EAAO,EAAO,EAAU,GAAI,IAC9C,EAAI,EAAO,CAAC,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,GAAY,GAEpD,MAAO,CAAC,EAAG,EAAG,KAEhB,GAAQ,CAAC,EAAO,EAAO,IAGzB,MAAI,CAAC,GAAgB,EAAI,GACvB,GAAI,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,IACzB,EAAI,EAAM,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,KAGpB,CAAC,EAAG,KAIR,KAAM,IAAK,EAAG,CAAC,SCzMtB,AAiBA,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,EAAA,KAAA,GAAA,OACA,EAAA,EAAA,KAAA,GAAA,OACA,EAAA,EAAA,IAAA,GAAA,MACA,EAAA,EAAA,uBAAA,GAAA,2BAJU,IAAA,IAAS,KCwBrB,YACI,EAAsB,EACtB,EAAY,GAAU,wBACxB,KAAM,GAAU,EAAgB,EAAQ,SAAU,uBAClD,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,wBAGjD,KAAM,GAAgB,GAAY,KAAQ,EAAU,EAAI,EAAS,GAEjE,GAAI,IAAc,GAAU,KAC1B,MAAO,GAET,GAAI,IAAc,GAAU,IAC1B,MAAO,GAAI,GAEb,GAAI,IAAc,GAAU,MAC1B,GAAI,GAAY,KACd,MAAO,IAAK,GACP,CACL,KAAM,GAAkB,EAAQ,KAAO,EAAS,KAC1C,EAAS,EAAI,EAAI,GAAe,EAAI,IAC1C,MAAO,GAAkB,EAAI,EAAI,EAAQ,EAAO,IACnB,GAGjC,GAAI,IAAc,GAAU,wBAC1B,GAAI,GAAY,KACd,MAAO,GAAI,EAAI,GAAe,EAAO,EAAQ,OACxC,CACL,KAAM,GAAqB,EAAI,EAAU,GAAK,EAAQ,QAEhD,EACF,EAAK,EAAI,GAAS,EAAoB,EAAO,KAAM,WACvD,MAAO,GAAI,EAAI,GAAe,IAIlC,KAAM,OAAM,sBAAsB,KAE7B,KAAM,IAAsB,EAAG,CAAC,0BClFvC,AA0CA,YACI,EAAsB,EACtB,EACA,EAAY,GAAU,wBACxB,KAAM,GAAU,EAAgB,EAAQ,SAAU,sBAC5C,EACF,EAAgB,EAAa,cAAe,sBAChD,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,uBAEjD,EACI,EAAQ,MAAO,EAAa,MAAO,iCAEvC,KAAM,GAAS,GAAI,EAAI,EAAS,IAChC,MAAO,IAAoB,EAAQ,EAAU,GAGxC,KAAM,IAAqB,EAAG,CAAC,yBChBtC,YACI,EAAsB,EAA2B,EACjD,EACA,EAAY,GAAU,wBACxB,KAAM,GAAU,EAAgB,EAAQ,SAAU,kBAC5C,EACF,EAAgB,EAAa,cAAe,kBAChD,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,mBAEjD,EACI,EAAQ,MAAO,EAAa,MAAO,6BAEvC,KAAM,GAAM,EAAO,GACb,EAAS,EAAI,EAAK,EAAI,EAAI,EAAS,GAAe,EAAM,KAC9D,MAAO,IAAoB,EAAQ,EAAU,GAExC,KAAM,IAAiB,EAAG,CAAC,qBCnBlC,YACI,EAAsB,EACtB,EACA,EAAY,GAAU,wBACxB,GAAI,GAAU,EAAgB,EAAQ,SAAU,aAChD,KAAM,GAAe,EAAgB,EAAa,cAAe,aACjE,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,cAEjD,EAAkB,EAAQ,MAAO,EAAa,MAAO,wBAErD,KAAM,GAAM,EAAO,GAEnB,EAAU,EAAI,EAAI,EAAO,GAAI,GAAU,GACvC,KAAM,GAAS,GAAK,EAAI,EAAK,EAAI,EAAS,KAC1C,MAAO,IAAoB,EAAQ,EAAU,GAExC,KAAM,IAAY,EAAG,CAAC,gBC7D7B,AAgDA,YACI,EAAsB,EACtB,EAA6B,EAAQ,EACrC,EAAY,GAAU,wBACxB,KAAM,GAAU,EAAgB,EAAQ,SAAU,aAC5C,EAAe,EAAgB,EAAa,cAAe,aACjE,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,cAEjD,EAAkB,EAAQ,MAAO,EAAa,MAAO,wBAErD,KAAM,GAAc,EAAO,GACrB,EAAQ,GAAI,EAAI,EAAc,IAC9B,EAAY,GAAQ,EAAO,GAC3B,EAAS,EAAI,EAAO,GAEpB,EACF,EAAI,EAAI,EAAO,IAAM,EAAO,IAAa,EAAI,EAAa,IAC9D,MAAO,IAAoB,EAAQ,EAAU,GAExC,KAAM,IAAY,EAAG,CAAC,gBCrE7B,AA+CA,YACI,EAAsB,EACtB,EAA6B,EAAU,KACvC,EAAY,GAAU,wBACxB,KAAM,GAAU,EAAgB,EAAQ,SAAU,WAC5C,EAAe,EAAgB,EAAa,cAAe,WACjE,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,YAEjD,EAAkB,EAAQ,MAAO,EAAa,MAAO,sBAErD,KAAM,GAAM,EAAO,GACb,EAAgB,EAAO,GAEvB,EAAK,GAAI,EAAI,EAAS,GAAI,EAAI,EAAc,MAC5C,EACF,EAAI,EAAI,EAAK,GAAU,GAAI,EAAI,EAAI,EAAK,GAAe,KACrD,EAAS,EAAI,EAAI,GACvB,MAAO,IAAoB,EAAQ,EAAU,GAExC,KAAM,IAAU,EAAG,CAAC,cCpE3B,AAuCA,YACI,EAAsB,EACtB,EACA,EAAY,GAAU,wBACxB,KAAM,GAAU,EAAgB,EAAQ,SAAU,oBAC5C,EACF,EAAgB,EAAa,cAAe,oBAChD,GAAI,GAAmB,KACvB,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,qBAEjD,EACI,EAAQ,MAAO,EAAa,MAAO,+BAEvC,KAAM,GAAS,GAAkB,EAAS,GAC1C,MAAO,IAAoB,EAAQ,EAAU,GAExC,KAAM,IAAmB,EAAG,CAAC,uBCxDpC,AAmCA,YACI,EAAsB,GACxB,KAAM,GACF,EAAgB,EAAQ,SAAU,iCAChC,EACF,EAAgB,EAAQ,SAAU,iCACtC,EACI,EAAQ,MAAO,EAAQ,MAAO,4CAsBlC,KAAM,GAAY,GAAK,GACjB,EAAgB,EAAI,EAAS,GAC7B,EAAgB,GAAM,GAAI,GAAI,GAAI,MAExC,MAAO,GAAI,EAAI,EAAW,GAAgB,GAuB5C,YACI,EAAgC,EAChC,EAA6B,EAAiB,EAC9C,EAAY,GAAU,wBACxB,GAAI,GAAoB,EACpB,EAAkB,mBAAoB,uBAC1C,KAAM,GAAU,EAAgB,EAAQ,SAAU,uBAClD,GAAI,GAAmB,KAOvB,GANA,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,wBAEjD,EACI,EAAkB,MAAO,EAAQ,MAAO,kCAExC,EAAiB,GACnB,KAAM,GAAuB,EAAO,GAC9B,EAAM,EAAO,GACb,EAAO,EAAO,IAEpB,EACI,EAAI,EAAI,EAAmB,EAAI,EAAK,IAChC,EAAI,EAAM,IAEpB,KAAM,GAAS,GAA+B,EAAmB,GAEjE,MAAO,IAAoB,EAAQ,EAAU,GAGxC,KAAM,IAAsB,EAAG,CAAC,0BCvHvC,AA+DA,YACI,EAAW,EAAW,EAAM,IAK9B,GAJA,AAAI,IAAQ,IACV,GAAM,EAAO,KAAO,GAGlB,IAAQ,EAAO,KAAO,EACxB,KAAM,OACF,mGACuC,EAAO,oBAC/B,KAGrB,KAAM,GACF,GAAW,CAAC,EAAgB,EAAgB,KAI1C,KAAM,GAAW,GACX,EAAM,GAAU,EAAQ,CAAC,GAAM,GAC/B,EAAY,EAAI,EAAK,EAAQ,WAAY,GAC/C,EAAK,CAAC,EAAQ,IAEd,KAAM,GAAa,GAAI,EAAI,EAAW,IAChC,EAAW,EAAI,EAAY,CAAC,IAE5B,EAAW,CAAC,EAAO,KACvB,KAAM,CAAC,EAAQ,GAAa,EACtB,EAAU,GAAqB,EAAG,MAAO,CAAC,IAChD,MAAO,CACL,EAAI,EAAQ,EAAI,GACZ,EAAI,EAAK,EAAQ,WAAY,GAAI,KACrC,EAAI,EAAQ,EAAI,GACZ,EAAI,GAAI,GAAY,EAAK,EAAQ,eAGzC,MAAO,CAAC,QAAO,cAGrB,MAAO,GAAS,EAAQ,GAqB1B,YACI,EAA4B,EAC5B,EAA6B,EAAiB,EAC9C,EAAY,GAAU,wBACxB,GAAI,GACA,EAAgB,EAAc,eAAgB,uBAClD,KAAM,GAAU,EAAgB,EAAQ,SAAU,uBAClD,GAAI,GAAmB,KASvB,GAPA,AAAI,GAAW,MACb,GAAW,EAAgB,EAAS,UAAW,wBAGjD,EACI,EAAc,MAAO,EAAQ,MAAO,kCAEpC,EAAiB,GACnB,KAAM,GAAuB,EAAO,GAC9B,EAAM,EAAO,GACb,EAAa,EAAO,EAAc,MAAM,IAE9C,EACI,EAAI,EAAI,EAAe,EAAI,EAAK,IAC5B,EAAI,EAAsB,IAGpC,KAAM,GAAS,GAA+B,EAAe,GAE7D,MAAO,IAAoB,EAAQ,EAAU,GAGxC,KAAM,IAAsB,EAAG,CAAC,0BC1JvC,urGAsNA,KAAM,IAAW,CACf,OACA,QACA,QACA,UASI,GAAS,CACb,iBACA,cACA,SACA,SAeI,GAAQ,CACZ,iBACA,yBACA,kBACA,oBACA,iBACA,qBACA,0BACA,8BACA,mCACA,2BACA,iCAOI,GAAS,CACb,YACA,eACA,OAaI,GAAS,CACb,sBACA,uBACA,kBACA,aACA,aACA,WACA,oBACA,uBACA,wBCjSF,AA+BA,GAAa,IC/Bb,AAsBO,KAAM,IAAkD,CAC7D,QAAW,EACX,QAAW,EACX,MAAS,EACT,OAAU,EACV,MAAS,EACT,KAAQ,EACR,UAAa,GC7Bf,AA2BA,KAAM,IAA0B,EAmBhC,kBACI,EAAuC,GAGzC,KAAM,GAAgC,GAChC,EAA2C,GAE3C,EAAkB,MAAM,QAAQ,GAClC,EAAQ,IAAI,GAAU,EAAO,MAC7B,OAAO,KAAK,GAEhB,OAAS,GAAI,EAAG,EAAI,EAAM,OAAQ,EAAE,GAClC,KAAM,GAAO,EAAM,GACb,EAAI,MAAM,QAAQ,GAAW,EAAQ,GAAG,OAAS,EAAQ,GAC/D,GAAI,EAAE,QAAU,WAAa,EAAE,QAAU,SAAW,EAAE,QAAU,QAC5D,EAAE,QAAU,UAAY,EAAE,QAAU,YACtC,KAAM,IAAI,OAAM,gCAAgC,OAAU,EAAE,SAE9D,KAAM,GAA6B,CAAC,OAAM,MAAO,EAAE,MAAO,MAAO,EAAE,OACnE,GAAI,EAAE,QAAU,UACd,KAAM,GAAY,GAAI,SAAoB,KAAM,KAC9C,KAAM,GAAO,KAAM,GAAE,QACf,EAAgB,EAAK,OAAO,CAAC,EAAG,IAAM,EAAI,EAAE,OAAQ,GACtD,GAA0B,EAAK,OAC7B,EAAQ,GAAI,YAAW,GAC7B,GAAI,GAAS,EACb,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,KAC/B,KAAM,GAAM,EAAK,GACX,EACF,GAAI,YAAW,GAAI,aAAY,CAAC,EAAI,SAAS,QACjD,EAAM,IAAI,EAAe,GACzB,GAAU,GACV,EAAM,IAAI,EAAK,GACf,GAAU,EAAI,OAEhB,EAAQ,KAEV,EAAa,KAAK,OAElB,GAAa,KAAK,EAAE,QAEtB,AAAI,GAAS,MACX,GAAK,MAAQ,GAEf,EAAM,KAAK,GAGb,KAAM,GAAe,KAAM,SAAQ,IAAI,GACvC,MAAO,CAAC,KAAM,GAAuB,GAAe,SAkBhD,YACF,EAAqB,GAEvB,KAAM,GAAsB,GAC5B,GAAI,GACA,EAAS,EACb,SAAW,KAAQ,IACjB,KAAM,GAAO,EAAK,KACZ,EAAQ,EAAK,MACb,EAAQ,EAAK,MACb,EAAO,GAAc,GAC3B,GAAI,GAEJ,GAAI,gBAAkB,IACpB,KAAM,GAAe,EAAK,aAC1B,GAAI,EAAa,QAAU,SAAW,EAAa,QAAU,UAC3D,GAAI,CAAE,QAAS,IAAgB,SAAW,IACxC,KAAM,IAAI,OACN,UAAU,EAAK,0BAA0B,EAAa,oEAGnD,EAAa,QAAU,WAChC,GAAI,IAAU,UACZ,KAAM,IAAI,OACN,UAAU,EAAK,0BAA0B,EAAa,yDACH,UAGzD,MAAM,IAAI,OACN,UAAU,EAAK,uCACO,EAAa,+EAIzC,KAAM,GAAyB,GAAqB,EAAa,OAC3D,EACF,EAAO,MAAM,EAAQ,EAAS,EAAO,GACnC,EAAkB,EAAa,QAAU,QAC3C,GAAI,YAAW,GACf,GAAI,aAAY,GACpB,GAAI,IAAU,UACZ,GAAI,EAAa,QAAU,SAAW,EAAa,QAAU,UAC3D,EAAS,GAAI,cAAa,EAAe,QACzC,OAAS,GAAI,EAAG,EAAI,EAAe,OAAQ,KACzC,KAAM,GAAI,EAAe,GACzB,EAAO,GAAK,EAAI,EAAa,MAAQ,EAAa,aAE3C,EAAa,QAAU,UAChC,AAAI,IAAkB,QACpB,GAAgB,MAElB,EAAS,EAAc,OAEvB,MAAM,IAAI,OACN,iCAAiC,EAAa,0CAG3C,IAAU,SACnB,GAAI,EAAa,QAAU,SAAW,EAAa,QAAU,SAC3D,KAAM,IAAI,OACN,iCAAiC,EAAa,gCAGpD,EAAS,GAAI,YAAW,EAAe,QACvC,OAAS,GAAI,EAAG,EAAI,EAAe,OAAQ,KACzC,KAAM,GAAI,EAAe,GACzB,EAAO,GAAK,KAAK,MAAM,EAAI,EAAa,MAAQ,EAAa,UAG/D,MAAM,IAAI,OAAM,gCAAgC,OAAU,KAE5D,GAAU,EAAO,UACR,IAAU,UACnB,KAAM,GAAO,GAAc,EAAK,OAChC,EAAS,GACT,OAAS,GAAI,EAAG,EAAI,EAAM,KACxB,KAAM,GAAa,GAAI,aACnB,EAAO,MAAM,EAAQ,EAAS,KAA0B,GAC5D,GAAU,GACV,KAAM,GAAQ,GAAI,YAAW,EAAO,MAAM,EAAQ,EAAS,IAC1D,EAAwB,KAAK,GAC9B,GAAU,QAGZ,KAAM,GAAc,GAAqB,GACnC,EAAa,EAAO,MAAM,EAAQ,EAAS,EAAO,GAExD,GAAI,IAAU,UACZ,EAAS,GAAI,cAAa,WACjB,IAAU,QACnB,EAAS,GAAI,YAAW,WACf,IAAU,OACnB,EAAS,GAAI,YAAW,WACf,IAAU,aACnB,EAAS,GAAI,cAAa,GAC1B,KAAM,GAAO,GAAI,cAAa,EAAO,OAAS,GACxC,EAAQ,GAAI,cAAa,EAAO,OAAS,GAC/C,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,EAAK,GAAK,EAAO,EAAI,GACrB,EAAM,GAAK,EAAO,EAAI,EAAI,GAE5B,KAAM,GAAa,GAAO,EAAM,EAAO,WACjC,EAAc,GAAO,EAAO,EAAO,WACzC,EAAI,GAAQ,GAAQ,EAAY,OAEhC,MAAM,IAAI,OAAM,gCAAgC,OAAU,KAE5D,GAAU,EAAO,EAEnB,AAAI,IAAU,aACZ,GAAI,GAAQ,GAAO,EAAQ,EAAO,IAGtC,MAAO,GAMH,YAAiC,GAErC,GAAI,IAAO,KACT,KAAM,IAAI,OAAM,wBAAwB,KAAK,UAAU,MAGzD,GAAI,GAAkB,EAStB,KAAM,GAA6B,GACnC,EAAG,QAAQ,AAAC,IAMV,GALA,GAAmB,EAAE,WAErB,EAAa,KACT,EAAE,aAAe,EAAE,OAAO,WAAa,EACA,GAAK,GAAE,YAAoB,IAClE,CAAE,aAAoB,eAAgB,YAAoB,aACxD,YAAoB,aACxB,KAAM,IAAI,OAAM,mCAAmC,EAAE,YAAY,UAKrE,KAAM,GAAI,GAAI,YAAW,GACzB,GAAI,GAAS,EACb,SAAa,QAAQ,AAAC,IACpB,EAAE,IAAI,GAAI,YAAW,EAAE,QAAS,GAChC,GAAU,EAAE,aAGP,EAAE,OAIX,KAAM,IAAgB,MAAO,SAAW,aACnC,OAAO,OAAS,aAAe,MAAO,OAAS,aAC/C,MAAO,OAAS,aAWf,YAA2B,GAC/B,MAAI,IACK,OAAO,WAAW,GAEpB,GAAI,MAAK,CAAC,IAAM,KA8CnB,YAAkC,GACtC,GAAI,EAAQ,SAAW,EACrB,MAAO,GAAQ,GAGjB,GAAI,GAAkB,EACtB,EAAQ,QAAQ,AAAC,IACf,GAAmB,EAAO,aAG5B,KAAM,GAAO,GAAI,YAAW,GAC5B,GAAI,GAAS,EACb,SAAQ,QAAQ,AAAC,IACf,EAAK,IAAI,GAAI,YAAW,GAAS,GACjC,GAAU,EAAO,aAEZ,EAAK,OAUR,YAAmB,GACvB,KAAM,GAAY,IAElB,IADA,EAAO,EAAK,OACL,EAAK,SAAS,IACnB,EAAO,EAAK,MAAM,EAAG,EAAK,OAAS,GAErC,KAAM,GAAQ,EAAK,MAAM,GACzB,MAAO,GAAM,EAAM,OAAS,GAQxB,YAAuC,GAE3C,GAAI,EAAe,wBAAyB,aAC1C,KAAM,IAAI,OAAM,uDAGlB,MAAO,CACL,UAAW,GAAI,QACf,kBAAmB,OACnB,mBAAoB,EAAe,eAAiB,KAChD,EACA,GAAiB,KAAK,UAAU,EAAe,gBACnD,iBAAkB,EAAe,aAAe,KAC5C,EACA,GAAiB,KAAK,UAAU,EAAe,cACnD,gBAAiB,EAAe,YAAc,KAC1C,EACA,EAAe,WAAW,YAUlC,cACE,KAAM,GAAkB,AAAC,IACvB,GAAI,GAAI,GAAK,GACT,EAAI,EAER,KAAQ,GAAI,WAAgB,GAC1B,GAAK,QACL,IAAM,EAER,UAAK,CAAC,QACN,GAAK,UAEE,EAAI,GAGP,EAAe,GAAI,aAAY,MAErC,EAAa,GAAK,EAClB,OAAS,GAAI,EAAG,EAAI,KAAM,IACxB,EAAa,GAAK,EAAgB,GAEpC,OAAS,GAAI,KAAM,EAAI,KAAM,IAC3B,EAAa,GAAK,UAAe,GAAI,MAAS,IAGhD,MAAO,GAST,cACE,KAAM,GAAgB,GAAI,aAAY,IAEtC,EAAc,GAAK,EACnB,EAAc,IAAM,WACpB,EAAc,IAAM,WACpB,EAAc,IAAM,WACpB,OAAS,GAAI,EAAG,EAAI,GAAI,IACtB,EAAc,GAAK,GAAK,GAE1B,OAAS,GAAI,GAAI,EAAI,GAAI,IACvB,EAAc,GAAK,WAAe,GAAI,IAAO,IAG/C,MAAO,GAST,cACE,KAAM,GAAc,GAAI,aAAY,IAEpC,OAAS,GAAI,EAAG,EAAI,GAAI,IACtB,EAAY,GAAK,KAEnB,SAAY,GAAK,EAAY,IAAM,EAE5B,EAUH,cAKJ,KAAM,GAAe,KACf,EAAgB,KAChB,EAAc,KAEpB,MAAO,AAAC,KACN,KAAM,GAAS,GAAI,aAAY,EAAI,EAAe,QAC5C,EAAmB,GAAI,aAAY,GACzC,OAAS,GAAQ,EAAG,EAAQ,EAAe,OAAQ,KACjD,KAAM,GAAc,EAAe,GAC7B,EACF,EAAa,EAAY,GAAe,IAAO,GAAc,OAC7D,EAAc,GAAe,IACjC,EAAiB,GAAS,EAE5B,MAAO,IAAI,cAAa,IChf5B,SA6BE,cACE,KAAK,YAAc,GACnB,KAAK,YAAc,SAGN,eACb,MAAI,IAAiB,UAAY,MAC/B,IAAiB,SAAW,GAAI,OAE3B,GAAiB,eASnB,oBAAmB,GACxB,GAAiB,cAAc,YAAY,KAAK,SAS3C,oBAAmB,GACxB,GAAiB,cAAc,YAAY,KAAK,SAW3C,iBAAgB,GACrB,MAAO,IAAiB,YAAY,EAAK,cAWpC,iBAAgB,EAAsB,GAE3C,MAAO,IAAiB,YAAY,EAAK,OAAQ,SAGpC,aACX,EAAsB,EACtB,GACF,KAAM,GAA6B,GAC7B,EAAU,IAAgB,OAC5B,GAAiB,cAAc,YAC/B,GAAiB,cAAc,YACnC,SAAQ,QAAQ,IACd,KAAM,GAAU,EAAO,EAAK,GAC5B,AAAI,IAAY,MACd,EAAc,KAAK,KAGhB,GAIJ,KAAM,IAAqB,AAAC,GAC/B,GAAiB,mBAAmB,GAC3B,GAAqB,AAAC,GAC/B,GAAiB,mBAAmB,GAC3B,GAAkB,AAAC,GAC5B,GAAiB,gBAAgB,GACxB,GACT,CAAC,EAAsB,IACnB,GAAiB,gBAAgB,EAAK,GC/G9C,AAiCA,KAAM,IAAoB,MAjC1B,SAyCE,cACE,KAAK,SAAW,SAGH,eACb,MAAI,IAA0B,UAAY,MACxC,IAA0B,SAAW,GAAI,OAEpC,GAA0B,eAS5B,iBAAgB,EAAgB,GACrC,EAAO,GAAU,KAAM,IAAM,yCAC7B,AAAI,EAAO,SAAS,KAClB,GAAS,EAAO,MAAM,EAAG,EAAO,QAAQ,MAE1C,EAAO,EAAO,OAAS,EAAG,IAAM,uCAChC,KAAM,GAAW,GAA0B,cAC3C,EACI,EAAS,SAAS,IAAW,KAC7B,IAAM,2DACF,OACR,EAAS,SAAS,GAAU,QAGvB,YAAW,GAChB,KAAM,GAAU,KAAK,cAAc,SAAS,GAC5C,GAAI,GAAW,KACb,KAAM,IAAI,OAAM,yCAAyC,MAE3D,MAAO,SAGF,cACL,MAAO,QAAO,KAAK,KAAK,cAAc,WAY1C,YAAkB,GAChB,GAAI,EAAI,QAAQ,MAAuB,GACrC,KAAM,IAAI,OACN,6EAEG,GAA0B,aAAa,KAAK,QAErD,MAAO,CACL,OAAQ,EAAI,MAAM,IAAmB,GACrC,KAAM,EAAI,MAAM,IAAmB,IAIvC,kBACI,EAAmB,EACnB,EAAe,IACjB,EACI,IAAc,EACd,IAAM,wCAAwC,MAElD,KAAM,GAAe,GAAiB,gBAAgB,GACtD,EACI,EAAa,OAAS,EACtB,IAAM,kEACF,MACR,EACI,EAAa,OAAS,EACtB,IAAM,yCAAyC,EAAa,wCACxB,MACxC,KAAM,GAAc,EAAa,GAE3B,EAAe,GAAiB,gBAAgB,GACtD,EACI,EAAa,OAAS,EACtB,IAAM,uEACK,MACf,EACI,EAAa,OAAS,EACtB,IAAM,yCAAyC,EAAa,6CACnB,MAC7C,KAAM,GAAc,EAAa,GAE3B,EAAe,GAAS,GAAW,OACnC,EAAa,GAAS,GAAW,KACjC,EAAa,IAAiB,GAAS,GAAW,OAElD,EAAiB,KAAM,GAAY,OAKzC,AAAI,GAAgB,GAClB,KAAM,IAA0B,WAAW,GACtC,YAAY,GAGnB,KAAM,GAAa,KAAM,GAAY,KAAK,GAK1C,MAAI,IAAgB,CAAC,GACnB,KAAM,IAA0B,WAAW,GACtC,YAAY,GAGZ,EAAW,mBAuCpB,oBACE,KAAM,GAAU,GAA0B,aACpC,EAA2C,GACjD,SAAW,KAAU,IACnB,KAAM,GACF,KAAM,IAA0B,WAAW,GAAQ,aACvD,SAAW,KAAQ,IACjB,KAAM,GAAM,EAAS,GAAoB,EACzC,EAAI,GAAO,EAAU,IAGzB,MAAO,GAqCT,kBAA2B,GACzB,KAAM,GAAgB,GAAS,GACzB,EAAU,GAA0B,WAAW,EAAc,QACnE,MAAO,GAAQ,YAAY,EAAc,MAmD3C,kBACI,EAAmB,GACrB,KAAM,GAAe,GACrB,MAAO,IAAmB,EAAW,EAAS,GAkDhD,kBACI,EAAmB,GACrB,KAAM,GAAe,GACrB,MAAO,IAAmB,EAAW,EAAS,GCpWhD,AA4BA,KAAM,IAA2B,QAC3B,GAA8B,QAC9B,GAAqC,eAE3C,YAAkB,GAChB,MAAO,IAAI,SAAQ,GAAW,WAAW,IAAU,KAAK,GAjC1D,SA4CE,YAAY,GACV,GAAI,CAAC,KAAM,QAAQ,cAGjB,KAAM,IAAI,OACN,uFAIN,AAAI,EAAe,WAAW,GAAiB,aAC7C,GAAiB,EAAe,MAAM,GAAiB,WAAW,SAEpE,AAAI,IAAkB,MAAQ,EAAe,SAAW,IACtD,GAAiB,IAGnB,KAAK,sBAAwB,EAAiB,GAC9C,KAAK,mBACD,EAAiB,QAGjB,MAAK,GACT,GAAI,MAAQ,WAAc,YACxB,KAAM,IAAI,OACN,2FAGN,KAAM,GAAa,OAAO,IAAI,gBAAgB,GAAI,MAC9C,CAAC,EAAe,YAAa,CAAC,KAAM,8BAExC,GAAI,EAAe,wBAAyB,aAC1C,KAAM,IAAI,OACN,yFAEC,CACL,KAAM,GAAyC,CAAC,CAC9C,MAAO,CAAC,KAAO,KAAK,oBACpB,QAAS,EAAe,cAEpB,EAA4C,CAChD,cAAe,EAAe,cAC9B,OAAQ,EAAe,OACvB,YAAa,EAAe,YAC5B,YAAa,EAAe,YAC5B,mBAEI,EACF,OAAO,IAAI,gBAAgB,GAAI,MAC3B,CAAC,KAAK,UAAU,IAChB,CAAC,KAAM,sBAIT,EAAa,KAAK,YAAc,KAAO,SAAS,cAAc,KACvB,KAAK,WAQlD,GAPA,EAAW,SAAW,KAAK,sBAC3B,EAAW,KAAO,EAIlB,KAAM,IAAM,IAAM,EAAW,cAAc,GAAI,YAAW,WAEtD,EAAe,YAAc,MAC/B,KAAM,GAAmB,KAAK,kBAAoB,KAC9C,SAAS,cAAc,KACvB,KAAK,iBACT,EAAiB,SAAW,KAAK,mBACjC,EAAiB,KAAO,EACxB,KAAM,IACF,IAAM,EAAiB,cAAc,GAAI,YAAW,WAG1D,MAAO,CAAC,mBAAoB,GAA6B,MA1E7C,GAAA,WAAa,eA1C/B,SA4HE,YAAY,GACV,GAAI,GAAS,MAAQ,EAAM,OAAS,EAClC,KAAM,IAAI,OACN,wEACgB,KAEtB,KAAK,MAAQ,OAGT,QACJ,KAAM,GAAW,KAAK,MAAM,GACtB,EAAc,KAAK,MAAM,MAAM,GAErC,MAAO,IAAI,SAAwB,CAAC,EAAS,KAC3C,KAAM,GAAa,GAAI,cACvB,EAAW,OAAS,AAAC,IAEnB,KAAM,GAAY,KAAK,MAAO,EAAM,OAAe,QAC7C,EAAgB,EAAU,cAChC,GAAI,GAAiB,MACnB,EAAO,GAAI,OACP,4CAA4C,EAAS,SACzD,OAGF,AAAI,EAAY,SAAW,GACzB,EAAQ,CAAC,kBAGX,KAAM,GAAkB,EAAU,gBAClC,GAAI,GAAmB,MACrB,EAAO,GAAI,OACP,6CAA6C,EAAS,SAC1D,OAGF,GAAI,GACJ,IACE,EACI,KAAK,4BAA4B,EAAiB,SAC/C,GACP,EAAO,GACP,OAGF,KAAM,GAAsC,GACtC,EAAkB,GAClB,EAAgC,GACtC,EAAgB,QAAQ,IACtB,EAAa,MAAM,QAAQ,IACzB,EAAM,KAAK,GACX,EAAe,KAAK,QAEtB,EAAY,KAAK,GAAG,EAAa,WAGnC,EAAgB,QAAQ,IACtB,EAAa,MAAM,QAAQ,IACzB,KAAM,GAAmB,GAAI,cAC7B,EAAiB,OAAS,AAAC,IAEzB,KAAM,GAAc,EAAM,OAAe,OACnC,EAAQ,EAAM,QAAQ,GAC5B,EAAe,GAAS,EACxB,AAAI,EAAe,QAAQ,QAAU,IACnC,EAAQ,CACN,gBACA,cACA,WAAY,GAAwB,GACpC,OAAQ,EAAU,OAClB,YAAa,EAAU,YACvB,YAAa,EAAU,YACvB,oBAAqB,EAAU,uBAIrC,EAAiB,QAAU,GACvB,EAAO,6CAA6C,OACxD,EAAiB,kBAAkB,EAAW,SAIpD,EAAW,QAAU,GAAS,EAC1B,sEACc,EAAS,6EAE3B,EAAW,WAAW,KAOlB,4BACJ,EAAiC,GACnC,KAAM,GAAsB,GACtB,EAAY,EAAM,IAAI,GAAQ,GAAS,EAAK,OAC5C,EAAqC,GAC3C,SAAW,KAAS,GAClB,EAAM,MAAM,QAAQ,IAClB,KAAM,GAAe,GAAS,GAC9B,GAAI,EAAU,QAAQ,KAAkB,GACtC,KAAM,IAAI,OACN,uDACI,MAGV,GADA,EAAU,KAAK,GACX,EAAU,QAAQ,KAAkB,GACtC,KAAM,IAAI,OACN,8BAA8B,uBAElC,EAAW,GAAQ,EAAM,EAAU,QAAQ,MAKjD,GAAI,EAAU,SAAW,EAAM,OAC7B,KAAM,IAAI,OACN,wDACI,EAAU,oDACV,EAAM,YAEhB,MAAO,IAIJ,KAAM,IAAmC,AAAC,GAC1C,KAAM,QAAQ,eAGb,EAAC,MAAM,QAAQ,IAAQ,EAAI,WAAW,GAAiB,aAClD,GAAiB,EAAI,MAAM,GAAiB,WAAW,SAHzD,KASX,GAAiB,mBAAmB,IA0C9B,YAA2B,EAAiB,SAChD,MAAO,IAAI,IAAiB,GA4CxB,YAAuB,GAC3B,MAAO,IAAI,IAAa,GC7V1B,AA6BM,YACF,EAAmC,EACnC,EAAwB,GAC1B,EAAc,GACd,EAAgB,GAAiB,KAAO,EAAI,EAC5C,EAAc,GAAe,KAAO,EAAI,EACxC,EAAc,EAAe,GAC7B,GAAI,GAAkB,EAEtB,KAAM,GAAkB,AAAC,GACvB,GAAQ,KAAK,IACX,KAAM,GAAW,EACb,GAAE,EAAkB,EAAS,OAAU,GAAc,GAEzD,SAAW,GACJ,IAEF,GAGT,WAAuB,GACrB,EACI,GAAY,MAAQ,MAAM,QAAQ,IAAa,EAAS,OAAS,EACjE,IAAM,uCAGZ,WAAuB,EAAuB,GAC5C,EACI,GAAiB,GAAK,GAAiB,EACvC,IAAM,oEACmB,KAC7B,EACI,GAAe,GAAK,GAAe,EACnC,IAAM,kEACiB,KAC3B,EACI,GAAe,EACf,IAAM,yEACmB,qBAClB,KAGb,MAAO,SAAQ,IAAI,EAAS,IAAI,ICvElC,AAoCA,kBACI,EAAqB,GACvB,AAAI,GAAe,MACjB,GAAc,IAGhB,KAAM,GAAY,EAAY,WAAa,KAAO,KAAM,SAAS,MACf,EAAY,UAGxD,EAAW,EAAU,IACvB,GACI,EAAU,EAAU,EAAY,YAAa,CAAC,SAAU,MAE1D,EAAqB,EACrB,EAAmB,GAEnB,EAAY,EAAY,YAAc,KACxC,KAAM,SAAQ,IAAI,GAClB,KAAM,IACF,EAAU,EAAY,WAAY,EAClC,GAEF,EAAiB,EAAU,IAAI,GAAY,EAAS,eAEpD,EAAsB,GACtB,EAAoB,EAEpB,EAAU,EAAY,YAAc,KACtC,KAAM,SAAQ,IAAI,GAClB,KAAM,IACF,EAAgB,EAAY,WAAY,EACxC,GACR,MAAO,GAYT,kBACI,EAAiC,EAAiB,GAClD,EACA,GAOF,KAAM,GAAe,AAAC,GAClB,GAAyB,EAAW,CAAC,gBACnC,EAAc,GAAqB,GAEzC,MAAO,GAAY,EAAU,EAAgB,GA2BzC,YACF,GAGF,MAAO,OACI,EAAiC,EAAiB,GAClD,KAGT,KAAM,GAAyB,EAAS,IAAI,IAAM,IAC5C,EAKF,GACE,EACF,GAAe,KAAO,EAAY,IAAI,IAAM,IAAS,GACnD,EAAmC,GAwCzC,GAvCA,EAAS,QAAQ,CAAC,EAAqB,KACrC,GAAI,GAAc,EAClB,EAAoB,QAAQ,QAAQ,IAClC,KAAM,GAAY,gBAAkB,GAChC,EAAa,aAAa,MAC1B,EAAa,MAEX,EAAe,GAAqB,GACtC,AAAK,GAAc,EAAa,OAE9B,EAA8B,KAClC,EAAuB,GAAc,GACrC,AAAI,EAAoB,IAAe,MACrC,GAAoB,GAAc,IAGpC,EAAoB,GAAY,KAAK,CACnC,cAAe,EACf,cACA,UAAW,KAIf,AAAI,GAAe,KACjB,EAAY,QAAQ,CAAC,EAAY,KAC/B,AAAI,IAAe,EAAa,MAC9B,KACA,EAAa,GAAe,MAIhC,IAGF,EAAuB,KAAK,EAAa,MACzC,GAAe,MAIf,CAAC,EAAa,MAAM,GAAS,IAC/B,KAAM,GAAkB,EAAY,OAAO,CAAC,EAAG,IAAM,CAAC,EAAa,IACnE,KAAM,IAAI,OACN,kDACG,EAAgB,KAAK;wCAErB,EAAuB,KAAK,UAKrC,KAAM,GACF,EAAuB,OAAO,CAAC,EAAa,EAAa,IACvD,CAAI,GACF,EAAY,KAAK,GAEZ,GACN,IAED,EAAsB,GAC5B,EAAoB,QAAQ,IAC1B,EAAS,GAAG,MAAM,QAAQ,IACxB,KAAM,GAAW,EACZ,CAAC,EAAe,SAAS,KAAa,GAAN,KAAY,EACjD,EAAU,KAAK,OAGnB,KAAM,GAAU,KAAM,GAAqB,GAErC,EAAmC,GACzC,GAAI,GAAoB,EACxB,SAAoB,QAAQ,IAC1B,KAAM,GAAa,EAAS,GAAG,MAAM,OAErC,GAAI,GAAa,EACjB,OAAS,GAAI,EAAG,EAAI,EAAY,IAC9B,GAAc,EAAQ,EAAoB,GAAG,WAI/C,KAAM,GAAc,GAAI,aAAY,GAC9B,EAAkB,GAAI,YAAW,GACvC,GAAI,GAAoB,EACxB,OAAS,GAAI,EAAG,EAAI,EAAY,KAC9B,KAAM,GAAS,GAAI,YAAW,EAAQ,EAAoB,IAC1D,EAAgB,IAAI,EAAQ,GAC5B,GAAqB,EAAO,WAG9B,KAAM,GAAiB,EAAoB,GAC3C,EAAe,QAAQ,IACrB,KAAM,GAAa,EAAY,MAC3B,EAAa,YACb,EAAa,YAAc,EAAa,WACtC,EACF,GAAc,EAAY,CAAC,EAAa,gBAC5C,SAAW,KAAQ,GACjB,EAAiB,GAAQ,EAAgB,KAI7C,GAAqB,IAGhB,GCpPX,AA+BA,KAAM,IAAyB,2BACzB,GAAY,mBAhClB,SA8CE,YAAY,EAAc,GA+BxB,GAtCO,KAAA,eAAiB,OAQxB,AAAI,GAAe,MACjB,GAAc,IAEhB,KAAK,iBAAmB,EAAY,iBACpC,KAAK,WAAa,EAAY,WAE9B,AAAI,EAAY,WAAa,KAC3B,GACI,MAAO,GAAY,WAAc,WACjC,IAAM,+HAGV,KAAK,MAAQ,EAAY,WAEzB,KAAK,MAAQ,KAAM,SAAS,MAG9B,EACI,GAAQ,MAAQ,EAAK,OAAS,EAC9B,IAAM,2DAGV,AAAI,MAAM,QAAQ,IAChB,EACI,EAAK,SAAW,EAChB,IAAM,iEACmB,EAAK,YAEpC,KAAK,KAAO,EAER,EAAY,aAAe,MAC3B,EAAY,YAAY,MAAQ,KAClC,KAAM,IAAI,OACN,sEAEN,KAAK,YAAc,EAAY,aAAe,QAG1C,MAAK,GACT,GAAI,EAAe,wBAAyB,aAC1C,KAAM,IAAI,OACN,2FAIN,KAAM,GAAO,OAAO,OAAO,CAAC,OAAQ,KAAK,gBAAiB,KAAK,aAC/D,EAAK,KAAO,GAAI,YAEhB,KAAM,GAAyC,CAAC,CAC9C,MAAO,CAAC,uBACR,QAAS,EAAe,cAEpB,EAA4C,CAChD,cAAe,EAAe,cAC9B,OAAQ,EAAe,OACvB,YAAa,EAAe,YAC5B,YAAa,EAAe,YAC5B,oBAAqB,EAAe,oBACpC,mBAGF,EAAK,KAAK,OACN,aACA,GAAI,MACA,CAAC,KAAK,UAAU,IAChB,CAAC,KAAM,KACX,cAEJ,AAAI,EAAe,YAAc,MAC/B,EAAK,KAAK,OACN,oBACA,GAAI,MAAK,CAAC,EAAe,YAAa,CAAC,KAAM,KAC7C,qBAGN,KAAM,GAAW,KAAM,MAAK,MAAM,KAAK,KAAM,GAE7C,GAAI,EAAS,GACX,MAAO,CACL,mBAAoB,GAA6B,GACjD,UAAW,CAAC,IAGd,KAAM,IAAI,OACN,gEACG,EAAS,gBAYd,QACJ,KAAM,GAAqB,KAAM,MAAK,MAAM,KAAK,KAAM,KAAK,aAE5D,GAAI,CAAC,EAAmB,GACtB,KAAM,IAAI,OACN,cAAc,KAAK,gCAChB,EAAmB,iFAG5B,GAAI,GACJ,IACE,EAAc,KAAM,GAAmB,aAChC,GACP,GAAI,GAAU,+CAA+C,KAAK,QAGlE,KAAI,MAAK,KAAK,SAAS,OACrB,GAAW,+UAOX,GAAW,uEAGP,GAAI,OAAM,GAElB,KAAM,GAAgB,EAAY,cAC5B,EAAkB,EAAY,gBAC9B,EAAc,EAAY,YAC1B,EAAc,EAAY,YAC1B,EAAS,EAAY,OACrB,EAAsB,EAAY,oBAGxC,GAAI,GAAiB,MAAQ,GAAmB,KAC9C,KAAM,IAAI,OACN,2BAA2B,KAAK,iEAItC,GAAI,GACA,EACJ,GAAI,GAAmB,MACrB,KAAM,GAAU,KAAM,MAAK,YAAY,GACvC,CAAC,EAAa,GAAc,EAG9B,MAAO,CACL,gBACA,cACA,aACA,sBACA,cACA,cACA,eAIU,aAAY,GAExB,KAAM,GAAa,MAAM,QAAQ,KAAK,MAAQ,KAAK,KAAK,GAAK,KAAK,KAC5D,CAAC,EAAQ,GAAU,GAAS,GAC5B,EAAa,KAAK,kBAAoB,EAEtC,EAAc,GACpB,SAAW,KAAS,GAClB,EAAY,KAAK,GAAG,EAAM,SAG5B,KAAM,GAAsB,GAC5B,EAAgB,QAAQ,IACtB,EAAa,MAAM,QAAQ,IACzB,EAAU,KAAK,EAAa,EAAO,OAGvC,KAAM,GAAU,KAAM,IAAyB,EAAW,CACxD,YAAa,KAAK,YAClB,UAAW,KAAK,MAChB,WAAY,KAAK,aAEnB,MAAO,CAAC,EAAa,GAAwB,KA1L/B,GAAA,iBAAmB,eAyM/B,YAAmB,GACvB,KAAM,GAAY,EAAI,YAAY,KAC5B,EAAkB,EAAI,YAAY,KAClC,EAAS,EAAI,UAAU,EAAG,GAC1B,EACF,EAAkB,EAAY,EAAI,UAAU,GAAmB,GACnE,MAAO,CAAC,EAAS,IAAK,GAGlB,YAAuB,GAC3B,MAAO,GAAI,MAAM,GAAY,mBAAqB,KAG7C,KAAM,IACT,CAAC,EAAa,KACZ,GAAI,MAAO,QAAU,aAChB,IAAe,MAAQ,EAAY,WAAa,MAInD,MAAO,MACF,CACL,GAAI,GAAS,GAMb,GALA,AAAI,MAAM,QAAQ,GAChB,EAAS,EAAI,MAAM,GAAW,GAAa,IAE3C,EAAS,GAAa,GAEpB,EACF,MAAO,IAAK,EAAK,GAGrB,MAAO,OAEb,GAAiB,mBAAmB,IACpC,GAAiB,mBAAmB,IAyE9B,YAAe,EAAc,GACjC,MAAO,IAAI,IAAY,EAAM,GAQzB,YACF,EAAc,GAChB,MAAO,IAAK,EAAM,GCzWpB,SAwBE,YAA6B,GAAA,KAAA,eAAA,OAEvB,QACJ,MAAO,MAAK,gBA3BhB,SAgCE,YACqB,GAAA,KAAA,YAAA,OAGf,MAAK,GACT,MAAO,MAAK,YAAY,IAyBtB,YACF,EAAmC,EACnC,EAA0B,GAC5B,GAAI,UAAU,SAAW,GACvB,KAAM,GACD,EAAkC,eAAiB,MACnD,EAAkC,aAAe,KACtD,MAAI,GACK,GAAI,IAAkB,GAI7B,SAAQ,KACJ,yNAIG,GAAI,IAAkB,CAAC,cAAe,SAK/C,gBAAQ,KACJ,yNAIG,GAAI,IAAkB,CAC3B,cAAe,EACf,cACA,aACA,mBAoBA,YACF,GAEF,MAAO,IAAI,IAAiB,GCpH9B,idCAA,AAwDM,YACF,EAA6B,EAC7B,GACF,KAAM,GAAU,EAAgB,EAAQ,SAAU,mBAC5C,EACF,EAAgB,EAAa,cAAe,mBAEhD,AAAK,EACD,GAAc,MAAQ,EAAa,GAAK,OAAO,UAAU,GACzD,IAAM,+DACS,KACnB,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,gDAAgD,EAAQ,QAClE,AAAK,EACD,EAAa,OAAS,EACtB,IAAM,qDACS,EAAa,QAChC,AAAK,EACD,EAAQ,MAAM,KAAO,EAAa,MAAM,GACxC,IAAM,uCACC,EAAQ,MAAM,UAAU,EAAa,MAAM,uEAEtD,AAAK,EACD,EAAa,GAAK,OAAO,UAAU,GACnC,IAAM,4DACC,KAIX,KAAM,GAAe,GAAO,EAAK,EAAS,SAAU,GAC9C,EACF,GAAO,EAAK,EAAc,SAAU,GAClC,EAA0B,EAAU,GAC1C,MAAO,GAAK,EAAO,EAAe,GAAoB,SAGjD,KAAM,IAAkB,EAAG,CAAC,sBC7FnC,4CCAA,uDA+BA,GAAI,IAwBJ,YACI,EAEA,EAAc,GAEhB,GAAI,EAAc,EAChB,KAAM,IAAI,OACN,kEAEN,GAAI,GAAU,KACZ,KAAM,IAAI,OAAM,4DAElB,GAAI,GAAc,GACd,EAAc,GACd,EAAU,GACV,EAAU,GACV,EAAe,GACnB,GAAK,EAAqB,eAAgB,YACxC,EAAc,WAEZ,MAAQ,YAAe,aAAe,YAAkB,WAC1D,EAAc,WAEZ,MAAQ,mBAAsB,aAC9B,YAAkB,kBACpB,EAAU,WAER,MAAQ,mBAAsB,aAC9B,YAAkB,kBACpB,EAAU,WAEA,EAAe,YAAc,KACvC,EAAe,OAEf,MAAM,IAAI,OACN,qPAIY,EAAc,YAAY,QAE5C,GAAI,GACF,KAAM,GAAgC,EACtC,GAAI,GACC,EAA4B,WACzB,EACN,KAAM,IAAI,OACN,yGAMR,KAAM,GAAS,GAAU,GAAY,EAAO,aAC5C,GAAI,GAAU,MACZ,KAAM,GAA2B,CAAC,UAC5B,EAAyB,CAAC,eAChC,MAAO,GAAO,UACH,GAAY,EACZ,GAGb,KAAM,CAAC,EAAO,GAAU,EACpB,CACG,EAA4B,WAC5B,EAA4B,aAE/B,CAAC,EAAO,MAAO,EAAO,QAC1B,GAAI,GAEJ,AAAI,EACF,EAEK,EAAe,WAAW,MAAM,aAAa,EAAG,EAAG,EAAO,GAAQ,KAClE,AAAI,GAAe,EACxB,EAAQ,EAAiC,KACpC,AAAI,IAAW,IACpB,CAAI,IAAuB,MACzB,IAAsB,SAAS,cAAc,UAAU,WAAW,OAEpE,GAAoB,OAAO,MAAQ,EACnC,GAAoB,OAAO,OAAS,EACpC,GAAoB,UAChB,EAA4B,EAAG,EAAG,EAAO,GAC7C,EAAO,GAAoB,aAAa,EAAG,EAAG,EAAO,GAAQ,MAE/D,GAAI,GACJ,GAAI,IAAgB,EAClB,EAAS,GAAI,YAAW,QAExB,KAAM,GAAY,EAAQ,EAC1B,EAAS,GAAI,YAAW,EAAY,GACpC,OAAS,GAAI,EAAG,EAAI,EAAW,IAC7B,OAAS,GAAU,EAAG,EAAU,EAAa,EAAE,EAC7C,EAAO,EAAI,EAAc,GAAW,EAAK,EAAI,EAAI,GAIvD,KAAM,GAAqC,CAAC,EAAQ,EAAO,GAC3D,MAAO,IAAS,EAAQ,EAAU,SAqBpC,kBACI,EACA,GACF,GAAI,GAAO,EAAgB,EAAK,MAAO,YACvC,GAAI,CAAE,aAAe,MAEnB,KAAM,GAAoB,EAC1B,EAAO,EAAK,EAAmB,SAC/B,EAAkB,UAEpB,GAAI,EAAK,OAAS,GAAK,EAAK,OAAS,EACnC,KAAM,IAAI,OACN,wDAAwD,EAAK,SAEnE,KAAM,CAAC,EAAQ,GAAS,EAAK,MAAM,MAAM,EAAG,GACtC,EAAQ,EAAK,OAAS,EAAI,EAAI,EAAK,MAAM,GAE/C,GAAI,EAAQ,GAAK,IAAU,EACzB,KAAM,IAAI,OACN,0DACqB,KAG3B,KAAM,GAAO,KAAM,GAAK,OAClB,EAAY,GAAI,GAChB,EAAY,GAAI,GAChB,EAAO,KAAM,SAAQ,IAAI,CAAC,EAAU,OAAQ,EAAU,SACtD,EAAU,EAAK,GACf,EAAU,EAAK,GACf,EAAS,EAAQ,GACjB,EAAS,EAAQ,GAGvB,GAFA,EAAU,UACV,EAAU,UACN,EAAK,QAAU,WACjB,GAAI,EAAS,GAAK,EAAS,EACzB,KAAM,IAAI,OACN,kFACgC,OAAY,eAEzC,EAAK,QAAU,SACxB,GAAI,EAAS,GAAK,EAAS,IACzB,KAAM,IAAI,OACN,kFACkC,OAAY,WAGpD,MAAM,IAAI,OACN,kCAAkC,EAAK,+CAG7C,KAAM,GAAa,EAAK,QAAU,UAAY,IAAM,EAC9C,EAAQ,GAAI,mBAAkB,EAAQ,EAAS,GAErD,OAAS,GAAI,EAAG,EAAI,EAAS,EAAO,EAAE,GACpC,GAAI,GAAG,EAAG,EAAG,EACb,AAAI,IAAU,EACZ,GAAI,EAAK,GAAK,EACd,EAAI,EAAK,GAAK,EACd,EAAI,EAAK,GAAK,EACd,EAAI,KACC,AAAI,IAAU,EACnB,GAAI,EAAK,EAAI,GAAK,EAClB,EAAI,EAAK,EAAI,EAAI,GAAK,EACtB,EAAI,EAAK,EAAI,EAAI,GAAK,EACtB,EAAI,KACC,AAAI,IAAU,GACnB,GAAI,EAAK,EAAI,GAAK,EAClB,EAAI,EAAK,EAAI,EAAI,GAAK,EACtB,EAAI,EAAK,EAAI,EAAI,GAAK,EACtB,EAAI,EAAK,EAAI,EAAI,GAAK,GAGxB,KAAM,GAAI,EAAI,EACd,EAAM,EAAI,GAAK,KAAK,MAAM,GAC1B,EAAM,EAAI,GAAK,KAAK,MAAM,GAC1B,EAAM,EAAI,GAAK,KAAK,MAAM,GAC1B,EAAM,EAAI,GAAK,KAAK,MAAM,GAG5B,GAAI,GAAU,MACZ,EAAO,MAAQ,EACf,EAAO,OAAS,EAChB,KAAM,GAAM,EAAO,WAAW,MACxB,EAAY,GAAI,WAAU,EAAO,EAAO,GAC9C,EAAI,aAAa,EAAW,EAAG,GAEjC,MAAI,KAAS,GACX,EAAK,UAEA,EAGF,KAAM,IAAa,EAAG,CAAC,iBC1P9B,+CAUM,YACF,EAAgB,GAClB,GAAI,EAAO,KAAO,EAChB,KAAM,IAAI,OACN,4EACqB,EAAO,SAElC,GAAI,EAAQ,KAAO,EACjB,KAAM,IAAI,OACN,8EACqB,EAAQ,SAEnC,GAAI,EAAQ,QAAU,QACpB,KAAM,IAAI,OACN,yEACsB,EAAQ,UAEpC,GAAI,EAAQ,MAAM,EAAQ,KAAO,GAAK,EAAO,KAC3C,KAAM,IAAI,OACN,iEACG,EAAQ,MAAM,EAAQ,KAAO,UAAU,EAAO,QAGvD,GAAI,EAAO,OAAS,EAClB,KAAM,IAAI,OACN,mEACiB,EAAO,UAG9B,KAAM,GAAe,EAAQ,MACvB,EAAY,EAAa,EAAa,OAAS,GAIrD,GAAI,GAAU,EACd,OAAS,GAAI,EAAG,EAAI,EAAa,OAAS,EAAG,EAAE,EAC7C,GAAW,EAAa,GAG1B,KAAM,GAAa,EAAO,MAEpB,EAAc,EAAa,QACjC,EAAY,MAEZ,GAAI,GAAY,EAChB,OAAS,GAAI,EAAW,EAAI,EAAO,KAAM,EAAE,EACzC,GAAa,EAAW,GACxB,EAAY,KAAK,EAAW,IAG9B,KAAM,GACF,CAAC,GAAG,GAAe,EAAO,OAAO,IAAI,GAAU,EAAS,GACvD,GAAG,MAAM,EAAG,GAEjB,MAAO,CAAC,EAAa,EAAS,EAAW,GCjF3C,+FA0EE,eACE,MAAQ,MAAK,YACR,gBAiBA,YACH,EAAiC,GACnC,MAAO,IAAI,GAAI,IA/FnB,SAiHE,cACE,KAAK,aAAe,SAMf,UACL,MAAI,IAAiB,UAAY,MAC/B,IAAiB,SAAW,GAAI,OAE3B,GAAiB,eAMnB,UAAiC,GACtC,GAAiB,SAAS,aAAa,EAAI,WACvC,CAAC,EAAK,EAAI,aA2BZ,YACF,GACF,EACI,EAAI,WAAa,KACjB,IAAM,+EAEV,EACI,MAAO,GAAI,WAAc,SACzB,IAAM,sDACF,MAAO,GAAI,WACnB,EACI,EAAI,UAAU,OAAS,EACvB,IAAM,qFAGV,GAAiB,SAAS,GC9K5B,AAGA,KAAM,IAAU,QCHhB,gBAyCwC,IAgBtC,SAAS,EAAiB,EAAa,GAAO,GAE5C,KAAM,CAAC,QAAO,SAAS,KAAK,iBAAiB,EAAG,GAEhD,GAAI,GAAW,MACb,KAAM,GACF,EAAQ,IAAI,GAAM,EAAC,KAAM,EAAE,KAAM,OAAQ,EAAM,EAAE,SACrD,KAAK,eAAe,OAEpB,MAAK,eAAe,GAMtB,MAFA,IAAQ,GAEJ,EACK,EAEP,GAAM,UACC,SAOP,cACF,MAAI,MAAK,aAAe,MACtB,MAAK,YAAc,GAEd,KAAK,YAGJ,sBACR,KAAK,YAAc,KAAK,WAAa,EAevC,iBAAiB,EAAiB,GAEhC,MAAO,IAAc,EAAG,GAe1B,UACE,AAAI,KAAK,aAAe,MACtB,GAAQ,KAAK,kBAIX,kBACJ,MAAI,MAAK,aAAe,MACtB,MAAK,YAAc,GAEd,CACL,KAAM,OAEN,OAAQ,EAAO,KAAK,YAAa,eAI/B,cACJ,KAAM,IAAI,OAAM,gEAGZ,YAAW,GACf,KAAM,IAAI,OACN,4DACG,KAAK,uBAUE,mBAAkB,GAEhC,YAAK,YAAe,MAAM,GAAa,GAAG,OAAO,QAAQ,GAClD,EAAa,MAAM,IAI9B,OAAO,eAAe,GAAW,OAAO,YAAa,CACnD,MAAO,AAAC,GACC,EAAS,UAAY,MAAQ,EAAS,kBAAoB,MAC7D,EAAS,gBAAkB,OCvKnC,gBA+BuC,IAMrC,YACc,EAAgC,EAChC,EAAkB,MAC9B,QAFY,KAAA,aAAA,EAAgC,KAAA,IAAA,EAChC,KAAA,QAAA,EALN,KAAA,iBAAwC,GACxC,KAAA,mBAA0C,GAOhD,AAAI,GAAW,MACb,MAAK,QAAU,EAAO,QAAQ,WAIlC,eAAe,GACb,KAAM,GAAgB,MAAM,QAAQ,GAChC,EAAkB,IAAI,GAAQ,EAAK,MACnC,OAAO,KAAK,GAEhB,EAAc,QAAQ,CAAC,EAAM,KAC3B,KAAM,GAAQ,EAAO,oBAAoB,GACnC,EAAY,GAClB,AAAI,KAAK,iBAAiB,IAAM,MAC9B,MAAK,iBAAiB,GAAK,CACzB,aAAc,GAAG,eACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAGnD,AAAI,KAAK,mBAAmB,IAAM,MAChC,MAAK,mBAAmB,GAAK,CAC3B,aAAc,GAAG,cACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAInD,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAGF,KAAM,GAAkB,KAAK,iBAAiB,GAAG,SAC3C,EAAoB,KAAK,mBAAmB,GAAG,SAErD,EAAK,KACH,KAAM,GACF,EAAI,EAAI,EAAiB,KAAK,KAC1B,EAAI,EAAO,GAAW,EAAI,KAAK,MAEjC,EACF,EAAI,EAAI,GAAK,EAAI,EAAmB,KAAK,UACjC,GAAK,EAAI,EAAiB,KAAK,WACnC,GAEF,EACF,EAAI,EAAI,EAAmB,KAAK,KAC5B,EAAI,EAAO,GAAU,EAAI,KAAK,MAEtC,EAAgB,OAAO,GACvB,EAAkB,OAAO,GAEzB,KAAM,GAAW,EAAI,EAAI,EAAS,CAAC,KAAK,cAAe,GACvD,EAAM,OAAO,OAGjB,KAAK,sBAGP,UACE,AAAI,KAAK,oBAAsB,MAC7B,IAAQ,KAAK,iBAAiB,IAAI,GAAK,EAAE,WACzC,GAAQ,KAAK,mBAAmB,IAAI,GAAK,EAAE,iBAIzC,cAEJ,KAAM,GACF,CAAC,GAAG,KAAK,iBAAkB,GAAG,KAAK,oBACvC,MAAO,CAAC,KAAM,MAAK,kBAAkB,OACjC,EAAU,IAAI,GAAM,EAAC,KAAM,EAAE,aAAc,OAAQ,EAAE,kBAGrD,YAAW,GACf,EAAe,KAAM,MAAK,kBAAkB,GAC5C,KAAM,GAAgB,EAAa,OAAS,EACtC,EAAY,GAClB,KAAK,iBACD,EAAa,MAAM,EAAG,GAAe,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SACf,MAEnD,KAAK,mBACD,EAAa,MAAM,EAAe,EAAgB,GAC7C,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SAAS,MAI7C,YACE,MAAO,CACL,aAAgB,KAAK,aACrB,IAAO,KAAK,IACZ,QAAW,KAAK,eAKb,YACH,EAAiC,GACnC,MAAO,IAAI,GAAI,EAAO,aAAiB,EAAO,IAAQ,EAAO,UAjHxD,GAAA,UAAY,WAoHrB,GAAc,ICrJd,gBA+BsC,IAMpC,YACc,EAA8B,EAA0B,IACpE,QADY,KAAA,aAAA,EAA8B,KAAA,wBAAA,EAHpC,KAAA,iBAAwC,GAOhD,eAAe,GACb,KAAM,GAAgB,MAAM,QAAQ,GAChC,EAAkB,IAAI,GAAQ,EAAK,MACnC,OAAO,KAAK,GAEhB,EAAc,QAAQ,CAAC,EAAM,KAC3B,KAAM,GAAQ,EAAO,oBAAoB,GACzC,GAAI,KAAK,iBAAiB,IAAM,MAC9B,KAAM,GAAY,GAClB,KAAK,iBAAiB,GAAK,CACzB,aAAc,GAAG,gBACjB,SAAU,EACN,IAAM,GAAK,EAAM,MAAO,KAAK,yBAClB,SAAS,KAI5B,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAGF,KAAM,GAAkB,KAAK,iBAAiB,GAAG,SAEjD,EAAK,KACH,KAAM,GAAqB,EAAI,EAAiB,EAAO,IACvD,EAAgB,OAAO,GAEvB,KAAM,GAAW,EACb,EAAI,EAAI,EACA,GAAK,EAAI,EAAoB,EAAO,QAAQ,aAChD,CAAC,KAAK,cACV,GACJ,EAAM,OAAO,OAGjB,KAAK,sBAGP,UACE,AAAI,KAAK,kBAAoB,MAC3B,GAAQ,KAAK,iBAAiB,IAAI,GAAK,EAAE,gBAIvC,cAEJ,MAAO,CAAC,KAAM,MAAK,kBAAkB,OAAO,KAAK,iBAAiB,IAC9D,GAAM,EAAC,KAAM,EAAE,aAAc,OAAQ,EAAE,kBAGvC,YAAW,GACf,EAAe,KAAM,MAAK,kBAAkB,GAC5C,KAAM,GAAY,GAClB,KAAK,iBAAmB,EAAa,IACjC,GAAM,EAAC,aAAc,EAAE,KAAM,SAAU,EAAE,OAAO,SAAS,MAG/D,YACE,MAAO,CACL,aAAgB,KAAK,aACrB,wBAA2B,KAAK,+BAK7B,YACH,EAAiC,GACnC,MAAO,IAAI,GAAI,EAAO,aAAiB,EAAO,0BA/EzC,GAAA,UAAY,UAkFrB,GAAc,ICnHd,gBAkCmC,IASjC,YACc,EAAgC,EAChC,EAAyB,EAAkB,MACvD,QAFY,KAAA,aAAA,EAAgC,KAAA,MAAA,EAChC,KAAA,MAAA,EAAyB,KAAA,QAAA,EAL/B,KAAA,uBAA8C,GAC9C,KAAA,wBAA+C,GAMrD,EAAK,KAEH,KAAK,SAAW,EAAO,GAAO,WAC9B,KAAK,SAAW,EAAO,GAAO,aAGhC,AAAI,GAAW,MACb,MAAK,QAAU,EAAO,QAAQ,WAIlC,eAAe,GACb,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,IAAI,GAAK,EAAE,MAC7B,OAAO,KAAK,GAChB,EAAK,KACH,KAAM,GAAmB,EAAI,EAAG,KAAK,UAC/B,EAAmB,EAAI,EAAG,KAAK,UAErC,EAAS,QAAQ,CAAC,EAAM,KACtB,KAAM,GAAQ,EAAO,oBAAoB,GACnC,EAAY,GAClB,AAAI,KAAK,uBAAuB,IAAM,MACpC,MAAK,uBAAuB,GAAK,CAC/B,aAAc,GAAG,MACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAGnD,AAAI,KAAK,wBAAwB,IAAM,MACrC,MAAK,wBAAwB,GAAK,CAChC,aAAc,GAAG,MACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAInD,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAGF,KAAM,GAAc,KAAK,uBAAuB,GAAG,SAC7C,EAAe,KAAK,wBAAwB,GAAG,SAE/C,EACF,EAAI,EAAI,EAAa,KAAK,OAAQ,EAAI,EAAU,EAAI,KAAK,QACvD,EACF,EAAI,EAAI,EAAc,KAAK,OACvB,EAAI,EAAO,GAAW,EAAI,KAAK,QAEjC,EAA2B,EAAI,EAAgB,GAC/C,EACF,EAAI,EAAiB,GAEzB,EAAY,OAAO,GACnB,EAAa,OAAO,GAEpB,KAAM,GACF,EAAI,EAAI,EAAI,EACA,EAAI,GAAK,GAA4B,KAAK,UAC9C,CAAC,KAAK,cACV,GACR,EAAM,OAAO,KAGf,KAAK,SAAS,OAAO,EAAI,KAAK,SAAU,KAAK,QAC7C,KAAK,SAAS,OAAO,EAAI,KAAK,SAAU,KAAK,UAE/C,KAAK,sBAGP,UACE,KAAK,SAAS,UACd,KAAK,SAAS,UAEd,AAAI,KAAK,wBAA0B,MACjC,GAAQ,KAAK,uBAAuB,IAAI,GAAK,EAAE,WAEjD,AAAI,KAAK,yBAA2B,MAClC,GAAQ,KAAK,wBAAwB,IAAI,GAAK,EAAE,gBAI9C,cAEJ,KAAM,GACF,CAAC,GAAG,KAAK,uBAAwB,GAAG,KAAK,yBAC7C,MAAO,CAAC,KAAM,MAAK,kBAAkB,OACjC,EAAU,IAAI,GAAM,EAAC,KAAM,EAAE,aAAc,OAAQ,EAAE,kBAGrD,YAAW,GACf,EAAe,KAAM,MAAK,kBAAkB,GAC5C,EAAK,KACH,KAAK,SAAS,OAAO,GAAI,KAAK,MAAO,KAAK,YAAc,IACxD,KAAK,SAAS,OAAO,GAAI,KAAK,MAAO,KAAK,YAAc,MAG1D,KAAM,GAAgB,EAAa,OAAS,EACtC,EAAY,GAClB,KAAK,uBACD,EAAa,MAAM,EAAG,GAAe,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SACf,MAEnD,KAAK,wBACD,EAAa,MAAM,EAAe,EAAgB,GAC7C,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SAAS,MAI7C,YACE,MAAO,CACL,aAAgB,KAAK,aACrB,MAAS,KAAK,MACd,MAAS,KAAK,MACd,QAAW,KAAK,eAKb,YACH,EAAiC,GACnC,MAAO,IAAI,GACP,EAAO,aAAiB,EAAO,MAAU,EAAO,MAChD,EAAO,UA5IN,GAAA,UAAY,OA+IrB,GAAc,ICnLd,gBAiCqC,IASnC,YACc,EAAgC,EAChC,EAAyB,EAAkB,KAC3C,EAAQ,GACpB,QAHY,KAAA,aAAA,EAAgC,KAAA,MAAA,EAChC,KAAA,MAAA,EAAyB,KAAA,QAAA,EACzB,KAAA,MAAA,EANN,KAAA,uBAA8C,GAC9C,KAAA,2BAAkD,GAQxD,EAAK,KACH,KAAK,UAAY,EAAO,GAAG,WAC3B,KAAK,SAAW,EAAO,GAAO,aAGhC,AAAI,GAAW,MACb,MAAK,QAAU,EAAO,QAAQ,WAIlC,eAAe,GACb,KAAM,GAAgB,MAAM,QAAQ,GAChC,EAAkB,IAAI,GAAQ,EAAK,MACnC,OAAO,KAAK,GAEhB,EAAK,KACH,KAAM,GAAmB,EAAI,EAAG,KAAK,UAC/B,EACF,EAAI,CAAC,KAAK,aAAc,EAAI,EAAI,KAAK,UAAW,KAAK,OAAQ,IAEjE,EAAc,QAAQ,CAAC,EAAM,KAC3B,KAAM,GAAQ,EAAO,oBAAoB,GACnC,EAAY,GAClB,AAAI,KAAK,uBAAuB,IAAM,MACpC,MAAK,uBAAuB,GAAK,CAC/B,aAAc,GAAG,MACjB,SAAU,EAAU,GAAO,SAAS,KAGxC,AAAI,KAAK,2BAA2B,IAAM,MACxC,MAAK,2BAA2B,GAAK,CACnC,aAAc,GAAG,MACjB,SAAU,EAAU,GAAO,SAAS,KAIxC,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAGF,KAAM,GAAc,KAAK,uBAAuB,GAAG,SAC7C,EAAkB,KAAK,2BAA2B,GAAG,SAErD,EACF,EAAI,EAAI,EAAa,KAAK,OAAQ,EAAI,EAAU,EAAI,KAAK,QAEvD,EAAM,EAAI,EAAiB,KAAK,OAChC,EAAM,GAAI,GAEV,EAAqB,GAAQ,EAAK,GAExC,EAAY,OAAO,GACnB,EAAgB,OAAO,GAEvB,KAAM,GACF,EAAI,EAAI,EAAI,EAAI,GACR,EAAI,EAAgB,EAAI,EAAoB,KAAK,WACrD,GAER,EAAM,OAAO,KAGf,KAAK,UAAU,OAAO,EAAI,KAAK,UAAW,IAC1C,KAAK,SAAS,OAAO,EAAI,KAAK,SAAU,KAAK,UAE/C,KAAK,sBAGP,UACE,KAAK,SAAS,UACd,KAAK,UAAU,UAEf,AAAI,KAAK,wBAA0B,MACjC,GAAQ,KAAK,uBAAuB,IAAI,GAAK,EAAE,WAEjD,AAAI,KAAK,4BAA8B,MACrC,GAAQ,KAAK,2BAA2B,IAAI,GAAK,EAAE,gBAIjD,cACJ,KAAM,IAAI,OAAM,wDAGZ,YAAW,GACf,KAAM,IAAI,OAAM,mDAGlB,YACE,MAAO,CACL,aAAgB,KAAK,aACrB,MAAS,KAAK,MACd,MAAS,KAAK,MACd,QAAW,KAAK,QAChB,MAAS,KAAK,aAKX,YACH,EAAiC,GACnC,MAAO,IAAI,GACP,EAAO,aAAiB,EAAO,MAAU,EAAO,MAChD,EAAO,QAAY,EAAO,QAvHzB,GAAA,UAAY,SA0HrB,GAAc,IC7Jd,gBA6BkC,IAKhC,YAAsB,GACpB,QADoB,KAAA,aAAA,EAEpB,KAAK,gBAAgB,GAGvB,eAAe,GACb,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,IAAI,GAAK,EAAE,MAC7B,OAAO,KAAK,GAChB,EAAS,QAAQ,CAAC,EAAM,KACtB,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAEF,KAAM,GAAQ,EAAO,oBAAoB,GACzC,EAAK,KACH,KAAM,GAAW,EAAI,EAAI,KAAK,EAAG,GAAW,GAC5C,EAAM,OAAO,OAGjB,KAAK,sBAMP,gBAAgB,GACd,KAAK,aAAe,EACpB,AAAI,KAAK,GAAK,MACZ,KAAK,EAAE,UAET,KAAK,EAAI,GAAK,EAAO,CAAC,IAGxB,UACE,KAAK,EAAE,eAGH,cACJ,MAAO,CAAC,KAAM,MAAK,uBAGf,YAAW,GAEf,GADA,EAAe,KAAM,MAAK,kBAAkB,GACxC,EAAa,SAAW,EAC1B,KAAM,IAAI,OAAM,iDAIpB,YACE,MAAO,CAAC,aAAgB,KAAK,oBAIxB,YACH,EAAiC,GACnC,MAAO,IAAI,GAAI,EAAO,eA7DjB,GAAA,UAAY,MAgErB,GAAc,IC/Fd,gBA+BuC,IAMrC,YACc,EAA8B,EAChC,EAAc,IACxB,MAAM,GAFM,KAAA,aAAA,EAA8B,KAAA,SAAA,EAChC,KAAA,YAAA,EAJJ,KAAA,cAAqC,GAM3C,KAAK,EAAI,EAAO,KAAK,UAGvB,eAAe,GACb,KAAM,GAAgB,MAAM,QAAQ,GAChC,EAAkB,IAAI,GAAQ,EAAK,MACnC,OAAO,KAAK,GAEhB,EAAc,QAAQ,CAAC,EAAM,KAC3B,KAAM,GAAQ,EAAO,oBAAoB,GACzC,GAAI,KAAK,cAAc,IAAM,MAC3B,KAAM,GAAY,GAClB,KAAK,cAAc,GAAK,CACtB,aAAc,GAAG,aACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,KAInD,KAAM,GAAe,KAAK,cAAc,GAAG,SACrC,EAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAGF,EAAK,KACH,GAAI,GACJ,KAAM,GAAkB,EAAI,EAAI,KAAK,EAAG,GAAe,GACvD,AAAI,KAAK,YACP,EAAW,EACP,EAAI,KAAK,EAAG,EAAI,EAAU,EAAI,EAAiB,KAAK,KAAM,GAE9D,EAAW,EAAI,EAAI,KAAK,EAAG,GAAkB,GAE/C,EAAa,OAAO,GACpB,EAAM,OAAO,OAGjB,KAAK,sBAGP,UACE,KAAK,EAAE,UACP,AAAI,KAAK,eAAiB,MACxB,GAAQ,KAAK,cAAc,IAAI,GAAK,EAAE,WAS1C,YAAY,GACV,KAAK,SAAW,OAGZ,cAEJ,MAAO,CAAC,KAAM,MAAK,kBAAkB,OAAO,KAAK,cAAc,IAC3D,GAAM,EAAC,KAAM,EAAE,aAAc,OAAQ,EAAE,kBAGvC,YAAW,GACf,EAAe,KAAM,MAAK,kBAAkB,GAC5C,KAAM,GAAY,GAClB,KAAK,cAAgB,EAAa,IAC9B,GAAM,EAAC,aAAc,EAAE,KAAM,SAAU,EAAE,OAAO,SAAS,MAG/D,YACE,MAAO,CACL,aAAgB,KAAK,aACrB,SAAY,KAAK,SACjB,YAAe,KAAK,mBAKjB,YACH,EAAiC,GACnC,MAAO,IAAI,GACP,EAAO,aAAiB,EAAO,SAAa,EAAO,cA3FlD,GAAA,UAAY,WA8FrB,GAAc,IC/Hd,gBAgCsC,IASpC,YACc,EAAgC,EAAQ,GACxC,EAAW,EAAe,EAAkB,KACtD,EAAW,IACb,QAOA,GAVY,KAAA,aAAA,EAAgC,KAAA,MAAA,EAChC,KAAA,SAAA,EAA0B,KAAA,QAAA,EANhC,KAAA,uBAA8C,GAC9C,KAAA,mBAA0C,GAC1C,KAAA,qBAA4C,GAQlD,KAAK,SAAW,EAEhB,AAAI,GAAW,MACb,MAAK,QAAU,EAAO,QAAQ,WAE5B,GAAgB,KAClB,KAAM,IAAI,OAAM,sDAIpB,eAAe,GACb,KAAM,GAAgB,MAAM,QAAQ,GAChC,EAAkB,IAAI,GAAQ,EAAK,MACnC,OAAO,KAAK,GAEhB,EAAc,QAAQ,CAAC,EAAM,KAC3B,KAAM,GAAQ,EAAO,oBAAoB,GACnC,EAAY,GAClB,AAAI,KAAK,uBAAuB,IAAM,MACpC,MAAK,uBAAuB,GAAK,CAC/B,aAAc,GAAG,QACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAGnD,AAAI,KAAK,mBAAmB,IAAM,MAChC,MAAK,mBAAmB,GAAK,CAC3B,aAAc,GAAG,aACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAGnD,AAAI,KAAK,qBAAqB,IAAM,MAAQ,KAAK,UAC/C,MAAK,qBAAqB,GAAK,CAC7B,aAAc,GAAG,OACjB,SAAU,EAAK,IAAM,EAAU,GAAO,SAAS,MAInD,KAAM,GAAW,MAAM,QAAQ,GAC3B,EAAkB,GAAG,OACrB,EAAkB,GACtB,GAAI,GAAY,KACd,OAGF,KAAM,GAAwB,KAAK,uBAAuB,GAAG,SACvD,EAAqB,KAAK,mBAAmB,GAAG,SACtD,EAAK,KACH,KAAM,GACF,EAAI,EAAI,EAAuB,KAAK,OAChC,EAAI,EAAO,GAAW,EAAI,KAAK,QAEvC,GAAI,KAAK,UACP,KAAM,GAAsB,KAAK,qBAAqB,GAAG,SAEnD,EACF,EAAI,EAAI,EAAqB,KAAK,OAC9B,EAAI,EAAU,EAAI,KAAK,QAEzB,EACF,EAAI,EAAI,EAAU,KAAK,cACnB,GACI,EAAI,EACA,EAAI,EAAO,GAAyB,KAAK,YACnD,EACF,EAAI,EAAI,EAAoB,KAAK,UAAW,GAEhD,EAAsB,OAAO,GAC7B,EAAoB,OAAO,GAC3B,EAAmB,OAAO,GAE1B,KAAM,GAAW,EAAI,EAAO,GAC5B,EAAM,OAAO,QAGb,KAAM,GACF,EAAI,EAAI,EAAuB,KAAK,OAChC,EAAI,EAAO,GAAW,EAAI,KAAK,QAEjC,EACF,EAAI,EAAI,EAAoB,KAAK,UAC7B,EAAI,EAAI,EAAU,KAAK,cACnB,GAAK,EAAI,EAA0B,KAAK,YAEpD,EAAsB,OAAO,GAC7B,EAAmB,OAAO,GAE1B,KAAM,GAAW,EAAI,EAAO,GAC5B,EAAM,OAAO,QAInB,KAAK,sBAGP,UACE,AAAI,KAAK,wBAA0B,MACjC,GAAQ,KAAK,uBAAuB,IAAI,GAAK,EAAE,WAEjD,AAAI,KAAK,sBAAwB,MAAQ,KAAK,UAC5C,GAAQ,KAAK,qBAAqB,IAAI,GAAK,EAAE,WAE/C,AAAI,KAAK,oBAAsB,MAC7B,GAAQ,KAAK,mBAAmB,IAAI,GAAK,EAAE,gBAIzC,cAEJ,KAAM,GACF,CAAC,GAAG,KAAK,uBAAwB,GAAG,KAAK,oBAC7C,MAAI,MAAK,UACP,EAAU,KAAK,GAAG,KAAK,sBAElB,CAAC,KAAM,MAAK,kBAAkB,OACjC,EAAU,IAAI,GAAM,EAAC,KAAM,EAAE,aAAc,OAAQ,EAAE,kBAGrD,YAAW,GACf,EAAe,KAAM,MAAK,kBAAkB,GAC5C,KAAM,GACF,KAAK,SAAW,EAAa,OAAS,EAAI,EAAa,OAAS,EAC9D,EAAY,GAClB,KAAK,uBACD,EAAa,MAAM,EAAG,GAAe,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SACf,MAEnD,KAAK,mBACD,EAAa,MAAM,EAAe,EAAgB,GAC7C,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SAAS,MAE3C,AAAI,KAAK,UACP,MAAK,qBACD,EAAa,MAAM,EAAgB,EAAG,EAAgB,GACjD,IAAI,GAAM,EACJ,aAAc,EAAE,KAChB,SAAU,EAAE,OAAO,SAAS,OAK/C,YACE,MAAO,CACL,aAAgB,KAAK,aACrB,MAAS,KAAK,MACd,SAAY,KAAK,SACjB,QAAW,KAAK,QAChB,SAAY,KAAK,gBAKd,YACH,EAAiC,GACnC,MAAO,IAAI,GACP,EAAO,aAAiB,EAAO,MAAU,EAAO,SAChD,EAAO,QAAY,EAAO,WA5KzB,GAAA,UAAY,UA+KrB,GAAc,ICjNd,eAgES,KAAI,GACT,MAAO,IAAI,IAAa,SAmBnB,UAAS,EAAsB,EAAkB,EAAc,IAEpE,MAAO,IAAI,IAAkB,EAAc,EAAU,SAwBhD,SACH,EAAsB,EAAQ,GAAI,EAAW,EAAK,EAAkB,KACpE,EAAW,IACb,MAAO,IAAI,IACP,EAAc,EAAO,EAAU,EAAS,SAgBvC,MACH,EAAe,KAAO,EAAQ,GAAK,EAAQ,KAC3C,EAAkB,MACpB,MAAO,IAAI,IAAc,EAAc,EAAO,EAAO,SAgBhD,UAAS,EAAe,KAAM,EAAM,IAAK,EAAkB,MAEhE,MAAO,IAAI,IAAkB,EAAc,EAAK,SAiB3C,QACH,EAAe,KAAO,EAAQ,GAAK,EAAQ,KAAO,EAAkB,KACpE,EAAQ,GACV,MAAO,IAAI,IAAgB,EAAc,EAAO,EAAO,EAAS,SAoB3D,SAAQ,EAAsB,EAA0B,IAE7D,MAAO,IAAI,IAAiB,EAAc,ICjM9C,AA4BA,AAAC,GAAmB,GAAc,GAAmB,GACpD,GAAkB,GAAiB,GAE7B,KAAM,IAAQ,CACnB,IAAK,GAAsB,IAC3B,SAAU,GAAsB,SAChC,SAAU,GAAsB,SAChC,QAAS,GAAsB,QAC/B,QAAS,GAAsB,QAC/B,OAAQ,GAAsB,OAC9B,KAAM,GAAsB,MCtC9B,AAiBA,KAAM,IAA2B,KAC3B,MAAO,wBAA0B,YAC5B,sBACE,MAAO,eAAiB,YAC1B,aAEF,AAAC,GAAgB,OAY1B,cACE,MAAO,IAAI,SAAc,GAAW,GAAc,IAAM,MCpC1D,AAkBM,YACF,EAAiC,EACjC,GACF,KAAM,GACF,EAAc,OAAO,IAAW,SAAW,EAAS,EAAO,IACzD,EACF,EAAe,OAAO,IAAW,SAAW,EAAS,EAAO,IAChE,MAAO,CAAC,EAAS,GCzBnB,AAyBM,YACF,EAAsB,EAAsB,EAC5C,EAAe,IACjB,GAAI,GAAqB,GACzB,GAAI,EACF,EAAW,EAAS,OAAO,EAAW,MAAM,IAC5C,EAAS,KAAK,EAAW,GAAK,GAC9B,EAAW,EAAS,OAAO,EAAW,MAAM,SAE5C,EAAW,EAAS,OAAO,EAAW,IACtC,KAAM,GAAgB,EAAW,OACjC,OAAS,GAAI,EAAG,EAAI,EAAe,EAAE,EACnC,EACI,EAAS,OAAO,CAAC,EAAW,EAAI,GAAK,EAAW,GAAI,EAAW,KAErE,EAAW,EAAS,OAAO,EAAW,MAAM,EAAgB,IAE9D,MAAO,GAYH,YACF,EAAsB,EACtB,EAAe,IACjB,KAAM,GAAW,GACjB,GAAI,GACF,EAAS,KAAK,GACd,OAAS,GAAI,EAAiB,EAAG,EAAI,EAAc,EAAE,EACnD,AAAI,GAAK,EAAI,EACX,GAAS,KAAK,GACd,EAAS,KAAK,EAAK,GAAiB,KAEpC,EAAS,KAAK,QAIlB,KAAM,GAAsB,GACtB,EAAqB,GAC3B,OAAS,GAAI,EAAG,EAAI,EAAc,EAAE,EAClC,AAAI,GAAK,EAAiB,EAAI,GAAK,EAAI,IAAM,EAC3C,EAAmB,KAAK,GAExB,EAAoB,KAAK,GAG7B,EAAS,KAAK,GAAG,GACjB,EAAS,KAAK,GACd,EAAS,KAAK,GAAG,GAEnB,MAAO,GAYH,YACF,EAAsB,EAAsB,EAC5C,EAAe,IACjB,KAAM,GAAmB,GAEzB,AAAI,EACF,EAAiB,KAAK,EAAW,GAAK,GAEtC,EAAiB,KAAK,EAAW,GAAK,GAGxC,OAAS,GAAI,EAAG,EAAI,EAAW,OAAQ,EAAE,EACvC,AAAI,GAAK,EAAW,OAClB,AAAI,EACF,EAAiB,KAAK,EAAW,EAAI,GAAK,EAAW,IAErD,EAAiB,KAAK,EAAW,GAAK,EAAW,EAAI,IAGvD,EAAiB,KAAK,EAAW,IAIrC,MAAO,GAOH,YACF,EAAmB,GACrB,KAAM,GAAmB,CAAC,GAC1B,OAAS,GAAI,EAAG,EAAI,EAAY,EAAE,EAChC,EAAiB,KAAK,EAAM,GAAG,IAEjC,MAAO,GAcH,YACF,EAA0B,EAAmB,GAC/C,KAAM,GAAY,EAAe,MAAM,EAAG,GAC1C,OAAS,GAAI,EAAG,EAAI,EAAY,EAAE,EAChC,EAAU,KAAK,EAAe,EAAI,GAAK,EAAM,GAAG,GAAK,EAAM,GAAG,IAGhE,MAAO,GCvJT,AAiBO,KAAM,IAAkB,mBAClB,GAAa,mBClB1B,AAiBO,KAAM,IAAQ,SACR,GAAS,WACT,GAAS,YACT,GAAS,YACT,GAAS,aACT,GAAS,YCtBtB,AAmBM,eAAkB,GACtB,AAAK,KAAM,QAAQ,YACjB,QAAQ,KAAK,GAAG,GAId,eAAiB,GACrB,AAAK,KAAM,QAAQ,YACjB,QAAQ,IAAI,GAAG,GC3BnB,AAgCM,YACF,EAAoB,GACtB,GAAI,EAAK,SAAW,EAAK,OACvB,KAAM,IAAI,OACN,gEACG,EAAK,iBAAiB,EAAK,WAEpC,KAAM,GAAS,GAAI,cAAa,EAAK,OAAS,GAC9C,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,GAAK,EACtC,EAAO,GAAK,EAAK,EAAI,GACrB,EAAO,EAAI,GAAK,EAAK,EAAI,GAE3B,MAAO,GAiBH,YAAiC,GAErC,KAAM,GAAO,GAAI,cAAa,EAAQ,OAAS,GACzC,EAAO,GAAI,cAAa,EAAQ,OAAS,GAC/C,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,GAAK,EACvC,EAAK,EAAI,GAAK,EAAQ,GACtB,EAAK,EAAI,GAAK,EAAQ,EAAI,GAE5B,MAAO,CAAC,OAAM,QAOV,YAA+B,GAEnC,KAAM,GAAM,KAAK,KAAK,EAAQ,OAAS,GACjC,EAAO,GAAI,cAAa,GACxB,EAAO,GAAI,cAAa,GAC9B,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,GAAK,EACvC,EAAK,KAAK,MAAM,EAAI,IAAM,EAAQ,GAClC,EAAK,KAAK,MAAM,EAAI,IAAM,EAAQ,EAAI,GAExC,MAAO,CAAC,OAAM,QAOV,YAA8B,GAElC,KAAM,GAAM,KAAK,MAAM,EAAQ,OAAS,GAClC,EAAO,GAAI,cAAa,GACxB,EAAO,GAAI,cAAa,GAC9B,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,GAAK,EACvC,EAAK,KAAK,MAAM,EAAI,IAAM,EAAQ,GAClC,EAAK,KAAK,MAAM,EAAI,IAAM,EAAQ,EAAI,GAExC,MAAO,CAAC,OAAM,QAQV,YACF,EAAuB,GACzB,KAAM,GAAO,EAAQ,EAAQ,GACvB,EAAO,EAAQ,EAAQ,EAAI,GACjC,MAAO,CAAC,OAAM,QASV,YACF,EAAkB,EAAc,EAAc,GAChD,EAAK,EAAQ,GAAK,EAClB,EAAK,EAAQ,EAAI,GAAK,EAMlB,YACF,EAAW,GACb,KAAM,GAAO,GAAI,cAAa,EAAI,GAC5B,EAAO,GAAI,cAAa,EAAI,GAClC,OAAS,GAAI,EAAG,EAAI,KAAK,KAAK,EAAI,GAAI,KACpC,KAAM,GAAK,GAAU,EAAI,IAAM,KAAK,GAAM,GAAI,GAC9C,EAAK,GAAK,KAAK,IAAI,GACnB,EAAK,GAAK,KAAK,IAAI,GAErB,MAAO,CAAC,OAAM,QAMV,YACF,EAAW,EAAW,GACxB,KAAM,GAAK,GAAU,EAAI,IAAM,KAAK,GAAM,GAAI,GACxC,EAAO,KAAK,IAAI,GAChB,EAAO,KAAK,IAAI,GACtB,MAAO,CAAC,OAAM,QCvJhB,g9CAsDM,YACF,EAAM,EAAiB,GACzB,GAAI,IAAU,aACZ,GAAI,EAAE,QAAU,YACd,MAAO,GAAE,QAEX,KAAM,GAAc,GAAM,EAAE,OACtB,EAAS,EAAK,EAAG,WACjB,EAAS,EAAQ,QAAQ,EAAQ,GACvC,SAAY,UACZ,EAAO,UACA,EAGT,GAAI,CAAC,GAAgB,EAAE,MAAO,GAG5B,MAAO,GAAO,qBAAqB,EAAE,OAAQ,EAAE,MAAO,GAExD,GAAI,EAAE,QAAU,aACd,KAAM,GAAO,EAAQ,KAAK,GACpB,EAAS,EAAK,EAAM,GAC1B,SAAK,UACE,EAET,GAAI,IAAU,QACZ,MAAO,GAAQ,IAAI,GACd,GAAI,IAAU,QACnB,KAAM,GAAO,EAAO,EAAG,EAAE,OACnB,EAAS,EAAQ,SAAS,EAAG,GACnC,SAAK,UACE,MAEP,MAAM,IAAI,OAAM,iCAAiC,EAAE,YAAY,KAI7D,YACF,EAAM,GACR,MAAO,GAAO,qBAAqB,EAAE,OAAQ,EAAO,EAAE,OAGlD,YAAuB,EAAe,EAAc,GACxD,KAAM,GAAQ,GAAO,GAAU,GAAM,GAE/B,EAAS,GAAoB,EAAK,WACxC,EAAO,GAAK,EACZ,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,EAAO,GAAK,EAAO,EAAI,GAAK,EAG9B,MAAO,IAAS,EAAQ,WCzG1B,AAwBM,YACF,EAAM,EAAsB,GAC9B,KAAM,GAAQ,GAAI,OAAM,EAAE,MAAM,KAAK,GAC/B,EAAO,EAAE,MAAM,QACrB,MAAO,GAAW,IAAI,IACpB,KAAM,GAAY,CAAC,GAAG,GACtB,EAAU,GAAQ,EAClB,KAAM,GAAS,EAAM,EAAG,EAAO,GAC/B,SAAM,IAAS,EACR,ICjCX,AA0BM,YACF,EAAiC,GACnC,KAAM,GAAqB,GAAI,OAAM,EAAK,MAC1C,OAAS,GAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,EAAS,GAAK,EAAK,MAAM,GAAK,EAAK,GAErC,KAAM,GAAS,GAAO,EAAU,EAAK,OACrC,OAAS,GAAI,EAAG,EAAI,EAAO,OAAO,OAAQ,EAAE,GAC1C,KAAM,GAAS,EAAO,WAAW,GAE3B,EAAwB,GAAI,OAAM,EAAK,MAC7C,OAAS,GAAI,EAAG,EAAI,EAAY,OAAQ,IACtC,EAAY,GAAK,EAAO,GAAK,EAAK,MAAM,GAG1C,KAAM,GAAgB,EAAK,WAAW,GAEtC,EAAO,OAAO,GAAK,EAAK,OAAO,GAEjC,MAAO,GAAO,WC7ChB,AAwBM,YACF,EAAe,EAAkB,EAAyB,EAC1D,GAEF,KAAM,GAAU,EAAO,EAAO,OAAS,GACjC,CAAC,EAAO,GAAQ,CAAC,EAAE,OAAS,EAAS,GACrC,EAAc,GAAuB,EAAQ,EAAQ,GACrD,EAAiB,GAAuB,QAAS,EAAQ,GAE/D,OAAS,GAAI,EAAG,EAAI,EAAO,KACzB,KAAM,GAAS,EAAI,EACb,EAAO,EAAE,SAAS,EAAQ,EAAS,GACnC,EAAmD,GACzD,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,EAAU,KAAK,CAAC,MAAO,EAAK,GAAI,MAAO,IAEzC,EAAU,KAAK,CAAC,EAAG,IAAM,EAAE,MAAQ,EAAE,OAErC,KAAM,GAAY,EAAI,EAChB,EAAW,EAAY,SAAS,EAAW,EAAY,GACvD,EAAc,EAAe,SAAS,EAAW,EAAY,GACnE,OAAS,GAAI,EAAG,EAAI,EAAG,IACrB,EAAS,GAAK,EAAU,GAAG,MAC3B,EAAY,GAAK,EAAU,GAAG,MAKlC,KAAM,GAAc,EAAO,QAC3B,SAAY,EAAY,OAAS,GAAK,EAC/B,CACL,GAAO,EAAa,EAAa,GACjC,GAAO,EAAgB,EAAa,UCxDxC,4KCAA,AAsBO,KAAM,IAAkB,KAClB,GAAkB,KAvB/B,SAiDE,YAAoB,EAAgC,GAAhC,KAAA,QAAA,EAAgC,KAAA,UAAA,EAH5C,KAAA,KAAO,GAAI,WACX,KAAA,aAAe,EAIvB,IAAI,GACF,MAAK,MAAK,KAAK,IAAI,IACjB,KAAK,UAAU,SAAS,KAAK,QAAS,GAEjC,KAAK,KAAK,IAAI,GAGvB,IAAI,EAAgB,GAClB,KAAK,eACL,KAAK,KAAK,IAAI,EAAQ,GAGxB,IAAI,GACF,MAAO,MAAK,KAAK,IAAI,GAGvB,OAAO,GACL,YAAK,eACE,KAAK,KAAK,OAAO,GAG1B,aACE,MAAO,MAAK,cAzEhB,SAiGE,KAAK,GACH,MAAO,GAAkB,QAE3B,KAAK,GACH,MAAO,GAAkB,QAE3B,SAAS,GACP,MAAO,GAAkB,YAE3B,aACE,MAAO,GAAkB,cAE3B,YAAY,GACV,MAAO,GAAkB,eAE3B,MAAM,EAAuB,EAAiB,GAC5C,MAAO,GAAkB,SAE3B,KAAK,EAAgB,EAAuB,EAAiB,GAE3D,MAAO,GAAkB,QAE3B,SACE,MAAO,GAAkB,UAG3B,iBACE,MAAO,GAAkB,kBAG3B,UACE,MAAO,MAAK,mBAAqB,GAAK,GAAkB,GAG1D,YACI,EAAa,EAAa,EAC1B,GACF,MAAO,GAAkB,eAG3B,iBACI,CAAC,IAAG,IAAG,aAAY,aAAY,OAAM,aAAY,2BAEnD,MAAO,GAAkB,oBAG3B,MAAwB,EAAM,EAAiB,GAC7C,MAAO,GAAkB,SAE3B,aACI,EAAM,EAAiB,EAAe,GACxC,MAAO,GAAkB,gBAE3B,QAAQ,EAAW,GACjB,MAAO,GAAkB,WAE3B,QAA0B,EAAM,GAC9B,MAAO,GAAkB,WAG3B,OAAO,EAAmB,GACxB,MAAO,GAAkB,UAG3B,IAAsB,GACpB,MAAO,GAAkB,OAG3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,SAAS,EAAW,GAClB,MAAO,GAAkB,YAE3B,SAAS,EAAW,GAClB,MAAO,GAAkB,YAE3B,WAAW,EAAW,GACpB,MAAO,GAAkB,cAE3B,SAAS,EAAW,GAClB,MAAO,GAAkB,YAG3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAE3B,KAAK,EAAW,GACd,MAAO,GAAkB,QAG3B,mBACI,EAAM,EAAsB,GAC9B,MAAO,GAAkB,sBAG3B,OAAO,EAAW,GAChB,MAAO,GAAkB,UAE3B,OAAO,EAAW,GAChB,MAAO,GAAkB,UAG3B,MAAM,EAAW,GACf,MAAO,GAAkB,SAE3B,SAAS,EAAW,GAClB,MAAO,GAAkB,YAG3B,KAAK,EAAW,GACd,MAAO,GAAkB,QAE3B,UAAU,EAAW,GACnB,MAAO,GAAkB,aAG3B,QAAQ,EAAW,GACjB,MAAO,GAAkB,WAE3B,aAAa,EAAW,GACtB,MAAO,GAAkB,gBAG3B,WAA6B,GAC3B,MAAO,GAAkB,cAE3B,WAAW,EAAW,GACpB,MAAO,GAAkB,cAE3B,UAAU,EAAW,GACnB,MAAO,GAAkB,aAG3B,MAAM,GACJ,MAAO,GAAkB,SAE3B,OAAO,EAAmB,EAAW,GACnC,MAAO,GAAkB,UAG3B,KAAuB,EAAM,EAAW,GACtC,MAAO,GAAkB,QAG3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAE3B,QAAQ,EAAW,GACjB,MAAO,GAAkB,WAG3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAG3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAE3B,QAAQ,EAAW,GACjB,MAAO,GAAkB,WAG3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAE3B,IAAI,EAAW,GACb,MAAO,GAAkB,OAG3B,kBAAkB,EAAW,GAC3B,MAAO,GAAkB,qBAG3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,MAAwB,GACtB,MAAO,GAAkB,SAG3B,KAAuB,GACrB,MAAO,GAAkB,QAG3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,SAA2B,GACzB,MAAO,GAAkB,YAG3B,IAAsB,EAAM,GAC1B,MAAO,GAAkB,OAE3B,IAAsB,GACpB,MAAO,GAAkB,OAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,QAA0B,EAAM,GAC9B,MAAO,GAAkB,WAE3B,IAAsB,GACpB,MAAO,GAAkB,OAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,OAAyB,GACvB,MAAO,GAAkB,UAE3B,WAA6B,GAC3B,MAAO,GAAkB,cAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,MAAwB,EAAM,GAC5B,MAAO,GAAkB,SAE3B,IAAsB,GACpB,MAAO,GAAkB,OAE3B,OAAyB,EAAO,GAC9B,MAAO,GAAkB,UAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,IAAsB,GACpB,MAAO,GAAkB,OAG3B,KAAuB,EAAM,EAAa,GACxC,MAAO,GAAkB,QAG3B,IAAsB,GACpB,MAAO,GAAkB,OAE3B,WAA6B,GAC3B,MAAO,GAAkB,cAG3B,QAA0B,GACxB,MAAO,GAAkB,WAG3B,SAA2B,GACzB,MAAO,GAAkB,YAG3B,IAAsB,GACpB,MAAO,GAAkB,OAE3B,IAAsB,GACpB,MAAO,GAAkB,OAE3B,IAAsB,GACpB,MAAO,GAAkB,OAG3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,MAAwB,EAAM,GAC5B,MAAO,GAAkB,SAG3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,KAAuB,GACrB,MAAO,GAAkB,QAG3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,MAAwB,GACtB,MAAO,GAAkB,SAE3B,MAAwB,GACtB,MAAO,GAAkB,SAG3B,IAAsB,GACpB,MAAO,GAAkB,OAG3B,KAAuB,EAAM,GAC3B,MAAO,GAAkB,QAG3B,YACI,CAAC,QAAO,SAAQ,WAAU,OAAM,aAAY,2BAE9C,MAAO,GAAkB,eAG3B,OAAO,EAAa,EAAkB,GACpC,MAAO,GAAkB,UAE3B,eAAe,EAAc,EAAkB,GAE7C,MAAO,GAAkB,kBAE3B,gBAAgB,EAAa,EAAc,GACzC,MAAO,GAAkB,mBAG3B,qBACI,CAAC,QAAO,SAAQ,WAAU,OAAM,aAAY,2BAE9C,MAAO,GAAkB,wBAG3B,gBAAgB,EAAiB,EAAkB,GAEjD,MAAO,GAAkB,mBAE3B,wBAAwB,EAAc,EAAkB,GAEtD,MAAO,GAAkB,2BAE3B,yBAAyB,EAAa,EAAc,GAElD,MAAO,GAAkB,4BAE3B,OAAO,EAAa,EAAkB,GACpC,MAAO,GAAkB,UAE3B,eAAe,EAAc,EAAkB,GAE7C,MAAO,GAAkB,kBAE3B,gBAAgB,EAAa,EAAc,GACzC,MAAO,GAAkB,mBAE3B,QAAQ,EAAa,GACnB,MAAO,GAAkB,WAE3B,gBAAgB,EAAc,EAAa,EAAa,GAEtD,MAAO,GAAkB,mBAE3B,QAAQ,EAAa,GACnB,MAAO,GAAkB,WAE3B,gBAAgB,EAAc,EAAa,GACzC,MAAO,GAAkB,mBAE3B,UAAU,EAAa,GACrB,MAAO,GAAkB,aAE3B,kBAAkB,EAAc,EAAa,GAC3C,MAAO,GAAkB,qBAE3B,UAAU,EAAa,GACrB,MAAO,GAAkB,aAE3B,kBACI,EAAc,EAAa,EAAa,GAC1C,MAAO,GAAkB,qBAG3B,QAA0C,EAAM,GAE9C,MAAO,GAAkB,WAE3B,KAAuB,EAAM,GAC3B,MAAO,GAAkB,QAG3B,KAAuB,EAAM,GAC3B,MAAO,GAAkB,QAG3B,IACI,EAAM,EAAmC,GAC3C,MAAO,GAAkB,OAG3B,UAA4B,EAAM,GAChC,MAAO,GAAkB,aAG3B,OAAyB,EAAM,EAAmB,GAChD,MAAO,GAAkB,UAG3B,SAAS,EAAW,GAClB,MAAO,GAAkB,YAG3B,UACI,EAAiB,EAAiB,GACpC,MAAO,GAAkB,aAG3B,eACI,EAAM,EAAsB,GAC9B,MAAO,GAAkB,kBAG3B,eACI,EAAM,EAAsB,GAC9B,MAAO,GAAkB,kBAG3B,eACI,EAAa,EAAmB,EAChC,GACF,MAAO,GAAkB,kBAG3B,uBAAuB,EAAc,EAAa,GAEhD,MAAO,GAAkB,0BAG3B,sBACI,EAAa,EAAmB,EAChC,GACF,MAAO,GAAkB,yBAG3B,8BACI,EAAc,EAAa,GAC7B,MAAO,GAAkB,iCAG3B,UACI,EAAa,EAAyB,EACtC,EAA4B,EAC5B,GACF,MAAO,GAAkB,aAG3B,6BACI,EAAa,EAAgB,EAAc,EAC3C,GACF,MAAO,GAAkB,gCAG3B,QACI,EAAc,EAAsB,EAAuB,EAC3D,EAAc,EAAe,GAC/B,MAAO,GAAkB,WAG3B,YACI,EAAkB,EAAqB,EACvC,GACF,MAAO,GAAkB,eAG3B,OAAO,EAAmB,EAAe,EAAiB,GAExD,MAAO,GAAkB,UAG3B,OAAO,EAAW,EAAc,EAAoB,GAElD,MAAO,GAAkB,UAG3B,kBACI,EAAiB,EAAkB,EACnC,EAAsB,GACxB,MAAO,GAAkB,qBAG3B,IAAI,GACF,MAAO,GAAkB,OAE3B,KAAK,GACH,MAAO,GAAkB,QAE3B,QAA0B,EAAS,GACjC,MAAO,GAAkB,WAE3B,KAAuB,GACrB,MAAO,GAAkB,QAE3B,KAAuB,GACrB,MAAO,GAAkB,QAG3B,cACI,EAAiB,EAAiB,EAClC,EAA4B,EAC5B,GACF,MAAO,GAAkB,iBAG3B,aAAa,EAAa,EAAmB,GAC3C,MAAO,GAAkB,gBAI3B,MAAwB,EAAU,EAAsB,GACtD,MAAO,GAAkB,SAG3B,cACI,EAAuB,EAAsB,EAC7C,GACF,MAAO,GAAkB,iBAG3B,KAAK,GACH,MAAO,GAAkB,QAG3B,KACI,EAAoB,EAAsB,GAC5C,MAAO,GAAkB,QAG3B,SAAyB,GACvB,MAAO,GAAkB,YAG3B,UAA0B,GACxB,MAAO,GAAkB,aAG3B,SAAS,EAAe,EAAc,GACpC,MAAO,GAAkB,YAG3B,UACE,MAAO,GAAkB,YAI7B,WAA2B,GACzB,KAAM,IAAI,OACN,IAAI,6FCzpBV,AAwBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,GAAK,EAAK,EAAG,WAAY,QC7BtD,AA4BO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CACL,EAAG,KACD,KAAM,GAAI,EAAO,EAAK,EAAG,YACnB,EAAI,GAAK,EAAI,EAAO,GAAI,IAC9B,MAAO,IAAI,EAAI,EAAI,QCtC3B,AA0BO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CACL,EAAG,KACD,KAAM,GAAI,GAAK,EAAI,EAAO,EAAK,EAAG,YAAa,IAC/C,MAAO,GAAI,EAAI,OCnCvB,AAuBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EACF,AAAe,EAA2B,EAAE,MAAO,EAAE,OAEnD,EAAO,KACX,GAAI,GAAM,EACV,KAAM,GAAa,AAAe,GAAiB,EAAE,MAAO,GAC5D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAE,QAElB,EAAO,KACX,GAAI,GAAM,EACV,KAAM,GAAa,AAAe,GAAiB,EAAE,MAAO,GAC5D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAE,QAGxB,MAAO,CAAC,EAAG,EAAM,EAAG,KChDxB,AAqBO,KAAM,IAA6B,CACxC,WAAY,GACZ,cAAe,GACf,SAAU,CAAC,EAAY,KACrB,KAAM,GAAsC,GAC5C,SAAM,QAAQ,CAAC,EAAG,KAChB,EAAK,GAAK,IAAM,EAAG,UAEd,IC7BX,AAsBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAU,MC3B/B,AAsBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAU,MC3B/B,AA2BO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,GAAK,EAAI,EAAO,GAAI,EAAO,EAAK,EAAG,kBChChE,AA2BO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CACL,EAAG,KACD,KAAM,GAAI,GAAK,EAAI,EAAO,GAAI,EAAO,EAAK,EAAG,cAC7C,MAAO,GAAI,EAAI,OCpCvB,AA6BO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAW,EAA2B,EAAE,MAAO,EAAE,OAEjD,EAAO,KACX,KAAM,GAAI,EAAI,EAAO,GAAI,EAAO,IAChC,GAAI,GAAM,EAAI,EAAI,EAAI,EAAG,IACzB,KAAM,GAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAE,QAElB,EAAO,KACX,KAAM,GAAI,EAAI,EAAO,GAAI,EAAO,IAChC,GAAI,GAAM,GAAI,EAAI,EAAI,EAAI,EAAG,KAC7B,KAAM,GAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAE,QAExB,MAAO,CAAC,EAAG,EAAM,EAAG,KCtDxB,AAyBO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,EAAO,EAAK,EAAG,YAAa,OC/B7D,AA0BO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,EAAO,GAAI,EAAO,EAAK,EAAG,iBC/B3D,AA2DA,YACI,EAAkB,EAClB,EACA,EACA,EAA6C,CAAC,EAAG,EAAG,GACpD,EAA4B,GAC9B,KAAM,GAAM,EAAgB,EAAI,KAAM,qBAChC,EAAS,EAAgB,EAAO,QAAS,qBAE/C,GAAI,GAAO,EACP,EAAU,EACV,EAAe,GAEnB,AAAI,EAAO,OAAS,GAClB,GAAe,GACf,EAAO,EACH,EAAK,CAAC,EAAG,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KACjE,EAAU,EAAQ,EAAQ,CACxB,EAAG,EAAO,MAAM,GAAI,EAAO,MAAM,GAAI,EAAO,MAAM,GAAI,EAAO,MAAM,MAIvE,AAAK,EACD,EAAK,OAAS,EACd,IAAM,8DACC,EAAK,SAChB,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,iEACC,EAAQ,SAEnB,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,kFACwB,oBAA0B,MAE5D,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,kFACwB,iBAA+B,MAGnE,KAAM,GAA+B,IACnC,KAAM,GAAW,AAAU,GACvB,EAAQ,MAAO,EAAY,EAAS,EAAW,EAAK,GAExD,MAAO,GAAQ,kBAAkB,EAAM,EAAS,IAG5C,EAAkC,CAAC,GAAI,EAAM,MAAO,GAEpD,EACF,CAAC,aAAY,UAAS,YAAW,MAAK,mBAEpC,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAmB,GAEvB,MAAI,GACK,EACI,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAIhE,EAGF,KAAM,IAAoB,EAAG,CAAC,wBChIrC,AAsBO,KAAM,IAAkC,CAC7C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,aAAY,UAAS,YAAW,MAAK,mBACxC,EAEE,EACF,GAAa,KAAO,CAAC,EAAG,EAAG,GAAiC,EAEhE,MAAO,CACL,EAAG,IAAM,GACL,EAAgB,EAAG,EAAY,EAAS,EAAY,EACpD,MCpCV,AA8CA,YACI,EAAkB,EAAqB,EACvC,EAAkC,GACpC,KAAM,GAAM,EAAgB,EAAI,KAAM,mBAChC,EAAS,EAAgB,EAAO,QAAS,mBAE/C,AAAK,EACD,EAAO,OAAS,EAAI,KACpB,IAAM,kBAAkB,EAAO,oCAC3B,EAAI,SAEZ,GAAI,GAAU,EACV,EAAO,EACP,EAAe,GAEnB,AAAI,EAAO,OAAS,GAClB,GAAe,GACf,EACI,EAAQ,EAAQ,CAAC,EAAG,EAAO,MAAM,GAAI,EAAO,MAAM,GAAI,EAAO,MAAM,KACvE,EAAO,EAAQ,EAAK,CAAC,EAAG,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,MAGhE,AAAK,EACD,EAAK,OAAS,EACd,IAAM,4DACC,EAAK,SAChB,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,+DACC,EAAQ,SAEnB,KAAM,GAA+B,IACnC,KAAM,GAAW,AAAU,GACvB,EAAQ,MAAO,EAAY,EAAS,EAAmB,GAE3D,MAAO,GAAQ,gBAAgB,EAAM,EAAS,IAG1C,EAAgC,CAAC,GAAI,EAAM,MAAO,GAElD,EAA8B,CAAC,aAAY,UAAS,OAEpD,EAAM,EAAO,cACf,EAAS,EAAgC,KAAM,GAC/C,GAEJ,MAAI,GACK,EAAQ,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAEtD,EAGF,KAAM,IAAkB,EAAG,CAAC,sBClGnC,AAsBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,aAAY,UAAS,OAAO,EACnC,MAAO,CACL,EAAG,IAAM,GAAgB,EAAgB,EAAG,EAAY,EAAS,MC7BvE,AAsBO,KAAM,IAAoC,CAC/C,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,EAAG,GAAK,EAET,CAAC,aAAY,cAAc,EAEjC,MAAI,CAAC,GAAc,CAAC,EACX,CACL,EAAG,IAAM,EAAO,EAAI,EAAG,GAAO,IAC9B,EAAG,IAAM,EAAO,EAAG,EAAI,GAAM,KAEtB,CAAC,GAAc,EACjB,CACL,EAAG,IAAM,EAAO,EAAI,EAAG,GAAO,IAC9B,EAAG,IAAM,EAAO,EAAI,EAAG,GAAM,KAEtB,GAAc,CAAC,EACjB,CACL,EAAG,IAAM,EAAO,EAAG,EAAI,GAAO,IAC9B,EAAG,IAAM,EAAO,EAAG,EAAI,GAAO,KAGzB,CACL,EAAG,IAAM,EAAO,EAAG,EAAI,GAAM,IAC7B,EAAG,IAAM,EAAO,EAAI,EAAG,GAAM,OChDrC,AAsBO,KAAM,IAAuC,CAClD,WAAY,GACZ,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,aAAY,SAAS,EAC5B,MAAO,CAAC,EAAG,IAAM,GAAe,EAAI,EAAY,MC1BpD,AAsBO,KAAM,IAAoC,CAC/C,WAAY,GACZ,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,GACF,EAEE,EAAa,EAAiB,WAC9B,EAAc,EAAiB,MAE/B,EAAiB,MAAM,KAAK,GAClC,OAAS,GAAI,EAAW,OAAS,EAAG,GAAK,EAAG,IAC1C,GAAI,EAAW,KAAO,EAAY,GAChC,EAAK,GAAK,UACD,EAAW,KAAO,EAC3B,KAAM,IAAI,OAAM,mBACZ,8BAAuC,OAG/C,KAAM,GAAiB,GACvB,OAAS,GAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,AAAI,EAAK,GAAK,GACZ,EAAK,KAAK,GAId,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAM,OC/CnC,AAqBO,KAAM,IAA6B,CACxC,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAG,WCxBxB,AAsBO,KAAM,IAA6B,CACxC,WAAY,GACZ,SAAU,AAAC,GAEF,EAAC,EAAG,IAAM,EAAU,MC1B/B,AA0BO,KAAM,IAAoC,CAC/C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,eAAc,gBAAgB,EACrC,MAAO,CACL,EAAG,IAAM,GACL,GAAW,GAAa,EAAG,GAAe,GAAU,EAAG,IACvD,EAAI,EAAU,OCnCxB,AAsBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,cAAe,GACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,GAAS,EAAM,IAAI,GAAK,EAAE,OAC1B,CAAC,QAAQ,EACT,EAAQ,EAAe,EAAM,EAAM,GAAG,OAAO,GAC7C,EAAa,EAAO,IAAI,GAAK,EAAE,IAC/B,EAAa,GAAM,EAAI,EAAY,GACzC,MAAO,GAAW,IAAI,GAAK,IAAM,KC/BrC,AAwBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,IAAK,UACpB,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,EAAK,GAAW,EACjB,CAAC,YAAW,UAAS,MAAK,cAAc,EAE9C,MAAK,GACD,AAAU,GAAkB,GAC5B,IAAM,iHACoD,MAEvD,CACL,EAAG,IACC,GAAoB,EAAI,MAAO,EAAI,EAAS,EAAS,EAAK,GAC9D,OAAQ,IACJ,GAAqB,EAAK,EAAI,EAAQ,MAAO,EAAS,EAAK,MCxCrE,AAsBO,KAAM,IAA4C,CACvD,WAAY,GACZ,aAAc,CAAC,KAAM,UACrB,SAAU,CAAC,EAAe,EAAiB,KACzC,KAAM,CAAC,EAAI,GAAU,EAEf,CAAC,UAAS,MAAK,aAAY,mBAC7B,EAEJ,MAAO,CACL,GAAI,IAAM,GACN,EAAK,EAAQ,EAAS,EAAK,EAAY,EACvC,GACJ,OAAQ,IAAM,GACV,EAAK,EAAI,EAAO,MAAO,EAAS,EAAK,EAAY,MCpC3D,AA2CA,YACI,EAAM,EAAO,EACb,EAA0C,GAC5C,GAAI,GAAM,EACV,AAAI,EAAE,OAAS,GACb,GAAM,EAAQ,EAAG,CAAC,EAAG,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,MAEnE,GAAI,GAAO,EACX,AAAI,EAAK,OAAS,GAChB,GAAO,EAAQ,EAAI,CAAC,EAAG,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,GAAI,EAAG,MAAM,MAEzE,AAAK,EACD,EAAI,OAAS,EACb,IAAM,iEACC,EAAI,UACf,AAAK,EACD,EAAK,OAAS,EACd,IAAM,8DACC,EAAK,UAChB,AAAK,EACD,EAAY,SAAW,EACvB,IAAM,mEACC,MACX,AAAK,EACD,EAAI,MAAM,KAAO,EAAY,GAC7B,IAAM,4CAA4C,EAAI,MAAM,yCACxB,EAAY,OACpD,AAAK,EACD,EAAK,MAAM,KAAO,EAAY,GAC9B,IAAM,0CAA0C,EAAK,MAAM,2CACrB,EAAY,QAEtD,KAAM,GAA+B,IACnC,KAAM,GAAY,EAEZ,EAAW,AAAU,GACvB,EAAI,MAAO,EAAa,EAAS,EAAW,GAEhD,MAAO,GAAQ,gBAAgB,EAAK,EAAM,IAGtC,EAAqC,CAAC,EAAG,EAAK,EAAG,GAEjD,EAAmC,CAAC,UAAS,OAEnD,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAwB,GAG9B,KAAM,IAAuB,EAAG,CAAC,2BC7FxC,AAwBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,IAAK,UACpB,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,YAAW,UAAS,OAAO,EAClC,AAAK,EACD,GAAkB,GAClB,IACI,iHACkD,MAE1D,KAAM,CAAC,EAAK,GAAW,EAEvB,MAAO,CACL,EAAG,IAAM,GACJ,EAAiB,MAAO,EAAI,EAAqB,EAAS,GAC/D,OAAQ,IAAM,GACV,EAAiB,EAAK,EAAqB,MAAO,EAAS,MCzCrE,AAyBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,GAAI,GAAI,EAAK,EAAG,aAAc,MC/BvD,AAwBO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,GAAK,EAAK,EAAG,YAAa,MC9BnD,AAwBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,OAAM,YAAW,WAAwB,EAEhD,MAAO,CACL,EAAG,KACD,KAAM,GAAc,GAAmB,CAAC,GAAO,EAAE,MAEjD,GAAI,GAAM,GAAO,EAAI,EAAM,EAAW,CAAC,GAEvC,MAAI,IAAe,MACjB,GAAM,EAAU,EAAK,IAGhB,MCzCf,AAwBO,KAAM,IAA8C,CACzD,WAAY,GACZ,aAAc,CAAC,IAAK,UACpB,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,YAAW,UAAS,MAAK,mBAC5B,EAEE,EAAa,GAAa,KAAO,CAAC,EAAG,GAAK,EAEhD,AAAK,EACD,AAAU,GAAkB,GAC5B,IAAM,mHAEE,MAEZ,KAAM,CAAC,EAAG,GAAU,EAEpB,AAAK,EACD,EAAE,OAAS,EACX,IAAM,kFACsB,EAAE,SAClC,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,mFACsB,EAAO,SACvC,AAAK,EACD,EAAE,MAAM,KAAO,EAAO,MAAM,GAC5B,IAAM,mEACW,EAAE,MAAM,qDACR,EAAO,MAAM,OAElC,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,6FACmC,oBACjC,OAEZ,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IACI,gFACmB,iBAA+B,MAG5D,KAAM,GAAW,AAAU,GACvB,EAAE,MAAO,EAAO,MAAO,EAAS,EAChC,EAAK,EAAiB,IAE1B,MAAO,CACL,EAAG,IACC,GAAmC,EAAE,MAAO,EAAI,EAAQ,GAC5D,OAAQ,IACJ,GAAoC,EAAG,EAAI,EAAO,MAAO,MC7EnE,AAuBO,KAAM,IAAmC,CAC9C,WAAY,GACZ,aAAc,CAAC,IAAK,UACpB,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,EAAG,GAAU,EAEd,EAA6C,CAAC,IAAG,SAAQ,MACzD,EAA+C,CAAC,IAAG,SAAQ,MAEjE,MAAO,CACL,EAAG,IAAM,EAAO,UACH,GAAyB,EACzB,GACb,OAAQ,IAAM,EAAO,UACH,GACA,EAAsC,MCtC9D,AA6BO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EACF,AAAe,EAA2B,EAAE,MAAO,EAAE,OACnD,EAAO,KACX,KAAM,GAAM,EAAI,EAAI,EAAK,EAAG,YACtB,EAAa,AAAe,GAAiB,EAAE,MAAO,GAC5D,MAAI,GAAW,OAAS,EACf,EAAQ,EAAI,EAAK,GAAa,EAAE,OAElC,GAEH,EAAO,KACX,GAAI,GAAM,EAAI,EAAI,EAAK,EAAG,YAC1B,KAAM,GAAa,AAAe,GAAiB,EAAE,MAAO,GAC5D,AAAI,EAAW,OAAS,GACtB,GAAM,EAAQ,EAAI,EAAK,GAAa,EAAE,QAExC,KAAM,GAAM,EAAO,GACnB,MAAO,IAAI,EAAI,EAAK,EAAK,EAAK,cAEhC,MAAO,CAAC,EAAG,EAAM,EAAG,KCrDxB,AAsBO,KAAM,IAA4B,CACvC,WAAY,GACZ,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEN,EAA0C,AAAC,GACxC,EAAQ,OAAO,EAAI,GAGtB,EAAwB,CAAC,KAAI,KAEnC,MAAO,CACL,EAAG,IAAM,EAAO,cACZ,EAAoB,EAAgC,KACpD,OCrCV,AAyBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACN,EAAI,EAAI,GAAI,GAAI,EAAO,KAAM,EAAI,KAAK,KAAK,KAAK,KACtD,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,MC/B7B,AAsBO,KAAM,IAA4B,CACvC,WAAY,GACZ,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,MC3B7B,AAuBO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,GAAI,OC5BjC,AAsBO,KAAM,IAA8B,CACzC,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAU,MCzB/B,AA6BO,KAAM,IAAiC,CAC5C,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAW,EAA2B,EAAE,MAAO,EAAE,OAEjD,EAAO,KACX,KAAM,GAAM,EAAI,EAAI,EAAK,EAAG,YACtB,EAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,EACf,EAAQ,EAAI,EAAK,GAAa,EAAE,OAElC,GAEH,EAAO,KACX,GAAI,GAAM,EAAI,EAAI,EAAK,EAAG,YAC1B,KAAM,GAAa,GAAiB,EAAE,MAAO,GAC7C,AAAI,EAAW,OAAS,GACtB,GAAM,EAAQ,EAAI,EAAK,GAAa,EAAE,QAExC,KAAM,GAAM,EAAO,GACnB,MAAO,IAAI,EAAI,EAAK,EAAK,EAAK,cAEhC,MAAO,CAAC,EAAG,EAAM,EAAG,KCrDxB,AA8BO,KAAM,IAAuC,CAClD,WAAY,GACZ,aAAc,CAAC,IAAK,OAAQ,WAAY,SACxC,SAAU,CACN,EAAY,EAAiB,KAC/B,KAAM,CAAC,mBAAmB,EACpB,CAAC,EAAG,EAAM,EAAU,GAAS,EAE7B,EAAa,GAAS,KAAO,EAAO,GAAK,EACzC,EAAgB,GAAiB,EAAK,MAAO,EAAE,OAC/C,EAAsB,GAC5B,GAAI,EAAK,OAAS,GAChB,OAAS,GAAI,EAAG,EAAI,EAAE,MAAM,OAAS,EAAG,EAAE,EACxC,EAAU,KAAK,EAAE,MAAM,IAEzB,EAAU,KAAK,GAGjB,KAAM,GAAa,EAAI,EAAG,GACpB,EAAoB,EAAI,EAAI,GAC5B,EAAsB,GAAM,EAAI,EAAU,EAAO,KACjD,EAAiB,EACnB,EAAI,EAAI,EAAqB,GAAsB,GACnD,EAAO,MAEL,EAAO,IACP,EAAK,OAAS,EACT,EACH,EAAI,EAAI,EACA,GACI,EAAQ,EAAqB,CAAC,EAAG,EAAG,EAAG,EAAK,MAAM,KAClD,IACR,GACJ,EAAE,OAEC,EAAQ,EAAI,EAAI,EAAI,GAAsB,GAAa,EAAE,OAG9D,EAAU,KACd,GAAI,GACA,EAAI,EAAI,EAAqB,EAAO,KAAM,GAC9C,MAAI,GAAK,OAAS,GAChB,GAAU,EAAI,EAAS,IAElB,EAAQ,EAAS,EAAK,QAEzB,EAAc,KAClB,GAAI,GAAc,EAAI,EAAI,EAAgB,GAAa,GAEvD,MAAI,GAAK,OAAS,GAChB,GAAc,EAAI,EAAa,IAE1B,EAAQ,EAAa,EAAK,QAE7B,EAAW,KACf,KAAM,GAAwB,EAAI,EAAY,GAE9C,GAAI,GAAW,EAAI,EAAI,GACvB,MAAI,GAAK,OAAS,GAChB,GAAW,EAAI,EAAU,IAEpB,EAAQ,EAAU,EAAK,QAE1B,EAAY,KAChB,GAAI,GAAY,EAChB,MAAI,GAAK,OAAS,GAChB,GAAY,EAAI,EAAW,IAEtB,EAAQ,EAAW,EAAK,QAGjC,MAAO,CACL,EAAG,EACH,KAAM,EACN,SAAU,EACV,MAAO,EACP,OAAQ,KC1Gd,AA0BO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,IAAK,WACpB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,EAAG,GAAW,EACf,CAAC,QAAQ,EAET,EAAa,EAAe,EAAM,EAAE,OAAO,GAE3C,EAAO,KACX,KAAM,GAAc,EAAE,MAChB,EAAc,EAAQ,KAEtB,EAAa,EAAY,MAAM,EAAG,GAClC,EAAY,EAAW,OACvB,EAAa,EAAY,MAAM,EAAM,EAAY,QAAQ,MAAM,GAC/D,EAAY,EAAW,OAEvB,EAAmB,GAAW,EAAG,GACjC,EACF,GAAW,EAAY,EAAG,EAAY,EAAI,GAExC,EAAc,GAAY,CAAC,EAAY,CAAC,GAAc,IAEtD,EAAS,EAAQ,EAAI,GACrB,EAAkB,EAAQ,EAAS,CAAC,IAEpC,EACF,GAAY,CAAC,CAAC,GAAY,EAAkB,IAC1C,EAAkB,EAAU,EAAQ,GAC1C,GAAI,GAAa,GACb,EAAiB,EAA6B,EAAE,MAAM,IAE1D,KAAM,GAAsB,GAAuB,GACnD,SAAa,EAAU,EAAY,GAE5B,GAET,MAAO,CAAC,EAAG,EAAM,QAAS,IAAM,KAIpC,YAAoB,EAAe,GACjC,KAAM,GAAS,GACf,OAAS,GAAI,EAAO,EAAI,EAAM,EAAE,EAC9B,EAAO,KAAK,GAEd,MAAO,GAGT,YAAqB,GACnB,KAAM,GAAS,GACf,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,EAAE,EACnC,OAAS,GAAI,EAAG,EAAI,EAAO,GAAG,OAAQ,EAAE,EACtC,EAAO,KAAK,EAAO,GAAG,IAG1B,MAAO,GCnFT,AAqBO,KAAM,IAAqC,CAChD,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACf,MAAO,CAAC,EAAG,IAAM,EAAU,GAAI,EAAG,IAAM,EAAU,MC1BtD,AAsBO,KAAM,IAAiC,CAC5C,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAK,EAAI,cCzB9B,AAsBO,KAAM,IAAiC,CAC5C,WAAY,GACZ,SAAU,AAAC,GAGF,EAAC,EAAG,IAAM,EAAU,MC1B/B,AAsBO,KAAM,IAA8B,CACzC,WAAY,GACZ,SAAU,AAAC,GAGF,EAAC,EAAG,IAAM,EAAU,MC5B/B,AAsBO,KAAM,IAA8B,CACzC,WAAY,GACZ,SAAU,AAAC,GAGF,EAAC,EAAG,IAAM,EAAU,MC3B/B,AAuBO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,EAAG,OC5BpC,AAuBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAK,EAAG,eC5BrC,AAyBO,KAAM,IAAmC,CAC9C,WAAY,GACZ,aAAc,GACd,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAS,EACV,CAAC,QAAQ,EACf,MAAO,CACL,OAAQ,KACN,KAAM,GAAW,GACX,EAAU,GAAI,GACpB,MAAO,GAAI,EAAI,EAAI,EAAI,EAAI,EAAM,GAAW,QCpCpD,AAyBA,YACI,EAAM,EAAM,EAAO,EAAc,EAAG,EAAO,EAAG,EAAQ,EAAG,EAAO,IAClE,KAAM,GAA+B,GACjC,EAAQ,QAAQ,EAAI,EAAG,EAAG,EAAa,EAAM,EAAO,GAElD,EAA4B,CAAC,IAAG,IAAG,MAEnC,EAA0B,CAAC,cAAa,OAAM,QAAO,QAE3D,MAAO,GAAO,cACH,EAAS,EAAgC,KACzC,GAAa,GAGnB,KAAM,IACT,EAAG,CAAC,yCCxCR,AAqBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,cAAe,CAAC,IAChB,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,EAAG,GAAK,EACT,CAAC,cAAa,OAAM,QAAO,QAAQ,EAEzC,MAAO,CACL,EAAG,IAAM,GACL,EAAG,EAAG,EAAI,EAAa,EAAM,EAAO,MC/B9C,AA4BM,YACF,EAAO,EAAM,EAAe,EAAoB,GAClD,MAAI,GAAE,KAAO,EAAM,MACjB,GAAI,EAAQ,EAAG,AAAU,GAAqB,EAAE,MAAO,KAEzD,AAAI,EAAG,KAAO,EAAM,MAClB,GAAK,EAAQ,EAAI,AAAU,GAAqB,EAAG,MAAO,KAErD,CACL,EAAG,KACD,KAAM,GAAK,EAAI,EAAI,EAAK,GAAM,EAAO,GAAI,EAAG,QAC5C,MAAO,IAAgB,KAAO,EAAK,EAAU,EAAI,KCvCvD,AA0BO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,GAAqB,EACrB,CAAC,oBAAoB,EACrB,CAAC,EAAG,GAAK,EACT,EAAW,AAAK,EAAe,EAAkB,EAAE,OACnD,EAAe,AAAU,GAAmB,EAAU,EAAE,MACxD,EAAU,GAAiB,EAAI,EAAG,EAAG,EAAU,GACrD,MAAO,CACL,EAAG,KACD,GAAI,GAAM,EAAQ,IAClB,MAAI,IAAgB,MAClB,GAAM,EAAU,IAEX,MC3Cf,AAyBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAO,IAAM,EAAI,EAAI,EAAK,GAAa,EAAG,GAAI,YAC9C,EAAO,IAAM,EAAI,EAAI,EAAK,GAAK,EAAG,GAAI,YAC5C,MAAO,CAAC,EAAG,EAAM,EAAG,KChCxB,AA6DA,YACI,EAAkB,EAAqB,EACvC,EACA,EACA,EAA6C,CAAC,EAAG,EAAG,GACpD,EAA4B,GAC9B,KAAM,GAAM,EAAgB,EAAI,KAAM,qBAChC,EAAS,EAAgB,EAAO,QAAS,qBACzC,EAAU,EAAgB,EAAQ,SAAU,qBAElD,GAAI,GAAO,EACP,EAAU,EACV,EAAW,EACX,EAAe,GAEnB,AAAI,EAAO,OAAS,GAClB,GAAe,GACf,EAAO,EACH,EAAK,CAAC,EAAG,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KACjE,EAAU,EAAQ,EAAQ,CACxB,EAAG,EAAO,MAAM,GAAI,EAAO,MAAM,GAAI,EAAO,MAAM,GAAI,EAAO,MAAM,KAErE,EAAW,EAAQ,EAAS,CAC1B,EAAG,EAAQ,MAAM,GAAI,EAAQ,MAAM,GAAI,EAAQ,MAAM,GAAI,EAAQ,MAAM,MAI3E,AAAK,EACD,EAAK,OAAS,EACd,IAAM,8DACC,EAAK,SAChB,AAAK,EACD,EAAQ,OAAS,EACjB,IAAM,iEACC,EAAQ,SACnB,AAAK,EACD,EAAS,OAAS,EAClB,IAAM,kEACC,EAAS,SAEpB,AAAK,EACD,AAAU,GAA+B,EAAS,GAClD,IAAM,kFACwB,oBAA0B,MAC5D,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,kFACwB,iBAA+B,MAGnE,KAAM,GAA+B,IACnC,KAAM,GAAW,AAAU,GACvB,EAAQ,MAAO,EAAY,EAAS,EAAW,EAAK,GAExD,MAAO,GAAQ,kBAAkB,EAAM,EAAS,EAAU,IAGtD,EACwB,CAAC,GAAI,EAAM,MAAO,EAAS,OAAQ,GAE3D,EACF,CAAC,aAAY,UAAS,YAAW,MAAK,mBAEpC,EAAM,EAAO,cACf,EAAS,EAAgC,KACzC,GAAmB,GAEvB,MAAI,GACK,EACI,EAAK,CAAC,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,GAAI,EAAI,MAAM,KAIhE,EAGF,KAAM,IAAoB,EAAG,CAAC,wBC1IrC,AAsBO,KAAM,IAAkC,CAC7C,WAAY,GACZ,aAAc,CAAC,KACf,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,EAAG,GAAK,EACT,CAAC,aAAY,UAAS,YAAW,MAAK,mBACxC,EAEE,EACF,GAAa,KAAO,CAAC,EAAG,EAAG,GAAiC,EAEhE,MAAO,CACL,EAAG,IAAM,GACL,EAAgB,EAAG,EAAG,EAAY,EAAS,EAAY,EACvD,MCrCV,AAkDA,YACI,EAAyB,EACzB,EAA6B,EAC7B,EAAkC,EAClC,GACF,KAAM,GAAM,EAAgB,EAAI,KAAM,mBAChC,EAAS,EAAgB,EAAO,QAAS,mBACzC,EAAU,EAAgB,EAAQ,SAAU,mBAElD,AAAK,EACD,EAAO,OAAS,EAAI,KACpB,IAAM,kBAAkB,EAAO,oCACvB,EAAI,SAEhB,AAAK,EACD,EAAI,OAAS,EACb,IAAM,4DACC,EAAI,SACf,AAAK,EACD,EAAO,OAAS,EAChB,IAAM,+DACC,EAAO,SAClB,AAAI,GAAmB,MACrB,AAAK,EACD,AAAK,EAAM,GACX,IAAM,gFACiB,iBAA+B,MAG5D,KAAM,GAA+B,IACnC,KAAM,GAAW,AAAU,GACvB,EAAO,MAAO,EAAY,EAAS,EAAmB,EACtD,GAEJ,MAAO,GAAQ,gBAAgB,EAAK,EAAQ,EAAS,IAGjD,EACsB,CAAC,GAAI,EAAK,MAAO,EAAQ,OAAQ,GAEvD,EACqB,CAAC,aAAY,UAAS,MAAK,mBAEtD,MAAO,GAAO,cACH,EAAS,EAAgC,KAAM,GAC/C,GAGN,KAAM,IAAkB,EAAG,CAAC,sBClGnC,AAsBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,aAAc,CAAC,KACf,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,EAAG,GAAK,EACT,CAAC,aAAY,UAAS,OAAO,EAEnC,MAAO,CACL,EAAG,IAAM,GAAgB,EAAgB,EAAG,EAAG,EAAY,EAAS,MC/B1E,AA0BO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,GAAqB,EACrB,CAAC,QAAQ,EACT,CAAC,EAAG,GAAK,EACT,EAAW,AAAK,EAAe,EAAM,EAAE,OACvC,EAAe,AAAU,GAAmB,EAAU,EAAE,MACxD,EAAU,GAAiB,EAAI,EAAG,EAAG,EAAU,GACrD,MAAO,CACL,EAAG,KACD,GAAI,GAAM,EAAQ,IAClB,MAAI,IAAgB,MAClB,GAAM,EAAU,IAEX,MC3Cf,AAyBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAO,IAAM,EAAI,EAAI,EAAK,GAAU,EAAG,GAAI,YAC3C,EAAO,IAAM,EAAI,EAAI,EAAK,GAAQ,EAAG,GAAI,YAC/C,MAAO,CAAC,EAAG,EAAM,EAAG,KChCxB,AA4BO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAW,EAA2B,EAAE,MAAO,EAAE,OAEjD,EAAO,KACX,KAAM,GAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,EACf,EAAQ,EAAI,EAAI,GAAa,EAAE,OAEjC,GAEH,EAAO,KACX,KAAM,GAAM,EAAI,EAAI,GAAI,GAAM,EAAI,EAAG,MAC/B,EAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,EACf,EAAQ,EAAI,EAAK,GAAa,EAAE,OAElC,GAET,MAAO,CAAC,EAAG,EAAM,EAAG,KClDxB,AA0BO,KAAM,IAAiC,CAC5C,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAW,EAA2B,EAAE,MAAO,EAAE,OAEjD,EAAO,KACX,KAAM,GAAM,EAAI,EAAI,EAAK,EAAG,YACtB,EAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,EACf,EAAQ,EAAI,EAAK,GAAa,EAAE,OAElC,GAEH,EAAO,KACX,KAAM,GAAM,EAAI,EAAI,EAAK,EAAG,YACtB,EAAa,GAAiB,EAAE,MAAO,GAC7C,MAAI,GAAW,OAAS,EACf,EAAQ,EAAI,EAAK,GAAa,EAAE,OAElC,GAET,MAAO,CAAC,EAAG,EAAM,EAAG,KCjDxB,AAsBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,GAAI,MCzBzB,AAsBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,WACf,SAAU,CAAC,EAAY,KACrB,KAAM,GAAU,EAAM,GACtB,MAAO,CAAC,QAAS,IAAM,GAAM,EAAQ,MAAO,cC3BhD,AAsBO,KAAM,IAAiC,CAC5C,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAU,MCzB/B,AAsBO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KAGtC,KAAM,GAAI,EAAM,GACV,CAAC,YAAY,EACb,EAAQ,EAAS,IAAI,GAAK,EAAE,IAClC,MAAO,CAAC,EAAG,IAAM,EAAM,EAAI,EAAO,EAAE,UC/BxC,AAgCO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,EAAG,GAAK,EACZ,EAAO,EACP,EAAM,EACN,EACF,AAAe,EAA2B,EAAK,MAAO,EAAI,OAExD,EAAU,KACd,KAAM,GAAW,EAAK,EAAK,WAC3B,GAAI,GAAM,EAAI,EAAI,EAAI,EAAU,GAAI,EAAM,EAAI,EAAU,EAAO,OAC/D,KAAM,GAAa,AAAe,GAAiB,EAAK,MAAO,GAC/D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAK,QAErB,EAAS,KACb,KAAM,GAAY,GAAQ,EAAM,GAC1B,EAAU,GAAM,EAAW,GAAI,GAAO,EAAU,IACtD,GAAI,GAAM,EAAI,EAAI,EAAI,EAAG,IACzB,KAAM,GAAa,AAAe,GAAiB,EAAI,MAAO,GAC9D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAI,QAE1B,MAAO,CAAC,EAAG,EAAS,EAAG,KC9D3B,AA2BO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,IAAK,SACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAS,EACb,EAAO,GAAQ,EAAG,GAExB,MAAO,CACL,EAAG,IAAM,GAAM,EAAM,EAAI,EAAI,EAAI,IACjC,MAAO,KACL,GAAI,GAAM,GAAM,EAAM,EAAU,GAAK,EAAI,EAAI,IAC7C,KAAM,GAAa,GAAiB,EAAM,MAAO,EAAG,OACpD,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAM,WC1ClC,AAwBO,KAAM,IAAmC,CAC9C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,GAAI,EAAO,QC7BxC,AAwBO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACN,EAAO,EAAI,GAAU,EAAG,GAAI,GAAK,IAEvC,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAK,EAAM,eC/BxC,AAuBO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAK,GAAK,GAAI,eC5B3C,AAqBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAQ,EAAI,EAAE,UC1BnC,AAuBO,KAAM,IAAuC,CAClD,WAAY,GACZ,aAAc,CAAC,UACf,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,GAAU,EAEX,EAA0C,AAAC,IAC/C,KAAM,CAAC,gBAAgB,EACvB,MAAO,GAAQ,uBACX,EAAI,EAAoB,IAGxB,EAAmC,CAAC,UACpC,EAAY,IAAM,EAAO,cAC3B,EAAoB,EAAgC,KACpD,GAAoB,GAExB,MAAO,CAAC,OAAQ,KCxCpB,AAuBO,KAAM,IAA8C,CACzD,WAAY,GACZ,aAAc,CAAC,UACf,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,GAAU,EAEX,EAA0C,AAAC,IAC/C,KAAM,CAAC,gBAAgB,EACvB,MAAO,GAAQ,8BACX,EAAI,EAAoB,IAGxB,EAA0C,CAAC,UAC3C,EAAY,IAAM,EAAO,cAC3B,EAAoB,EAAgC,KACpD,GAA2B,GAE/B,MAAO,CAAC,OAAQ,KCxCpB,AAsBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,QAAQ,EACT,EAAO,EAAe,EAAM,EAAG,OACrC,MAAO,CAAC,EAAG,IAAM,GAAQ,EAAI,MC3BjC,AAsBO,KAAM,IAA8B,CACzC,WAAY,GACZ,SAAU,AAAC,GAGF,EAAC,EAAG,IAAM,EAAU,MC3B/B,AAyBO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,GAAI,EAAI,EAAI,EAAI,GAAI,EAAG,KAAM,QC9BlD,AAyBO,KAAM,IAAqC,CAChD,WAAY,GACZ,aAAc,CAAC,aACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAa,EACpB,MAAO,CAGL,UAAW,IAAM,EAAK,EAAU,GAAY,WAC5C,EAAG,IAAM,EAAI,EAAI,EAAK,EAAW,EAAG,QACpC,EAAG,IAAM,EAAI,EAAI,EAAK,GAAW,GAAY,EAAG,WCnCtD,AA2BO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CACL,EAAG,KACD,KAAM,GAAO,GAAQ,EAAG,EAAO,IAEzB,EAAa,EAAO,IACpB,EAAQ,EAAO,IAEf,EAAqB,EAAI,EAAI,GAC7B,EACF,EAAI,EAAI,EAAI,GAAa,GAAI,EAAK,EAAG,aAEzC,MAAO,IAAM,EAAM,EAAoB,OC3C/C,AAwBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,EAAG,EAAI,EAAO,GAAI,QC9BnD,AAsBO,KAAM,IAA6B,CACxC,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAU,MCzB/B,AAwBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,GAAI,EAAK,EAAG,YAAa,MC7BlD,AAwBO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,GAAK,EAAK,EAAG,YAAa,MC9BnD,AAuBO,KAAM,IAA8B,CACzC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,QAAO,QAAQ,EAEhB,EAAa,EAAE,MACf,CAAC,EAAQ,GAAS,GAAiB,EAAG,EAAO,GAQ7C,EAAoC,GAC1C,OAAS,GAAI,EAAG,EAAI,EAAG,KAAM,IAC3B,EAAS,KAAK,CAAC,EAAO,GAAI,EAAW,GAAK,EAAO,GAAK,EAAM,KAE9D,MAAO,CAAC,EAAG,IAAM,GAAI,EAAI,MC3C7B,AAwBO,KAAM,IAAgC,CAC3C,WAAY,GACZ,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,OAAO,EACR,EAAW,GAEX,EAAW,EAAI,EAAI,GACzB,MAAO,CACL,OAAQ,IAAM,EAAI,EAAU,EAAI,EAAI,EAAU,CAAC,GAAM,GAAW,OClCtE,AAuBO,KAAM,IAAiC,CAC5C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,GAAQ,OC7BrC,AAsBO,KAAM,IAAuC,CAClD,WAAY,GACZ,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,aAAY,YAAY,EAC/B,MAAO,CAAC,EAAG,IAAM,GAAe,EAAI,EAAY,MC1BpD,AAqBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,CAAC,QAAQ,EAEf,MAAO,CAAC,EAAG,IAAM,EAAO,EAAI,MC1BhC,AAyBO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,GAAK,EAAK,EAAG,YAAa,OC/B3D,AAuBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EACZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAI,EAAK,EAAG,WAAY,OC5BrD,AAwBO,KAAM,IAA0C,CACrD,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EAAM,EAAO,GACb,EAAO,IAAM,EAAI,EAAI,EAAI,EAAK,EAAI,EAAG,KACrC,EAAO,IAAM,EAAI,EAAI,EAAI,EAAK,EAAI,EAAG,KAC3C,MAAO,CAAC,EAAG,EAAM,EAAG,KChCxB,AAsBO,KAAM,IAA6B,CACxC,WAAY,GACZ,SAAU,AAAC,GAGF,EAAC,EAAG,IAAM,EAAU,MC3B/B,AAwBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,IAAK,KACpB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,EAAG,GAAK,EACT,EACF,AAAe,EAA2B,EAAE,MAAO,EAAE,OAEnD,EAAO,KACX,GAAI,GAAM,EACV,KAAM,GAAa,AAAe,GAAiB,EAAE,MAAO,GAC5D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,EAAK,EAAE,QAElB,EAAO,KACX,GAAI,GAAM,EACV,KAAM,GAAa,AAAe,GAAiB,EAAE,MAAO,GAC5D,MAAI,GAAW,OAAS,GACtB,GAAM,EAAI,EAAK,IAEV,EAAQ,GAAI,GAAM,EAAE,QAG7B,MAAO,CAAC,EAAG,EAAM,EAAG,KCjDxB,AAyBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,EAAkB,EAAE,MAAM,QAC1B,CAAC,QAAQ,EAET,EAAO,EAAe,EAAM,EAAE,OACpC,EAAK,QAAQ,IACX,EAAgB,GAAQ,IAE1B,KAAM,GAAa,EAAQ,EAAI,GACzB,EAAO,EAAI,EAAY,GAAK,EAAE,MAAO,YAE3C,MAAO,CAAC,EAAG,IAAM,KCxCrB,AAwBO,KAAM,IAA4B,CACvC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAO,GAAI,QC9BxC,AAyBO,KAAM,IAA6B,CACxC,WAAY,GACZ,cAAe,CAAC,IAChB,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAK,EAEZ,MAAO,CAAC,EAAG,IAAM,EAAI,EAAI,EAAO,GAAI,EAAO,IAAK,MC/BpD,AAwBO,KAAM,IAA6B,CACxC,WAAY,GACZ,aAAc,CAAC,KACf,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,CAAC,GAAK,EACN,CAAC,QAAQ,EAET,EAAO,KACX,GAAI,GAAQ,EAAU,GAGtB,GAAI,EAAE,OAAS,EACb,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,EAAQ,EAAI,EAAO,EAAM,EAAI,CAAC,EAAI,EAAE,MAAM,IAAK,CAAC,EAAE,MAAM,cAEjD,EAAE,OAAS,EACpB,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,EAAQ,EAAI,EAAO,EAAM,EAAI,CAAC,EAAI,EAAE,MAAM,GAAI,EAAI,EAAE,MAAM,IAAK,CACjD,EAAE,MAAM,GAAI,EAAE,MAAM,cAI7B,EAAE,OAAS,EACpB,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,EACI,EAAI,EACA,EACI,EAAI,CAAC,EAAI,EAAE,MAAM,GAAI,EAAI,EAAE,MAAM,GAAI,EAAI,EAAE,MAAM,IACjD,CAAC,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,cAI1C,EAAE,OAAS,EACpB,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,OAAS,GAAI,EAAG,EAAI,EAAK,GAAI,EAAE,EAC7B,EACI,EAAI,EACA,EACI,EACA,CACE,EAAI,EAAE,MAAM,GAAI,EAAI,EAAE,MAAM,GAAI,EAAI,EAAE,MAAM,GAC5C,EAAI,EAAE,MAAM,IAEd,CAAC,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,GAAI,EAAE,MAAM,UAMjE,MAAM,IAAI,OACN,2DACG,EAAE,qBAEX,MAAO,IAET,MAAO,CAAC,EAAG,KCpFf,AAuBO,KAAM,IAAkC,CAC7C,WAAY,GACZ,SAAU,CAAC,EAAY,EAAiB,KACtC,KAAM,GAAiC,EACjC,CAAC,QAAQ,EACT,EAAW,AAAU,GAAuB,GAClD,MAAO,CAAC,EAAG,IAAM,EAAU,EAAI,MC7BnC,AAqBO,KAAM,IAA+B,CAC1C,WAAY,GACZ,SAAU,CAAC,EAAc,EAAiB,KACxC,KAAM,GAA2B,EAC3B,CAAC,QAAQ,EACf,MAAO,CAAC,MAAO,IAAM,GAAM,EAAI,MC1BnC,AA8BO,KAAM,IAA2C,CACtD,WAAY,GACZ,aAAc,CAAC,cACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAc,EAEf,EAAO,IACJ,GAAoB,EAAI,GAEjC,MAAO,CAAC,EAAG,KAIf,YAA+C,EAAM,GAInD,KAAM,GAAqB,GAAQ,EAAS,EAAU,IAChD,EAAW,GAAO,EAAG,GAC3B,GAAI,GAAa,GAAa,EAAS,EAAO,EAAG,UACjD,KAAM,GAAW,EAAS,KAAO,EAAW,KAC5C,OAAS,GAAI,EAAG,EAAI,EAAU,EAAE,EAC9B,EAAa,GAAW,EAAY,EAAI,GAE1C,EAAa,GAAW,EAAY,GAAK,EAAS,MAAO,SACzD,KAAM,GAAY,EAAU,GAC5B,MAAO,IAAM,EAAY,EAAU,GCxDrC,AAsBO,KAAM,IAAkC,CAC7C,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAU,MCzB/B,AAkHA,KAAM,IAA4B,CAChC,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGF,SAAW,KAAkB,IAC3B,GAAiB,GCxNnB,u3NCEM,YACJ,EACA,EACA,EAAoB,IAUpB,GARA,EAAI,YAEJ,EAAO,MAAM,GAAG,QAAQ,CAAC,CAAE,IAAG,KAAK,KACjC,KAAM,GAAO,EAAO,GACpB,EAAI,OAAO,EAAK,EAAG,EAAK,GACxB,EAAI,OAAO,EAAG,KAGZ,GACF,KAAM,GAAO,EAAO,EAAO,OAAS,GAC9B,EAAK,EAAO,GAClB,GAAI,CAAC,GAAQ,CAAC,EACZ,OAGF,EAAI,OAAO,EAAK,EAAG,EAAK,GACxB,EAAI,OAAO,EAAG,EAAG,EAAG,GAGtB,EAAI,SC1BN,SAYE,YAAY,EAAe,GACzB,GAAI,CAAC,GAAc,IAAU,CAAC,GAAc,GAC1C,KAAM,IAAI,OAAM,wFAAwF,KAAK,UAAU,CAAE,QAAO,cAGlI,KAAK,OAAS,EACd,KAAK,QAAU,KAGN,SAAkB,MAAO,MAAK,UAC9B,UAAmB,MAAO,MAAK,QAEnC,UACL,MAAO,IAAI,IAAW,EAAI,KAAK,MAAO,EAAI,KAAK,SCzBnD,8RAKM,YAAmB,EAAa,GACpC,MAAO,aAAqB,KAAU,EAAO,MAAM,SAAW,EAG1D,YAAqB,GACzB,MAAO,IAAS,EAAQ,GAGpB,YAAqB,GACzB,MAAO,IAAS,EAAQ,GAGpB,YAAqB,GACzB,MAAO,IAAS,EAAQ,GAGpB,YAAqB,GACzB,MAAO,IAAS,EAAQ,GAGpB,YAAkB,GACtB,MAAO,GAAM,IAAM,EAGf,YAAiB,GACrB,MAAO,GAAM,IAAM,EAGf,YAAgB,EAAa,EAAe,GAChD,KAAM,GAAI,KAAK,IAAI,GAAI,GACvB,MAAO,MAAK,MAAM,EAAM,GAAK,EAGzB,YAAuB,GAC3B,MAAO,IAAO,EAAI,OAAS,EAAI,OAG3B,YAAoC,CAAE,QAAO,UAAuB,GACxE,KAAM,GAAQ,EAAY,KAAK,IAAI,EAAQ,GAC3C,MAAO,IAAI,IAAW,KAAK,MAAM,EAAQ,GAAQ,KAAK,MAAM,EAAS,IAGjE,YAAyB,GAC7B,MAAO,GAAI,OAAO,CAAC,EAAK,IAAO,EAAI,IAAI,GAAK,GAAI,GAAM,EAAG,IACtD,IAAI,GAAI,GAAM,EAAI,OAAQ,EAAI,SAG7B,YAAgB,EAAa,EAAe,GAChD,MAAO,OAAM,GAAK,KAAK,GAAG,IAAI,CAAC,EAAG,IAAM,EAAS,EAAI,GAGjD,YAAwB,GAC5B,MAAO,CAAC,CAAC,GAAO,IAAQ,UAAY,IAAQ,WAAa,CAAC,MAAM,IAAQ,IAAQ,EAG5E,YAA6B,GACjC,MAAO,IAAc,IAAQ,GAAK,GAAO,GAAO,ECxDlD,QAIE,YAAY,EAAW,GACrB,KAAK,GAAK,EACV,KAAK,GAAK,KAGR,KAAc,MAAO,MAAK,MAC1B,KAAc,MAAO,MAAK,GAEvB,IAAI,GACT,MAAO,IAAI,GAAM,KAAK,EAAI,EAAG,EAAG,KAAK,EAAI,EAAG,GAGvC,IAAI,GACT,MAAO,IAAI,GAAM,KAAK,EAAI,EAAG,EAAG,KAAK,EAAI,EAAG,GAGvC,IAAI,GACT,MAAO,IAAI,GAAM,KAAK,EAAI,EAAG,EAAG,KAAK,EAAI,EAAG,GAGvC,IAAI,GACT,MAAO,IAAI,GAAM,KAAK,EAAI,EAAG,EAAG,KAAK,EAAI,EAAG,GAGvC,MACL,MAAO,IAAI,GAAM,KAAK,IAAI,KAAK,GAAI,KAAK,IAAI,KAAK,IAG5C,YACL,MAAO,MAAK,KAAK,KAAK,IAAI,KAAK,EAAG,GAAK,KAAK,IAAI,KAAK,EAAG,IAGnD,QACL,MAAO,IAAI,GAAM,KAAK,MAAM,KAAK,GAAI,KAAK,MAAM,KAAK,KC1CzD,SA2BE,YAAY,EAA4B,EAAmC,IACzE,KAAM,GAAO,GAAQ,GAEf,EAAS,CAAC,EAAI,KAAM,EAAI,IAAK,EAAI,MAAO,EAAI,QAAQ,MAAM,IAC1D,EAAS,CAAC,EAAI,EAAG,EAAI,EAAG,EAAI,MAAO,EAAI,QAAQ,MAAM,IAE3D,GAAI,CAAC,GAAU,CAAC,EACd,KAAM,IAAI,OAAM,2EAA2E,KAAK,UAAU,MAG5G,KAAM,CAAC,EAAG,EAAG,EAAO,GAAU,EAC1B,CAAC,EAAI,EAAG,EAAI,EAAG,EAAI,MAAO,EAAI,QAC9B,CAAC,EAAI,KAAM,EAAI,IAAK,EAAI,MAAQ,EAAI,KAAM,EAAI,OAAS,EAAI,KAE/D,GAAI,iBAAiB,CAAE,IAAG,IAAG,QAAO,UAAU,kBAAmB,GAEjE,KAAK,GAAK,EACV,KAAK,GAAK,EACV,KAAK,OAAS,EACd,KAAK,QAAU,QAtCH,QAAO,GACnB,MAAO,CAAC,CAAC,GAAQ,CAAC,EAAK,EAAG,EAAK,EAAG,EAAK,MAAO,EAAK,QAAQ,MAAM,UAGrD,kBAAiB,EAAU,EAAgB,EAAmC,IAC1F,GAAI,CAAC,GAAI,OAAO,GACd,KAAM,IAAI,OAAM,GAAG,oBAAyB,KAAK,UAAU,2DAG7D,GAAI,CAAC,GAA4B,GAAI,MAAQ,GAAK,EAAI,OAAS,GAC7D,KAAM,IAAI,OAAM,GAAG,cAAmB,EAAI,sBAAsB,EAAI,uCA+B7D,KAAc,MAAO,MAAK,MAC1B,KAAc,MAAO,MAAK,MAC1B,SAAkB,MAAO,MAAK,UAC9B,UAAmB,MAAO,MAAK,WAC/B,QAAiB,MAAO,MAAK,KAC7B,OAAgB,MAAO,MAAK,KAC5B,SAAkB,MAAO,MAAK,EAAI,KAAK,SACvC,UAAmB,MAAO,MAAK,EAAI,KAAK,UACxC,QAAiB,MAAO,MAAK,MAAQ,KAAK,UAC1C,WAAmB,MAAO,IAAI,GAAM,KAAK,KAAM,KAAK,QACpD,YAAoB,MAAO,IAAI,GAAM,KAAK,MAAO,KAAK,QACtD,cAAsB,MAAO,IAAI,GAAM,KAAK,KAAM,KAAK,WACvD,eAAuB,MAAO,IAAI,GAAM,KAAK,MAAO,KAAK,QAE7D,QACL,KAAM,CAAC,EAAG,EAAG,EAAO,GAAU,CAAC,KAAK,EAAG,KAAK,EAAG,KAAK,MAAO,KAAK,QAC7D,IAAI,GAAO,KAAK,MAAM,IACzB,MAAO,IAAI,IAAI,CAAE,IAAG,IAAG,QAAO,WAGzB,QACL,KAAM,CAAC,EAAG,EAAG,EAAO,GAAU,CAAC,KAAK,EAAG,KAAK,EAAG,KAAK,MAAO,KAAK,QAC7D,IAAI,GAAO,KAAK,MAAM,IACzB,MAAO,IAAI,IAAI,CAAE,IAAG,IAAG,QAAO,WAGzB,WACL,GAAI,CAAE,IAAG,IAAG,QAAO,UAAW,KAC9B,KAAM,GAAO,KAAK,IAAI,EAAQ,GAC9B,MAAI,GAAQ,GACV,IAAM,EAAO,EACb,GAAS,GAEX,AAAI,EAAS,GACX,IAAM,EAAO,EACb,GAAU,GAGL,GAAI,IAAI,CAAE,IAAG,IAAG,QAAO,WAGzB,QAAQ,GACb,KAAM,GAAS,GAAa,GAAM,EAAkB,MAAQ,EACtD,EAAS,GAAa,GAAM,EAAkB,OAAS,EAC7D,MAAO,IAAI,IAAI,CACb,EAAG,KAAK,EAAI,EACZ,EAAG,KAAK,EAAI,EACZ,MAAO,KAAK,MAAQ,EACpB,OAAQ,KAAK,OAAS,IAInB,IAAI,EAAc,GACvB,GAAI,CAAC,EAAG,EAAG,EAAO,GAAU,CAC1B,KAAK,EAAK,EAAO,EACjB,KAAK,EAAK,EAAO,EACjB,KAAK,MAAQ,EACb,KAAK,OAAS,GAEhB,MAAO,IAAI,IAAI,CAAE,IAAG,IAAG,QAAO,WAGzB,mBAAmB,EAAkB,GAC1C,KAAM,CAAE,IAAG,IAAG,QAAO,UAAW,KAC1B,EAAW,KAAK,IAAI,EAAG,GACvB,EAAW,KAAK,IAAI,EAAG,GAEvB,EAAW,EAAQ,EACnB,EAAY,EAAS,EACrB,EAAe,KAAK,IAAI,EAAU,EAAW,GAC7C,EAAgB,KAAK,IAAI,EAAW,EAAY,GAEtD,MAAQ,IAAI,IAAI,CAAE,EAAG,EAAU,EAAG,EAAU,MAAO,EAAc,OAAQ,IAAiB,QAGrF,MAAM,EAAY,GACvB,KAAM,CAAE,QAAO,UAAW,KACpB,EAAI,KAAK,EAAI,EACb,EAAI,KAAK,EAAI,EAEnB,MAAO,IAAI,IAAI,CAAE,IAAG,IAAG,QAAO,WAGzB,aAAa,EAAqB,GACvC,KAAM,GAAI,KAAK,MAAQ,EACjB,EAAI,KAAK,OAAS,EAExB,GAAI,GAAK,EACL,EAAK,EACL,EAAM,EACN,EAAM,EAEN,EAAI,KAAK,KACT,EAAI,KAAK,IACT,EAAK,KAAK,MACV,EAAK,KAAK,OAEd,MAAI,GAAK,GACP,GAAM,CAAC,EAAK,EAAa,EACzB,EAAK,GAEP,AAAI,EAAK,GACP,GAAM,CAAC,EAAK,EAAc,EAC1B,EAAK,GAEP,AAAI,EAAI,GACN,GAAM,EAAI,EACV,EAAI,GAEN,AAAI,EAAI,GACN,GAAM,EAAI,EACV,EAAI,GAGC,CAAE,KAAI,MAAK,KAAI,MAAK,IAAG,KAAI,IAAG,KAAI,IAAG,KAGvC,UAAU,GACf,MAAO,IAAI,IAAI,CACb,KAAM,KAAK,KAAQ,EAAO,KAAO,KAAK,MACtC,IAAK,KAAK,IAAO,EAAO,IAAM,KAAK,OACnC,MAAO,KAAK,MAAS,EAAO,MAAQ,KAAK,MACzC,OAAQ,KAAK,OAAU,EAAO,OAAS,KAAK,SAC3C,WAAW,SC5KlB,gBASiC,IAC/B,YAAY,EAAc,EAAa,EAAe,EAAgB,EAAmC,IACvG,MAAM,CAAE,OAAM,MAAK,QAAO,UAAU,ICXxC,SAWE,YACE,EACA,EACA,EACA,EACA,GAEA,KAAK,WAAa,GAAI,IAAW,EAAU,MAAO,EAAU,QAC5D,KAAK,OAAS,EACd,KAAK,YAAc,EACnB,KAAK,WAAa,EAClB,KAAK,KAAO,GAAI,IAAI,GAAa,QAAQ,KAAK,eAGrC,SAAkB,MAAO,MAAK,UAC9B,cAAuB,MAAO,MAAK,eACnC,aAAsB,MAAO,MAAK,cAClC,OAAa,MAAO,MAAK,QACzB,aAA0B,MAAO,MAAK,cACtC,cAAuB,MAAO,MAAK,UAAU,SAC7C,eAAwB,MAAO,MAAK,UAAU,UAC9C,eAAqB,MAAO,IAAI,IAAI,KAAK,MAAM,QAAQ,KAAK,UAAU,WAE1E,QAAQ,EAAe,GAC5B,MAAO,IAAI,IACT,KAAK,MACL,KAAK,WACL,KAAK,UACL,KAAK,YACL,CAAE,QAAO,YCtCf,gBAQmC,IACjC,YACE,EACA,EACA,GAEA,MAAM,EAAO,EAAO,GAAI,EAAa,GAGhC,QAAQ,EAAe,GAC5B,KAAM,CAAE,QAAO,cAAa,aAAc,MAAM,QAAQ,EAAO,GAC/D,MAAO,IAAI,IAAc,EAAO,EAAa,ICnB3C,YAAc,EAAW,EAAW,EAAiB,IACzD,KAAM,GAAQ,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,MAAO,EAAK,OAAS,KAAK,IAAI,EAAK,KAAM,EAAK,OAClF,EAAS,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,OAAQ,EAAK,QAAU,KAAK,IAAI,EAAK,IAAK,EAAK,MACpF,EAAe,EAAQ,EAE7B,MAAO,GACH,EAAgB,GAAK,KAAO,EAAK,KAAO,GACxC,EAAe,KAAK,IAAI,EAAK,KAAM,EAAK,MCPxC,YAAkB,GACtB,KAAM,GAAK,EAAI,IAAI,GAAM,EAAG,GACtB,EAAK,EAAI,IAAI,GAAM,EAAG,GACtB,EAAO,EAAG,OAAO,CAAC,EAAK,IAAM,EAAI,EAAM,EAAI,EAAK,UAChD,EAAO,EAAG,OAAO,CAAC,EAAK,IAAM,EAAI,EAAM,EAAI,EAAK,UAChD,EAAO,EAAG,OAAO,CAAC,EAAK,IAAM,EAAM,EAAI,EAAI,EAAK,GAChD,EAAO,EAAG,OAAO,CAAC,EAAK,IAAM,EAAM,EAAI,EAAI,EAAK,GAEtD,MAAO,IAAI,IAAY,EAAM,EAAM,EAAM,GCPrC,YACJ,EACA,EACA,EACA,EAAiB,IAGjB,GAAI,GAAuB,EACxB,IAAI,CAAC,EAAO,IAAc,EAAE,QAAO,cACnC,KAAK,CAAC,EAAI,IAAO,EAAG,MAAQ,EAAG,OAC/B,IAAI,GAAK,EAAE,UAEd,KAAM,GAAiB,GAEvB,KAAM,EAAqB,OAAS,IAClC,KAAM,GAAO,EAAqB,MAClC,EAAK,KAAK,GAEV,KAAM,GAAU,EAEV,EAAoB,GAC1B,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,KAClC,KAAM,GAAM,EAAQ,GAEd,EAAU,EAAM,GAChB,EAAS,EAAM,GAErB,EAAQ,KAAK,GAAI,EAAS,EAAQ,IAGpC,EAAuB,EAAqB,OAC1C,CAAC,EAAG,IAAM,EAAQ,IAAM,GAI5B,MAAO,GCpCH,YAAoB,EAAgB,GACxC,MAAO,AAAG,GAAK,KACb,KAAM,CAAC,EAAG,EAAG,GAAK,EACZ,EAAQ,AAAG,GAAK,CAAC,GAAG,EAAE,MAAM,MAAM,EAAG,GAAI,GAAI,GAC7C,EAAQ,AAAG,GAAK,CAAC,GAAG,EAAE,MAAM,MAAM,EAAG,GAAI,GAAI,GAC7C,EAAQ,AAAG,GAAK,CAAC,GAAG,EAAE,MAAM,MAAM,EAAG,GAAI,GAAI,GAC7C,EAAU,AAAG,EAAO,CAAC,EAAO,EAAO,GAAQ,GAEjD,MAAO,AAAG,GAAI,EAAG,KCAf,YACJ,EACA,EAAyB,IAEzB,MAAO,AAAG,GAAK,KAEb,KAAM,CAAC,EAAQ,GAAS,EAAU,MAAM,MAAM,GAC9C,GAAI,IAAW,EACb,MAAO,GAGT,KAAM,GAAU,KAAK,IAAI,EAAS,GAC5B,EAAgB,KAAK,MAAM,EAAW,GAAgB,GAAM,IAC5D,EAAc,EAAS,EAAQ,EAAI,EAEnC,EAAsB,AAAC,IAC3B,KAAM,GAAqB,EAAU,MAAM,QAC3C,SAAmB,GAAe,EAC3B,AAAG,GAAK,EAAoB,IAG/B,EAAsB,EAAoB,GAC1C,EAAyB,EAAW,EAAoB,MAAM,GAE9D,EAAuB,GAAiB,EAC1C,EAAoB,GACpB,KAEE,EAAiB,CACrB,EACA,EACA,GAEC,OAAO,GAAK,CAAC,CAAC,GACd,IAAI,AAAC,GAAiB,EAAE,WAC3B,MAAO,AAAG,GAAO,EAAgB,KC7C/B,YAAuB,GAC3B,KAAM,GAAQ,EAAW,QACzB,OAAS,GAAI,EAAM,OAAS,EAAG,EAAI,EAAG,KAClC,KAAM,GAAI,KAAK,MAAM,KAAK,SAAY,GAAI,IACpC,EAAI,EAAM,GAChB,EAAM,GAAK,EAAM,GACjB,EAAM,GAAK,EAEf,MAAO,GCDH,YAAkB,GACtB,MAAO,GAAK,GAAI,KAAK,IAAI,CAAC,IAGtB,YAAyB,GAC7B,MAAO,MAAK,IAAI,EAAK,GAAI,ICZ3B,gBAS0B,IACxB,YAAY,EAAW,EAAW,EAAe,EAAgB,EAAmC,IAClG,MAAM,CAAE,IAAG,IAAG,QAAO,UAAU,ICDnC,KAAM,IAAO,GACP,GAAO,IACP,GAAW,IAZjB,SAwBE,YACE,EACA,EACA,EAAe,GAAI,GAAM,EAAG,IAE5B,KAAM,CAAE,QAAO,UAAW,EAC1B,KAAK,SAAW,GAAI,IAAW,EAAO,GACtC,KAAK,OAAS,EACd,KAAK,WAAa,EAA8B,IAC9C,GAAM,EAAG,IAAI,GAAI,GAAM,EAAO,IAAS,IAAI,OAIpC,SAAiB,MAAO,IAAI,GAAM,KAAK,OAAO,EAAG,KAAK,OAAO,MAC7D,cAAuB,MAAO,MAAK,SAAS,SAC5C,eAAwB,MAAO,MAAK,SAAS,UAC7C,aAAuB,MAAO,MAAK,cACnC,qBACT,MAAO,MAAK,WAAW,IACrB,GAAM,EAAG,IAAI,KAAK,QAAQ,IAAI,GAAI,GAAM,KAAK,WAAY,KAAK,eAI3D,QAAiC,EAAe,GACrD,MAAO,IAAK,MAAK,YACf,KAAK,kBACL,CAAE,QAAO,WAIN,QAAiC,EAAW,GACjD,MAAO,IAAK,MAAK,YACf,KAAK,kBACL,KAAK,SACL,GAAI,GAAM,EAAG,IAIV,aAAsC,GAC3C,MAAO,MAAK,QAAQ,EAAG,EAAG,EAAG,GAcxB,MACL,EACA,EAAkE,IAElE,GAAI,GACF,KAAM,GAAM,YAAqB,IAC7B,EAAU,IAAI,QACd,GAAI,IAAI,GAEZ,MAAO,MAAK,QAAQ,EAAI,EAAG,EAAI,GAAG,MAAM,KAAM,GAGhD,KAAM,CAAE,mBAAkB,iBAAkB,OAAO,OAAO,GAAI,CAAE,iBAAkB,GAAO,cAAe,IAAO,GAE/G,MAAI,GACK,KAAK,YAGP,KAAK,aAAa,GAGnB,YAEN,KAAM,GAAU,KAAK,2BAEf,CAAC,EAAe,EAAgB,GAAe,EAC/C,EAAc,AAAC,GAAc,EAAY,IAAI,GAAI,YACjD,EAAkB,GAAY,GAAiB,EAAY,IAAmB,EAE9E,EAAO,KAAK,MAAM,EAAiB,IAEnC,EAAW,GAAe,GAE1B,EAAI,KAAK,MAAM,KAAK,IAAI,EAAG,EAAS,EAAK,GAAO,IAChD,EAAI,KAAK,MAAM,KAAK,IAAI,EAAG,EAAS,EAAK,GAAO,IAEtD,MAAO,IAAI,IAAK,EAAG,EAAG,KAAK,IAAI,EAAM,KAAK,WAAa,GAAI,KAAK,IAAI,EAAM,KAAK,YAAc,IAGvF,aAAa,GACnB,KAAM,GAAM,GAAQ,KAAK,WACzB,MAAO,GAAI,IAAI,EAAI,MAAQ,EAAS,EAAI,OAAS,GAGzC,2BACR,KAAM,IAAI,OAAM,2DC1HpB,gBAKoC,IAExB,2BACR,KAAM,GAAM,KAAK,UACjB,MAAO,CACL,EAAI,GACJ,EAAI,GACJ,GAAe,CAAC,EAAI,GAAI,EAAI,OCZlC,gBAIqC,IAC5B,gBACL,MAAO,MAAK,UAAU,MAAM,EAAG,IAG1B,iBACL,MAAO,MAAK,UAAU,MAAM,GAAI,IAG3B,kBACL,MAAO,MAAK,UAAU,MAAM,GAAI,IAG3B,UACL,MAAO,MAAK,UAAU,MAAM,GAAI,IAG3B,aACL,MAAO,MAAK,UAAU,MAAM,GAAI,IAG3B,cACL,MAAO,MAAK,UAAU,MAAM,GAAI,IAG3B,WACL,MAAO,MAAK,UAAU,MAAM,GAAI,IAGxB,2BACR,MAAO,CACL,KAAK,aACL,KAAK,cACL,KAAK,YACL,IAAI,KCtCV,SAWE,YAAY,EAAe,GACzB,KAAK,OAAS,EACd,KAAK,UAAY,KAGR,SAAkB,MAAO,MAAK,UAC9B,YAAqB,MAAO,MAAK,UAErC,SAAS,EAAwB,IACtC,MAAO,GAAG,KAAK,QAAQ,EAAe,KAAK,GAAM,KAAK,aAAe,MCpBzE,gBAKgC,IAY9B,YAAY,EAAiC,GAC3C,MAAM,GACN,KAAK,OAAS,QAZF,yBAAwB,EAAU,GAG9C,GAFA,GAAI,iBAAiB,EAAK,GAEtB,CAAC,GAAc,EAAI,OACrB,KAAM,IAAI,OAAM,GAAG,gCAAqC,EAAI,4BAWrD,SAAkB,MAAO,MAAK,QCtB3C,SAIE,YAAY,EAAe,GACzB,GAAI,CAAE,OAAO,IAAU,UACrB,KAAM,IAAI,OAAM,sEAGlB,GAAI,CAAC,MAAM,QAAQ,IAAgB,EAAY,KAAK,GAAQ,CAAE,aAAgB,gBAC5E,KAAM,IAAI,OAAM,4FAGlB,KAAK,OAAS,EACd,KAAK,aAAe,KAGX,SAAkB,MAAO,MAAK,UAC9B,eAAgC,MAAO,MAAK,aAEhD,SACL,MAAO,CACL,MAAO,KAAK,MACZ,YAAa,KAAK,YAAY,IAAI,AAAC,GAAM,MAAM,KAAK,WAI1C,UAAS,GACrB,KAAM,GAAc,EAAK,YAAY,IAAI,AAAC,GACjC,GAAI,cAAa,IAE1B,MAAO,IAAI,IAAuB,EAAK,MAAO,IC/BlD,gBAKkC,IAgBhC,YAAY,EAAiC,EAAe,EAAe,GACzE,MAAM,EAAK,GACX,KAAK,OAAS,EACd,KAAK,YAAc,QAjBP,2BAA0B,EAAU,GAGhD,GAFA,GAAW,wBAAwB,EAAK,GAGtC,CAAC,GAAmB,EAAI,QACrB,CAAC,GAAmB,EAAI,YAE3B,KAAM,IAAI,OAAM,GAAG,kCAAuC,EAAI,eAAe,EAAI,gDAa1E,SAAkB,MAAO,MAAK,UAC9B,cAAuB,MAAO,MAAK,aCtB1C,YAA8B,GAClC,MAAO,GAAI,oBAAwB,IAG/B,YAGJ,EACA,GAGA,KAAM,GAAY,CAAE,aACpB,MAAO,QAAO,OAAO,GAAI,EAAW,GChBhC,cAEJ,KAAM,GAAQ,OAAO,OAAY,WAC/B,KAAM,IAAI,OAAM,iEAGZ,EAAW,WACf,KAAM,IAAI,OAAM,gEAGlB,MAAO,CACL,OAAQ,kBACR,yBACA,MAAO,iBACP,UACA,MAAO,iBACP,oBAAqB,IAAM,SAAS,cAAc,UAClD,mBAAoB,IAAM,SAAS,cAAc,OACjD,QACA,YCnBE,YAA2B,GAE/B,GAAI,GAAiB,GAErB,GAAI,CAAC,EACH,IACE,EAAK,oBACE,GACP,EAAiB,EAAI,WAIzB,KAAM,GAAW,EACb,SAAS,GACT,MAAO,IAAI,SAAgB,CAAC,EAAK,KAC/B,EAAG,SAAS,EAAU,SAAS,EAAU,GACvC,MAAO,GAAM,EAAI,GAAO,EAAI,QAIhC,WACA,KAAM,IAAI,OAAM,qEAAqE,MAGzF,MAAO,CACL,YCxBE,cAEJ,KAAM,GAAS,OAAO,QAAa,OAAO,kBACpC,EAAQ,OAAO,OAAY,OAAO,iBAElC,EAAsB,WAC1B,GAAI,EACF,MAAO,IAAI,KAEb,KAAM,IAAI,OAAM,+EAGZ,EAAqB,WACzB,GAAI,EACF,MAAO,IAAI,KAEb,KAAM,IAAI,OAAM,6EAGZ,EAAQ,OAAO,OAAY,WAC/B,KAAM,IAAI,OAAM,gEAGZ,EAAa,KAEnB,MAAO,CACL,OAAQ,GAAU,QAClB,yBAA0B,OAAO,0BAA+B,QAChE,MAAO,GAAS,QAChB,UAAW,OAAO,WAAgB,QAClC,MAAO,OAAO,kBAAuB,QACrC,sBACA,qBACA,WACG,GCrCD,cACJ,MAAO,OAAO,SAAW,UACpB,MAAO,WAAa,aACpB,MAAO,mBAAqB,aAC5B,MAAO,oBAAsB,aAC7B,MAAO,mBAAqB,aAC5B,MAAO,YAAc,aACrB,MAAO,2BAA6B,YCP3C,SAAoB,SAEd,YAAuB,GAC3B,MAAI,CAAC,OAAI,YAAc,MAAO,IAAQ,SAC7B,SAAS,eAAe,GAE1B,ECNT,SAAoB,SAGd,YAA8B,GAElC,KAAM,CAAE,SAAQ,4BAA6B,OAAI,SAEjD,GAAI,YAAqB,GACvB,MAAO,GAGT,KAAM,GAAS,GAAa,GAE5B,GAAI,CAAE,aAAkB,IACtB,KAAM,IAAI,OAAM,kEAGlB,KAAM,GAAM,EAAO,WAAW,MAC9B,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,gDAGlB,MAAO,GClBT,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,SAAA,WACA,EAAA,UAAA,YACA,EAAA,YAAA,cACA,EAAA,aAAA,iBAJU,IAAA,IAAc,KAH1B,SA2BE,YAAY,EAAiC,IAC3C,KAAM,CAAE,iBAAgB,kBAAiB,YAAW,WAAU,YAAW,WAAY,EACrF,KAAK,eAAiB,GAAkB,GAAe,SACvD,KAAK,gBAAkB,GAAmB,qBAC1C,KAAK,UAAY,GAAa,yBAC9B,KAAK,SAAW,GAAY,GAC5B,KAAK,UAAY,GAAa,UAC9B,KAAK,QAAU,GAAW,GAlC9B,SA2CE,YACE,EACA,EACA,EAAiC,IAEjC,KAAK,KAAO,MAAO,IAAS,SACxB,CAAC,GACA,YAAgB,IAAgB,EAAK,KAAO,EACjD,KAAK,OAAS,EACd,KAAK,QAAU,GAAI,IAAqB,GAG1C,aAAa,GACX,KAAM,CAAE,WAAY,KAAK,QACzB,MAAO,MAAK,KAAK,IAAI,GAAK,EAAI,YAAY,GAAG,OAAO,OAAO,CAAC,EAAI,IAAO,EAAK,EAAK,EAAK,EAAI,GAAM,EAAI,EAGtG,gBACE,KAAM,CAAE,WAAU,WAAY,KAAK,QACnC,MAAO,MAAK,KAAK,OAAS,EAAY,EAAI,EAG5C,aAAa,EAA+B,GAC1C,KAAM,CAAE,kBAAmB,KAAK,QAC1B,EAAc,IAAmB,GAAe,cAAgB,IAAmB,GAAe,UAClG,EAAa,IAAmB,GAAe,aAAe,IAAmB,GAAe,aAEhG,EAAiB,KAAK,aAAa,GACnC,EAAkB,KAAK,gBACvB,EAAK,EAAc,KAAK,OAAO,EAAI,EAAiB,KAAK,OAAO,EAChE,EAAI,EAAa,KAAK,OAAO,EAAI,EAAkB,KAAK,OAAO,EAGrE,GAAI,GACF,KAAM,CAAE,QAAO,UAAW,EACpB,EAAO,KAAK,IAAI,KAAK,IAAI,EAAG,EAAQ,GAAiB,GACrD,EAAO,KAAK,IAAI,KAAK,IAAI,EAAG,EAAS,GAAkB,GAC7D,MAAO,CAAE,EAAG,EAAM,EAAG,GAEvB,MAAO,CAAE,IAAG,KAGd,KAAK,GACH,KAAM,GAAS,GAAa,GACtB,EAAM,GAAoB,GAE1B,CAAE,kBAAiB,YAAW,WAAU,YAAW,WAAY,KAAK,QAE1E,EAAI,KAAO,GAAG,OAAc,IAC5B,KAAM,GAAe,KAAK,aAAa,GACjC,EAAa,KAAK,gBAExB,EAAI,UAAY,EAChB,KAAM,GAAY,KAAK,aAAa,EAAK,GACzC,EAAI,SAAS,EAAU,EAAG,EAAU,EAAG,EAAc,GAErD,EAAI,UAAY,EAChB,KAAK,KAAK,QAAQ,CAAC,EAAU,KAC3B,KAAM,GAAI,EAAU,EAAU,EACxB,EAAI,EAAU,EAAU,EAAM,GAAI,GAAK,EAC7C,EAAI,SAAS,EAAU,EAAG,MCxGhC,SAiBE,YAAY,EAA2B,IACrC,KAAM,CAAE,WAAU,YAAW,QAAO,oBAAqB,EACzD,KAAK,SAAW,GAAY,qBAC5B,KAAK,UAAY,GAAa,EAC9B,KAAK,MAAQ,EAEb,KAAM,GAA0B,CAC9B,eAAgB,GAAe,YAC/B,gBAAiB,KAAK,UAExB,KAAK,iBAAmB,GAAI,IAAqB,OAAO,OAAO,GAAI,EAAyB,KA3BhG,SAmCE,YACE,EACA,EAA2B,IAE3B,KAAK,IAAM,GAAI,IAAI,GACnB,KAAK,QAAU,GAAI,IAAe,GAGpC,KAAK,GACH,KAAM,GAAM,GAAoB,GAE1B,CAAE,WAAU,aAAc,KAAK,QAE/B,CAAE,IAAG,IAAG,QAAO,UAAW,KAAK,IACrC,EAAI,YAAc,EAClB,EAAI,UAAY,EAChB,EAAI,WAAW,EAAG,EAAG,EAAO,GAE5B,KAAM,CAAE,SAAU,KAAK,QACvB,AAAI,GACF,GAAI,IAAc,CAAC,GAAQ,CAAE,EAAG,EAAK,EAAY,EAAI,KAAK,KAAK,QAAQ,kBAAkB,KAAK,IC/C9F,YACJ,EACA,GAEA,KAAM,GAAkB,MAAM,QAAQ,GAAc,EAAa,CAAC,GAElE,EAAgB,QAAQ,IACtB,KAAM,GAAQ,YAAe,IACzB,EAAI,MACH,GAAoB,GAAO,EAAI,UAAU,MAAQ,OAEhD,EAAM,YAAe,IACvB,EAAI,IACH,GAAoB,GAAO,EAAI,UAAU,IAAM,GAAI,IAAI,GAEtD,EAAQ,EAAQ,GAAG,GAAM,KAAW,OAC1C,GAAI,IAAQ,EAAK,CAAE,UAAS,KAAK,KCxBrC,SAAoB,SAEd,YAAwB,GAE5B,KAAM,CAAE,QAAO,SAAU,OAAI,SAE7B,MAAQ,aAAiB,IAAS,EAAM,UAClC,YAAiB,IAAS,EAAM,YAAc,ECPtD,SAAoB,SAGd,YAA2B,GAE/B,MAAO,IAAI,SAAQ,CAAC,EAAS,KAC3B,GAAI,YAAiB,QAAI,SAAS,QAAU,GAAc,GACxD,MAAO,KAGT,WAAgB,GACd,GAAI,CAAC,EAAE,cAAe,OACtB,EAAE,cAAc,oBAAoB,OAAQ,GAC5C,EAAE,cAAc,oBAAoB,QAAS,GAC7C,EAAQ,GAGV,WAAiB,GACf,GAAI,CAAC,EAAE,cAAe,OACtB,EAAE,cAAc,oBAAoB,OAAQ,GAC5C,EAAE,cAAc,oBAAoB,QAAS,GAC7C,EAAO,GAGT,EAAM,iBAAiB,OAAQ,GAC/B,EAAM,iBAAiB,QAAS,KCzBpC,SAAoB,SAEd,YAAwB,GAC5B,MAAO,IAAI,SAAQ,CAAC,EAAS,KAC3B,GAAI,CAAE,aAAe,OACnB,MAAO,GAAO,oDAGhB,KAAM,GAAS,GAAI,cACnB,EAAO,OAAS,KACd,GAAI,MAAO,GAAO,QAAW,SAC3B,MAAO,GAAO,oEAGhB,KAAM,GAAM,OAAI,SAAS,qBACzB,EAAI,OAAS,IAAM,EAAQ,GAC3B,EAAI,QAAU,EACd,EAAI,IAAM,EAAO,QAEnB,EAAO,QAAU,EACjB,EAAO,cAAc,KCnBzB,SAAoB,SAEd,YAA6B,GAEjC,KAAM,CAAE,QAAO,SAAU,OAAI,SAE7B,MAAI,aAAiB,GACZ,GAAI,IAAW,EAAM,aAAc,EAAM,eAE9C,YAAiB,GACZ,GAAI,IAAW,EAAM,WAAY,EAAM,aAEzC,GAAI,IAAW,EAAM,MAAO,EAAM,QCZ3C,SAAoB,SAKd,YAAuB,CAAE,QAAO,WAEpC,KAAM,CAAE,uBAAwB,OAAI,SAC9B,EAAS,IACf,SAAO,MAAQ,EACf,EAAO,OAAS,EACT,EAGH,YAAgC,EAAwD,GAE5F,KAAM,CAAE,aAAc,OAAI,SAE1B,GAAI,CAAE,aAAiB,KAAc,CAAC,GAAc,GAClD,KAAM,IAAI,OAAM,8DAGlB,KAAM,CAAE,QAAO,UAAW,GAAQ,GAAmB,GAC/C,EAAS,GAAa,CAAE,QAAO,WAErC,MAAI,aAAiB,GACnB,GAAoB,GAAQ,aAAa,EAAO,EAAG,GAEnD,GAAoB,GAAQ,UAAU,EAAO,EAAG,EAAG,EAAO,GAErD,EC7BT,SAAoB,SAGpB,kBACE,EACA,GAGA,KAAM,GAAe,GAAU,OAAI,SAAS,sBAEtC,CAAC,EAAQ,EAAO,GAAe,EAAU,MAAM,MAAM,GAAW,GAAa,EAAI,GACjF,EAAc,AAAG,EAAK,IAAM,EAAU,KAAK,EAAQ,EAAO,GAAa,SAC7E,YAAM,AAAG,IAAQ,SAAS,EAAa,GAEvC,EAAY,UAEL,EClBT,SAAoB,SAEd,YAAyB,GAE7B,KAAM,CAAE,QAAO,SAAQ,SAAU,OAAI,SAErC,MAAO,aAAiB,IACnB,YAAiB,IACjB,YAAiB,GCRxB,SAAoB,SAKd,YAAwB,EAA6C,EAAmB,EAAuB,IAEnH,KAAM,CAAE,QAAO,UAAW,OAAI,SAE9B,GAAI,CAAE,aAAiB,IAAS,YAAiB,IAC/C,KAAM,IAAI,OAAM,4EAGlB,KAAM,GAAO,GAAmB,GAC1B,EAAQ,EAAY,KAAK,IAAI,EAAK,OAAQ,EAAK,OAC/C,EAAQ,EAAQ,EAAK,MACrB,EAAS,EAAQ,EAAK,OAEtB,EAAe,GAAa,CAAE,MAAO,EAAW,OAAQ,IACxD,EAAc,YAAiB,GAAS,EAAQ,GAAsB,GAEtE,EAAS,KAAK,IAAI,EAAQ,GAAU,EACpC,EAAK,GAAe,EAAQ,EAAS,EAAS,EAC9C,EAAK,GAAe,EAAS,EAAQ,EAAS,EACpD,UAAoB,GAAc,UAAU,EAAa,EAAI,EAAI,EAAO,GAEjE,ECvBT,SAAoB,SAHpB,SAmBE,YACE,EACA,EAA6B,IAE7B,GAZM,KAAA,cAAkD,GAClD,KAAA,UAAiC,GAEjC,KAAA,mBAA8B,GAE9B,KAAA,iBAA+B,GAOjC,CAAC,MAAM,QAAQ,GACjB,KAAM,IAAI,OAAM,4HAA4H,KAG9I,KAAK,mBAAqB,EAC1B,KAAK,WAAa,EAAO,OAEzB,EAAO,QAAQ,CAAC,EAAO,KAErB,GAAI,GAAW,IACb,KAAK,cAAc,GAAO,EAC1B,KAAK,iBAAiB,GAAO,EAAM,MACnC,OAGF,GAAI,GAAW,IACb,KAAM,GAAY,EAAM,MAAM,GAC9B,GAAI,IAAc,EAChB,KAAM,IAAI,OAAM,yCAAyC,8CAG3D,KAAK,cAAc,GAAO,EAC1B,KAAK,iBAAiB,GAAO,EAAM,MAAM,MAAM,GAC/C,OAGF,KAAM,GAAS,YAAiB,QAAI,SAAS,OAAS,EAAQ,GAAsB,GACpF,KAAK,UAAU,GAAO,EACtB,KAAK,iBAAiB,GAAO,CAAC,EAAO,OAAQ,EAAO,MAAO,QAIpD,gBACT,MAAO,MAAK,iBAGH,YACT,MAAO,MAAK,aAGH,gBACT,MAAO,MAAK,UAAY,GAAK,KAAK,sBAGzB,aACT,MAAO,MAAK,cAGH,mBACT,MAAO,MAAK,oBAGH,aACT,MAAO,MAAK,cAGH,2BACT,MAAO,IAAM,KAAK,UAAW,EAAG,GAAG,IACjC,CAAC,EAAG,IAAa,KAAK,2BAA2B,IAI9C,SAAS,GACd,MAAO,MAAK,SAAS,IAAa,KAAK,aAAa,GAG/C,mBAAmB,GACxB,MAAO,MAAK,iBAAiB,GAGxB,eAAe,GACpB,MAAO,MAAK,iBAAiB,GAAU,GAGlC,cAAc,GACnB,MAAO,MAAK,iBAAiB,GAAU,GAGlC,2BAA2B,GAChC,GAAI,MAAO,MAAK,WAAc,SAC5B,KAAM,IAAI,OAAM,yFAGlB,KAAM,GAAQ,KAAK,cAAc,GAC3B,EAAS,KAAK,eAAe,GACnC,MAAO,IAA0B,CAAE,QAAO,UAAU,KAAK,WAYpD,cAAc,EAAmB,EAA0B,IAEhE,YAAK,WAAa,EAEX,AAAG,EAAK,KAEb,KAAM,GAAe,GAAM,KAAK,UAAW,EAAG,GAAG,IAAI,IACnD,KAAM,GAAQ,KAAK,SAAS,GAE5B,GAAI,YAAoB,KAEtB,GAAI,GAAY,GAAW,GAAS,EAAQ,EAAM,aAElD,SAAY,GAAY,EAAW,GAEnC,AAAI,GAAU,MAAM,KAAO,GAAa,EAAU,MAAM,KAAO,IAC7D,GAAY,AAAG,GAAM,eAAe,EAAW,CAAC,EAAW,KAGtD,EAAU,KAAK,EAAW,EAAW,GAG9C,GAAI,YAAiB,QAAI,SAAS,OAChC,MAAO,AAAG,IAAQ,WAAW,GAAc,EAAO,EAAW,IAG/D,KAAM,IAAI,OAAM,+BAA+B,8FAAqG,OAGhJ,EAAc,AAAG,GAAM,EAAa,IAAI,GAAK,EAAE,YAAY,KAAK,KAAK,UAAW,EAAW,EAAW,GAE5G,MAAO,MCzIb,kBAAiC,GAC/B,GAAI,YAAkB,IACpB,MAAO,GAGT,GAAI,GAAgB,MAAM,QAAQ,GAC5B,EACA,CAAC,GAEP,GAAI,CAAC,EAAc,OACjB,KAAM,IAAI,OAAM,4CAGlB,KAAM,GAAa,AAAC,GAAgB,MAAM,QAAQ,GAAU,mBAAmB,KAAS,GAElF,EAAa,EAAc,IAAI,IAErC,SAAW,QAAQ,CAAC,EAAO,KACzB,GAAI,CAAC,GAAe,IAAU,CAAC,GAAW,IAAU,CAAC,GAAW,GAE9D,KAAI,OAAO,GAAc,IAAO,SACxB,GAAI,OAAM,eAAe,EAAW,sEAAsE,EAAc,MAG1H,GAAI,OAAM,eAAe,EAAW,iIAG5C,GAAI,GAAW,IAEb,KAAM,GAAY,EAAM,MAAM,GAC9B,GAAI,IAAc,EAChB,KAAM,IAAI,OAAM,eAAe,EAAW,iCAAiC,iDAMjF,KAAM,SAAQ,IACZ,EAAW,IAAI,GAAS,GAAe,IAAU,GAAiB,KAG7D,GAAI,IAAS,EAAY,MAAM,QAAQ,ICrDhD,SAAoB,SAcpB,kBACE,EACA,GAGA,KAAM,CAAE,UAAW,OAAI,SAEvB,GAAI,GAAS,EAEb,GAAI,CAAE,aAAiB,KACrB,KAAM,GAAW,KAAM,IAAW,GAElC,GAAI,EAAS,UAAY,EACvB,KAAM,IAAI,OAAM,8CAGlB,KAAM,GAAiB,EAAS,SAAS,GACzC,EAAS,YAA0B,GAC/B,EACA,KAAM,IAAoB,GAGhC,KAAM,GAAM,GAAoB,GAC1B,EAAQ,EAAW,IACvB,GAAO,YAAe,IAClB,EAAI,QAAQ,EAAO,MAAO,EAAO,QAAQ,IAAI,QAC7C,GAEH,IAAI,GAAO,EAAI,mBAAmB,EAAO,MAAO,EAAO,SAE1D,MAAO,GAAM,IAAI,CAAC,CAAE,IAAG,IAAG,QAAO,aAC/B,KAAM,GAAU,GAAa,CAAE,QAAO,WACtC,UAAoB,GACjB,aAAa,EAAI,aAAa,EAAG,EAAG,EAAO,GAAS,EAAG,GACnD,IClCX,kBACE,EACA,GAGA,GAAI,CAAC,GAAW,IAAgB,CAAC,GAAW,GAC1C,KAAM,IAAI,OAAM,6DAGlB,GAAI,GAAW,IAAgB,EAAY,MAAM,GAAK,EACpD,KAAM,IAAI,OAAM,oDAGlB,MAAO,AAAG,GAAK,KACb,KAAM,CAAC,EAAW,EAAU,GAAe,EAAY,MAAM,MAAM,GAAW,GAAe,EAAI,GAE3F,EAAQ,EAAW,IACvB,GAAO,YAAe,IAClB,EAAI,QAAQ,EAAU,GAAW,IACjC,GAEH,IAAI,GAAO,EAAI,mBAAmB,EAAU,IAEzC,EAAc,EAAM,IAAI,CAAC,CAAE,IAAG,IAAG,QAAO,YAC5C,AAAG,GAAQ,EAAY,KAAK,EAAW,EAAU,GAAc,CAAC,EAAG,EAAG,GAAI,CAAC,EAAQ,EAAO,KAG5F,MAAO,KC3CX,SAAoB,SAEpB,kBACE,EACA,GAGA,KAAM,GAAQ,OAAI,SAAS,MACrB,EAAM,KAAM,GAAM,EAAK,GAC7B,GAAI,CAAE,GAAI,OAAS,KACjB,KAAM,IAAI,OAAM,qBAAqB,EAAI,WAAW,EAAI,yBAAyB,EAAI,OAEvF,MAAO,GCTT,kBAAiC,GAC/B,KAAM,GAAM,KAAM,IAAa,GACzB,EAAO,KAAO,GAAK,OAEzB,GAAI,CAAC,EAAK,KAAK,WAAW,UACxB,KAAM,IAAI,OAAM,wEAAwE,EAAK,kBAAkB,EAAI,OAErH,MAAO,IAAc,GCRvB,kBAAmC,GACjC,MAAQ,MAAM,IAAa,IAAM,OCDnC,kBAAsC,GACpC,MAAO,IAAI,cAAa,KAAO,MAAM,IAAa,IAAM,eCHpD,YAAuB,EAAyB,GACpD,KAAM,GAA0B,GAAG,0BAEnC,GAAI,CAAC,EACH,MAAO,CACL,aAAc,GACd,YAAa,GAIjB,GAAI,IAAQ,IACV,MAAO,CACL,aAAc,IACd,YAAa,IAAI,KAGrB,KAAM,GAAW,EAAI,WAAW,WAAa,UAAY,EAAI,WAAW,YAAc,WAAa,GACnG,EAAM,EAAI,QAAQ,EAAU,IAE5B,KAAM,GAAQ,EAAI,MAAM,KAAK,OAAO,GAAK,GAEnC,EAAe,EAAI,SAAS,SAC9B,EAAM,EAAM,OAAS,GACrB,EAEJ,GAAI,GAAe,EAAY,GAAI,SAAS,SAAW,EAAM,MAAM,EAAG,EAAM,OAAS,GAAK,GAAO,KAAK,KACtG,SAAe,EAAI,WAAW,KAAO,IAAI,IAAiB,EAEnD,CACL,eACA,YAAa,IAAiB,IAAM,IAAI,IAAiB,GAAG,KAAgB,KCzBhF,kBACE,EACA,GAEA,KAAM,CAAE,cAAa,gBAAiB,GAAa,EAAK,GAElD,EAAW,KAAM,IAAuC,GAE9D,MAAO,AAAG,IAAG,YAAY,EAAU,GCV/B,YAA0B,EAAoB,EAAwB,EAA8B,IACxG,KAAM,CAAE,QAAO,UAAW,EACtB,GAAmB,GACnB,EACJ,SAAM,MAAQ,EACd,EAAM,OAAS,EACR,CAAE,QAAO,UCLlB,SAA8B,SAC9B,GAAoB,SALpB,SAYE,YAAsB,GAAA,KAAA,MAAA,EAHZ,KAAA,QAAkC,OAClC,KAAA,eAAiC,MAIhC,UAAmC,MAAO,MAAK,WAC/C,iBAAkC,MAAO,MAAK,kBAC9C,YAAsB,MAAO,CAAC,CAAC,KAAK,OAExC,iBAAiB,GACtB,KAAM,CAAE,MAAK,WAAY,KAAK,qBAAqB,GACnD,MAAO,GAAI,GAGN,sBAAsB,EAAmB,GAC9C,KAAM,CAAE,MAAK,WAAY,KAAK,qBAAqB,GACnD,EAAI,GAAS,UACb,EAAI,GAAW,EAGV,eACL,MAAO,MAAK,eAAe,IAAI,CAAC,CAAE,eAAiB,EACjD,KAAM,EACN,OAAQ,KAAK,iBAAiB,MAI3B,qBACL,MAAO,MAAK,eAAe,OAAO,GAAS,EAAM,iBAAqB,KAGjE,kBACL,MAAO,MAAK,eAAe,OAAO,GAAS,CAAE,GAAM,iBAAqB,MAGnE,WACL,KAAK,kBAAkB,QAAQ,CAAC,CAAE,OAAM,aACtC,KAAK,sBAAsB,EAAM,EAAO,cAIrC,SACL,KAAK,qBAAqB,QAAQ,CAAC,CAAE,OAAM,OAAQ,MACjD,KAAM,GAAS,AAAG,GAAO,EAAS,YAClC,EAAS,UACT,KAAK,sBAAsB,EAAM,KAI9B,QAAQ,EAA4B,IACzC,KAAK,eAAe,QAAQ,IAC1B,GAAI,GAAoB,EAAM,OAAO,WACnC,KAAM,IAAI,OAAM,mDAAmD,EAAM,QAE3E,EAAM,OAAO,YAEf,KAAK,QAAU,OAGV,kBACL,MAAO,IAAI,cACT,KAAK,eACF,IAAI,CAAC,CAAE,YAAa,MAAM,KAAK,EAAO,aACtC,OAAO,CAAC,EAAM,IAAQ,EAAK,OAAO,UAI5B,MAAK,GAChB,GAAI,YAAwB,eAC1B,KAAK,eAAe,GACpB,OAGF,KAAM,MAAK,YAAY,QAGZ,aAAY,GACvB,GAAI,GAAO,MAAO,IAAQ,SACxB,KAAM,IAAI,OAAM,GAAG,KAAK,0CAG1B,KAAM,GAAY,KAAM,kBAAc,EAAK,KAAK,uBAChD,KAAK,kBAAkB,QAGZ,cAAa,GACxB,GAAI,GAAY,MAAO,IAAa,SAClC,KAAM,IAAI,OAAM,GAAG,KAAK,iDAG1B,KAAM,CAAE,YAAa,OAAI,SAEnB,CAAE,cAAa,gBAAiB,GAAa,EAAU,KAAK,uBAE5D,EAAuB,AAAC,GAAwB,QAAQ,IAC5D,EAAU,IAAI,GAAY,EAAS,GAAU,KAAK,GAAO,EAAI,UAEzD,EAAc,AAAG,GAAG,qBAAqB,GAEzC,EAAW,KAAK,MAAO,MAAM,GAAS,IAAc,YACpD,EAAY,KAAM,GAAY,EAAU,GAE9C,KAAK,kBAAkB,GAGlB,kBAAkB,GACvB,KAAM,CACJ,gBACA,UACE,KAAK,2BAA2B,GAEpC,KAAK,eAAiB,EACtB,KAAK,QAAU,EAGV,eAAe,GACpB,KAAM,CACJ,gBACA,UACE,KAAK,cAAc,GAEvB,KAAK,eAAiB,EACtB,KAAK,QAAU,EAGT,qBAAqB,GAC3B,GAAI,CAAC,KAAK,OACR,KAAM,IAAI,OAAM,qDAGlB,KAAM,GAAS,EAAU,MAAM,KAAK,OAAO,CAAC,EAAoD,KAC9F,GAAI,CAAC,EAAI,QAAQ,eAAe,GAC9B,KAAM,IAAI,OAAM,wDAAwD,eAAqB,KAG/F,MAAO,CAAE,IAAK,EAAI,QAAS,UAAS,QAAS,EAAI,QAAQ,KACxD,CAAE,QAAS,KAAK,SAEb,CAAE,MAAK,WAAY,EACzB,GAAI,CAAC,GAAO,CAAC,GAAW,CAAE,GAAI,YAAuB,KACnD,KAAM,IAAI,OAAM,8DAA8D,KAGhF,MAAO,CAAE,MAAK,YCpJZ,YACJ,EACA,EACA,GAEA,MAAO,AAAG,GAAK,KACb,GAAI,GAAM,AAAG,GAAgB,EAAG,EAAO,iBAAkB,EAAO,iBAAkB,EAAQ,QAC1F,SAAM,AAAG,EAAI,EAAK,EAAO,MAClB,ICNL,YACJ,EACA,EACA,EAAwB,IAExB,MAAO,AAAG,GAAK,KACb,KAAM,GAAO,AAAG,GACd,EACI,AAAG,EACH,AAAG,GAAO,EAAI,EAAiB,MAAqB,QAAS,CAAC,EAAG,GAAI,QACrE,EAAiB,MAAM,MAEvB,GAAuB,EAAG,EAAiB,MAA8B,CAAC,EAAG,KAE7E,EAAO,GAAuB,EAAM,EAAiB,MAAO,CAAC,EAAG,IAEhE,EAAM,AAAG,GAAK,AAAG,EAAI,EAAM,IAC3B,EAAO,GAAuB,EAAK,EAAiB,MAAO,CAAC,EAAG,IAErE,MAAO,AAAG,IAAK,AAAG,EAAI,EAAM,AAAG,EAAI,EAAM,OAIvC,YACJ,EACA,EACA,EAAwB,GACxB,EAAuB,IAEvB,MAAO,AAAG,GAAK,KACb,KAAM,GAAO,AAAG,GACd,EACI,AAAG,EACH,AAAG,GAAO,EAAI,EAAiB,MAAqB,QAAS,EAAc,CAAC,EAAG,GAAK,CAAC,EAAG,GAAI,QAC5F,EAAiB,MAAM,MAEvB,GAAuB,EAAG,EAAiB,MAA8B,EAAc,CAAC,EAAG,GAAK,CAAC,EAAG,KAEpG,EAAO,GAAuB,EAAM,EAAiB,MAAO,CAAC,EAAG,IAEhE,EAAM,AAAG,GAAK,AAAG,EAAI,EAAM,IAC3B,EAAO,GAAuB,EAAK,EAAiB,MAAO,CAAC,EAAG,IAE/D,EAAM,AAAG,GAAK,AAAG,EAAI,EAAM,AAAG,EAAI,EAAM,KACxC,EAAO,GAAuB,EAAK,EAAiB,MAAO,CAAC,EAAG,IAErE,MAAO,AAAG,IAAK,AAAG,EAAI,EAAM,AAAG,EAAI,EAAM,AAAG,EAAI,EAAM,QChDpD,YACJ,EACA,EACA,EAA4B,OAC5B,EAAoB,IAEpB,MAAO,AAAG,GAAK,KACb,KAAM,GAAM,AAAG,EACb,AAAG,GAAO,EAAG,EAAO,QAAS,CAAC,EAAG,GAAI,GACrC,EAAO,MAGT,MAAO,GAAW,AAAG,GAAK,GAAO,ICd/B,YAAqC,EAAgB,GACzD,OAAO,KAAK,GAAW,QAAQ,IAC7B,AAAK,EAAc,KAAK,GAAM,EAAG,eAAiB,IAChD,EAAU,GAAM,YCDhB,YACJ,EACA,GAGA,MAAO,UACL,EACA,EACA,EACA,GAGA,KAAM,GAAU,AAAG,GACjB,EAAe,EAAa,EAAc,EAAa,GACvD,CAAC,EAAY,EAAY,EAAY,IAEjC,EAAO,AAAG,GAAS,EAAe,IAExC,SAAc,KACZ,CAAE,UAAW,GAAG,aAChB,CAAE,UAAW,GAAG,WAGX,CAAE,UAAS,SCtBhB,YACJ,EACA,GAGA,MAAO,UACL,EACA,EACA,GAGA,KAAM,GAAa,AAAG,GAAS,EAAe,EAAa,GAAc,CAAC,EAAY,IAChF,EAAU,AAAG,GAAS,EAAe,IAE3C,SAAc,KACZ,CAAE,UAAW,GAAG,aAChB,CAAE,UAAW,GAAG,WAGX,CACL,QAAS,EACT,KAAM,ICPZ,SACE,YACS,EACA,EACA,GAFA,KAAA,iBAAA,EACA,KAAA,iBAAA,EACA,KAAA,KAAA,GCnBL,YACJ,EACA,GAGA,MAAO,UAAS,EAAoB,EAAqB,GACvD,KAAM,GAAmB,AAAG,GAAS,EAAe,EAAI,EAAI,GAAa,CAAC,EAAG,EAAG,EAAY,IACtF,EAAmB,AAAG,GAAS,EAAe,EAAa,GAAc,CAAC,EAAG,EAAG,EAAY,IAC5F,EAAO,AAAG,GAAS,EAAe,IAExC,SAAc,KACZ,CAAE,UAAW,GAAG,sBAChB,CAAE,UAAW,GAAG,sBAChB,CAAE,UAAW,GAAG,WAGX,GAAI,IACT,EACA,EACA,IAMA,YACJ,GAGA,MAAO,UAAU,GACf,KAAM,GAAmB,EAAgC,GAAG,qBAA2B,GACjF,EAAmB,EAAgC,GAAG,qBAA2B,GACjF,EAAO,EAAgC,GAAG,SAAe,GAE/D,MAAO,IAAI,IACT,EACA,EACA,ICtCA,YAAoC,EAAgB,GAExD,MAAO,UAAa,EAAsB,EAAmB,GAC3D,KAAM,GAAS,EAAU,GAEzB,GAAI,CAAC,GAAS,EAAQ,GACpB,KAAM,IAAI,OAAM,sBAAsB,oBAA+B,oBAA4B,KAGnG,SAAc,KACZ,CAAE,eAAc,UAAW,GAAc,IAGpC,GChBL,YAAgC,GACpC,GAAI,GAAmB,EAEvB,WAAwB,GACtB,KAAM,GAAM,EAAiB,MAAM,EAAG,GACtC,SAAmB,EAAiB,MAAM,GACnC,EAGT,aACE,MAAO,GAGT,MAAO,CACL,iBACA,uBCPE,YAA4B,EAAwC,GAExE,KAAM,GAAoB,GAAyB,EAAgB,GAC7D,EAA6B,GAAkC,EAAgB,GAErF,WAAkC,EAAoB,EAAqB,EAAsB,EAAwB,IAEvH,KAAM,GAAQ,EACV,EAAkB,EAAY,EAAa,EAAG,GAAG,WACjD,EAA2B,EAAY,EAAa,GAAG,WACrD,EAAQ,EAA2B,EAAa,EAAa,GAAG,WAChE,EAAQ,EAA2B,EAAa,EAAa,GAAG,WAEtE,MAAO,CAAE,QAAO,QAAO,SAGzB,WAAkC,EAAoB,EAAqB,EAAsB,EAAwB,IAEvH,KAAM,CAAE,QAAO,QAAO,SAAU,EAAyB,EAAY,EAAa,EAAc,GAC1F,EAAQ,EAA2B,EAAa,EAAa,GAAG,WAEtE,MAAO,CAAE,QAAO,QAAO,QAAO,SAGhC,MAAO,CACL,2BACA,4BC7BE,YAAwB,GAE5B,KAAM,GAAgC,GAEhC,CACJ,iBACA,uBACE,GAAsB,GAEpB,CACJ,4BACE,GAAkB,EAAgB,GAEhC,EAAS,EAAyB,EAAG,GAAI,SAAU,IACnD,EAAS,EAAyB,GAAI,GAAI,UAC1C,EAAS,EAAyB,GAAI,IAAK,UAC3C,EAAS,EAAyB,IAAK,IAAK,UAElD,GAAI,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAG1E,MAAO,CACL,gBACA,OAAQ,CAAE,SAAQ,SAAQ,SAAQ,WCzBhC,YAAgC,GACpC,MAAO,UAAS,GACd,KAAM,GAAU,EAAgC,GAAG,YAAkB,GAC/D,EAAO,EAAgC,GAAG,SAAe,GAE/D,MAAO,CAAE,UAAS,SCLhB,YAA4B,EAAgB,GAEhD,KAAM,GAAqB,GAA0B,EAAW,GAE1D,EAAoB,GAAsB,GAC1C,EAA6B,GAA+B,GAElE,WAAkC,EAAgB,EAAwB,IACxE,KAAM,GAAQ,EACV,EAAkB,GAAG,WACrB,EAA2B,GAAG,WAC5B,EAAQ,EAA2B,GAAG,WACtC,EAAQ,EAA2B,GAAG,WAE5C,MAAO,CAAE,QAAO,QAAO,SAGzB,WAAkC,EAAgB,EAAwB,IACxE,KAAM,GAAQ,EACV,EAAkB,GAAG,WACrB,EAA2B,GAAG,WAC5B,EAAQ,EAA2B,GAAG,WACtC,EAAQ,EAA2B,GAAG,WACtC,EAAQ,EAA2B,GAAG,WAE5C,MAAO,CAAE,QAAO,QAAO,QAAO,SAGhC,MAAO,CACL,2BACA,4BC5BE,YACJ,GAGA,KAAM,GAAgC,GAEhC,CACJ,4BACE,GAAkB,EAAW,GAE3B,EAAS,CACb,OAAQ,EAAyB,SAAU,IAC3C,OAAQ,EAAyB,UACjC,OAAQ,EAAyB,UACjC,OAAQ,EAAyB,WAGnC,UAA2B,EAAW,GAE/B,CAAE,SAAQ,iBCvBnB,SAAgD,SAFhD,gBAU0C,IAExC,cACE,MAAM,wBAGD,aAAa,GAElB,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,sDAGlB,MAAO,AAAG,GAAK,KACb,KAAM,GAAc,EAAM,cAAc,IAAK,IACvC,EAAU,CAAC,QAAS,QAAS,SAC7B,EAAa,GAAU,EAAa,GAAS,IAAI,AAAG,EAAO,MAEjE,GAAI,GAAM,GAAY,EAAY,EAAO,OAAQ,IACjD,SAAM,GAAY,EAAK,EAAO,QAC9B,EAAM,GAAY,EAAK,EAAO,QAC9B,EAAM,GAAY,EAAK,EAAO,QAC9B,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,SAE/B,SAIE,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,IAGlC,sBACR,MAAO,+BAGC,2BAA2B,GACnC,MAAO,IAA2B,GAG1B,cAAc,GACtB,MAAO,IAAc,IChDnB,YACJ,EACA,GAEA,MAAO,AAAG,GAAK,IACb,AAAG,EACD,AAAG,EAAO,EAAG,EAAO,SACpB,EAAO,OCRP,YAAwB,EAAuB,EAAoB,GAEvE,KAAM,GAAgC,GAEhC,CACJ,iBACA,uBACE,GAAsB,GAEpB,EAAkB,GAAuB,EAAgB,GAEzD,EAAK,EAAgB,EAAY,EAAa,MAEpD,GAAI,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAG1E,MAAO,CACL,gBACA,OAAQ,CAAE,OCjBR,YACJ,GAGA,KAAM,GAAgC,GAEhC,EAAqB,GAA0B,EAAW,GAEhE,WAAyB,GACvB,KAAM,GAAU,EAAgC,GAAG,YAAkB,GAC/D,EAAO,EAAgC,GAAG,SAAe,GAC/D,MAAO,CAAE,UAAS,QAGpB,KAAM,GAAS,CACb,GAAI,EAAgB,OAGtB,UAA2B,EAAW,GAE/B,CAAE,SAAQ,iBCvBb,YAA6B,GAEjC,KAAM,GAAyC,GACzC,EAAmC,GAEzC,cAAO,KAAK,GAAW,QAAQ,IAC7B,KAAM,GAAM,EAAI,WAAW,MAAQ,EAAgB,EACnD,EAAI,GAAO,EAAU,KAGhB,CAAE,sBAAqB,iBCThC,SAAyB,SAHzB,gBAkBU,IAIR,YAAY,EAAe,GACzB,MAAM,GACN,KAAK,sBAAwB,KAGpB,wBACT,MAAO,MAAK,sBAOP,OAAO,GAEZ,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,GAAG,KAAK,uCAG1B,MAAO,AAAG,GAAK,KACb,KAAM,GAAqB,YAAiB,aACxC,KAAK,qBAAqB,aAAa,GACvC,EACJ,MAAO,IAAoB,EAAmB,KAAK,EAAmB,MAAM,GAAI,IAAK,EAAO,MAIzF,QAAQ,EAA4B,IACzC,KAAK,qBAAqB,QAAQ,GAClC,MAAM,QAAQ,GAGT,qBAAqB,GAC1B,KAAM,CAAE,SAAQ,iBAAkB,KAAK,wBAAwB,GAC/D,KAAK,QAAU,EACf,KAAK,eAAiB,EAGjB,wBAAwB,GAC7B,MAAO,IAAc,EAAS,KAAK,0BAA2B,KAAK,4BAG3D,2BAA2B,GAEnC,KAAM,CAAE,sBAAqB,iBAAkB,GAAmB,GAElE,YAAK,qBAAqB,kBAAkB,GAErC,GAA2B,GAG1B,cAAc,GAEtB,KAAM,GAAM,KAAK,0BACX,EAAO,KAAK,2BACZ,EAAwB,EAAO,EAAQ,EAEvC,EAA0B,EAAQ,MAAM,EAAG,EAAQ,OAAS,GAC5D,EAAoB,EAAQ,MAAM,EAAQ,OAAS,GAEzD,YAAK,qBAAqB,eAAe,GAClC,KAAK,wBAAwB,ICrFjC,KAAM,IAAyB,CAAC,UAAW,QAAS,MAAO,QAAS,UAAW,YAAa,aAAnG,SAWE,YAAY,GACV,GAAI,EAAc,SAAW,EAC3B,KAAM,IAAI,OAAM,8EAA8E,EAAc,UAG9G,GAAuB,QAAQ,CAAC,EAAY,KAC1C,KAAK,GAAc,EAAc,KAIrC,gBACE,MAAO,IACJ,IAAI,GAAe,EAAE,aAAY,YAAa,KAAK,MACnD,KAAK,CAAC,EAAI,IAAO,EAAG,YAAc,EAAG,cCtB5C,SAAgD,SAFhD,gBAQuC,IAErC,YAAY,EAA6C,GAAI,OAC3D,MAAM,oBAAqB,GAGtB,aAAa,GAClB,MAAO,AAAG,GAAK,IAAM,AAAG,GAAQ,KAAK,OAAO,UAGjC,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,SAG/B,oBAAmB,GAC9B,KAAM,GAAW,KAAM,eAAW,GAC5B,EAAM,KAAM,MAAK,aAAa,GAC9B,EAAsB,KAAM,SAAQ,IAAI,AAAG,GAAQ,GAAK,IAAI,KAAM,KACtE,KAAM,GAAO,KAAM,GAAE,OACrB,SAAE,UACK,KAET,EAAI,UAEJ,KAAM,GAAqB,EACxB,IAAI,GAAgB,GAAI,IAAgB,IAE3C,MAAO,GAAS,aACZ,EACA,EAAmB,GAGf,sBACR,MAAO,wBAGC,0BACR,MAAO,KAGC,2BACR,MAAO,IC3CL,YAAgC,GACpC,MAAO,GAAI,sBAA0B,IAGjC,YAGJ,EACA,GAGA,KAAM,GAAY,CAAE,eACpB,MAAO,QAAO,OAAO,GAAI,EAAW,GCThC,YACJ,EACA,EACA,EAAgB,GAChB,GAEA,KAAM,GAAuB,MAAM,QAAQ,GAAmB,EAAkB,CAAC,GAEjF,EAAqB,QAAQ,IAC3B,KAAM,GAAO,YAAa,IACtB,EACC,GAAsB,GAAK,EAAE,YAAc,OAChD,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,mHAGlB,KAAM,GAAS,EAAK,gBACd,EAAmB,EAAO,OAAO,GAAQ,EAAK,YAAc,GAE5D,EAAS,GAAoB,GAC/B,EAAE,UAAU,IAAI,WACf,GAAmB,GAAI,GAAM,EAAG,GAE/B,EAAgB,GAAI,IACxB,EAAiB,IAAI,GAAQ,GAAG,EAAK,eAAe,GAAM,EAAK,iBAC/D,GAEF,EAAc,KAAK,KCtBjB,YAA8B,GAClC,MAAO,IAAoB,IACtB,EAAI,oBAAwB,KAC5B,EAAI,6BAAiC,KACrC,EAAI,sBAA0B,IAG/B,YAIJ,EACA,GAGA,KAAM,CAAE,IAAK,GAAU,EAAU,UAC3B,EAAY,EAAmB,QAAwB,EAAM,EAAG,EAAM,GAEtE,EAAO,EAAU,QACjB,CAAE,aAAc,EAAU,UAC1B,EAAc,GAAI,IAAc,EAAU,UAAU,MAAO,EAAK,QAAQ,EAAU,WAAY,GAE9F,EAAY,CAChB,YACA,qBACA,eAGF,MAAO,QAAO,OAAO,GAAI,EAAW,GCzCtC,SAwBE,YAAY,EAAqC,IAC/C,KAAM,CAAE,YAAY,GAAM,aAAa,GAAM,YAAW,YAAW,YAAW,cAAe,EAC7F,KAAK,UAAY,EACjB,KAAK,WAAa,EAClB,KAAK,UAAY,GAAa,EAC9B,KAAK,UAAY,GAAa,EAC9B,KAAK,UAAY,GAAa,uBAC9B,KAAK,WAAa,GAAc,wBA/BpC,SAuCE,YACE,EACA,EAAqC,IAErC,KAAK,cAAgB,EACrB,KAAK,QAAU,GAAI,IAAyB,GAG9C,KAAK,GACH,KAAM,GAAM,GAAoB,GAE1B,CAAE,YAAW,aAAY,YAAW,YAAW,YAAW,cAAe,KAAK,QAcpF,GAZA,AAAI,GAAa,KAAK,wBAAyB,KAC7C,GAAI,YAAc,EAClB,EAAI,UAAY,EAChB,GAAY,EAAK,KAAK,cAAc,iBACpC,GAAY,EAAK,KAAK,cAAc,kBACpC,GAAY,EAAK,KAAK,cAAc,mBACpC,GAAY,EAAK,KAAK,cAAc,WACpC,GAAY,EAAK,KAAK,cAAc,aAAc,IAClD,GAAY,EAAK,KAAK,cAAc,cAAe,IACnD,GAAY,EAAK,KAAK,cAAc,WAAY,KAG9C,GACF,EAAI,YAAc,EAClB,EAAI,UAAY,EAEhB,KAAM,GAAY,AAAC,IACjB,EAAI,YACJ,EAAI,IAAI,EAAG,EAAG,EAAG,EAAG,EAAW,EAAG,EAAI,KAAK,IAC3C,EAAI,QAEN,KAAK,cAAc,UAAU,QAAQ,KAOrC,YACJ,EACA,GAEA,KAAM,GAAqB,MAAM,QAAQ,GAAiB,EAAgB,CAAC,GAC3E,EAAmB,QAAQ,IACzB,KAAM,GAAY,YAAa,IAC3B,EACC,GAAoB,GAAK,EAAE,UAAY,OAC5C,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,gIAGlB,GAAI,IAAkB,GAAW,KAAK,KC9F1C,uRCKA,YAA2B,EAAwC,GAEjE,KAAM,GAAoB,GAAyB,EAAgB,GAC7D,EAA6B,GAAkC,EAAgB,GAErF,WAAqC,EAAoB,EAAqB,GAE5E,KAAM,GAAkB,EAA2B,EAAY,EAAa,GAAG,qBACzE,EAAkB,EAA2B,EAAa,EAAa,GAAG,qBAC1E,EAAiB,EAAkB,EAAY,EAAa,EAAG,GAAG,oBAExE,MAAO,CAAE,kBAAiB,kBAAiB,kBAG7C,WAAgC,EAAkB,GAEhD,KAAM,GAAkB,EAA2B,EAAU,EAAU,GAAG,qBACpE,EAAkB,EAA2B,EAAU,EAAU,GAAG,qBACpE,EAAkB,EAA2B,EAAU,EAAU,GAAG,qBAE1E,MAAO,CAAE,kBAAiB,kBAAiB,mBAG7C,MAAO,CACL,oBACA,6BACA,8BACA,0BAKE,YAAwB,EAAuB,GAEnD,KAAM,GAAgC,GAEhC,CACJ,iBACA,uBACE,GAAsB,GAEpB,CACJ,oBACA,6BACA,8BACA,0BACE,GAAkB,EAAgB,GAEhC,EAAqB,EAAkB,EAAG,GAAI,EAAG,sBACjD,EAA+B,EAA4B,GAAI,GAAI,gCACnE,EAA+B,EAA4B,GAAI,IAAK,gCAEpE,EAAa,CACjB,QAAS,EACT,kBAAmB,EACnB,kBAAmB,GAGf,EAAc,GACpB,GAAM,EAAe,EAAG,GAAG,QAAQ,AAAC,IAClC,EAAY,cAAc,KAAS,EAAuB,IAAK,0BAA0B,OAG3F,KAAM,GAA4B,EAA4B,IAAK,IAAK,6BAClE,EAA2B,EAA2B,IAAK,IAAK,4BAEhE,EAAY,CAChB,gBAAiB,EACjB,eAAgB,GAGlB,GAAI,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAG1E,MAAO,CACL,gBACA,OAAQ,CAAE,aAAY,cAAa,cCtEvC,YAA2B,EAAgB,GAEzC,KAAM,GAAqB,GAA0B,EAAW,GAE1D,EAAoB,GAAsB,GAC1C,EAA6B,GAA+B,GAElE,WAAqC,GAEnC,KAAM,GAAkB,EAA2B,GAAG,qBAChD,EAAkB,EAA2B,GAAG,qBAChD,EAAiB,EAAkB,GAAG,oBAE5C,MAAO,CAAE,kBAAiB,kBAAiB,kBAG7C,WAAgC,GAE9B,KAAM,GAAkB,EAA2B,GAAG,qBAChD,EAAkB,EAA2B,GAAG,qBAChD,EAAkB,EAA2B,GAAG,qBAEtD,MAAO,CAAE,kBAAiB,kBAAiB,mBAG7C,MAAO,CACL,oBACA,6BACA,8BACA,0BAIE,YACJ,EACA,GAGA,KAAM,GAAgC,GAEhC,CACJ,oBACA,6BACA,8BACA,0BACE,GAAkB,EAAW,GAE3B,EAAqB,EAAkB,sBACvC,EAA+B,EAA4B,gCAC3D,EAA+B,EAA4B,gCAE3D,EAAa,CACjB,QAAS,EACT,kBAAmB,EACnB,kBAAmB,GAGf,EAAc,GACpB,GAAM,EAAe,EAAG,GAAG,QAAQ,AAAC,IAClC,EAAY,cAAc,KAAS,EAAuB,0BAA0B,OAGtF,KAAM,GAA4B,EAA4B,6BACxD,EAA2B,EAA2B,4BAEtD,EAAY,CAChB,gBAAiB,EACjB,eAAgB,GAGlB,UAA2B,EAAW,GAE/B,CAAE,OAAQ,CAAE,aAAY,cAAa,aAAa,iBCjF3D,SAAgD,SAQhD,YAAc,EAAgB,EAAoB,GAChD,MAAO,AAAG,GAAI,AAAG,GAAO,EAAG,EAAO,QAAS,EAAQ,QAAS,EAAO,MAGrE,YAAwB,EAAgB,EAA8B,EAA2B,IAC/F,GAAI,GAAM,EAAkB,AAAG,GAAK,GAAK,EACzC,SAAM,GAAuB,EAAK,EAAO,gBAAiB,CAAC,EAAG,IAC9D,EAAM,GAAuB,AAAG,GAAK,GAAO,EAAO,gBAAiB,CAAC,EAAG,IACxE,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,AAAG,EAAI,EAAK,GAAK,EAAI,EAAO,eAAgB,CAAC,EAAG,KAC/C,EAGT,YAAmB,EAAgB,GACjC,GAAI,GAAM,GAAuB,AAAG,GAAK,GAAI,EAAO,gBAAiB,CAAC,EAAG,IACzE,SAAM,GAAuB,AAAG,GAAK,GAAM,EAAO,gBAAiB,CAAC,EAAG,IACvE,EAAM,GAAuB,AAAG,GAAK,GAAM,EAAO,gBAAiB,CAAC,EAAG,IACvE,EAAM,AAAG,EAAI,EAAK,GACX,EA7BT,gBAgCkC,IAIhC,YAAY,GACV,MAAM,gBACN,KAAK,eAAiB,EAGjB,aAAa,GAElB,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,8CAGlB,MAAO,AAAG,GAAK,KACb,KAAM,GAAc,EAAM,cAAc,IAAK,IACvC,EAAU,CAAC,QAAS,QAAS,SAC7B,EAAa,GAAU,EAAa,GAAS,IAAI,AAAG,EAAO,MAEjE,GAAI,GAAM,AAAG,GAAK,GAAK,EAAY,EAAO,WAAW,QAAS,CAAC,EAAG,KAClE,SAAM,GAAe,EAAK,EAAO,WAAW,kBAAmB,IAC/D,EAAM,GAAe,EAAK,EAAO,WAAW,mBAE5C,GAAM,KAAK,eAAgB,EAAG,GAAG,QAAQ,AAAC,IACxC,EAAM,GAAU,EAAK,EAAO,YAAY,cAAc,QAGxD,EAAM,GAAe,EAAK,EAAO,UAAU,iBAC3C,EAAM,AAAG,GAAK,GAAuB,EAAK,EAAO,UAAU,eAAgB,CAAC,EAAG,KACxE,SAIE,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,IAGlC,sBACR,MAAO,sBAGC,2BAA2B,GACnC,MAAO,IAA2B,EAAW,KAAK,gBAG1C,cAAc,GACtB,MAAO,IAAc,EAAS,KAAK,iBC9EjC,YAAwB,GAE5B,KAAM,GAAgC,GAEhC,CACJ,iBACA,uBACE,GAAsB,GAEpB,EAAkB,GAAuB,EAAgB,GAEzD,EAAM,EAAgB,IAAK,EAAG,UAC9B,EAAS,EAAgB,IAAK,EAAG,aAEvC,GAAI,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAG1E,MAAO,CACL,gBACA,OAAQ,CAAE,GAAI,CAAE,MAAK,YClBnB,YACJ,GAGA,KAAM,GAAgC,GAEhC,EAAqB,GAA0B,EAAW,GAEhE,WAAyB,GACvB,KAAM,GAAU,EAAgC,GAAG,YAAkB,GAC/D,EAAO,EAAgC,GAAG,SAAe,GAC/D,MAAO,CAAE,UAAS,QAGpB,KAAM,GAAS,CACb,GAAI,CACF,IAAK,EAAgB,UACrB,OAAQ,EAAgB,eAI5B,UAA2B,EAAW,GAE/B,CAAE,SAAQ,iBClBnB,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,OAAA,SACA,EAAA,KAAA,SAFU,IAAA,IAAM,KCDlB,SAAgD,SAThD,gBAWkC,IAIhC,YAAY,EAAqC,GAAI,IAAa,IAChE,MAAM,gBACN,KAAK,sBAAwB,KAGpB,wBACT,MAAO,MAAK,sBAGP,OAAO,GAEZ,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,GAAG,KAAK,uCAG1B,MAAO,AAAG,GAAK,KACb,KAAM,GAAqB,YAAiB,aACxC,KAAK,qBAAqB,aAAa,GACvC,EAEE,EAAS,AAAG,GAAQ,EAAoB,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,SAAS,KAAK,EAAmB,MAAM,GAAI,IACnG,EAAM,GAAoB,EAAQ,EAAO,GAAG,KAAK,OACjD,EAAS,GAAoB,EAAQ,EAAO,GAAG,QACrD,MAAO,CAAE,MAAK,YAIX,aAAa,GAClB,MAAO,AAAG,GAAK,KACb,KAAM,CAAE,MAAK,UAAW,KAAK,OAAO,GACpC,MAAO,CAAE,MAAK,OAAQ,AAAG,GAAQ,WAIxB,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,SAG/B,qBAAoB,GAC/B,KAAM,GAAW,KAAM,eAAW,GAC5B,EAAM,KAAM,MAAK,aAAa,GAE9B,EAAO,AAAG,GAAQ,EAAI,KACtB,EAAU,AAAG,GAAQ,EAAI,QACzB,EAAsB,EAAK,IAAI,CAAC,EAAW,IAAO,EACtD,YACA,aAAc,EAAQ,MAGlB,EAAqB,KAAM,SAAQ,IACvC,EAAoB,IAAI,MAAO,CAAE,YAAW,mBAC1C,KAAM,GAAO,MAAM,GAAU,QAAQ,GAC/B,EAAY,MAAM,GAAa,QAAQ,GACvC,EAAS,EAAW,GACpB,EAAS,EAAS,GAAO,KAAO,GAAO,OACvC,EAAoB,EAAS,EAAY,EAAI,EAEnD,SAAU,UACV,EAAa,UACN,CAAE,MAAK,SAAQ,wBAG1B,SAAI,IAAI,UACR,EAAI,OAAO,UAEJ,EAAS,aACZ,EACA,EAAmB,GAGf,sBACR,MAAO,mBAGF,QAAQ,EAA4B,IACzC,KAAK,qBAAqB,QAAQ,GAClC,MAAM,QAAQ,GAGT,qBAAqB,GAC1B,KAAM,CAAE,SAAQ,iBAAkB,KAAK,wBAAwB,GAC/D,KAAK,QAAU,EACf,KAAK,eAAiB,EAGjB,wBAAwB,GAC7B,MAAO,IAAc,GAGb,2BAA2B,GAEnC,KAAM,CAAE,sBAAqB,iBAAkB,GAAmB,GAElE,YAAK,qBAAqB,kBAAkB,GAErC,GAA2B,GAG1B,cAAc,GAEtB,KAAM,GAAwB,IAAM,EAAI,EAAM,KAAM,EAAI,GAElD,EAA0B,EAAQ,MAAM,EAAG,EAAQ,OAAS,GAC5D,EAAoB,EAAQ,MAAM,EAAQ,OAAS,GAEzD,YAAK,qBAAqB,eAAe,GAClC,KAAK,wBAAwB,ICvHxC,SAAgD,SAJhD,gBAYU,IAED,YAAY,EAAqB,EAAmB,GAEzD,KAAM,GAAkB,EAAmB,IAAI,CAAC,CAAE,QAAO,aACvD,KAAM,GAAQ,EAAY,KAAK,IAAI,EAAQ,GAC3C,MAAO,CACL,MAAO,EAAQ,EACf,OAAQ,EAAS,KAIf,EAAY,EAAgB,OAElC,MAAO,AAAG,GAAK,KACb,KAAM,GAA0B,CAAC,EAAe,IAC9C,AAAG,GAAM,CACP,AAAG,GAAK,CAAC,IAAK,GACd,AAAG,GAAK,CAAC,IAAK,IACb,GAAG,KAAK,EAAG,KAAK,OAEf,EAAa,CAAC,EAAkB,KACpC,KAAM,CAAE,QAAO,UAAW,EAAgB,GAC1C,MAAO,GAAK,EAAO,GAAU,KAAK,IAAI,EAAQ,GAAU,EAAI,GAExD,EAAc,AAAC,GAAqB,EAAW,EAAU,CAAC,EAAG,IAAM,EAAI,GACvE,EAAc,AAAC,GAAqB,EAAW,EAAU,CAAC,EAAG,IAAM,EAAI,GAEvE,EAAkB,EACrB,IAAI,AAAG,GAAK,CAAC,EAAW,KAAM,IAC9B,IAAI,AAAG,GAAM,MAAM,KAAK,MAAM,GAAY,CAAC,EAAG,IAC7C,EACE,EAAY,GACZ,EAAY,OAGf,IAAI,AAAG,GAAM,MAAM,KAAK,MAAM,GAAY,CAAC,EAAG,IAC7C,EACE,EAAgB,GAAU,MAC1B,EAAgB,GAAU,WAIhC,MAAO,KAIJ,aAAa,GAClB,MAAO,AAAG,GAAK,KACb,KAAM,GAAM,KAAK,OAAO,GACxB,MAAO,MAAK,YACV,EACA,EAAM,UACN,EAAM,gBAAgB,IAAI,CAAC,CAAC,EAAQ,KAAY,EAAE,SAAQ,mBAKnD,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,SAG/B,iBAAgB,GAC3B,KAAM,GAAW,KAAM,eAAW,GAC5B,EAAkB,AAAG,EACzB,IAAM,AAAG,GAAQ,KAAK,aAAa,KAG/B,EAAoB,KAAM,SAAQ,IAAI,EAAgB,IAC1D,MAAO,EAAgB,KACrB,KAAM,GAAiB,MAAM,KAAK,KAAM,GAAe,QACjD,EAAU,EAAe,OAAO,CAAC,EAAG,IAAM,GAAO,IACjD,EAAU,EAAe,OAAO,CAAC,EAAG,IAAM,CAAC,GAAO,IAExD,MAAO,IAAI,IACT,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,EAAG,IAAM,GAAI,GAAM,EAAQ,GAAI,EAAQ,KAC9D,CACE,OAAQ,EAAS,eAAe,GAChC,MAAQ,EAAS,cAAc,QAMvC,SAAgB,QAAQ,GAAK,EAAE,WAExB,EAAS,aACZ,EACA,EAAkB,GAGd,2BACR,MAAO,MCxGX,gBAIuC,IAErC,YAAY,EAA6C,GAAI,OAC3D,MAAM,oBAAqB,GAGnB,sBACR,MAAO,yBAGC,0BACR,MAAO,MCTL,YACJ,GAGA,KAAM,GAAgC,GAEhC,CACJ,4BACE,GAAkB,EAAW,GAE3B,EAAS,CACb,OAAQ,EAAyB,SAAU,IAC3C,OAAQ,EAAyB,UACjC,OAAQ,EAAyB,WAGnC,UAA2B,EAAW,GAE/B,CAAE,SAAQ,iBClBb,YAA4B,GAEhC,KAAM,GAAgC,GAEhC,CACJ,iBACA,uBACE,GAAsB,GAEpB,CACJ,4BACE,GAAkB,EAAgB,GAEhC,EAAS,EAAyB,EAAG,GAAI,SAAU,IACnD,EAAS,EAAyB,GAAI,GAAI,UAC1C,EAAS,EAAyB,GAAI,IAAK,UAEjD,GAAI,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAG1E,MAAO,CACL,gBACA,OAAQ,CAAE,SAAQ,SAAQ,WC3B9B,SAAgD,SAFhD,gBAU8C,IAE5C,cACE,MAAM,4BAGD,aAAa,GAElB,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,0DAGlB,MAAO,AAAG,GAAK,KACb,KAAM,GAAc,EAAM,cAAc,IAAK,IACvC,EAAU,CAAC,QAAS,QAAS,SAC7B,EAAa,GAAU,EAAa,GAAS,IAAI,AAAG,EAAO,MAEjE,GAAI,GAAM,GAAY,EAAY,EAAO,OAAQ,IACjD,SAAM,GAAY,EAAK,EAAO,QAC9B,EAAM,GAAY,EAAK,EAAO,QAC9B,EAAM,AAAG,GAAQ,EAAK,CAAC,GAAI,IAAK,CAAC,EAAG,GAAI,SAEjC,SAIE,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,IAGlC,sBACR,MAAO,oCAGC,2BAA2B,GACnC,MAAO,IAA+B,GAG9B,cAAc,GACtB,MAAO,IAAkB,ICnD7B,gBAI2C,IAEzC,YAAY,EAAiD,GAAI,OAC/D,MAAM,wBAAyB,GAGvB,sBACR,MAAO,8BAGC,0BACR,MAAO,MCfX,gBAKqC,KCD/B,YAAgB,EAAgB,GACpC,MAAO,AAAG,GAAI,AAAG,EAAI,EAAG,EAAO,SAAU,EAAO,QCClD,YACE,EACA,EACA,EACA,EACA,EAA4B,QAE5B,KAAM,CAAE,UAAS,QAAS,EAAO,KAEjC,GAAI,GAAM,AAAG,GAAO,EAAG,EAAS,EAAS,GACzC,SAAM,AAAG,EAAI,EAAK,GAClB,EAAM,GAAM,EAAK,EAAO,OACjB,EAAW,AAAG,GAAK,GAAO,EAG7B,YAAe,EAAgB,GACnC,MAAO,IAAU,EAAG,EAAQ,CAAC,EAAG,GAAI,IAGhC,YAAqB,EAAgB,GACzC,MAAO,IAAU,EAAG,EAAQ,CAAC,EAAG,GAAI,IAGhC,YAAmB,EAAgB,GACvC,MAAO,IAAU,EAAG,EAAQ,CAAC,EAAG,GAAI,GAAM,SCxB5C,YAA2B,EAAwC,GAEjE,WAA6B,EAAyB,EAAoB,GACxE,KAAM,GAAU,EAAe,GACzB,EAAQ,EAAQ,OAAU,GAAa,EAAa,GAE1D,GAAI,GAAQ,GACV,KAAM,IAAI,OAAM,+BAA+B,sBAA0B,EAAQ,uBAAuB,kBAA2B,KAGrI,MAAO,AAAG,GACR,IAAM,AAAG,EACP,AAAG,GAAS,EAAS,CAAC,EAAY,EAAO,EAAY,IACrD,CAAC,EAAG,EAAG,EAAG,KAKhB,WACE,EACA,EACA,EACA,GAGA,KAAM,GAAU,EAAoB,EAAiB,EAAY,GAC3D,EAAO,AAAG,GAAS,EAAe,IAExC,SAAc,KACZ,CAAE,UAAW,GAAG,aAChB,CAAE,UAAW,GAAG,WAGX,CAAE,UAAS,QAGpB,WAAiC,EAAoB,GAEnD,KAAM,GAAU,AAAG,GAAS,EAAe,IACrC,EAAS,AAAG,GAAS,EAAe,IAE1C,SAAc,KACZ,CAAE,UAAW,GAAG,aAChB,CAAE,UAAW,GAAG,aAGX,CACL,UACA,UAIJ,WACE,EACA,EACA,EACA,GAGA,KAAM,GAAO,EAAkB,EAAiB,EAAY,EAAY,GAAG,UACrE,EAAQ,EAAwB,EAAY,GAAG,WAErD,MAAO,CAAE,OAAM,SAGjB,WACE,EACA,EACA,EACA,EACA,EAAkB,IAGlB,KAAM,GAAQ,EAAwB,GAAS,GAAM,GAAK,EAAiB,EAAY,EAAY,GAAG,WAChG,EAAQ,EAAuB,EAAiB,EAAY,EAAY,GAAG,WAEjF,MAAO,CAAE,QAAO,SAGlB,MAAO,CACL,yBACA,8BAKE,YAAwB,GAE5B,KAAM,CACJ,iBACA,uBACE,GAAsB,GAEpB,EAAgC,GAEhC,CACJ,yBACA,8BACE,GAAkB,EAAgB,GAEhC,EAAc,EAAuB,KAAM,GAAI,EAAG,eAClD,EAAW,EAA2B,KAAM,GAAI,EAAG,YACnD,EAAW,EAA2B,KAAM,GAAI,EAAG,YACnD,EAAW,EAA2B,KAAM,GAAI,EAAG,YAEnD,EAAc,EAA2B,MAAO,GAAI,EAAG,cAAe,IACtE,EAAW,EAA2B,MAAO,GAAI,EAAG,YACpD,EAAW,EAA2B,MAAO,GAAI,EAAG,YACpD,EAAW,EAA2B,MAAO,GAAI,EAAG,YAEpD,EAAe,EAA2B,OAAQ,IAAK,EAAG,eAAgB,IAC1E,EAAY,EAA2B,OAAQ,IAAK,EAAG,aACvD,EAAY,EAA2B,OAAQ,IAAK,EAAG,aAEvD,EAAe,EAA2B,OAAQ,IAAK,EAAG,eAAgB,IAC1E,EAAY,EAA2B,OAAQ,IAAK,EAAG,aACvD,EAAY,EAA2B,OAAQ,IAAK,EAAG,aACvD,EAAmB,EAA2B,OAAQ,IAAK,EAAG,oBAE9D,EAAK,AAAG,EACZ,IAAM,AAAG,EAAU,AAAG,GAAS,EAAe,IAAM,KAAM,CAAC,IAAK,MAAO,CAAC,EAAG,KAI7E,GAFA,EAAc,KAAK,CAAE,UAAW,OAE5B,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAG1E,KAAM,GAAS,CACb,cACA,WACA,WACA,WACA,cACA,WACA,WACA,WACA,eACA,YACA,YACA,eACA,YACA,YACA,mBACA,MAGF,MAAO,CAAE,SAAQ,iBCnJnB,YAA2B,EAAgB,GAEzC,KAAM,GAAqB,GAA0B,EAAW,GAEhE,WAAiC,GAE/B,KAAM,GAAU,EAAgC,GAAG,kBAAwB,GACrE,EAAS,EAAgC,GAAG,iBAAuB,GAEzE,MAAO,CAAE,UAAS,UAGpB,WAAgC,GAE9B,KAAM,GAAU,EAAgC,GAAG,iBAAuB,GACpE,EAAO,EAAgC,GAAG,cAAoB,GAC9D,EAAQ,EAAwB,GAEtC,MAAO,CAAE,KAAM,CAAE,UAAS,QAAQ,SAGpC,WAAoC,GAClC,MAAO,CACL,MAAO,EAAuB,GAAG,WACjC,MAAO,EAAuB,GAAG,YAIrC,MAAO,CACL,yBACA,8BAKE,YACJ,GAGA,KAAM,GAAgC,GAEhC,CACJ,yBACA,8BACE,GAAkB,EAAW,GAE3B,EAAc,EAAuB,eACrC,EAAW,EAA2B,YACtC,EAAW,EAA2B,YACtC,EAAW,EAA2B,YAEtC,EAAc,EAA2B,eACzC,EAAW,EAA2B,YACtC,EAAW,EAA2B,YACtC,EAAW,EAA2B,YAEtC,EAAe,EAA2B,gBAC1C,EAAY,EAA2B,aACvC,EAAY,EAA2B,aAEvC,EAAe,EAA2B,gBAC1C,EAAY,EAA2B,aACvC,EAAY,EAA2B,aACvC,EAAmB,EAA2B,oBAE9C,EAAK,EAAU,GAGrB,GAFA,EAAc,KAAK,CAAE,aAAc,KAAM,UAAW,OAEhD,CAAC,GAAW,GACd,KAAM,IAAI,OAAM,yDAAyD,KAG3E,KAAM,GAAS,CACb,cACA,WACA,WACA,WACA,cACA,WACA,WACA,WACA,eACA,YACA,YACA,eACA,YACA,YACA,mBACA,MAGF,UAA2B,EAAW,GAE/B,CAAE,SAAQ,iBC9Fb,YAAmB,EAAgB,GACvC,GAAI,GAAM,GAAK,EAAG,EAAO,OACzB,SAAM,GAAW,EAAK,EAAO,OAC7B,EAAM,AAAG,EAAI,EAAK,GAClB,EAAM,AAAG,GAAK,GACP,EAGH,YAAuB,EAAgB,GAC3C,GAAI,GAAM,GAAS,EAAG,EAAO,OAC7B,EAAM,GAAW,EAAK,EAAO,OAE7B,GAAI,GAAS,AAAG,GAAQ,EAAG,EAAG,EAAG,SACjC,KAAM,GAAQ,AAAG,GAAkB,EAAO,OACpC,EAAQ,EAAO,MAAM,KAAO,EAAI,MAAM,GACtC,EAAgB,EAAO,MAAM,KAAO,EAAI,MAAM,IAAM,EAAO,MAAM,KAAO,EAAI,MAAM,GAExF,GAAI,GACF,KAAM,GAAY,CAAC,GAAG,EAAI,OAC1B,EAAU,GAAK,EACf,KAAM,GAAS,AAAG,GAAkB,GACpC,EAAM,AAAG,EAAO,CAAC,EAAK,GAAS,GAE/B,KAAM,GAAY,CAAC,GAAG,EAAI,OAC1B,EAAU,GAAK,EACf,KAAM,GAAS,AAAG,GAAkB,GACpC,EAAM,AAAG,EAAO,CAAC,EAAK,GAAS,GAGjC,SAAS,EAAQ,AAAG,EAAO,CAAC,EAAQ,GAAQ,GAAK,EACjD,EAAM,AAAG,EAAI,EAAQ,GAErB,EAAM,AAAG,GAAK,GACP,ECpCT,SAAgD,SAFhD,gBAYwC,IAEtC,cACE,MAAM,sBAGD,aAAa,GAElB,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,oDAGlB,MAAO,AAAG,GAAK,KACb,KAAM,GAAc,EAAM,cAAc,IAAK,IAAM,UAE7C,EAAU,CAAC,QAAS,QAAS,SAC7B,EAAa,GAAU,EAAa,GAAS,IAAI,AAAG,EAAO,MAEjE,GAAI,GAAM,GAAS,EAAY,EAAO,aACtC,EAAM,AAAG,GAAQ,EAAK,EAAG,EAAG,SAE5B,EAAM,GAAS,EAAK,EAAO,UAC3B,EAAM,GAAS,EAAK,EAAO,UAC3B,EAAM,GAAS,EAAK,EAAO,UAE3B,EAAM,GAAa,EAAK,EAAO,aAC/B,EAAM,GAAS,EAAK,EAAO,UAC3B,EAAM,GAAS,EAAK,EAAO,UAC3B,EAAM,GAAS,EAAK,EAAO,UAE3B,EAAM,GAAa,EAAK,EAAO,cAC/B,EAAM,GAAS,EAAK,EAAO,WAC3B,EAAM,GAAS,EAAK,EAAO,WAE3B,EAAM,GAAa,EAAK,EAAO,cAC/B,EAAM,GAAS,EAAK,EAAO,WAC3B,EAAM,GAAS,EAAK,EAAO,WAC3B,EAAM,GAAa,EAAK,EAAO,kBAE/B,KAAM,GAAY,EAAI,KAAK,CAAC,EAAG,IACzB,EAAiB,AAAG,EAAO,EAAW,EAAO,IAEnD,MAAO,UAIE,SAAQ,GACnB,MAAO,MAAK,aAAa,KAAM,eAAW,SAG/B,uBAAsB,GACjC,KAAM,GAAW,KAAM,eAAW,GAE5B,EAAwB,AAAG,EAC/B,IAAM,AAAG,GAAQ,KAAK,aAAa,KAG/B,EAA0B,KAAM,SAAQ,IAAI,EAAsB,IACtE,GAAK,EAAE,SAGT,SAAsB,QAAQ,GAAK,EAAE,WAE9B,EAAS,aACZ,EACA,EAAwB,GAGpB,sBACR,MAAO,yBAGC,2BAA2B,GACnC,MAAO,IAA2B,GAG1B,cAAc,GACtB,MAAO,IAAc,ICvFnB,YAAmC,GACvC,KAAM,GAAM,GAAI,MAChB,SAAI,eAAe,GACZ,ECHH,YAGJ,EACA,GAGA,KAAM,GAAY,CAAE,cACpB,MAAO,QAAO,OAAO,GAAI,EAAW,GCRhC,YAAoB,GACxB,MAAO,OAAO,GAAI,KAAW,SAGzB,YAGJ,EACA,GAGA,KAAM,GAAY,CAAE,OACpB,MAAO,QAAO,OAAO,GAAI,EAAW,GCRhC,YAAuB,GAC3B,MAAQ,GAAI,SAAc,GAAO,MAAQ,EAAI,SAAc,GAAO,SAC7D,GAAmB,EAAI,mBAGxB,YAGJ,EACA,EACA,GAGA,KAAM,GAAY,CAAE,SAAQ,qBAC5B,MAAO,QAAO,OAAO,GAAI,EAAW,GCtBtC,cAEe,MACX,GAEA,MAAO,GAAY,KAAM,MAAK,YAGnB,OACX,KAAM,IAAI,OAAM,4CCNpB,SAA4D,SAI5D,kBACE,EACA,EACA,EACA,EACA,EAAwF,CAAC,CAAE,iBAAkB,GAE7G,KAAM,GAAY,EAAc,IAAI,GAClC,GAAoB,GAChB,EAAoB,GACpB,EAAa,WAEb,EAAgD,GACpD,aAAoB,IAChB,KAAM,uBAAmB,EAAO,GAChC,KAAM,iBAAa,EAAO,IAG1B,EAAU,KAAM,GAAe,GAErC,SAAM,QAAQ,GAAK,YAAgB,KAAU,EAAE,WAExC,EAGT,kBACE,EACA,EACA,EACA,EACA,GAEA,MAAO,IACL,CAAC,GACD,EACA,KAAM,IAAS,EAAc,EAAM,IACnC,EACA,GC/BJ,KAAM,IAAW,AAAC,GAAa,MAAO,IAAQ,SAExC,YAAyB,GAC7B,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,mBAAmB,KAGrC,GAAI,MAAO,GAAO,oBAAuB,UACvC,KAAM,IAAI,OAAM,wDAAwD,EAAO,sBAGjF,GAAI,CAAC,GAAS,EAAO,eAAiB,EAAO,aAAe,GAAK,EAAO,aAAe,EACrF,KAAM,IAAI,OAAM,gEAAgE,EAAO,gBAGzF,GACE,CAAC,MAAM,QAAQ,EAAO,UACnB,CAAC,EAAO,QAAQ,QAChB,CAAC,EAAO,QAAQ,MAAM,AAAC,GAAW,MAAO,IAAM,UAGlD,KAAM,IAAI,OAAM,kEAAkE,KAAK,UAAU,EAAO,YAG1G,GACE,CAAC,MAAM,QAAQ,EAAO,UACnB,CAAC,EAAO,QAAQ,QAChB,CAAC,EAAO,QAAQ,IAAI,AAAC,GAAW,GAAK,IAAI,MAAM,AAAC,GAAW,GAAS,EAAE,IAAM,GAAS,EAAE,IAG1F,KAAM,IAAI,OAAM,wEAAwE,KAAK,UAAU,EAAO,YAGhH,GAAI,EAAO,SACT,EAAC,MAAM,QAAQ,EAAO,UACnB,EAAO,QAAQ,SAAW,GAC1B,CAAC,EAAO,QAAQ,MAAM,KAGzB,KAAM,IAAI,OAAM,8EAA8E,KAAK,UAAU,EAAO,YClDlH,YAAgB,GACpB,MAAO,AAAG,GAAK,KACb,KAAM,GAAM,AAAG,EAAI,EAAG,AAAG,EAAO,qBAChC,MAAO,AAAG,GAAI,AAAG,GAAK,AAAG,EAAI,EAAG,IAAO,KCArC,YAA4B,EAAgB,GAChD,MAAO,AAAG,GAAK,KACb,GAAI,GAAM,AAAG,GAAI,EAAG,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAEjD,SAAM,AAAG,GAAO,EAAK,EAAO,KAAK,QAAS,CAAC,EAAG,GAAI,SAClD,EAAM,AAAG,EAAI,EAAK,EAAO,GAAG,KAC5B,EAAM,AAAG,EAAI,EAAK,EAAO,GAAG,SAC5B,EAAM,AAAG,EAAI,EAAK,EAAO,KAAK,MAEvB,GAAM,KCTX,YAAiC,EAAgB,GACrD,MAAO,AAAG,GAAK,KACb,GAAI,GAAM,AAAG,GAAI,EAAG,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAEjD,SAAM,AAAG,GAAgB,EAAK,EAAO,iBAAkB,EAAO,iBAAkB,CAAC,EAAG,GAAI,SACxF,EAAM,AAAG,EAAI,EAAK,EAAO,MAElB,GAAM,KCHjB,YAA2B,EAAwC,GAEjE,KAAM,GAAoB,GAAyB,EAAgB,GAEnE,WAAgC,EAAc,GAE5C,KAAM,GAAM,AAAG,GAAS,EAAe,IACjC,EAAU,AAAG,GAAS,EAAe,IAE3C,SAAc,KACZ,CAAE,UAAW,GAAG,SAChB,CAAE,UAAW,GAAG,cAGX,CAAE,MAAK,WAGhB,WAAwC,EAAoB,EAAqB,GAE/E,KAAM,GAAO,EAAkB,EAAY,EAAa,EAAG,GAAG,UACxD,EAAK,EAAuB,EAAa,GAAG,QAElD,MAAO,CAAE,OAAM,MAEjB,KAAM,GAA6B,GAAkC,EAAgB,GAErF,MAAO,CACL,oBACA,iCACA,8BAKE,YACJ,EACA,EACA,EACA,GAGA,KAAM,CACJ,iBACA,uBACE,GAAsB,GAEpB,EAAgC,GAEhC,CACJ,oBACA,iCACA,8BACE,GAAkB,EAAgB,GAEtC,GAAI,GAEJ,GAAI,EAAO,oBACT,KAAM,CAAC,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GAAM,EAEvC,EAAQ,EAAO,mBACjB,EAAkB,EAAI,EAAI,EAAG,SAC7B,EAA2B,EAAI,EAAI,SACjC,EAAQ,EAA2B,EAAI,EAAI,SAC3C,EAAQ,EAA2B,EAAI,EAAI,SAC3C,EAAQ,EAA2B,EAAI,EAAI,SAC3C,EAAQ,EAA2B,EAAI,EAAI,SAC3C,EAAQ,EAA2B,EAAI,EAAI,SAC3C,EAAQ,EAAK,EAA2B,EAAI,EAAI,SAAW,OAC3D,GAAQ,EAAK,EAA2B,EAAI,EAAI,SAAW,OAC3D,GAAQ,EAAkB,GAAM,GAAM,EAAI,EAAI,EAAiB,EAAG,SACxE,EAAS,CAAE,QAAO,QAAO,QAAO,QAAO,QAAO,QAAO,QAAO,SAAO,eAEnE,KAAM,CAAC,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GAAM,EACvC,EAAQ,EAA+B,EAAI,EAAI,SAC/C,EAAQ,EAA+B,EAAI,EAAI,SAC/C,EAAQ,EAA+B,EAAI,EAAI,SAC/C,EAAQ,EAA+B,EAAI,EAAI,SAC/C,EAAQ,EAA+B,EAAI,EAAI,SAC/C,EAAQ,EAA+B,EAAI,EAAI,SAC/C,EAAQ,EAA+B,EAAI,EAAI,SAC/C,GAAQ,EAA+B,EAAI,EAAI,SAC/C,GAAQ,EAAkB,EAAI,EAAI,EAAiB,EAAG,SAC5D,EAAS,CAAE,QAAO,QAAO,QAAO,QAAO,QAAO,QAAO,QAAO,SAAO,UAGrE,GAAI,IAAsB,SAAW,EACnC,KAAM,IAAI,OAAM,kCAAkC,IAAsB,UAI1E,MAAO,CAAE,SAAQ,iBCzFnB,YAA2B,EAAgB,GAEzC,KAAM,GAAqB,GAA0B,EAAW,GAEhE,WAAgC,GAC9B,KAAM,GAAM,EAAgC,GAAG,QAAc,GACvD,EAAU,EAAgC,GAAG,YAAkB,GACrE,MAAO,CAAE,MAAK,WAGhB,WAA2B,GACzB,KAAM,GAAU,EAAgC,GAAG,YAAkB,GAC/D,EAAO,EAAgC,GAAG,SAAe,GAC/D,MAAO,CAAE,UAAS,QAGpB,WAAwC,GACtC,KAAM,GAAO,EAAkB,GAAG,UAC5B,EAAK,EAAuB,GAAG,QACrC,MAAO,CAAE,OAAM,MAGjB,KAAM,GAA6B,GAA+B,GAElE,MAAO,CACL,oBACA,iCACA,8BAKE,YACJ,EACA,GAGA,KAAM,GAAgC,GAEhC,CACJ,oBACA,iCACA,8BACE,GAAkB,EAAW,GAEjC,GAAI,GAEJ,GAAI,EAAO,oBACT,KAAM,GAAc,EAAO,aAAe,EAAO,YAAY,QAAU,EACvE,EAAS,CACP,MAAO,EAAO,mBAAqB,EAAkB,SAAW,EAA2B,SAC3F,MAAO,EAA2B,SAClC,MAAO,EAA2B,SAClC,MAAO,EAA2B,SAClC,MAAO,EAA2B,SAClC,MAAO,EAA2B,SAClC,MAAO,EAAa,EAAI,EAA2B,SAAW,OAC9D,MAAO,EAAa,EAAI,EAA2B,SAAW,OAC9D,MAAO,EAAkB,cAG3B,GAAS,CACP,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAA+B,SACtC,MAAO,EAAkB,UAI7B,UAA2B,EAAW,GAE/B,CAAE,SAAQ,iBCtFnB,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,EAAA,GAAA,KAAA,KACA,EAAA,EAAA,GAAA,KAAA,KACA,EAAA,EAAA,GAAA,KAAA,KACA,EAAA,EAAA,GAAA,KAAA,OAJU,IAAA,IAAkB,KAA9B,SAkBE,YAAY,CAAE,YAAW,kBAAuC,IAI9D,GATQ,KAAA,MAAgB,oBAMxB,KAAK,WAAa,GAAa,IAC/B,KAAK,gBAAkB,GAAkB,GAErC,MAAO,MAAK,YAAe,UAAY,KAAK,WAAa,KAAO,EAClE,KAAM,IAAI,OAAM,GAAG,KAAK,6DAG1B,GAAI,MAAO,MAAK,iBAAoB,UAAY,KAAK,iBAAmB,GAAK,KAAK,iBAAmB,EACnG,KAAM,IAAI,OAAM,GAAG,KAAK,qEAIxB,aAAsB,MAAO,MAAK,cAClC,kBAA2B,MAAO,MAAK,iBCzB7C,SAA2B,SAP3B,gBAuBoC,IAQlC,YAAY,GACV,MAAM,cACN,GAAe,GACf,KAAK,QAAU,KAGN,UACT,MAAO,MAAK,WAGH,mBACT,MAAO,MAAK,OAAO,iBAAmB,KAAK,OAAO,QAAQ,OAAS,KAG1D,mBACT,MAAO,GAAK,MAAK,gBAAkB,KAAK,OAAO,QAAQ,OAAS,GAG3D,cAAc,EAAgB,GAEnC,GAAI,GAAM,GAAkB,EAAG,EAAO,OACtC,SAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAkB,EAAK,EAAO,OACpC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAkB,EAAK,EAAO,OACpC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAkB,EAAK,EAAO,OACpC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAkB,EAAK,EAAO,OACpC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAkB,EAAK,EAAO,OACpC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAkB,EAAK,EAAO,OACpC,EAAM,GAAkB,EAAK,EAAO,OAE7B,GAAU,EAAK,EAAO,MAAO,QAAS,IAGxC,aAAa,EAAgB,GAElC,GAAI,GAAM,KAAK,OAAO,mBAClB,GAAM,GAAU,EAAG,EAAO,MAAqB,QAAS,KACxD,GAAuB,EAAG,EAAO,OACrC,SAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAuB,EAAK,EAAO,OACzC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAuB,EAAK,EAAO,OACzC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAuB,EAAK,EAAO,OACzC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAuB,EAAK,EAAO,OACzC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,GAAuB,EAAK,EAAO,OACzC,EAAM,AAAG,GAAQ,EAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,QACtC,EAAM,EAAO,MAAQ,GAAuB,EAAK,EAAO,OAAS,EACjE,EAAM,EAAO,MAAQ,GAAuB,EAAK,EAAO,OAAS,EAE1D,GAAU,EAAK,EAAO,MAAO,QAAS,IAGxC,aAAa,EAAiB,GAEnC,KAAM,CAAE,UAAW,KAEnB,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,4CAGlB,MAAO,AAAG,GAAK,KAEb,GAAI,GAAc,EAAM,cAAc,EAAW,IAAO,UACxD,SAAc,KAAK,OAAO,QACtB,GAAU,EAAa,KAAK,OAAO,SACnC,EACJ,EAAc,EAAY,IAAI,AAAG,EAAO,MAEjC,KAAK,OAAO,mBACf,KAAK,aAAa,EAAa,GAC/B,KAAK,cAAc,EAAa,UAI3B,SAAQ,EAAkB,GACrC,MAAO,MAAM,MAAK,aAAa,KAAM,eAAW,GAAQ,QAG7C,QAAO,EAAkB,EAAoC,IAExE,KAAM,CAAE,YAAW,kBAAmB,GAAI,IAAkB,GAEtD,EAAW,KAAM,eAAW,GAC5B,EAAM,KAAM,MAAK,aAAa,EAAU,GACxC,EAAO,AAAG,EAAK,IAAM,AAAG,GAAQ,GAAK,GAAG,cAExC,EAAkB,CACtB,MAAO,EAAS,cAAc,GAC9B,OAAQ,EAAS,eAAe,IAG5B,EAAU,KAAM,MAAK,aAAa,EAAM,EAAS,2BAA2B,GAAI,GACtF,EAAI,UACJ,EAAK,UAEL,KAAM,GAAQ,EAAQ,IAAI,GAAO,EAAI,KAC/B,EAAS,EAAQ,IAAI,GAAO,EAAI,OAChC,EAAc,EAAQ,IAAI,GAAO,EAAI,YACrC,EAAa,EAAQ,IAAI,GAAO,KAAK,OAAO,QAAQ,EAAI,QAExD,EAAU,GACd,EAAM,IAAI,GAAO,EAAI,QAAQ,IAC7B,EACA,KAAK,OAAO,aACZ,IAGI,EAAa,EAAQ,IAAI,GAC7B,GAAI,IACF,EAAO,GACP,EAAY,GACZ,EAAW,GACX,EAAM,GACN,IAIJ,MAAO,GAGC,sBACR,MAAO,GAGC,2BAA2B,GACnC,MAAO,IAA2B,EAAW,KAAK,QAG1C,cAAc,GACtB,KAAM,GAAc,KAAK,OAAO,aAAe,GAAe,qBAExD,EAAa,EAAc,EAAY,OAAS,OACtD,GAAI,IAAe,GAAK,IAAe,GAAK,IAAe,EACzD,KAAM,IAAI,OAAM,oEAAoE,2BAEtF,MAAO,IAAc,EAAS,KAAK,OAAQ,KAAK,gBAAiB,QAGnD,cACd,EACA,EACA,GAGA,KAAM,CAAE,QAAO,UAAW,EACpB,EAAY,KAAK,IAAI,EAAO,GAC5B,EAAoB,EAAY,EAChC,EAAoB,EAAY,EAEhC,EAAW,EAAa,MAAM,GAC9B,EAAW,KAAK,OAAO,QAAQ,OAE/B,CAAC,EAAa,EAAc,GAAqB,AAAG,EAAK,KAC7D,KAAM,GAAW,EAAa,QAAQ,CAAC,EAAU,EAAU,EAAU,KAAK,kBAEpE,EAAQ,EAAS,MAAM,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAU,EAAU,EAAU,IACpE,EAAS,EAAS,MAAM,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAU,EAAU,EAAU,IACrE,EAAc,KAAK,gBACrB,AAAG,GAAQ,EAAS,MAAM,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAU,EAAU,EAAU,KAAK,OAAO,QAAQ,SAAU,GACrG,AAAG,EAAO,GACd,MAAO,CAAC,EAAO,EAAQ,KAGnB,EAAU,GAEV,EAAa,KAAM,GAAa,QAChC,EAAY,KAAM,GAAY,QACpC,OAAS,GAAM,EAAG,EAAM,EAAU,IAChC,OAAS,GAAM,EAAG,EAAM,EAAU,IAChC,OAAS,GAAS,EAAG,EAAS,EAAU,KAEtC,KAAM,GAAQ,GAAQ,EAAW,GAAK,GAAK,GAAQ,IACnD,GAAI,CAAC,GAAkB,EAAQ,GAC7B,KAAM,GAAQ,GAAM,GAAQ,EAAU,GAAK,GAAK,GAAQ,KAAO,EAAY,EACrE,EAAQ,GAAM,GAAQ,EAAU,GAAK,GAAK,GAAQ,KAAO,EAAY,EACrE,EAAU,KAAK,IAAI,EAAU,GAAK,GAAK,GAAQ,IAAM,KAAK,OAAO,QAAQ,GAAQ,EAAK,EAAY,EAClG,EAAW,KAAK,IAAI,EAAU,GAAK,GAAK,GAAQ,IAAM,KAAK,OAAO,QAAQ,GAAQ,EAAK,EAAY,EAEnG,EAAK,EAAO,EAAQ,EACpB,EAAK,EAAO,EAAS,EAErB,EAAM,CAAE,MAAK,MAAK,UAClB,CAAE,cAAY,UAAU,KAAK,gBAC/B,KAAM,MAAK,sBAAsB,EAAkC,GACnE,CAAE,WAAY,EAAG,MAAO,GAE5B,EAAQ,KAAK,CACX,IAAK,GAAI,IAAY,EAAG,EAAG,EAAI,EAAO,EAAI,GAC1C,MAAO,EACP,WAAY,EAAQ,GACpB,YACG,KAOb,SAAY,UACZ,EAAa,UACb,EAAkB,UAEX,OAGK,uBAAsB,EAA4B,GAC9D,KAAM,CAAE,MAAK,MAAK,UAAW,EACvB,EAAc,KAAM,GAAc,QACxC,MAAO,OAAM,KAAK,OAAO,QAAQ,QAAQ,KAAK,GAC3C,IAAI,CAAC,EAAG,IAAM,EAAY,GAAK,GAAK,GAAQ,IAC5C,IAAI,CAAC,EAAY,IAAW,EAC3B,aACA,WAED,OAAO,CAAC,EAAK,IAAS,EAAI,WAAa,EAAK,WAAa,EAAM,IApOtD,GAAA,qBAAuB,CACnC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,MCxBjC,KAAM,IAAgB,GAEhB,GAAc,CACzB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,WAGT,GAAqC,CAAC,QAAS,QAAS,QCVrE,gBAQsC,IAEpC,cACE,KAAM,GAAS,CACb,mBAAoB,GACpB,aAAc,GACd,QAAS,CAAC,QACV,QAAS,GACT,QAAS,GACT,mBAAoB,GACpB,YAAa,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,MAGzC,MAAM,MAGG,WACT,MAAO,MAAK,OAAO,aAGR,aAAY,EAAkB,GACzC,KAAM,GAAmB,KAAM,MAAK,OAAO,EAAO,GAClD,MAAO,GAAiB,IAAI,GAAO,GAAI,IAAc,EAAI,MAAO,EAAI,YAAa,CAAE,MAAO,EAAI,WAAY,OAAQ,EAAI,eAG9G,sBACR,MAAO,2BAGC,2BAA2B,GACnC,MAAO,OAAM,2BAA2B,ICtCrC,KAAM,IAAgB,GAEhB,GAAc,CACzB,GAAI,GAAM,QAAU,SACpB,GAAI,GAAM,QAAS,SACnB,GAAI,GAAM,QAAS,SACnB,GAAI,GAAM,OAAQ,SAClB,GAAI,GAAM,QAAS,UAGR,GAAwB,CACnC,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,UACpB,GAAI,GAAM,SAAU,WAGT,GAA+C,CAAC,QAAS,QAAS,QAElE,GAAqB,oBACrB,GAAoC,mCCrBjD,gBAegC,IAE9B,YAAY,EAA8B,IACxC,KAAM,GAAS,OAAO,OAAO,GAAI,CAC/B,qBACA,aAAc,GACd,QAAS,CAAC,SAEZ,EACI,CACA,QAAS,GACT,QAAS,IAET,CACA,QAAS,GACT,gBAAiB,KAIrB,MAAM,MAGG,sBACT,MAAO,MAAK,OAAO,sBAGV,WACT,MAAO,MAAK,OAAO,aAGR,aAAY,EAAkB,GACzC,KAAM,GAAmB,KAAM,MAAK,OAAO,EAAO,GAClD,MAAO,GAAiB,IAAI,GAAO,GAAI,IAAc,EAAI,MAAO,EAAI,YAAa,CAAE,MAAO,EAAI,WAAY,OAAQ,EAAI,eAG9G,sBACR,MAAO,MAAK,mBAAqB,GAAoC,GAG7D,2BAA2B,GACnC,MAAO,OAAM,2BAA2B,IC1C5C,SAA+C,SAElC,GAAO,CAClB,iBAAkB,GAAI,MACtB,WAAY,GAAI,iBAChB,kBAAmB,GAAI,MACvB,sBAAuB,GAAI,MAC3B,mBAAoB,GAAI,MACxB,kBAAmB,GAAI,MACvB,aAAc,GAAI,OAUP,GAAmB,CAAC,EAAkB,IACjD,GAAK,iBAAiB,YAAY,EAAO,GAS9B,GAAsB,AAAC,GAClC,GAAK,kBAAkB,gBAAgB,GAW5B,GAA0B,AAAC,GACtC,GAAK,sBAAsB,gBAAgB,GAYhC,GAAwB,AAAC,GACpC,GAAK,mBAAmB,sBAAsB,GAUnC,GAA2B,AAAC,GACvC,GAAK,kBAAkB,mBAAmB,GAS/B,GAAsB,AAAC,GAClC,GAAK,aAAa,oBAAoB,GAE3B,GAA4B,AAAC,GAAgB,GAAK,iBAAiB,KAAK,GACxE,GAAsB,AAAC,GAAgB,GAAK,WAAW,KAAK,GAC5D,GAAwB,AAAC,GAAgB,GAAK,kBAAkB,KAAK,GACrE,GAA4B,AAAC,GAAgB,GAAK,sBAAsB,KAAK,GAC7E,GAA2B,AAAC,GAAgB,GAAK,mBAAmB,KAAK,GACzE,GAA0B,AAAC,GAAgB,GAAK,kBAAkB,KAAK,GACvE,GAAqB,AAAC,GAAgB,GAAK,aAAa,KAAK,GAG7D,GAAyB,GACzB,GAAc,GACd,GAAkB,GCnG/B,gBAa4E,IAC1E,YACY,EACA,EACA,GAEV,QAJU,KAAA,WAAA,EACA,KAAA,MAAA,EACA,KAAA,eAAA,GAjBd,gBAyBU,SAEK,OAEX,KAAM,GAAgB,KAAM,MAAK,WAE3B,EAAwB,KAAM,IAClC,EACA,KAAK,MACL,KAAM,IAAS,KAAM,SAAQ,IAAI,EAAM,IACrC,GAAQ,GAAK,kBAAkB,mBAAmB,KAEpD,KAAK,gBAGP,MAAO,GAAc,IACnB,CAAC,EAAc,IAAM,GAAmC,EAAc,EAAsB,KAIhG,mBACE,MAAO,IAAI,IAA2B,KAAM,KAAK,QA9CrD,gBAoDW,SAEI,OAEX,KAAM,GAAe,KAAM,MAAK,WAChC,GAAI,CAAC,EACH,OAGF,KAAM,GAAkB,KAAM,IAC5B,EACA,KAAK,MACL,GAAQ,GAAK,kBAAkB,mBAAmB,GAClD,KAAK,gBAGP,MAAO,IAA0B,EAAc,GAGjD,mBACE,MAAO,IAAI,IAA8B,KAAM,KAAK,QAxExD,gBA8EU,IAER,mBACE,MAAO,IAAI,IAA4C,KAAM,KAAK,OAGpE,sBACE,MAAO,IAAI,IAA8B,KAAM,KAAK,QArFxD,gBA2FU,IAER,mBACE,MAAO,IAAI,IAA+C,KAAM,KAAK,OAGvE,qBACE,MAAO,IAAI,IAAgC,KAAM,KAAK,QCnG1D,gBAeyE,IACvE,YACY,EACA,EACA,GAEV,QAJU,KAAA,WAAA,EACA,KAAA,MAAA,EACA,KAAA,eAAA,GAnBd,gBA2BU,SAEK,OAEX,KAAM,GAAgB,KAAM,MAAK,WAE3B,EAAqB,KAAM,IAC/B,EACA,KAAK,MACL,KAAM,IAAS,KAAM,SAAQ,IAAI,EAAM,IACrC,GAAQ,GAAK,aAAa,oBAAoB,KAEhD,KAAK,gBAGP,MAAO,GAAc,IAAI,CAAC,EAAc,KACtC,KAAM,CAAE,MAAK,SAAQ,qBAAsB,EAAmB,GAC9D,MAAO,IAAc,GAAiB,EAAc,EAAQ,GAAoB,KAIpF,sBACE,MAAO,IAAI,IAA8B,KAAM,KAAK,QAjDxD,gBAuDW,SAEI,OAEX,KAAM,GAAe,KAAM,MAAK,WAChC,GAAI,CAAC,EACH,OAGF,KAAM,CAAE,MAAK,SAAQ,qBAAsB,KAAM,IAC/C,EACA,KAAK,MACL,GAAQ,GAAK,aAAa,oBAAoB,GAC9C,KAAK,gBAGP,MAAO,IAAc,GAAiB,EAAc,EAAQ,GAAoB,GAGlF,sBACE,MAAO,IAAI,IAAiC,KAAM,KAAK,QA3E3D,gBAiFU,IAER,sBACE,MAAO,IAAI,IAA+C,KAAM,KAAK,OAGvE,sBACE,MAAO,IAAI,IAA8B,KAAM,KAAK,QAxFxD,gBA8FU,IAER,sBACE,MAAO,IAAI,IAAkD,KAAM,KAAK,OAG1E,qBACE,MAAO,IAAI,IAAgC,KAAM,KAAK,QCxG1D,gBAe4E,IAC1E,YACY,EACA,GAEV,QAHU,KAAA,WAAA,EACA,KAAA,MAAA,GAlBd,gBA0BU,SAEK,OAEX,KAAM,GAAgB,KAAM,MAAK,WAE3B,EAAc,KAAM,IACxB,EACA,KAAK,MACL,GAAS,QAAQ,IAAI,EAAM,IAAI,GAC7B,GAAK,mBAAmB,sBAAsB,KAEhD,KACA,GAAgB,EAAa,UAAU,MAAM,KAAM,CAAE,iBAAkB,MAGzE,MAAO,GAAY,IAAI,CAAC,EAAY,IAAM,GAAkC,EAAc,GAAI,IAGhG,sBACE,MAAO,IAAI,IAA+C,KAAM,KAAK,OAGvE,mBACE,MAAO,IAAI,IAA4C,KAAM,KAAK,QAlDtE,gBAwDU,SAEK,OAEX,KAAM,GAAe,KAAM,MAAK,WAChC,GAAI,CAAC,EACH,OAEF,KAAM,GAAa,KAAM,IACvB,EACA,KAAK,MACL,GAAQ,GAAK,mBAAmB,sBAAsB,GACtD,KACA,GAAgB,EAAa,UAAU,MAAM,KAAM,CAAE,iBAAkB,MAGzE,MAAO,IAAyB,EAAc,GAGhD,sBACE,MAAO,IAAI,IAAkD,KAAM,KAAK,OAG1E,mBACE,MAAO,IAAI,IAA+C,KAAM,KAAK,QCjFzE,SAAsD,SAAtD,gBAI6C,sBAA7C,kCACY,KAAA,MAAgB,2BCF5B,SAA4D,SAH5D,gBAoByE,IACvE,YACY,EACA,EACA,GAEV,QAJU,KAAA,WAAA,EACA,KAAA,MAAA,EACA,KAAA,mBAAA,KAKE,eACZ,MAAO,MAAK,mBACR,GAAK,sBACL,GAAK,mBAhCb,gBAsCU,SAEK,OAEX,KAAM,GAAgB,KAAM,MAAK,WAC3B,EAAa,EAAc,IAAI,GAAO,EAAI,WAE1C,EAAgD,KAAK,gBAAoB,IAC3E,KAAM,uBAAmB,KAAK,MAAO,GACrC,KAAM,iBAAa,KAAK,MAAO,GAE7B,EAAsB,KAAM,SAAQ,IAAI,EAAM,IAClD,GAAQ,KAAK,YAAY,gBAAgB,KAG3C,SAAM,QAAQ,GAAK,YAAgB,KAAU,EAAE,WAExC,EAAc,IAAI,CAAC,EAAc,IACtC,GAAiC,EAAc,EAAoB,KAIvE,sBACE,MAAO,IAAI,IAA+C,KAAM,KAAK,OAGvE,mBACE,MAAO,IAAI,IAA4C,KAAM,KAAK,OAGpE,sBACE,MAAO,IAAI,IAA8B,KAAM,KAAK,QArExD,gBA2EW,SAEI,OAEX,KAAM,GAAe,KAAM,MAAK,WAChC,GAAI,CAAC,EACH,OAGF,KAAM,CAAE,aAAc,EAChB,EAAgD,KAAK,gBAAoB,IAC3E,KAAM,uBAAmB,KAAK,MAAO,CAAC,IACtC,KAAM,iBAAa,KAAK,MAAO,CAAC,IAE9B,EAAY,KAAM,MAAK,YAAY,gBAAgB,EAAM,IAE/D,SAAM,QAAQ,GAAK,YAAgB,KAAU,EAAE,WAExC,GAAiC,EAAc,GAGxD,sBACE,MAAO,IAAI,IAAkD,KAAM,KAAK,OAG1E,mBACE,MAAO,IAAI,IAA+C,KAAM,KAAK,OAGvE,qBACE,MAAO,IAAI,IAAgC,KAAM,KAAK,QCvG1D,gBASkD,IAChD,YACY,EACA,EAAgC,GAAI,OAE9C,QAHU,KAAA,MAAA,EACA,KAAA,QAAA,GAZd,gBAkBwC,SAEzB,OAEX,KAAM,CAAE,QAAO,WAAY,KAGrB,EAAwB,YAAmB,IAC7C,AAAC,GAAqB,GAAK,iBAAiB,YAAY,EAAO,GAC/D,KAEJ,GAAI,CAAC,EACH,KAAM,IAAI,OAAM,uIAGlB,MAAO,GAAsB,GAGvB,iCACN,MAAO,IAAI,SAAiC,KAAM,KAChD,KAAM,GAAa,KAAM,MAAK,MAC9B,MAAO,GAAI,EAAW,IAAI,GAAa,GAAwB,GAAI,OAIvE,kBAAkB,EAA8B,IAC9C,MAAO,IAAI,IACT,KAAK,iCACL,KAAK,MACL,GAIJ,sBACE,MAAO,IAAI,IACT,KAAK,iCACL,KAAK,OAIT,mBACE,MAAO,IAAI,IACT,KAAK,iCACL,KAAK,QA7DX,gBAkE0C,SAE3B,OACX,KAAM,GAAiB,KAAM,IAAI,IAAmB,KAAK,MAAO,KAAK,SACrE,GAAI,GAAgC,EAAe,GACnD,SAAe,QAAQ,IACrB,AAAI,EAAc,MAAQ,EAA8B,OACtD,GAAgC,KAG7B,EAGD,gCACN,MAAO,IAAI,SAA+B,KAAM,KAC9C,KAAM,GAAY,KAAM,MAAK,MAC7B,MAAO,GAAI,EAAY,GAA4B,GAAI,GAAa,UAIxE,kBAAkB,EAA8B,IAC9C,MAAO,IAAI,IACT,KAAK,gCACL,KAAK,MACL,GAIJ,sBACE,MAAO,IAAI,IACT,KAAK,gCACL,KAAK,OAIT,mBACE,MAAO,IAAI,IACT,KAAK,gCACL,KAAK,QCpGL,YACJ,EACA,EAAgC,GAAI,OAEpC,MAAO,IAAI,IAAqB,EAAO,GAGnC,YACJ,EACA,EAAgC,GAAI,OAEpC,MAAO,IAAI,IAAmB,EAAO,GCjBjC,YAA4B,EAA+B,GAC/D,GAAI,EAAK,SAAW,EAAK,OACvB,KAAM,IAAI,OAAM,kDAElB,KAAM,GAAQ,MAAM,KAAK,GACnB,EAAQ,MAAM,KAAK,GAEzB,MAAO,MAAK,KACV,EACG,IAAI,CAAC,EAAK,IAAM,EAAM,EAAM,IAC5B,OAAO,CAAC,EAAK,IAAS,EAAM,KAAK,IAAI,EAAM,GAAI,ICVtD,SAUE,YACE,EACA,EAA4B,IAG5B,KAAK,mBAAqB,EAE1B,KAAM,GAAa,MAAM,QAAQ,GAAU,EAAS,CAAC,GAErD,GAAI,CAAC,EAAW,OACd,KAAM,IAAI,OAAM,2DAGlB,GAAI,GAAQ,EACZ,KAAM,GAAoB,IAAM,UAAU,MAE1C,KAAK,oBAAsB,EAAW,IAAI,AAAC,IACzC,GAAI,YAAgB,IAClB,MAAO,GAGT,GAAI,YAAgB,cAClB,MAAO,IAAI,IAAuB,IAAqB,CAAC,IAG1D,GAAI,EAAK,YAAc,EAAK,qBAAsB,cAChD,MAAO,IAAI,IAAuB,IAAqB,CAAC,EAAK,aAG/D,KAAM,IAAI,OAAM,4MAIT,sBAAiD,MAAO,MAAK,uBAC7D,qBAA8B,MAAO,MAAK,mBAE9C,oBAAoB,EAA+B,GACxD,MAAO,GACJ,IAAI,GAAK,GAAkB,EAAG,IAC9B,OAAO,CAAC,EAAI,IAAO,EAAK,EAAI,GACxB,GAAY,QAAU,GAGxB,gBAAgB,GACrB,MAAO,MAAK,mBACT,IAAI,CAAC,CAAE,cAAa,WAAY,GAAI,IACjC,EACA,KAAK,oBAAoB,EAAiB,KAE7C,OAAO,CAAC,EAAM,IAAS,EAAK,SAAW,EAAK,SAAW,EAAO,GAG5D,cAAc,GACnB,KAAM,GAAY,KAAK,gBAAgB,GACvC,MAAO,GAAU,SAAW,KAAK,kBAC7B,EACA,GAAI,IAAU,UAAW,EAAU,UAGlC,SACL,MAAO,CACL,kBAAmB,KAAK,kBACxB,mBAAoB,KAAK,mBAAmB,IAAI,AAAC,GAAO,EAAG,iBAIjD,UAAS,GACrB,KAAM,GAAqB,EAAK,mBAC7B,IAAI,AAAC,GAAY,GAAuB,SAAS,IACpD,MAAO,IAAI,IAAY,EAAoB,EAAK,oBC1E9C,YAAiC,GACrC,KAAM,GAAM,GAAI,MAChB,SAAI,eAAe,GACZ,ECFH,YAA2B,EAAY,GAE3C,KAAM,CAAE,QAAO,UAAW,GAAI,IAAW,EAAW,MAAO,EAAW,QAEtE,GAAI,GAAS,GAAK,GAAU,EAC1B,KAAM,IAAI,OAAM,uCAAuC,KAAK,UAAU,CAAE,QAAO,cAGjF,GAAI,MAAM,QAAQ,GAChB,MAAO,GAAQ,IAAI,GAAO,GAAc,EAAK,CAAE,QAAO,YAGxD,GAAI,GAAoB,IACtB,KAAM,GAAmB,EAAQ,UAAU,QAAQ,EAAO,GACpD,EAAmB,EAAQ,mBAAmB,QAAQ,EAAiB,IAAI,MAAO,EAAiB,IAAI,QAE7G,MAAO,IAAwB,GAAwB,EAAS,GAAmB,GAGrF,MAAI,IAAoB,GACf,GAAwB,EAAS,EAAQ,UAAU,QAAQ,EAAO,IAGvE,YAAmB,KAAiB,YAAmB,IACjD,EAAgB,QAAQ,EAAO,GAGlC", + "sources": ["node_modules/tslib/tslib.es6.js", "node_modules/seedrandom/lib/alea.js", "node_modules/seedrandom/lib/xor128.js", "node_modules/seedrandom/lib/xorwow.js", "node_modules/seedrandom/lib/xorshift7.js", "node_modules/seedrandom/lib/xor4096.js", "node_modules/seedrandom/lib/tychei.js", "disabled:crypto", "node_modules/seedrandom/seedrandom.js", "node_modules/seedrandom/index.js", "node_modules/@tensorflow/tfjs-core/dist/../src/index.ts", "build/draw/../../src/draw/drawContour.ts", "build/classes/../../src/classes/Dimensions.ts", "build/utils/../../src/utils/index.ts", "build/classes/../../src/classes/Point.ts", "build/classes/../../src/classes/Box.ts", "build/classes/../../src/classes/BoundingBox.ts", "build/classes/../../src/classes/ObjectDetection.ts", "build/classes/../../src/classes/FaceDetection.ts", "build/ops/../../src/ops/iou.ts", "build/ops/../../src/ops/minBbox.ts", "build/ops/../../src/ops/nonMaxSuppression.ts", "build/ops/../../src/ops/normalize.ts", "build/ops/../../src/ops/padToSquare.ts", "build/ops/../../src/ops/shuffleArray.ts", "build/ops/../../src/ops/index.ts", "build/classes/../../src/classes/Rect.ts", "build/classes/../../src/classes/FaceLandmarks.ts", "build/classes/../../src/classes/FaceLandmarks5.ts", "build/classes/../../src/classes/FaceLandmarks68.ts", "build/classes/../../src/classes/FaceMatch.ts", "build/classes/../../src/classes/LabeledBox.ts", "build/classes/../../src/classes/LabeledFaceDescriptors.ts", "build/classes/../../src/classes/PredictedBox.ts", "build/classes/../../src/classes/index.ts", "build/factories/../../src/factories/WithFaceDetection.ts", "build/env/../../src/env/createBrowserEnv.ts", "build/env/../../src/env/createFileSystem.ts", "build/env/../../src/env/createNodejsEnv.ts", "build/env/../../src/env/isBrowser.ts", "build/env/../../src/env/isNodejs.ts", "build/env/types.js", "build/env/../../src/env/index.ts", "build/dom/../../src/dom/resolveInput.ts", "build/dom/../../src/dom/getContext2dOrThrow.ts", "build/draw/../../src/draw/DrawTextField.ts", "build/draw/../../src/draw/DrawBox.ts", "build/draw/../../src/draw/drawDetections.ts", "build/dom/../../src/dom/isMediaLoaded.ts", "build/dom/../../src/dom/awaitMediaLoaded.ts", "build/dom/../../src/dom/bufferToImage.ts", "build/dom/../../src/dom/getMediaDimensions.ts", "build/dom/../../src/dom/createCanvas.ts", "build/dom/../../src/dom/imageTensorToCanvas.ts", "build/dom/../../src/dom/isMediaElement.ts", "build/dom/../../src/dom/imageToSquare.ts", "build/dom/../../src/dom/NetInput.ts", "build/dom/../../src/dom/toNetInput.ts", "build/dom/../../src/dom/extractFaces.ts", "build/dom/../../src/dom/extractFaceTensors.ts", "build/dom/../../src/dom/fetchOrThrow.ts", "build/dom/../../src/dom/fetchImage.ts", "build/dom/../../src/dom/fetchJson.ts", "build/dom/../../src/dom/fetchNetWeights.ts", "build/common/../../src/common/getModelUris.ts", "build/dom/../../src/dom/loadWeightMap.ts", "build/dom/../../src/dom/matchDimensions.ts", "build/dom/types.js", "build/dom/../../src/dom/index.ts", "build/../src/NeuralNetwork.ts", "build/common/../../src/common/depthwiseSeparableConv.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/denseBlock.ts", "build/common/../../src/common/convLayer.ts", "build/common/../../src/common/disposeUnusedWeightTensors.ts", "build/common/../../src/common/extractConvParamsFactory.ts", "build/common/../../src/common/extractFCParamsFactory.ts", "build/common/../../src/common/types.ts", "build/common/../../src/common/extractSeparableConvParamsFactory.ts", "build/common/../../src/common/extractWeightEntryFactory.ts", "build/common/../../src/common/extractWeightsFactory.ts", "build/common/../../src/common/index.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractorsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParams.ts", "build/common/../../src/common/loadConvParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/loadParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "build/common/../../src/common/fullyConnectedLayer.ts", "build/faceProcessor/../../src/faceProcessor/extractParams.ts", "build/faceProcessor/../../src/faceProcessor/extractParamsFromWeigthMap.ts", "build/faceProcessor/../../src/faceProcessor/util.ts", "build/faceProcessor/../../src/faceProcessor/FaceProcessor.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressions.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressionNet.ts", "build/faceExpressionNet/../../src/faceExpressionNet/index.ts", "build/factories/../../src/factories/WithFaceExpressions.ts", "build/draw/../../src/draw/drawFaceExpressions.ts", "build/factories/../../src/factories/WithFaceLandmarks.ts", "build/draw/../../src/draw/DrawFaceLandmarks.ts", "build/draw/../../src/draw/index.ts", "build/xception/../../src/xception/extractParams.ts", "build/xception/../../src/xception/extractParamsFromWeigthMap.ts", "build/xception/../../src/xception/TinyXception.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParams.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParamsFromWeigthMap.ts", "build/ageGenderNet/../../src/ageGenderNet/types.ts", "build/ageGenderNet/../../src/ageGenderNet/AgeGenderNet.ts", "build/ageGenderNet/../../src/ageGenderNet/index.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68Net.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/index.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/scaleLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/convLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParams.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/residualLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/FaceRecognitionNet.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/index.ts", "build/factories/../../src/factories/WithFaceDescriptor.ts", "build/factories/../../src/factories/WithAge.ts", "build/factories/../../src/factories/WithGender.ts", "build/factories/../../src/factories/index.ts", "build/globalApi/../../src/globalApi/ComposableTask.ts", "build/globalApi/../../src/globalApi/extractFacesAndComputeResults.ts", "build/tinyYolov2/../../src/tinyYolov2/config.ts", "build/tinyYolov2/../../src/tinyYolov2/leaky.ts", "build/tinyYolov2/../../src/tinyYolov2/convWithBatchNorm.ts", "build/tinyYolov2/../../src/tinyYolov2/depthwiseSeparableConv.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParams.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParamsFromWeigthMap.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Options.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Base.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/const.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetector.ts", "build/tinyYolov2/../../src/tinyYolov2/const.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2.ts", "build/tinyYolov2/types.js", "build/tinyYolov2/../../src/tinyYolov2/index.ts", "build/globalApi/../../src/globalApi/nets.ts", "build/globalApi/../../src/globalApi/PredictFaceExpressionsTask.ts", "build/globalApi/../../src/globalApi/PredictAgeAndGenderTask.ts", "build/globalApi/../../src/globalApi/ComputeFaceDescriptorsTasks.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "build/globalApi/../../src/globalApi/DetectFaceLandmarksTasks.ts", "build/globalApi/../../src/globalApi/DetectFacesTasks.ts", "build/globalApi/../../src/globalApi/detectFaces.ts", "build/../src/euclideanDistance.ts", "build/globalApi/../../src/globalApi/FaceMatcher.ts", "build/globalApi/types.js", "build/globalApi/../../src/globalApi/index.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/index.ts", "build/../src/resizeResults.ts", "build/../src/index.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/environment.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/global_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_names.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/profiler.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tape.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_format.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/types.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/engine.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/device_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/flags.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util_env.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/operation.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/abs.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add_n.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/axis_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reshape.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/all.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/any.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan2.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cast.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/globals.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/basic_lstm_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batch_to_space_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clone.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_to.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/buffer.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ceil.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clip_by_value.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/complex.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cumsum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depth_to_space.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/diag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dilation2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floorDiv.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div_no_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/elu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expand_dims.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expm1.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tile.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/eye.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fill.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reduce_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/segment_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ifft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/imag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/real.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scalar.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/irfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_finite.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_inf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/maximum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/leaky_relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/linspace.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log1p.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/neg.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softplus.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sub.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sum_exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_and.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_not.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_or.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_xor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_with_argmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/minimum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/square.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moments.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multi_rnn_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multinomial.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/not_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/one_hot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/outer_product.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/space_to_batch_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pow.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prelu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/print.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/test_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_gamma.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_uniform.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/range.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reciprocal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu6.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/round.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rsqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/separable_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/setdiff1d_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sign.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squared_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squeeze.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/step.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/strided_slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor5d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor6d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/topk.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/truncated_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unsorted_segment_sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unstack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/variable.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/where_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/boolean_mask.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compare.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/binary_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/norm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moving_average.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/signal_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/in_top_k.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hamming_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hann_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/frame.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/crop_and_resize.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/flip_left_right.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_with_offset.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/nonmax_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/array_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/non_max_suppression_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_bilinear.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_nearest_neighbor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/band_part.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gram_schmidt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/qr.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/loss_ops_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compute_weighted_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/absolute_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosine_distance.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hinge_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/huber_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean_squared_error.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ops.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/base_side_effects.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/types.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/router_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/model_management.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/browser_files.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/progress.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/weights_loader.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/http.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/passthrough.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/confusion_matrix.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/math.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/browser.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/serialization.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/version.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adadelta_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adagrad_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adam_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adamax_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/sgd_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/momentum_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/rmsprop_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer_constructors.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/train.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/browser_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/array_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/log.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/complex_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/split_shared.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/tile_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/topk_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/kernel_impls.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Abs_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Add_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AddN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchMatMul_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchToSpaceND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BroadcastTo_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cast_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Ceil_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ClipByValue_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Concat_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2DBackpropInput_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cumsum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/DepthwiseConv2dNative_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Dilation2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Div_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Elu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Erf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Exp_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Expm1_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Floor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FloorDiv_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FusedBatchNorm_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GatherV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GreaterEqual_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Identity_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsFinite_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsInf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsNan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log1p_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LogSoftmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LRN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/min_max_grad_util.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Max_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Maximum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Min_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Minimum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Mod_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Multiply_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Negate_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OneHot_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OnesLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/PadV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Pow_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Prelu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reciprocal_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu6_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reshape_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeBilinear_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeNearestNeighbor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reverse_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Round_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Rsqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SelectV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Selu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sigmoid_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sign_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Slice_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softplus_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SpaceToBatchND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SplitV_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Square_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SquaredDifference_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Step_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sub_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tile_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Transpose_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Unpack_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/UnsortedSegmentSum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ZerosLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/register_all_gradients.ts"], + "sourcesContent": ["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\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) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\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) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], + "mappings": "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,MAAO,IAAM,GAAM,EAAI,MC1BnC,AA8BO,KAAM,IAA2C,CACtD,WAAY,GACZ,aAAc,CAAC,cACf,SAAU,CAAC,EAAY,KACrB,KAAM,CAAC,GAAc,EAEf,EAAO,IACJ,GAAoB,EAAI,GAEjC,MAAO,CAAC,EAAG,KAIf,YAA+C,EAAM,GAInD,KAAM,GAAqB,GAAQ,EAAS,EAAU,IAChD,EAAW,GAAO,EAAG,GAC3B,GAAI,GAAa,GAAa,EAAS,EAAO,EAAG,UACjD,KAAM,GAAW,EAAS,KAAO,EAAW,KAC5C,OAAS,GAAI,EAAG,EAAI,EAAU,EAAE,EAC9B,EAAa,GAAW,EAAY,EAAI,GAE1C,EAAa,GAAW,EAAY,GAAK,EAAS,MAAO,SACzD,KAAM,GAAY,EAAU,GAC5B,MAAO,IAAM,EAAY,EAAU,GCxDrC,AAsBO,KAAM,IAAkC,CAC7C,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,EAAU,MCzB/B,AAkHA,KAAM,IAA4B,CAChC,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGF,SAAW,KAAkB,IAC3B,GAAiB", "names": [] } diff --git a/tsconfig.json b/tsconfig.json index 4c42c5b..3319709 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,10 +18,10 @@ "importHelpers": true, "skipLibCheck": true, "outDir": "build", - "module": "es2020", - "target": "es2020", + "module": "commonjs", "moduleResolution": "node", - "lib": ["es2020", "dom"], + "target": "es2018", + "lib": ["es2018", "dom"], "typeRoots": [ "typings", "node_modules/@types"