@cuemath/leap 4.1.1-gg4 → 4.1.1-j2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2300) hide show
  1. package/dist/_virtual/___vite-browser-external.js +7 -0
  2. package/dist/_virtual/___vite-browser-external.js.map +1 -0
  3. package/dist/_virtual/__vite-browser-external.js +5 -0
  4. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  5. package/dist/_virtual/_commonjsHelpers.js +24 -4
  6. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  7. package/dist/_virtual/alea.js +5 -0
  8. package/dist/_virtual/alea.js.map +1 -0
  9. package/dist/_virtual/seedrandom.js +5 -0
  10. package/dist/_virtual/seedrandom.js.map +1 -0
  11. package/dist/_virtual/tychei.js +5 -0
  12. package/dist/_virtual/tychei.js.map +1 -0
  13. package/dist/_virtual/xor128.js +5 -0
  14. package/dist/_virtual/xor128.js.map +1 -0
  15. package/dist/_virtual/xor4096.js +5 -0
  16. package/dist/_virtual/xor4096.js.map +1 -0
  17. package/dist/_virtual/xorshift7.js +5 -0
  18. package/dist/_virtual/xorshift7.js.map +1 -0
  19. package/dist/_virtual/xorwow.js +5 -0
  20. package/dist/_virtual/xorwow.js.map +1 -0
  21. package/dist/features/av/av-preview/av-preview.js +144 -108
  22. package/dist/features/av/av-preview/av-preview.js.map +1 -1
  23. package/dist/features/av/video-analysis/hooks/use-video-analysis.js +143 -0
  24. package/dist/features/av/video-analysis/hooks/use-video-analysis.js.map +1 -0
  25. package/dist/features/av/video-analysis/mediapipe/mediapipe-constants.js +89 -0
  26. package/dist/features/av/video-analysis/mediapipe/mediapipe-constants.js.map +1 -0
  27. package/dist/features/av/video-analysis/mediapipe/mediapipe-face-detector.js +126 -0
  28. package/dist/features/av/video-analysis/mediapipe/mediapipe-face-detector.js.map +1 -0
  29. package/dist/features/av/video-analysis/mediapipe/mediapipe-helpers.js +86 -0
  30. package/dist/features/av/video-analysis/mediapipe/mediapipe-helpers.js.map +1 -0
  31. package/dist/features/av/video-analysis/tensorflow/emotion-model.js +404 -0
  32. package/dist/features/av/video-analysis/tensorflow/emotion-model.js.map +1 -0
  33. package/dist/features/av/video-analysis/tensorflow/emotion-types.js +20 -0
  34. package/dist/features/av/video-analysis/tensorflow/emotion-types.js.map +1 -0
  35. package/dist/features/av/video-analysis/video-analysis-helpers.js +40 -0
  36. package/dist/features/av/video-analysis/video-analysis-helpers.js.map +1 -0
  37. package/dist/features/av/video-analysis/video-analysis-overlay/video-analysis-overlay-helpers.js +64 -0
  38. package/dist/features/av/video-analysis/video-analysis-overlay/video-analysis-overlay-helpers.js.map +1 -0
  39. package/dist/features/av/video-analysis/video-analysis-overlay/video-analysis-overlay-styled.js +73 -0
  40. package/dist/features/av/video-analysis/video-analysis-overlay/video-analysis-overlay-styled.js.map +1 -0
  41. package/dist/features/av/video-analysis/video-analysis-overlay/video-analysis-overlay.js +78 -0
  42. package/dist/features/av/video-analysis/video-analysis-overlay/video-analysis-overlay.js.map +1 -0
  43. package/dist/features/av/video-analysis/video-analysis-styled.js +40 -0
  44. package/dist/features/av/video-analysis/video-analysis-styled.js.map +1 -0
  45. package/dist/features/av/video-analysis/video-analysis.js +316 -0
  46. package/dist/features/av/video-analysis/video-analysis.js.map +1 -0
  47. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +27 -25
  48. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  49. package/dist/features/chapters/chapters-list/chapters-list.js +53 -43
  50. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  51. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +17 -15
  52. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  53. package/dist/features/chapters-v2/chapter-details/chapter-details.js +66 -62
  54. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  55. package/dist/features/journey/hooks/use-learning-plan-journey/use-chapter-details-journey.js +97 -0
  56. package/dist/features/journey/hooks/use-learning-plan-journey/use-chapter-details-journey.js.map +1 -0
  57. package/dist/features/journey/hooks/use-learning-plan-journey/use-learning-plan-journey.js +105 -0
  58. package/dist/features/journey/hooks/use-learning-plan-journey/use-learning-plan-journey.js.map +1 -0
  59. package/dist/features/journey/hooks/use-learning-plan-journey/use-resource-assignment-journey.js +64 -0
  60. package/dist/features/journey/hooks/use-learning-plan-journey/use-resource-assignment-journey.js.map +1 -0
  61. package/dist/features/journey/hooks/use-learning-plan-journey/use-test-creation-journey.js +64 -0
  62. package/dist/features/journey/hooks/use-learning-plan-journey/use-test-creation-journey.js.map +1 -0
  63. package/dist/features/journey/hooks/use-learning-plan-journey/use-worksheet-preview-journey.js +65 -0
  64. package/dist/features/journey/hooks/use-learning-plan-journey/use-worksheet-preview-journey.js.map +1 -0
  65. package/dist/features/journey/journey-id/journey-id-teacher.js +1 -1
  66. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  67. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +105 -93
  68. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  69. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +42 -40
  70. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  71. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +36 -34
  72. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  73. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +126 -107
  74. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  75. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +107 -95
  76. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  77. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +116 -104
  78. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  79. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +99 -91
  80. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  81. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +89 -83
  82. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  83. package/dist/features/trial-session/comps/learning-plan/goal-edit-sync.js +40 -0
  84. package/dist/features/trial-session/comps/learning-plan/goal-edit-sync.js.map +1 -0
  85. package/dist/features/trial-session/comps/learning-plan/learning-assign-resource-sync.js +55 -0
  86. package/dist/features/trial-session/comps/learning-plan/learning-assign-resource-sync.js.map +1 -0
  87. package/dist/features/trial-session/comps/learning-plan/learning-chapter-details.js +48 -0
  88. package/dist/features/trial-session/comps/learning-plan/learning-chapter-details.js.map +1 -0
  89. package/dist/features/trial-session/comps/learning-plan/learning-milestone-sync.js +145 -0
  90. package/dist/features/trial-session/comps/learning-plan/learning-milestone-sync.js.map +1 -0
  91. package/dist/features/trial-session/comps/learning-plan/learning-plan-helpers.js +30 -0
  92. package/dist/features/trial-session/comps/learning-plan/learning-plan-helpers.js.map +1 -0
  93. package/dist/features/trial-session/comps/learning-plan/learning-plan-view.js +17 -0
  94. package/dist/features/trial-session/comps/learning-plan/learning-plan-view.js.map +1 -0
  95. package/dist/features/trial-session/comps/learning-plan/learning-plan.js +93 -0
  96. package/dist/features/trial-session/comps/learning-plan/learning-plan.js.map +1 -0
  97. package/dist/features/trial-session/comps/learning-plan/learning-preview-worksheet.js +81 -0
  98. package/dist/features/trial-session/comps/learning-plan/learning-preview-worksheet.js.map +1 -0
  99. package/dist/features/trial-session/comps/learning-plan/learning-test-creation-sync.js +41 -0
  100. package/dist/features/trial-session/comps/learning-plan/learning-test-creation-sync.js.map +1 -0
  101. package/dist/features/trial-session/comps/worksheet/worksheet.js +41 -34
  102. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  103. package/dist/features/trial-session/right-panel/index.js +26 -26
  104. package/dist/features/trial-session/right-panel/index.js.map +1 -1
  105. package/dist/features/trial-session/right-panel/right-panel-styled.js +27 -31
  106. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  107. package/dist/features/trial-session/right-panel/slide-components-map.js +1 -1
  108. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  109. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  110. package/dist/features/ui/buttons/button/button.js +51 -50
  111. package/dist/features/ui/buttons/button/button.js.map +1 -1
  112. package/dist/features/ui/buttons/icon-button/icon-button.js +21 -20
  113. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  114. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +76 -66
  115. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  116. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +44 -48
  117. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  118. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +72 -73
  119. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  120. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions.js +31 -33
  121. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions.js.map +1 -1
  122. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  123. package/dist/features/worksheet/worksheet/worksheet-view.js +39 -39
  124. package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
  125. package/dist/features/worksheet/worksheet/worksheet.js +51 -41
  126. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  127. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +47 -34
  128. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  129. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +27 -24
  130. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  131. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +47 -41
  132. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  133. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +28 -26
  134. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  135. package/dist/index.d.ts +161 -4
  136. package/dist/index.js +452 -446
  137. package/dist/index.js.map +1 -1
  138. package/dist/node_modules/@mediapipe/tasks-vision/vision_bundle.js +3713 -0
  139. package/dist/node_modules/@mediapipe/tasks-vision/vision_bundle.js.map +1 -0
  140. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/backend_cpu.js +155 -0
  141. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/backend_cpu.js.map +1 -0
  142. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/base.js +29 -0
  143. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/base.js.map +1 -0
  144. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js +27 -0
  145. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js.map +1 -0
  146. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js +43 -0
  147. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js.map +1 -0
  148. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acos.js +29 -0
  149. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acos.js.map +1 -0
  150. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acosh.js +29 -0
  151. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acosh.js.map +1 -0
  152. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js +32 -0
  153. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js.map +1 -0
  154. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AddN.js +41 -0
  155. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AddN.js.map +1 -0
  156. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/All.js +59 -0
  157. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/All.js.map +1 -0
  158. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Any.js +59 -0
  159. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Any.js.map +1 -0
  160. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMax.js +52 -0
  161. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMax.js.map +1 -0
  162. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMin.js +52 -0
  163. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMin.js.map +1 -0
  164. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asin.js +29 -0
  165. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asin.js.map +1 -0
  166. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asinh.js +29 -0
  167. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asinh.js.map +1 -0
  168. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan.js +29 -0
  169. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan.js.map +1 -0
  170. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan2.js +31 -0
  171. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan2.js.map +1 -0
  172. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atanh.js +29 -0
  173. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atanh.js.map +1 -0
  174. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool.js +48 -0
  175. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool.js.map +1 -0
  176. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3D.js +38 -0
  177. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3D.js.map +1 -0
  178. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3DGrad.js +61 -0
  179. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3DGrad.js.map +1 -0
  180. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPoolGrad.js +56 -0
  181. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPoolGrad.js.map +1 -0
  182. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchMatMul.js +68 -0
  183. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchMatMul.js.map +1 -0
  184. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchNorm.js +41 -0
  185. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchNorm.js.map +1 -0
  186. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchToSpaceND.js +43 -0
  187. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchToSpaceND.js.map +1 -0
  188. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount.js +33 -0
  189. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount.js.map +1 -0
  190. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js +45 -0
  191. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js.map +1 -0
  192. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BitwiseAnd.js +31 -0
  193. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BitwiseAnd.js.map +1 -0
  194. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BroadcastArgs.js +33 -0
  195. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BroadcastArgs.js.map +1 -0
  196. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js +66 -0
  197. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js.map +1 -0
  198. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js +31 -0
  199. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js.map +1 -0
  200. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ClipByValue.js +32 -0
  201. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ClipByValue.js.map +1 -0
  202. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js +35 -0
  203. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js.map +1 -0
  204. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ComplexAbs.js +36 -0
  205. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ComplexAbs.js.map +1 -0
  206. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js +61 -0
  207. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js.map +1 -0
  208. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js +46 -0
  209. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js.map +1 -0
  210. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2D.js +66 -0
  211. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2D.js.map +1 -0
  212. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropFilter.js +56 -0
  213. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropFilter.js.map +1 -0
  214. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropInput.js +63 -0
  215. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropInput.js.map +1 -0
  216. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3D.js +75 -0
  217. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3D.js.map +1 -0
  218. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropFilterV2.js +67 -0
  219. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropFilterV2.js.map +1 -0
  220. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropInputV2.js +64 -0
  221. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropInputV2.js.map +1 -0
  222. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cos.js +29 -0
  223. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cos.js.map +1 -0
  224. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cosh.js +29 -0
  225. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cosh.js.map +1 -0
  226. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/CropAndResize.js +91 -0
  227. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/CropAndResize.js.map +1 -0
  228. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumprod.js +60 -0
  229. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumprod.js.map +1 -0
  230. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumsum.js +60 -0
  231. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumsum.js.map +1 -0
  232. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DenseBincount.js +40 -0
  233. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DenseBincount.js.map +1 -0
  234. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthToSpace.js +47 -0
  235. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthToSpace.js.map +1 -0
  236. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNative.js +78 -0
  237. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNative.js.map +1 -0
  238. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js +65 -0
  239. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js.map +1 -0
  240. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropInput.js +67 -0
  241. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropInput.js.map +1 -0
  242. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Diag.js +37 -0
  243. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Diag.js.map +1 -0
  244. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2D.js +56 -0
  245. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2D.js.map +1 -0
  246. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropFilter.js +57 -0
  247. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropFilter.js.map +1 -0
  248. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropInput.js +57 -0
  249. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropInput.js.map +1 -0
  250. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Draw.js +54 -0
  251. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Draw.js.map +1 -0
  252. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Einsum.js +63 -0
  253. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Einsum.js.map +1 -0
  254. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Elu.js +29 -0
  255. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Elu.js.map +1 -0
  256. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/EluGrad.js +40 -0
  257. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/EluGrad.js.map +1 -0
  258. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js +31 -0
  259. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js.map +1 -0
  260. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Erf.js +33 -0
  261. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Erf.js.map +1 -0
  262. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js +31 -0
  263. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js.map +1 -0
  264. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js +35 -0
  265. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js.map +1 -0
  266. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Expm1.js +31 -0
  267. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Expm1.js.map +1 -0
  268. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FFT.js +39 -0
  269. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FFT.js.map +1 -0
  270. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js +36 -0
  271. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js.map +1 -0
  272. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FlipLeftRight.js +49 -0
  273. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FlipLeftRight.js.map +1 -0
  274. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Floor.js +31 -0
  275. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Floor.js.map +1 -0
  276. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FloorDiv.js +31 -0
  277. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FloorDiv.js.map +1 -0
  278. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedConv2D.js +63 -0
  279. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedConv2D.js.map +1 -0
  280. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedDepthwiseConv2D.js +48 -0
  281. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedDepthwiseConv2D.js.map +1 -0
  282. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd.js +38 -0
  283. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd.js.map +1 -0
  284. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd_Impl.js +38 -0
  285. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd_Impl.js.map +1 -0
  286. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2.js +66 -0
  287. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2.js.map +1 -0
  288. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js +32 -0
  289. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js.map +1 -0
  290. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js +31 -0
  291. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js.map +1 -0
  292. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GreaterEqual.js +31 -0
  293. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GreaterEqual.js.map +1 -0
  294. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IFFT.js +39 -0
  295. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IFFT.js.map +1 -0
  296. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js +32 -0
  297. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js.map +1 -0
  298. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js +32 -0
  299. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js.map +1 -0
  300. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsFinite.js +29 -0
  301. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsFinite.js.map +1 -0
  302. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsInf.js +29 -0
  303. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsInf.js.map +1 -0
  304. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsNaN.js +29 -0
  305. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsNaN.js.map +1 -0
  306. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRN.js +51 -0
  307. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRN.js.map +1 -0
  308. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRNGrad.js +47 -0
  309. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRNGrad.js.map +1 -0
  310. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LeakyRelu.js +38 -0
  311. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LeakyRelu.js.map +1 -0
  312. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Less.js +31 -0
  313. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Less.js.map +1 -0
  314. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LessEqual.js +31 -0
  315. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LessEqual.js.map +1 -0
  316. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace.js +33 -0
  317. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace.js.map +1 -0
  318. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js +29 -0
  319. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js.map +1 -0
  320. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js +31 -0
  321. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js.map +1 -0
  322. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log1p.js +29 -0
  323. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log1p.js.map +1 -0
  324. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalAnd.js +31 -0
  325. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalAnd.js.map +1 -0
  326. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalNot.js +29 -0
  327. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalNot.js.map +1 -0
  328. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalOr.js +31 -0
  329. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalOr.js.map +1 -0
  330. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max.js +51 -0
  331. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max.js.map +1 -0
  332. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool.js +48 -0
  333. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool.js.map +1 -0
  334. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3D.js +38 -0
  335. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3D.js.map +1 -0
  336. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3DGrad.js +65 -0
  337. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3DGrad.js.map +1 -0
  338. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolGrad.js +60 -0
  339. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolGrad.js.map +1 -0
  340. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax.js +38 -0
  341. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax.js.map +1 -0
  342. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax_impl.js +27 -0
  343. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax_impl.js.map +1 -0
  344. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js +35 -0
  345. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js.map +1 -0
  346. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js +31 -0
  347. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js.map +1 -0
  348. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mean.js +43 -0
  349. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mean.js.map +1 -0
  350. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Min.js +59 -0
  351. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Min.js.map +1 -0
  352. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Minimum.js +31 -0
  353. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Minimum.js.map +1 -0
  354. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MirrorPad.js +47 -0
  355. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MirrorPad.js.map +1 -0
  356. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mod.js +34 -0
  357. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mod.js.map +1 -0
  358. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multinomial.js +54 -0
  359. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multinomial.js.map +1 -0
  360. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js +35 -0
  361. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js.map +1 -0
  362. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js +42 -0
  363. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js.map +1 -0
  364. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV3.js +37 -0
  365. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV3.js.map +1 -0
  366. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV4.js +40 -0
  367. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV4.js.map +1 -0
  368. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV5.js +40 -0
  369. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV5.js.map +1 -0
  370. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NotEqual.js +31 -0
  371. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NotEqual.js.map +1 -0
  372. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OneHot.js +40 -0
  373. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OneHot.js.map +1 -0
  374. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OnesLike.js +43 -0
  375. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OnesLike.js.map +1 -0
  376. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pack.js +45 -0
  377. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pack.js.map +1 -0
  378. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/PadV2.js +44 -0
  379. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/PadV2.js.map +1 -0
  380. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pow.js +31 -0
  381. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pow.js.map +1 -0
  382. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prelu.js +37 -0
  383. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prelu.js.map +1 -0
  384. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js +56 -0
  385. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js.map +1 -0
  386. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedGather.js +33 -0
  387. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedGather.js.map +1 -0
  388. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedGather_impl.js +114 -0
  389. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedGather_impl.js.map +1 -0
  390. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedRange.js +33 -0
  391. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedRange.js.map +1 -0
  392. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedRange_impl.js +59 -0
  393. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedRange_impl.js.map +1 -0
  394. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedTensorToTensor.js +33 -0
  395. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedTensorToTensor.js.map +1 -0
  396. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedTensorToTensor_impl.js +275 -0
  397. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedTensorToTensor_impl.js.map +1 -0
  398. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range.js +33 -0
  399. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range.js.map +1 -0
  400. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js +32 -0
  401. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js.map +1 -0
  402. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js +32 -0
  403. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js.map +1 -0
  404. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js +31 -0
  405. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js.map +1 -0
  406. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reciprocal.js +29 -0
  407. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reciprocal.js.map +1 -0
  408. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu.js +29 -0
  409. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu.js.map +1 -0
  410. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu6.js +29 -0
  411. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu6.js.map +1 -0
  412. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js +39 -0
  413. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js.map +1 -0
  414. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinear.js +59 -0
  415. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinear.js.map +1 -0
  416. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinearGrad.js +56 -0
  417. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinearGrad.js.map +1 -0
  418. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighbor.js +62 -0
  419. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighbor.js.map +1 -0
  420. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighborGrad.js +69 -0
  421. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighborGrad.js.map +1 -0
  422. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reverse.js +45 -0
  423. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reverse.js.map +1 -0
  424. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RotateWithOffset.js +53 -0
  425. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RotateWithOffset.js.map +1 -0
  426. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Round.js +32 -0
  427. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Round.js.map +1 -0
  428. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js +31 -0
  429. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js.map +1 -0
  430. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ScatterNd.js +34 -0
  431. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ScatterNd.js.map +1 -0
  432. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js +43 -0
  433. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js.map +1 -0
  434. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SearchSorted.js +33 -0
  435. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SearchSorted.js.map +1 -0
  436. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SearchSorted_impl.js +43 -0
  437. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SearchSorted_impl.js.map +1 -0
  438. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Select.js +42 -0
  439. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Select.js.map +1 -0
  440. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Selu.js +30 -0
  441. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Selu.js.map +1 -0
  442. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sigmoid.js +31 -0
  443. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sigmoid.js.map +1 -0
  444. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sign.js +29 -0
  445. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sign.js.map +1 -0
  446. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sin.js +29 -0
  447. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sin.js.map +1 -0
  448. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sinh.js +29 -0
  449. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sinh.js.map +1 -0
  450. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js +55 -0
  451. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js.map +1 -0
  452. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softmax.js +48 -0
  453. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softmax.js.map +1 -0
  454. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softplus.js +33 -0
  455. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softplus.js.map +1 -0
  456. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SpaceToBatchND.js +48 -0
  457. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SpaceToBatchND.js.map +1 -0
  458. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseFillEmptyRows.js +51 -0
  459. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseFillEmptyRows.js.map +1 -0
  460. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseFillEmptyRows_impl.js +89 -0
  461. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseFillEmptyRows_impl.js.map +1 -0
  462. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseReshape.js +45 -0
  463. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseReshape.js.map +1 -0
  464. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseReshape_impl.js +70 -0
  465. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseReshape_impl.js.map +1 -0
  466. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentMean.js +44 -0
  467. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentMean.js.map +1 -0
  468. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentReduction_impl.js +63 -0
  469. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentReduction_impl.js.map +1 -0
  470. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentSum.js +44 -0
  471. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentSum.js.map +1 -0
  472. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseToDense.js +60 -0
  473. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseToDense.js.map +1 -0
  474. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SplitV.js +40 -0
  475. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SplitV.js.map +1 -0
  476. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sqrt.js +31 -0
  477. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sqrt.js.map +1 -0
  478. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Square.js +37 -0
  479. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Square.js.map +1 -0
  480. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SquaredDifference.js +34 -0
  481. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SquaredDifference.js.map +1 -0
  482. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StaticRegexReplace.js +33 -0
  483. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StaticRegexReplace.js.map +1 -0
  484. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Step.js +32 -0
  485. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Step.js.map +1 -0
  486. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice.js +51 -0
  487. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice.js.map +1 -0
  488. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js +32 -0
  489. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js.map +1 -0
  490. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringNGrams.js +36 -0
  491. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringNGrams.js.map +1 -0
  492. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringNGrams_impl.js +116 -0
  493. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringNGrams_impl.js.map +1 -0
  494. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringSplit.js +44 -0
  495. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringSplit.js.map +1 -0
  496. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringSplit_impl.js +64 -0
  497. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringSplit_impl.js.map +1 -0
  498. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringToHashBucketFast.js +38 -0
  499. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringToHashBucketFast.js.map +1 -0
  500. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringToHashBucketFast_impl.js +29 -0
  501. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringToHashBucketFast_impl.js.map +1 -0
  502. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js +32 -0
  503. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js.map +1 -0
  504. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js +61 -0
  505. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js.map +1 -0
  506. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tan.js +29 -0
  507. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tan.js.map +1 -0
  508. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tanh.js +29 -0
  509. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tanh.js.map +1 -0
  510. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TensorScatterUpdate.js +34 -0
  511. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TensorScatterUpdate.js.map +1 -0
  512. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile.js +36 -0
  513. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile.js.map +1 -0
  514. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js +36 -0
  515. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js.map +1 -0
  516. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK.js +39 -0
  517. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK.js.map +1 -0
  518. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js +60 -0
  519. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js.map +1 -0
  520. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transform.js +127 -0
  521. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transform.js.map +1 -0
  522. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js +39 -0
  523. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js.map +1 -0
  524. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js +33 -0
  525. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js.map +1 -0
  526. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique.js +39 -0
  527. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique.js.map +1 -0
  528. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js +65 -0
  529. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js.map +1 -0
  530. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unpack.js +48 -0
  531. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unpack.js.map +1 -0
  532. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/UnsortedSegmentSum.js +52 -0
  533. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/UnsortedSegmentSum.js.map +1 -0
  534. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ZerosLike.js +42 -0
  535. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ZerosLike.js.map +1 -0
  536. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/_FusedMatMul.js +40 -0
  537. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/_FusedMatMul.js.map +1 -0
  538. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/register_all_kernels.js +367 -0
  539. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/register_all_kernels.js.map +1 -0
  540. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js +120 -0
  541. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js.map +1 -0
  542. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js +41 -0
  543. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js.map +1 -0
  544. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js +72 -0
  545. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js.map +1 -0
  546. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fft_utils.js +108 -0
  547. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fft_utils.js.map +1 -0
  548. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js +44 -0
  549. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js.map +1 -0
  550. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js +166 -0
  551. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js.map +1 -0
  552. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js +30 -0
  553. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js.map +1 -0
  554. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js +45 -0
  555. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js.map +1 -0
  556. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js +31 -0
  557. package/dist/node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js.map +1 -0
  558. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_gpu.js +39 -0
  559. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_gpu.js.map +1 -0
  560. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_packed_gpu.js +39 -0
  561. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_packed_gpu.js.map +1 -0
  562. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_gpu.js +49 -0
  563. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_gpu.js.map +1 -0
  564. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_packed_gpu.js +103 -0
  565. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_packed_gpu.js.map +1 -0
  566. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/avg_pool_backprop_gpu.js +133 -0
  567. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/avg_pool_backprop_gpu.js.map +1 -0
  568. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/backend_webgl.js +583 -0
  569. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/backend_webgl.js.map +1 -0
  570. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/base.js +30 -0
  571. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/base.js.map +1 -0
  572. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_gpu.js +41 -0
  573. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_gpu.js.map +1 -0
  574. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_packed_gpu.js +44 -0
  575. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_packed_gpu.js.map +1 -0
  576. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_complex_gpu.js +45 -0
  577. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_complex_gpu.js.map +1 -0
  578. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js +43 -0
  579. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js.map +1 -0
  580. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js +95 -0
  581. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js.map +1 -0
  582. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js +64 -0
  583. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js.map +1 -0
  584. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_gpu.js +39 -0
  585. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_gpu.js.map +1 -0
  586. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_packed_gpu.js +39 -0
  587. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_packed_gpu.js.map +1 -0
  588. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/complex_abs_gpu.js +38 -0
  589. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/complex_abs_gpu.js.map +1 -0
  590. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_gpu.js +52 -0
  591. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_gpu.js.map +1 -0
  592. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_packed_gpu.js +84 -0
  593. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_packed_gpu.js.map +1 -0
  594. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js +240 -0
  595. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js.map +1 -0
  596. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu_depthwise.js +115 -0
  597. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu_depthwise.js.map +1 -0
  598. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_packed_gpu.js +104 -0
  599. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_packed_gpu.js.map +1 -0
  600. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js +260 -0
  601. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js.map +1 -0
  602. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu_depthwise.js +89 -0
  603. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu_depthwise.js.map +1 -0
  604. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu.js +253 -0
  605. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu.js.map +1 -0
  606. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu_depthwise.js +246 -0
  607. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu_depthwise.js.map +1 -0
  608. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/crop_and_resize_gpu.js +106 -0
  609. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/crop_and_resize_gpu.js.map +1 -0
  610. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/cum_gpu.js +53 -0
  611. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/cum_gpu.js.map +1 -0
  612. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_gpu.js +51 -0
  613. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_gpu.js.map +1 -0
  614. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_packed_gpu.js +51 -0
  615. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_packed_gpu.js.map +1 -0
  616. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/depth_to_space_gpu.js +59 -0
  617. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/depth_to_space_gpu.js.map +1 -0
  618. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/diag_gpu.js +31 -0
  619. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/diag_gpu.js.map +1 -0
  620. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/dilation_gpu.js +65 -0
  621. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/dilation_gpu.js.map +1 -0
  622. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_gpu.js +37 -0
  623. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_gpu.js.map +1 -0
  624. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_packed_gpu.js +38 -0
  625. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_packed_gpu.js.map +1 -0
  626. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_gpu.js +67 -0
  627. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_gpu.js.map +1 -0
  628. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_packed_gpu.js +82 -0
  629. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_packed_gpu.js.map +1 -0
  630. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/fft_gpu.js +69 -0
  631. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/fft_gpu.js.map +1 -0
  632. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/fill_gpu.js +30 -0
  633. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/fill_gpu.js.map +1 -0
  634. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/flags_webgl.js +74 -0
  635. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/flags_webgl.js.map +1 -0
  636. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/flip_left_right_gpu.js +41 -0
  637. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/flip_left_right_gpu.js.map +1 -0
  638. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_gpu.js +41 -0
  639. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_gpu.js.map +1 -0
  640. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_nd_gpu.js +30 -0
  641. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_nd_gpu.js.map +1 -0
  642. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js +83 -0
  643. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js.map +1 -0
  644. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_context.js +295 -0
  645. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_context.js.map +1 -0
  646. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_math.js +230 -0
  647. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_math.js.map +1 -0
  648. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js +139 -0
  649. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js.map +1 -0
  650. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/im2col_packed_gpu.js +88 -0
  651. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/im2col_packed_gpu.js.map +1 -0
  652. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/arg_min_max.js +62 -0
  653. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/arg_min_max.js.map +1 -0
  654. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/int.js +26 -0
  655. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/int.js.map +1 -0
  656. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js +101 -0
  657. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js.map +1 -0
  658. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js +46 -0
  659. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js.map +1 -0
  660. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reshape.js +36 -0
  661. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reshape.js.map +1 -0
  662. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js +70 -0
  663. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js.map +1 -0
  664. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Abs.js +42 -0
  665. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Abs.js.map +1 -0
  666. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acos.js +35 -0
  667. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acos.js.map +1 -0
  668. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acosh.js +32 -0
  669. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acosh.js.map +1 -0
  670. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Add.js +35 -0
  671. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Add.js.map +1 -0
  672. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AddN.js +44 -0
  673. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AddN.js.map +1 -0
  674. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/All.js +48 -0
  675. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/All.js.map +1 -0
  676. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Any.js +48 -0
  677. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Any.js.map +1 -0
  678. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMax.js +42 -0
  679. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMax.js.map +1 -0
  680. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMin.js +42 -0
  681. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMin.js.map +1 -0
  682. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asin.js +35 -0
  683. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asin.js.map +1 -0
  684. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asinh.js +30 -0
  685. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asinh.js.map +1 -0
  686. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan.js +32 -0
  687. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan.js.map +1 -0
  688. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan2.js +40 -0
  689. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan2.js.map +1 -0
  690. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atanh.js +32 -0
  691. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atanh.js.map +1 -0
  692. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool.js +44 -0
  693. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool.js.map +1 -0
  694. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3D.js +34 -0
  695. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3D.js.map +1 -0
  696. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3DGrad.js +34 -0
  697. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3DGrad.js.map +1 -0
  698. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPoolGrad.js +37 -0
  699. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPoolGrad.js.map +1 -0
  700. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul.js +33 -0
  701. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul.js.map +1 -0
  702. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js +71 -0
  703. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js.map +1 -0
  704. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchNorm.js +44 -0
  705. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchNorm.js.map +1 -0
  706. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchToSpaceND.js +46 -0
  707. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchToSpaceND.js.map +1 -0
  708. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Bincount.js +33 -0
  709. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Bincount.js.map +1 -0
  710. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BitwiseAnd.js +52 -0
  711. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BitwiseAnd.js.map +1 -0
  712. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BroadcastArgs.js +33 -0
  713. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BroadcastArgs.js.map +1 -0
  714. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cast.js +64 -0
  715. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cast.js.map +1 -0
  716. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Ceil.js +30 -0
  717. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Ceil.js.map +1 -0
  718. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ClipByValue.js +38 -0
  719. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ClipByValue.js.map +1 -0
  720. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js +33 -0
  721. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js.map +1 -0
  722. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ComplexAbs.js +43 -0
  723. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ComplexAbs.js.map +1 -0
  724. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat.js +41 -0
  725. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat.js.map +1 -0
  726. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat_impl.js +85 -0
  727. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat_impl.js.map +1 -0
  728. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D.js +56 -0
  729. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D.js.map +1 -0
  730. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropFilter.js +34 -0
  731. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropFilter.js.map +1 -0
  732. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropInput.js +44 -0
  733. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropInput.js.map +1 -0
  734. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D_impl.js +155 -0
  735. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D_impl.js.map +1 -0
  736. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3D.js +34 -0
  737. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3D.js.map +1 -0
  738. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropFilterV2.js +34 -0
  739. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropFilterV2.js.map +1 -0
  740. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropInputV2.js +34 -0
  741. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropInputV2.js.map +1 -0
  742. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cos.js +37 -0
  743. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cos.js.map +1 -0
  744. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cosh.js +32 -0
  745. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cosh.js.map +1 -0
  746. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/CropAndResize.js +32 -0
  747. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/CropAndResize.js.map +1 -0
  748. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cum_impl.js +48 -0
  749. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cum_impl.js.map +1 -0
  750. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumprod.js +34 -0
  751. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumprod.js.map +1 -0
  752. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumsum.js +34 -0
  753. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumsum.js.map +1 -0
  754. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DenseBincount.js +40 -0
  755. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DenseBincount.js.map +1 -0
  756. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthToSpace.js +33 -0
  757. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthToSpace.js.map +1 -0
  758. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNative.js +57 -0
  759. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNative.js.map +1 -0
  760. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js +43 -0
  761. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js.map +1 -0
  762. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropInput.js +43 -0
  763. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropInput.js.map +1 -0
  764. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Diag.js +35 -0
  765. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Diag.js.map +1 -0
  766. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Dilation2D.js +39 -0
  767. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Dilation2D.js.map +1 -0
  768. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Einsum.js +63 -0
  769. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Einsum.js.map +1 -0
  770. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Elu.js +37 -0
  771. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Elu.js.map +1 -0
  772. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/EluGrad.js +37 -0
  773. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/EluGrad.js.map +1 -0
  774. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Equal.js +37 -0
  775. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Equal.js.map +1 -0
  776. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Erf.js +45 -0
  777. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Erf.js.map +1 -0
  778. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Exp.js +47 -0
  779. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Exp.js.map +1 -0
  780. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ExpandDims.js +35 -0
  781. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ExpandDims.js.map +1 -0
  782. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Expm1.js +30 -0
  783. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Expm1.js.map +1 -0
  784. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT.js +33 -0
  785. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT.js.map +1 -0
  786. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT_impl.js +42 -0
  787. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT_impl.js.map +1 -0
  788. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js +41 -0
  789. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js.map +1 -0
  790. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FlipLeftRight.js +31 -0
  791. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FlipLeftRight.js.map +1 -0
  792. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Floor.js +30 -0
  793. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Floor.js.map +1 -0
  794. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FloorDiv.js +60 -0
  795. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FloorDiv.js.map +1 -0
  796. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels.js +48 -0
  797. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels.js.map +1 -0
  798. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_gpu.js +50 -0
  799. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_gpu.js.map +1 -0
  800. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_packed_gpu.js +62 -0
  801. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_packed_gpu.js.map +1 -0
  802. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedConv2D.js +94 -0
  803. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedConv2D.js.map +1 -0
  804. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedDepthwiseConv2D.js +63 -0
  805. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedDepthwiseConv2D.js.map +1 -0
  806. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherNd.js +46 -0
  807. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherNd.js.map +1 -0
  808. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherV2.js +75 -0
  809. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherV2.js.map +1 -0
  810. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Greater.js +37 -0
  811. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Greater.js.map +1 -0
  812. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GreaterEqual.js +37 -0
  813. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GreaterEqual.js.map +1 -0
  814. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IFFT.js +33 -0
  815. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IFFT.js.map +1 -0
  816. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js +32 -0
  817. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js.map +1 -0
  818. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js +33 -0
  819. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js.map +1 -0
  820. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsFinite.js +29 -0
  821. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsFinite.js.map +1 -0
  822. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsInf.js +29 -0
  823. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsInf.js.map +1 -0
  824. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsNaN.js +29 -0
  825. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsNaN.js.map +1 -0
  826. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRN.js +34 -0
  827. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRN.js.map +1 -0
  828. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRNGrad.js +32 -0
  829. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRNGrad.js.map +1 -0
  830. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LeakyRelu.js +42 -0
  831. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LeakyRelu.js.map +1 -0
  832. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Less.js +37 -0
  833. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Less.js.map +1 -0
  834. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LessEqual.js +39 -0
  835. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LessEqual.js.map +1 -0
  836. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LinSpace.js +33 -0
  837. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LinSpace.js.map +1 -0
  838. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log.js +40 -0
  839. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log.js.map +1 -0
  840. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log1p.js +31 -0
  841. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log1p.js.map +1 -0
  842. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalAnd.js +37 -0
  843. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalAnd.js.map +1 -0
  844. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalNot.js +29 -0
  845. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalNot.js.map +1 -0
  846. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalOr.js +34 -0
  847. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalOr.js.map +1 -0
  848. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max.js +65 -0
  849. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max.js.map +1 -0
  850. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool.js +44 -0
  851. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool.js.map +1 -0
  852. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3D.js +34 -0
  853. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3D.js.map +1 -0
  854. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3DGrad.js +40 -0
  855. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3DGrad.js.map +1 -0
  856. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolGrad.js +38 -0
  857. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolGrad.js.map +1 -0
  858. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax.js +37 -0
  859. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax.js.map +1 -0
  860. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax_impl.js +28 -0
  861. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax_impl.js.map +1 -0
  862. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max_impl.js +28 -0
  863. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max_impl.js.map +1 -0
  864. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Maximum.js +45 -0
  865. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Maximum.js.map +1 -0
  866. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean.js +58 -0
  867. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean.js.map +1 -0
  868. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean_impl.js +28 -0
  869. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean_impl.js.map +1 -0
  870. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Min.js +48 -0
  871. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Min.js.map +1 -0
  872. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Minimum.js +45 -0
  873. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Minimum.js.map +1 -0
  874. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MirrorPad.js +34 -0
  875. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MirrorPad.js.map +1 -0
  876. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mod.js +39 -0
  877. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mod.js.map +1 -0
  878. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multinomial.js +34 -0
  879. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multinomial.js.map +1 -0
  880. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multiply.js +70 -0
  881. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multiply.js.map +1 -0
  882. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Neg.js +54 -0
  883. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Neg.js.map +1 -0
  884. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV3.js +36 -0
  885. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV3.js.map +1 -0
  886. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV4.js +39 -0
  887. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV4.js.map +1 -0
  888. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV5.js +39 -0
  889. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV5.js.map +1 -0
  890. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NotEqual.js +30 -0
  891. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NotEqual.js.map +1 -0
  892. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OneHot.js +36 -0
  893. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OneHot.js.map +1 -0
  894. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OnesLike.js +43 -0
  895. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OnesLike.js.map +1 -0
  896. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pack.js +45 -0
  897. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pack.js.map +1 -0
  898. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/PadV2.js +47 -0
  899. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/PadV2.js.map +1 -0
  900. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pow.js +57 -0
  901. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pow.js.map +1 -0
  902. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prelu.js +41 -0
  903. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prelu.js.map +1 -0
  904. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prod.js +56 -0
  905. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prod.js.map +1 -0
  906. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RaggedGather.js +33 -0
  907. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RaggedGather.js.map +1 -0
  908. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RaggedRange.js +33 -0
  909. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RaggedRange.js.map +1 -0
  910. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RaggedTensorToTensor.js +33 -0
  911. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RaggedTensorToTensor.js.map +1 -0
  912. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Range.js +32 -0
  913. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Range.js.map +1 -0
  914. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js +33 -0
  915. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js.map +1 -0
  916. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RealDiv.js +51 -0
  917. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RealDiv.js.map +1 -0
  918. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reciprocal.js +29 -0
  919. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reciprocal.js.map +1 -0
  920. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu.js +42 -0
  921. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu.js.map +1 -0
  922. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu6.js +42 -0
  923. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu6.js.map +1 -0
  924. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js +37 -0
  925. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js.map +1 -0
  926. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinear.js +35 -0
  927. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinear.js.map +1 -0
  928. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinearGrad.js +33 -0
  929. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinearGrad.js.map +1 -0
  930. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighbor.js +35 -0
  931. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighbor.js.map +1 -0
  932. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighborGrad.js +33 -0
  933. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighborGrad.js.map +1 -0
  934. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reverse.js +40 -0
  935. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reverse.js.map +1 -0
  936. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RotateWithOffset.js +32 -0
  937. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RotateWithOffset.js.map +1 -0
  938. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Round.js +44 -0
  939. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Round.js.map +1 -0
  940. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Rsqrt.js +30 -0
  941. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Rsqrt.js.map +1 -0
  942. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ScatterNd.js +43 -0
  943. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ScatterNd.js.map +1 -0
  944. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SearchSorted.js +33 -0
  945. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SearchSorted.js.map +1 -0
  946. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Select.js +34 -0
  947. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Select.js.map +1 -0
  948. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Selu.js +36 -0
  949. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Selu.js.map +1 -0
  950. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sigmoid.js +46 -0
  951. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sigmoid.js.map +1 -0
  952. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sign.js +32 -0
  953. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sign.js.map +1 -0
  954. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sin.js +37 -0
  955. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sin.js.map +1 -0
  956. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sinh.js +32 -0
  957. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sinh.js.map +1 -0
  958. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js +61 -0
  959. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js.map +1 -0
  960. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softmax.js +44 -0
  961. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softmax.js.map +1 -0
  962. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softplus.js +49 -0
  963. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softplus.js.map +1 -0
  964. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SpaceToBatchND.js +50 -0
  965. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SpaceToBatchND.js.map +1 -0
  966. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseFillEmptyRows.js +51 -0
  967. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseFillEmptyRows.js.map +1 -0
  968. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseReshape.js +43 -0
  969. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseReshape.js.map +1 -0
  970. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseSegmentMean.js +42 -0
  971. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseSegmentMean.js.map +1 -0
  972. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseSegmentSum.js +42 -0
  973. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseSegmentSum.js.map +1 -0
  974. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseToDense.js +42 -0
  975. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseToDense.js.map +1 -0
  976. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SplitV.js +40 -0
  977. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SplitV.js.map +1 -0
  978. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sqrt.js +30 -0
  979. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sqrt.js.map +1 -0
  980. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Square.js +29 -0
  981. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Square.js.map +1 -0
  982. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SquaredDifference.js +29 -0
  983. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SquaredDifference.js.map +1 -0
  984. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StaticRegexReplace.js +37 -0
  985. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StaticRegexReplace.js.map +1 -0
  986. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Step.js +35 -0
  987. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Step.js.map +1 -0
  988. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StridedSlice.js +54 -0
  989. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StridedSlice.js.map +1 -0
  990. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StringNGrams.js +36 -0
  991. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StringNGrams.js.map +1 -0
  992. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StringSplit.js +44 -0
  993. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StringSplit.js.map +1 -0
  994. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StringToHashBucketFast.js +38 -0
  995. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StringToHashBucketFast.js.map +1 -0
  996. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sub.js +35 -0
  997. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sub.js.map +1 -0
  998. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js +33 -0
  999. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js.map +1 -0
  1000. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum_impl.js +39 -0
  1001. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum_impl.js.map +1 -0
  1002. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tan.js +29 -0
  1003. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tan.js.map +1 -0
  1004. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tanh.js +32 -0
  1005. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tanh.js.map +1 -0
  1006. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TensorScatterUpdate.js +38 -0
  1007. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TensorScatterUpdate.js.map +1 -0
  1008. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tile.js +41 -0
  1009. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tile.js.map +1 -0
  1010. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TopK.js +93 -0
  1011. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TopK.js.map +1 -0
  1012. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transform.js +38 -0
  1013. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transform.js.map +1 -0
  1014. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js +44 -0
  1015. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js.map +1 -0
  1016. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js +28 -0
  1017. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js.map +1 -0
  1018. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unique.js +39 -0
  1019. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unique.js.map +1 -0
  1020. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unpack.js +48 -0
  1021. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unpack.js.map +1 -0
  1022. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/UnsortedSegmentSum.js +67 -0
  1023. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/UnsortedSegmentSum.js.map +1 -0
  1024. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ZerosLike.js +47 -0
  1025. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ZerosLike.js.map +1 -0
  1026. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/_FusedMatMul.js +43 -0
  1027. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/_FusedMatMul.js.map +1 -0
  1028. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_gpu.js +49 -0
  1029. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_gpu.js.map +1 -0
  1030. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_grad_gpu.js +80 -0
  1031. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_grad_gpu.js.map +1 -0
  1032. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_packed_gpu.js +92 -0
  1033. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_packed_gpu.js.map +1 -0
  1034. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/max_pool_backprop_gpu.js +145 -0
  1035. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/max_pool_backprop_gpu.js.map +1 -0
  1036. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mean_gpu.js +90 -0
  1037. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mean_gpu.js.map +1 -0
  1038. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_gpu.js +64 -0
  1039. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_gpu.js.map +1 -0
  1040. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_packed_gpu.js +96 -0
  1041. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_packed_gpu.js.map +1 -0
  1042. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mulmat_packed_gpu.js +72 -0
  1043. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/mulmat_packed_gpu.js.map +1 -0
  1044. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/multinomial_gpu.js +45 -0
  1045. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/multinomial_gpu.js.map +1 -0
  1046. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/onehot_gpu.js +32 -0
  1047. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/onehot_gpu.js.map +1 -0
  1048. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pack_gpu.js +89 -0
  1049. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pack_gpu.js.map +1 -0
  1050. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js +36 -0
  1051. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js.map +1 -0
  1052. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_gpu.js +60 -0
  1053. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_gpu.js.map +1 -0
  1054. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_packed_gpu.js +64 -0
  1055. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_packed_gpu.js.map +1 -0
  1056. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js +365 -0
  1057. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js.map +1 -0
  1058. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reduce_gpu.js +128 -0
  1059. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reduce_gpu.js.map +1 -0
  1060. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/register_all_kernels.js +363 -0
  1061. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/register_all_kernels.js.map +1 -0
  1062. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reshape_packed_gpu.js +69 -0
  1063. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reshape_packed_gpu.js.map +1 -0
  1064. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_backprop_gpu.js +114 -0
  1065. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_backprop_gpu.js.map +1 -0
  1066. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_gpu.js +69 -0
  1067. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_gpu.js.map +1 -0
  1068. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_packed_gpu.js +113 -0
  1069. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_packed_gpu.js.map +1 -0
  1070. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_backprop_gpu.js +103 -0
  1071. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_backprop_gpu.js.map +1 -0
  1072. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_gpu.js +58 -0
  1073. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_gpu.js.map +1 -0
  1074. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_packed_gpu.js +77 -0
  1075. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_packed_gpu.js.map +1 -0
  1076. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_gpu.js +45 -0
  1077. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_gpu.js.map +1 -0
  1078. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_packed_gpu.js +80 -0
  1079. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_packed_gpu.js.map +1 -0
  1080. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/rotate_gpu.js +48 -0
  1081. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/rotate_gpu.js.map +1 -0
  1082. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_gpu.js +57 -0
  1083. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_gpu.js.map +1 -0
  1084. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_packed_gpu.js +74 -0
  1085. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_packed_gpu.js.map +1 -0
  1086. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/search_sorted_gpu.js +54 -0
  1087. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/search_sorted_gpu.js.map +1 -0
  1088. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/segment_gpu.js +138 -0
  1089. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/segment_gpu.js.map +1 -0
  1090. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/select_gpu.js +49 -0
  1091. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/select_gpu.js.map +1 -0
  1092. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js +1266 -0
  1093. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js.map +1 -0
  1094. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js +110 -0
  1095. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js.map +1 -0
  1096. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_gpu.js +50 -0
  1097. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_gpu.js.map +1 -0
  1098. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_packed_gpu.js +58 -0
  1099. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_packed_gpu.js.map +1 -0
  1100. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/strided_slice_gpu.js +43 -0
  1101. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/strided_slice_gpu.js.map +1 -0
  1102. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js +79 -0
  1103. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js.map +1 -0
  1104. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/texture_manager.js +147 -0
  1105. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/texture_manager.js.map +1 -0
  1106. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/tile_gpu.js +48 -0
  1107. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/tile_gpu.js.map +1 -0
  1108. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/top_k_gpu.js +106 -0
  1109. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/top_k_gpu.js.map +1 -0
  1110. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/transform_gpu.js +157 -0
  1111. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/transform_gpu.js.map +1 -0
  1112. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_gpu.js +46 -0
  1113. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_gpu.js.map +1 -0
  1114. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_packed_gpu.js +54 -0
  1115. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_packed_gpu.js.map +1 -0
  1116. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js +50 -0
  1117. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js.map +1 -0
  1118. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js +72 -0
  1119. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js.map +1 -0
  1120. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/unpack_gpu.js +37 -0
  1121. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/unpack_gpu.js.map +1 -0
  1122. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js +351 -0
  1123. package/dist/node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js.map +1 -0
  1124. package/dist/node_modules/@tensorflow/tfjs-converter/dist/data/compiled_api.js +32 -0
  1125. package/dist/node_modules/@tensorflow/tfjs-converter/dist/data/compiled_api.js.map +1 -0
  1126. package/dist/node_modules/@tensorflow/tfjs-converter/dist/flags.js +23 -0
  1127. package/dist/node_modules/@tensorflow/tfjs-converter/dist/flags.js.map +1 -0
  1128. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js +99 -0
  1129. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js.map +1 -0
  1130. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js +139 -0
  1131. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js.map +1 -0
  1132. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js +72 -0
  1133. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js.map +1 -0
  1134. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js +105 -0
  1135. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js.map +1 -0
  1136. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js +101 -0
  1137. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js.map +1 -0
  1138. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js +40 -0
  1139. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js.map +1 -0
  1140. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js +32 -0
  1141. package/dist/node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js.map +1 -0
  1142. package/dist/node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js +34 -0
  1143. package/dist/node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js.map +1 -0
  1144. package/dist/node_modules/@tensorflow/tfjs-core/dist/browser_util.js +24 -0
  1145. package/dist/node_modules/@tensorflow/tfjs-core/dist/browser_util.js.map +1 -0
  1146. package/dist/node_modules/@tensorflow/tfjs-core/dist/device_util.js +43 -0
  1147. package/dist/node_modules/@tensorflow/tfjs-core/dist/device_util.js.map +1 -0
  1148. package/dist/node_modules/@tensorflow/tfjs-core/dist/engine.js +595 -0
  1149. package/dist/node_modules/@tensorflow/tfjs-core/dist/engine.js.map +1 -0
  1150. package/dist/node_modules/@tensorflow/tfjs-core/dist/environment.js +111 -0
  1151. package/dist/node_modules/@tensorflow/tfjs-core/dist/environment.js.map +1 -0
  1152. package/dist/node_modules/@tensorflow/tfjs-core/dist/flags.js +36 -0
  1153. package/dist/node_modules/@tensorflow/tfjs-core/dist/flags.js.map +1 -0
  1154. package/dist/node_modules/@tensorflow/tfjs-core/dist/global_util.js +52 -0
  1155. package/dist/node_modules/@tensorflow/tfjs-core/dist/global_util.js.map +1 -0
  1156. package/dist/node_modules/@tensorflow/tfjs-core/dist/globals.js +62 -0
  1157. package/dist/node_modules/@tensorflow/tfjs-core/dist/globals.js.map +1 -0
  1158. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js +32 -0
  1159. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js.map +1 -0
  1160. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js +41 -0
  1161. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js.map +1 -0
  1162. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js +39 -0
  1163. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js.map +1 -0
  1164. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js +31 -0
  1165. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js.map +1 -0
  1166. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js +40 -0
  1167. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js.map +1 -0
  1168. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js +30 -0
  1169. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js.map +1 -0
  1170. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js +30 -0
  1171. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js.map +1 -0
  1172. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js +35 -0
  1173. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js.map +1 -0
  1174. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js +40 -0
  1175. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js.map +1 -0
  1176. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js +47 -0
  1177. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js.map +1 -0
  1178. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js +33 -0
  1179. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js.map +1 -0
  1180. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js +34 -0
  1181. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js.map +1 -0
  1182. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js +32 -0
  1183. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js.map +1 -0
  1184. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js +30 -0
  1185. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js.map +1 -0
  1186. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js +42 -0
  1187. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js.map +1 -0
  1188. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js +29 -0
  1189. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js.map +1 -0
  1190. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js +42 -0
  1191. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js.map +1 -0
  1192. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js +25 -0
  1193. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js.map +1 -0
  1194. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js +26 -0
  1195. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js.map +1 -0
  1196. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js +36 -0
  1197. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js.map +1 -0
  1198. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js +27 -0
  1199. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js.map +1 -0
  1200. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js +31 -0
  1201. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js.map +1 -0
  1202. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js +34 -0
  1203. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js.map +1 -0
  1204. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js +36 -0
  1205. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js.map +1 -0
  1206. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js +38 -0
  1207. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js.map +1 -0
  1208. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js +33 -0
  1209. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js.map +1 -0
  1210. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js +32 -0
  1211. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js.map +1 -0
  1212. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js +38 -0
  1213. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js.map +1 -0
  1214. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js +38 -0
  1215. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js.map +1 -0
  1216. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js +33 -0
  1217. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js.map +1 -0
  1218. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js +30 -0
  1219. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js.map +1 -0
  1220. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js +33 -0
  1221. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js.map +1 -0
  1222. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js +30 -0
  1223. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js.map +1 -0
  1224. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js +30 -0
  1225. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js.map +1 -0
  1226. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js +31 -0
  1227. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js.map +1 -0
  1228. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js +46 -0
  1229. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js.map +1 -0
  1230. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js +26 -0
  1231. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js.map +1 -0
  1232. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js +63 -0
  1233. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js.map +1 -0
  1234. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js +61 -0
  1235. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js.map +1 -0
  1236. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js +30 -0
  1237. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js.map +1 -0
  1238. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js +26 -0
  1239. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js.map +1 -0
  1240. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js +26 -0
  1241. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js.map +1 -0
  1242. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js +26 -0
  1243. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js.map +1 -0
  1244. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js +26 -0
  1245. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js.map +1 -0
  1246. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js +33 -0
  1247. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js.map +1 -0
  1248. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js +32 -0
  1249. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js.map +1 -0
  1250. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js +31 -0
  1251. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js.map +1 -0
  1252. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js +39 -0
  1253. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js.map +1 -0
  1254. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js +31 -0
  1255. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js.map +1 -0
  1256. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js +33 -0
  1257. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js.map +1 -0
  1258. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js +33 -0
  1259. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js.map +1 -0
  1260. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js +34 -0
  1261. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js.map +1 -0
  1262. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js +33 -0
  1263. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js.map +1 -0
  1264. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js +42 -0
  1265. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js.map +1 -0
  1266. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js +34 -0
  1267. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js.map +1 -0
  1268. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js +33 -0
  1269. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js.map +1 -0
  1270. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js +30 -0
  1271. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js.map +1 -0
  1272. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js +42 -0
  1273. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js.map +1 -0
  1274. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js +40 -0
  1275. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js.map +1 -0
  1276. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js +26 -0
  1277. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js.map +1 -0
  1278. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js +30 -0
  1279. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js.map +1 -0
  1280. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js +26 -0
  1281. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js.map +1 -0
  1282. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js +30 -0
  1283. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js.map +1 -0
  1284. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js +30 -0
  1285. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js.map +1 -0
  1286. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js +52 -0
  1287. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js.map +1 -0
  1288. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js +43 -0
  1289. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js.map +1 -0
  1290. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Prod_grad.js +55 -0
  1291. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Prod_grad.js.map +1 -0
  1292. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js +46 -0
  1293. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js.map +1 -0
  1294. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js +32 -0
  1295. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js.map +1 -0
  1296. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js +33 -0
  1297. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js.map +1 -0
  1298. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js +32 -0
  1299. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js.map +1 -0
  1300. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js +30 -0
  1301. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js.map +1 -0
  1302. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js +33 -0
  1303. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js.map +1 -0
  1304. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js +33 -0
  1305. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js.map +1 -0
  1306. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js +30 -0
  1307. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js.map +1 -0
  1308. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js +26 -0
  1309. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js.map +1 -0
  1310. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js +33 -0
  1311. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js.map +1 -0
  1312. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js +39 -0
  1313. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js.map +1 -0
  1314. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js +41 -0
  1315. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js.map +1 -0
  1316. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js +32 -0
  1317. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js.map +1 -0
  1318. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js +26 -0
  1319. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js.map +1 -0
  1320. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js +32 -0
  1321. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js.map +1 -0
  1322. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js +32 -0
  1323. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js.map +1 -0
  1324. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js +33 -0
  1325. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js.map +1 -0
  1326. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js +34 -0
  1327. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js.map +1 -0
  1328. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js +31 -0
  1329. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js.map +1 -0
  1330. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js +29 -0
  1331. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js.map +1 -0
  1332. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js +29 -0
  1333. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js.map +1 -0
  1334. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js +33 -0
  1335. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js.map +1 -0
  1336. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js +31 -0
  1337. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js.map +1 -0
  1338. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js +32 -0
  1339. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js.map +1 -0
  1340. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js +26 -0
  1341. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js.map +1 -0
  1342. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js +41 -0
  1343. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js.map +1 -0
  1344. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js +37 -0
  1345. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js.map +1 -0
  1346. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js +32 -0
  1347. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js.map +1 -0
  1348. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js +33 -0
  1349. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js.map +1 -0
  1350. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js +63 -0
  1351. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js.map +1 -0
  1352. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js +30 -0
  1353. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js.map +1 -0
  1354. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js +29 -0
  1355. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js.map +1 -0
  1356. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js +48 -0
  1357. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js.map +1 -0
  1358. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js +26 -0
  1359. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js.map +1 -0
  1360. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js +30 -0
  1361. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js.map +1 -0
  1362. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients.js +44 -0
  1363. package/dist/node_modules/@tensorflow/tfjs-core/dist/gradients.js.map +1 -0
  1364. package/dist/node_modules/@tensorflow/tfjs-core/dist/hash_util.js +100 -0
  1365. package/dist/node_modules/@tensorflow/tfjs-core/dist/hash_util.js.map +1 -0
  1366. package/dist/node_modules/@tensorflow/tfjs-core/dist/index.js +20 -0
  1367. package/dist/node_modules/@tensorflow/tfjs-core/dist/index.js.map +1 -0
  1368. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/composite_array_buffer.js +74 -0
  1369. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/composite_array_buffer.js.map +1 -0
  1370. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/http.js +131 -0
  1371. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/http.js.map +1 -0
  1372. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js +169 -0
  1373. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js.map +1 -0
  1374. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js +281 -0
  1375. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js.map +1 -0
  1376. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js +156 -0
  1377. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js.map +1 -0
  1378. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/model_management.js +50 -0
  1379. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/model_management.js.map +1 -0
  1380. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/progress.js +36 -0
  1381. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/progress.js.map +1 -0
  1382. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js +78 -0
  1383. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js.map +1 -0
  1384. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/types.js +29 -0
  1385. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/types.js.map +1 -0
  1386. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js +48 -0
  1387. package/dist/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js.map +1 -0
  1388. package/dist/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js +179 -0
  1389. package/dist/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js.map +1 -0
  1390. package/dist/node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js +57 -0
  1391. package/dist/node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js.map +1 -0
  1392. package/dist/node_modules/@tensorflow/tfjs-core/dist/log.js +28 -0
  1393. package/dist/node_modules/@tensorflow/tfjs-core/dist/log.js.map +1 -0
  1394. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/abs.js +35 -0
  1395. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/abs.js.map +1 -0
  1396. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/acos.js +29 -0
  1397. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/acos.js.map +1 -0
  1398. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/acosh.js +29 -0
  1399. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/acosh.js.map +1 -0
  1400. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/add.js +32 -0
  1401. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/add.js.map +1 -0
  1402. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/all.js +29 -0
  1403. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/all.js.map +1 -0
  1404. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/any.js +29 -0
  1405. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/any.js.map +1 -0
  1406. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js +29 -0
  1407. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js.map +1 -0
  1408. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js +29 -0
  1409. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js.map +1 -0
  1410. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/array_ops_util.js +70 -0
  1411. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/array_ops_util.js.map +1 -0
  1412. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/asin.js +29 -0
  1413. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/asin.js.map +1 -0
  1414. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/asinh.js +29 -0
  1415. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/asinh.js.map +1 -0
  1416. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/atan.js +29 -0
  1417. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/atan.js.map +1 -0
  1418. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js +32 -0
  1419. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js.map +1 -0
  1420. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/atanh.js +29 -0
  1421. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/atanh.js.map +1 -0
  1422. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js +38 -0
  1423. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js.map +1 -0
  1424. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d.js +37 -0
  1425. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d.js.map +1 -0
  1426. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d_grad.js +41 -0
  1427. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d_grad.js.map +1 -0
  1428. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_grad.js +35 -0
  1429. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_grad.js.map +1 -0
  1430. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js +72 -0
  1431. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js.map +1 -0
  1432. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js +32 -0
  1433. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js.map +1 -0
  1434. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js +44 -0
  1435. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js.map +1 -0
  1436. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js +16 -0
  1437. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js.map +1 -0
  1438. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js +16 -0
  1439. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js.map +1 -0
  1440. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js +16 -0
  1441. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js.map +1 -0
  1442. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm_util.js +9 -0
  1443. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm_util.js.map +1 -0
  1444. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/bincount.js +32 -0
  1445. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/bincount.js.map +1 -0
  1446. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js +50 -0
  1447. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js.map +1 -0
  1448. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js +56 -0
  1449. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js.map +1 -0
  1450. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js +25 -0
  1451. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js.map +1 -0
  1452. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cast.js +35 -0
  1453. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cast.js.map +1 -0
  1454. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ceil.js +29 -0
  1455. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ceil.js.map +1 -0
  1456. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/clip_by_value.js +34 -0
  1457. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/clip_by_value.js.map +1 -0
  1458. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/clone.js +29 -0
  1459. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/clone.js.map +1 -0
  1460. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/complex.js +32 -0
  1461. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/complex.js.map +1 -0
  1462. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat.js +39 -0
  1463. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat.js.map +1 -0
  1464. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_1d.js +14 -0
  1465. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_1d.js.map +1 -0
  1466. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_2d.js +10 -0
  1467. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_2d.js.map +1 -0
  1468. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_3d.js +10 -0
  1469. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_3d.js.map +1 -0
  1470. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_4d.js +10 -0
  1471. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_4d.js.map +1 -0
  1472. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js +39 -0
  1473. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js.map +1 -0
  1474. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js +18 -0
  1475. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js.map +1 -0
  1476. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js +37 -0
  1477. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js.map +1 -0
  1478. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js +37 -0
  1479. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js.map +1 -0
  1480. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js +36 -0
  1481. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js.map +1 -0
  1482. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js +12 -0
  1483. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js.map +1 -0
  1484. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d.js +35 -0
  1485. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d.js.map +1 -0
  1486. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_filter.js +34 -0
  1487. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_filter.js.map +1 -0
  1488. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js +35 -0
  1489. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js.map +1 -0
  1490. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_transpose.js +12 -0
  1491. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_transpose.js.map +1 -0
  1492. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js +242 -0
  1493. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js.map +1 -0
  1494. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cos.js +29 -0
  1495. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cos.js.map +1 -0
  1496. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js +29 -0
  1497. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js.map +1 -0
  1498. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cumprod.js +29 -0
  1499. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cumprod.js.map +1 -0
  1500. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js +29 -0
  1501. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js.map +1 -0
  1502. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dense_bincount.js +32 -0
  1503. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dense_bincount.js.map +1 -0
  1504. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js +36 -0
  1505. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js.map +1 -0
  1506. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js +37 -0
  1507. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js.map +1 -0
  1508. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js +33 -0
  1509. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js.map +1 -0
  1510. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js +34 -0
  1511. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js.map +1 -0
  1512. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js +35 -0
  1513. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js.map +1 -0
  1514. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/div.js +34 -0
  1515. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/div.js.map +1 -0
  1516. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js +34 -0
  1517. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js.map +1 -0
  1518. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dot.js +44 -0
  1519. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dot.js.map +1 -0
  1520. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dropout.js +38 -0
  1521. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dropout.js.map +1 -0
  1522. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dropout_util.js +34 -0
  1523. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/dropout_util.js.map +1 -0
  1524. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/einsum.js +30 -0
  1525. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/einsum.js.map +1 -0
  1526. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/elu.js +29 -0
  1527. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/elu.js.map +1 -0
  1528. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/equal.js +33 -0
  1529. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/equal.js.map +1 -0
  1530. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/erf.js +33 -0
  1531. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/erf.js.map +1 -0
  1532. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/erf_util.js +26 -0
  1533. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/erf_util.js.map +1 -0
  1534. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/euclidean_norm.js +26 -0
  1535. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/euclidean_norm.js.map +1 -0
  1536. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/exp.js +29 -0
  1537. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/exp.js.map +1 -0
  1538. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js +32 -0
  1539. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js.map +1 -0
  1540. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/expm1.js +29 -0
  1541. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/expm1.js.map +1 -0
  1542. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/eye.js +48 -0
  1543. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/eye.js.map +1 -0
  1544. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fill.js +28 -0
  1545. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fill.js.map +1 -0
  1546. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/floor.js +29 -0
  1547. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/floor.js.map +1 -0
  1548. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js +32 -0
  1549. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js.map +1 -0
  1550. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fused/conv2d.js +99 -0
  1551. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fused/conv2d.js.map +1 -0
  1552. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fused/mat_mul.js +75 -0
  1553. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fused/mat_mul.js.map +1 -0
  1554. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js +64 -0
  1555. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js.map +1 -0
  1556. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/gather.js +29 -0
  1557. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/gather.js.map +1 -0
  1558. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js +32 -0
  1559. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js.map +1 -0
  1560. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/greater.js +33 -0
  1561. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/greater.js.map +1 -0
  1562. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js +33 -0
  1563. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js.map +1 -0
  1564. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/imag.js +29 -0
  1565. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/imag.js.map +1 -0
  1566. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/crop_and_resize.js +32 -0
  1567. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/crop_and_resize.js.map +1 -0
  1568. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/flip_left_right.js +32 -0
  1569. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/flip_left_right.js.map +1 -0
  1570. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/grayscale_to_rgb.js +31 -0
  1571. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/grayscale_to_rgb.js.map +1 -0
  1572. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression.js +32 -0
  1573. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression.js.map +1 -0
  1574. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_async.js +31 -0
  1575. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_async.js.map +1 -0
  1576. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded.js +43 -0
  1577. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded.js.map +1 -0
  1578. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded_async.js +41 -0
  1579. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded_async.js.map +1 -0
  1580. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score.js +32 -0
  1581. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score.js.map +1 -0
  1582. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score_async.js +34 -0
  1583. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score_async.js.map +1 -0
  1584. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_bilinear.js +35 -0
  1585. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_bilinear.js.map +1 -0
  1586. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_nearest_neighbor.js +35 -0
  1587. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_nearest_neighbor.js.map +1 -0
  1588. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/rgb_to_grayscale.js +54 -0
  1589. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/rgb_to_grayscale.js.map +1 -0
  1590. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/rotate_with_offset.js +32 -0
  1591. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/rotate_with_offset.js.map +1 -0
  1592. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/threshold.js +72 -0
  1593. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/threshold.js.map +1 -0
  1594. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/transform.js +32 -0
  1595. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/image/transform.js.map +1 -0
  1596. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/is_finite.js +29 -0
  1597. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/is_finite.js.map +1 -0
  1598. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/is_inf.js +29 -0
  1599. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/is_inf.js.map +1 -0
  1600. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/is_nan.js +29 -0
  1601. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/is_nan.js.map +1 -0
  1602. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js +29 -0
  1603. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js.map +1 -0
  1604. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/less.js +33 -0
  1605. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/less.js.map +1 -0
  1606. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js +33 -0
  1607. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js.map +1 -0
  1608. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/linalg/band_part.js +46 -0
  1609. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/linalg/band_part.js.map +1 -0
  1610. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/linalg/gram_schmidt.js +55 -0
  1611. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/linalg/gram_schmidt.js.map +1 -0
  1612. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/linalg/qr.js +95 -0
  1613. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/linalg/qr.js.map +1 -0
  1614. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js +36 -0
  1615. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js.map +1 -0
  1616. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization_backprop.js +28 -0
  1617. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization_backprop.js.map +1 -0
  1618. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log.js +29 -0
  1619. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log.js.map +1 -0
  1620. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js +29 -0
  1621. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js.map +1 -0
  1622. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log_sigmoid.js +32 -0
  1623. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log_sigmoid.js.map +1 -0
  1624. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log_softmax.js +43 -0
  1625. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log_softmax.js.map +1 -0
  1626. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js +45 -0
  1627. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js.map +1 -0
  1628. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js +32 -0
  1629. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js.map +1 -0
  1630. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js +29 -0
  1631. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js.map +1 -0
  1632. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js +32 -0
  1633. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js.map +1 -0
  1634. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js +31 -0
  1635. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js.map +1 -0
  1636. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js +32 -0
  1637. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js.map +1 -0
  1638. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max.js +29 -0
  1639. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max.js.map +1 -0
  1640. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js +35 -0
  1641. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js.map +1 -0
  1642. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d.js +35 -0
  1643. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d.js.map +1 -0
  1644. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d_grad.js +47 -0
  1645. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d_grad.js.map +1 -0
  1646. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_grad.js +33 -0
  1647. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_grad.js.map +1 -0
  1648. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js +34 -0
  1649. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js.map +1 -0
  1650. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mean.js +29 -0
  1651. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mean.js.map +1 -0
  1652. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/min.js +29 -0
  1653. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/min.js.map +1 -0
  1654. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js +34 -0
  1655. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js.map +1 -0
  1656. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mirror_pad.js +38 -0
  1657. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mirror_pad.js.map +1 -0
  1658. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mod.js +32 -0
  1659. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mod.js.map +1 -0
  1660. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/moments.js +38 -0
  1661. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/moments.js.map +1 -0
  1662. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mul.js +32 -0
  1663. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/mul.js.map +1 -0
  1664. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/neg.js +29 -0
  1665. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/neg.js.map +1 -0
  1666. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js +26 -0
  1667. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js.map +1 -0
  1668. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/norm.js +73 -0
  1669. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/norm.js.map +1 -0
  1670. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js +33 -0
  1671. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js.map +1 -0
  1672. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js +31 -0
  1673. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js.map +1 -0
  1674. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ones.js +32 -0
  1675. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ones.js.map +1 -0
  1676. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ones_like.js +29 -0
  1677. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ones_like.js.map +1 -0
  1678. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/operation.js +42 -0
  1679. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/operation.js.map +1 -0
  1680. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ops.js +60 -0
  1681. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ops.js.map +1 -0
  1682. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/pad.js +32 -0
  1683. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/pad.js.map +1 -0
  1684. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/pool.js +49 -0
  1685. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/pool.js.map +1 -0
  1686. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/pow.js +32 -0
  1687. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/pow.js.map +1 -0
  1688. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js +29 -0
  1689. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js.map +1 -0
  1690. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/print.js +23 -0
  1691. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/print.js.map +1 -0
  1692. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/prod.js +32 -0
  1693. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/prod.js.map +1 -0
  1694. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ragged_to_dense_util.js +83 -0
  1695. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/ragged_to_dense_util.js.map +1 -0
  1696. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js +67 -0
  1697. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js.map +1 -0
  1698. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/random_normal.js +33 -0
  1699. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/random_normal.js.map +1 -0
  1700. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js +32 -0
  1701. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js.map +1 -0
  1702. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/range.js +28 -0
  1703. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/range.js.map +1 -0
  1704. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/real.js +29 -0
  1705. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/real.js.map +1 -0
  1706. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reciprocal.js +29 -0
  1707. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reciprocal.js.map +1 -0
  1708. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js +26 -0
  1709. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js.map +1 -0
  1710. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/relu.js +29 -0
  1711. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/relu.js.map +1 -0
  1712. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js +29 -0
  1713. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js.map +1 -0
  1714. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js +29 -0
  1715. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js.map +1 -0
  1716. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js +29 -0
  1717. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js.map +1 -0
  1718. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/rotate_util.js +24 -0
  1719. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/rotate_util.js.map +1 -0
  1720. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/round.js +29 -0
  1721. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/round.js.map +1 -0
  1722. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js +29 -0
  1723. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js.map +1 -0
  1724. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js +29 -0
  1725. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js.map +1 -0
  1726. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js +47 -0
  1727. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js.map +1 -0
  1728. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js +60 -0
  1729. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js.map +1 -0
  1730. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/selu.js +29 -0
  1731. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/selu.js.map +1 -0
  1732. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/selu_util.js +22 -0
  1733. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/selu_util.js.map +1 -0
  1734. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js +22 -0
  1735. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js.map +1 -0
  1736. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js +29 -0
  1737. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js.map +1 -0
  1738. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sign.js +29 -0
  1739. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sign.js.map +1 -0
  1740. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sin.js +29 -0
  1741. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sin.js.map +1 -0
  1742. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js +29 -0
  1743. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js.map +1 -0
  1744. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice.js +32 -0
  1745. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice.js.map +1 -0
  1746. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice1d.js +29 -0
  1747. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice1d.js.map +1 -0
  1748. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice2d.js +29 -0
  1749. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice2d.js.map +1 -0
  1750. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice3d.js +29 -0
  1751. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice3d.js.map +1 -0
  1752. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice4d.js +29 -0
  1753. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice4d.js.map +1 -0
  1754. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js +268 -0
  1755. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js.map +1 -0
  1756. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/softmax.js +32 -0
  1757. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/softmax.js.map +1 -0
  1758. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js +29 -0
  1759. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js.map +1 -0
  1760. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js +32 -0
  1761. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js.map +1 -0
  1762. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_fill_empty_rows_util.js +32 -0
  1763. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_fill_empty_rows_util.js.map +1 -0
  1764. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_reshape_util.js +43 -0
  1765. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_reshape_util.js.map +1 -0
  1766. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_segment_reduction_util.js +35 -0
  1767. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_segment_reduction_util.js.map +1 -0
  1768. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js +30 -0
  1769. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js.map +1 -0
  1770. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js +30 -0
  1771. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js.map +1 -0
  1772. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/irfft.js +48 -0
  1773. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/irfft.js.map +1 -0
  1774. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js +49 -0
  1775. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js.map +1 -0
  1776. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/split.js +29 -0
  1777. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/split.js.map +1 -0
  1778. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js +21 -0
  1779. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js.map +1 -0
  1780. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js +29 -0
  1781. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js.map +1 -0
  1782. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/square.js +28 -0
  1783. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/square.js.map +1 -0
  1784. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js +33 -0
  1785. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js.map +1 -0
  1786. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js +29 -0
  1787. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js.map +1 -0
  1788. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/stack.js +32 -0
  1789. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/stack.js.map +1 -0
  1790. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/step.js +29 -0
  1791. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/step.js.map +1 -0
  1792. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/strided_slice.js +38 -0
  1793. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/strided_slice.js.map +1 -0
  1794. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sub.js +32 -0
  1795. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sub.js.map +1 -0
  1796. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sum.js +32 -0
  1797. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/sum.js.map +1 -0
  1798. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tan.js +29 -0
  1799. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tan.js.map +1 -0
  1800. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js +29 -0
  1801. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js.map +1 -0
  1802. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js +26 -0
  1803. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js.map +1 -0
  1804. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js +30 -0
  1805. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js.map +1 -0
  1806. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js +33 -0
  1807. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js.map +1 -0
  1808. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js +47 -0
  1809. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js.map +1 -0
  1810. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tile.js +32 -0
  1811. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/tile.js.map +1 -0
  1812. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/topk.js +37 -0
  1813. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/topk.js.map +1 -0
  1814. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js +43 -0
  1815. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js.map +1 -0
  1816. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/truncated_normal.js +33 -0
  1817. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/truncated_normal.js.map +1 -0
  1818. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/unique.js +32 -0
  1819. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/unique.js.map +1 -0
  1820. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js +32 -0
  1821. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js.map +1 -0
  1822. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js +32 -0
  1823. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js.map +1 -0
  1824. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/variable.js +24 -0
  1825. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/variable.js.map +1 -0
  1826. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/where.js +35 -0
  1827. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/where.js.map +1 -0
  1828. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js +31 -0
  1829. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js.map +1 -0
  1830. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js +29 -0
  1831. package/dist/node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js.map +1 -0
  1832. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js +89 -0
  1833. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js.map +1 -0
  1834. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js +78 -0
  1835. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js.map +1 -0
  1836. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js +98 -0
  1837. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js.map +1 -0
  1838. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js +87 -0
  1839. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js.map +1 -0
  1840. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js +82 -0
  1841. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js.map +1 -0
  1842. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js +106 -0
  1843. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js.map +1 -0
  1844. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer_constructors.js +175 -0
  1845. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer_constructors.js.map +1 -0
  1846. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/register_optimizers.js +41 -0
  1847. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/register_optimizers.js.map +1 -0
  1848. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js +107 -0
  1849. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js.map +1 -0
  1850. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js +70 -0
  1851. package/dist/node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js.map +1 -0
  1852. package/dist/node_modules/@tensorflow/tfjs-core/dist/platforms/is_typed_array_browser.js +23 -0
  1853. package/dist/node_modules/@tensorflow/tfjs-core/dist/platforms/is_typed_array_browser.js.map +1 -0
  1854. package/dist/node_modules/@tensorflow/tfjs-core/dist/platforms/platform_browser.js +78 -0
  1855. package/dist/node_modules/@tensorflow/tfjs-core/dist/platforms/platform_browser.js.map +1 -0
  1856. package/dist/node_modules/@tensorflow/tfjs-core/dist/platforms/platform_node.js +51 -0
  1857. package/dist/node_modules/@tensorflow/tfjs-core/dist/platforms/platform_node.js.map +1 -0
  1858. package/dist/node_modules/@tensorflow/tfjs-core/dist/profiler.js +92 -0
  1859. package/dist/node_modules/@tensorflow/tfjs-core/dist/profiler.js.map +1 -0
  1860. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/abs.js +22 -0
  1861. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/abs.js.map +1 -0
  1862. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acos.js +22 -0
  1863. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acos.js.map +1 -0
  1864. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acosh.js +22 -0
  1865. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acosh.js.map +1 -0
  1866. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/add.js +22 -0
  1867. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/add.js.map +1 -0
  1868. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/all.js +22 -0
  1869. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/all.js.map +1 -0
  1870. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/any.js +22 -0
  1871. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/any.js.map +1 -0
  1872. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_max.js +22 -0
  1873. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_max.js.map +1 -0
  1874. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_min.js +22 -0
  1875. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_min.js.map +1 -0
  1876. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as1d.js +22 -0
  1877. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as1d.js.map +1 -0
  1878. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as2d.js +22 -0
  1879. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as2d.js.map +1 -0
  1880. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as3d.js +22 -0
  1881. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as3d.js.map +1 -0
  1882. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as4d.js +22 -0
  1883. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as4d.js.map +1 -0
  1884. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as5d.js +22 -0
  1885. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as5d.js.map +1 -0
  1886. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_scalar.js +23 -0
  1887. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_scalar.js.map +1 -0
  1888. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_type.js +22 -0
  1889. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_type.js.map +1 -0
  1890. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asin.js +22 -0
  1891. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asin.js.map +1 -0
  1892. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asinh.js +22 -0
  1893. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asinh.js.map +1 -0
  1894. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan.js +22 -0
  1895. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan.js.map +1 -0
  1896. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan2.js +22 -0
  1897. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan2.js.map +1 -0
  1898. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atanh.js +22 -0
  1899. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atanh.js.map +1 -0
  1900. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/avg_pool.js +6 -0
  1901. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/avg_pool.js.map +1 -0
  1902. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batch_to_space_nd.js +22 -0
  1903. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batch_to_space_nd.js.map +1 -0
  1904. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batchnorm.js +22 -0
  1905. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batchnorm.js.map +1 -0
  1906. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/broadcast_to.js +22 -0
  1907. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/broadcast_to.js.map +1 -0
  1908. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cast.js +22 -0
  1909. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cast.js.map +1 -0
  1910. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ceil.js +22 -0
  1911. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ceil.js.map +1 -0
  1912. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/clip_by_value.js +22 -0
  1913. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/clip_by_value.js.map +1 -0
  1914. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/concat.js +22 -0
  1915. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/concat.js.map +1 -0
  1916. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv1d.js +22 -0
  1917. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv1d.js.map +1 -0
  1918. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d.js +22 -0
  1919. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d.js.map +1 -0
  1920. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d_transpose.js +22 -0
  1921. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d_transpose.js.map +1 -0
  1922. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cos.js +22 -0
  1923. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cos.js.map +1 -0
  1924. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cosh.js +22 -0
  1925. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cosh.js.map +1 -0
  1926. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumprod.js +22 -0
  1927. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumprod.js.map +1 -0
  1928. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumsum.js +22 -0
  1929. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumsum.js.map +1 -0
  1930. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depth_to_space.js +22 -0
  1931. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depth_to_space.js.map +1 -0
  1932. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depthwise_conv2d.js +22 -0
  1933. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depthwise_conv2d.js.map +1 -0
  1934. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dilation2d.js +22 -0
  1935. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dilation2d.js.map +1 -0
  1936. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div.js +22 -0
  1937. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div.js.map +1 -0
  1938. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div_no_nan.js +22 -0
  1939. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div_no_nan.js.map +1 -0
  1940. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dot.js +22 -0
  1941. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dot.js.map +1 -0
  1942. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/elu.js +22 -0
  1943. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/elu.js.map +1 -0
  1944. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/equal.js +22 -0
  1945. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/equal.js.map +1 -0
  1946. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/erf.js +22 -0
  1947. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/erf.js.map +1 -0
  1948. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/euclidean_norm.js +22 -0
  1949. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/euclidean_norm.js.map +1 -0
  1950. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/exp.js +22 -0
  1951. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/exp.js.map +1 -0
  1952. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expand_dims.js +22 -0
  1953. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expand_dims.js.map +1 -0
  1954. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expm1.js +22 -0
  1955. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expm1.js.map +1 -0
  1956. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/fft.js +22 -0
  1957. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/fft.js.map +1 -0
  1958. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/flatten.js +22 -0
  1959. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/flatten.js.map +1 -0
  1960. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floor.js +22 -0
  1961. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floor.js.map +1 -0
  1962. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floorDiv.js +22 -0
  1963. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floorDiv.js.map +1 -0
  1964. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/gather.js +22 -0
  1965. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/gather.js.map +1 -0
  1966. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater.js +22 -0
  1967. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater.js.map +1 -0
  1968. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater_equal.js +22 -0
  1969. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater_equal.js.map +1 -0
  1970. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ifft.js +22 -0
  1971. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ifft.js.map +1 -0
  1972. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/irfft.js +22 -0
  1973. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/irfft.js.map +1 -0
  1974. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_finite.js +22 -0
  1975. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_finite.js.map +1 -0
  1976. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_inf.js +22 -0
  1977. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_inf.js.map +1 -0
  1978. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_nan.js +22 -0
  1979. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_nan.js.map +1 -0
  1980. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/leaky_relu.js +22 -0
  1981. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/leaky_relu.js.map +1 -0
  1982. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less.js +22 -0
  1983. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less.js.map +1 -0
  1984. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less_equal.js +22 -0
  1985. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less_equal.js.map +1 -0
  1986. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/local_response_normalization.js +22 -0
  1987. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/local_response_normalization.js.map +1 -0
  1988. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log.js +22 -0
  1989. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log.js.map +1 -0
  1990. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log1p.js +22 -0
  1991. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log1p.js.map +1 -0
  1992. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sigmoid.js +22 -0
  1993. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sigmoid.js.map +1 -0
  1994. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_softmax.js +22 -0
  1995. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_softmax.js.map +1 -0
  1996. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sum_exp.js +22 -0
  1997. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sum_exp.js.map +1 -0
  1998. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_and.js +22 -0
  1999. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_and.js.map +1 -0
  2000. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_not.js +22 -0
  2001. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_not.js.map +1 -0
  2002. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_or.js +22 -0
  2003. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_or.js.map +1 -0
  2004. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_xor.js +22 -0
  2005. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_xor.js.map +1 -0
  2006. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mat_mul.js +22 -0
  2007. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mat_mul.js.map +1 -0
  2008. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max.js +22 -0
  2009. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max.js.map +1 -0
  2010. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max_pool.js +6 -0
  2011. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max_pool.js.map +1 -0
  2012. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/maximum.js +22 -0
  2013. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/maximum.js.map +1 -0
  2014. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mean.js +22 -0
  2015. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mean.js.map +1 -0
  2016. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/min.js +22 -0
  2017. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/min.js.map +1 -0
  2018. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/minimum.js +22 -0
  2019. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/minimum.js.map +1 -0
  2020. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mirror_pad.js +22 -0
  2021. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mirror_pad.js.map +1 -0
  2022. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mod.js +22 -0
  2023. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mod.js.map +1 -0
  2024. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mul.js +22 -0
  2025. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mul.js.map +1 -0
  2026. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/neg.js +22 -0
  2027. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/neg.js.map +1 -0
  2028. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/norm.js +22 -0
  2029. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/norm.js.map +1 -0
  2030. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/not_equal.js +22 -0
  2031. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/not_equal.js.map +1 -0
  2032. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/one_hot.js +22 -0
  2033. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/one_hot.js.map +1 -0
  2034. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ones_like.js +22 -0
  2035. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ones_like.js.map +1 -0
  2036. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pad.js +22 -0
  2037. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pad.js.map +1 -0
  2038. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pool.js +6 -0
  2039. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pool.js.map +1 -0
  2040. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pow.js +22 -0
  2041. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pow.js.map +1 -0
  2042. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prelu.js +22 -0
  2043. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prelu.js.map +1 -0
  2044. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prod.js +22 -0
  2045. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prod.js.map +1 -0
  2046. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reciprocal.js +22 -0
  2047. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reciprocal.js.map +1 -0
  2048. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu.js +22 -0
  2049. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu.js.map +1 -0
  2050. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu6.js +22 -0
  2051. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu6.js.map +1 -0
  2052. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape.js +22 -0
  2053. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape.js.map +1 -0
  2054. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape_as.js +22 -0
  2055. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape_as.js.map +1 -0
  2056. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_bilinear.js +22 -0
  2057. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_bilinear.js.map +1 -0
  2058. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_nearest_neighbor.js +22 -0
  2059. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_nearest_neighbor.js.map +1 -0
  2060. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reverse.js +22 -0
  2061. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reverse.js.map +1 -0
  2062. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rfft.js +22 -0
  2063. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rfft.js.map +1 -0
  2064. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/round.js +22 -0
  2065. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/round.js.map +1 -0
  2066. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rsqrt.js +22 -0
  2067. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rsqrt.js.map +1 -0
  2068. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/selu.js +22 -0
  2069. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/selu.js.map +1 -0
  2070. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/separable_conv2d.js +22 -0
  2071. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/separable_conv2d.js.map +1 -0
  2072. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sigmoid.js +22 -0
  2073. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sigmoid.js.map +1 -0
  2074. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sign.js +22 -0
  2075. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sign.js.map +1 -0
  2076. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sin.js +22 -0
  2077. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sin.js.map +1 -0
  2078. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sinh.js +22 -0
  2079. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sinh.js.map +1 -0
  2080. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/slice.js +22 -0
  2081. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/slice.js.map +1 -0
  2082. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softmax.js +22 -0
  2083. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softmax.js.map +1 -0
  2084. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softplus.js +22 -0
  2085. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softplus.js.map +1 -0
  2086. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/space_to_batch_nd.js +22 -0
  2087. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/space_to_batch_nd.js.map +1 -0
  2088. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/split.js +22 -0
  2089. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/split.js.map +1 -0
  2090. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sqrt.js +22 -0
  2091. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sqrt.js.map +1 -0
  2092. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/square.js +22 -0
  2093. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/square.js.map +1 -0
  2094. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squared_difference.js +22 -0
  2095. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squared_difference.js.map +1 -0
  2096. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squeeze.js +22 -0
  2097. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squeeze.js.map +1 -0
  2098. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/stack.js +24 -0
  2099. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/stack.js.map +1 -0
  2100. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/step.js +22 -0
  2101. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/step.js.map +1 -0
  2102. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/strided_slice.js +22 -0
  2103. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/strided_slice.js.map +1 -0
  2104. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sub.js +22 -0
  2105. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sub.js.map +1 -0
  2106. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sum.js +22 -0
  2107. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sum.js.map +1 -0
  2108. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tan.js +22 -0
  2109. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tan.js.map +1 -0
  2110. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tanh.js +22 -0
  2111. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tanh.js.map +1 -0
  2112. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tile.js +22 -0
  2113. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tile.js.map +1 -0
  2114. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_bool.js +22 -0
  2115. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_bool.js.map +1 -0
  2116. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_float.js +22 -0
  2117. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_float.js.map +1 -0
  2118. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_int.js +22 -0
  2119. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_int.js.map +1 -0
  2120. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/topk.js +22 -0
  2121. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/topk.js.map +1 -0
  2122. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/transpose.js +22 -0
  2123. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/transpose.js.map +1 -0
  2124. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unique.js +22 -0
  2125. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unique.js.map +1 -0
  2126. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unsorted_segment_sum.js +22 -0
  2127. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unsorted_segment_sum.js.map +1 -0
  2128. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unstack.js +22 -0
  2129. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unstack.js.map +1 -0
  2130. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/where.js +22 -0
  2131. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/where.js.map +1 -0
  2132. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/zeros_like.js +22 -0
  2133. package/dist/node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/zeros_like.js.map +1 -0
  2134. package/dist/node_modules/@tensorflow/tfjs-core/dist/register_all_gradients.js +228 -0
  2135. package/dist/node_modules/@tensorflow/tfjs-core/dist/register_all_gradients.js.map +1 -0
  2136. package/dist/node_modules/@tensorflow/tfjs-core/dist/serialization.js +74 -0
  2137. package/dist/node_modules/@tensorflow/tfjs-core/dist/serialization.js.map +1 -0
  2138. package/dist/node_modules/@tensorflow/tfjs-core/dist/tape.js +94 -0
  2139. package/dist/node_modules/@tensorflow/tfjs-core/dist/tape.js.map +1 -0
  2140. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor.js +320 -0
  2141. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor.js.map +1 -0
  2142. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor_format.js +123 -0
  2143. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor_format.js.map +1 -0
  2144. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor_util.js +51 -0
  2145. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor_util.js.map +1 -0
  2146. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js +80 -0
  2147. package/dist/node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js.map +1 -0
  2148. package/dist/node_modules/@tensorflow/tfjs-core/dist/train.js +22 -0
  2149. package/dist/node_modules/@tensorflow/tfjs-core/dist/train.js.map +1 -0
  2150. package/dist/node_modules/@tensorflow/tfjs-core/dist/types.js +67 -0
  2151. package/dist/node_modules/@tensorflow/tfjs-core/dist/types.js.map +1 -0
  2152. package/dist/node_modules/@tensorflow/tfjs-core/dist/util.js +120 -0
  2153. package/dist/node_modules/@tensorflow/tfjs-core/dist/util.js.map +1 -0
  2154. package/dist/node_modules/@tensorflow/tfjs-core/dist/util_base.js +340 -0
  2155. package/dist/node_modules/@tensorflow/tfjs-core/dist/util_base.js.map +1 -0
  2156. package/dist/node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js +27 -0
  2157. package/dist/node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js.map +1 -0
  2158. package/dist/node_modules/@tensorflow/tfjs-layers/dist/activations.js +244 -0
  2159. package/dist/node_modules/@tensorflow/tfjs-layers/dist/activations.js.map +1 -0
  2160. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/common.js +23 -0
  2161. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/common.js.map +1 -0
  2162. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/random_seed.js +23 -0
  2163. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/random_seed.js.map +1 -0
  2164. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/state.js +22 -0
  2165. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/state.js.map +1 -0
  2166. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js +292 -0
  2167. package/dist/node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js.map +1 -0
  2168. package/dist/node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js +314 -0
  2169. package/dist/node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js.map +1 -0
  2170. package/dist/node_modules/@tensorflow/tfjs-layers/dist/common.js +68 -0
  2171. package/dist/node_modules/@tensorflow/tfjs-layers/dist/common.js.map +1 -0
  2172. package/dist/node_modules/@tensorflow/tfjs-layers/dist/constraints.js +118 -0
  2173. package/dist/node_modules/@tensorflow/tfjs-layers/dist/constraints.js.map +1 -0
  2174. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/base_random_layer.js +27 -0
  2175. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/base_random_layer.js.map +1 -0
  2176. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/container.js +640 -0
  2177. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/container.js.map +1 -0
  2178. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/executor.js +239 -0
  2179. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/executor.js.map +1 -0
  2180. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js +81 -0
  2181. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js.map +1 -0
  2182. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js +780 -0
  2183. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js.map +1 -0
  2184. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training.js +1184 -0
  2185. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training.js.map +1 -0
  2186. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training_dataset.js +192 -0
  2187. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training_dataset.js.map +1 -0
  2188. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training_tensors.js +84 -0
  2189. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training_tensors.js.map +1 -0
  2190. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training_utils.js +70 -0
  2191. package/dist/node_modules/@tensorflow/tfjs-layers/dist/engine/training_utils.js.map +1 -0
  2192. package/dist/node_modules/@tensorflow/tfjs-layers/dist/errors.js +42 -0
  2193. package/dist/node_modules/@tensorflow/tfjs-layers/dist/errors.js.map +1 -0
  2194. package/dist/node_modules/@tensorflow/tfjs-layers/dist/exports.js +22 -0
  2195. package/dist/node_modules/@tensorflow/tfjs-layers/dist/exports.js.map +1 -0
  2196. package/dist/node_modules/@tensorflow/tfjs-layers/dist/exports_layers.js +62 -0
  2197. package/dist/node_modules/@tensorflow/tfjs-layers/dist/exports_layers.js.map +1 -0
  2198. package/dist/node_modules/@tensorflow/tfjs-layers/dist/flags_layers.js +25 -0
  2199. package/dist/node_modules/@tensorflow/tfjs-layers/dist/flags_layers.js.map +1 -0
  2200. package/dist/node_modules/@tensorflow/tfjs-layers/dist/initializers.js +386 -0
  2201. package/dist/node_modules/@tensorflow/tfjs-layers/dist/initializers.js.map +1 -0
  2202. package/dist/node_modules/@tensorflow/tfjs-layers/dist/keras_format/common.js +18 -0
  2203. package/dist/node_modules/@tensorflow/tfjs-layers/dist/keras_format/common.js.map +1 -0
  2204. package/dist/node_modules/@tensorflow/tfjs-layers/dist/keras_format/initializer_config.js +15 -0
  2205. package/dist/node_modules/@tensorflow/tfjs-layers/dist/keras_format/initializer_config.js.map +1 -0
  2206. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/advanced_activations.js +184 -0
  2207. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/advanced_activations.js.map +1 -0
  2208. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js +452 -0
  2209. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js.map +1 -0
  2210. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_depthwise.js +77 -0
  2211. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_depthwise.js.map +1 -0
  2212. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_recurrent.js +197 -0
  2213. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_recurrent.js.map +1 -0
  2214. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/core.js +328 -0
  2215. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/core.js.map +1 -0
  2216. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/embeddings.js +87 -0
  2217. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/embeddings.js.map +1 -0
  2218. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/merge.js +439 -0
  2219. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/merge.js.map +1 -0
  2220. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/noise.js +102 -0
  2221. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/noise.js.map +1 -0
  2222. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/normalization.js +186 -0
  2223. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/normalization.js.map +1 -0
  2224. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/padding.js +75 -0
  2225. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/padding.js.map +1 -0
  2226. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/pooling.js +308 -0
  2227. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/pooling.js.map +1 -0
  2228. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/category_encoding.js +58 -0
  2229. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/category_encoding.js.map +1 -0
  2230. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/center_crop.js +70 -0
  2231. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/center_crop.js.map +1 -0
  2232. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/image_preprocessing.js +38 -0
  2233. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/image_preprocessing.js.map +1 -0
  2234. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/image_resizing.js +59 -0
  2235. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/image_resizing.js.map +1 -0
  2236. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/preprocessing_utils.js +35 -0
  2237. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/preprocessing_utils.js.map +1 -0
  2238. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/random_width.js +81 -0
  2239. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/preprocessing/random_width.js.map +1 -0
  2240. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js +682 -0
  2241. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js.map +1 -0
  2242. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js +19 -0
  2243. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js.map +1 -0
  2244. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/wrappers.js +243 -0
  2245. package/dist/node_modules/@tensorflow/tfjs-layers/dist/layers/wrappers.js.map +1 -0
  2246. package/dist/node_modules/@tensorflow/tfjs-layers/dist/logs.js +41 -0
  2247. package/dist/node_modules/@tensorflow/tfjs-layers/dist/logs.js.map +1 -0
  2248. package/dist/node_modules/@tensorflow/tfjs-layers/dist/losses.js +184 -0
  2249. package/dist/node_modules/@tensorflow/tfjs-layers/dist/losses.js.map +1 -0
  2250. package/dist/node_modules/@tensorflow/tfjs-layers/dist/metrics.js +116 -0
  2251. package/dist/node_modules/@tensorflow/tfjs-layers/dist/metrics.js.map +1 -0
  2252. package/dist/node_modules/@tensorflow/tfjs-layers/dist/models.js +558 -0
  2253. package/dist/node_modules/@tensorflow/tfjs-layers/dist/models.js.map +1 -0
  2254. package/dist/node_modules/@tensorflow/tfjs-layers/dist/optimizers.js +30 -0
  2255. package/dist/node_modules/@tensorflow/tfjs-layers/dist/optimizers.js.map +1 -0
  2256. package/dist/node_modules/@tensorflow/tfjs-layers/dist/regularizers.js +76 -0
  2257. package/dist/node_modules/@tensorflow/tfjs-layers/dist/regularizers.js.map +1 -0
  2258. package/dist/node_modules/@tensorflow/tfjs-layers/dist/user_defined_metadata.js +46 -0
  2259. package/dist/node_modules/@tensorflow/tfjs-layers/dist/user_defined_metadata.js.map +1 -0
  2260. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js +48 -0
  2261. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js.map +1 -0
  2262. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/executor_utils.js +58 -0
  2263. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/executor_utils.js.map +1 -0
  2264. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js +180 -0
  2265. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js.map +1 -0
  2266. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/layer_utils.js +118 -0
  2267. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/layer_utils.js.map +1 -0
  2268. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js +56 -0
  2269. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js.map +1 -0
  2270. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js +69 -0
  2271. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js.map +1 -0
  2272. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js +41 -0
  2273. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js.map +1 -0
  2274. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/variable_utils.js +19 -0
  2275. package/dist/node_modules/@tensorflow/tfjs-layers/dist/utils/variable_utils.js.map +1 -0
  2276. package/dist/node_modules/@tensorflow/tfjs-layers/dist/variables.js +87 -0
  2277. package/dist/node_modules/@tensorflow/tfjs-layers/dist/variables.js.map +1 -0
  2278. package/dist/node_modules/@tensorflow/tfjs-layers/dist/version.js +6 -0
  2279. package/dist/node_modules/@tensorflow/tfjs-layers/dist/version.js.map +1 -0
  2280. package/dist/node_modules/long/src/long.js +675 -0
  2281. package/dist/node_modules/long/src/long.js.map +1 -0
  2282. package/dist/node_modules/seedrandom/index.js +19 -0
  2283. package/dist/node_modules/seedrandom/index.js.map +1 -0
  2284. package/dist/node_modules/seedrandom/lib/alea.js +48 -0
  2285. package/dist/node_modules/seedrandom/lib/alea.js.map +1 -0
  2286. package/dist/node_modules/seedrandom/lib/tychei.js +41 -0
  2287. package/dist/node_modules/seedrandom/lib/tychei.js.map +1 -0
  2288. package/dist/node_modules/seedrandom/lib/xor128.js +41 -0
  2289. package/dist/node_modules/seedrandom/lib/xor128.js.map +1 -0
  2290. package/dist/node_modules/seedrandom/lib/xor4096.js +50 -0
  2291. package/dist/node_modules/seedrandom/lib/xor4096.js.map +1 -0
  2292. package/dist/node_modules/seedrandom/lib/xorshift7.js +53 -0
  2293. package/dist/node_modules/seedrandom/lib/xorshift7.js.map +1 -0
  2294. package/dist/node_modules/seedrandom/lib/xorwow.js +41 -0
  2295. package/dist/node_modules/seedrandom/lib/xorwow.js.map +1 -0
  2296. package/dist/node_modules/seedrandom/seedrandom.js +99 -0
  2297. package/dist/node_modules/seedrandom/seedrandom.js.map +1 -0
  2298. package/package.json +4 -1
  2299. package/dist/features/trial-session/comps/learning-plan/index.js +0 -353
  2300. package/dist/features/trial-session/comps/learning-plan/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sources":["../../../../../node_modules/@tensorflow/tfjs-layers/dist/models.js"],"sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n *\n * Use of this source code is governed by an MIT-style\n * license that can be found in the LICENSE file or at\n * https://opensource.org/licenses/MIT.\n * =============================================================================\n */\n/* Original source keras/models.py */\nimport { dispose, io, serialization, util } from '@tensorflow/tfjs-core';\nimport { getUid } from './backend/state';\nimport { Input } from './engine/input_layer';\nimport { getSourceInputs, Node } from './engine/topology';\nimport { LayersModel } from './engine/training';\nimport { NotImplementedError, RuntimeError, ValueError } from './errors';\nimport { deserialize } from './layers/serialization';\nimport * as generic_utils from './utils/generic_utils';\nimport { convertPythonicToTs } from './utils/serialization_utils';\nimport { getExactlyOneShape } from './utils/types_utils';\n/**\n * Parses a JSON model configuration file and returns a model instance.\n *\n * ```js\n * // This example shows how to serialize a model using `toJSON()` and\n * // deserialize it as another model using `tf.models.modelFromJSON()`.\n * // Note: this example serializes and deserializes only the topology\n * // of the model; the weights of the loaded model will be different\n * // from those of the the original model, due to random weight\n * // initialization.\n * // To load the topology and weights of a model, use `tf.loadLayersModel()`.\n * const model1 = tf.sequential();\n * model1.add(tf.layers.repeatVector({inputShape: [2], n: 4}));\n * // Serialize `model1` as a JSON object.\n * const model1JSON = model1.toJSON(null, false);\n * model1.summary();\n *\n * const model2 = await tf.models.modelFromJSON(model1JSON);\n * model2.summary();\n * ```\n *\n * @param modelAndWeightsConfig JSON object or string encoding a model and\n * weights configuration. It can also be only the topology JSON of the\n * model, in which case the weights will not be loaded.\n * @param custom_objects Optional dictionary mapping names\n * (strings) to custom classes or functions to be\n * considered during deserialization.\n * @returns A TensorFlow.js Layers `tf.LayersModel` instance (uncompiled).\n */\nexport async function modelFromJSON(modelAndWeightsConfig, customObjects) {\n if (!('modelTopology' in modelAndWeightsConfig)) {\n modelAndWeightsConfig = { modelTopology: modelAndWeightsConfig };\n }\n modelAndWeightsConfig = modelAndWeightsConfig;\n let modelTopology = modelAndWeightsConfig.modelTopology;\n if (modelTopology['model_config'] != null) {\n // If the model-topology JSON contains a 'model_config' field, then it is\n // a full model JSON (e.g., from `keras.Model.save()`), which contains\n // not only the model's architecture in its 'model_config' field, but\n // additional information such as the model's optimizer. We use only the\n // 'model_config' field currently.\n modelTopology = modelTopology['model_config'];\n }\n const tsConfig = convertPythonicToTs(modelTopology);\n const model = deserialize(tsConfig, customObjects);\n if (modelAndWeightsConfig.weightsManifest != null) {\n // Load the weight values keyed by the original tensor names in the model\n // file that was loaded. These should match the keys of the weight\n // manifest.\n const weightValues = await io.loadWeights(modelAndWeightsConfig.weightsManifest, modelAndWeightsConfig.pathPrefix, model.weights.map(weight => weight.originalName));\n // Map the weights to the unique tensor names generated during model loading\n const uniqueWeightValues = {};\n for (const weight of model.weights) {\n uniqueWeightValues[weight.originalName] =\n weightValues[weight.originalName];\n }\n model.loadWeights(uniqueWeightValues);\n // Dispose temporary weight values.\n dispose(weightValues);\n }\n return model;\n}\n/**\n * Load a model composed of Layer objects, including its topology and optionally\n * weights. See the Tutorial named \"How to import a Keras Model\" for usage\n * examples.\n *\n * This method is applicable to:\n *\n * 1. Models created with the `tf.layers.*`, `tf.sequential`, and\n * `tf.model` APIs of TensorFlow.js and later saved with the\n * `tf.LayersModel.save` method.\n * 2. Models converted from Keras or TensorFlow tf.keras using the\n * [tensorflowjs_converter](https://github.com/tensorflow/tfjs/tree/master/tfjs-converter).\n *\n * This mode is *not* applicable to TensorFlow `SavedModel`s or their converted\n * forms. For those models, use `tf.loadGraphModel`.\n *\n * Example 1. Load a model from an HTTP server.\n *\n * ```js\n * const model = await tf.loadLayersModel(\n * 'https://storage.googleapis.com/tfjs-models/tfjs/iris_v1/model.json');\n * model.summary();\n * ```\n *\n * Example 2: Save `model`'s topology and weights to browser [local\n * storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage);\n * then load it back.\n *\n * ```js\n * const model = tf.sequential(\n * {layers: [tf.layers.dense({units: 1, inputShape: [3]})]});\n * console.log('Prediction from original model:');\n * model.predict(tf.ones([1, 3])).print();\n *\n * const saveResults = await model.save('localstorage://my-model-1');\n *\n * const loadedModel = await tf.loadLayersModel('localstorage://my-model-1');\n * console.log('Prediction from loaded model:');\n * loadedModel.predict(tf.ones([1, 3])).print();\n * ```\n *\n * Example 3. Saving `model`'s topology and weights to browser\n * [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API);\n * then load it back.\n *\n * ```js\n * const model = tf.sequential(\n * {layers: [tf.layers.dense({units: 1, inputShape: [3]})]});\n * console.log('Prediction from original model:');\n * model.predict(tf.ones([1, 3])).print();\n *\n * const saveResults = await model.save('indexeddb://my-model-1');\n *\n * const loadedModel = await tf.loadLayersModel('indexeddb://my-model-1');\n * console.log('Prediction from loaded model:');\n * loadedModel.predict(tf.ones([1, 3])).print();\n * ```\n *\n * Example 4. Load a model from user-selected files from HTML\n * [file input\n * elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file).\n *\n * ```js\n * // Note: this code snippet will not work without the HTML elements in the\n * // page\n * const jsonUpload = document.getElementById('json-upload');\n * const weightsUpload = document.getElementById('weights-upload');\n *\n * const model = await tf.loadLayersModel(\n * tf.io.browserFiles([jsonUpload.files[0], weightsUpload.files[0]]));\n * ```\n *\n * @param pathOrIOHandler Can be either of the two formats\n * 1. A string path to the `ModelAndWeightsConfig` JSON describing\n * the model in the canonical TensorFlow.js format. For file://\n * (tfjs-node-only), http:// and https:// schemas, the path can be\n * either absolute or relative. The content of the JSON file is assumed to\n * be a JSON object with the following fields and values:\n * - 'modelTopology': A JSON object that can be either of:\n * 1. a model architecture JSON consistent with the format of the return\n * value of `keras.Model.to_json()`\n * 2. a full model JSON in the format of `keras.models.save_model()`.\n * - 'weightsManifest': A TensorFlow.js weights manifest.\n * See the Python converter function `save_model()` for more details.\n * It is also assumed that model weights can be accessed from relative\n * paths described by the `paths` fields in weights manifest.\n * 2. A `tf.io.IOHandler` object that loads model artifacts with its `load`\n * method.\n * @param options Optional configuration arguments for the model loading,\n * including:\n * - `strict`: Require that the provided weights exactly match those required\n * by the layers. Default true. Passing false means that both extra\n * weights and missing weights will be silently ignored.\n * - `onProgress`: A progress callback of the form:\n * `(fraction: number) => void`. This callback can be used to monitor the\n * model-loading process.\n * @returns A `Promise` of `tf.LayersModel`, with the topology and weights\n * loaded.\n *\n * @doc {heading: 'Models', subheading: 'Loading'}\n */\nexport async function loadLayersModel(pathOrIOHandler, options) {\n if (options == null) {\n options = {};\n }\n if (typeof pathOrIOHandler === 'string') {\n const handlers = io.getLoadHandlers(pathOrIOHandler, options);\n if (handlers.length === 0) {\n // For backward compatibility: if no load handler can be found,\n // assume it is a relative http path.\n // TODO(cais): Reformat the args into a single `LoadOptions` once the core\n // is refactored.\n handlers.push(io.browserHTTPRequest(pathOrIOHandler, options));\n }\n else if (handlers.length > 1) {\n throw new ValueError(`Found more than one (${handlers.length}) load handlers for ` +\n `URL '${pathOrIOHandler}'`);\n }\n pathOrIOHandler = handlers[0];\n }\n return loadLayersModelFromIOHandler(pathOrIOHandler, undefined, options);\n}\n/**\n * Load a model and optionally its weights, using an IOHandler object.\n *\n * @param handler The instance of `IOHandler` to be used during the model\n * loading.\n * @param customObjects Any optional custom objects to be used during model\n * loading.\n * @param strict Whether the weight loading will be done in strict mode.\n * Default: `true`.\n */\nexport async function loadLayersModelFromIOHandler(handler, customObjects, options) {\n if (options == null) {\n options = {};\n }\n if (handler.load == null) {\n throw new ValueError('Cannot proceed with model loading because the IOHandler provided ' +\n 'does not have the `load` method implemented.');\n }\n const artifacts = await handler.load();\n let modelTopology = artifacts.modelTopology;\n if (modelTopology['model_config'] != null) {\n modelTopology = modelTopology['model_config'];\n }\n const strict = options.strict == null ? true : options.strict;\n // If weights are provided and the weight-loading mode is strict, use\n // fast weight initialization. This skips costly initializers such as\n // 'orthogonal' and saves unnecessary computation in cases where\n // the initialized weight values will immediately be overwritten by\n // loaded weight values.\n const fastWeightInit = artifacts.weightData != null && artifacts.weightSpecs != null && strict;\n const model = deserialize(convertPythonicToTs(modelTopology), customObjects, fastWeightInit);\n const trainingConfig = artifacts.trainingConfig;\n if (trainingConfig != null) {\n model.loadTrainingConfig(trainingConfig);\n }\n if (artifacts.userDefinedMetadata != null) {\n model.setUserDefinedMetadata(artifacts.userDefinedMetadata);\n }\n // If weightData is present, load the weights into the model.\n if (artifacts.weightData != null) {\n // Loading weights requires weightSpecs.\n if (artifacts.weightSpecs == null) {\n throw new ValueError('LayersModel artifacts contains weight data, but not weight specs. ' +\n 'Therefore loading of weights cannot proceed.');\n }\n const { modelWeights, optimizerWeights } = decodeModelAndOptimizerWeights(artifacts.weightData, artifacts.weightSpecs);\n model.loadWeights(modelWeights, strict);\n if (model.optimizer != null && optimizerWeights.length > 0) {\n await model.optimizer.setWeights(optimizerWeights);\n }\n // Dispose temporary weight values.\n dispose(modelWeights);\n dispose(optimizerWeights.map(w => w.tensor));\n }\n return model;\n}\nfunction decodeModelAndOptimizerWeights(weightData, specs) {\n const name2Tensor = io.decodeWeights(weightData, specs);\n const modelWeights = {};\n const optimizerWeights = [];\n specs.forEach(spec => {\n if (spec.group === 'optimizer') {\n optimizerWeights.push({ name: spec.name, tensor: name2Tensor[spec.name] });\n }\n else {\n modelWeights[spec.name] = name2Tensor[spec.name];\n }\n });\n return { modelWeights, optimizerWeights };\n}\n/**\n * A model with a stack of layers, feeding linearly from one to the next.\n *\n * `tf.sequential` is a factory function that creates an instance of\n * `tf.Sequential`.\n *\n * ```js\n * // Define a model for linear regression.\n * const model = tf.sequential();\n * model.add(tf.layers.dense({units: 1, inputShape: [1]}));\n *\n * // Prepare the model for training: Specify the loss and the optimizer.\n * model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});\n *\n * // Generate some synthetic data for training.\n * const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);\n * const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);\n *\n * // Train the model using the data then do inference on a data point the\n * // model hasn't seen:\n * await model.fit(xs, ys);\n * model.predict(tf.tensor2d([5], [1, 1])).print();\n * ```\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\nclass Sequential extends LayersModel {\n constructor(args) {\n super({ inputs: [], outputs: [] });\n args = args || {};\n this.trainable = true;\n this.built = false;\n // Set model name.\n this.name = (args.name != null) ? args.name : getUid('sequential_');\n // Add to the model any layers passed to the constructor.\n if (args.layers != null) {\n for (const layer of args.layers) {\n this.add(layer);\n }\n }\n }\n // Helper function to Sequential.add Throws if the new output shape will be\n // invalid.\n checkShape(layer) {\n const shape = layer.inboundNodes[0].outputTensors[0].shape;\n if (shape.some(x => x < 0)) {\n throw new ValueError('Negative dimension size caused by adding layer ' +\n `${layer.name} with input shape [` +\n `${layer.inboundNodes[0].inputTensors[0].shape}]`);\n }\n }\n /**\n * Adds a layer instance on top of the layer stack.\n *\n * ```js\n * const model = tf.sequential();\n * model.add(tf.layers.dense({units: 8, inputShape: [1]}));\n * model.add(tf.layers.dense({units: 4, activation: 'relu6'}));\n * model.add(tf.layers.dense({units: 1, activation: 'relu6'}));\n * // Note that the untrained model is random at this point.\n * model.predict(tf.randomNormal([10, 1])).print();\n * ```\n * @param layer Layer instance.\n *\n * @exception ValueError In case the `layer` argument does not know its\n * input shape.\n * @exception ValueError In case the `layer` argument has multiple output\n * tensors, or is already connected somewhere else (forbidden in\n * `Sequential` models).\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n add(layer) {\n const isLayerModelInstance = layer instanceof Sequential || layer instanceof LayersModel;\n let modelLayer;\n if (isLayerModelInstance) {\n modelLayer = layer;\n if (modelLayer.outputs.length !== 1) {\n throw new ValueError('All layers in a Sequential model ' +\n 'should have a single output tensor. ' +\n 'For multi-output layers, ' +\n 'use the functional API.');\n }\n if (modelLayer.inputs.length !== 1) {\n throw new ValueError('All layers in a Sequential model ' +\n 'should have a single input tensor. ' +\n 'For multi-input layers, ' +\n 'use the functional API.');\n }\n }\n if (this.outputs.length === 0) {\n // first layer in model: check that it is an input layer\n if (layer.inboundNodes.length === 0) {\n // create an input layer\n if (layer.batchInputShape == null) {\n throw new ValueError('The first layer in a Sequential model must ' +\n 'get an `inputShape` or `batchInputShape` argument.');\n }\n // Instantiate the input layer.\n const x = Input({\n batchShape: layer.batchInputShape,\n dtype: layer.dtype,\n name: layer.name + '_input'\n });\n // This will build the current layer and create the node connecting\n // the current layer to the input layer we just created.\n layer.apply(x);\n }\n if (isLayerModelInstance) {\n this.outputs = modelLayer.outputs;\n this.inputs = modelLayer.inputs;\n }\n else {\n if (layer.inboundNodes.length !== 1) {\n throw new ValueError('A layer added to a Sequential model must not already be ' +\n `connected somewhere else. LayersModel received layer ${layer.name} ` +\n `which has ${layer.inboundNodes.length} pre-existing inbound ` +\n 'connections.');\n }\n if (layer.inboundNodes[0].outputTensors.length !== 1) {\n throw new ValueError('All layers in a Sequential model ' +\n 'should have a single output tensor. ' +\n 'For multi-output layers, ' +\n 'use the functional API.');\n }\n this.checkShape(layer);\n this.outputs = [layer.inboundNodes[0].outputTensors[0]];\n this.inputs = getSourceInputs(this.outputs[0]);\n }\n this.inboundNodes = [];\n // We create an input node, which we will keep updated\n // as we add more layers.\n // (This call has side effects.)\n // tslint:disable-next-line:no-unused-expression\n new Node({\n outboundLayer: this,\n inboundLayers: [],\n nodeIndices: [],\n tensorIndices: [],\n inputTensors: this.inputs,\n outputTensors: this.outputs,\n // no model-level masking for now\n inputMasks: generic_utils.pyListRepeat(null, this.inputs.length),\n outputMasks: [null],\n inputShapes: this.inputs.map(x => x.shape),\n outputShapes: this.outputs[0].shape\n });\n }\n else {\n const outputTensor = layer.apply(this.outputs[0]);\n if (Array.isArray(outputTensor)) {\n throw new TypeError('All layers in a Sequential model ' +\n 'should have a single output tensor. ' +\n 'For multi-output layers, ' +\n 'use the functional API.');\n }\n this.checkShape(layer);\n this.outputs = [outputTensor];\n // update self.inbound_nodes\n this.inboundNodes[0].outputTensors = this.outputs;\n this.inboundNodes[0].outputShapes = [this.outputs[0].shape];\n }\n this.layers.push(layer);\n this.built = false;\n }\n /**\n * Removes the last layer in the model.\n *\n * @exception TypeError if there are no layers in the model.\n */\n pop() {\n if (this.layers.length === 0) {\n throw new TypeError('There are no layers in the model.');\n }\n this.layers.pop();\n if (this.layers.length === 0) {\n this.outputs = [];\n this.inboundNodes = [];\n this.outboundNodes = [];\n }\n else {\n const lastLayerIndex = this.layers.length - 1;\n this.layers[lastLayerIndex].outboundNodes = [];\n this.outputs = [this.layers[lastLayerIndex].output];\n // update self.inbound_nodes\n this.inboundNodes[0].outputTensors = this.outputs;\n this.inboundNodes[0].outputShapes = [this.outputs[0].shape];\n }\n }\n call(inputs, kwargs) {\n if (this.model == null) {\n this.build();\n }\n return this.model.call(inputs, kwargs);\n }\n build(inputShape) {\n // Call `getExactlyOneShape` without using its return value,\n // to verify that exactly one input shape is provided.\n getExactlyOneShape(inputShape);\n if (this.inputs.length === 0 || this.outputs.length === 0) {\n throw new TypeError('Sequential model cannot be built: model is empty.' +\n ' Add some layers first.');\n }\n // actually create the model\n this.model = new LayersModel({\n inputs: this.inputs,\n outputs: this.outputs[0],\n name: this.name + '_model'\n });\n this.model.trainable = this.trainable;\n // mirror model attributes\n this.supportsMasking = this.model.supportsMasking;\n // TODO(michaelterry): Add caches\n this.inputLayers = this.model.inputLayers;\n this.inputLayersNodeIndices = this.model.inputLayersNodeIndices;\n this.inputLayersTensorIndices = this.model.inputLayersTensorIndices;\n this.outputLayers = this.model.outputLayers;\n this.outputLayersNodeIndices = this.model.outputLayersNodeIndices;\n this.outputLayersTensorIndices = this.model.outputLayersTensorIndices;\n this.nodesByDepth = this.model.nodesByDepth;\n this.containerNodes = this.model.containerNodes;\n this.outputNames = this.model.outputNames;\n this.inputNames = this.model.inputNames;\n // TODO(michaelterry): Add feedInputNames, feedInputs, if needed.\n // TODO(michaelterry): Add callbackModel if needed.\n this.built = true;\n }\n countParams() {\n if (!this.built) {\n this.build();\n }\n return super.countParams();\n }\n /**\n * Print a text summary of the Sequential model's layers.\n *\n * The summary includes\n * - Name and type of all layers that comprise the model.\n * - Output shape(s) of the layers\n * - Number of weight parameters of each layer\n * - The total number of trainable and non-trainable parameters of the\n * model.\n *\n * ```js\n * const model = tf.sequential();\n * model.add(\n * tf.layers.dense({units: 100, inputShape: [10], activation: 'relu'}));\n * model.add(tf.layers.dense({units: 1, activation: 'sigmoid'}));\n *\n * model.summary();\n * ```\n *\n * @param lineLength Custom line length, in number of characters.\n * @param positions Custom widths of each of the columns, as either\n * fractions of `lineLength` (e.g., `[0.5, 0.75, 1]`) or absolute number\n * of characters (e.g., `[30, 50, 65]`). Each number corresponds to\n * right-most (i.e., ending) position of a column.\n * @param printFn Custom print function. Can be used to replace the default\n * `console.log`. For example, you can use `x => {}` to mute the printed\n * messages in the console.\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n summary(lineLength, positions, printFn = console.log) {\n if (!this.built) {\n this.build();\n }\n super.summary(lineLength, positions, printFn);\n }\n /**\n * Sets the weights of the model.\n *\n * @param weights Should be a list of Tensors with shapes and types matching\n * the output of `model.getWeights()`.\n */\n setWeights(weights) {\n if (this.model == null) {\n this.build();\n }\n this.model.setWeights(weights);\n }\n /**\n * Returns the loss value & metrics values for the model in test mode.\n *\n * Loss and metrics are specified during `compile()`, which needs to happen\n * before calls to `evaluate()`.\n *\n * Computation is done in batches.\n *\n * ```js\n * const model = tf.sequential({\n * layers: [tf.layers.dense({units: 1, inputShape: [10]})]\n * });\n * model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});\n * const result = model.evaluate(tf.ones([8, 10]), tf.ones([8, 1]), {\n * batchSize: 4,\n * });\n * result.print();\n * ```\n *\n * @param x `tf.Tensor` of test data, or an `Array` of `tf.Tensor`s if the\n * model has multiple inputs.\n * @param y `tf.Tensor` of target data, or an `Array` of `tf.Tensor`s if the\n * model has multiple outputs.\n * @param args A `ModelEvaluateConfig`, containing optional fields.\n *\n * @return `Scalar` test loss (if the model has a single output and no\n * metrics) or `Array` of `Scalar`s (if the model has multiple outputs\n * and/or metrics). The attribute `model.metricsNames`\n * will give you the display labels for the scalar outputs.\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n evaluate(x, y, args = {}) {\n if (!this.built) {\n throw new RuntimeError('The model needs to be compiled before being used.');\n }\n return this.model.evaluate(x, y, args);\n }\n // TODO(cais): Add code snippet below once real dataset objects are\n // available.\n /**\n * Evaluate model using a dataset object.\n *\n * Note: Unlike `evaluate()`, this method is asynchronous (`async`).\n *\n * @param dataset A dataset object. Its `iterator()` method is expected\n * to generate a dataset iterator object, the `next()` method of which\n * is expected to produce data batches for evaluation. The return value\n * of the `next()` call ought to contain a boolean `done` field and a\n * `value` field. The `value` field is expected to be an array of two\n * `tf.Tensor`s or an array of two nested `tf.Tensor` structures. The former\n * case is for models with exactly one input and one output (e.g.\n * a sequential model). The latter case is for models with multiple\n * inputs and/or multiple outputs. Of the two items in the array, the\n * first is the input feature(s) and the second is the output target(s).\n * @param args A configuration object for the dataset-based evaluation.\n * @returns Loss and metric values as an Array of `Scalar` objects.\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n async evaluateDataset(dataset, args) {\n if (!this.built) {\n throw new RuntimeError('The model needs to be compiled before being used.');\n }\n return this.model.evaluateDataset(dataset, args);\n }\n /**\n * Generates output predictions for the input samples.\n *\n * Computation is done in batches.\n *\n * Note: the \"step\" mode of predict() is currently not supported.\n * This is because the TensorFlow.js core backend is imperative only.\n *\n * ```js\n * const model = tf.sequential({\n * layers: [tf.layers.dense({units: 1, inputShape: [10]})]\n * });\n * model.predict(tf.ones([2, 10])).print();\n * ```\n *\n * @param x The input data, as a Tensor, or an `Array` of `tf.Tensor`s if\n * the model has multiple inputs.\n * @param conifg A `ModelPredictConfig` object containing optional fields.\n *\n * @return `tf.Tensor`(s) of predictions.\n *\n * @exception ValueError In case of mismatch between the provided input data\n * and the model's expectations, or in case a stateful model receives a\n * number of samples that is not a multiple of the batch size.\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n predict(x, args = {}) {\n if (this.model == null) {\n this.build();\n }\n return this.model.predict(x, args);\n }\n /**\n * Returns predictions for a single batch of samples.\n *\n * @param x: Input samples, as a Tensor, or list of Tensors (if the model\n * has multiple inputs).\n * @return Tensor(s) of predictions\n */\n predictOnBatch(x) {\n if (this.model == null) {\n this.build();\n }\n return this.model.predictOnBatch(x);\n }\n /**\n * See `LayersModel.compile`.\n *\n * @param args\n */\n compile(args) {\n this.build();\n this.model.compile(args);\n this.optimizer_ = this.model.optimizer;\n // tslint:disable-next-line:no-any\n this.isOptimizerOwned = this.model.isOptimizerOwned;\n this.loss = this.model.loss;\n this.metrics = this.model.metrics;\n // TODO(cais): Add this.lossWeights, this.sampleWeightMode,\n // this.weightedMetrics, this.targets.\n this.metricsTensors = this.model.metricsTensors;\n this.metricsNames = this.model.metricsNames;\n // TODO(cais): Add sampleWeights.\n }\n get optimizer() {\n return this.model == null ? undefined : this.model.optimizer;\n }\n set optimizer(optimizer) {\n this.model.optimizer = optimizer;\n }\n /**\n * Trains the model for a fixed number of epochs (iterations on a dataset).\n *\n * ```js\n * const model = tf.sequential({\n * layers: [tf.layers.dense({units: 1, inputShape: [10]})]\n * });\n * model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});\n * const history = await model.fit(tf.ones([8, 10]), tf.ones([8, 1]), {\n * batchSize: 4,\n * epochs: 3\n * });\n * console.log(history.history.loss[0]);\n * ```\n *\n * @param x `tf.Tensor` of training data, or an array of `tf.Tensor`s if the\n * model has multiple inputs. If all inputs in the model are named, you can\n * also pass a dictionary mapping input names to `tf.Tensor`s.\n * @param y `tf.Tensor` of target (label) data, or an array of `tf.Tensor`s if\n * the model has multiple outputs. If all outputs in the model are named, you\n * can also pass a dictionary mapping output names to `tf.Tensor`s.\n * @param args A `ModelFitConfig`, containing optional fields.\n *\n * @return A `History` instance. Its `history` attribute contains all\n * information collected during training.\n *\n * @exception ValueError In case of mismatch between the provided input data\n * and what the model expects.\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n async fit(x, y, args = {}) {\n if (!this.built) {\n throw new RuntimeError('The model needs to be compiled before ' +\n 'being used.');\n }\n return this.model.fit(x, y, args);\n }\n /**\n * Trains the model using a dataset object.\n *\n * ```js\n * const xArray = [\n * [1, 1, 1, 1, 1, 1, 1, 1, 1],\n * [1, 1, 1, 1, 1, 1, 1, 1, 1],\n * [1, 1, 1, 1, 1, 1, 1, 1, 1],\n * [1, 1, 1, 1, 1, 1, 1, 1, 1],\n * ];\n * const yArray = [1, 1, 1, 1];\n * // Create a dataset from the JavaScript array.\n * const xDataset = tf.data.array(xArray);\n * const yDataset = tf.data.array(yArray);\n * // Zip combines the `x` and `y` Datasets into a single Dataset, the\n * // iterator of which will return an object containing of two tensors,\n * // corresponding to `x` and `y`. The call to `batch(4)` will bundle\n * // four such samples into a single object, with the same keys now pointing\n * // to tensors that hold 4 examples, organized along the batch dimension.\n * // The call to `shuffle(4)` causes each iteration through the dataset to\n * // happen in a different order. The size of the shuffle window is 4.\n * const xyDataset = tf.data.zip({xs: xDataset, ys: yDataset})\n * .batch(4)\n * .shuffle(4);\n * const model = tf.sequential({\n * layers: [tf.layers.dense({units: 1, inputShape: [9]})]\n * });\n * model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});\n * const history = await model.fitDataset(xyDataset, {\n * epochs: 4,\n * callbacks: {onEpochEnd: (epoch, logs) => console.log(logs.loss)}\n * });\n * ```\n *\n * @param dataset A dataset object. Its `iterator()` method is expected to\n * generate a dataset iterator object, the `next()` method of which is\n * expected to produce data batches for evaluation. The return value of the\n * `next()` call ought to contain a boolean `done` field and a `value`\n * field.\n *\n * The `value` field is expected to be an object of with fields\n * `xs` and `ys`, which point to the feature tensor and the target tensor,\n * respectively. This case is for models with exactly one input and one\n * output (e.g. a sequential model). For example:\n * ```js\n * {value: {xs: xsTensor, ys: ysTensor}, done: false}\n * ```\n *\n * If the model has multiple inputs, the `xs` field of `value` should\n * be an object mapping input names to their respective feature tensors.\n * For example:\n * ```js\n * {\n * value: {\n * xs: {\n * input_1: xsTensor1,\n * input_2: xsTensor2\n * },\n * ys: ysTensor\n * },\n * done: false\n * }\n * ```\n * If the model has multiple outputs, the `ys` field of `value` should\n * be an object mapping output names to their respective target tensors.\n * For example:\n * ```js\n * {\n * value: {\n * xs: xsTensor,\n * ys: {\n * output_1: ysTensor1,\n * output_2: ysTensor2\n * },\n * },\n * done: false\n * }\n * ```\n * @param args A `ModelFitDatasetArgs`, containing optional fields.\n *\n * @return A `History` instance. Its `history` attribute contains all\n * information collected during training.\n *\n * @doc {heading: 'Models', subheading: 'Classes', ignoreCI: true}\n */\n async fitDataset(dataset, args) {\n if (!this.built) {\n throw new RuntimeError('The model needs to be compiled before ' +\n 'being used.');\n }\n return this.model.fitDataset(dataset, args);\n }\n /**\n * Runs a single gradient update on a single batch of data.\n *\n * This method differs from `fit()` and `fitDataset()` in the following\n * regards:\n * - It operates on exactly one batch of data.\n * - It returns only the loss and metric values, instead of\n * returning the batch-by-batch loss and metric values.\n * - It doesn't support fine-grained options such as verbosity and\n * callbacks.\n *\n * @param x Input data. It could be one of the following:\n * - A `tf.Tensor`, or an Array of `tf.Tensor`s (in case the model has\n * multiple inputs).\n * - An Object mapping input names to corresponding `tf.Tensor` (if the\n * model has named inputs).\n * @param y Target data. It could be either a `tf.Tensor` or multiple\n * `tf.Tensor`s. It should be consistent with `x`.\n * @returns Training loss or losses (in case the model has\n * multiple outputs), along with metrics (if any), as numbers.\n *\n * @doc {heading: 'Models', subheading: 'Classes'}\n */\n async trainOnBatch(x, y) {\n return this.model.trainOnBatch(x, y);\n }\n /* See parent class for JsDoc */\n /** @nocollapse */\n static fromConfig(cls, config, customObjects = {}, fastWeightInit = false) {\n let configArray;\n let extraModelConfig = {};\n if (config instanceof Array) {\n if (!(config[0].className != null) ||\n config[0]['className'] === 'Merge') {\n throw new ValueError('Legacy serialization format not supported yet.');\n }\n configArray = config;\n }\n else {\n util.assert(config['layers'] != null, () => `When the config data for a Sequential model is not an Array, ` +\n `it must be an Object that contains the 'layers' field.`);\n configArray = config['layers'];\n delete config['layers'];\n extraModelConfig = config;\n }\n const model = new cls(extraModelConfig);\n if (!(model instanceof Sequential)) {\n throw new NotImplementedError(`Sequential.fromConfig called on non-Sequential input: ${model}`);\n }\n for (const conf of configArray) {\n const customObjects = undefined;\n const layer = deserialize(conf, customObjects, fastWeightInit);\n if (fastWeightInit) {\n layer.setFastWeightInitDuringBuild(true);\n }\n model.add(layer);\n }\n return model;\n }\n /**\n * Setter used for force stopping of LayersModel.fit() (i.e., training).\n *\n * Example:\n *\n * ```js\n * const model = tf.sequential();\n * model.add(tf.layers.dense({units: 1, inputShape: [10]}));\n * model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});\n * const xs = tf.ones([8, 10]);\n * const ys = tf.zeros([8, 1]);\n *\n * const history = await model.fit(xs, ys, {\n * epochs: 10,\n * callbacks: {\n * onEpochEnd: async (epoch, logs) => {\n * if (epoch === 2) {\n * model.stopTraining = true;\n * }\n * }\n * }\n * });\n *\n * // There should be only 3 values in the loss array, instead of 10 values,\n * // due to the stopping after 3 epochs.\n * console.log(history.history.loss);\n * ```\n */\n set stopTraining(stop) {\n // TODO(cais): When refactoring to remove the composition pattern happens,\n // remove this method overriding.\n if (this.model == null) {\n throw new ValueError('Cannot set the stopTraining property of a sequential model before ' +\n 'it is compiled.');\n }\n this.model.stopTraining = stop;\n }\n get stopTraining() {\n if (this.model == null) {\n throw new ValueError('Cannot get the stopTraining property of a sequential model before ' +\n 'it is compiled.');\n }\n return this.model.stopTraining;\n }\n // TODO(cais): Override get trainableWeights() here\n // tslint:disable-next-line:no-any\n getConfig() {\n // NOTE(cais): We override the return type of getConfig() to `any` here,\n // because the `Sequential` class is a special case among `Container`\n // subtypes in that its getConfig() method returns an Array (not a\n // dict).\n const layers = [];\n for (const layer of this.layers) {\n const dict = {};\n dict['className'] = layer.getClassName();\n dict['config'] = layer.getConfig();\n layers.push(dict);\n }\n return { name: this.name, layers };\n }\n}\n/** @nocollapse */\nSequential.className = 'Sequential';\nexport { Sequential };\nserialization.registerClass(Sequential);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGZqcy1sYXllcnMvc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILHFDQUFxQztBQUVyQyxPQUFPLEVBQUMsT0FBTyxFQUFFLEVBQUUsRUFBcUMsYUFBYSxFQUFVLElBQUksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxILE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd2QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGVBQWUsRUFBUyxJQUFJLEVBQWlCLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBc0MsTUFBTSxtQkFBbUIsQ0FBQztBQUduRixPQUFPLEVBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUl2RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxLQUFLLGFBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUMvQixxQkFBdUQsRUFDdkQsYUFBd0M7SUFDMUMsSUFBSSxDQUFDLENBQUMsZUFBZSxJQUFJLHFCQUFxQixDQUFDLEVBQUU7UUFDL0MscUJBQXFCLEdBQUcsRUFBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztLQUNoRTtJQUNELHFCQUFxQixHQUFHLHFCQUE4QyxDQUFDO0lBRXZFLElBQUksYUFBYSxHQUFHLHFCQUFx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QyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUNELE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQztJQUNuQyxDQUFDOztBQTFzQkQsa0JBQWtCO0FBQ0Ysb0JBQVMsR0FBRyxZQUFZLENBQUM7U0FGOUIsVUFBVTtBQTZzQnZCLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOCBHb29nbGUgTExDXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlXG4gKiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXRcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlULlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiBPcmlnaW5hbCBzb3VyY2Uga2VyYXMvbW9kZWxzLnB5ICovXG5cbmltcG9ydCB7ZGlzcG9zZSwgaW8sIE5hbWVkVGVuc29yTWFwLCBPcHRpbWl6ZXIsIFNjYWxhciwgc2VyaWFsaXphdGlvbiwgVGVuc29yLCB1dGlsfSBmcm9tICdAdGVuc29yZmxvdy90ZmpzLWNvcmUnO1xuXG5pbXBvcnQge2dldFVpZH0gZnJvbSAnLi9iYWNrZW5kL3N0YXRlJztcbmltcG9ydCB7SGlzdG9yeX0gZnJvbSAnLi9iYXNlX2NhbGxiYWNrcyc7XG5pbXBvcnQge0RhdGFzZXR9IGZyb20gJy4vZW5naW5lL2RhdGFzZXRfc3R1Yic7XG5pbXBvcnQge0lucHV0fSBmcm9tICcuL2VuZ2luZS9pbnB1dF9sYXllcic7XG5pbXBvcnQge2dldFNvdXJjZUlucHV0cywgTGF5ZXIsIE5vZGUsIFN5bWJvbGljVGVuc29yfSBmcm9tICcuL2VuZ2luZS90b3BvbG9neSc7XG5pbXBvcnQge0xheWVyc01vZGVsLCBNb2RlbENvbXBpbGVBcmdzLCBNb2RlbEV2YWx1YXRlQXJnc30gZnJvbSAnLi9lbmdpbmUvdHJhaW5pbmcnO1xuaW1wb3J0IHtNb2RlbEV2YWx1YXRlRGF0YXNldEFyZ3MsIE1vZGVsRml0RGF0YXNldEFyZ3N9IGZyb20gJy4vZW5naW5lL3RyYWluaW5nX2RhdGFzZXQnO1xuaW1wb3J0IHtNb2RlbEZpdEFyZ3N9IGZyb20gJy4vZW5naW5lL3RyYWluaW5nX3RlbnNvcnMnO1xuaW1wb3J0IHtOb3RJbXBsZW1lbnRlZEVycm9yLCBSdW50aW1lRXJyb3IsIFZhbHVlRXJyb3J9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7U2hhcGV9IGZyb20gJy4va2VyYXNfZm9ybWF0L2NvbW1vbic7XG5pbXBvcnQge1RyYWluaW5nQ29uZmlnfSBmcm9tICcuL2tlcmFzX2Zvcm1hdC90cmFpbmluZ19jb25maWcnO1xuaW1wb3J0IHtQeUpzb25EaWN0fSBmcm9tICcuL2tlcmFzX2Zvcm1hdC90eXBlcyc7XG5pbXBvcnQge2Rlc2VyaWFsaXplfSBmcm9tICcuL2xheWVycy9zZXJpYWxpemF0aW9uJztcbmltcG9ydCB7S3dhcmdzLCBOYW1lZFRlbnNvcn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBnZW5lcmljX3V0aWxzIGZyb20gJy4vdXRpbHMvZ2VuZXJpY191dGlscyc7XG5pbXBvcnQge2NvbnZlcnRQeXRob25pY1RvVHN9IGZyb20gJy4vdXRpbHMvc2VyaWFsaXphdGlvbl91dGlscyc7XG5pbXBvcnQge2dldEV4YWN0bHlPbmVTaGFwZX0gZnJvbSAnLi91dGlscy90eXBlc191dGlscyc7XG5cbi8qKlxuICogUGFyc2VzIGEgSlNPTiBtb2RlbCBjb25maWd1cmF0aW9uIGZpbGUgYW5kIHJldHVybnMgYSBtb2RlbCBpbnN0YW5jZS5cbiAqXG4gKiBgYGBqc1xuICogLy8gVGhpcyBleGFtcGxlIHNob3dzIGhvdyB0byBzZXJpYWxpemUgYSBtb2RlbCB1c2luZyBgdG9KU09OKClgIGFuZFxuICogLy8gZGVzZXJpYWxpemUgaXQgYXMgYW5vdGhlciBtb2RlbCB1c2luZyBgdGYubW9kZWxzLm1vZGVsRnJvbUpTT04oKWAuXG4gKiAvLyBOb3RlOiB0aGlzIGV4YW1wbGUgc2VyaWFsaXplcyBhbmQgZGVzZXJpYWxpemVzIG9ubHkgdGhlIHRvcG9sb2d5XG4gKiAvLyBvZiB0aGUgbW9kZWw7IHRoZSB3ZWlnaHRzIG9mIHRoZSBsb2FkZWQgbW9kZWwgd2lsbCBiZSBkaWZmZXJlbnRcbiAqIC8vIGZyb20gdGhvc2Ugb2YgdGhlIHRoZSBvcmlnaW5hbCBtb2RlbCwgZHVlIHRvIHJhbmRvbSB3ZWlnaHRcbiAqIC8vIGluaXRpYWxpemF0aW9uLlxuICogLy8gVG8gbG9hZCB0aGUgdG9wb2xvZ3kgYW5kIHdlaWdodHMgb2YgYSBtb2RlbCwgdXNlIGB0Zi5sb2FkTGF5ZXJzTW9kZWwoKWAuXG4gKiBjb25zdCBtb2RlbDEgPSB0Zi5zZXF1ZW50aWFsKCk7XG4gKiBtb2RlbDEuYWRkKHRmLmxheWVycy5yZXBlYXRWZWN0b3Ioe2lucHV0U2hhcGU6IFsyXSwgbjogNH0pKTtcbiAqIC8vIFNlcmlhbGl6ZSBgbW9kZWwxYCBhcyBhIEpTT04gb2JqZWN0LlxuICogY29uc3QgbW9kZWwxSlNPTiA9IG1vZGVsMS50b0pTT04obnVsbCwgZmFsc2UpO1xuICogbW9kZWwxLnN1bW1hcnkoKTtcbiAqXG4gKiBjb25zdCBtb2RlbDIgPSBhd2FpdCB0Zi5tb2RlbHMubW9kZWxGcm9tSlNPTihtb2RlbDFKU09OKTtcbiAqIG1vZGVsMi5zdW1tYXJ5KCk7XG4gKiBgYGBcbiAqXG4gKiAgQHBhcmFtIG1vZGVsQW5kV2VpZ2h0c0NvbmZpZyBKU09OIG9iamVjdCBvciBzdHJpbmcgZW5jb2RpbmcgYSBtb2RlbCBhbmRcbiAqICAgICAgIHdlaWdodHMgY29uZmlndXJhdGlvbi4gSXQgY2FuIGFsc28gYmUgb25seSB0aGUgdG9wb2xvZ3kgSlNPTiBvZiB0aGVcbiAqICAgICAgIG1vZGVsLCBpbiB3aGljaCBjYXNlIHRoZSB3ZWlnaHRzIHdpbGwgbm90IGJlIGxvYWRlZC5cbiAqICBAcGFyYW0gY3VzdG9tX29iamVjdHMgT3B0aW9uYWwgZGljdGlvbmFyeSBtYXBwaW5nIG5hbWVzXG4gKiAgICAgICAoc3RyaW5ncykgdG8gY3VzdG9tIGNsYXNzZXMgb3IgZnVuY3Rpb25zIHRvIGJlXG4gKiAgICAgICBjb25zaWRlcmVkIGR1cmluZyBkZXNlcmlhbGl6YXRpb24uXG4gKiBAcmV0dXJucyBBIFRlbnNvckZsb3cuanMgTGF5ZXJzIGB0Zi5MYXllcnNNb2RlbGAgaW5zdGFuY2UgKHVuY29tcGlsZWQpLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbW9kZWxGcm9tSlNPTihcbiAgICBtb2RlbEFuZFdlaWdodHNDb25maWc6IE1vZGVsQW5kV2VpZ2h0c0NvbmZpZ3xQeUpzb25EaWN0LFxuICAgIGN1c3RvbU9iamVjdHM/OiBzZXJpYWxpemF0aW9uLkNvbmZpZ0RpY3QpOiBQcm9taXNlPExheWVyc01vZGVsPiB7XG4gIGlmICghKCdtb2RlbFRvcG9sb2d5JyBpbiBtb2RlbEFuZFdlaWdodHNDb25maWcpKSB7XG4gICAgbW9kZWxBbmRXZWlnaHRzQ29uZmlnID0ge21vZGVsVG9wb2xvZ3k6IG1vZGVsQW5kV2VpZ2h0c0NvbmZpZ307XG4gIH1cbiAgbW9kZWxBbmRXZWlnaHRzQ29uZmlnID0gbW9kZWxBbmRXZWlnaHRzQ29uZmlnIGFzIE1vZGVsQW5kV2VpZ2h0c0NvbmZpZztcblxuICBsZXQgbW9kZWxUb3BvbG9neSA9IG1vZGVsQW5kV2VpZ2h0c0NvbmZpZy5tb2RlbFRvcG9sb2d5O1xuICBpZiAobW9kZWxUb3BvbG9neVsnbW9kZWxfY29uZmlnJ10gIT0gbnVsbCkge1xuICAgIC8vIElmIHRoZSBtb2RlbC10b3BvbG9neSBKU09OIGNvbnRhaW5zIGEgJ21vZGVsX2NvbmZpZycgZmllbGQsIHRoZW4gaXQgaXNcbiAgICAvLyBhIGZ1bGwgbW9kZWwgSlNPTiAoZS5nLiwgZnJvbSBga2VyYXMuTW9kZWwuc2F2ZSgpYCksIHdoaWNoIGNvbnRhaW5zXG4gICAgLy8gbm90IG9ubHkgdGhlIG1vZGVsJ3MgYXJjaGl0ZWN0dXJlIGluIGl0cyAnbW9kZWxfY29uZmlnJyBmaWVsZCwgYnV0XG4gICAgLy8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBzdWNoIGFzIHRoZSBtb2RlbCdzIG9wdGltaXplci4gV2UgdXNlIG9ubHkgdGhlXG4gICAgLy8gJ21vZGVsX2NvbmZpZycgZmllbGQgY3VycmVudGx5LlxuICAgIG1vZGVsVG9wb2xvZ3kgPSBtb2RlbFRvcG9sb2d5Wydtb2RlbF9jb25maWcnXSBhcyBQeUpzb25EaWN0O1xuICB9XG4gIGNvbnN0IHRzQ29uZmlnID1cbiAgICAgIGNvbnZlcnRQeXRob25pY1RvVHMobW9kZWxUb3BvbG9neSkgYXMgc2VyaWFsaXphdGlvbi5Db25maWdEaWN0O1xuICBjb25zdCBtb2RlbCA9IGRlc2VyaWFsaXplKHRzQ29uZmlnLCBjdXN0b21PYmplY3RzKSBhcyBMYXllcnNNb2RlbDtcblxuICBpZiAobW9kZWxBbmRXZWlnaHRzQ29uZmlnLndlaWdodHNNYW5pZmVzdCAhPSBudWxsKSB7XG4gICAgLy8gTG9hZCB0aGUgd2VpZ2h0IHZhbHVlcyBrZXllZCBieSB0aGUgb3JpZ2luYWwgdGVuc29yIG5hbWVzIGluIHRoZSBtb2RlbFxuICAgIC8vIGZpbGUgdGhhdCB3YXMgbG9hZGVkLiAgVGhlc2Ugc2hvdWxkIG1hdGNoIHRoZSBrZXlzIG9mIHRoZSB3ZWlnaHRcbiAgICAvLyBtYW5pZmVzdC5cbiAgICBjb25zdCB3ZWlnaHRWYWx1ZXMgPSBhd2FpdCBpby5sb2FkV2VpZ2h0cyhcbiAgICAgICAgbW9kZWxBbmRXZWlnaHRzQ29uZmlnLndlaWdodHNNYW5pZmVzdCwgbW9kZWxBbmRXZWlnaHRzQ29uZmlnLnBhdGhQcmVmaXgsXG4gICAgICAgIG1vZGVsLndlaWdodHMubWFwKHdlaWdodCA9PiB3ZWlnaHQub3JpZ2luYWxOYW1lKSk7XG5cbiAgICAvLyBNYXAgdGhlIHdlaWdodHMgdG8gdGhlIHVuaXF1ZSB0ZW5zb3IgbmFtZXMgZ2VuZXJhdGVkIGR1cmluZyBtb2RlbCBsb2FkaW5nXG4gICAgY29uc3QgdW5pcXVlV2VpZ2h0VmFsdWVzOiBOYW1lZFRlbnNvck1hcCA9IHt9O1xuICAgIGZvciAoY29uc3Qgd2VpZ2h0IG9mIG1vZGVsLndlaWdodHMpIHtcbiAgICAgIHVuaXF1ZVdlaWdodFZhbHVlc1t3ZWlnaHQub3JpZ2luYWxOYW1lXSA9XG4gICAgICAgICAgd2VpZ2h0VmFsdWVzW3dlaWdodC5vcmlnaW5hbE5hbWVdO1xuICAgIH1cblxuICAgIG1vZGVsLmxvYWRXZWlnaHRzKHVuaXF1ZVdlaWdodFZhbHVlcyk7XG4gICAgLy8gRGlzcG9zZSB0ZW1wb3Jhcnkgd2VpZ2h0IHZhbHVlcy5cbiAgICBkaXNwb3NlKHdlaWdodFZhbHVlcyk7XG4gIH1cbiAgcmV0dXJuIG1vZGVsO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGxvYWRpbmcgYSBzYXZlZCBtb2RlIGluIFRlbnNvckZsb3cuanMgZm9ybWF0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsQW5kV2VpZ2h0c0NvbmZpZyB7XG4gIC8qKlxuICAgKiBBIEpTT04gb2JqZWN0IG9yIEpTT04gc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1vZGVsIGNvbmZpZy5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgdHdvIGZvcm1hdHM6XG4gICAqICAgLSBBIG1vZGVsIGFyY2hpZWN0dXJlLW9ubHkgY29uZmlnLCAgaS5lLiwgYSBmb3JtYXQgY29uc2lzdGVudCB3aXRoIHRoZVxuICAgKiAgICAgcmV0dXJuIHZhbHVlIG9mYGtlcmFzLk1vZGVsLnRvX2pzb24oKWAuXG4gICAqICAgLSBBIGZ1bGwgbW9kZWwgY29uZmlnLCBjb250YWluaW5nIG5vdCBvbmx5IG1vZGVsIGFyY2hpdGVjdHVyZSwgYnV0IGFsc29cbiAgICogICAgIHRyYWluaW5nIG9wdGlvbnMgYW5kIHN0YXRlLCBpLmUuLCBhIGZvcm1hdCBjb25zaXN0ZW50IHdpdGggdGhlIHJldHVyblxuICAgKiAgICAgdmFsdWUgb2YgYGtlcmFzLm1vZGVscy5zYXZlX21vZGVsKClgLlxuICAgKi9cbiAgbW9kZWxUb3BvbG9neTogUHlKc29uRGljdDtcblxuICAvKipcbiAgICogQSB3ZWlnaHRzIG1hbmlmZXN0IGluIFRlbnNvckZsb3cuanMgZm9ybWF0LlxuICAgKi9cbiAgd2VpZ2h0c01hbmlmZXN0PzogaW8uV2VpZ2h0c01hbmlmZXN0Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHByZXBlbmQgdG8gdGhlIHBhdGhzIGluIGB3ZWlnaHRNYW5pZmVzdGAgYmVmb3JlIGZldGNoaW5nLlxuICAgKlxuICAgKiBUaGUgcGF0aCBtYXkgb3B0aW9uYWxseSBlbmQgaW4gYSBzbGFzaCAoJy8nKS5cbiAgICovXG4gIHBhdGhQcmVmaXg/OiBzdHJpbmc7XG59XG5cbi8vIFRPRE8obmllbHNlbmUpOiBSZW1vdmUgYWZ0ZXI6IGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RmanMvaXNzdWVzLzQwMFxuZXhwb3J0IGludGVyZmFjZSBNb2RlbFByZWRpY3RBcmdzIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsLiBCYXRjaCBzaXplIChJbnRlZ2VyKS4gSWYgdW5zcGVjaWZpZWQsIGl0IHdpbGwgZGVmYXVsdCB0byAzMi5cbiAgICovXG4gIGJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogT3B0aW9uYWwuIFZlcmJvc2l0eSBtb2RlLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICovXG4gIHZlcmJvc2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIExvYWQgYSBtb2RlbCBjb21wb3NlZCBvZiBMYXllciBvYmplY3RzLCBpbmNsdWRpbmcgaXRzIHRvcG9sb2d5IGFuZCBvcHRpb25hbGx5XG4gKiB3ZWlnaHRzLiBTZWUgdGhlIFR1dG9yaWFsIG5hbWVkIFwiSG93IHRvIGltcG9ydCBhIEtlcmFzIE1vZGVsXCIgZm9yIHVzYWdlXG4gKiBleGFtcGxlcy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBpcyBhcHBsaWNhYmxlIHRvOlxuICpcbiAqIDEuIE1vZGVscyBjcmVhdGVkIHdpdGggdGhlIGB0Zi5sYXllcnMuKmAsIGB0Zi5zZXF1ZW50aWFsYCwgYW5kXG4gKiBgdGYubW9kZWxgIEFQSXMgb2YgVGVuc29yRmxvdy5qcyBhbmQgbGF0ZXIgc2F2ZWQgd2l0aCB0aGVcbiAqIGB0Zi5MYXllcnNNb2RlbC5zYXZlYCBtZXRob2QuXG4gKiAyLiBNb2RlbHMgY29udmVydGVkIGZyb20gS2VyYXMgb3IgVGVuc29yRmxvdyB0Zi5rZXJhcyB1c2luZyB0aGVcbiAqIFt0ZW5zb3JmbG93anNfY29udmVydGVyXShodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZmpzL3RyZWUvbWFzdGVyL3RmanMtY29udmVydGVyKS5cbiAqXG4gKiBUaGlzIG1vZGUgaXMgKm5vdCogYXBwbGljYWJsZSB0byBUZW5zb3JGbG93IGBTYXZlZE1vZGVsYHMgb3IgdGhlaXIgY29udmVydGVkXG4gKiBmb3Jtcy4gRm9yIHRob3NlIG1vZGVscywgdXNlIGB0Zi5sb2FkR3JhcGhNb2RlbGAuXG4gKlxuICogRXhhbXBsZSAxLiBMb2FkIGEgbW9kZWwgZnJvbSBhbiBIVFRQIHNlcnZlci5cbiAqXG4gKiBgYGBqc1xuICogY29uc3QgbW9kZWwgPSBhd2FpdCB0Zi5sb2FkTGF5ZXJzTW9kZWwoXG4gKiAgICAgJ2h0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS90ZmpzLW1vZGVscy90ZmpzL2lyaXNfdjEvbW9kZWwuanNvbicpO1xuICogbW9kZWwuc3VtbWFyeSgpO1xuICogYGBgXG4gKlxuICogRXhhbXBsZSAyOiBTYXZlIGBtb2RlbGAncyB0b3BvbG9neSBhbmQgd2VpZ2h0cyB0byBicm93c2VyIFtsb2NhbFxuICogc3RvcmFnZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvdy9sb2NhbFN0b3JhZ2UpO1xuICogdGhlbiBsb2FkIGl0IGJhY2suXG4gKlxuICogYGBganNcbiAqIGNvbnN0IG1vZGVsID0gdGYuc2VxdWVudGlhbChcbiAqICAgICB7bGF5ZXJzOiBbdGYubGF5ZXJzLmRlbnNlKHt1bml0czogMSwgaW5wdXRTaGFwZTogWzNdfSldfSk7XG4gKiBjb25zb2xlLmxvZygnUHJlZGljdGlvbiBmcm9tIG9yaWdpbmFsIG1vZGVsOicpO1xuICogbW9kZWwucHJlZGljdCh0Zi5vbmVzKFsxLCAzXSkpLnByaW50KCk7XG4gKlxuICogY29uc3Qgc2F2ZVJlc3VsdHMgPSBhd2FpdCBtb2RlbC5zYXZlKCdsb2NhbHN0b3JhZ2U6Ly9teS1tb2RlbC0xJyk7XG4gKlxuICogY29uc3QgbG9hZGVkTW9kZWwgPSBhd2FpdCB0Zi5sb2FkTGF5ZXJzTW9kZWwoJ2xvY2Fsc3RvcmFnZTovL215LW1vZGVsLTEnKTtcbiAqIGNvbnNvbGUubG9nKCdQcmVkaWN0aW9uIGZyb20gbG9hZGVkIG1vZGVsOicpO1xuICogbG9hZGVkTW9kZWwucHJlZGljdCh0Zi5vbmVzKFsxLCAzXSkpLnByaW50KCk7XG4gKiBgYGBcbiAqXG4gKiBFeGFtcGxlIDMuIFNhdmluZyBgbW9kZWxgJ3MgdG9wb2xvZ3kgYW5kIHdlaWdodHMgdG8gYnJvd3NlclxuICogW0luZGV4ZWREQl0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0luZGV4ZWREQl9BUEkpO1xuICogdGhlbiBsb2FkIGl0IGJhY2suXG4gKlxuICogYGBganNcbiAqIGNvbnN0IG1vZGVsID0gdGYuc2VxdWVudGlhbChcbiAqICAgICB7bGF5ZXJzOiBbdGYubGF5ZXJzLmRlbnNlKHt1bml0czogMSwgaW5wdXRTaGFwZTogWzNdfSldfSk7XG4gKiBjb25zb2xlLmxvZygnUHJlZGljdGlvbiBmcm9tIG9yaWdpbmFsIG1vZGVsOicpO1xuICogbW9kZWwucHJlZGljdCh0Zi5vbmVzKFsxLCAzXSkpLnByaW50KCk7XG4gKlxuICogY29uc3Qgc2F2ZVJlc3VsdHMgPSBhd2FpdCBtb2RlbC5zYXZlKCdpbmRleGVkZGI6Ly9teS1tb2RlbC0xJyk7XG4gKlxuICogY29uc3QgbG9hZGVkTW9kZWwgPSBhd2FpdCB0Zi5sb2FkTGF5ZXJzTW9kZWwoJ2luZGV4ZWRkYjovL215LW1vZGVsLTEnKTtcbiAqIGNvbnNvbGUubG9nKCdQcmVkaWN0aW9uIGZyb20gbG9hZGVkIG1vZGVsOicpO1xuICogbG9hZGVkTW9kZWwucHJlZGljdCh0Zi5vbmVzKFsxLCAzXSkpLnByaW50KCk7XG4gKiBgYGBcbiAqXG4gKiBFeGFtcGxlIDQuIExvYWQgYSBtb2RlbCBmcm9tIHVzZXItc2VsZWN0ZWQgZmlsZXMgZnJvbSBIVE1MXG4gKiBbZmlsZSBpbnB1dFxuICogZWxlbWVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9pbnB1dC9maWxlKS5cbiAqXG4gKiBgYGBqc1xuICogLy8gTm90ZTogdGhpcyBjb2RlIHNuaXBwZXQgd2lsbCBub3Qgd29yayB3aXRob3V0IHRoZSBIVE1MIGVsZW1lbnRzIGluIHRoZVxuICogLy8gICBwYWdlXG4gKiBjb25zdCBqc29uVXBsb2FkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pzb24tdXBsb2FkJyk7XG4gKiBjb25zdCB3ZWlnaHRzVXBsb2FkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dlaWdodHMtdXBsb2FkJyk7XG4gKlxuICogY29uc3QgbW9kZWwgPSBhd2FpdCB0Zi5sb2FkTGF5ZXJzTW9kZWwoXG4gKiAgICAgdGYuaW8uYnJvd3NlckZpbGVzKFtqc29uVXBsb2FkLmZpbGVzWzBdLCB3ZWlnaHRzVXBsb2FkLmZpbGVzWzBdXSkpO1xuICogYGBgXG4gKlxuICogQHBhcmFtIHBhdGhPcklPSGFuZGxlciBDYW4gYmUgZWl0aGVyIG9mIHRoZSB0d28gZm9ybWF0c1xuICogICAxLiBBIHN0cmluZyBwYXRoIHRvIHRoZSBgTW9kZWxBbmRXZWlnaHRzQ29uZmlnYCBKU09OIGRlc2NyaWJpbmdcbiAqICAgICAgdGhlIG1vZGVsIGluIHRoZSBjYW5vbmljYWwgVGVuc29yRmxvdy5qcyBmb3JtYXQuIEZvciBmaWxlOi8vXG4gKiAgICAgICh0ZmpzLW5vZGUtb25seSksIGh0dHA6Ly8gYW5kIGh0dHBzOi8vIHNjaGVtYXMsIHRoZSBwYXRoIGNhbiBiZVxuICogICAgICBlaXRoZXIgYWJzb2x1dGUgb3IgcmVsYXRpdmUuIFRoZSBjb250ZW50IG9mIHRoZSBKU09OIGZpbGUgaXMgYXNzdW1lZCB0b1xuICogICAgICBiZSBhIEpTT04gb2JqZWN0IHdpdGggdGhlIGZvbGxvd2luZyBmaWVsZHMgYW5kIHZhbHVlczpcbiAqICAgICAgLSAnbW9kZWxUb3BvbG9neSc6IEEgSlNPTiBvYmplY3QgdGhhdCBjYW4gYmUgZWl0aGVyIG9mOlxuICogICAgICAgIDEuIGEgbW9kZWwgYXJjaGl0ZWN0dXJlIEpTT04gY29uc2lzdGVudCB3aXRoIHRoZSBmb3JtYXQgb2YgdGhlIHJldHVyblxuICogICAgICAgICAgICB2YWx1ZSBvZiBga2VyYXMuTW9kZWwudG9fanNvbigpYFxuICogICAgICAgIDIuIGEgZnVsbCBtb2RlbCBKU09OIGluIHRoZSBmb3JtYXQgb2YgYGtlcmFzLm1vZGVscy5zYXZlX21vZGVsKClgLlxuICogICAgICAtICd3ZWlnaHRzTWFuaWZlc3QnOiBBIFRlbnNvckZsb3cuanMgd2VpZ2h0cyBtYW5pZmVzdC5cbiAqICAgICAgU2VlIHRoZSBQeXRob24gY29udmVydGVyIGZ1bmN0aW9uIGBzYXZlX21vZGVsKClgIGZvciBtb3JlIGRldGFpbHMuXG4gKiAgICAgIEl0IGlzIGFsc28gYXNzdW1lZCB0aGF0IG1vZGVsIHdlaWdodHMgY2FuIGJlIGFjY2Vzc2VkIGZyb20gcmVsYXRpdmVcbiAqICAgICAgcGF0aHMgZGVzY3JpYmVkIGJ5IHRoZSBgcGF0aHNgIGZpZWxkcyBpbiB3ZWlnaHRzIG1hbmlmZXN0LlxuICogICAyLiBBIGB0Zi5pby5JT0hhbmRsZXJgIG9iamVjdCB0aGF0IGxvYWRzIG1vZGVsIGFydGlmYWN0cyB3aXRoIGl0cyBgbG9hZGBcbiAqICAgICAgbWV0aG9kLlxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgY29uZmlndXJhdGlvbiBhcmd1bWVudHMgZm9yIHRoZSBtb2RlbCBsb2FkaW5nLFxuICogICBpbmNsdWRpbmc6XG4gKiAgIC0gYHN0cmljdGA6IFJlcXVpcmUgdGhhdCB0aGUgcHJvdmlkZWQgd2VpZ2h0cyBleGFjdGx5IG1hdGNoIHRob3NlIHJlcXVpcmVkXG4gKiAgICAgYnkgdGhlIGxheWVycy4gIERlZmF1bHQgdHJ1ZS4gIFBhc3NpbmcgZmFsc2UgbWVhbnMgdGhhdCBib3RoIGV4dHJhXG4gKiAgICAgd2VpZ2h0cyBhbmQgbWlzc2luZyB3ZWlnaHRzIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZC5cbiAqICAgLSBgb25Qcm9ncmVzc2A6IEEgcHJvZ3Jlc3MgY2FsbGJhY2sgb2YgdGhlIGZvcm06XG4gKiAgICAgYChmcmFjdGlvbjogbnVtYmVyKSA9PiB2b2lkYC4gVGhpcyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBtb25pdG9yIHRoZVxuICogICAgIG1vZGVsLWxvYWRpbmcgcHJvY2Vzcy5cbiAqIEByZXR1cm5zIEEgYFByb21pc2VgIG9mIGB0Zi5MYXllcnNNb2RlbGAsIHdpdGggdGhlIHRvcG9sb2d5IGFuZCB3ZWlnaHRzXG4gKiAgICAgbG9hZGVkLlxuICpcbiAqIEBkb2Mge2hlYWRpbmc6ICdNb2RlbHMnLCBzdWJoZWFkaW5nOiAnTG9hZGluZyd9XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkTGF5ZXJzTW9kZWwoXG4gICAgcGF0aE9ySU9IYW5kbGVyOiBzdHJpbmd8aW8uSU9IYW5kbGVyLFxuICAgIG9wdGlvbnM/OiBpby5Mb2FkT3B0aW9ucyk6IFByb21pc2U8TGF5ZXJzTW9kZWw+IHtcbiAgaWYgKG9wdGlvbnMgPT0gbnVsbCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBpZiAodHlwZW9mIHBhdGhPcklPSGFuZGxlciA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25zdCBoYW5kbGVycyA9IGlvLmdldExvYWRIYW5kbGVycyhwYXRoT3JJT0hhbmRsZXIsIG9wdGlvbnMpO1xuICAgIGlmIChoYW5kbGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5OiBpZiBubyBsb2FkIGhhbmRsZXIgY2FuIGJlIGZvdW5kLFxuICAgICAgLy8gYXNzdW1lIGl0IGlzIGEgcmVsYXRpdmUgaHR0cCBwYXRoLlxuICAgICAgLy8gVE9ETyhjYWlzKTogUmVmb3JtYXQgdGhlIGFyZ3MgaW50byBhIHNpbmdsZSBgTG9hZE9wdGlvbnNgIG9uY2UgdGhlIGNvcmVcbiAgICAgIC8vIGlzIHJlZmFjdG9yZWQuXG4gICAgICBoYW5kbGVycy5wdXNoKGlvLmJyb3dzZXJIVFRQUmVxdWVzdChwYXRoT3JJT0hhbmRsZXIsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2UgaWYgKGhhbmRsZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBWYWx1ZUVycm9yKFxuICAgICAgICAgIGBGb3VuZCBtb3JlIHRoYW4gb25lICgke2hhbmRsZXJzLmxlbmd0aH0pIGxvYWQgaGFuZGxlcnMgZm9yIGAgK1xuICAgICAgICAgIGBVUkwgJyR7cGF0aE9ySU9IYW5kbGVyfSdgKTtcbiAgICB9XG4gICAgcGF0aE9ySU9IYW5kbGVyID0gaGFuZGxlcnNbMF07XG4gIH1cbiAgcmV0dXJuIGxvYWRMYXllcnNNb2RlbEZyb21JT0hhbmRsZXIocGF0aE9ySU9IYW5kbGVyLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIExvYWQgYSBtb2RlbCBhbmQgb3B0aW9uYWxseSBpdHMgd2VpZ2h0cywgdXNpbmcgYW4gSU9IYW5kbGVyIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gaGFuZGxlciBUaGUgaW5zdGFuY2Ugb2YgYElPSGFuZGxlcmAgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIG1vZGVsXG4gKiAgIGxvYWRpbmcuXG4gKiBAcGFyYW0gY3VzdG9tT2JqZWN0cyBBbnkgb3B0aW9uYWwgY3VzdG9tIG9iamVjdHMgdG8gYmUgdXNlZCBkdXJpbmcgbW9kZWxcbiAqICAgbG9hZGluZy5cbiAqIEBwYXJhbSBzdHJpY3QgV2hldGhlciB0aGUgd2VpZ2h0IGxvYWRpbmcgd2lsbCBiZSBkb25lIGluIHN0cmljdCBtb2RlLlxuICogICBEZWZhdWx0OiBgdHJ1ZWAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkTGF5ZXJzTW9kZWxGcm9tSU9IYW5kbGVyKFxuICAgIGhhbmRsZXI6IGlvLklPSGFuZGxlciwgY3VzdG9tT2JqZWN0cz86IHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdCxcbiAgICBvcHRpb25zPzogaW8uTG9hZE9wdGlvbnMpOiBQcm9taXNlPExheWVyc01vZGVsPiB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgaWYgKGhhbmRsZXIubG9hZCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFZhbHVlRXJyb3IoXG4gICAgICAgICdDYW5ub3QgcHJvY2VlZCB3aXRoIG1vZGVsIGxvYWRpbmcgYmVjYXVzZSB0aGUgSU9IYW5kbGVyIHByb3ZpZGVkICcgK1xuICAgICAgICAnZG9lcyBub3QgaGF2ZSB0aGUgYGxvYWRgIG1ldGhvZCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICBjb25zdCBhcnRpZmFjdHMgPSBhd2FpdCBoYW5kbGVyLmxvYWQoKTtcbiAgbGV0IG1vZGVsVG9wb2xvZ3kgPSBhcnRpZmFjdHMubW9kZWxUb3BvbG9neSBhcyBQeUpzb25EaWN0O1xuICBpZiAobW9kZWxUb3BvbG9neVsnbW9kZWxfY29uZmlnJ10gIT0gbnVsbCkge1xuICAgIG1vZGVsVG9wb2xvZ3kgPSBtb2RlbFRvcG9sb2d5Wydtb2RlbF9jb25maWcnXSBhcyBQeUpzb25EaWN0O1xuICB9XG5cbiAgY29uc3Qgc3RyaWN0ID0gb3B0aW9ucy5zdHJpY3QgPT0gbnVsbCA/IHRydWUgOiBvcHRpb25zLnN0cmljdDtcbiAgLy8gSWYgd2VpZ2h0cyBhcmUgcHJvdmlkZWQgYW5kIHRoZSB3ZWlnaHQtbG9hZGluZyBtb2RlIGlzIHN0cmljdCwgdXNlXG4gIC8vIGZhc3Qgd2VpZ2h0IGluaXRpYWxpemF0aW9uLiBUaGlzIHNraXBzIGNvc3RseSBpbml0aWFsaXplcnMgc3VjaCBhc1xuICAvLyAnb3J0aG9nb25hbCcgYW5kIHNhdmVzIHVubmVjZXNzYXJ5IGNvbXB1dGF0aW9uIGluIGNhc2VzIHdoZXJlXG4gIC8vIHRoZSBpbml0aWFsaXplZCB3ZWlnaHQgdmFsdWVzIHdpbGwgaW1tZWRpYXRlbHkgYmUgb3ZlcndyaXR0ZW4gYnlcbiAgLy8gbG9hZGVkIHdlaWdodCB2YWx1ZXMuXG4gIGNvbnN0IGZhc3RXZWlnaHRJbml0ID1cbiAgICAgIGFydGlmYWN0cy53ZWlnaHREYXRhICE9IG51bGwgJiYgYXJ0aWZhY3RzLndlaWdodFNwZWNzICE9IG51bGwgJiYgc3RyaWN0O1xuICBjb25zdCBtb2RlbCA9XG4gICAgICBkZXNlcmlhbGl6ZShcbiAgICAgICAgICBjb252ZXJ0UHl0aG9uaWNUb1RzKG1vZGVsVG9wb2xvZ3kpIGFzIHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdCxcbiAgICAgICAgICBjdXN0b21PYmplY3RzLCBmYXN0V2VpZ2h0SW5pdCkgYXMgTGF5ZXJzTW9kZWw7XG5cbiAgY29uc3QgdHJhaW5pbmdDb25maWcgPSBhcnRpZmFjdHMudHJhaW5pbmdDb25maWcgYXMgVHJhaW5pbmdDb25maWc7XG4gIGlmICh0cmFpbmluZ0NvbmZpZyAhPSBudWxsKSB7XG4gICAgbW9kZWwubG9hZFRyYWluaW5nQ29uZmlnKHRyYWluaW5nQ29uZmlnKTtcbiAgfVxuICBpZiAoYXJ0aWZhY3RzLnVzZXJEZWZpbmVkTWV0YWRhdGEgIT0gbnVsbCkge1xuICAgIG1vZGVsLnNldFVzZXJEZWZpbmVkTWV0YWRhdGEoYXJ0aWZhY3RzLnVzZXJEZWZpbmVkTWV0YWRhdGEpO1xuICB9XG5cbiAgLy8gSWYgd2VpZ2h0RGF0YSBpcyBwcmVzZW50LCBsb2FkIHRoZSB3ZWlnaHRzIGludG8gdGhlIG1vZGVsLlxuICBpZiAoYXJ0aWZhY3RzLndlaWdodERhdGEgIT0gbnVsbCkge1xuICAgIC8vIExvYWRpbmcgd2VpZ2h0cyByZXF1aXJlcyB3ZWlnaHRTcGVjcy5cbiAgICBpZiAoYXJ0aWZhY3RzLndlaWdodFNwZWNzID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBWYWx1ZUVycm9yKFxuICAgICAgICAgICdMYXllcnNNb2RlbCBhcnRpZmFjdHMgY29udGFpbnMgd2VpZ2h0IGRhdGEsIGJ1dCBub3Qgd2VpZ2h0IHNwZWNzLiAnICtcbiAgICAgICAgICAnVGhlcmVmb3JlIGxvYWRpbmcgb2Ygd2VpZ2h0cyBjYW5ub3QgcHJvY2VlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCB7bW9kZWxXZWlnaHRzLCBvcHRpbWl6ZXJXZWlnaHRzfSA9IGRlY29kZU1vZGVsQW5kT3B0aW1pemVyV2VpZ2h0cyhcbiAgICAgICAgYXJ0aWZhY3RzLndlaWdodERhdGEsIGFydGlmYWN0cy53ZWlnaHRTcGVjcyk7XG4gICAgbW9kZWwubG9hZFdlaWdodHMobW9kZWxXZWlnaHRzLCBzdHJpY3QpO1xuXG4gICAgaWYgKG1vZGVsLm9wdGltaXplciAhPSBudWxsICYmIG9wdGltaXplcldlaWdodHMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgbW9kZWwub3B0aW1pemVyLnNldFdlaWdodHMob3B0aW1pemVyV2VpZ2h0cyk7XG4gICAgfVxuXG4gICAgLy8gRGlzcG9zZSB0ZW1wb3Jhcnkgd2VpZ2h0IHZhbHVlcy5cbiAgICBkaXNwb3NlKG1vZGVsV2VpZ2h0cyk7XG4gICAgZGlzcG9zZShvcHRpbWl6ZXJXZWlnaHRzLm1hcCh3ID0+IHcudGVuc29yKSk7XG4gIH1cbiAgcmV0dXJuIG1vZGVsO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVNb2RlbEFuZE9wdGltaXplcldlaWdodHMoXG4gICAgd2VpZ2h0RGF0YTogaW8uV2VpZ2h0RGF0YSwgc3BlY3M6IGlvLldlaWdodHNNYW5pZmVzdEVudHJ5W10pOlxuICAgIHttb2RlbFdlaWdodHM6IE5hbWVkVGVuc29yTWFwLCBvcHRpbWl6ZXJXZWlnaHRzOiBOYW1lZFRlbnNvcltdfSB7XG4gIGNvbnN0IG5hbWUyVGVuc29yID0gaW8uZGVjb2RlV2VpZ2h0cyh3ZWlnaHREYXRhLCBzcGVjcyk7XG4gIGNvbnN0IG1vZGVsV2VpZ2h0czogTmFtZWRUZW5zb3JNYXAgPSB7fTtcbiAgY29uc3Qgb3B0aW1pemVyV2VpZ2h0czogTmFtZWRUZW5zb3JbXSA9IFtdO1xuICBzcGVjcy5mb3JFYWNoKHNwZWMgPT4ge1xuICAgIGlmIChzcGVjLmdyb3VwID09PSAnb3B0aW1pemVyJykge1xuICAgICAgb3B0aW1pemVyV2VpZ2h0cy5wdXNoKHtuYW1lOiBzcGVjLm5hbWUsIHRlbnNvcjogbmFtZTJUZW5zb3Jbc3BlYy5uYW1lXX0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBtb2RlbFdlaWdodHNbc3BlYy5uYW1lXSA9IG5hbWUyVGVuc29yW3NwZWMubmFtZV07XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHttb2RlbFdlaWdodHMsIG9wdGltaXplcldlaWdodHN9O1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgU2VxdWVudGlhbCBtb2RlbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXF1ZW50aWFsQXJncyB7XG4gIC8qKiBTdGFjayBvZiBsYXllcnMgZm9yIHRoZSBtb2RlbC4gKi9cbiAgbGF5ZXJzPzogTGF5ZXJbXTtcblxuICAvKiogVGhlIG5hbWUgb2YgdGhpcyBtb2RlbC4gKi9cbiAgbmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIG1vZGVsIHdpdGggYSBzdGFjayBvZiBsYXllcnMsIGZlZWRpbmcgbGluZWFybHkgZnJvbSBvbmUgdG8gdGhlIG5leHQuXG4gKlxuICogYHRmLnNlcXVlbnRpYWxgIGlzIGEgZmFjdG9yeSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYW4gaW5zdGFuY2Ugb2ZcbiAqIGB0Zi5TZXF1ZW50aWFsYC5cbiAqXG4gKiBgYGBqc1xuICogIC8vIERlZmluZSBhIG1vZGVsIGZvciBsaW5lYXIgcmVncmVzc2lvbi5cbiAqICBjb25zdCBtb2RlbCA9IHRmLnNlcXVlbnRpYWwoKTtcbiAqICBtb2RlbC5hZGQodGYubGF5ZXJzLmRlbnNlKHt1bml0czogMSwgaW5wdXRTaGFwZTogWzFdfSkpO1xuICpcbiAqICAvLyBQcmVwYXJlIHRoZSBtb2RlbCBmb3IgdHJhaW5pbmc6IFNwZWNpZnkgdGhlIGxvc3MgYW5kIHRoZSBvcHRpbWl6ZXIuXG4gKiAgbW9kZWwuY29tcGlsZSh7bG9zczogJ21lYW5TcXVhcmVkRXJyb3InLCBvcHRpbWl6ZXI6ICdzZ2QnfSk7XG4gKlxuICogIC8vIEdlbmVyYXRlIHNvbWUgc3ludGhldGljIGRhdGEgZm9yIHRyYWluaW5nLlxuICogIGNvbnN0IHhzID0gdGYudGVuc29yMmQoWzEsIDIsIDMsIDRdLCBbNCwgMV0pO1xuICogIGNvbnN0IHlzID0gdGYudGVuc29yMmQoWzEsIDMsIDUsIDddLCBbNCwgMV0pO1xuICpcbiAqICAvLyBUcmFpbiB0aGUgbW9kZWwgdXNpbmcgdGhlIGRhdGEgdGhlbiBkbyBpbmZlcmVuY2Ugb24gYSBkYXRhIHBvaW50IHRoZVxuICogIC8vIG1vZGVsIGhhc24ndCBzZWVuOlxuICogIGF3YWl0IG1vZGVsLmZpdCh4cywgeXMpO1xuICogIG1vZGVsLnByZWRpY3QodGYudGVuc29yMmQoWzVdLCBbMSwgMV0pKS5wcmludCgpO1xuICogYGBgXG4gKlxuICogQGRvYyB7aGVhZGluZzogJ01vZGVscycsIHN1YmhlYWRpbmc6ICdDbGFzc2VzJ31cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcXVlbnRpYWwgZXh0ZW5kcyBMYXllcnNNb2RlbCB7XG4gIC8qKiBAbm9jb2xsYXBzZSAqL1xuICBzdGF0aWMgb3ZlcnJpZGUgY2xhc3NOYW1lID0gJ1NlcXVlbnRpYWwnO1xuICBwcml2YXRlIG1vZGVsOiBMYXllcnNNb2RlbDtcbiAgY29uc3RydWN0b3IoYXJncz86IFNlcXVlbnRpYWxBcmdzKSB7XG4gICAgc3VwZXIoe2lucHV0czogW10sIG91dHB1dHM6IFtdfSk7XG4gICAgYXJncyA9IGFyZ3MgfHwge307XG5cbiAgICB0aGlzLnRyYWluYWJsZSA9IHRydWU7XG4gICAgdGhpcy5idWlsdCA9IGZhbHNlO1xuXG4gICAgLy8gU2V0IG1vZGVsIG5hbWUuXG4gICAgdGhpcy5uYW1lID0gKGFyZ3MubmFtZSAhPSBudWxsKSA/IGFyZ3MubmFtZSA6IGdldFVpZCgnc2VxdWVudGlhbF8nKTtcblxuICAgIC8vIEFkZCB0byB0aGUgbW9kZWwgYW55IGxheWVycyBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yLlxuICAgIGlmIChhcmdzLmxheWVycyAhPSBudWxsKSB7XG4gICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGFyZ3MubGF5ZXJzKSB7XG4gICAgICAgIHRoaXMuYWRkKGxheWVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gU2VxdWVudGlhbC5hZGQgIFRocm93cyBpZiB0aGUgbmV3IG91dHB1dCBzaGFwZSB3aWxsIGJlXG4gIC8vIGludmFsaWQuXG4gIHByaXZhdGUgY2hlY2tTaGFwZShsYXllcjogTGF5ZXIpIHtcbiAgICBjb25zdCBzaGFwZSA9IGxheWVyLmluYm91bmROb2Rlc1swXS5vdXRwdXRUZW5zb3JzWzBdLnNoYXBlO1xuICAgIGlmIChzaGFwZS5zb21lKHggPT4geCA8IDApKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsdWVFcnJvcihcbiAgICAgICAgICAnTmVnYXRpdmUgZGltZW5zaW9uIHNpemUgY2F1c2VkIGJ5IGFkZGluZyBsYXllciAnICtcbiAgICAgICAgICBgJHtsYXllci5uYW1lfSB3aXRoIGlucHV0IHNoYXBlIFtgICtcbiAgICAgICAgICBgJHtsYXllci5pbmJvdW5kTm9kZXNbMF0uaW5wdXRUZW5zb3JzWzBdLnNoYXBlfV1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGxheWVyIGluc3RhbmNlIG9uIHRvcCBvZiB0aGUgbGF5ZXIgc3RhY2suXG4gICAqXG4gICAqIGBgYGpzXG4gICAqICBjb25zdCBtb2RlbCA9IHRmLnNlcXVlbnRpYWwoKTtcbiAgICogIG1vZGVsLmFkZCh0Zi5sYXllcnMuZGVuc2Uoe3VuaXRzOiA4LCBpbnB1dFNoYXBlOiBbMV19KSk7XG4gICAqICBtb2RlbC5hZGQodGYubGF5ZXJzLmRlbnNlKHt1bml0czogNCwgYWN0aXZhdGlvbjogJ3JlbHU2J30pKTtcbiAgICogIG1vZGVsLmFkZCh0Zi5sYXllcnMuZGVuc2Uoe3VuaXRzOiAxLCBhY3RpdmF0aW9uOiAncmVsdTYnfSkpO1xuICAgKiAgLy8gTm90ZSB0aGF0IHRoZSB1bnRyYWluZWQgbW9kZWwgaXMgcmFuZG9tIGF0IHRoaXMgcG9pbnQuXG4gICAqICBtb2RlbC5wcmVkaWN0KHRmLnJhbmRvbU5vcm1hbChbMTAsIDFdKSkucHJpbnQoKTtcbiAgICogYGBgXG4gICAqIEBwYXJhbSBsYXllciBMYXllciBpbnN0YW5jZS5cbiAgICpcbiAgICogQGV4Y2VwdGlvbiBWYWx1ZUVycm9yIEluIGNhc2UgdGhlIGBsYXllcmAgYXJndW1lbnQgZG9lcyBub3Qga25vdyBpdHNcbiAgICogaW5wdXQgc2hhcGUuXG4gICAqIEBleGNlcHRpb24gVmFsdWVFcnJvciBJbiBjYXNlIHRoZSBgbGF5ZXJgIGFyZ3VtZW50IGhhcyBtdWx0aXBsZSBvdXRwdXRcbiAgICogICB0ZW5zb3JzLCBvciBpcyBhbHJlYWR5IGNvbm5lY3RlZCBzb21ld2hlcmUgZWxzZSAoZm9yYmlkZGVuIGluXG4gICAqICAgYFNlcXVlbnRpYWxgIG1vZGVscykuXG4gICAqXG4gICAqIEBkb2Mge2hlYWRpbmc6ICdNb2RlbHMnLCBzdWJoZWFkaW5nOiAnQ2xhc3Nlcyd9XG4gICAqL1xuICBhZGQobGF5ZXI6IExheWVyKTogdm9pZCB7XG4gICAgY29uc3QgaXNMYXllck1vZGVsSW5zdGFuY2UgPVxuICAgICAgICBsYXllciBpbnN0YW5jZW9mIFNlcXVlbnRpYWwgfHwgbGF5ZXIgaW5zdGFuY2VvZiBMYXllcnNNb2RlbDtcbiAgICBsZXQgbW9kZWxMYXllcjogTGF5ZXJzTW9kZWw7XG4gICAgaWYgKGlzTGF5ZXJNb2RlbEluc3RhbmNlKSB7XG4gICAgICBtb2RlbExheWVyID0gbGF5ZXIgYXMgTGF5ZXJzTW9kZWw7XG4gICAgICBpZiAobW9kZWxMYXllci5vdXRwdXRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsdWVFcnJvcihcbiAgICAgICAgICAgICdBbGwgbGF5ZXJzIGluIGEgU2VxdWVudGlhbCBtb2RlbCAnICtcbiAgICAgICAgICAgICdzaG91bGQgaGF2ZSBhIHNpbmdsZSBvdXRwdXQgdGVuc29yLiAnICtcbiAgICAgICAgICAgICdGb3IgbXVsdGktb3V0cHV0IGxheWVycywgJyArXG4gICAgICAgICAgICAndXNlIHRoZSBmdW5jdGlvbmFsIEFQSS4nKTtcbiAgICAgIH1cbiAgICAgIGlmIChtb2RlbExheWVyLmlucHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbHVlRXJyb3IoXG4gICAgICAgICAgICAnQWxsIGxheWVycyBpbiBhIFNlcXVlbnRpYWwgbW9kZWwgJyArXG4gICAgICAgICAgICAnc2hvdWxkIGhhdmUgYSBzaW5nbGUgaW5wdXQgdGVuc29yLiAnICtcbiAgICAgICAgICAgICdGb3IgbXVsdGktaW5wdXQgbGF5ZXJzLCAnICtcbiAgICAgICAgICAgICd1c2UgdGhlIGZ1bmN0aW9uYWwgQVBJLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLm91dHB1dHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBmaXJzdCBsYXllciBpbiBtb2RlbDogY2hlY2sgdGhhdCBpdCBpcyBhbiBpbnB1dCBsYXllclxuICAgICAgaWYgKGxheWVyLmluYm91bmROb2Rlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gY3JlYXRlIGFuIGlucHV0IGxheWVyXG4gICAgICAgIGlmIChsYXllci5iYXRjaElucHV0U2hhcGUgPT0gbnVsbCkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWx1ZUVycm9yKFxuICAgICAgICAgICAgICAnVGhlIGZpcnN0IGxheWVyIGluIGEgU2VxdWVudGlhbCBtb2RlbCBtdXN0ICcgK1xuICAgICAgICAgICAgICAnZ2V0IGFuIGBpbnB1dFNoYXBlYCBvciBgYmF0Y2hJbnB1dFNoYXBlYCBhcmd1bWVudC4nKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgaW5wdXQgbGF5ZXIuXG4gICAgICAgIGNvbnN0IHggPSBJbnB1dCh7XG4gICAgICAgICAgYmF0Y2hTaGFwZTogbGF5ZXIuYmF0Y2hJbnB1dFNoYXBlLFxuICAgICAgICAgIGR0eXBlOiBsYXllci5kdHlwZSxcbiAgICAgICAgICBuYW1lOiBsYXllci5uYW1lICsgJ19pbnB1dCdcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFRoaXMgd2lsbCBidWlsZCB0aGUgY3VycmVudCBsYXllciBhbmQgY3JlYXRlIHRoZSBub2RlIGNvbm5lY3RpbmdcbiAgICAgICAgLy8gdGhlIGN1cnJlbnQgbGF5ZXIgdG8gdGhlIGlucHV0IGxheWVyIHdlIGp1c3QgY3JlYXRlZC5cbiAgICAgICAgbGF5ZXIuYXBwbHkoeCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0xheWVyTW9kZWxJbnN0YW5jZSkge1xuICAgICAgICB0aGlzLm91dHB1dHMgPSBtb2RlbExheWVyLm91dHB1dHM7XG4gICAgICAgIHRoaXMuaW5wdXRzID0gbW9kZWxMYXllci5pbnB1dHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobGF5ZXIuaW5ib3VuZE5vZGVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWx1ZUVycm9yKFxuICAgICAgICAgICAgICAnQSBsYXllciBhZGRlZCB0byBhIFNlcXVlbnRpYWwgbW9kZWwgbXVzdCBub3QgYWxyZWFkeSBiZSAnICtcbiAgICAgICAgICAgICAgYGNvbm5lY3RlZCBzb21ld2hlcmUgZWxzZS4gTGF5ZXJzTW9kZWwgcmVjZWl2ZWQgbGF5ZXIgJHtcbiAgICAgICAgICAgICAgICAgIGxheWVyLm5hbWV9IGAgK1xuICAgICAgICAgICAgICBgd2hpY2ggaGFzICR7bGF5ZXIuaW5ib3VuZE5vZGVzLmxlbmd0aH0gcHJlLWV4aXN0aW5nIGluYm91bmQgYCArXG4gICAgICAgICAgICAgICdjb25uZWN0aW9ucy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsYXllci5pbmJvdW5kTm9kZXNbMF0ub3V0cHV0VGVuc29ycy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsdWVFcnJvcihcbiAgICAgICAgICAgICAgJ0FsbCBsYXllcnMgaW4gYSBTZXF1ZW50aWFsIG1vZGVsICcgK1xuICAgICAgICAgICAgICAnc2hvdWxkIGhhdmUgYSBzaW5nbGUgb3V0cHV0IHRlbnNvci4gJyArXG4gICAgICAgICAgICAgICdGb3IgbXVsdGktb3V0cHV0IGxheWVycywgJyArXG4gICAgICAgICAgICAgICd1c2UgdGhlIGZ1bmN0aW9uYWwgQVBJLicpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hlY2tTaGFwZShsYXllcik7XG4gICAgICAgIHRoaXMub3V0cHV0cyA9IFtsYXllci5pbmJvdW5kTm9kZXNbMF0ub3V0cHV0VGVuc29yc1swXV07XG4gICAgICAgIHRoaXMuaW5wdXRzID0gZ2V0U291cmNlSW5wdXRzKHRoaXMub3V0cHV0c1swXSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5ib3VuZE5vZGVzID0gW107XG4gICAgICAvLyBXZSBjcmVhdGUgYW4gaW5wdXQgbm9kZSwgd2hpY2ggd2Ugd2lsbCBrZWVwIHVwZGF0ZWRcbiAgICAgIC8vIGFzIHdlIGFkZCBtb3JlIGxheWVycy5cbiAgICAgIC8vIChUaGlzIGNhbGwgaGFzIHNpZGUgZWZmZWN0cy4pXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdW51c2VkLWV4cHJlc3Npb25cbiAgICAgIG5ldyBOb2RlKHtcbiAgICAgICAgb3V0Ym91bmRMYXllcjogdGhpcyxcbiAgICAgICAgaW5ib3VuZExheWVyczogW10sXG4gICAgICAgIG5vZGVJbmRpY2VzOiBbXSxcbiAgICAgICAgdGVuc29ySW5kaWNlczogW10sXG4gICAgICAgIGlucHV0VGVuc29yczogdGhpcy5pbnB1dHMsXG4gICAgICAgIG91dHB1dFRlbnNvcnM6IHRoaXMub3V0cHV0cyxcbiAgICAgICAgLy8gbm8gbW9kZWwtbGV2ZWwgbWFza2luZyBmb3Igbm93XG4gICAgICAgIGlucHV0TWFza3M6IGdlbmVyaWNfdXRpbHMucHlMaXN0UmVwZWF0KG51bGwsIHRoaXMuaW5wdXRzLmxlbmd0aCksXG4gICAgICAgIG91dHB1dE1hc2tzOiBbbnVsbF0sXG4gICAgICAgIGlucHV0U2hhcGVzOiB0aGlzLmlucHV0cy5tYXAoeCA9PiB4LnNoYXBlKSxcbiAgICAgICAgb3V0cHV0U2hhcGVzOiB0aGlzLm91dHB1dHNbMF0uc2hhcGVcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvdXRwdXRUZW5zb3IgPSBsYXllci5hcHBseSh0aGlzLm91dHB1dHNbMF0pO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3V0cHV0VGVuc29yKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgJ0FsbCBsYXllcnMgaW4gYSBTZXF1ZW50aWFsIG1vZGVsICcgK1xuICAgICAgICAgICAgJ3Nob3VsZCBoYXZlIGEgc2luZ2xlIG91dHB1dCB0ZW5zb3IuICcgK1xuICAgICAgICAgICAgJ0ZvciBtdWx0aS1vdXRwdXQgbGF5ZXJzLCAnICtcbiAgICAgICAgICAgICd1c2UgdGhlIGZ1bmN0aW9uYWwgQVBJLicpO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGVja1NoYXBlKGxheWVyKTtcbiAgICAgIHRoaXMub3V0cHV0cyA9IFtvdXRwdXRUZW5zb3IgYXMgU3ltYm9saWNUZW5zb3JdO1xuICAgICAgLy8gdXBkYXRlIHNlbGYuaW5ib3VuZF9ub2Rlc1xuICAgICAgdGhpcy5pbmJvdW5kTm9kZXNbMF0ub3V0cHV0VGVuc29ycyA9IHRoaXMub3V0cHV0cztcbiAgICAgIHRoaXMuaW5ib3VuZE5vZGVzWzBdLm91dHB1dFNoYXBlcyA9IFt0aGlzLm91dHB1dHNbMF0uc2hhcGVdO1xuICAgIH1cblxuICAgIHRoaXMubGF5ZXJzLnB1c2gobGF5ZXIpO1xuICAgIHRoaXMuYnVpbHQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBsYXN0IGxheWVyIGluIHRoZSBtb2RlbC5cbiAgICpcbiAgICogQGV4Y2VwdGlvbiBUeXBlRXJyb3IgaWYgdGhlcmUgYXJlIG5vIGxheWVycyBpbiB0aGUgbW9kZWwuXG4gICAqL1xuICBwb3AoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlcmUgYXJlIG5vIGxheWVycyBpbiB0aGUgbW9kZWwuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5sYXllcnMucG9wKCk7XG4gICAgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5vdXRwdXRzID0gW107XG4gICAgICB0aGlzLmluYm91bmROb2RlcyA9IFtdO1xuICAgICAgdGhpcy5vdXRib3VuZE5vZGVzID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxhc3RMYXllckluZGV4ID0gdGhpcy5sYXllcnMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMubGF5ZXJzW2xhc3RMYXllckluZGV4XS5vdXRib3VuZE5vZGVzID0gW107XG4gICAgICB0aGlzLm91dHB1dHMgPSBbdGhpcy5sYXllcnNbbGFzdExheWVySW5kZXhdLm91dHB1dCBhcyBTeW1ib2xpY1RlbnNvcl07XG4gICAgICAvLyB1cGRhdGUgc2VsZi5pbmJvdW5kX25vZGVzXG4gICAgICB0aGlzLmluYm91bmROb2Rlc1swXS5vdXRwdXRUZW5zb3JzID0gdGhpcy5vdXRwdXRzO1xuICAgICAgdGhpcy5pbmJvdW5kTm9kZXNbMF0ub3V0cHV0U2hhcGVzID0gW3RoaXMub3V0cHV0c1swXS5zaGFwZV07XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgY2FsbChpbnB1dHM6IFRlbnNvcnxUZW5zb3JbXSwga3dhcmdzOiBLd2FyZ3MpOiBUZW5zb3J8VGVuc29yW10ge1xuICAgIGlmICh0aGlzLm1vZGVsID09IG51bGwpIHtcbiAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuY2FsbChpbnB1dHMsIGt3YXJncyk7XG4gIH1cblxuICBvdmVycmlkZSBidWlsZChpbnB1dFNoYXBlPzogU2hhcGV8U2hhcGVbXSkge1xuICAgIC8vIENhbGwgYGdldEV4YWN0bHlPbmVTaGFwZWAgd2l0aG91dCB1c2luZyBpdHMgcmV0dXJuIHZhbHVlLFxuICAgIC8vIHRvIHZlcmlmeSB0aGF0IGV4YWN0bHkgb25lIGlucHV0IHNoYXBlIGlzIHByb3ZpZGVkLlxuICAgIGdldEV4YWN0bHlPbmVTaGFwZShpbnB1dFNoYXBlKTtcblxuICAgIGlmICh0aGlzLmlucHV0cy5sZW5ndGggPT09IDAgfHwgdGhpcy5vdXRwdXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAnU2VxdWVudGlhbCBtb2RlbCBjYW5ub3QgYmUgYnVpbHQ6IG1vZGVsIGlzIGVtcHR5LicgK1xuICAgICAgICAgICcgQWRkIHNvbWUgbGF5ZXJzIGZpcnN0LicpO1xuICAgIH1cbiAgICAvLyBhY3R1YWxseSBjcmVhdGUgdGhlIG1vZGVsXG4gICAgdGhpcy5tb2RlbCA9IG5ldyBMYXllcnNNb2RlbCh7XG4gICAgICBpbnB1dHM6IHRoaXMuaW5wdXRzLFxuICAgICAgb3V0cHV0czogdGhpcy5vdXRwdXRzWzBdLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJ19tb2RlbCdcbiAgICB9KTtcbiAgICB0aGlzLm1vZGVsLnRyYWluYWJsZSA9IHRoaXMudHJhaW5hYmxlO1xuXG4gICAgLy8gbWlycm9yIG1vZGVsIGF0dHJpYnV0ZXNcbiAgICB0aGlzLnN1cHBvcnRzTWFza2luZyA9IHRoaXMubW9kZWwuc3VwcG9ydHNNYXNraW5nO1xuICAgIC8vIFRPRE8obWljaGFlbHRlcnJ5KTogQWRkIGNhY2hlc1xuICAgIHRoaXMuaW5wdXRMYXllcnMgPSB0aGlzLm1vZGVsLmlucHV0TGF5ZXJzO1xuICAgIHRoaXMuaW5wdXRMYXllcnNOb2RlSW5kaWNlcyA9IHRoaXMubW9kZWwuaW5wdXRMYXllcnNOb2RlSW5kaWNlcztcbiAgICB0aGlzLmlucHV0TGF5ZXJzVGVuc29ySW5kaWNlcyA9IHRoaXMubW9kZWwuaW5wdXRMYXllcnNUZW5zb3JJbmRpY2VzO1xuICAgIHRoaXMub3V0cHV0TGF5ZXJzID0gdGhpcy5tb2RlbC5vdXRwdXRMYXllcnM7XG4gICAgdGhpcy5vdXRwdXRMYXllcnNOb2RlSW5kaWNlcyA9IHRoaXMubW9kZWwub3V0cHV0TGF5ZXJzTm9kZUluZGljZXM7XG4gICAgdGhpcy5vdXRwdXRMYXllcnNUZW5zb3JJbmRpY2VzID0gdGhpcy5tb2RlbC5vdXRwdXRMYXllcnNUZW5zb3JJbmRpY2VzO1xuICAgIHRoaXMubm9kZXNCeURlcHRoID0gdGhpcy5tb2RlbC5ub2Rlc0J5RGVwdGg7XG4gICAgdGhpcy5jb250YWluZXJOb2RlcyA9IHRoaXMubW9kZWwuY29udGFpbmVyTm9kZXM7XG4gICAgdGhpcy5vdXRwdXROYW1lcyA9IHRoaXMubW9kZWwub3V0cHV0TmFtZXM7XG4gICAgdGhpcy5pbnB1dE5hbWVzID0gdGhpcy5tb2RlbC5pbnB1dE5hbWVzO1xuICAgIC8vIFRPRE8obWljaGFlbHRlcnJ5KTogQWRkIGZlZWRJbnB1dE5hbWVzLCBmZWVkSW5wdXRzLCBpZiBuZWVkZWQuXG4gICAgLy8gVE9ETyhtaWNoYWVsdGVycnkpOiBBZGQgY2FsbGJhY2tNb2RlbCBpZiBuZWVkZWQuXG4gICAgdGhpcy5idWlsdCA9IHRydWU7XG4gIH1cblxuICBvdmVycmlkZSBjb3VudFBhcmFtcygpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5idWlsdCkge1xuICAgICAgdGhpcy5idWlsZCgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuY291bnRQYXJhbXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmludCBhIHRleHQgc3VtbWFyeSBvZiB0aGUgU2VxdWVudGlhbCBtb2RlbCdzIGxheWVycy5cbiAgICpcbiAgICogVGhlIHN1bW1hcnkgaW5jbHVkZXNcbiAgICogLSBOYW1lIGFuZCB0eXBlIG9mIGFsbCBsYXllcnMgdGhhdCBjb21wcmlzZSB0aGUgbW9kZWwuXG4gICAqIC0gT3V0cHV0IHNoYXBlKHMpIG9mIHRoZSBsYXllcnNcbiAgICogLSBOdW1iZXIgb2Ygd2VpZ2h0IHBhcmFtZXRlcnMgb2YgZWFjaCBsYXllclxuICAgKiAtIFRoZSB0b3RhbCBudW1iZXIgb2YgdHJhaW5hYmxlIGFuZCBub24tdHJhaW5hYmxlIHBhcmFtZXRlcnMgb2YgdGhlXG4gICAqIG1vZGVsLlxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjb25zdCBtb2RlbCA9IHRmLnNlcXVlbnRpYWwoKTtcbiAgICogbW9kZWwuYWRkKFxuICAgKiAgICAgdGYubGF5ZXJzLmRlbnNlKHt1bml0czogMTAwLCBpbnB1dFNoYXBlOiBbMTBdLCBhY3RpdmF0aW9uOiAncmVsdSd9KSk7XG4gICAqIG1vZGVsLmFkZCh0Zi5sYXllcnMuZGVuc2Uoe3VuaXRzOiAxLCBhY3RpdmF0aW9uOiAnc2lnbW9pZCd9KSk7XG4gICAqXG4gICAqIG1vZGVsLnN1bW1hcnkoKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBsaW5lTGVuZ3RoIEN1c3RvbSBsaW5lIGxlbmd0aCwgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMuXG4gICAqIEBwYXJhbSBwb3NpdGlvbnMgQ3VzdG9tIHdpZHRocyBvZiBlYWNoIG9mIHRoZSBjb2x1bW5zLCBhcyBlaXRoZXJcbiAgICogICBmcmFjdGlvbnMgb2YgYGxpbmVMZW5ndGhgIChlLmcuLCBgWzAuNSwgMC43NSwgMV1gKSBvciBhYnNvbHV0ZSBudW1iZXJcbiAgICogICBvZiBjaGFyYWN0ZXJzIChlLmcuLCBgWzMwLCA1MCwgNjVdYCkuIEVhY2ggbnVtYmVyIGNvcnJlc3BvbmRzIHRvXG4gICAqICAgcmlnaHQtbW9zdCAoaS5lLiwgZW5kaW5nKSBwb3NpdGlvbiBvZiBhIGNvbHVtbi5cbiAgICogQHBhcmFtIHByaW50Rm4gQ3VzdG9tIHByaW50IGZ1bmN0aW9uLiBDYW4gYmUgdXNlZCB0byByZXBsYWNlIHRoZSBkZWZhdWx0XG4gICAqICAgYGNvbnNvbGUubG9nYC4gRm9yIGV4YW1wbGUsIHlvdSBjYW4gdXNlIGB4ID0+IHt9YCB0byBtdXRlIHRoZSBwcmludGVkXG4gICAqICAgbWVzc2FnZXMgaW4gdGhlIGNvbnNvbGUuXG4gICAqXG4gICAqIEBkb2Mge2hlYWRpbmc6ICdNb2RlbHMnLCBzdWJoZWFkaW5nOiAnQ2xhc3Nlcyd9XG4gICAqL1xuICBvdmVycmlkZSBzdW1tYXJ5KFxuICAgICAgbGluZUxlbmd0aD86IG51bWJlciwgcG9zaXRpb25zPzogbnVtYmVyW10sXG4gICAgICBwcmludEZuOlxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgICAgIChtZXNzYWdlPzogYW55LCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pID0+IHZvaWQgPSBjb25zb2xlLmxvZykge1xuICAgIGlmICghdGhpcy5idWlsdCkge1xuICAgICAgdGhpcy5idWlsZCgpO1xuICAgIH1cbiAgICBzdXBlci5zdW1tYXJ5KGxpbmVMZW5ndGgsIHBvc2l0aW9ucywgcHJpbnRGbik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgd2VpZ2h0cyBvZiB0aGUgbW9kZWwuXG4gICAqXG4gICAqIEBwYXJhbSB3ZWlnaHRzIFNob3VsZCBiZSBhIGxpc3Qgb2YgVGVuc29ycyB3aXRoIHNoYXBlcyBhbmQgdHlwZXMgbWF0Y2hpbmdcbiAgICogICB0aGUgb3V0cHV0IG9mIGBtb2RlbC5nZXRXZWlnaHRzKClgLlxuICAgKi9cbiAgb3ZlcnJpZGUgc2V0V2VpZ2h0cyh3ZWlnaHRzOiBUZW5zb3JbXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGVsID09IG51bGwpIHtcbiAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbC5zZXRXZWlnaHRzKHdlaWdodHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxvc3MgdmFsdWUgJiBtZXRyaWNzIHZhbHVlcyBmb3IgdGhlIG1vZGVsIGluIHRlc3QgbW9kZS5cbiAgICpcbiAgICogTG9zcyBhbmQgbWV0cmljcyBhcmUgc3BlY2lmaWVkIGR1cmluZyBgY29tcGlsZSgpYCwgd2hpY2ggbmVlZHMgdG8gaGFwcGVuXG4gICAqIGJlZm9yZSBjYWxscyB0byBgZXZhbHVhdGUoKWAuXG4gICAqXG4gICAqIENvbXB1dGF0aW9uIGlzIGRvbmUgaW4gYmF0Y2hlcy5cbiAgICpcbiAgICogYGBganNcbiAgICogY29uc3QgbW9kZWwgPSB0Zi5zZXF1ZW50aWFsKHtcbiAgICogICBsYXllcnM6IFt0Zi5sYXllcnMuZGVuc2Uoe3VuaXRzOiAxLCBpbnB1dFNoYXBlOiBbMTBdfSldXG4gICAqIH0pO1xuICAgKiBtb2RlbC5jb21waWxlKHtvcHRpbWl6ZXI6ICdzZ2QnLCBsb3NzOiAnbWVhblNxdWFyZWRFcnJvcid9KTtcbiAgICogY29uc3QgcmVzdWx0ID0gbW9kZWwuZXZhbHVhdGUodGYub25lcyhbOCwgMTBdKSwgdGYub25lcyhbOCwgMV0pLCB7XG4gICAqICAgYmF0Y2hTaXplOiA0LFxuICAgKiB9KTtcbiAgICogcmVzdWx0LnByaW50KCk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0geCBgdGYuVGVuc29yYCBvZiB0ZXN0IGRhdGEsIG9yIGFuIGBBcnJheWAgb2YgYHRmLlRlbnNvcmBzIGlmIHRoZVxuICAgKiBtb2RlbCBoYXMgbXVsdGlwbGUgaW5wdXRzLlxuICAgKiBAcGFyYW0geSBgdGYuVGVuc29yYCBvZiB0YXJnZXQgZGF0YSwgb3IgYW4gYEFycmF5YCBvZiBgdGYuVGVuc29yYHMgaWYgdGhlXG4gICAqIG1vZGVsIGhhcyBtdWx0aXBsZSBvdXRwdXRzLlxuICAgKiBAcGFyYW0gYXJncyBBIGBNb2RlbEV2YWx1YXRlQ29uZmlnYCwgY29udGFpbmluZyBvcHRpb25hbCBmaWVsZHMuXG4gICAqXG4gICAqIEByZXR1cm4gYFNjYWxhcmAgdGVzdCBsb3NzIChpZiB0aGUgbW9kZWwgaGFzIGEgc2luZ2xlIG91dHB1dCBhbmQgbm9cbiAgICogICBtZXRyaWNzKSBvciBgQXJyYXlgIG9mIGBTY2FsYXJgcyAoaWYgdGhlIG1vZGVsIGhhcyBtdWx0aXBsZSBvdXRwdXRzXG4gICAqICAgYW5kL29yIG1ldHJpY3MpLiBUaGUgYXR0cmlidXRlIGBtb2RlbC5tZXRyaWNzTmFtZXNgXG4gICAqICAgd2lsbCBnaXZlIHlvdSB0aGUgZGlzcGxheSBsYWJlbHMgZm9yIHRoZSBzY2FsYXIgb3V0cHV0cy5cbiAgICpcbiAgICogQGRvYyB7aGVhZGluZzogJ01vZGVscycsIHN1YmhlYWRpbmc6ICdDbGFzc2VzJ31cbiAgICovXG4gIG92ZXJyaWRlIGV2YWx1YXRlKFxuICAgICAgeDogVGVuc29yfFRlbnNvcltdLCB5OiBUZW5zb3J8VGVuc29yW10sXG4gICAgICBhcmdzOiBNb2RlbEV2YWx1YXRlQXJncyA9IHt9KTogU2NhbGFyfFNjYWxhcltdIHtcbiAgICBpZiAoIXRoaXMuYnVpbHQpIHtcbiAgICAgIHRocm93IG5ldyBSdW50aW1lRXJyb3IoXG4gICAgICAgICAgJ1RoZSBtb2RlbCBuZWVkcyB0byBiZSBjb21waWxlZCBiZWZvcmUgYmVpbmcgdXNlZC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZXZhbHVhdGUoeCwgeSwgYXJncyk7XG4gIH1cblxuICAvLyBUT0RPKGNhaXMpOiBBZGQgY29kZSBzbmlwcGV0IGJlbG93IG9uY2UgcmVhbCBkYXRhc2V0IG9iamVjdHMgYXJlXG4gIC8vICAgYXZhaWxhYmxlLlxuICAvKipcbiAgICogRXZhbHVhdGUgbW9kZWwgdXNpbmcgYSBkYXRhc2V0IG9iamVjdC5cbiAgICpcbiAgICogTm90ZTogVW5saWtlIGBldmFsdWF0ZSgpYCwgdGhpcyBtZXRob2QgaXMgYXN5bmNocm9ub3VzIChgYXN5bmNgKS5cbiAgICpcbiAgICogQHBhcmFtIGRhdGFzZXQgQSBkYXRhc2V0IG9iamVjdC4gSXRzIGBpdGVyYXRvcigpYCBtZXRob2QgaXMgZXhwZWN0ZWRcbiAgICogICB0byBnZW5lcmF0ZSBhIGRhdGFzZXQgaXRlcmF0b3Igb2JqZWN0LCB0aGUgYG5leHQoKWAgbWV0aG9kIG9mIHdoaWNoXG4gICAqICAgaXMgZXhwZWN0ZWQgdG8gcHJvZHVjZSBkYXRhIGJhdGNoZXMgZm9yIGV2YWx1YXRpb24uIFRoZSByZXR1cm4gdmFsdWVcbiAgICogICBvZiB0aGUgYG5leHQoKWAgY2FsbCBvdWdodCB0byBjb250YWluIGEgYm9vbGVhbiBgZG9uZWAgZmllbGQgYW5kIGFcbiAgICogICBgdmFsdWVgIGZpZWxkLiBUaGUgYHZhbHVlYCBmaWVsZCBpcyBleHBlY3RlZCB0byBiZSBhbiBhcnJheSBvZiB0d29cbiAgICogICBgdGYuVGVuc29yYHMgb3IgYW4gYXJyYXkgb2YgdHdvIG5lc3RlZCBgdGYuVGVuc29yYCBzdHJ1Y3R1cmVzLiBUaGUgZm9ybWVyXG4gICAqICAgY2FzZSBpcyBmb3IgbW9kZWxzIHdpdGggZXhhY3RseSBvbmUgaW5wdXQgYW5kIG9uZSBvdXRwdXQgKGUuZy5cbiAgICogICBhIHNlcXVlbnRpYWwgbW9kZWwpLiBUaGUgbGF0dGVyIGNhc2UgaXMgZm9yIG1vZGVscyB3aXRoIG11bHRpcGxlXG4gICAqICAgaW5wdXRzIGFuZC9vciBtdWx0aXBsZSBvdXRwdXRzLiBPZiB0aGUgdHdvIGl0ZW1zIGluIHRoZSBhcnJheSwgdGhlXG4gICAqICAgZmlyc3QgaXMgdGhlIGlucHV0IGZlYXR1cmUocykgYW5kIHRoZSBzZWNvbmQgaXMgdGhlIG91dHB1dCB0YXJnZXQocykuXG4gICAqIEBwYXJhbSBhcmdzIEEgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSBkYXRhc2V0LWJhc2VkIGV2YWx1YXRpb24uXG4gICAqIEByZXR1cm5zIExvc3MgYW5kIG1ldHJpYyB2YWx1ZXMgYXMgYW4gQXJyYXkgb2YgYFNjYWxhcmAgb2JqZWN0cy5cbiAgICpcbiAgICogQGRvYyB7aGVhZGluZzogJ01vZGVscycsIHN1YmhlYWRpbmc6ICdDbGFzc2VzJ31cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIGV2YWx1YXRlRGF0YXNldChkYXRhc2V0OiBEYXRhc2V0PHt9PixcbiAgICAgIGFyZ3M6IE1vZGVsRXZhbHVhdGVEYXRhc2V0QXJncyk6IFByb21pc2U8U2NhbGFyfFNjYWxhcltdPiB7XG4gICAgaWYgKCF0aGlzLmJ1aWx0KSB7XG4gICAgICB0aHJvdyBuZXcgUnVudGltZUVycm9yKFxuICAgICAgICAgICdUaGUgbW9kZWwgbmVlZHMgdG8gYmUgY29tcGlsZWQgYmVmb3JlIGJlaW5nIHVzZWQuJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vZGVsLmV2YWx1YXRlRGF0YXNldChkYXRhc2V0LCBhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgb3V0cHV0IHByZWRpY3Rpb25zIGZvciB0aGUgaW5wdXQgc2FtcGxlcy5cbiAgICpcbiAgICogQ29tcHV0YXRpb24gaXMgZG9uZSBpbiBiYXRjaGVzLlxuICAgKlxuICAgKiBOb3RlOiB0aGUgXCJzdGVwXCIgbW9kZSBvZiBwcmVkaWN0KCkgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQuXG4gICAqICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBUZW5zb3JGbG93LmpzIGNvcmUgYmFja2VuZCBpcyBpbXBlcmF0aXZlIG9ubHkuXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNvbnN0IG1vZGVsID0gdGYuc2VxdWVudGlhbCh7XG4gICAqICAgbGF5ZXJzOiBbdGYubGF5ZXJzLmRlbnNlKHt1bml0czogMSwgaW5wdXRTaGFwZTogWzEwXX0pXVxuICAgKiB9KTtcbiAgICogbW9kZWwucHJlZGljdCh0Zi5vbmVzKFsyLCAxMF0pKS5wcmludCgpO1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHggVGhlIGlucHV0IGRhdGEsIGFzIGEgVGVuc29yLCBvciBhbiBgQXJyYXlgIG9mIGB0Zi5UZW5zb3JgcyBpZlxuICAgKiAgIHRoZSBtb2RlbCBoYXMgbXVsdGlwbGUgaW5wdXRzLlxuICAgKiBAcGFyYW0gY29uaWZnIEEgYE1vZGVsUHJlZGljdENvbmZpZ2Agb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9uYWwgZmllbGRzLlxuICAgKlxuICAgKiBAcmV0dXJuIGB0Zi5UZW5zb3JgKHMpIG9mIHByZWRpY3Rpb25zLlxuICAgKlxuICAgKiBAZXhjZXB0aW9uIFZhbHVlRXJyb3IgSW4gY2FzZSBvZiBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBwcm92aWRlZCBpbnB1dCBkYXRhXG4gICAqICAgYW5kIHRoZSBtb2RlbCdzIGV4cGVjdGF0aW9ucywgb3IgaW4gY2FzZSBhIHN0YXRlZnVsIG1vZGVsIHJlY2VpdmVzIGFcbiAgICogICBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IGlzIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBiYXRjaCBzaXplLlxuICAgKlxuICAgKiBAZG9jIHtoZWFkaW5nOiAnTW9kZWxzJywgc3ViaGVhZGluZzogJ0NsYXNzZXMnfVxuICAgKi9cbiAgb3ZlcnJpZGUgcHJlZGljdCh4OiBUZW5zb3J8VGVuc29yW10sIGFyZ3M6IE1vZGVsUHJlZGljdEFyZ3MgPSB7fSk6XG4gICAgICBUZW5zb3J8VGVuc29yW10ge1xuICAgIGlmICh0aGlzLm1vZGVsID09IG51bGwpIHtcbiAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubW9kZWwucHJlZGljdCh4LCBhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHByZWRpY3Rpb25zIGZvciBhIHNpbmdsZSBiYXRjaCBvZiBzYW1wbGVzLlxuICAgKlxuICAgKiBAcGFyYW0geDogSW5wdXQgc2FtcGxlcywgYXMgYSBUZW5zb3IsIG9yIGxpc3Qgb2YgVGVuc29ycyAoaWYgdGhlIG1vZGVsXG4gICAqICAgaGFzIG11bHRpcGxlIGlucHV0cykuXG4gICAqIEByZXR1cm4gVGVuc29yKHMpIG9mIHByZWRpY3Rpb25zXG4gICAqL1xuICBvdmVycmlkZSBwcmVkaWN0T25CYXRjaCh4OiBUZW5zb3IpOiBUZW5zb3J8VGVuc29yW10ge1xuICAgIGlmICh0aGlzLm1vZGVsID09IG51bGwpIHtcbiAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubW9kZWwucHJlZGljdE9uQmF0Y2goeCk7XG4gIH1cblxuICAvKipcbiAgICogU2VlIGBMYXllcnNNb2RlbC5jb21waWxlYC5cbiAgICpcbiAgICogQHBhcmFtIGFyZ3NcbiAgICovXG4gIG92ZXJyaWRlIGNvbXBpbGUoYXJnczogTW9kZWxDb21waWxlQXJncyk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGQoKTtcbiAgICB0aGlzLm1vZGVsLmNvbXBpbGUoYXJncyk7XG4gICAgdGhpcy5vcHRpbWl6ZXJfID0gdGhpcy5tb2RlbC5vcHRpbWl6ZXI7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICAgIHRoaXMuaXNPcHRpbWl6ZXJPd25lZCA9ICh0aGlzLm1vZGVsIGFzIGFueSkuaXNPcHRpbWl6ZXJPd25lZDtcbiAgICB0aGlzLmxvc3MgPSB0aGlzLm1vZGVsLmxvc3M7XG4gICAgdGhpcy5tZXRyaWNzID0gdGhpcy5tb2RlbC5tZXRyaWNzO1xuICAgIC8vIFRPRE8oY2Fpcyk6IEFkZCB0aGlzLmxvc3NXZWlnaHRzLCB0aGlzLnNhbXBsZVdlaWdodE1vZGUsXG4gICAgLy8gICB0aGlzLndlaWdodGVkTWV0cmljcywgdGhpcy50YXJnZXRzLlxuICAgIHRoaXMubWV0cmljc1RlbnNvcnMgPSB0aGlzLm1vZGVsLm1ldHJpY3NUZW5zb3JzO1xuICAgIHRoaXMubWV0cmljc05hbWVzID0gdGhpcy5tb2RlbC5tZXRyaWNzTmFtZXM7XG4gICAgLy8gVE9ETyhjYWlzKTogQWRkIHNhbXBsZVdlaWdodHMuXG4gIH1cblxuICBvdmVycmlkZSBnZXQgb3B0aW1pemVyKCk6IE9wdGltaXplciB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHRoaXMubW9kZWwub3B0aW1pemVyO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0IG9wdGltaXplcihvcHRpbWl6ZXI6IE9wdGltaXplcikge1xuICAgIHRoaXMubW9kZWwub3B0aW1pemVyID0gb3B0aW1pemVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWlucyB0aGUgbW9kZWwgZm9yIGEgZml4ZWQgbnVtYmVyIG9mIGVwb2NocyAoaXRlcmF0aW9ucyBvbiBhIGRhdGFzZXQpLlxuICAgKlxuICAgKiBgYGBqc1xuICAgKiBjb25zdCBtb2RlbCA9IHRmLnNlcXVlbnRpYWwoe1xuICAgKiAgIGxheWVyczogW3RmLmxheWVycy5kZW5zZSh7dW5pdHM6IDEsIGlucHV0U2hhcGU6IFsxMF19KV1cbiAgICogfSk7XG4gICAqIG1vZGVsLmNvbXBpbGUoe29wdGltaXplcjogJ3NnZCcsIGxvc3M6ICdtZWFuU3F1YXJlZEVycm9yJ30pO1xuICAgKiBjb25zdCBoaXN0b3J5ID0gYXdhaXQgbW9kZWwuZml0KHRmLm9uZXMoWzgsIDEwXSksIHRmLm9uZXMoWzgsIDFdKSwge1xuICAgKiAgIGJhdGNoU2l6ZTogNCxcbiAgICogICBlcG9jaHM6IDNcbiAgICogfSk7XG4gICAqIGNvbnNvbGUubG9nKGhpc3RvcnkuaGlzdG9yeS5sb3NzWzBdKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSB4IGB0Zi5UZW5zb3JgIG9mIHRyYWluaW5nIGRhdGEsIG9yIGFuIGFycmF5IG9mIGB0Zi5UZW5zb3JgcyBpZiB0aGVcbiAgICogbW9kZWwgaGFzIG11bHRpcGxlIGlucHV0cy4gSWYgYWxsIGlucHV0cyBpbiB0aGUgbW9kZWwgYXJlIG5hbWVkLCB5b3UgY2FuXG4gICAqIGFsc28gcGFzcyBhIGRpY3Rpb25hcnkgbWFwcGluZyBpbnB1dCBuYW1lcyB0byBgdGYuVGVuc29yYHMuXG4gICAqIEBwYXJhbSB5IGB0Zi5UZW5zb3JgIG9mIHRhcmdldCAobGFiZWwpIGRhdGEsIG9yIGFuIGFycmF5IG9mIGB0Zi5UZW5zb3JgcyBpZlxuICAgKiB0aGUgbW9kZWwgaGFzIG11bHRpcGxlIG91dHB1dHMuIElmIGFsbCBvdXRwdXRzIGluIHRoZSBtb2RlbCBhcmUgbmFtZWQsIHlvdVxuICAgKiAgY2FuIGFsc28gcGFzcyBhIGRpY3Rpb25hcnkgbWFwcGluZyBvdXRwdXQgbmFtZXMgdG8gYHRmLlRlbnNvcmBzLlxuICAgKiBAcGFyYW0gYXJncyAgQSBgTW9kZWxGaXRDb25maWdgLCBjb250YWluaW5nIG9wdGlvbmFsIGZpZWxkcy5cbiAgICpcbiAgICogQHJldHVybiBBIGBIaXN0b3J5YCBpbnN0YW5jZS4gSXRzIGBoaXN0b3J5YCBhdHRyaWJ1dGUgY29udGFpbnMgYWxsXG4gICAqICAgaW5mb3JtYXRpb24gY29sbGVjdGVkIGR1cmluZyB0cmFpbmluZy5cbiAgICpcbiAgICogQGV4Y2VwdGlvbiBWYWx1ZUVycm9yIEluIGNhc2Ugb2YgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgcHJvdmlkZWQgaW5wdXQgZGF0YVxuICAgKiAgIGFuZCB3aGF0IHRoZSBtb2RlbCBleHBlY3RzLlxuICAgKlxuICAgKiBAZG9jIHtoZWFkaW5nOiAnTW9kZWxzJywgc3ViaGVhZGluZzogJ0NsYXNzZXMnfVxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgZml0KFxuICAgICAgeDogVGVuc29yfFRlbnNvcltdfHtbaW5wdXROYW1lOiBzdHJpbmddOiBUZW5zb3J9LFxuICAgICAgeTogVGVuc29yfFRlbnNvcltdfHtbaW5wdXROYW1lOiBzdHJpbmddOiBUZW5zb3J9LFxuICAgICAgYXJnczogTW9kZWxGaXRBcmdzID0ge30pOiBQcm9taXNlPEhpc3Rvcnk+IHtcbiAgICBpZiAoIXRoaXMuYnVpbHQpIHtcbiAgICAgIHRocm93IG5ldyBSdW50aW1lRXJyb3IoXG4gICAgICAgICAgJ1RoZSBtb2RlbCBuZWVkcyB0byBiZSBjb21waWxlZCBiZWZvcmUgJyArXG4gICAgICAgICAgJ2JlaW5nIHVzZWQuJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vZGVsLmZpdCh4LCB5LCBhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFpbnMgdGhlIG1vZGVsIHVzaW5nIGEgZGF0YXNldCBvYmplY3QuXG4gICAqXG4gICAqIGBgYGpzXG4gICAqIGNvbnN0IHhBcnJheSA9IFtcbiAgICogICBbMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMV0sXG4gICAqICAgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDFdLFxuICAgKiAgIFsxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxXSxcbiAgICogICBbMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMV0sXG4gICAqIF07XG4gICAqIGNvbnN0IHlBcnJheSA9IFsxLCAxLCAxLCAxXTtcbiAgICogLy8gQ3JlYXRlIGEgZGF0YXNldCBmcm9tIHRoZSBKYXZhU2NyaXB0IGFycmF5LlxuICAgKiBjb25zdCB4RGF0YXNldCA9IHRmLmRhdGEuYXJyYXkoeEFycmF5KTtcbiAgICogY29uc3QgeURhdGFzZXQgPSB0Zi5kYXRhLmFycmF5KHlBcnJheSk7XG4gICAqIC8vIFppcCBjb21iaW5lcyB0aGUgYHhgIGFuZCBgeWAgRGF0YXNldHMgaW50byBhIHNpbmdsZSBEYXRhc2V0LCB0aGVcbiAgICogLy8gaXRlcmF0b3Igb2Ygd2hpY2ggd2lsbCByZXR1cm4gYW4gb2JqZWN0IGNvbnRhaW5pbmcgb2YgdHdvIHRlbnNvcnMsXG4gICAqIC8vIGNvcnJlc3BvbmRpbmcgdG8gYHhgIGFuZCBgeWAuICBUaGUgY2FsbCB0byBgYmF0Y2goNClgIHdpbGwgYnVuZGxlXG4gICAqIC8vIGZvdXIgc3VjaCBzYW1wbGVzIGludG8gYSBzaW5nbGUgb2JqZWN0LCB3aXRoIHRoZSBzYW1lIGtleXMgbm93IHBvaW50aW5nXG4gICAqIC8vIHRvIHRlbnNvcnMgdGhhdCBob2xkIDQgZXhhbXBsZXMsIG9yZ2FuaXplZCBhbG9uZyB0aGUgYmF0Y2ggZGltZW5zaW9uLlxuICAgKiAvLyBUaGUgY2FsbCB0byBgc2h1ZmZsZSg0KWAgY2F1c2VzIGVhY2ggaXRlcmF0aW9uIHRocm91Z2ggdGhlIGRhdGFzZXQgdG9cbiAgICogLy8gaGFwcGVuIGluIGEgZGlmZmVyZW50IG9yZGVyLiAgVGhlIHNpemUgb2YgdGhlIHNodWZmbGUgd2luZG93IGlzIDQuXG4gICAqIGNvbnN0IHh5RGF0YXNldCA9IHRmLmRhdGEuemlwKHt4czogeERhdGFzZXQsIHlzOiB5RGF0YXNldH0pXG4gICAqICAgICAuYmF0Y2goNClcbiAgICogICAgIC5zaHVmZmxlKDQpO1xuICAgKiBjb25zdCBtb2RlbCA9IHRmLnNlcXVlbnRpYWwoe1xuICAgKiAgIGxheWVyczogW3RmLmxheWVycy5kZW5zZSh7dW5pdHM6IDEsIGlucHV0U2hhcGU6IFs5XX0pXVxuICAgKiB9KTtcbiAgICogbW9kZWwuY29tcGlsZSh7b3B0aW1pemVyOiAnc2dkJywgbG9zczogJ21lYW5TcXVhcmVkRXJyb3InfSk7XG4gICAqIGNvbnN0IGhpc3RvcnkgPSBhd2FpdCBtb2RlbC5maXREYXRhc2V0KHh5RGF0YXNldCwge1xuICAgKiAgIGVwb2NoczogNCxcbiAgICogICBjYWxsYmFja3M6IHtvbkVwb2NoRW5kOiAoZXBvY2gsIGxvZ3MpID0+IGNvbnNvbGUubG9nKGxvZ3MubG9zcyl9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIGRhdGFzZXQgQSBkYXRhc2V0IG9iamVjdC4gSXRzIGBpdGVyYXRvcigpYCBtZXRob2QgaXMgZXhwZWN0ZWQgdG9cbiAgICogICBnZW5lcmF0ZSBhIGRhdGFzZXQgaXRlcmF0b3Igb2JqZWN0LCB0aGUgYG5leHQoKWAgbWV0aG9kIG9mIHdoaWNoIGlzXG4gICAqICAgZXhwZWN0ZWQgdG8gcHJvZHVjZSBkYXRhIGJhdGNoZXMgZm9yIGV2YWx1YXRpb24uIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlXG4gICAqICAgYG5leHQoKWAgY2FsbCBvdWdodCB0byBjb250YWluIGEgYm9vbGVhbiBgZG9uZWAgZmllbGQgYW5kIGEgYHZhbHVlYFxuICAgKiAgIGZpZWxkLlxuICAgKlxuICAgKiAgIFRoZSBgdmFsdWVgIGZpZWxkIGlzIGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCBvZiB3aXRoIGZpZWxkc1xuICAgKiAgIGB4c2AgYW5kIGB5c2AsIHdoaWNoIHBvaW50IHRvIHRoZSBmZWF0dXJlIHRlbnNvciBhbmQgdGhlIHRhcmdldCB0ZW5zb3IsXG4gICAqICAgcmVzcGVjdGl2ZWx5LiBUaGlzIGNhc2UgaXMgZm9yIG1vZGVscyB3aXRoIGV4YWN0bHkgb25lIGlucHV0IGFuZCBvbmVcbiAgICogICBvdXRwdXQgKGUuZy4gYSBzZXF1ZW50aWFsIG1vZGVsKS4gRm9yIGV4YW1wbGU6XG4gICAqICAgYGBganNcbiAgICogICB7dmFsdWU6IHt4czogeHNUZW5zb3IsIHlzOiB5c1RlbnNvcn0sIGRvbmU6IGZhbHNlfVxuICAgKiAgIGBgYFxuICAgKlxuICAgKiAgIElmIHRoZSBtb2RlbCBoYXMgbXVsdGlwbGUgaW5wdXRzLCB0aGUgYHhzYCBmaWVsZCBvZiBgdmFsdWVgIHNob3VsZFxuICAgKiAgIGJlIGFuIG9iamVjdCBtYXBwaW5nIGlucHV0IG5hbWVzIHRvIHRoZWlyIHJlc3BlY3RpdmUgZmVhdHVyZSB0ZW5zb3JzLlxuICAgKiAgIEZvciBleGFtcGxlOlxuICAgKiAgIGBgYGpzXG4gICAqICAge1xuICAgKiAgICAgdmFsdWU6IHtcbiAgICogICAgICAgeHM6IHtcbiAgICogICAgICAgICBpbnB1dF8xOiB4c1RlbnNvcjEsXG4gICAqICAgICAgICAgaW5wdXRfMjogeHNUZW5zb3IyXG4gICAqICAgICAgIH0sXG4gICAqICAgICAgIHlzOiB5c1RlbnNvclxuICAgKiAgICAgfSxcbiAgICogICAgIGRvbmU6IGZhbHNlXG4gICAqICAgfVxuICAgKiAgIGBgYFxuICAgKiAgIElmIHRoZSBtb2RlbCBoYXMgbXVsdGlwbGUgb3V0cHV0cywgdGhlIGB5c2AgZmllbGQgb2YgYHZhbHVlYCBzaG91bGRcbiAgICogICBiZSBhbiBvYmplY3QgbWFwcGluZyBvdXRwdXQgbmFtZXMgdG8gdGhlaXIgcmVzcGVjdGl2ZSB0YXJnZXQgdGVuc29ycy5cbiAgICogICBGb3IgZXhhbXBsZTpcbiAgICogICBgYGBqc1xuICAgKiAgIHtcbiAgICogICAgIHZhbHVlOiB7XG4gICAqICAgICAgIHhzOiB4c1RlbnNvcixcbiAgICogICAgICAgeXM6IHtcbiAgICogICAgICAgICBvdXRwdXRfMTogeXNUZW5zb3IxLFxuICAgKiAgICAgICAgIG91dHB1dF8yOiB5c1RlbnNvcjJcbiAgICogICAgICAgfSxcbiAgICogICAgIH0sXG4gICAqICAgICBkb25lOiBmYWxzZVxuICAgKiAgIH1cbiAgICogICBgYGBcbiAgICogQHBhcmFtIGFyZ3MgQSBgTW9kZWxGaXREYXRhc2V0QXJnc2AsIGNvbnRhaW5pbmcgb3B0aW9uYWwgZmllbGRzLlxuICAgKlxuICAgKiBAcmV0dXJuIEEgYEhpc3RvcnlgIGluc3RhbmNlLiBJdHMgYGhpc3RvcnlgIGF0dHJpYnV0ZSBjb250YWlucyBhbGxcbiAgICogICBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQgZHVyaW5nIHRyYWluaW5nLlxuICAgKlxuICAgKiBAZG9jIHtoZWFkaW5nOiAnTW9kZWxzJywgc3ViaGVhZGluZzogJ0NsYXNzZXMnLCBpZ25vcmVDSTogdHJ1ZX1cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIGZpdERhdGFzZXQ8VD4oZGF0YXNldDogRGF0YXNldDxUPixcbiAgICAgIGFyZ3M6IE1vZGVsRml0RGF0YXNldEFyZ3M8VD4pOiBQcm9taXNlPEhpc3Rvcnk+IHtcbiAgICBpZiAoIXRoaXMuYnVpbHQpIHtcbiAgICAgIHRocm93IG5ldyBSdW50aW1lRXJyb3IoXG4gICAgICAgICAgJ1RoZSBtb2RlbCBuZWVkcyB0byBiZSBjb21waWxlZCBiZWZvcmUgJyArXG4gICAgICAgICAgJ2JlaW5nIHVzZWQuJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vZGVsLmZpdERhdGFzZXQoZGF0YXNldCwgYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhIHNpbmdsZSBncmFkaWVudCB1cGRhdGUgb24gYSBzaW5nbGUgYmF0Y2ggb2YgZGF0YS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgZGlmZmVycyBmcm9tIGBmaXQoKWAgYW5kIGBmaXREYXRhc2V0KClgIGluIHRoZSBmb2xsb3dpbmdcbiAgICogcmVnYXJkczpcbiAgICogICAtIEl0IG9wZXJhdGVzIG9uIGV4YWN0bHkgb25lIGJhdGNoIG9mIGRhdGEuXG4gICAqICAgLSBJdCByZXR1cm5zIG9ubHkgdGhlIGxvc3MgYW5kIG1ldHJpYyB2YWx1ZXMsIGluc3RlYWQgb2ZcbiAgICogICAgIHJldHVybmluZyB0aGUgYmF0Y2gtYnktYmF0Y2ggbG9zcyBhbmQgbWV0cmljIHZhbHVlcy5cbiAgICogICAtIEl0IGRvZXNuJ3Qgc3VwcG9ydCBmaW5lLWdyYWluZWQgb3B0aW9ucyBzdWNoIGFzIHZlcmJvc2l0eSBhbmRcbiAgICogICAgIGNhbGxiYWNrcy5cbiAgICpcbiAgICogQHBhcmFtIHggSW5wdXQgZGF0YS4gSXQgY291bGQgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4gICAqICAgLSBBIGB0Zi5UZW5zb3JgLCBvciBhbiBBcnJheSBvZiBgdGYuVGVuc29yYHMgKGluIGNhc2UgdGhlIG1vZGVsIGhhc1xuICAgKiAgICAgbXVsdGlwbGUgaW5wdXRzKS5cbiAgICogICAtIEFuIE9iamVjdCBtYXBwaW5nIGlucHV0IG5hbWVzIHRvIGNvcnJlc3BvbmRpbmcgYHRmLlRlbnNvcmAgKGlmIHRoZVxuICAgKiAgICAgbW9kZWwgaGFzIG5hbWVkIGlucHV0cykuXG4gICAqIEBwYXJhbSB5IFRhcmdldCBkYXRhLiBJdCBjb3VsZCBiZSBlaXRoZXIgYSBgdGYuVGVuc29yYCBvciBtdWx0aXBsZVxuICAgKiAgIGB0Zi5UZW5zb3Jgcy4gSXQgc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCBgeGAuXG4gICAqIEByZXR1cm5zIFRyYWluaW5nIGxvc3Mgb3IgbG9zc2VzIChpbiBjYXNlIHRoZSBtb2RlbCBoYXNcbiAgICogICBtdWx0aXBsZSBvdXRwdXRzKSwgYWxvbmcgd2l0aCBtZXRyaWNzIChpZiBhbnkpLCBhcyBudW1iZXJzLlxuICAgKlxuICAgKiBAZG9jIHtoZWFkaW5nOiAnTW9kZWxzJywgc3ViaGVhZGluZzogJ0NsYXNzZXMnfVxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgdHJhaW5PbkJhdGNoKFxuICAgICAgeDogVGVuc29yfFRlbnNvcltdfHtbaW5wdXROYW1lOiBzdHJpbmddOiBUZW5zb3J9LFxuICAgICAgeTogVGVuc29yfFRlbnNvcltdfFxuICAgICAge1tpbnB1dE5hbWU6IHN0cmluZ106IFRlbnNvcn0pOiBQcm9taXNlPG51bWJlcnxudW1iZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLnRyYWluT25CYXRjaCh4LCB5KTtcbiAgfVxuXG4gIC8qIFNlZSBwYXJlbnQgY2xhc3MgZm9yIEpzRG9jICovXG4gIC8qKiBAbm9jb2xsYXBzZSAqL1xuICBzdGF0aWMgb3ZlcnJpZGUgZnJvbUNvbmZpZzxUIGV4dGVuZHMgc2VyaWFsaXphdGlvbi5TZXJpYWxpemFibGU+KFxuICAgICAgY2xzOiBzZXJpYWxpemF0aW9uLlNlcmlhbGl6YWJsZUNvbnN0cnVjdG9yPFQ+LFxuICAgICAgY29uZmlnOiBzZXJpYWxpemF0aW9uLkNvbmZpZ0RpY3QsXG4gICAgICBjdXN0b21PYmplY3RzID0ge30gYXMgc2VyaWFsaXphdGlvbi5Db25maWdEaWN0LFxuICAgICAgZmFzdFdlaWdodEluaXQgPSBmYWxzZSk6IFQge1xuICAgIGxldCBjb25maWdBcnJheTogc2VyaWFsaXphdGlvbi5Db25maWdEaWN0QXJyYXk7XG4gICAgbGV0IGV4dHJhTW9kZWxDb25maWc6IHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdCA9IHt9O1xuICAgIGlmIChjb25maWcgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgaWYgKCEoY29uZmlnWzBdLmNsYXNzTmFtZSAhPSBudWxsKSB8fFxuICAgICAgICAgIGNvbmZpZ1swXVsnY2xhc3NOYW1lJ10gPT09ICdNZXJnZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbHVlRXJyb3IoJ0xlZ2FjeSBzZXJpYWxpemF0aW9uIGZvcm1hdCBub3Qgc3VwcG9ydGVkIHlldC4nKTtcbiAgICAgIH1cbiAgICAgIGNvbmZpZ0FycmF5ID0gY29uZmlnO1xuICAgIH0gZWxzZSB7XG4gICAgICB1dGlsLmFzc2VydChcbiAgICAgICAgICBjb25maWdbJ2xheWVycyddICE9IG51bGwsXG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgYFdoZW4gdGhlIGNvbmZpZyBkYXRhIGZvciBhIFNlcXVlbnRpYWwgbW9kZWwgaXMgbm90IGFuIEFycmF5LCBgICtcbiAgICAgICAgICAgICAgYGl0IG11c3QgYmUgYW4gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlICdsYXllcnMnIGZpZWxkLmApO1xuICAgICAgY29uZmlnQXJyYXkgPSBjb25maWdbJ2xheWVycyddIGFzIHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdEFycmF5O1xuICAgICAgZGVsZXRlIGNvbmZpZ1snbGF5ZXJzJ107XG4gICAgICBleHRyYU1vZGVsQ29uZmlnID0gY29uZmlnO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGVsID0gbmV3IGNscyhleHRyYU1vZGVsQ29uZmlnKTtcbiAgICBpZiAoIShtb2RlbCBpbnN0YW5jZW9mIFNlcXVlbnRpYWwpKSB7XG4gICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihcbiAgICAgICAgICBgU2VxdWVudGlhbC5mcm9tQ29uZmlnIGNhbGxlZCBvbiBub24tU2VxdWVudGlhbCBpbnB1dDogJHttb2RlbH1gKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBjb25mIG9mIGNvbmZpZ0FycmF5KSB7XG4gICAgICBjb25zdCBjdXN0b21PYmplY3RzOiBzZXJpYWxpemF0aW9uLkNvbmZpZ0RpY3QgPSB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBsYXllciA9IGRlc2VyaWFsaXplKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZiBhcyBzZXJpYWxpemF0aW9uLkNvbmZpZ0RpY3QsIGN1c3RvbU9iamVjdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYXN0V2VpZ2h0SW5pdCkgYXMgTGF5ZXI7XG4gICAgICBpZiAoZmFzdFdlaWdodEluaXQpIHtcbiAgICAgICAgbGF5ZXIuc2V0RmFzdFdlaWdodEluaXREdXJpbmdCdWlsZCh0cnVlKTtcbiAgICAgIH1cbiAgICAgIG1vZGVsLmFkZChsYXllcik7XG4gICAgfVxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR0ZXIgdXNlZCBmb3IgZm9yY2Ugc3RvcHBpbmcgb2YgTGF5ZXJzTW9kZWwuZml0KCkgKGkuZS4sIHRyYWluaW5nKS5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICpcbiAgICogYGBganNcbiAgICogY29uc3QgbW9kZWwgPSB0Zi5zZXF1ZW50aWFsKCk7XG4gICAqIG1vZGVsLmFkZCh0Zi5sYXllcnMuZGVuc2Uoe3VuaXRzOiAxLCBpbnB1dFNoYXBlOiBbMTBdfSkpO1xuICAgKiBtb2RlbC5jb21waWxlKHtsb3NzOiAnbWVhblNxdWFyZWRFcnJvcicsIG9wdGltaXplcjogJ3NnZCd9KTtcbiAgICogY29uc3QgeHMgPSB0Zi5vbmVzKFs4LCAxMF0pO1xuICAgKiBjb25zdCB5cyA9IHRmLnplcm9zKFs4LCAxXSk7XG4gICAqXG4gICAqIGNvbnN0IGhpc3RvcnkgPSBhd2FpdCBtb2RlbC5maXQoeHMsIHlzLCB7XG4gICAqICAgZXBvY2hzOiAxMCxcbiAgICogICBjYWxsYmFja3M6IHtcbiAgICogICAgIG9uRXBvY2hFbmQ6IGFzeW5jIChlcG9jaCwgbG9ncykgPT4ge1xuICAgKiAgICAgICBpZiAoZXBvY2ggPT09IDIpIHtcbiAgICogICAgICAgICBtb2RlbC5zdG9wVHJhaW5pbmcgPSB0cnVlO1xuICAgKiAgICAgICB9XG4gICAqICAgICB9XG4gICAqICAgfVxuICAgKiB9KTtcbiAgICpcbiAgICogLy8gVGhlcmUgc2hvdWxkIGJlIG9ubHkgMyB2YWx1ZXMgaW4gdGhlIGxvc3MgYXJyYXksIGluc3RlYWQgb2YgMTAgdmFsdWVzLFxuICAgKiAvLyBkdWUgdG8gdGhlIHN0b3BwaW5nIGFmdGVyIDMgZXBvY2hzLlxuICAgKiBjb25zb2xlLmxvZyhoaXN0b3J5Lmhpc3RvcnkubG9zcyk7XG4gICAqIGBgYFxuICAgKi9cbiAgb3ZlcnJpZGUgc2V0IHN0b3BUcmFpbmluZyhzdG9wOiBib29sZWFuKSB7XG4gICAgLy8gVE9ETyhjYWlzKTogV2hlbiByZWZhY3RvcmluZyB0byByZW1vdmUgdGhlIGNvbXBvc2l0aW9uIHBhdHRlcm4gaGFwcGVucyxcbiAgICAvLyByZW1vdmUgdGhpcyBtZXRob2Qgb3ZlcnJpZGluZy5cbiAgICBpZiAodGhpcy5tb2RlbCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsdWVFcnJvcihcbiAgICAgICAgICAnQ2Fubm90IHNldCB0aGUgc3RvcFRyYWluaW5nIHByb3BlcnR5IG9mIGEgc2VxdWVudGlhbCBtb2RlbCBiZWZvcmUgJyArXG4gICAgICAgICAgJ2l0IGlzIGNvbXBpbGVkLicpO1xuICAgIH1cbiAgICB0aGlzLm1vZGVsLnN0b3BUcmFpbmluZyA9IHN0b3A7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgc3RvcFRyYWluaW5nKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm1vZGVsID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBWYWx1ZUVycm9yKFxuICAgICAgICAgICdDYW5ub3QgZ2V0IHRoZSBzdG9wVHJhaW5pbmcgcHJvcGVydHkgb2YgYSBzZXF1ZW50aWFsIG1vZGVsIGJlZm9yZSAnICtcbiAgICAgICAgICAnaXQgaXMgY29tcGlsZWQuJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vZGVsLnN0b3BUcmFpbmluZztcbiAgfVxuXG4gIC8vIFRPRE8oY2Fpcyk6IE92ZXJyaWRlIGdldCB0cmFpbmFibGVXZWlnaHRzKCkgaGVyZVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgb3ZlcnJpZGUgZ2V0Q29uZmlnKCk6IGFueSB7XG4gICAgLy8gTk9URShjYWlzKTogV2Ugb3ZlcnJpZGUgdGhlIHJldHVybiB0eXBlIG9mIGdldENvbmZpZygpIHRvIGBhbnlgIGhlcmUsXG4gICAgLy8gICBiZWNhdXNlIHRoZSBgU2VxdWVudGlhbGAgY2xhc3MgaXMgYSBzcGVjaWFsIGNhc2UgYW1vbmcgYENvbnRhaW5lcmBcbiAgICAvLyAgIHN1YnR5cGVzIGluIHRoYXQgaXRzIGdldENvbmZpZygpIG1ldGhvZCByZXR1cm5zIGFuIEFycmF5IChub3QgYVxuICAgIC8vICAgZGljdCkuXG4gICAgY29uc3QgbGF5ZXJzOiBzZXJpYWxpemF0aW9uLkNvbmZpZ0RpY3RbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcbiAgICAgIGNvbnN0IGRpY3Q6IHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdCA9IHt9O1xuICAgICAgZGljdFsnY2xhc3NOYW1lJ10gPSBsYXllci5nZXRDbGFzc05hbWUoKTtcbiAgICAgIGRpY3RbJ2NvbmZpZyddID0gbGF5ZXIuZ2V0Q29uZmlnKCk7XG4gICAgICBsYXllcnMucHVzaChkaWN0KTtcbiAgICB9XG4gICAgcmV0dXJuIHtuYW1lOiB0aGlzLm5hbWUsIGxheWVyc307XG4gIH1cbn1cbnNlcmlhbGl6YXRpb24ucmVnaXN0ZXJDbGFzcyhTZXF1ZW50aWFsKTtcbiJdfQ=="],"names":["loadLayersModel","pathOrIOHandler","options","handlers","io.getLoadHandlers","io.browserHTTPRequest","ValueError","loadLayersModelFromIOHandler","handler","customObjects","artifacts","modelTopology","strict","fastWeightInit","model","deserialize","convertPythonicToTs","trainingConfig","modelWeights","optimizerWeights","decodeModelAndOptimizerWeights","dispose","w","weightData","specs","name2Tensor","io.decodeWeights","spec","Sequential","LayersModel","args","getUid","layer","x","isLayerModelInstance","modelLayer","Input","getSourceInputs","Node","generic_utils.pyListRepeat","outputTensor","lastLayerIndex","inputs","kwargs","inputShape","getExactlyOneShape","lineLength","positions","printFn","weights","y","RuntimeError","dataset","optimizer","cls","config","configArray","extraModelConfig","util.assert","NotImplementedError","conf","stop","layers","dict","serialization.registerClass"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,30 @@
