{"version":3,"sources":["webpack:///./node_modules/face-api.js/build/commonjs/common/index.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/index.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/FaceLandmarks68.js","webpack:///./node_modules/face-api.js/build/commonjs/common/extractWeightsFactory.js","webpack:///./node_modules/face-api.js/build/commonjs/common/extractSeparableConvParamsFactory.js","webpack:///./node_modules/face-api.js/build/commonjs/common/convLayer.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/LabeledFaceDescriptors.js","webpack:///./node_modules/face-api.js/build/commonjs/common/disposeUnusedWeightTensors.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/LabeledBox.js","webpack:///./node_modules/face-api.js/build/commonjs/common/extractWeightEntryFactory.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/Rect.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/ObjectDetection.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/iou.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/FaceLandmarks.js","webpack:///./node_modules/face-api.js/build/commonjs/common/extractConvParamsFactory.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/Dimensions.js","webpack:///./node_modules/face-api.js/build/commonjs/common/getModelUris.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/FaceDetection.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/FaceLandmarks5.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/nonMaxSuppression.js","webpack:///./node_modules/face-api.js/build/commonjs/common/extractFCParamsFactory.js","webpack:///./node_modules/face-api.js/build/commonjs/common/types.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/minBbox.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/BoundingBox.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/Point.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/Box.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/FaceMatch.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/shuffleArray.js","webpack:///./node_modules/face-api.js/build/commonjs/classes/PredictedBox.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/normalize.js","webpack:///./node_modules/face-api.js/build/commonjs/utils/index.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/index.js","webpack:///./node_modules/face-api.js/build/commonjs/common/depthwiseSeparableConv.js","webpack:///./node_modules/face-api.js/build/commonjs/ops/padToSquare.js"],"names":["Object","defineProperty","exports","value","tslib_1","__exportStar","utils_1","FaceLandmarks_1","FaceLandmarks68","_super","apply","this","arguments","__extends","prototype","getJawOutline","positions","slice","getLeftEyeBrow","getRightEyeBrow","getNose","getLeftEye","getRightEye","getMouth","getRefPointsForAlignment","map","getCenterPoint","FaceLandmarks","extractWeightsFactory","weights","remainingWeights","extractWeights","numWeights","ret","getRemainingWeights","tf","types_1","extractSeparableConvParamsFactory","paramMappings","channelsIn","channelsOut","mappedPrefix","depthwise_filter","tensor4d","pointwise_filter","bias","tensor1d","push","paramPath","SeparableConvParams","loadSeparableConvParamsFactory","extractWeightEntry","prefix","convLayer","x","params","padding","withRelu","tidy","out","add","conv2d","filters","relu","LabeledFaceDescriptors","label","descriptors","Error","Array","isArray","some","desc","Float32Array","_label","_descriptors","get","enumerable","configurable","toJSON","d","from","fromJSON","json","disposeUnusedWeightTensors","weightMap","keys","forEach","path","pm","originalPath","dispose","Box_1","LabeledBox","box","_this","call","assertIsValidLabeledBox","callee","Box","assertIsValidBox","isValidNumber","extractWeightEntryFactory","paramRank","mappedPath","tensor","isTensor","Rect","y","width","height","allowNegativeDimensions","Dimensions_1","ObjectDetection","score","classScore","className","relativeBox","imageDims","_imageDims","Dimensions","_score","_classScore","_className","_box","rescale","reverse","forSize","iou","box1","box2","isIOU","Math","max","min","right","left","bottom","top","interSection","area","ops_1","FaceDetection_1","Point_1","Rect_1","relX","relY","relScale","relativeFaceLandmarkPositions","imgDims","shift","Point","_imgDims","_shift","_positions","pt","mul","sub","div","imageWidth","imageHeight","constructor","relativePositions","shiftBy","shiftByPoint","align","detection","options","FaceDetection","floor","_a","assign","useDlibAlignment","minBoxPadding","alignDlib","alignMinBbox","centers","leftEyeCenter","rightEyeCenter","mouthCenter","distToMouth","magnitude","eyeToMouthDist","size","refPoint","minBbox","pad","extractConvParamsFactory","filterSize","JSON","stringify","_width","_height","getModelUris","uri","defaultModelName","defaultManifestFilename","modelBaseUri","manifestUri","protocol","startsWith","replace","parts","split","filter","s","manifestFile","endsWith","length","join","ObjectDetection_1","FaceLandmarks5","pts","iou_1","nonMaxSuppression","boxes","scores","iouThreshold","indicesSortedByScore","boxIndex","sort","c1","c2","c","pick","_loop_1","curr","pop","indices","outputs","i","idx","currBox","idxBox","_","j","extractFCParamsFactory","fc_weights","tensor2d","fc_bias","classes_1","xs","ys","minX","reduce","Infinity","minY","maxX","maxY","BoundingBox","_x","_y","abs","sqrt","pow","isBbox","every","isRect","rect","round","val","toSquare","diff","scaleX","isDimensions","scaleY","padX","padY","clipAtImageBorders","imgWidth","imgHeight","clippedX","clippedY","newWidth","newHeight","clippedWidth","clippedHeight","sx","sy","padAtBorders","w","h","dx","dy","edx","edy","ex","ey","calibrate","region","FaceMatch","distance","_distance","toString","withDistance","shuffleArray","inputArray","array","random","LabeledBox_1","PredictedBox","assertIsValidPredictedBox","isValidProbablitiy","normalize","meanRgb","r","g","b","avg_r","fill","__spreadArrays","shape","avg_g","avg_b","avg_rgb","concat","dim","Tensor","isTensor1D","isTensor2D","isTensor3D","isTensor4D","isFloat","num","isEven","prec","f","obj","computeReshapedDimensions","inputSize","scale","sum","range","start","step","isNaN","sigmoid","exp","inverseSigmoid","log","depthwiseSeparableConv","stride","separableConv2d","padToSquare","imgTensor","isCenterImage","dimDiff","paddingAmount","paddingAxis","createPaddingTensor","paddingTensorShape","paddingTensorAppend","remainingPaddingAmount","paddingTensorPrepend","tensorsToStack","t","toFloat"],"mappings":"kHACAA,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QACtBA,EAAQC,aAAa,EAAQ,QAAgBH,GAC7CE,EAAQC,aAAa,EAAQ,QAA6BH,GAC1DE,EAAQC,aAAa,EAAQ,QAAiCH,GAC9DE,EAAQC,aAAa,EAAQ,QAA+BH,GAC5DE,EAAQC,aAAa,EAAQ,QAA6BH,GAC1DE,EAAQC,aAAa,EAAQ,QAAwCH,GACrEE,EAAQC,aAAa,EAAQ,SAAgCH,GAC7DE,EAAQC,aAAa,EAAQ,QAA4BH,GACzDE,EAAQC,aAAa,EAAQ,QAAmBH,GAChDE,EAAQC,aAAa,EAAQ,SAAYH,I,oCCXzCF,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QACtBA,EAAQC,aAAa,EAAQ,QAAkBH,GAC/CE,EAAQC,aAAa,EAAQ,QAAUH,GACvCE,EAAQC,aAAa,EAAQ,QAAiBH,GAC9CE,EAAQC,aAAa,EAAQ,QAAoBH,GACjDE,EAAQC,aAAa,EAAQ,QAAoBH,GACjDE,EAAQC,aAAa,EAAQ,QAAqBH,GAClDE,EAAQC,aAAa,EAAQ,QAAsBH,GACnDE,EAAQC,aAAa,EAAQ,QAAgBH,GAC7CE,EAAQC,aAAa,EAAQ,QAAiBH,GAC9CE,EAAQC,aAAa,EAAQ,QAA6BH,GAC1DE,EAAQC,aAAa,EAAQ,QAAsBH,GACnDE,EAAQC,aAAa,EAAQ,QAAYH,GACzCE,EAAQC,aAAa,EAAQ,QAAmBH,GAChDE,EAAQC,aAAa,EAAQ,QAAWH,I,oCCfxCF,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClBE,EAAU,EAAQ,QAClBC,EAAkB,EAAQ,QAC1BC,EAAiC,SAAUC,GAE3C,SAASD,IACL,OAAkB,OAAXC,GAAmBA,EAAOC,MAAMC,KAAMC,YAAcD,KA8B/D,OAhCAP,EAAQS,UAAUL,EAAiBC,GAInCD,EAAgBM,UAAUC,cAAgB,WACtC,OAAOJ,KAAKK,UAAUC,MAAM,EAAG,KAEnCT,EAAgBM,UAAUI,eAAiB,WACvC,OAAOP,KAAKK,UAAUC,MAAM,GAAI,KAEpCT,EAAgBM,UAAUK,gBAAkB,WACxC,OAAOR,KAAKK,UAAUC,MAAM,GAAI,KAEpCT,EAAgBM,UAAUM,QAAU,WAChC,OAAOT,KAAKK,UAAUC,MAAM,GAAI,KAEpCT,EAAgBM,UAAUO,WAAa,WACnC,OAAOV,KAAKK,UAAUC,MAAM,GAAI,KAEpCT,EAAgBM,UAAUQ,YAAc,WACpC,OAAOX,KAAKK,UAAUC,MAAM,GAAI,KAEpCT,EAAgBM,UAAUS,SAAW,WACjC,OAAOZ,KAAKK,UAAUC,MAAM,GAAI,KAEpCT,EAAgBM,UAAUU,yBAA2B,WACjD,MAAO,CACHb,KAAKU,aACLV,KAAKW,cACLX,KAAKY,YACPE,IAAInB,EAAQoB,iBAEXlB,EAjCyB,CAkClCD,EAAgBoB,eAClBzB,EAAQM,gBAAkBA,G,oCCtC1B,SAASoB,EAAsBC,GAC3B,IAAIC,EAAmBD,EACvB,SAASE,EAAeC,GACpB,IAAIC,EAAMH,EAAiBb,MAAM,EAAGe,GAEpC,OADAF,EAAmBA,EAAiBb,MAAMe,GACnCC,EAEX,SAASC,IACL,OAAOJ,EAEX,MAAO,CACHC,eAAgBA,EAChBG,oBAAqBA,GAb7BlC,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAgBtDD,EAAQ0B,sBAAwBA,G,oCChBhC5B,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QACbC,EAAU,EAAQ,SACtB,SAASC,EAAkCN,EAAgBO,GACvD,OAAO,SAAUC,EAAYC,EAAaC,GACtC,IAAIC,EAAmBP,EAAGQ,SAASZ,EAAe,EAAQQ,GAAa,CAAC,EAAG,EAAGA,EAAY,IACtFK,EAAmBT,EAAGQ,SAASZ,EAAeQ,EAAaC,GAAc,CAAC,EAAG,EAAGD,EAAYC,IAC5FK,EAAOV,EAAGW,SAASf,EAAeS,IAEtC,OADAF,EAAcS,KAAK,CAAEC,UAAWP,EAAe,qBAAuB,CAAEO,UAAWP,EAAe,qBAAuB,CAAEO,UAAWP,EAAe,UAC9I,IAAIL,EAAQa,oBAAoBP,EAAkBE,EAAkBC,IAInF,SAASK,EAA+BC,GACpC,OAAO,SAAUC,GACb,IAAIV,EAAmBS,EAAmBC,EAAS,oBAAqB,GACpER,EAAmBO,EAAmBC,EAAS,oBAAqB,GACpEP,EAAOM,EAAmBC,EAAS,QAAS,GAChD,OAAO,IAAIhB,EAAQa,oBAAoBP,EAAkBE,EAAkBC,IANnF3C,EAAQmC,kCAAoCA,EAS5CnC,EAAQgD,+BAAiCA,G,oCCrBzClD,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QACjB,SAASkB,EAAUC,EAAGC,EAAQC,EAASC,GAGnC,YAFgB,IAAZD,IAAsBA,EAAU,aACnB,IAAbC,IAAuBA,GAAW,GAC/BtB,EAAGuB,MAAK,WACX,IAAIC,EAAMxB,EAAGyB,IAAIzB,EAAG0B,OAAOP,EAAGC,EAAOO,QAAS,CAAC,EAAG,GAAIN,GAAUD,EAAOV,MACvE,OAAOY,EAAWtB,EAAG4B,KAAKJ,GAAOA,KAGzCzD,EAAQmD,UAAYA,G,oCCVpBrD,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAI6D,EAAwC,WACxC,SAASA,EAAuBC,EAAOC,GACnC,GAAuB,kBAAVD,EACT,MAAM,IAAIE,MAAM,sEAEpB,IAAKC,MAAMC,QAAQH,IAAgBA,EAAYI,MAAK,SAAUC,GAAQ,QAASA,aAAgBC,iBAC3F,MAAM,IAAIL,MAAM,4FAEpBxD,KAAK8D,OAASR,EACdtD,KAAK+D,aAAeR,EAwBxB,OAtBAlE,OAAOC,eAAe+D,EAAuBlD,UAAW,QAAS,CAC7D6D,IAAK,WAAc,OAAOhE,KAAK8D,QAC/BG,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+D,EAAuBlD,UAAW,cAAe,CACnE6D,IAAK,WAAc,OAAOhE,KAAK+D,cAC/BE,YAAY,EACZC,cAAc,IAElBb,EAAuBlD,UAAUgE,OAAS,WACtC,MAAO,CACHb,MAAOtD,KAAKsD,MACZC,YAAavD,KAAKuD,YAAYzC,KAAI,SAAUsD,GAAK,OAAOX,MAAMY,KAAKD,QAG3Ef,EAAuBiB,SAAW,SAAUC,GACxC,IAAIhB,EAAcgB,EAAKhB,YAAYzC,KAAI,SAAUsD,GAC7C,OAAO,IAAIP,aAAaO,MAE5B,OAAO,IAAIf,EAAuBkB,EAAKjB,MAAOC,IAE3CF,EAjCgC,GAmC3C9D,EAAQ8D,uBAAyBA,G,kCCnCjC,SAASmB,EAA2BC,EAAW9C,GAC3CtC,OAAOqF,KAAKD,GAAWE,SAAQ,SAAUC,GAChCjD,EAAcgC,MAAK,SAAUkB,GAAM,OAAOA,EAAGC,eAAiBF,MAC/DH,EAAUG,GAAMG,aAJ5B1F,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAQtDD,EAAQiF,2BAA6BA,G,oCCRrCnF,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClBE,EAAU,EAAQ,QAClBqF,EAAQ,EAAQ,QAChBC,EAA4B,SAAUnF,GAEtC,SAASmF,EAAWC,EAAK5B,GACrB,IAAI6B,EAAQrF,EAAOsF,KAAKpF,KAAMkF,IAAQlF,KAEtC,OADAmF,EAAMrB,OAASR,EACR6B,EAaX,OAjBA1F,EAAQS,UAAU+E,EAAYnF,GAM9BmF,EAAWI,wBAA0B,SAAUH,EAAKI,GAEhD,GADAN,EAAMO,IAAIC,iBAAiBN,EAAKI,IAC3B3F,EAAQ8F,cAAcP,EAAI5B,OAC3B,MAAM,IAAIE,MAAM8B,EAAS,+BAAiCJ,EAAI5B,MAAQ,qBAG9EjE,OAAOC,eAAe2F,EAAW9E,UAAW,QAAS,CACjD6D,IAAK,WAAc,OAAOhE,KAAK8D,QAC/BG,YAAY,EACZC,cAAc,IAEXe,EAlBoB,CAmB7BD,EAAMO,KACRhG,EAAQ0F,WAAaA,G,qCCxBrB5F,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIG,EAAU,EAAQ,QACtB,SAAS+F,EAA0BjB,EAAW9C,GAC1C,OAAO,SAAUmD,EAAca,EAAWC,GACtC,IAAIC,EAASpB,EAAUK,GACvB,IAAKnF,EAAQmG,SAASD,EAAQF,GAC1B,MAAM,IAAInC,MAAM,sBAAwBsB,EAAe,mBAAqBa,EAAY,mBAAqBE,GAGjH,OADAlE,EAAcS,KAAK,CAAE0C,aAAcA,EAAczC,UAAWuD,GAAcd,IACnEe,GAGftG,EAAQmG,0BAA4BA,G,oCCZpCrG,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClBuF,EAAQ,EAAQ,QAChBe,EAAsB,SAAUjG,GAEhC,SAASiG,EAAKpD,EAAGqD,EAAGC,EAAOC,EAAQC,GAE/B,YADgC,IAA5BA,IAAsCA,GAA0B,GAC7DrG,EAAOsF,KAAKpF,KAAM,CAAE2C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,GAAUC,IAA4BnG,KAEvG,OALAP,EAAQS,UAAU6F,EAAMjG,GAKjBiG,EANc,CAOvBf,EAAMO,KACRhG,EAAQwG,KAAOA,G,oCCXf1G,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIwF,EAAQ,EAAQ,QAChBoB,EAAe,EAAQ,QACvBC,EAAiC,WACjC,SAASA,EAAgBC,EAAOC,EAAYC,EAAWC,EAAaC,GAChE1G,KAAK2G,WAAa,IAAIP,EAAaQ,WAAWF,EAAUT,MAAOS,EAAUR,QACzElG,KAAK6G,OAASP,EACdtG,KAAK8G,YAAcP,EACnBvG,KAAK+G,WAAaP,EAClBxG,KAAKgH,KAAO,IAAIhC,EAAMO,IAAIkB,GAAaQ,QAAQjH,KAAK2G,YA6CxD,OA3CAtH,OAAOC,eAAe+G,EAAgBlG,UAAW,QAAS,CACtD6D,IAAK,WAAc,OAAOhE,KAAK6G,QAC/B5C,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,aAAc,CAC3D6D,IAAK,WAAc,OAAOhE,KAAK8G,aAC/B7C,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,YAAa,CAC1D6D,IAAK,WAAc,OAAOhE,KAAK+G,YAC/B9C,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,MAAO,CACpD6D,IAAK,WAAc,OAAOhE,KAAKgH,MAC/B/C,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,YAAa,CAC1D6D,IAAK,WAAc,OAAOhE,KAAK2G,YAC/B1C,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,aAAc,CAC3D6D,IAAK,WAAc,OAAOhE,KAAK0G,UAAUT,OACzChC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,cAAe,CAC5D6D,IAAK,WAAc,OAAOhE,KAAK0G,UAAUR,QACzCjC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe+G,EAAgBlG,UAAW,cAAe,CAC5D6D,IAAK,WAAc,OAAO,IAAIgB,EAAMO,IAAIvF,KAAKgH,MAAMC,QAAQjH,KAAK0G,UAAUQ,YAC1EjD,YAAY,EACZC,cAAc,IAElBmC,EAAgBlG,UAAUgH,QAAU,SAAUlB,EAAOC,GACjD,OAAO,IAAIG,EAAgBrG,KAAKsG,MAAOtG,KAAKuG,WAAYvG,KAAKwG,UAAWxG,KAAKyG,YAAa,CAAER,MAAOA,EAAOC,OAAQA,KAE/GG,EAnDyB,GAqDpC9G,EAAQ8G,gBAAkBA,G,kCCvD1B,SAASe,EAAIC,EAAMC,EAAMC,QACP,IAAVA,IAAoBA,GAAQ,GAChC,IAAItB,EAAQuB,KAAKC,IAAI,EAAKD,KAAKE,IAAIL,EAAKM,MAAOL,EAAKK,OAASH,KAAKC,IAAIJ,EAAKO,KAAMN,EAAKM,OAClF1B,EAASsB,KAAKC,IAAI,EAAKD,KAAKE,IAAIL,EAAKQ,OAAQP,EAAKO,QAAUL,KAAKC,IAAIJ,EAAKS,IAAKR,EAAKQ,MACpFC,EAAe9B,EAAQC,EAC3B,OAAOqB,EACDQ,GAAgBV,EAAKW,KAAOV,EAAKU,KAAOD,GACxCA,EAAeP,KAAKE,IAAIL,EAAKW,KAAMV,EAAKU,MARlD3I,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAUtDD,EAAQ6H,IAAMA,G,kCCVd/H,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIyI,EAAQ,EAAQ,QAChBtI,EAAU,EAAQ,QAClBqF,EAAQ,EAAQ,QAChBoB,EAAe,EAAQ,QACvB8B,EAAkB,EAAQ,QAC1BC,EAAU,EAAQ,QAClBC,EAAS,EAAQ,QAEjBC,EAAO,GACPC,EAAO,IACPC,EAAW,IACXvH,EAA+B,WAC/B,SAASA,EAAcwH,EAA+BC,EAASC,QAC7C,IAAVA,IAAoBA,EAAQ,IAAIP,EAAQQ,MAAM,EAAG,IACrD,IAAI1C,EAAQwC,EAAQxC,MAAOC,EAASuC,EAAQvC,OAC5ClG,KAAK4I,SAAW,IAAIxC,EAAaQ,WAAWX,EAAOC,GACnDlG,KAAK6I,OAASH,EACd1I,KAAK8I,WAAaN,EAA8B1H,KAAI,SAAUiI,GAAM,OAAOA,EAAGC,IAAI,IAAIb,EAAQQ,MAAM1C,EAAOC,IAASjD,IAAIyF,MAmF5H,OAjFArJ,OAAOC,eAAe0B,EAAcb,UAAW,QAAS,CACpD6D,IAAK,WAAc,OAAO,IAAImE,EAAQQ,MAAM3I,KAAK6I,OAAOlG,EAAG3C,KAAK6I,OAAO7C,IACvE/B,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe0B,EAAcb,UAAW,aAAc,CACzD6D,IAAK,WAAc,OAAOhE,KAAK4I,SAAS3C,OACxChC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe0B,EAAcb,UAAW,cAAe,CAC1D6D,IAAK,WAAc,OAAOhE,KAAK4I,SAAS1C,QACxCjC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe0B,EAAcb,UAAW,YAAa,CACxD6D,IAAK,WAAc,OAAOhE,KAAK8I,YAC/B7E,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe0B,EAAcb,UAAW,oBAAqB,CAChE6D,IAAK,WACD,IAAImB,EAAQnF,KACZ,OAAOA,KAAK8I,WAAWhI,KAAI,SAAUiI,GAAM,OAAOA,EAAGE,IAAI9D,EAAM0D,QAAQK,IAAI,IAAIf,EAAQQ,MAAMxD,EAAMgE,WAAYhE,EAAMiE,kBAEzHnF,YAAY,EACZC,cAAc,IAElBlD,EAAcb,UAAUgH,QAAU,SAAUlB,EAAOC,GAC/C,OAAO,IAAIlG,KAAKqJ,YAAYrJ,KAAKsJ,kBAAmB,CAAErD,MAAOA,EAAOC,OAAQA,KAEhFlF,EAAcb,UAAUoJ,QAAU,SAAU5G,EAAGqD,GAC3C,OAAO,IAAIhG,KAAKqJ,YAAYrJ,KAAKsJ,kBAAmBtJ,KAAK4I,SAAU,IAAIT,EAAQQ,MAAMhG,EAAGqD,KAE5FhF,EAAcb,UAAUqJ,aAAe,SAAUT,GAC7C,OAAO/I,KAAKuJ,QAAQR,EAAGpG,EAAGoG,EAAG/C,IAajChF,EAAcb,UAAUsJ,MAAQ,SAAUC,EAAWC,GAEjD,QADgB,IAAZA,IAAsBA,EAAU,IAChCD,EAAW,CACX,IAAIxE,EAAMwE,aAAqBxB,EAAgB0B,cACzCF,EAAUxE,IAAI2E,QACd,IAAI7E,EAAMO,IAAImE,GACpB,OAAO1J,KAAKuJ,QAAQrE,EAAIvC,EAAGuC,EAAIc,GAAGyD,MAAM,KAAME,GAElD,IAAIG,EAAKzK,OAAO0K,OAAO,GAAI,CAAEC,kBAAkB,EAAOC,cAAe,IAAON,GAAUK,EAAmBF,EAAGE,iBAAkBC,EAAgBH,EAAGG,cACjJ,OAAID,EACOhK,KAAKkK,YAETlK,KAAKmK,aAAaF,IAE7BjJ,EAAcb,UAAU+J,UAAY,WAChC,IAAIE,EAAUpK,KAAKa,2BACfwJ,EAAgBD,EAAQ,GAAIE,EAAiBF,EAAQ,GAAIG,EAAcH,EAAQ,GAC/EI,EAAc,SAAUzB,GAAM,OAAOwB,EAAYtB,IAAIF,GAAI0B,aACzDC,GAAkBF,EAAYH,GAAiBG,EAAYF,IAAmB,EAC9EK,EAAOnD,KAAKqC,MAAMa,EAAiBnC,GACnCqC,EAAWjL,EAAQoB,eAAeqJ,GAElCzH,EAAI6E,KAAKqC,MAAMrC,KAAKC,IAAI,EAAGmD,EAASjI,EAAK0F,EAAOsC,IAChD3E,EAAIwB,KAAKqC,MAAMrC,KAAKC,IAAI,EAAGmD,EAAS5E,EAAKsC,EAAOqC,IACpD,OAAO,IAAIvC,EAAOrC,KAAKpD,EAAGqD,EAAGwB,KAAKE,IAAIiD,EAAM3K,KAAKmJ,WAAaxG,GAAI6E,KAAKE,IAAIiD,EAAM3K,KAAKoJ,YAAcpD,KAExGhF,EAAcb,UAAUgK,aAAe,SAAUtH,GAC7C,IAAIqC,EAAM+C,EAAM4C,QAAQ7K,KAAKK,WAC7B,OAAO6E,EAAI4F,IAAI5F,EAAIe,MAAQpD,EAASqC,EAAIgB,OAASrD,IAErD7B,EAAcb,UAAUU,yBAA2B,WAC/C,MAAM,IAAI2C,MAAM,2DAEbxC,EAzFuB,GA2FlCzB,EAAQyB,cAAgBA,G,kCCvGxB3B,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QACjB,SAASuJ,EAAyB3J,EAAgBO,GAC9C,OAAO,SAAUC,EAAYC,EAAamJ,EAAYlJ,GAClD,IAAIqB,EAAU3B,EAAGQ,SAASZ,EAAeQ,EAAaC,EAAcmJ,EAAaA,GAAa,CAACA,EAAYA,EAAYpJ,EAAYC,IAC/HK,EAAOV,EAAGW,SAASf,EAAeS,IAEtC,OADAF,EAAcS,KAAK,CAAEC,UAAWP,EAAe,YAAc,CAAEO,UAAWP,EAAe,UAClF,CAAEqB,QAASA,EAASjB,KAAMA,IAGzC3C,EAAQwL,yBAA2BA,G,kCCVnC1L,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIG,EAAU,EAAQ,QAClBiH,EAA4B,WAC5B,SAASA,EAAWX,EAAOC,GACvB,IAAKvG,EAAQ8F,cAAcQ,KAAWtG,EAAQ8F,cAAcS,GACxD,MAAM,IAAI1C,MAAM,wFAA0FyH,KAAKC,UAAU,CAAEjF,MAAOA,EAAOC,OAAQA,KAErJlG,KAAKmL,OAASlF,EACdjG,KAAKoL,QAAUlF,EAenB,OAbA7G,OAAOC,eAAesH,EAAWzG,UAAW,QAAS,CACjD6D,IAAK,WAAc,OAAOhE,KAAKmL,QAC/BlH,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAesH,EAAWzG,UAAW,SAAU,CAClD6D,IAAK,WAAc,OAAOhE,KAAKoL,SAC/BnH,YAAY,EACZC,cAAc,IAElB0C,EAAWzG,UAAU+G,QAAU,WAC3B,OAAO,IAAIN,EAAW,EAAI5G,KAAKiG,MAAO,EAAIjG,KAAKkG,SAE5CU,EArBoB,GAuB/BrH,EAAQqH,WAAaA,G,kCCxBrB,SAASyE,EAAaC,EAAKC,GACvB,IAAIC,EAA0BD,EAAmB,yBACjD,IAAKD,EACD,MAAO,CACHG,aAAc,GACdC,YAAaF,GAGrB,GAAY,MAARF,EACA,MAAO,CACHG,aAAc,IACdC,YAAa,IAAMF,GAG3B,IAAIG,EAAWL,EAAIM,WAAW,WAAa,UAAYN,EAAIM,WAAW,YAAc,WAAa,GACjGN,EAAMA,EAAIO,QAAQF,EAAU,IAC5B,IAAIG,EAAQR,EAAIS,MAAM,KAAKC,QAAO,SAAUC,GAAK,OAAOA,KACpDC,EAAeZ,EAAIa,SAAS,SAC1BL,EAAMA,EAAMM,OAAS,GACrBZ,EACFC,EAAeE,GAAYL,EAAIa,SAAS,SAAWL,EAAMxL,MAAM,EAAGwL,EAAMM,OAAS,GAAKN,GAAOO,KAAK,KAEtG,OADAZ,EAAeH,EAAIM,WAAW,KAAO,IAAMH,EAAeA,EACnD,CACHA,aAAcA,EACdC,YAA8B,MAAjBD,EAAuB,IAAMS,EAAeT,EAAe,IAAMS,GAzBtF7M,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IA4BtDD,EAAQ8L,aAAeA,G,kCC5BvBhM,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClB6M,EAAoB,EAAQ,QAC5B1C,EAA+B,SAAU9J,GAEzC,SAAS8J,EAActD,EAAOG,EAAaC,GACvC,OAAO5G,EAAOsF,KAAKpF,KAAMsG,EAAOA,EAAO,GAAIG,EAAaC,IAAc1G,KAM1E,OARAP,EAAQS,UAAU0J,EAAe9J,GAIjC8J,EAAczJ,UAAUgH,QAAU,SAAUlB,EAAOC,GAC/C,IAAI4D,EAAKhK,EAAOK,UAAUgH,QAAQ/B,KAAKpF,KAAMiG,EAAOC,GAASI,EAAQwD,EAAGxD,MAAOG,EAAcqD,EAAGrD,YAAaC,EAAYoD,EAAGpD,UAC5H,OAAO,IAAIkD,EAActD,EAAOG,EAAaC,IAE1CkD,EATuB,CAUhC0C,EAAkBjG,iBACpB9G,EAAQqK,cAAgBA,G,kCCdxBvK,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClBE,EAAU,EAAQ,QAClBC,EAAkB,EAAQ,QAC1B2M,EAAgC,SAAUzM,GAE1C,SAASyM,IACL,OAAkB,OAAXzM,GAAmBA,EAAOC,MAAMC,KAAMC,YAAcD,KAU/D,OAZAP,EAAQS,UAAUqM,EAAgBzM,GAIlCyM,EAAepM,UAAUU,yBAA2B,WAChD,IAAI2L,EAAMxM,KAAKK,UACf,MAAO,CACHmM,EAAI,GACJA,EAAI,GACJ7M,EAAQoB,eAAe,CAACyL,EAAI,GAAIA,EAAI,OAGrCD,EAbwB,CAcjC3M,EAAgBoB,eAClBzB,EAAQgN,eAAiBA,G,kCCnBzBlN,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIiN,EAAQ,EAAQ,QACpB,SAASC,EAAkBC,EAAOC,EAAQC,EAActF,QACtC,IAAVA,IAAoBA,GAAQ,GAChC,IAAIuF,EAAuBF,EACtB9L,KAAI,SAAUwF,EAAOyG,GAAY,MAAO,CAAGzG,MAAOA,EAAOyG,SAAUA,MACnEC,MAAK,SAAUC,EAAIC,GAAM,OAAOD,EAAG3G,MAAQ4G,EAAG5G,SAC9CxF,KAAI,SAAUqM,GAAK,OAAOA,EAAEJ,YAC7BK,EAAO,GACPC,EAAU,WACV,IAAIC,EAAOR,EAAqBS,MAChCH,EAAKhL,KAAKkL,GAGV,IAFA,IAAIE,EAAUV,EACVW,EAAU,GACLC,EAAI,EAAGA,EAAIF,EAAQpB,OAAQsB,IAAK,CACrC,IAAIC,EAAMH,EAAQE,GACdE,EAAUjB,EAAMW,GAChBO,EAASlB,EAAMgB,GACnBF,EAAQrL,KAAKqK,EAAMrF,IAAIwG,EAASC,EAAQtG,IAE5CuF,EAAuBA,EAAqBd,QAAO,SAAU8B,EAAGC,GAAK,OAAON,EAAQM,IAAMlB,MAE9F,MAAOC,EAAqBV,OAAS,EACjCiB,IAEJ,OAAOD,EAEX7N,EAAQmN,kBAAoBA,G,kCC3B5BrN,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QACjB,SAASwM,EAAuB5M,EAAgBO,GAC5C,OAAO,SAAUC,EAAYC,EAAaC,GACtC,IAAImM,EAAazM,EAAG0M,SAAS9M,EAAeQ,EAAaC,GAAc,CAACD,EAAYC,IAChFsM,EAAU3M,EAAGW,SAASf,EAAeS,IAEzC,OADAF,EAAcS,KAAK,CAAEC,UAAWP,EAAe,YAAc,CAAEO,UAAWP,EAAe,UAClF,CACHZ,QAAS+M,EACT/L,KAAMiM,IAIlB5O,EAAQyO,uBAAyBA,G,mCCbjC3O,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAI8C,EAAqC,WACrC,SAASA,EAAoBP,EAAkBE,EAAkBC,GAC7DlC,KAAK+B,iBAAmBA,EACxB/B,KAAKiC,iBAAmBA,EACxBjC,KAAKkC,KAAOA,EAEhB,OAAOI,EAN6B,GAQxC/C,EAAQ+C,oBAAsBA,G,kCCT9BjD,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAI4O,EAAY,EAAQ,QACxB,SAASvD,EAAQ2B,GACb,IAAI6B,EAAK7B,EAAI1L,KAAI,SAAUiI,GAAM,OAAOA,EAAGpG,KACvC2L,EAAK9B,EAAI1L,KAAI,SAAUiI,GAAM,OAAOA,EAAG/C,KACvCuI,EAAOF,EAAGG,QAAO,SAAU9G,EAAK/E,GAAK,OAAOA,EAAI+E,EAAM/E,EAAI+E,IAAQ+G,KAClEC,EAAOJ,EAAGE,QAAO,SAAU9G,EAAK1B,GAAK,OAAOA,EAAI0B,EAAM1B,EAAI0B,IAAQ+G,KAClEE,EAAON,EAAGG,QAAO,SAAU/G,EAAK9E,GAAK,OAAO8E,EAAM9E,EAAIA,EAAI8E,IAAQ,GAClEmH,EAAON,EAAGE,QAAO,SAAU/G,EAAKzB,GAAK,OAAOyB,EAAMzB,EAAIA,EAAIyB,IAAQ,GACtE,OAAO,IAAI2G,EAAUS,YAAYN,EAAMG,EAAMC,EAAMC,GAEvDrP,EAAQsL,QAAUA,G,kCCXlBxL,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClBuF,EAAQ,EAAQ,QAChB6J,EAA6B,SAAU/O,GAEvC,SAAS+O,EAAYjH,EAAME,EAAKH,EAAOE,EAAQ1B,GAE3C,YADgC,IAA5BA,IAAsCA,GAA0B,GAC7DrG,EAAOsF,KAAKpF,KAAM,CAAE4H,KAAMA,EAAME,IAAKA,EAAKH,MAAOA,EAAOE,OAAQA,GAAU1B,IAA4BnG,KAEjH,OALAP,EAAQS,UAAU2O,EAAa/O,GAKxB+O,EANqB,CAO9B7J,EAAMO,KACRhG,EAAQsP,YAAcA,G,kCCXtBxP,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAImJ,EAAuB,WACvB,SAASA,EAAMhG,EAAGqD,GACdhG,KAAK8O,GAAKnM,EACV3C,KAAK+O,GAAK/I,EAiCd,OA/BA3G,OAAOC,eAAeqJ,EAAMxI,UAAW,IAAK,CACxC6D,IAAK,WAAc,OAAOhE,KAAK8O,IAC/B7K,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeqJ,EAAMxI,UAAW,IAAK,CACxC6D,IAAK,WAAc,OAAOhE,KAAK+O,IAC/B9K,YAAY,EACZC,cAAc,IAElByE,EAAMxI,UAAU8C,IAAM,SAAU8F,GAC5B,OAAO,IAAIJ,EAAM3I,KAAK2C,EAAIoG,EAAGpG,EAAG3C,KAAKgG,EAAI+C,EAAG/C,IAEhD2C,EAAMxI,UAAU8I,IAAM,SAAUF,GAC5B,OAAO,IAAIJ,EAAM3I,KAAK2C,EAAIoG,EAAGpG,EAAG3C,KAAKgG,EAAI+C,EAAG/C,IAEhD2C,EAAMxI,UAAU6I,IAAM,SAAUD,GAC5B,OAAO,IAAIJ,EAAM3I,KAAK2C,EAAIoG,EAAGpG,EAAG3C,KAAKgG,EAAI+C,EAAG/C,IAEhD2C,EAAMxI,UAAU+I,IAAM,SAAUH,GAC5B,OAAO,IAAIJ,EAAM3I,KAAK2C,EAAIoG,EAAGpG,EAAG3C,KAAKgG,EAAI+C,EAAG/C,IAEhD2C,EAAMxI,UAAU6O,IAAM,WAClB,OAAO,IAAIrG,EAAMnB,KAAKwH,IAAIhP,KAAK2C,GAAI6E,KAAKwH,IAAIhP,KAAKgG,KAErD2C,EAAMxI,UAAUsK,UAAY,WACxB,OAAOjD,KAAKyH,KAAKzH,KAAK0H,IAAIlP,KAAK2C,EAAG,GAAK6E,KAAK0H,IAAIlP,KAAKgG,EAAG,KAE5D2C,EAAMxI,UAAU0J,MAAQ,WACpB,OAAO,IAAIlB,EAAMnB,KAAKqC,MAAM7J,KAAK2C,GAAI6E,KAAKqC,MAAM7J,KAAKgG,KAElD2C,EApCe,GAsC1BpJ,EAAQoJ,MAAQA,G,kCCvChBtJ,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIG,EAAU,EAAQ,QAClBwI,EAAU,EAAQ,QAClB5C,EAAqB,WACrB,SAASA,EAAIyB,EAAMb,QACiB,IAA5BA,IAAsCA,GAA0B,GACpE,IAAIjB,EAAO8B,GAAQ,GACfmI,EAAS,CAACjK,EAAI0C,KAAM1C,EAAI4C,IAAK5C,EAAIyC,MAAOzC,EAAI2C,QAAQuH,MAAMzP,EAAQ8F,eAClE4J,EAAS,CAACnK,EAAIvC,EAAGuC,EAAIc,EAAGd,EAAIe,MAAOf,EAAIgB,QAAQkJ,MAAMzP,EAAQ8F,eACjE,IAAK4J,IAAWF,EACZ,MAAM,IAAI3L,MAAM,2EAA6EyH,KAAKC,UAAUhG,IAEhH,IAAI4E,EAAKuF,EACH,CAACnK,EAAIvC,EAAGuC,EAAIc,EAAGd,EAAIe,MAAOf,EAAIgB,QAC9B,CAAChB,EAAI0C,KAAM1C,EAAI4C,IAAK5C,EAAIyC,MAAQzC,EAAI0C,KAAM1C,EAAI2C,OAAS3C,EAAI4C,KAAMnF,EAAImH,EAAG,GAAI9D,EAAI8D,EAAG,GAAI7D,EAAQ6D,EAAG,GAAI5D,EAAS4D,EAAG,GACxHvE,EAAIC,iBAAiB,CAAE7C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,GAAU,kBAAmBC,GACtFnG,KAAK8O,GAAKnM,EACV3C,KAAK+O,GAAK/I,EACVhG,KAAKmL,OAASlF,EACdjG,KAAKoL,QAAUlF,EA8KnB,OA5KAX,EAAI8J,OAAS,SAAUC,GACnB,QAASA,GAAQ,CAACA,EAAK3M,EAAG2M,EAAKtJ,EAAGsJ,EAAKrJ,MAAOqJ,EAAKpJ,QAAQkJ,MAAMzP,EAAQ8F,gBAE7EF,EAAIC,iBAAmB,SAAUN,EAAKI,EAAQa,GAE1C,QADgC,IAA5BA,IAAsCA,GAA0B,IAC/DZ,EAAI8J,OAAOnK,GACZ,MAAM,IAAI1B,MAAM8B,EAAS,mBAAqB2F,KAAKC,UAAUhG,GAAO,yDAExE,IAAKiB,IAA4BjB,EAAIe,MAAQ,GAAKf,EAAIgB,OAAS,GAC3D,MAAM,IAAI1C,MAAM8B,EAAS,aAAeJ,EAAIe,MAAQ,iBAAmBf,EAAIgB,OAAS,+BAG5F7G,OAAOC,eAAeiG,EAAIpF,UAAW,IAAK,CACtC6D,IAAK,WAAc,OAAOhE,KAAK8O,IAC/B7K,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,IAAK,CACtC6D,IAAK,WAAc,OAAOhE,KAAK+O,IAC/B9K,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,QAAS,CAC1C6D,IAAK,WAAc,OAAOhE,KAAKmL,QAC/BlH,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,SAAU,CAC3C6D,IAAK,WAAc,OAAOhE,KAAKoL,SAC/BnH,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,OAAQ,CACzC6D,IAAK,WAAc,OAAOhE,KAAK2C,GAC/BsB,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,MAAO,CACxC6D,IAAK,WAAc,OAAOhE,KAAKgG,GAC/B/B,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,QAAS,CAC1C6D,IAAK,WAAc,OAAOhE,KAAK2C,EAAI3C,KAAKiG,OACxChC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,SAAU,CAC3C6D,IAAK,WAAc,OAAOhE,KAAKgG,EAAIhG,KAAKkG,QACxCjC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,OAAQ,CACzC6D,IAAK,WAAc,OAAOhE,KAAKiG,MAAQjG,KAAKkG,QAC5CjC,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,UAAW,CAC5C6D,IAAK,WAAc,OAAO,IAAImE,EAAQQ,MAAM3I,KAAK4H,KAAM5H,KAAK8H,MAC5D7D,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,WAAY,CAC7C6D,IAAK,WAAc,OAAO,IAAImE,EAAQQ,MAAM3I,KAAK2H,MAAO3H,KAAK8H,MAC7D7D,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,aAAc,CAC/C6D,IAAK,WAAc,OAAO,IAAImE,EAAQQ,MAAM3I,KAAK4H,KAAM5H,KAAK6H,SAC5D5D,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAeiG,EAAIpF,UAAW,cAAe,CAChD6D,IAAK,WAAc,OAAO,IAAImE,EAAQQ,MAAM3I,KAAK2H,MAAO3H,KAAK6H,SAC7D5D,YAAY,EACZC,cAAc,IAElBqB,EAAIpF,UAAUoP,MAAQ,WAClB,IAAIzF,EAAK,CAAC9J,KAAK2C,EAAG3C,KAAKgG,EAAGhG,KAAKiG,MAAOjG,KAAKkG,QACtCpF,KAAI,SAAU0O,GAAO,OAAOhI,KAAK+H,MAAMC,MAAU7M,EAAImH,EAAG,GAAI9D,EAAI8D,EAAG,GAAI7D,EAAQ6D,EAAG,GAAI5D,EAAS4D,EAAG,GACvG,OAAO,IAAIvE,EAAI,CAAE5C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,KAEvDX,EAAIpF,UAAU0J,MAAQ,WAClB,IAAIC,EAAK,CAAC9J,KAAK2C,EAAG3C,KAAKgG,EAAGhG,KAAKiG,MAAOjG,KAAKkG,QACtCpF,KAAI,SAAU0O,GAAO,OAAOhI,KAAKqC,MAAM2F,MAAU7M,EAAImH,EAAG,GAAI9D,EAAI8D,EAAG,GAAI7D,EAAQ6D,EAAG,GAAI5D,EAAS4D,EAAG,GACvG,OAAO,IAAIvE,EAAI,CAAE5C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,KAEvDX,EAAIpF,UAAUsP,SAAW,WACrB,IAAI3F,EAAK9J,KAAM2C,EAAImH,EAAGnH,EAAGqD,EAAI8D,EAAG9D,EAAGC,EAAQ6D,EAAG7D,MAAOC,EAAS4D,EAAG5D,OAC7DwJ,EAAOlI,KAAKwH,IAAI/I,EAAQC,GAS5B,OARID,EAAQC,IACRvD,GAAM+M,EAAO,EACbzJ,GAASyJ,GAETxJ,EAASD,IACTD,GAAM0J,EAAO,EACbxJ,GAAUwJ,GAEP,IAAInK,EAAI,CAAE5C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,KAEvDX,EAAIpF,UAAU8G,QAAU,SAAUgF,GAC9B,IAAI0D,EAAShQ,EAAQiQ,aAAa3D,GAAKA,EAAEhG,MAAQgG,EAC7C4D,EAASlQ,EAAQiQ,aAAa3D,GAAKA,EAAE/F,OAAS+F,EAClD,OAAO,IAAI1G,EAAI,CACX5C,EAAG3C,KAAK2C,EAAIgN,EACZ3J,EAAGhG,KAAKgG,EAAI6J,EACZ5J,MAAOjG,KAAKiG,MAAQ0J,EACpBzJ,OAAQlG,KAAKkG,OAAS2J,KAG9BtK,EAAIpF,UAAU2K,IAAM,SAAUgF,EAAMC,GAChC,IAAIjG,EAAK,CACL9J,KAAK2C,EAAKmN,EAAO,EACjB9P,KAAKgG,EAAK+J,EAAO,EACjB/P,KAAKiG,MAAQ6J,EACb9P,KAAKkG,OAAS6J,GACfpN,EAAImH,EAAG,GAAI9D,EAAI8D,EAAG,GAAI7D,EAAQ6D,EAAG,GAAI5D,EAAS4D,EAAG,GACpD,OAAO,IAAIvE,EAAI,CAAE5C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,KAEvDX,EAAIpF,UAAU6P,mBAAqB,SAAUC,EAAUC,GACnD,IAAIpG,EAAK9J,KAAM2C,EAAImH,EAAGnH,EAAGqD,EAAI8D,EAAG9D,EAAG2B,EAAQmC,EAAGnC,MAAOE,EAASiC,EAAGjC,OAC7DsI,EAAW3I,KAAKC,IAAI9E,EAAG,GACvByN,EAAW5I,KAAKC,IAAIzB,EAAG,GACvBqK,EAAW1I,EAAQwI,EACnBG,EAAYzI,EAASuI,EACrBG,EAAe/I,KAAKE,IAAI2I,EAAUJ,EAAWE,GAC7CK,EAAgBhJ,KAAKE,IAAI4I,EAAWJ,EAAYE,GACpD,OAAO,IAAK7K,EAAI,CAAE5C,EAAGwN,EAAUnK,EAAGoK,EAAUnK,MAAOsK,EAAcrK,OAAQsK,IAAkB3G,SAE/FtE,EAAIpF,UAAUuI,MAAQ,SAAU+H,EAAIC,GAChC,IAAI5G,EAAK9J,KAAMiG,EAAQ6D,EAAG7D,MAAOC,EAAS4D,EAAG5D,OACzCvD,EAAI3C,KAAK2C,EAAI8N,EACbzK,EAAIhG,KAAKgG,EAAI0K,EACjB,OAAO,IAAInL,EAAI,CAAE5C,EAAGA,EAAGqD,EAAGA,EAAGC,MAAOA,EAAOC,OAAQA,KAEvDX,EAAIpF,UAAUwQ,aAAe,SAAUvH,EAAaD,GAChD,IAAIyH,EAAI5Q,KAAKiG,MAAQ,EACjB4K,EAAI7Q,KAAKkG,OAAS,EAClB4K,EAAK,EACLC,EAAK,EACLC,EAAMJ,EACNK,EAAMJ,EACNlO,EAAI3C,KAAK4H,KACT5B,EAAIhG,KAAK8H,IACToJ,EAAKlR,KAAK2H,MACVwJ,EAAKnR,KAAK6H,OAiBd,OAhBIqJ,EAAK/H,IACL6H,GAAOE,EAAK/H,EAAayH,EACzBM,EAAK/H,GAELgI,EAAK/H,IACL6H,GAAOE,EAAK/H,EAAcyH,EAC1BM,EAAK/H,GAELzG,EAAI,IACJsO,EAAM,EAAItO,EACVA,EAAI,GAEJqD,EAAI,IACJiL,EAAM,EAAIjL,EACVA,EAAI,GAED,CAAE+K,GAAIA,EAAIE,IAAKA,EAAKH,GAAIA,EAAIE,IAAKA,EAAKhL,EAAGA,EAAGmL,GAAIA,EAAIxO,EAAGA,EAAGuO,GAAIA,EAAIN,EAAGA,EAAGC,EAAGA,IAEtFtL,EAAIpF,UAAUiR,UAAY,SAAUC,GAChC,OAAO,IAAI9L,EAAI,CACXqC,KAAM5H,KAAK4H,KAAQyJ,EAAOzJ,KAAO5H,KAAKiG,MACtC6B,IAAK9H,KAAK8H,IAAOuJ,EAAOvJ,IAAM9H,KAAKkG,OACnCyB,MAAO3H,KAAK2H,MAAS0J,EAAO1J,MAAQ3H,KAAKiG,MACzC4B,OAAQ7H,KAAK6H,OAAUwJ,EAAOxJ,OAAS7H,KAAKkG,SAC7CuJ,WAAWF,SAEXhK,EA9La,GAgMxBhG,EAAQgG,IAAMA,G,kCCnMdlG,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIG,EAAU,EAAQ,QAClB2R,EAA2B,WAC3B,SAASA,EAAUhO,EAAOiO,GACtBvR,KAAK8D,OAASR,EACdtD,KAAKwR,UAAYD,EAgBrB,OAdAlS,OAAOC,eAAegS,EAAUnR,UAAW,QAAS,CAChD6D,IAAK,WAAc,OAAOhE,KAAK8D,QAC/BG,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAegS,EAAUnR,UAAW,WAAY,CACnD6D,IAAK,WAAc,OAAOhE,KAAKwR,WAC/BvN,YAAY,EACZC,cAAc,IAElBoN,EAAUnR,UAAUsR,SAAW,SAAUC,GAErC,YADqB,IAAjBA,IAA2BA,GAAe,GAClC1R,KAAKsD,OAASoO,EAAe,KAAO/R,EAAQ4P,MAAMvP,KAAKuR,UAAY,IAAM,KAElFD,EAnBmB,GAqB9B/R,EAAQ+R,UAAYA,G,kCCtBpB,SAASK,EAAaC,GAElB,IADA,IAAIC,EAAQD,EAAWtR,QACdoN,EAAImE,EAAMzF,OAAS,EAAGsB,EAAI,EAAGA,IAAK,CACvC,IAAIK,EAAIvG,KAAKqC,MAAMrC,KAAKsK,UAAYpE,EAAI,IACpC/K,EAAIkP,EAAMnE,GACdmE,EAAMnE,GAAKmE,EAAM9D,GACjB8D,EAAM9D,GAAKpL,EAEf,OAAOkP,EATXxS,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAWtDD,EAAQoS,aAAeA,G,kCCXvBtS,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClBE,EAAU,EAAQ,QAClBoS,EAAe,EAAQ,QACvBC,EAA8B,SAAUlS,GAExC,SAASkS,EAAa9M,EAAK5B,EAAOgD,EAAOC,GACrC,IAAIpB,EAAQrF,EAAOsF,KAAKpF,KAAMkF,EAAK5B,IAAUtD,KAG7C,OAFAmF,EAAM0B,OAASP,EACfnB,EAAM2B,YAAcP,EACbpB,EAmBX,OAxBA1F,EAAQS,UAAU8R,EAAclS,GAOhCkS,EAAaC,0BAA4B,SAAU/M,EAAKI,GAEpD,GADAyM,EAAa9M,WAAWI,wBAAwBH,EAAKI,IAChD3F,EAAQuS,mBAAmBhN,EAAIoB,SAC5B3G,EAAQuS,mBAAmBhN,EAAIqB,YACnC,MAAM,IAAI/C,MAAM8B,EAAS,iCAAmCJ,EAAIoB,MAAQ,UAAYpB,EAAIqB,WAAa,oCAG7GlH,OAAOC,eAAe0S,EAAa7R,UAAW,QAAS,CACnD6D,IAAK,WAAc,OAAOhE,KAAK6G,QAC/B5C,YAAY,EACZC,cAAc,IAElB7E,OAAOC,eAAe0S,EAAa7R,UAAW,aAAc,CACxD6D,IAAK,WAAc,OAAOhE,KAAK8G,aAC/B7C,YAAY,EACZC,cAAc,IAEX8N,EAzBsB,CA0B/BD,EAAa9M,YACf1F,EAAQyS,aAAeA,G,kCC/BvB3S,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAClB+B,EAAK,EAAQ,QACjB,SAAS2Q,EAAUxP,EAAGyP,GAClB,OAAO5Q,EAAGuB,MAAK,WACX,IAAIsP,EAAID,EAAQ,GAAIE,EAAIF,EAAQ,GAAIG,EAAIH,EAAQ,GAC5CI,EAAQhR,EAAGiR,KAAKhT,EAAQiT,eAAe/P,EAAEgQ,MAAMrS,MAAM,EAAG,GAAI,CAAC,IAAK+R,GAClEO,EAAQpR,EAAGiR,KAAKhT,EAAQiT,eAAe/P,EAAEgQ,MAAMrS,MAAM,EAAG,GAAI,CAAC,IAAKgS,GAClEO,EAAQrR,EAAGiR,KAAKhT,EAAQiT,eAAe/P,EAAEgQ,MAAMrS,MAAM,EAAG,GAAI,CAAC,IAAKiS,GAClEO,EAAUtR,EAAGuR,OAAO,CAACP,EAAOI,EAAOC,GAAQ,GAC/C,OAAOrR,EAAGyH,IAAItG,EAAGmQ,MAGzBvT,EAAQ4S,UAAYA,G,kCCbpB9S,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QACb4M,EAAY,EAAQ,QACpBhI,EAAe,EAAQ,QAC3B,SAASN,EAASD,EAAQmN,GACtB,OAAOnN,aAAkBrE,EAAGyR,QAAUpN,EAAO8M,MAAMvG,SAAW4G,EAGlE,SAASE,EAAWrN,GAChB,OAAOC,EAASD,EAAQ,GAG5B,SAASsN,EAAWtN,GAChB,OAAOC,EAASD,EAAQ,GAG5B,SAASuN,EAAWvN,GAChB,OAAOC,EAASD,EAAQ,GAG5B,SAASwN,EAAWxN,GAChB,OAAOC,EAASD,EAAQ,GAG5B,SAASyN,EAAQC,GACb,OAAOA,EAAM,IAAM,EAGvB,SAASC,EAAOD,GACZ,OAAOA,EAAM,IAAM,EAGvB,SAAShE,EAAMgE,EAAKE,QACH,IAATA,IAAmBA,EAAO,GAC9B,IAAIC,EAAIlM,KAAK0H,IAAI,GAAIuE,GACrB,OAAOjM,KAAKqC,MAAM0J,EAAMG,GAAKA,EAGjC,SAAS9D,EAAa+D,GAClB,OAAOA,GAAOA,EAAI1N,OAAS0N,EAAIzN,OAGnC,SAAS0N,EAA0B9J,EAAI+J,GACnC,IAAI5N,EAAQ6D,EAAG7D,MAAOC,EAAS4D,EAAG5D,OAC9B4N,EAAQD,EAAYrM,KAAKC,IAAIvB,EAAQD,GACzC,OAAO,IAAIG,EAAaQ,WAAWY,KAAK+H,MAAMtJ,EAAQ6N,GAAQtM,KAAK+H,MAAMrJ,EAAS4N,IAGtF,SAAS/S,EAAeyL,GACpB,OAAOA,EAAIgC,QAAO,SAAUuF,EAAKhL,GAAM,OAAOgL,EAAI9Q,IAAI8F,KAAQ,IAAIqF,EAAUzF,MAAM,EAAG,IAChFO,IAAI,IAAIkF,EAAUzF,MAAM6D,EAAIJ,OAAQI,EAAIJ,SAGjD,SAAS4H,EAAMT,EAAKU,EAAOC,GACvB,OAAOzQ,MAAM8P,GAAKd,KAAK,GAAG3R,KAAI,SAAUgN,EAAGJ,GAAK,OAAOuG,EAASvG,EAAIwG,KAGxE,SAASzO,EAAc8N,GACnB,QAASA,GAAOA,IAAQ9E,KAAY8E,KAAS9E,MAAa0F,MAAMZ,IAAgB,IAARA,EAG5E,SAASrB,EAAmBqB,GACxB,OAAO9N,EAAc8N,IAAQ,GAAKA,GAAOA,GAAO,EAvDpDhU,EAAQuG,SAAWA,EAInBvG,EAAQ2T,WAAaA,EAIrB3T,EAAQ4T,WAAaA,EAIrB5T,EAAQ6T,WAAaA,EAIrB7T,EAAQ8T,WAAaA,EAIrB9T,EAAQ+T,QAAUA,EAIlB/T,EAAQiU,OAASA,EAMjBjU,EAAQgQ,MAAQA,EAIhBhQ,EAAQqQ,aAAeA,EAMvBrQ,EAAQqU,0BAA4BA,EAKpCrU,EAAQwB,eAAiBA,EAIzBxB,EAAQyU,MAAQA,EAIhBzU,EAAQkG,cAAgBA,EAIxBlG,EAAQ2S,mBAAqBA,G,kCChE7B7S,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIC,EAAU,EAAQ,QAOtB,SAAS2U,EAAQzR,GACb,OAAO,GAAK,EAAI6E,KAAK6M,KAAK1R,IAG9B,SAAS2R,EAAe3R,GACpB,OAAO6E,KAAK+M,IAAI5R,GAAK,EAAIA,IAX7BlD,EAAQC,aAAa,EAAQ,QAAUH,GACvCE,EAAQC,aAAa,EAAQ,QAAcH,GAC3CE,EAAQC,aAAa,EAAQ,QAAwBH,GACrDE,EAAQC,aAAa,EAAQ,QAAgBH,GAC7CE,EAAQC,aAAa,EAAQ,QAAkBH,GAC/CE,EAAQC,aAAa,EAAQ,QAAmBH,GAIhDA,EAAQ6U,QAAUA,EAIlB7U,EAAQ+U,eAAiBA,G,kCCfzBjV,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QACjB,SAASgT,EAAuB7R,EAAGC,EAAQ6R,GACvC,OAAOjT,EAAGuB,MAAK,WACX,IAAIC,EAAMxB,EAAGkT,gBAAgB/R,EAAGC,EAAOb,iBAAkBa,EAAOX,iBAAkBwS,EAAQ,QAE1F,OADAzR,EAAMxB,EAAGyB,IAAID,EAAKJ,EAAOV,MAClBc,KAGfzD,EAAQiV,uBAAyBA,G,kCCTjCnV,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IACtD,IAAIgC,EAAK,EAAQ,QASjB,SAASmT,EAAYC,EAAWC,GAE5B,YADsB,IAAlBA,IAA4BA,GAAgB,GACzCrT,EAAGuB,MAAK,WACX,IAAI+G,EAAK8K,EAAUjC,MAAMrS,MAAM,GAAI4F,EAAS4D,EAAG,GAAI7D,EAAQ6D,EAAG,GAC9D,GAAI5D,IAAWD,EACX,OAAO2O,EAEX,IAAIE,EAAUtN,KAAKwH,IAAI9I,EAASD,GAC5B8O,EAAgBvN,KAAK+H,MAAMuF,GAAWD,EAAgB,GAAM,IAC5DG,EAAc9O,EAASD,EAAQ,EAAI,EACnCgP,EAAsB,SAAUF,GAChC,IAAIG,EAAqBN,EAAUjC,MAAMrS,QAEzC,OADA4U,EAAmBF,GAAeD,EAC3BvT,EAAGiR,KAAKyC,EAAoB,IAEnCC,EAAsBF,EAAoBF,GAC1CK,EAAyBN,EAAUK,EAAoBxC,MAAMqC,GAC7DK,EAAuBR,GAAiBO,EACtCH,EAAoBG,GACpB,KACFE,EAAiB,CACjBD,EACAT,EACAO,GAECnJ,QAAO,SAAUuJ,GAAK,QAASA,KAC/BzU,KAAI,SAAUyU,GAAK,OAAOA,EAAEC,aACjC,OAAOhU,EAAGuR,OAAOuC,EAAgBN,MAGzCzV,EAAQoV,YAAcA","file":"js/chunk-e6d709ec.71e71ba9.js","sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\ntslib_1.__exportStar(require(\"./convLayer\"), exports);\r\ntslib_1.__exportStar(require(\"./depthwiseSeparableConv\"), exports);\r\ntslib_1.__exportStar(require(\"./disposeUnusedWeightTensors\"), exports);\r\ntslib_1.__exportStar(require(\"./extractConvParamsFactory\"), exports);\r\ntslib_1.__exportStar(require(\"./extractFCParamsFactory\"), exports);\r\ntslib_1.__exportStar(require(\"./extractSeparableConvParamsFactory\"), exports);\r\ntslib_1.__exportStar(require(\"./extractWeightEntryFactory\"), exports);\r\ntslib_1.__exportStar(require(\"./extractWeightsFactory\"), exports);\r\ntslib_1.__exportStar(require(\"./getModelUris\"), exports);\r\ntslib_1.__exportStar(require(\"./types\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\ntslib_1.__exportStar(require(\"./BoundingBox\"), exports);\r\ntslib_1.__exportStar(require(\"./Box\"), exports);\r\ntslib_1.__exportStar(require(\"./Dimensions\"), exports);\r\ntslib_1.__exportStar(require(\"./FaceDetection\"), exports);\r\ntslib_1.__exportStar(require(\"./FaceLandmarks\"), exports);\r\ntslib_1.__exportStar(require(\"./FaceLandmarks5\"), exports);\r\ntslib_1.__exportStar(require(\"./FaceLandmarks68\"), exports);\r\ntslib_1.__exportStar(require(\"./FaceMatch\"), exports);\r\ntslib_1.__exportStar(require(\"./LabeledBox\"), exports);\r\ntslib_1.__exportStar(require(\"./LabeledFaceDescriptors\"), exports);\r\ntslib_1.__exportStar(require(\"./ObjectDetection\"), exports);\r\ntslib_1.__exportStar(require(\"./Point\"), exports);\r\ntslib_1.__exportStar(require(\"./PredictedBox\"), exports);\r\ntslib_1.__exportStar(require(\"./Rect\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar utils_1 = require(\"../utils\");\r\nvar FaceLandmarks_1 = require(\"./FaceLandmarks\");\r\nvar FaceLandmarks68 = /** @class */ (function (_super) {\r\n tslib_1.__extends(FaceLandmarks68, _super);\r\n function FaceLandmarks68() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n FaceLandmarks68.prototype.getJawOutline = function () {\r\n return this.positions.slice(0, 17);\r\n };\r\n FaceLandmarks68.prototype.getLeftEyeBrow = function () {\r\n return this.positions.slice(17, 22);\r\n };\r\n FaceLandmarks68.prototype.getRightEyeBrow = function () {\r\n return this.positions.slice(22, 27);\r\n };\r\n FaceLandmarks68.prototype.getNose = function () {\r\n return this.positions.slice(27, 36);\r\n };\r\n FaceLandmarks68.prototype.getLeftEye = function () {\r\n return this.positions.slice(36, 42);\r\n };\r\n FaceLandmarks68.prototype.getRightEye = function () {\r\n return this.positions.slice(42, 48);\r\n };\r\n FaceLandmarks68.prototype.getMouth = function () {\r\n return this.positions.slice(48, 68);\r\n };\r\n FaceLandmarks68.prototype.getRefPointsForAlignment = function () {\r\n return [\r\n this.getLeftEye(),\r\n this.getRightEye(),\r\n this.getMouth()\r\n ].map(utils_1.getCenterPoint);\r\n };\r\n return FaceLandmarks68;\r\n}(FaceLandmarks_1.FaceLandmarks));\r\nexports.FaceLandmarks68 = FaceLandmarks68;\r\n//# sourceMappingURL=FaceLandmarks68.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction extractWeightsFactory(weights) {\r\n var remainingWeights = weights;\r\n function extractWeights(numWeights) {\r\n var ret = remainingWeights.slice(0, numWeights);\r\n remainingWeights = remainingWeights.slice(numWeights);\r\n return ret;\r\n }\r\n function getRemainingWeights() {\r\n return remainingWeights;\r\n }\r\n return {\r\n extractWeights: extractWeights,\r\n getRemainingWeights: getRemainingWeights\r\n };\r\n}\r\nexports.extractWeightsFactory = extractWeightsFactory;\r\n//# sourceMappingURL=extractWeightsFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nvar types_1 = require(\"./types\");\r\nfunction extractSeparableConvParamsFactory(extractWeights, paramMappings) {\r\n return function (channelsIn, channelsOut, mappedPrefix) {\r\n var depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]);\r\n var pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]);\r\n var bias = tf.tensor1d(extractWeights(channelsOut));\r\n paramMappings.push({ paramPath: mappedPrefix + \"/depthwise_filter\" }, { paramPath: mappedPrefix + \"/pointwise_filter\" }, { paramPath: mappedPrefix + \"/bias\" });\r\n return new types_1.SeparableConvParams(depthwise_filter, pointwise_filter, bias);\r\n };\r\n}\r\nexports.extractSeparableConvParamsFactory = extractSeparableConvParamsFactory;\r\nfunction loadSeparableConvParamsFactory(extractWeightEntry) {\r\n return function (prefix) {\r\n var depthwise_filter = extractWeightEntry(prefix + \"/depthwise_filter\", 4);\r\n var pointwise_filter = extractWeightEntry(prefix + \"/pointwise_filter\", 4);\r\n var bias = extractWeightEntry(prefix + \"/bias\", 1);\r\n return new types_1.SeparableConvParams(depthwise_filter, pointwise_filter, bias);\r\n };\r\n}\r\nexports.loadSeparableConvParamsFactory = loadSeparableConvParamsFactory;\r\n//# sourceMappingURL=extractSeparableConvParamsFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nfunction convLayer(x, params, padding, withRelu) {\r\n if (padding === void 0) { padding = 'same'; }\r\n if (withRelu === void 0) { withRelu = false; }\r\n return tf.tidy(function () {\r\n var out = tf.add(tf.conv2d(x, params.filters, [1, 1], padding), params.bias);\r\n return withRelu ? tf.relu(out) : out;\r\n });\r\n}\r\nexports.convLayer = convLayer;\r\n//# sourceMappingURL=convLayer.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar LabeledFaceDescriptors = /** @class */ (function () {\r\n function LabeledFaceDescriptors(label, descriptors) {\r\n if (!(typeof label === 'string')) {\r\n throw new Error('LabeledFaceDescriptors - constructor expected label to be a string');\r\n }\r\n if (!Array.isArray(descriptors) || descriptors.some(function (desc) { return !(desc instanceof Float32Array); })) {\r\n throw new Error('LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array');\r\n }\r\n this._label = label;\r\n this._descriptors = descriptors;\r\n }\r\n Object.defineProperty(LabeledFaceDescriptors.prototype, \"label\", {\r\n get: function () { return this._label; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LabeledFaceDescriptors.prototype, \"descriptors\", {\r\n get: function () { return this._descriptors; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n LabeledFaceDescriptors.prototype.toJSON = function () {\r\n return {\r\n label: this.label,\r\n descriptors: this.descriptors.map(function (d) { return Array.from(d); })\r\n };\r\n };\r\n LabeledFaceDescriptors.fromJSON = function (json) {\r\n var descriptors = json.descriptors.map(function (d) {\r\n return new Float32Array(d);\r\n });\r\n return new LabeledFaceDescriptors(json.label, descriptors);\r\n };\r\n return LabeledFaceDescriptors;\r\n}());\r\nexports.LabeledFaceDescriptors = LabeledFaceDescriptors;\r\n//# sourceMappingURL=LabeledFaceDescriptors.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction disposeUnusedWeightTensors(weightMap, paramMappings) {\r\n Object.keys(weightMap).forEach(function (path) {\r\n if (!paramMappings.some(function (pm) { return pm.originalPath === path; })) {\r\n weightMap[path].dispose();\r\n }\r\n });\r\n}\r\nexports.disposeUnusedWeightTensors = disposeUnusedWeightTensors;\r\n//# sourceMappingURL=disposeUnusedWeightTensors.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar utils_1 = require(\"../utils\");\r\nvar Box_1 = require(\"./Box\");\r\nvar LabeledBox = /** @class */ (function (_super) {\r\n tslib_1.__extends(LabeledBox, _super);\r\n function LabeledBox(box, label) {\r\n var _this = _super.call(this, box) || this;\r\n _this._label = label;\r\n return _this;\r\n }\r\n LabeledBox.assertIsValidLabeledBox = function (box, callee) {\r\n Box_1.Box.assertIsValidBox(box, callee);\r\n if (!utils_1.isValidNumber(box.label)) {\r\n throw new Error(callee + \" - expected property label (\" + box.label + \") to be a number\");\r\n }\r\n };\r\n Object.defineProperty(LabeledBox.prototype, \"label\", {\r\n get: function () { return this._label; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return LabeledBox;\r\n}(Box_1.Box));\r\nexports.LabeledBox = LabeledBox;\r\n//# sourceMappingURL=LabeledBox.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar utils_1 = require(\"../utils\");\r\nfunction extractWeightEntryFactory(weightMap, paramMappings) {\r\n return function (originalPath, paramRank, mappedPath) {\r\n var tensor = weightMap[originalPath];\r\n if (!utils_1.isTensor(tensor, paramRank)) {\r\n throw new Error(\"expected weightMap[\" + originalPath + \"] to be a Tensor\" + paramRank + \"D, instead have \" + tensor);\r\n }\r\n paramMappings.push({ originalPath: originalPath, paramPath: mappedPath || originalPath });\r\n return tensor;\r\n };\r\n}\r\nexports.extractWeightEntryFactory = extractWeightEntryFactory;\r\n//# sourceMappingURL=extractWeightEntryFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar Box_1 = require(\"./Box\");\r\nvar Rect = /** @class */ (function (_super) {\r\n tslib_1.__extends(Rect, _super);\r\n function Rect(x, y, width, height, allowNegativeDimensions) {\r\n if (allowNegativeDimensions === void 0) { allowNegativeDimensions = false; }\r\n return _super.call(this, { x: x, y: y, width: width, height: height }, allowNegativeDimensions) || this;\r\n }\r\n return Rect;\r\n}(Box_1.Box));\r\nexports.Rect = Rect;\r\n//# sourceMappingURL=Rect.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Box_1 = require(\"./Box\");\r\nvar Dimensions_1 = require(\"./Dimensions\");\r\nvar ObjectDetection = /** @class */ (function () {\r\n function ObjectDetection(score, classScore, className, relativeBox, imageDims) {\r\n this._imageDims = new Dimensions_1.Dimensions(imageDims.width, imageDims.height);\r\n this._score = score;\r\n this._classScore = classScore;\r\n this._className = className;\r\n this._box = new Box_1.Box(relativeBox).rescale(this._imageDims);\r\n }\r\n Object.defineProperty(ObjectDetection.prototype, \"score\", {\r\n get: function () { return this._score; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"classScore\", {\r\n get: function () { return this._classScore; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"className\", {\r\n get: function () { return this._className; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"box\", {\r\n get: function () { return this._box; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"imageDims\", {\r\n get: function () { return this._imageDims; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"imageWidth\", {\r\n get: function () { return this.imageDims.width; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"imageHeight\", {\r\n get: function () { return this.imageDims.height; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ObjectDetection.prototype, \"relativeBox\", {\r\n get: function () { return new Box_1.Box(this._box).rescale(this.imageDims.reverse()); },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ObjectDetection.prototype.forSize = function (width, height) {\r\n return new ObjectDetection(this.score, this.classScore, this.className, this.relativeBox, { width: width, height: height });\r\n };\r\n return ObjectDetection;\r\n}());\r\nexports.ObjectDetection = ObjectDetection;\r\n//# sourceMappingURL=ObjectDetection.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction iou(box1, box2, isIOU) {\r\n if (isIOU === void 0) { isIOU = true; }\r\n var width = Math.max(0.0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left));\r\n var height = Math.max(0.0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top));\r\n var interSection = width * height;\r\n return isIOU\r\n ? interSection / (box1.area + box2.area - interSection)\r\n : interSection / Math.min(box1.area, box2.area);\r\n}\r\nexports.iou = iou;\r\n//# sourceMappingURL=iou.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ops_1 = require(\"../ops\");\r\nvar utils_1 = require(\"../utils\");\r\nvar Box_1 = require(\"./Box\");\r\nvar Dimensions_1 = require(\"./Dimensions\");\r\nvar FaceDetection_1 = require(\"./FaceDetection\");\r\nvar Point_1 = require(\"./Point\");\r\nvar Rect_1 = require(\"./Rect\");\r\n// face alignment constants\r\nvar relX = 0.5;\r\nvar relY = 0.43;\r\nvar relScale = 0.45;\r\nvar FaceLandmarks = /** @class */ (function () {\r\n function FaceLandmarks(relativeFaceLandmarkPositions, imgDims, shift) {\r\n if (shift === void 0) { shift = new Point_1.Point(0, 0); }\r\n var width = imgDims.width, height = imgDims.height;\r\n this._imgDims = new Dimensions_1.Dimensions(width, height);\r\n this._shift = shift;\r\n this._positions = relativeFaceLandmarkPositions.map(function (pt) { return pt.mul(new Point_1.Point(width, height)).add(shift); });\r\n }\r\n Object.defineProperty(FaceLandmarks.prototype, \"shift\", {\r\n get: function () { return new Point_1.Point(this._shift.x, this._shift.y); },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FaceLandmarks.prototype, \"imageWidth\", {\r\n get: function () { return this._imgDims.width; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FaceLandmarks.prototype, \"imageHeight\", {\r\n get: function () { return this._imgDims.height; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FaceLandmarks.prototype, \"positions\", {\r\n get: function () { return this._positions; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FaceLandmarks.prototype, \"relativePositions\", {\r\n get: function () {\r\n var _this = this;\r\n return this._positions.map(function (pt) { return pt.sub(_this._shift).div(new Point_1.Point(_this.imageWidth, _this.imageHeight)); });\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n FaceLandmarks.prototype.forSize = function (width, height) {\r\n return new this.constructor(this.relativePositions, { width: width, height: height });\r\n };\r\n FaceLandmarks.prototype.shiftBy = function (x, y) {\r\n return new this.constructor(this.relativePositions, this._imgDims, new Point_1.Point(x, y));\r\n };\r\n FaceLandmarks.prototype.shiftByPoint = function (pt) {\r\n return this.shiftBy(pt.x, pt.y);\r\n };\r\n /**\r\n * Aligns the face landmarks after face detection from the relative positions of the faces\r\n * bounding box, or it's current shift. This function should be used to align the face images\r\n * after face detection has been performed, before they are passed to the face recognition net.\r\n * This will make the computed face descriptor more accurate.\r\n *\r\n * @param detection (optional) The bounding box of the face or the face detection result. If\r\n * no argument was passed the position of the face landmarks are assumed to be relative to\r\n * it's current shift.\r\n * @returns The bounding box of the aligned face.\r\n */\r\n FaceLandmarks.prototype.align = function (detection, options) {\r\n if (options === void 0) { options = {}; }\r\n if (detection) {\r\n var box = detection instanceof FaceDetection_1.FaceDetection\r\n ? detection.box.floor()\r\n : new Box_1.Box(detection);\r\n return this.shiftBy(box.x, box.y).align(null, options);\r\n }\r\n var _a = Object.assign({}, { useDlibAlignment: false, minBoxPadding: 0.2 }, options), useDlibAlignment = _a.useDlibAlignment, minBoxPadding = _a.minBoxPadding;\r\n if (useDlibAlignment) {\r\n return this.alignDlib();\r\n }\r\n return this.alignMinBbox(minBoxPadding);\r\n };\r\n FaceLandmarks.prototype.alignDlib = function () {\r\n var centers = this.getRefPointsForAlignment();\r\n var leftEyeCenter = centers[0], rightEyeCenter = centers[1], mouthCenter = centers[2];\r\n var distToMouth = function (pt) { return mouthCenter.sub(pt).magnitude(); };\r\n var eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2;\r\n var size = Math.floor(eyeToMouthDist / relScale);\r\n var refPoint = utils_1.getCenterPoint(centers);\r\n // TODO: pad in case rectangle is out of image bounds\r\n var x = Math.floor(Math.max(0, refPoint.x - (relX * size)));\r\n var y = Math.floor(Math.max(0, refPoint.y - (relY * size)));\r\n return new Rect_1.Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y));\r\n };\r\n FaceLandmarks.prototype.alignMinBbox = function (padding) {\r\n var box = ops_1.minBbox(this.positions);\r\n return box.pad(box.width * padding, box.height * padding);\r\n };\r\n FaceLandmarks.prototype.getRefPointsForAlignment = function () {\r\n throw new Error('getRefPointsForAlignment not implemented by base class');\r\n };\r\n return FaceLandmarks;\r\n}());\r\nexports.FaceLandmarks = FaceLandmarks;\r\n//# sourceMappingURL=FaceLandmarks.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nfunction extractConvParamsFactory(extractWeights, paramMappings) {\r\n return function (channelsIn, channelsOut, filterSize, mappedPrefix) {\r\n var filters = tf.tensor4d(extractWeights(channelsIn * channelsOut * filterSize * filterSize), [filterSize, filterSize, channelsIn, channelsOut]);\r\n var bias = tf.tensor1d(extractWeights(channelsOut));\r\n paramMappings.push({ paramPath: mappedPrefix + \"/filters\" }, { paramPath: mappedPrefix + \"/bias\" });\r\n return { filters: filters, bias: bias };\r\n };\r\n}\r\nexports.extractConvParamsFactory = extractConvParamsFactory;\r\n//# sourceMappingURL=extractConvParamsFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar utils_1 = require(\"../utils\");\r\nvar Dimensions = /** @class */ (function () {\r\n function Dimensions(width, height) {\r\n if (!utils_1.isValidNumber(width) || !utils_1.isValidNumber(height)) {\r\n throw new Error(\"Dimensions.constructor - expected width and height to be valid numbers, instead have \" + JSON.stringify({ width: width, height: height }));\r\n }\r\n this._width = width;\r\n this._height = height;\r\n }\r\n Object.defineProperty(Dimensions.prototype, \"width\", {\r\n get: function () { return this._width; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Dimensions.prototype, \"height\", {\r\n get: function () { return this._height; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Dimensions.prototype.reverse = function () {\r\n return new Dimensions(1 / this.width, 1 / this.height);\r\n };\r\n return Dimensions;\r\n}());\r\nexports.Dimensions = Dimensions;\r\n//# sourceMappingURL=Dimensions.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction getModelUris(uri, defaultModelName) {\r\n var defaultManifestFilename = defaultModelName + \"-weights_manifest.json\";\r\n if (!uri) {\r\n return {\r\n modelBaseUri: '',\r\n manifestUri: defaultManifestFilename\r\n };\r\n }\r\n if (uri === '/') {\r\n return {\r\n modelBaseUri: '/',\r\n manifestUri: \"/\" + defaultManifestFilename\r\n };\r\n }\r\n var protocol = uri.startsWith('http://') ? 'http://' : uri.startsWith('https://') ? 'https://' : '';\r\n uri = uri.replace(protocol, '');\r\n var parts = uri.split('/').filter(function (s) { return s; });\r\n var manifestFile = uri.endsWith('.json')\r\n ? parts[parts.length - 1]\r\n : defaultManifestFilename;\r\n var modelBaseUri = protocol + (uri.endsWith('.json') ? parts.slice(0, parts.length - 1) : parts).join('/');\r\n modelBaseUri = uri.startsWith('/') ? \"/\" + modelBaseUri : modelBaseUri;\r\n return {\r\n modelBaseUri: modelBaseUri,\r\n manifestUri: modelBaseUri === '/' ? \"/\" + manifestFile : modelBaseUri + \"/\" + manifestFile\r\n };\r\n}\r\nexports.getModelUris = getModelUris;\r\n//# sourceMappingURL=getModelUris.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar ObjectDetection_1 = require(\"./ObjectDetection\");\r\nvar FaceDetection = /** @class */ (function (_super) {\r\n tslib_1.__extends(FaceDetection, _super);\r\n function FaceDetection(score, relativeBox, imageDims) {\r\n return _super.call(this, score, score, '', relativeBox, imageDims) || this;\r\n }\r\n FaceDetection.prototype.forSize = function (width, height) {\r\n var _a = _super.prototype.forSize.call(this, width, height), score = _a.score, relativeBox = _a.relativeBox, imageDims = _a.imageDims;\r\n return new FaceDetection(score, relativeBox, imageDims);\r\n };\r\n return FaceDetection;\r\n}(ObjectDetection_1.ObjectDetection));\r\nexports.FaceDetection = FaceDetection;\r\n//# sourceMappingURL=FaceDetection.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar utils_1 = require(\"../utils\");\r\nvar FaceLandmarks_1 = require(\"./FaceLandmarks\");\r\nvar FaceLandmarks5 = /** @class */ (function (_super) {\r\n tslib_1.__extends(FaceLandmarks5, _super);\r\n function FaceLandmarks5() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n FaceLandmarks5.prototype.getRefPointsForAlignment = function () {\r\n var pts = this.positions;\r\n return [\r\n pts[0],\r\n pts[1],\r\n utils_1.getCenterPoint([pts[3], pts[4]])\r\n ];\r\n };\r\n return FaceLandmarks5;\r\n}(FaceLandmarks_1.FaceLandmarks));\r\nexports.FaceLandmarks5 = FaceLandmarks5;\r\n//# sourceMappingURL=FaceLandmarks5.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar iou_1 = require(\"./iou\");\r\nfunction nonMaxSuppression(boxes, scores, iouThreshold, isIOU) {\r\n if (isIOU === void 0) { isIOU = true; }\r\n var indicesSortedByScore = scores\r\n .map(function (score, boxIndex) { return ({ score: score, boxIndex: boxIndex }); })\r\n .sort(function (c1, c2) { return c1.score - c2.score; })\r\n .map(function (c) { return c.boxIndex; });\r\n var pick = [];\r\n var _loop_1 = function () {\r\n var curr = indicesSortedByScore.pop();\r\n pick.push(curr);\r\n var indices = indicesSortedByScore;\r\n var outputs = [];\r\n for (var i = 0; i < indices.length; i++) {\r\n var idx = indices[i];\r\n var currBox = boxes[curr];\r\n var idxBox = boxes[idx];\r\n outputs.push(iou_1.iou(currBox, idxBox, isIOU));\r\n }\r\n indicesSortedByScore = indicesSortedByScore.filter(function (_, j) { return outputs[j] <= iouThreshold; });\r\n };\r\n while (indicesSortedByScore.length > 0) {\r\n _loop_1();\r\n }\r\n return pick;\r\n}\r\nexports.nonMaxSuppression = nonMaxSuppression;\r\n//# sourceMappingURL=nonMaxSuppression.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nfunction extractFCParamsFactory(extractWeights, paramMappings) {\r\n return function (channelsIn, channelsOut, mappedPrefix) {\r\n var fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]);\r\n var fc_bias = tf.tensor1d(extractWeights(channelsOut));\r\n paramMappings.push({ paramPath: mappedPrefix + \"/weights\" }, { paramPath: mappedPrefix + \"/bias\" });\r\n return {\r\n weights: fc_weights,\r\n bias: fc_bias\r\n };\r\n };\r\n}\r\nexports.extractFCParamsFactory = extractFCParamsFactory;\r\n//# sourceMappingURL=extractFCParamsFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar SeparableConvParams = /** @class */ (function () {\r\n function SeparableConvParams(depthwise_filter, pointwise_filter, bias) {\r\n this.depthwise_filter = depthwise_filter;\r\n this.pointwise_filter = pointwise_filter;\r\n this.bias = bias;\r\n }\r\n return SeparableConvParams;\r\n}());\r\nexports.SeparableConvParams = SeparableConvParams;\r\n//# sourceMappingURL=types.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar classes_1 = require(\"../classes\");\r\nfunction minBbox(pts) {\r\n var xs = pts.map(function (pt) { return pt.x; });\r\n var ys = pts.map(function (pt) { return pt.y; });\r\n var minX = xs.reduce(function (min, x) { return x < min ? x : min; }, Infinity);\r\n var minY = ys.reduce(function (min, y) { return y < min ? y : min; }, Infinity);\r\n var maxX = xs.reduce(function (max, x) { return max < x ? x : max; }, 0);\r\n var maxY = ys.reduce(function (max, y) { return max < y ? y : max; }, 0);\r\n return new classes_1.BoundingBox(minX, minY, maxX, maxY);\r\n}\r\nexports.minBbox = minBbox;\r\n//# sourceMappingURL=minBbox.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar Box_1 = require(\"./Box\");\r\nvar BoundingBox = /** @class */ (function (_super) {\r\n tslib_1.__extends(BoundingBox, _super);\r\n function BoundingBox(left, top, right, bottom, allowNegativeDimensions) {\r\n if (allowNegativeDimensions === void 0) { allowNegativeDimensions = false; }\r\n return _super.call(this, { left: left, top: top, right: right, bottom: bottom }, allowNegativeDimensions) || this;\r\n }\r\n return BoundingBox;\r\n}(Box_1.Box));\r\nexports.BoundingBox = BoundingBox;\r\n//# sourceMappingURL=BoundingBox.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Point = /** @class */ (function () {\r\n function Point(x, y) {\r\n this._x = x;\r\n this._y = y;\r\n }\r\n Object.defineProperty(Point.prototype, \"x\", {\r\n get: function () { return this._x; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Point.prototype, \"y\", {\r\n get: function () { return this._y; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Point.prototype.add = function (pt) {\r\n return new Point(this.x + pt.x, this.y + pt.y);\r\n };\r\n Point.prototype.sub = function (pt) {\r\n return new Point(this.x - pt.x, this.y - pt.y);\r\n };\r\n Point.prototype.mul = function (pt) {\r\n return new Point(this.x * pt.x, this.y * pt.y);\r\n };\r\n Point.prototype.div = function (pt) {\r\n return new Point(this.x / pt.x, this.y / pt.y);\r\n };\r\n Point.prototype.abs = function () {\r\n return new Point(Math.abs(this.x), Math.abs(this.y));\r\n };\r\n Point.prototype.magnitude = function () {\r\n return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));\r\n };\r\n Point.prototype.floor = function () {\r\n return new Point(Math.floor(this.x), Math.floor(this.y));\r\n };\r\n return Point;\r\n}());\r\nexports.Point = Point;\r\n//# sourceMappingURL=Point.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar utils_1 = require(\"../utils\");\r\nvar Point_1 = require(\"./Point\");\r\nvar Box = /** @class */ (function () {\r\n function Box(_box, allowNegativeDimensions) {\r\n if (allowNegativeDimensions === void 0) { allowNegativeDimensions = true; }\r\n var box = (_box || {});\r\n var isBbox = [box.left, box.top, box.right, box.bottom].every(utils_1.isValidNumber);\r\n var isRect = [box.x, box.y, box.width, box.height].every(utils_1.isValidNumber);\r\n if (!isRect && !isBbox) {\r\n throw new Error(\"Box.constructor - expected box to be IBoundingBox | IRect, instead have \" + JSON.stringify(box));\r\n }\r\n var _a = isRect\r\n ? [box.x, box.y, box.width, box.height]\r\n : [box.left, box.top, box.right - box.left, box.bottom - box.top], x = _a[0], y = _a[1], width = _a[2], height = _a[3];\r\n Box.assertIsValidBox({ x: x, y: y, width: width, height: height }, 'Box.constructor', allowNegativeDimensions);\r\n this._x = x;\r\n this._y = y;\r\n this._width = width;\r\n this._height = height;\r\n }\r\n Box.isRect = function (rect) {\r\n return !!rect && [rect.x, rect.y, rect.width, rect.height].every(utils_1.isValidNumber);\r\n };\r\n Box.assertIsValidBox = function (box, callee, allowNegativeDimensions) {\r\n if (allowNegativeDimensions === void 0) { allowNegativeDimensions = false; }\r\n if (!Box.isRect(box)) {\r\n throw new Error(callee + \" - invalid box: \" + JSON.stringify(box) + \", expected object with properties x, y, width, height\");\r\n }\r\n if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) {\r\n throw new Error(callee + \" - width (\" + box.width + \") and height (\" + box.height + \") must be positive numbers\");\r\n }\r\n };\r\n Object.defineProperty(Box.prototype, \"x\", {\r\n get: function () { return this._x; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"y\", {\r\n get: function () { return this._y; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"width\", {\r\n get: function () { return this._width; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"height\", {\r\n get: function () { return this._height; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"left\", {\r\n get: function () { return this.x; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"top\", {\r\n get: function () { return this.y; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"right\", {\r\n get: function () { return this.x + this.width; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"bottom\", {\r\n get: function () { return this.y + this.height; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"area\", {\r\n get: function () { return this.width * this.height; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"topLeft\", {\r\n get: function () { return new Point_1.Point(this.left, this.top); },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"topRight\", {\r\n get: function () { return new Point_1.Point(this.right, this.top); },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"bottomLeft\", {\r\n get: function () { return new Point_1.Point(this.left, this.bottom); },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Box.prototype, \"bottomRight\", {\r\n get: function () { return new Point_1.Point(this.right, this.bottom); },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Box.prototype.round = function () {\r\n var _a = [this.x, this.y, this.width, this.height]\r\n .map(function (val) { return Math.round(val); }), x = _a[0], y = _a[1], width = _a[2], height = _a[3];\r\n return new Box({ x: x, y: y, width: width, height: height });\r\n };\r\n Box.prototype.floor = function () {\r\n var _a = [this.x, this.y, this.width, this.height]\r\n .map(function (val) { return Math.floor(val); }), x = _a[0], y = _a[1], width = _a[2], height = _a[3];\r\n return new Box({ x: x, y: y, width: width, height: height });\r\n };\r\n Box.prototype.toSquare = function () {\r\n var _a = this, x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n var diff = Math.abs(width - height);\r\n if (width < height) {\r\n x -= (diff / 2);\r\n width += diff;\r\n }\r\n if (height < width) {\r\n y -= (diff / 2);\r\n height += diff;\r\n }\r\n return new Box({ x: x, y: y, width: width, height: height });\r\n };\r\n Box.prototype.rescale = function (s) {\r\n var scaleX = utils_1.isDimensions(s) ? s.width : s;\r\n var scaleY = utils_1.isDimensions(s) ? s.height : s;\r\n return new Box({\r\n x: this.x * scaleX,\r\n y: this.y * scaleY,\r\n width: this.width * scaleX,\r\n height: this.height * scaleY\r\n });\r\n };\r\n Box.prototype.pad = function (padX, padY) {\r\n var _a = [\r\n this.x - (padX / 2),\r\n this.y - (padY / 2),\r\n this.width + padX,\r\n this.height + padY\r\n ], x = _a[0], y = _a[1], width = _a[2], height = _a[3];\r\n return new Box({ x: x, y: y, width: width, height: height });\r\n };\r\n Box.prototype.clipAtImageBorders = function (imgWidth, imgHeight) {\r\n var _a = this, x = _a.x, y = _a.y, right = _a.right, bottom = _a.bottom;\r\n var clippedX = Math.max(x, 0);\r\n var clippedY = Math.max(y, 0);\r\n var newWidth = right - clippedX;\r\n var newHeight = bottom - clippedY;\r\n var clippedWidth = Math.min(newWidth, imgWidth - clippedX);\r\n var clippedHeight = Math.min(newHeight, imgHeight - clippedY);\r\n return (new Box({ x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight })).floor();\r\n };\r\n Box.prototype.shift = function (sx, sy) {\r\n var _a = this, width = _a.width, height = _a.height;\r\n var x = this.x + sx;\r\n var y = this.y + sy;\r\n return new Box({ x: x, y: y, width: width, height: height });\r\n };\r\n Box.prototype.padAtBorders = function (imageHeight, imageWidth) {\r\n var w = this.width + 1;\r\n var h = this.height + 1;\r\n var dx = 1;\r\n var dy = 1;\r\n var edx = w;\r\n var edy = h;\r\n var x = this.left;\r\n var y = this.top;\r\n var ex = this.right;\r\n var ey = this.bottom;\r\n if (ex > imageWidth) {\r\n edx = -ex + imageWidth + w;\r\n ex = imageWidth;\r\n }\r\n if (ey > imageHeight) {\r\n edy = -ey + imageHeight + h;\r\n ey = imageHeight;\r\n }\r\n if (x < 1) {\r\n edy = 2 - x;\r\n x = 1;\r\n }\r\n if (y < 1) {\r\n edy = 2 - y;\r\n y = 1;\r\n }\r\n return { dy: dy, edy: edy, dx: dx, edx: edx, y: y, ey: ey, x: x, ex: ex, w: w, h: h };\r\n };\r\n Box.prototype.calibrate = function (region) {\r\n return new Box({\r\n left: this.left + (region.left * this.width),\r\n top: this.top + (region.top * this.height),\r\n right: this.right + (region.right * this.width),\r\n bottom: this.bottom + (region.bottom * this.height)\r\n }).toSquare().round();\r\n };\r\n return Box;\r\n}());\r\nexports.Box = Box;\r\n//# sourceMappingURL=Box.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar utils_1 = require(\"../utils\");\r\nvar FaceMatch = /** @class */ (function () {\r\n function FaceMatch(label, distance) {\r\n this._label = label;\r\n this._distance = distance;\r\n }\r\n Object.defineProperty(FaceMatch.prototype, \"label\", {\r\n get: function () { return this._label; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(FaceMatch.prototype, \"distance\", {\r\n get: function () { return this._distance; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n FaceMatch.prototype.toString = function (withDistance) {\r\n if (withDistance === void 0) { withDistance = true; }\r\n return \"\" + this.label + (withDistance ? \" (\" + utils_1.round(this.distance) + \")\" : '');\r\n };\r\n return FaceMatch;\r\n}());\r\nexports.FaceMatch = FaceMatch;\r\n//# sourceMappingURL=FaceMatch.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction shuffleArray(inputArray) {\r\n var array = inputArray.slice();\r\n for (var i = array.length - 1; i > 0; i--) {\r\n var j = Math.floor(Math.random() * (i + 1));\r\n var x = array[i];\r\n array[i] = array[j];\r\n array[j] = x;\r\n }\r\n return array;\r\n}\r\nexports.shuffleArray = shuffleArray;\r\n//# sourceMappingURL=shuffleArray.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar utils_1 = require(\"../utils\");\r\nvar LabeledBox_1 = require(\"./LabeledBox\");\r\nvar PredictedBox = /** @class */ (function (_super) {\r\n tslib_1.__extends(PredictedBox, _super);\r\n function PredictedBox(box, label, score, classScore) {\r\n var _this = _super.call(this, box, label) || this;\r\n _this._score = score;\r\n _this._classScore = classScore;\r\n return _this;\r\n }\r\n PredictedBox.assertIsValidPredictedBox = function (box, callee) {\r\n LabeledBox_1.LabeledBox.assertIsValidLabeledBox(box, callee);\r\n if (!utils_1.isValidProbablitiy(box.score)\r\n || !utils_1.isValidProbablitiy(box.classScore)) {\r\n throw new Error(callee + \" - expected properties score (\" + box.score + \") and (\" + box.classScore + \") to be a number between [0, 1]\");\r\n }\r\n };\r\n Object.defineProperty(PredictedBox.prototype, \"score\", {\r\n get: function () { return this._score; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(PredictedBox.prototype, \"classScore\", {\r\n get: function () { return this._classScore; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return PredictedBox;\r\n}(LabeledBox_1.LabeledBox));\r\nexports.PredictedBox = PredictedBox;\r\n//# sourceMappingURL=PredictedBox.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nfunction normalize(x, meanRgb) {\r\n return tf.tidy(function () {\r\n var r = meanRgb[0], g = meanRgb[1], b = meanRgb[2];\r\n var avg_r = tf.fill(tslib_1.__spreadArrays(x.shape.slice(0, 3), [1]), r);\r\n var avg_g = tf.fill(tslib_1.__spreadArrays(x.shape.slice(0, 3), [1]), g);\r\n var avg_b = tf.fill(tslib_1.__spreadArrays(x.shape.slice(0, 3), [1]), b);\r\n var avg_rgb = tf.concat([avg_r, avg_g, avg_b], 3);\r\n return tf.sub(x, avg_rgb);\r\n });\r\n}\r\nexports.normalize = normalize;\r\n//# sourceMappingURL=normalize.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nvar classes_1 = require(\"../classes\");\r\nvar Dimensions_1 = require(\"../classes/Dimensions\");\r\nfunction isTensor(tensor, dim) {\r\n return tensor instanceof tf.Tensor && tensor.shape.length === dim;\r\n}\r\nexports.isTensor = isTensor;\r\nfunction isTensor1D(tensor) {\r\n return isTensor(tensor, 1);\r\n}\r\nexports.isTensor1D = isTensor1D;\r\nfunction isTensor2D(tensor) {\r\n return isTensor(tensor, 2);\r\n}\r\nexports.isTensor2D = isTensor2D;\r\nfunction isTensor3D(tensor) {\r\n return isTensor(tensor, 3);\r\n}\r\nexports.isTensor3D = isTensor3D;\r\nfunction isTensor4D(tensor) {\r\n return isTensor(tensor, 4);\r\n}\r\nexports.isTensor4D = isTensor4D;\r\nfunction isFloat(num) {\r\n return num % 1 !== 0;\r\n}\r\nexports.isFloat = isFloat;\r\nfunction isEven(num) {\r\n return num % 2 === 0;\r\n}\r\nexports.isEven = isEven;\r\nfunction round(num, prec) {\r\n if (prec === void 0) { prec = 2; }\r\n var f = Math.pow(10, prec);\r\n return Math.floor(num * f) / f;\r\n}\r\nexports.round = round;\r\nfunction isDimensions(obj) {\r\n return obj && obj.width && obj.height;\r\n}\r\nexports.isDimensions = isDimensions;\r\nfunction computeReshapedDimensions(_a, inputSize) {\r\n var width = _a.width, height = _a.height;\r\n var scale = inputSize / Math.max(height, width);\r\n return new Dimensions_1.Dimensions(Math.round(width * scale), Math.round(height * scale));\r\n}\r\nexports.computeReshapedDimensions = computeReshapedDimensions;\r\nfunction getCenterPoint(pts) {\r\n return pts.reduce(function (sum, pt) { return sum.add(pt); }, new classes_1.Point(0, 0))\r\n .div(new classes_1.Point(pts.length, pts.length));\r\n}\r\nexports.getCenterPoint = getCenterPoint;\r\nfunction range(num, start, step) {\r\n return Array(num).fill(0).map(function (_, i) { return start + (i * step); });\r\n}\r\nexports.range = range;\r\nfunction isValidNumber(num) {\r\n return !!num && num !== Infinity && num !== -Infinity && !isNaN(num) || num === 0;\r\n}\r\nexports.isValidNumber = isValidNumber;\r\nfunction isValidProbablitiy(num) {\r\n return isValidNumber(num) && 0 <= num && num <= 1.0;\r\n}\r\nexports.isValidProbablitiy = isValidProbablitiy;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tslib_1 = require(\"tslib\");\r\ntslib_1.__exportStar(require(\"./iou\"), exports);\r\ntslib_1.__exportStar(require(\"./minBbox\"), exports);\r\ntslib_1.__exportStar(require(\"./nonMaxSuppression\"), exports);\r\ntslib_1.__exportStar(require(\"./normalize\"), exports);\r\ntslib_1.__exportStar(require(\"./padToSquare\"), exports);\r\ntslib_1.__exportStar(require(\"./shuffleArray\"), exports);\r\nfunction sigmoid(x) {\r\n return 1 / (1 + Math.exp(-x));\r\n}\r\nexports.sigmoid = sigmoid;\r\nfunction inverseSigmoid(x) {\r\n return Math.log(x / (1 - x));\r\n}\r\nexports.inverseSigmoid = inverseSigmoid;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\nfunction depthwiseSeparableConv(x, params, stride) {\r\n return tf.tidy(function () {\r\n var out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, 'same');\r\n out = tf.add(out, params.bias);\r\n return out;\r\n });\r\n}\r\nexports.depthwiseSeparableConv = depthwiseSeparableConv;\r\n//# sourceMappingURL=depthwiseSeparableConv.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar tf = require(\"@tensorflow/tfjs-core\");\r\n/**\r\n * Pads the smaller dimension of an image tensor with zeros, such that width === height.\r\n *\r\n * @param imgTensor The image tensor.\r\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\r\n * both sides of the minor dimension oof the image.\r\n * @returns The padded tensor with width === height.\r\n */\r\nfunction padToSquare(imgTensor, isCenterImage) {\r\n if (isCenterImage === void 0) { isCenterImage = false; }\r\n return tf.tidy(function () {\r\n var _a = imgTensor.shape.slice(1), height = _a[0], width = _a[1];\r\n if (height === width) {\r\n return imgTensor;\r\n }\r\n var dimDiff = Math.abs(height - width);\r\n var paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1));\r\n var paddingAxis = height > width ? 2 : 1;\r\n var createPaddingTensor = function (paddingAmount) {\r\n var paddingTensorShape = imgTensor.shape.slice();\r\n paddingTensorShape[paddingAxis] = paddingAmount;\r\n return tf.fill(paddingTensorShape, 0);\r\n };\r\n var paddingTensorAppend = createPaddingTensor(paddingAmount);\r\n var remainingPaddingAmount = dimDiff - paddingTensorAppend.shape[paddingAxis];\r\n var paddingTensorPrepend = isCenterImage && remainingPaddingAmount\r\n ? createPaddingTensor(remainingPaddingAmount)\r\n : null;\r\n var tensorsToStack = [\r\n paddingTensorPrepend,\r\n imgTensor,\r\n paddingTensorAppend\r\n ]\r\n .filter(function (t) { return !!t; })\r\n .map(function (t) { return t.toFloat(); });\r\n return tf.concat(tensorsToStack, paddingAxis);\r\n });\r\n}\r\nexports.padToSquare = padToSquare;\r\n//# sourceMappingURL=padToSquare.js.map"],"sourceRoot":""}