1
+ import "../../tfjs-core/dist/index.js";
2
+ import { epsilon as d } from "./backend/common.js";
3
+ import { ValueError as o } from "./errors.js";
4
+ import { train as r } from "../../tfjs-core/dist/train.js";
5
+ /**
6
+ * @license
7
+ * Copyright 2018 Google LLC
8
+ *
9
+ * Use of this source code is governed by an MIT-style
10
+ * license that can be found in the LICENSE file or at
11
+ * https://opensource.org/licenses/MIT.
12
+ * =============================================================================
13
+ */
14
+ function n(m) {
15
+ const a = {
16
+ Adagrad: () => r.adagrad(0.01),
17
+ Adadelta: () => r.adadelta(1, 0.95, d()),
18
+ Adam: () => r.adam(1e-3, 0.9, 0.999, d()),
19
+ Adamax: () => r.adamax(2e-3, 0.9, 0.999, d(), 0),
20
+ RMSProp: () => r.rmsprop(1e-3, 0.9, 0, d()),
21
+ SGD: () => r.sgd(0.01)
22
+ };
23
+ if (a.adagrad = a.Adagrad, a.adadelta = a.Adadelta, a.adam = a.Adam, a.adamax = a.Adamax, a.rmsprop = a.RMSProp, a.sgd = a.SGD, m in a)
24
+ return a[m]();
25
+ throw new o(`Unknown Optimizer ${m}`);
26
+ }
27
+ export {
28
+ n as getOptimizer
29
+ };
30
+ //# sourceMappingURL=optimizers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizers.js","sources":["../../../../../node_modules/@tensorflow/tfjs-layers/dist/optimizers.js"],"sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n *\n * Use of this source code is governed by an MIT-style\n * license that can be found in the LICENSE file or at\n * https://opensource.org/licenses/MIT.\n * =============================================================================\n */\n/**\n * Optimizers.\n */\nimport { train } from '@tensorflow/tfjs-core';\nimport { epsilon } from './backend/common';\nimport { ValueError } from './errors';\n// Add (de)serialize()\n// Porting note: This diverges from the PyKeras implementation and may need to\n// change based on (de)serialization requirements.\nexport function getOptimizer(identifier) {\n const optimizerMap = {\n 'Adagrad': () => train.adagrad(0.01),\n 'Adadelta': () => train.adadelta(1, 0.95, epsilon()),\n 'Adam': () => train.adam(0.001, 0.9, 0.999, epsilon()),\n 'Adamax': () => train.adamax(0.002, 0.9, 0.999, epsilon(), 0),\n 'RMSProp': () => train.rmsprop(0.001, 0.9, 0, epsilon()),\n 'SGD': () => train.sgd(0.01)\n };\n optimizerMap['adagrad'] = optimizerMap['Adagrad'];\n optimizerMap['adadelta'] = optimizerMap['Adadelta'];\n optimizerMap['adam'] = optimizerMap['Adam'];\n optimizerMap['adamax'] = optimizerMap['Adamax'];\n optimizerMap['rmsprop'] = optimizerMap['RMSProp'];\n optimizerMap['sgd'] = optimizerMap['SGD'];\n if (identifier in optimizerMap) {\n return optimizerMap[identifier]();\n }\n throw new ValueError(`Unknown Optimizer ${identifier}`);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW1pemVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RmanMtbGF5ZXJzL3NyYy9vcHRpbWl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUg7O0dBRUc7QUFFSCxPQUFPLEVBQVksS0FBSyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEMsc0JBQXNCO0FBRXRCLDhFQUE4RTtBQUM5RSxrREFBa0Q7QUFDbEQsTUFBTSxVQUFVLFlBQVksQ0FBQyxVQUFrQjtJQUM3QyxNQUFNLFlBQVksR0FBK0M7UUFDL0QsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3BDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEQsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdELFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hELEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztLQUM3QixDQUFDO0lBQ0YsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUMsSUFBSSxVQUFVLElBQUksWUFBWSxFQUFFO1FBQzlCLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7S0FDbkM7SUFDRCxNQUFNLElBQUksVUFBVSxDQUFDLHFCQUFxQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOCBHb29nbGUgTExDXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlXG4gKiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXRcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlULlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKipcbiAqIE9wdGltaXplcnMuXG4gKi9cblxuaW1wb3J0IHtPcHRpbWl6ZXIsIHRyYWlufSBmcm9tICdAdGVuc29yZmxvdy90ZmpzLWNvcmUnO1xuXG5pbXBvcnQge2Vwc2lsb259IGZyb20gJy4vYmFja2VuZC9jb21tb24nO1xuXG5pbXBvcnQge1ZhbHVlRXJyb3J9IGZyb20gJy4vZXJyb3JzJztcblxuLy8gQWRkIChkZSlzZXJpYWxpemUoKVxuXG4vLyBQb3J0aW5nIG5vdGU6IFRoaXMgZGl2ZXJnZXMgZnJvbSB0aGUgUHlLZXJhcyBpbXBsZW1lbnRhdGlvbiBhbmQgbWF5IG5lZWQgdG9cbi8vIGNoYW5nZSBiYXNlZCBvbiAoZGUpc2VyaWFsaXphdGlvbiByZXF1aXJlbWVudHMuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW1pemVyKGlkZW50aWZpZXI6IHN0cmluZyk6IE9wdGltaXplciB7XG4gIGNvbnN0IG9wdGltaXplck1hcDoge1tvcHRpbWl6ZXJOYW1lOiBzdHJpbmddOiAoKSA9PiBPcHRpbWl6ZXJ9ID0ge1xuICAgICdBZGFncmFkJzogKCkgPT4gdHJhaW4uYWRhZ3JhZCgwLjAxKSxcbiAgICAnQWRhZGVsdGEnOiAoKSA9PiB0cmFpbi5hZGFkZWx0YSgxLCAwLjk1LCBlcHNpbG9uKCkpLFxuICAgICdBZGFtJzogKCkgPT4gdHJhaW4uYWRhbSgwLjAwMSwgMC45LCAwLjk5OSwgZXBzaWxvbigpKSxcbiAgICAnQWRhbWF4JzogKCkgPT4gdHJhaW4uYWRhbWF4KDAuMDAyLCAwLjksIDAuOTk5LCBlcHNpbG9uKCksIDApLFxuICAgICdSTVNQcm9wJzogKCkgPT4gdHJhaW4ucm1zcHJvcCgwLjAwMSwgMC45LCAwLCBlcHNpbG9uKCkpLFxuICAgICdTR0QnOiAoKSA9PiB0cmFpbi5zZ2QoMC4wMSlcbiAgfTtcbiAgb3B0aW1pemVyTWFwWydhZGFncmFkJ10gPSBvcHRpbWl6ZXJNYXBbJ0FkYWdyYWQnXTtcbiAgb3B0aW1pemVyTWFwWydhZGFkZWx0YSddID0gb3B0aW1pemVyTWFwWydBZGFkZWx0YSddO1xuICBvcHRpbWl6ZXJNYXBbJ2FkYW0nXSA9IG9wdGltaXplck1hcFsnQWRhbSddO1xuICBvcHRpbWl6ZXJNYXBbJ2FkYW1heCddID0gb3B0aW1pemVyTWFwWydBZGFtYXgnXTtcbiAgb3B0aW1pemVyTWFwWydybXNwcm9wJ10gPSBvcHRpbWl6ZXJNYXBbJ1JNU1Byb3AnXTtcbiAgb3B0aW1pemVyTWFwWydzZ2QnXSA9IG9wdGltaXplck1hcFsnU0dEJ107XG5cbiAgaWYgKGlkZW50aWZpZXIgaW4gb3B0aW1pemVyTWFwKSB7XG4gICAgcmV0dXJuIG9wdGltaXplck1hcFtpZGVudGlmaWVyXSgpO1xuICB9XG4gIHRocm93IG5ldyBWYWx1ZUVycm9yKGBVbmtub3duIE9wdGltaXplciAke2lkZW50aWZpZXJ9YCk7XG59XG4iXX0="],"names":["getOptimizer","identifier","optimizerMap","train","epsilon","ValueError"],"mappings":";;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,SAASA,EAAaC,GAAY;AACrC,QAAMC,IAAe;AAAA,IACjB,SAAW,MAAMC,EAAM,QAAQ,IAAI;AAAA,IACnC,UAAY,MAAMA,EAAM,SAAS,GAAG,MAAMC,GAAS;AAAA,IACnD,MAAQ,MAAMD,EAAM,KAAK,MAAO,KAAK,OAAOC,GAAS;AAAA,IACrD,QAAU,MAAMD,EAAM,OAAO,MAAO,KAAK,OAAOC,EAAS,GAAE,CAAC;AAAA,IAC5D,SAAW,MAAMD,EAAM,QAAQ,MAAO,KAAK,GAAGC,GAAS;AAAA,IACvD,KAAO,MAAMD,EAAM,IAAI,IAAI;AAAA,EACnC;AAOI,MANAD,EAAa,UAAaA,EAAa,SACvCA,EAAa,WAAcA,EAAa,UACxCA,EAAa,OAAUA,EAAa,MACpCA,EAAa,SAAYA,EAAa,QACtCA,EAAa,UAAaA,EAAa,SACvCA,EAAa,MAASA,EAAa,KAC/BD,KAAcC;AACd,WAAOA,EAAaD,CAAU;AAElC,QAAM,IAAII,EAAW,qBAAqBJ,CAAU,EAAE;AAC1D;","x_google_ignoreList":[0]}
@@ -0,0 +1,76 @@
1
+ import "../../tfjs-core/dist/index.js";
2
+ import { square as m } from "./backend/tfjs_backend.js";
3
+ import { serializeKerasObject as c, deserializeKerasObject as p } from "./utils/generic_utils.js";
4
+ import { registerClass as f, Serializable as h, SerializationMap as z } from "../../tfjs-core/dist/serialization.js";
5
+ import { tidy as L } from "../../tfjs-core/dist/globals.js";
6
+ import { zeros as R } from "../../tfjs-core/dist/ops/zeros.js";
7
+ import { add as l } from "../../tfjs-core/dist/ops/add.js";
8
+ import { sum as s } from "../../tfjs-core/dist/ops/sum.js";
9
+ import { mul as o } from "../../tfjs-core/dist/ops/mul.js";
10
+ import { abs as b } from "../../tfjs-core/dist/ops/abs.js";
11
+ import { reshape as g } from "../../tfjs-core/dist/ops/reshape.js";
12
+ /**
13
+ * @license
14
+ * Copyright 2018 Google LLC
15
+ *
16
+ * Use of this source code is governed by an MIT-style
17
+ * license that can be found in the LICENSE file or at
18
+ * https://opensource.org/licenses/MIT.
19
+ * =============================================================================
20
+ */
21
+ function E(r) {
22
+ if (r != null && typeof r != "object")
23
+ throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${r}`);
24
+ }
25
+ class a extends h {
26
+ }
27
+ class u extends a {
28
+ constructor(e) {
29
+ super(), E(e), this.l1 = e == null || e.l1 == null ? 0.01 : e.l1, this.l2 = e == null || e.l2 == null ? 0.01 : e.l2, this.hasL1 = this.l1 !== 0, this.hasL2 = this.l2 !== 0;
30
+ }
31
+ /**
32
+ * Porting note: Renamed from __call__.
33
+ * @param x Variable of which to calculate the regularization score.
34
+ */
35
+ apply(e) {
36
+ return L(() => {
37
+ let t = R([1]);
38
+ return this.hasL1 && (t = l(t, s(o(this.l1, b(e))))), this.hasL2 && (t = l(t, s(o(this.l2, m(e))))), g(t, []);
39
+ });
40
+ }
41
+ getConfig() {
42
+ return { l1: this.l1, l2: this.l2 };
43
+ }
44
+ /** @nocollapse */
45
+ static fromConfig(e, t) {
46
+ return new e({ l1: t.l1, l2: t.l2 });
47
+ }
48
+ }
49
+ u.className = "L1L2";
50
+ f(u);
51
+ const i = {
52
+ l1l2: "L1L2"
53
+ };
54
+ function C(r) {
55
+ return c(r);
56
+ }
57
+ function n(r, e = {}) {
58
+ return p(r, z.getMap().classNameMap, e, "regularizer");
59
+ }
60
+ function d(r) {
61
+ if (r == null)
62
+ return null;
63
+ if (typeof r == "string") {
64
+ const t = { className: r in i ? i[r] : r, config: {} };
65
+ return n(t);
66
+ } else return r instanceof a ? r : n(r);
67
+ }
68
+ export {
69
+ u as L1L2,
70
+ i as REGULARIZER_IDENTIFIER_REGISTRY_SYMBOL_MAP,
71
+ a as Regularizer,
72
+ n as deserializeRegularizer,
73
+ d as getRegularizer,
74
+ C as serializeRegularizer
75
+ };
76
+ //# sourceMappingURL=regularizers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regularizers.js","sources":["../../../../../node_modules/@tensorflow/tfjs-layers/dist/regularizers.js"],"sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n *\n * Use of this source code is governed by an MIT-style\n * license that can be found in the LICENSE file or at\n * https://opensource.org/licenses/MIT.\n * =============================================================================\n */\n/* original source: keras/regularizers.py */\nimport * as tfc from '@tensorflow/tfjs-core';\nimport { abs, add, serialization, sum, tidy, zeros } from '@tensorflow/tfjs-core';\nimport * as K from './backend/tfjs_backend';\nimport { deserializeKerasObject, serializeKerasObject } from './utils/generic_utils';\nfunction assertObjectArgs(args) {\n if (args != null && typeof args !== 'object') {\n throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an ` +\n `object, but received: ${args}`);\n }\n}\n/**\n * Regularizer base class.\n */\nexport class Regularizer extends serialization.Serializable {\n}\nclass L1L2 extends Regularizer {\n constructor(args) {\n super();\n assertObjectArgs(args);\n this.l1 = args == null || args.l1 == null ? 0.01 : args.l1;\n this.l2 = args == null || args.l2 == null ? 0.01 : args.l2;\n this.hasL1 = this.l1 !== 0;\n this.hasL2 = this.l2 !== 0;\n }\n /**\n * Porting note: Renamed from __call__.\n * @param x Variable of which to calculate the regularization score.\n */\n apply(x) {\n return tidy(() => {\n let regularization = zeros([1]);\n if (this.hasL1) {\n regularization = add(regularization, sum(tfc.mul(this.l1, abs(x))));\n }\n if (this.hasL2) {\n regularization =\n add(regularization, sum(tfc.mul(this.l2, K.square(x))));\n }\n return tfc.reshape(regularization, []);\n });\n }\n getConfig() {\n return { 'l1': this.l1, 'l2': this.l2 };\n }\n /** @nocollapse */\n static fromConfig(cls, config) {\n return new cls({ l1: config['l1'], l2: config['l2'] });\n }\n}\n/** @nocollapse */\nL1L2.className = 'L1L2';\nexport { L1L2 };\nserialization.registerClass(L1L2);\nexport function l1(args) {\n assertObjectArgs(args);\n return new L1L2({ l1: args != null ? args.l1 : null, l2: 0 });\n}\nexport function l2(args) {\n assertObjectArgs(args);\n return new L1L2({ l2: args != null ? args.l2 : null, l1: 0 });\n}\n// Maps the JavaScript-like identifier keys to the corresponding keras symbols.\nexport const REGULARIZER_IDENTIFIER_REGISTRY_SYMBOL_MAP = {\n 'l1l2': 'L1L2'\n};\nexport function serializeRegularizer(constraint) {\n return serializeKerasObject(constraint);\n}\nexport function deserializeRegularizer(config, customObjects = {}) {\n return deserializeKerasObject(config, serialization.SerializationMap.getMap().classNameMap, customObjects, 'regularizer');\n}\nexport function getRegularizer(identifier) {\n if (identifier == null) {\n return null;\n }\n if (typeof identifier === 'string') {\n const className = identifier in REGULARIZER_IDENTIFIER_REGISTRY_SYMBOL_MAP ?\n REGULARIZER_IDENTIFIER_REGISTRY_SYMBOL_MAP[identifier] :\n identifier;\n const config = { className, config: {} };\n return deserializeRegularizer(config);\n }\n else if (identifier instanceof Regularizer) {\n return identifier;\n }\n else {\n return deserializeRegularizer(identifier);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVndWxhcml6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGZqcy1sYXllcnMvc3JjL3JlZ3VsYXJpemVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILDRDQUE0QztBQUU1QyxPQUFPLEtBQUssR0FBRyxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFVLGFBQWEsRUFBRSxHQUFHLEVBQVUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hHLE9BQU8sS0FBSyxDQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLHNCQUFzQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFbkYsU0FBUyxnQkFBZ0IsQ0FBQyxJQUE0QjtJQUNwRCxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVDLE1BQU0sSUFBSSxLQUFLLENBQ1gsa0VBQWtFO1lBQ2xFLHlCQUF5QixJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQ3RDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixXQUFZLFNBQVEsYUFBYSxDQUFDLFlBQVk7Q0FFbkU7QUFtQkQsTUFBYSxJQUFLLFNBQVEsV0FBVztJQVFuQyxZQUFZLElBQWU7UUFDekIsS0FBSyxFQUFFLENBQUM7UUFFUixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUs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RUFBRSxDQUFDLFlBQVksRUFDNUQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFVBRVc7SUFDeEMsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRTtRQUNsQyxNQUFNLFNBQVMsR0FBRyxVQUFVLElBQUksMENBQTBDLENBQUMsQ0FBQztZQUN4RSwwQ0FBMEMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3hELFVBQVUsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUN2QyxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3ZDO1NBQU0sSUFBSSxVQUFVLFlBQVksV0FBVyxFQUFFO1FBQzVDLE9BQU8sVUFBVSxDQUFDO0tBQ25CO1NBQU07UUFDTCxPQUFPLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzNDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBMTENcbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGVcbiAqIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdFxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG5cbi8qIG9yaWdpbmFsIHNvdXJjZToga2VyYXMvcmVndWxhcml6ZXJzLnB5ICovXG5cbmltcG9ydCAqIGFzIHRmYyBmcm9tICdAdGVuc29yZmxvdy90ZmpzLWNvcmUnO1xuaW1wb3J0IHthYnMsIGFkZCwgU2NhbGFyLCBzZXJpYWxpemF0aW9uLCBzdW0sIFRlbnNvciwgdGlkeSwgemVyb3N9IGZyb20gJ0B0ZW5zb3JmbG93L3RmanMtY29yZSc7XG5pbXBvcnQgKiBhcyBLIGZyb20gJy4vYmFja2VuZC90ZmpzX2JhY2tlbmQnO1xuaW1wb3J0IHtkZXNlcmlhbGl6ZUtlcmFzT2JqZWN0LCBzZXJpYWxpemVLZXJhc09iamVjdH0gZnJvbSAnLi91dGlscy9nZW5lcmljX3V0aWxzJztcblxuZnVuY3Rpb24gYXNzZXJ0T2JqZWN0QXJncyhhcmdzOiBMMUFyZ3N8TDJBcmdzfEwxTDJBcmdzKTogdm9pZCB7XG4gIGlmIChhcmdzICE9IG51bGwgJiYgdHlwZW9mIGFyZ3MgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQXJndW1lbnQgdG8gTDFMMiByZWd1bGFyaXplcidzIGNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGJlIGFuIGAgK1xuICAgICAgICBgb2JqZWN0LCBidXQgcmVjZWl2ZWQ6ICR7YXJnc31gKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlZ3VsYXJpemVyIGJhc2UgY2xhc3MuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZWd1bGFyaXplciBleHRlbmRzIHNlcmlhbGl6YXRpb24uU2VyaWFsaXphYmxlIHtcbiAgYWJzdHJhY3QgYXBwbHkoeDogVGVuc29yKTogU2NhbGFyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEwxTDJBcmdzIHtcbiAgLyoqIEwxIHJlZ3VsYXJpemF0aW9uIHJhdGUuIERlZmF1bHRzIHRvIDAuMDEuICovXG4gIGwxPzogbnVtYmVyO1xuICAvKiogTDIgcmVndWxhcml6YXRpb24gcmF0ZS4gRGVmYXVsdHMgdG8gMC4wMS4gKi9cbiAgbDI/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTDFBcmdzIHtcbiAgLyoqIEwxIHJlZ3VsYXJpemF0aW9uIHJhdGUuIERlZmF1bHRzIHRvIDAuMDEuICovXG4gIGwxOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTDJBcmdzIHtcbiAgLyoqIEwyIHJlZ3VsYXJpemF0aW9uIHJhdGUuIERlZmF1bHRzIHRvIDAuMDEuICovXG4gIGwyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMMUwyIGV4dGVuZHMgUmVndWxhcml6ZXIge1xuICAvKiogQG5vY29sbGFwc2UgKi9cbiAgc3RhdGljIGNsYXNzTmFtZSA9ICdMMUwyJztcblxuICBwcml2YXRlIHJlYWRvbmx5IGwxOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgbDI6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXNMMTogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXNMMjogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoYXJncz86IEwxTDJBcmdzKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGFzc2VydE9iamVjdEFyZ3MoYXJncyk7XG5cbiAgICB0aGlzLmwxID0gYXJncyA9PSBudWxsIHx8IGFyZ3MubDEgPT0gbnVsbCA/IDAuMDEgOiBhcmdzLmwxO1xuICAgIHRoaXMubDIgPSBhcmdzID09IG51bGwgfHwgYXJncy5sMiA9PSBudWxsID8gMC4wMSA6IGFyZ3MubDI7XG4gICAgdGhpcy5oYXNMMSA9IHRoaXMubDEgIT09IDA7XG4gICAgdGhpcy5oYXNMMiA9IHRoaXMubDIgIT09IDA7XG4gIH1cblxuICAvKipcbiAgICogUG9ydGluZyBub3RlOiBSZW5hbWVkIGZyb20gX19jYWxsX18uXG4gICAqIEBwYXJhbSB4IFZhcmlhYmxlIG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcmVndWxhcml6YXRpb24gc2NvcmUuXG4gICAqL1xuICBhcHBseSh4OiBUZW5zb3IpOiBTY2FsYXIge1xuICAgIHJldHVybiB0aWR5KCgpID0+IHtcbiAgICAgIGxldCByZWd1bGFyaXphdGlvbjogVGVuc29yID0gemVyb3MoWzFdKTtcbiAgICAgIGlmICh0aGlzLmhhc0wxKSB7XG4gICAgICAgIHJlZ3VsYXJpemF0aW9uID0gYWRkKHJlZ3VsYXJpemF0aW9uLCBzdW0odGZjLm11bCh0aGlzLmwxLCBhYnMoeCkpKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5oYXNMMikge1xuICAgICAgICByZWd1bGFyaXphdGlvbiA9XG4gICAgICAgICAgICBhZGQocmVndWxhcml6YXRpb24sIHN1bSh0ZmMubXVsKHRoaXMubDIsIEsuc3F1YXJlKHgpKSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRmYy5yZXNoYXBlKHJlZ3VsYXJpemF0aW9uLCBbXSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRDb25maWcoKTogc2VyaWFsaXphdGlvbi5Db25maWdEaWN0IHtcbiAgICByZXR1cm4geydsMSc6IHRoaXMubDEsICdsMic6IHRoaXMubDJ9O1xuICB9XG5cbiAgLyoqIEBub2NvbGxhcHNlICovXG4gIHN0YXRpYyBvdmVycmlkZSBmcm9tQ29uZmlnPFQgZXh0ZW5kcyBzZXJpYWxpemF0aW9uLlNlcmlhbGl6YWJsZT4oXG4gICAgICBjbHM6IHNlcmlhbGl6YXRpb24uU2VyaWFsaXphYmxlQ29uc3RydWN0b3I8VD4sXG4gICAgICBjb25maWc6IHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdCk6IFQge1xuICAgIHJldHVybiBuZXcgY2xzKHtsMTogY29uZmlnWydsMSddIGFzIG51bWJlciwgbDI6IGNvbmZpZ1snbDInXSBhcyBudW1iZXJ9KTtcbiAgfVxufVxuc2VyaWFsaXphdGlvbi5yZWdpc3RlckNsYXNzKEwxTDIpO1xuXG5leHBvcnQgZnVuY3Rpb24gbDEoYXJncz86IEwxQXJncykge1xuICBhc3NlcnRPYmplY3RBcmdzKGFyZ3MpO1xuICByZXR1cm4gbmV3IEwxTDIoe2wxOiBhcmdzICE9IG51bGwgPyBhcmdzLmwxIDogbnVsbCwgbDI6IDB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGwyKGFyZ3M6IEwyQXJncykge1xuICBhc3NlcnRPYmplY3RBcmdzKGFyZ3MpO1xuICByZXR1cm4gbmV3IEwxTDIoe2wyOiBhcmdzICE9IG51bGwgPyBhcmdzLmwyIDogbnVsbCwgbDE6IDB9KTtcbn1cblxuLyoqIEBkb2NpbmxpbmUgKi9cbmV4cG9ydCB0eXBlIFJlZ3VsYXJpemVySWRlbnRpZmllciA9ICdsMWwyJ3xzdHJpbmc7XG5cbi8vIE1hcHMgdGhlIEphdmFTY3JpcHQtbGlrZSBpZGVudGlmaWVyIGtleXMgdG8gdGhlIGNvcnJlc3BvbmRpbmcga2VyYXMgc3ltYm9scy5cbmV4cG9ydCBjb25zdCBSRUdVTEFSSVpFUl9JREVOVElGSUVSX1JFR0lTVFJZX1NZTUJPTF9NQVA6XG4gICAge1tpZGVudGlmaWVyIGluIFJlZ3VsYXJpemVySWRlbnRpZmllcl06IHN0cmluZ30gPSB7XG4gICAgICAnbDFsMic6ICdMMUwyJ1xuICAgIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVSZWd1bGFyaXplcihjb25zdHJhaW50OiBSZWd1bGFyaXplcik6XG4gICAgc2VyaWFsaXphdGlvbi5Db25maWdEaWN0VmFsdWUge1xuICByZXR1cm4gc2VyaWFsaXplS2VyYXNPYmplY3QoY29uc3RyYWludCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZVJlZ3VsYXJpemVyKFxuICAgIGNvbmZpZzogc2VyaWFsaXphdGlvbi5Db25maWdEaWN0LFxuICAgIGN1c3RvbU9iamVjdHM6IHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdCA9IHt9KTogUmVndWxhcml6ZXIge1xuICByZXR1cm4gZGVzZXJpYWxpemVLZXJhc09iamVjdChcbiAgICAgIGNvbmZpZywgc2VyaWFsaXphdGlvbi5TZXJpYWxpemF0aW9uTWFwLmdldE1hcCgpLmNsYXNzTmFtZU1hcCxcbiAgICAgIGN1c3RvbU9iamVjdHMsICdyZWd1bGFyaXplcicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVndWxhcml6ZXIoaWRlbnRpZmllcjogUmVndWxhcml6ZXJJZGVudGlmaWVyfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbGl6YXRpb24uQ29uZmlnRGljdHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWd1bGFyaXplcik6IFJlZ3VsYXJpemVyIHtcbiAgaWYgKGlkZW50aWZpZXIgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmICh0eXBlb2YgaWRlbnRpZmllciA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBpZGVudGlmaWVyIGluIFJFR1VMQVJJWkVSX0lERU5USUZJRVJfUkVHSVNUUllfU1lNQk9MX01BUCA/XG4gICAgICAgIFJFR1VMQVJJWkVSX0lERU5USUZJRVJfUkVHSVNUUllfU1lNQk9MX01BUFtpZGVudGlmaWVyXSA6XG4gICAgICAgIGlkZW50aWZpZXI7XG4gICAgY29uc3QgY29uZmlnID0ge2NsYXNzTmFtZSwgY29uZmlnOiB7fX07XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplUmVndWxhcml6ZXIoY29uZmlnKTtcbiAgfSBlbHNlIGlmIChpZGVudGlmaWVyIGluc3RhbmNlb2YgUmVndWxhcml6ZXIpIHtcbiAgICByZXR1cm4gaWRlbnRpZmllcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZGVzZXJpYWxpemVSZWd1bGFyaXplcihpZGVudGlmaWVyKTtcbiAgfVxufVxuIl19"],"names":["assertObjectArgs","args","Regularizer","serialization.Serializable","L1L2","x","tidy","regularization","zeros","add","sum","tfc.mul","abs","K.square","tfc.reshape","cls","config","serialization.registerClass","REGULARIZER_IDENTIFIER_REGISTRY_SYMBOL_MAP","serializeRegularizer","constraint","serializeKerasObject","deserializeRegularizer","customObjects","deserializeKerasObject","serialization.SerializationMap","getRegularizer","identifier"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcA,SAASA,EAAiBC,GAAM;AAC5B,MAAIA,KAAQ,QAAQ,OAAOA,KAAS;AAChC,UAAM,IAAI,MAAM,yFACaA,CAAI,EAAE;AAE3C;AAIO,MAAMC,UAAoBC,EAA2B;AAC5D;AACA,MAAMC,UAAaF,EAAY;AAAA,EAC3B,YAAYD,GAAM;AACd,aACAD,EAAiBC,CAAI,GACrB,KAAK,KAAKA,KAAQ,QAAQA,EAAK,MAAM,OAAO,OAAOA,EAAK,IACxD,KAAK,KAAKA,KAAQ,QAAQA,EAAK,MAAM,OAAO,OAAOA,EAAK,IACxD,KAAK,QAAQ,KAAK,OAAO,GACzB,KAAK,QAAQ,KAAK,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKD,MAAMI,GAAG;AACL,WAAOC,EAAK,MAAM;AACd,UAAIC,IAAiBC,EAAM,CAAC,CAAC,CAAC;AAC9B,aAAI,KAAK,UACLD,IAAiBE,EAAIF,GAAgBG,EAAIC,EAAQ,KAAK,IAAIC,EAAIP,CAAC,CAAC,CAAC,CAAC,IAElE,KAAK,UACLE,IACIE,EAAIF,GAAgBG,EAAIC,EAAQ,KAAK,IAAIE,EAASR,CAAC,CAAC,CAAC,CAAC,IAEvDS,EAAYP,GAAgB,CAAA,CAAE;AAAA,IACjD,CAAS;AAAA,EACJ;AAAA,EACD,YAAY;AACR,WAAO,EAAE,IAAM,KAAK,IAAI,IAAM,KAAK;EACtC;AAAA;AAAA,EAED,OAAO,WAAWQ,GAAKC,GAAQ;AAC3B,WAAO,IAAID,EAAI,EAAE,IAAIC,EAAO,IAAO,IAAIA,EAAO,GAAK,CAAE;AAAA,EACxD;AACL;AAEAZ,EAAK,YAAY;AAEjBa,EAA4Bb,CAAI;AAUpB,MAACc,IAA6C;AAAA,EACtD,MAAQ;AACZ;AACO,SAASC,EAAqBC,GAAY;AAC7C,SAAOC,EAAqBD,CAAU;AAC1C;AACO,SAASE,EAAuBN,GAAQO,IAAgB,IAAI;AAC/D,SAAOC,EAAuBR,GAAQS,EAA+B,OAAQ,EAAC,cAAcF,GAAe,aAAa;AAC5H;AACO,SAASG,EAAeC,GAAY;AACvC,MAAIA,KAAc;AACd,WAAO;AAEX,MAAI,OAAOA,KAAe,UAAU;AAIhC,UAAMX,IAAS,EAAE,WAHCW,KAAcT,IAC5BA,EAA2CS,CAAU,IACrDA,GACwB,QAAQ,CAAE,EAAA;AACtC,WAAOL,EAAuBN,CAAM;AAAA,EACvC,MACI,QAAIW,aAAsBzB,IACpByB,IAGAL,EAAuBK,CAAU;AAEhD;","x_google_ignoreList":[0]}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ *
5
+ * Use of this source code is governed by an MIT-style
6
+ * license that can be found in the LICENSE file or at
7
+ * https://opensource.org/licenses/MIT.
8
+ * =============================================================================
9
+ */
10
+ const s = 1048576;
11
+ function i(e, t, o = !1) {
12
+ if (e == null || typeof e != "object" || Object.getPrototypeOf(e) !== Object.prototype || !r(e))
13
+ throw new Error("User-defined metadata is expected to be a JSON object, but is not.");
14
+ if (o) {
15
+ const n = JSON.stringify(e);
16
+ n.length > 1048576 && console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`);
17
+ }
18
+ }
19
+ function r(e) {
20
+ if (e === null)
21
+ return !0;
22
+ if (typeof e == "object")
23
+ if (Object.getPrototypeOf(e) === Object.prototype) {
24
+ const t = Object.keys(e);
25
+ for (const o of t)
26
+ if (typeof o != "string" || !r(e[o]))
27
+ return !1;
28
+ return !0;
29
+ } else if (Array.isArray(e)) {
30
+ for (const t of e)
31
+ if (!r(t))
32
+ return !1;
33
+ return !0;
34
+ } else
35
+ return !1;
36
+ else {
37
+ const t = typeof e;
38
+ return t === "string" || t === "number" || t === "boolean";
39
+ }
40
+ }
41
+ export {
42
+ s as MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH,
43
+ i as checkUserDefinedMetadata,
44
+ r as plainObjectCheck
45
+ };
46
+ //# sourceMappingURL=user_defined_metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user_defined_metadata.js","sources":["../../../../../node_modules/@tensorflow/tfjs-layers/dist/user_defined_metadata.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Use of this source code is governed by an MIT-style\n * license that can be found in the LICENSE file or at\n * https://opensource.org/licenses/MIT.\n * =============================================================================\n */\n/** Utility functions related to user-defined metadata. */\n// Maximum recommended serialized size for user-defined metadata.\n// Beyond this limit, a warning message will be printed during model loading and\n// saving.\nexport const MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH = 1 * 1024 * 1024;\n/**\n * Check validity of user-defined metadata.\n *\n * @param userDefinedMetadata\n * @param modelName Name of the model that the user-defined metadata belongs to.\n * Used during construction of error messages.\n * @param checkSize Whether to check the size of the metadata is under\n * recommended limit. Default: `false`. If `true`, will try stringify the\n * JSON object and print a console warning if the serialzied size is above the\n * limit.\n * @throws Error if `userDefinedMetadata` is not a plain JSON object.\n */\nexport function checkUserDefinedMetadata(userDefinedMetadata, modelName, checkSize = false) {\n if (userDefinedMetadata == null ||\n typeof userDefinedMetadata !== 'object' ||\n Object.getPrototypeOf(userDefinedMetadata) !== Object.prototype ||\n !plainObjectCheck(userDefinedMetadata)) {\n throw new Error('User-defined metadata is expected to be a JSON object, but is not.');\n }\n if (checkSize) {\n const out = JSON.stringify(userDefinedMetadata);\n if (out.length > MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH) {\n console.warn(`User-defined metadata of model \"${modelName}\" is too large in ` +\n `size (length=${out.length} when serialized). It is not ` +\n `recommended to store such large objects in user-defined metadata. ` +\n `Please make sure its serialized length is <= ` +\n `${MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH}.`);\n }\n }\n}\n/**\n * Check if an input is plain JSON object or any valid subfield of it.\n *\n * @param x The input to be checked.\n * @param assertObject Whether to assert `x` is a JSON object, i.e., reject\n * cases of arrays and primitives.\n * @return Returns `true` if and only if `x` is a plain JSON object,\n * a JSON-valid primitive including string, number, boolean and null,\n * or an array of the said types.\n */\n// tslint:disable-next-line:no-any\nexport function plainObjectCheck(x) {\n if (x === null) {\n // Note: typeof `null` is 'object', and `null` is valid in JSON.\n return true;\n }\n else if (typeof x === 'object') {\n if (Object.getPrototypeOf(x) === Object.prototype) {\n // `x` is a JavaScript object and its prototype is Object.\n const keys = Object.keys(x);\n for (const key of keys) {\n if (typeof key !== 'string') {\n // JSON keys must be strings.\n return false;\n }\n if (!plainObjectCheck(x[key])) { // Recursive call.\n return false;\n }\n }\n return true;\n }\n else {\n // `x` is a JavaScript object but its prototype is not Object.\n if (Array.isArray(x)) {\n // `x` is a JavaScript array.\n for (const item of x) {\n if (!plainObjectCheck(item)) { // Recursive call.\n return false;\n }\n }\n return true;\n }\n else {\n // `x` is a JavaScript object and its prototype is not Object,\n // and it's not an Array. I.e., it's a complex object such as\n // `Error` and `Date`.\n return false;\n }\n }\n }\n else {\n // `x` is not a JavaScript object or `null`.\n const xType = typeof x;\n return xType === 'string' || xType === 'number' || xType === 'boolean';\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcl9kZWZpbmVkX21ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGZqcy1sYXllcnMvc3JjL3VzZXJfZGVmaW5lZF9tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILDBEQUEwRDtBQUUxRCxpRUFBaUU7QUFDakUsZ0ZBQWdGO0FBQ2hGLFVBQVU7QUFDVixNQUFNLENBQUMsTUFBTSwyQ0FBMkMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUUzRTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDcEMsbUJBQXVCLEVBQUUsU0FBaUIsRUFBRSxTQUFTLEdBQUcsS0FBSztJQUMvRCxJQUFJLG1CQUFtQixJQUFJLElBQUk7UUFDM0IsT0FBTyxtQkFBbUIsS0FBSyxRQUFRO1FBQ3ZDLE1BQU0sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsS0FBSyxNQUFNLENBQUMsU0FBUztRQUMvRCxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FDWCxvRUFBb0UsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsSUFBSSxTQUFTLEVBQUU7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEQsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLDJDQUEyQyxFQUFFO1lBQzVELE9BQU8sQ0FBQyxJQUFJLENBQ1IsbUNBQW1DLFNBQVMsb0JBQW9CO2dCQUNoRSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sK0JBQStCO2dCQUN6RCxvRUFBb0U7Z0JBQ3BFLCtDQUErQztnQkFDL0MsR0FBRywyQ0FBMkMsR0FBRyxDQUFDLENBQUM7U0FDeEQ7S0FDRjtBQUNILENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxrQ0FBa0M7QUFDbEMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLENBQU07SUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2QsZ0VBQWdFO1FBQ2hFLE9BQU8sSUFBSSxDQUFDO0tBQ2I7U0FBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUNoQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNqRCwwREFBMEQ7WUFDMUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtnQkFDdEIsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7b0JBQzNCLDZCQUE2QjtvQkFDN0IsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7Z0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUcsa0JBQWtCO29CQUNsRCxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsOERBQThEO1lBQzlELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsNkJBQTZCO2dCQUM3QixLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUcsa0JBQWtCO3dCQUNoRCxPQUFPLEtBQUssQ0FBQztxQkFDZDtpQkFDRjtnQkFDRCxPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNO2dCQUNMLDhEQUE4RDtnQkFDOUQsNkRBQTZEO2dCQUM3RCxzQkFBc0I7Z0JBQ3RCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjtLQUNGO1NBQU07UUFDTCw0Q0FBNEM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztLQUN4RTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlXG4gKiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXRcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlULlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiogVXRpbGl0eSBmdW5jdGlvbnMgcmVsYXRlZCB0byB1c2VyLWRlZmluZWQgbWV0YWRhdGEuICovXG5cbi8vIE1heGltdW0gcmVjb21tZW5kZWQgc2VyaWFsaXplZCBzaXplIGZvciB1c2VyLWRlZmluZWQgbWV0YWRhdGEuXG4vLyBCZXlvbmQgdGhpcyBsaW1pdCwgYSB3YXJuaW5nIG1lc3NhZ2Ugd2lsbCBiZSBwcmludGVkIGR1cmluZyBtb2RlbCBsb2FkaW5nIGFuZFxuLy8gc2F2aW5nLlxuZXhwb3J0IGNvbnN0IE1BWF9VU0VSX0RFRklORURfTUVUQURBVEFfU0VSSUFMSVpFRF9MRU5HVEggPSAxICogMTAyNCAqIDEwMjQ7XG5cbi8qKlxuICogQ2hlY2sgdmFsaWRpdHkgb2YgdXNlci1kZWZpbmVkIG1ldGFkYXRhLlxuICpcbiAqIEBwYXJhbSB1c2VyRGVmaW5lZE1ldGFkYXRhXG4gKiBAcGFyYW0gbW9kZWxOYW1lIE5hbWUgb2YgdGhlIG1vZGVsIHRoYXQgdGhlIHVzZXItZGVmaW5lZCBtZXRhZGF0YSBiZWxvbmdzIHRvLlxuICogICBVc2VkIGR1cmluZyBjb25zdHJ1Y3Rpb24gb2YgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcGFyYW0gY2hlY2tTaXplIFdoZXRoZXIgdG8gY2hlY2sgdGhlIHNpemUgb2YgdGhlIG1ldGFkYXRhIGlzIHVuZGVyXG4gKiAgIHJlY29tbWVuZGVkIGxpbWl0LiBEZWZhdWx0OiBgZmFsc2VgLiBJZiBgdHJ1ZWAsIHdpbGwgdHJ5IHN0cmluZ2lmeSB0aGVcbiAqICAgSlNPTiBvYmplY3QgYW5kIHByaW50IGEgY29uc29sZSB3YXJuaW5nIGlmIHRoZSBzZXJpYWx6aWVkIHNpemUgaXMgYWJvdmUgdGhlXG4gKiAgIGxpbWl0LlxuICogQHRocm93cyBFcnJvciBpZiBgdXNlckRlZmluZWRNZXRhZGF0YWAgaXMgbm90IGEgcGxhaW4gSlNPTiBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1VzZXJEZWZpbmVkTWV0YWRhdGEoXG4gICAgdXNlckRlZmluZWRNZXRhZGF0YToge30sIG1vZGVsTmFtZTogc3RyaW5nLCBjaGVja1NpemUgPSBmYWxzZSk6IHZvaWQge1xuICBpZiAodXNlckRlZmluZWRNZXRhZGF0YSA9PSBudWxsIHx8XG4gICAgICB0eXBlb2YgdXNlckRlZmluZWRNZXRhZGF0YSAhPT0gJ29iamVjdCcgfHxcbiAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZih1c2VyRGVmaW5lZE1ldGFkYXRhKSAhPT0gT2JqZWN0LnByb3RvdHlwZSB8fFxuICAgICAgIXBsYWluT2JqZWN0Q2hlY2sodXNlckRlZmluZWRNZXRhZGF0YSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVc2VyLWRlZmluZWQgbWV0YWRhdGEgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCwgYnV0IGlzIG5vdC4nKTtcbiAgfVxuXG4gIGlmIChjaGVja1NpemUpIHtcbiAgICBjb25zdCBvdXQgPSBKU09OLnN0cmluZ2lmeSh1c2VyRGVmaW5lZE1ldGFkYXRhKTtcbiAgICBpZiAob3V0Lmxlbmd0aCA+IE1BWF9VU0VSX0RFRklORURfTUVUQURBVEFfU0VSSUFMSVpFRF9MRU5HVEgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVXNlci1kZWZpbmVkIG1ldGFkYXRhIG9mIG1vZGVsIFwiJHttb2RlbE5hbWV9XCIgaXMgdG9vIGxhcmdlIGluIGAgK1xuICAgICAgICAgIGBzaXplIChsZW5ndGg9JHtvdXQubGVuZ3RofSB3aGVuIHNlcmlhbGl6ZWQpLiBJdCBpcyBub3QgYCArXG4gICAgICAgICAgYHJlY29tbWVuZGVkIHRvIHN0b3JlIHN1Y2ggbGFyZ2Ugb2JqZWN0cyBpbiB1c2VyLWRlZmluZWQgbWV0YWRhdGEuIGAgK1xuICAgICAgICAgIGBQbGVhc2UgbWFrZSBzdXJlIGl0cyBzZXJpYWxpemVkIGxlbmd0aCBpcyA8PSBgICtcbiAgICAgICAgICBgJHtNQVhfVVNFUl9ERUZJTkVEX01FVEFEQVRBX1NFUklBTElaRURfTEVOR1RIfS5gKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhbiBpbnB1dCBpcyBwbGFpbiBKU09OIG9iamVjdCBvciBhbnkgdmFsaWQgc3ViZmllbGQgb2YgaXQuXG4gKlxuICogQHBhcmFtIHggVGhlIGlucHV0IHRvIGJlIGNoZWNrZWQuXG4gKiBAcGFyYW0gYXNzZXJ0T2JqZWN0IFdoZXRoZXIgdG8gYXNzZXJ0IGB4YCBpcyBhIEpTT04gb2JqZWN0LCBpLmUuLCByZWplY3RcbiAqICAgY2FzZXMgb2YgYXJyYXlzIGFuZCBwcmltaXRpdmVzLlxuICogQHJldHVybiBSZXR1cm5zIGB0cnVlYCBpZiBhbmQgb25seSBpZiBgeGAgaXMgYSBwbGFpbiBKU09OIG9iamVjdCxcbiAqICAgYSBKU09OLXZhbGlkIHByaW1pdGl2ZSBpbmNsdWRpbmcgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4gYW5kIG51bGwsXG4gKiAgIG9yIGFuIGFycmF5IG9mIHRoZSBzYWlkIHR5cGVzLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG5leHBvcnQgZnVuY3Rpb24gcGxhaW5PYmplY3RDaGVjayh4OiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKHggPT09IG51bGwpIHtcbiAgICAvLyBOb3RlOiB0eXBlb2YgYG51bGxgIGlzICdvYmplY3QnLCBhbmQgYG51bGxgIGlzIHZhbGlkIGluIEpTT04uXG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHggPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSA9PT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgICAgLy8gYHhgIGlzIGEgSmF2YVNjcmlwdCBvYmplY3QgYW5kIGl0cyBwcm90b3R5cGUgaXMgT2JqZWN0LlxuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHgpO1xuICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAvLyBKU09OIGtleXMgbXVzdCBiZSBzdHJpbmdzLlxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBsYWluT2JqZWN0Q2hlY2soeFtrZXldKSkgeyAgLy8gUmVjdXJzaXZlIGNhbGwuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYHhgIGlzIGEgSmF2YVNjcmlwdCBvYmplY3QgYnV0IGl0cyBwcm90b3R5cGUgaXMgbm90IE9iamVjdC5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHgpKSB7XG4gICAgICAgIC8vIGB4YCBpcyBhIEphdmFTY3JpcHQgYXJyYXkuXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB4KSB7XG4gICAgICAgICAgaWYgKCFwbGFpbk9iamVjdENoZWNrKGl0ZW0pKSB7ICAvLyBSZWN1cnNpdmUgY2FsbC5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBgeGAgaXMgYSBKYXZhU2NyaXB0IG9iamVjdCBhbmQgaXRzIHByb3RvdHlwZSBpcyBub3QgT2JqZWN0LFxuICAgICAgICAvLyBhbmQgaXQncyBub3QgYW4gQXJyYXkuIEkuZS4sIGl0J3MgYSBjb21wbGV4IG9iamVjdCBzdWNoIGFzXG4gICAgICAgIC8vIGBFcnJvcmAgYW5kIGBEYXRlYC5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBgeGAgaXMgbm90IGEgSmF2YVNjcmlwdCBvYmplY3Qgb3IgYG51bGxgLlxuICAgIGNvbnN0IHhUeXBlID0gdHlwZW9mIHg7XG4gICAgcmV0dXJuIHhUeXBlID09PSAnc3RyaW5nJyB8fCB4VHlwZSA9PT0gJ251bWJlcicgfHwgeFR5cGUgPT09ICdib29sZWFuJztcbiAgfVxufVxuIl19"],"names":["MAX_USER_DEFINED_METADATA_SERIALIZED_LENGTH","checkUserDefinedMetadata","userDefinedMetadata","modelName","checkSize","plainObjectCheck","out","x","keys","key","item","xType"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaY,MAACA,IAA8C;AAapD,SAASC,EAAyBC,GAAqBC,GAAWC,IAAY,IAAO;AACxF,MAAIF,KAAuB,QACvB,OAAOA,KAAwB,YAC/B,OAAO,eAAeA,CAAmB,MAAM,OAAO,aACtD,CAACG,EAAiBH,CAAmB;AACrC,UAAM,IAAI,MAAM,oEAAoE;AAExF,MAAIE,GAAW;AACX,UAAME,IAAM,KAAK,UAAUJ,CAAmB;AAC9C,IAAII,EAAI,SAAS,WACb,QAAQ,KAAK,mCAAmCH,CAAS,kCACrCG,EAAI,MAAM,sJAGuB;AAAA,EAE5D;AACL;AAYO,SAASD,EAAiBE,GAAG;AAChC,MAAIA,MAAM;AAEN,WAAO;AAEN,MAAI,OAAOA,KAAM;AAClB,QAAI,OAAO,eAAeA,CAAC,MAAM,OAAO,WAAW;AAE/C,YAAMC,IAAO,OAAO,KAAKD,CAAC;AAC1B,iBAAWE,KAAOD;AAKd,YAJI,OAAOC,KAAQ,YAIf,CAACJ,EAAiBE,EAAEE,CAAG,CAAC;AACxB,iBAAO;AAGf,aAAO;AAAA,IACV,WAGO,MAAM,QAAQF,CAAC,GAAG;AAElB,iBAAWG,KAAQH;AACf,YAAI,CAACF,EAAiBK,CAAI;AACtB,iBAAO;AAGf,aAAO;AAAA,IACV;AAKG,aAAO;AAAA,OAId;AAED,UAAMC,IAAQ,OAAOJ;AACrB,WAAOI,MAAU,YAAYA,MAAU,YAAYA,MAAU;AAAA,EAChE;AACL;","x_google_ignoreList":[0]}
@@ -0,0 +1,48 @@
1
+ import { ValueError as l } from "../errors.js";
2
+ import { pyListRepeat as s } from "./generic_utils.js";
3
+ import { isInteger as i, max as g } from "./math_utils.js";
4
+ /**
5
+ * @license
6
+ * Copyright 2018 Google LLC
7
+ *
8
+ * Use of this source code is governed by an MIT-style
9
+ * license that can be found in the LICENSE file or at
10
+ * https://opensource.org/licenses/MIT.
11
+ * =============================================================================
12
+ */
13
+ function a(e, r, n) {
14
+ if (typeof e == "number")
15
+ return s(e, r);
16
+ if (e.length !== r)
17
+ throw new l(`The ${n} argument must be an integer or tuple of ${r} integers. Received: ${e.length} elements.`);
18
+ for (let t = 0; t < r; ++t) {
19
+ const o = e[t];
20
+ if (!i(o))
21
+ throw new l(`The ${n} argument must be an integer or tuple of ${r} integers. Received: ${JSON.stringify(e)} including a non-integer number ${o}`);
22
+ }
23
+ return e;
24
+ }
25
+ function h(e, r, n, t, o = 1) {
26
+ if (e == null)
27
+ return e;
28
+ const u = r + (r - 1) * (o - 1);
29
+ let f;
30
+ return n === "same" ? f = e : f = e - u + 1, Math.floor((f + t - 1) / t);
31
+ }
32
+ function $(e, r, n, t) {
33
+ if (e == null)
34
+ return null;
35
+ if (t === "valid")
36
+ e = e * r + g([n - r, 0]);
37
+ else if (t === "same")
38
+ e = e * r;
39
+ else
40
+ throw new l(`Unsupport padding mode: ${t}.`);
41
+ return e;
42
+ }
43
+ export {
44
+ h as convOutputLength,
45
+ $ as deconvLength,
46
+ a as normalizeArray
47
+ };
48
+ //# sourceMappingURL=conv_utils.js.map