edge-impulse-linux 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/build/cli/linux/linux.js +6 -1
  2. package/build/cli/linux/linux.js.map +1 -1
  3. package/build/cli/linux/runner-downloader.js +14 -0
  4. package/build/cli/linux/runner-downloader.js.map +1 -1
  5. package/build/cli/linux/runner.js +32 -6
  6. package/build/cli/linux/runner.js.map +1 -1
  7. package/build/cli/linux/webserver/public/inference-server.js +29 -2
  8. package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
  9. package/build/cli/linux/webserver/public/webserver.js +58 -6
  10. package/build/cli/linux/webserver/public/webserver.js.map +1 -1
  11. package/build/cli/linux/webserver/views/inference-server-view.d.ts +1 -1
  12. package/build/cli/linux/webserver/views/inference-server-view.js +1 -1
  13. package/build/cli/linux/webserver/views/inference-server-view.js.map +1 -1
  14. package/build/library/argv-split.d.ts +1 -0
  15. package/build/library/argv-split.js +184 -0
  16. package/build/library/argv-split.js.map +1 -0
  17. package/build/library/classifier/linux-impulse-runner.d.ts +35 -2
  18. package/build/library/classifier/linux-impulse-runner.js +76 -7
  19. package/build/library/classifier/linux-impulse-runner.js.map +1 -1
  20. package/build/library/index.d.ts +2 -1
  21. package/build/library/index.js +2 -1
  22. package/build/library/index.js.map +1 -1
  23. package/build/library/moving-average-filter.d.ts +10 -0
  24. package/build/library/sensors/gstreamer.d.ts +19 -2
  25. package/build/library/sensors/gstreamer.js +328 -76
  26. package/build/library/sensors/gstreamer.js.map +1 -1
  27. package/build/sdk/studio/sdk/api/organizationDataApi.d.ts +14 -0
  28. package/build/sdk/studio/sdk/api/organizationDataApi.js +85 -0
  29. package/build/sdk/studio/sdk/api/organizationDataApi.js.map +1 -1
  30. package/build/sdk/studio/sdk/api/rawDataApi.d.ts +0 -2
  31. package/build/sdk/studio/sdk/api/rawDataApi.js +0 -4
  32. package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
  33. package/build/sdk/studio/sdk/model/blockType.d.ts +13 -0
  34. package/build/sdk/studio/sdk/model/blockType.js +16 -0
  35. package/build/sdk/studio/sdk/model/blockType.js.map +1 -0
  36. package/build/sdk/studio/sdk/model/dSPBlock.d.ts +2 -0
  37. package/build/sdk/studio/sdk/model/dSPBlock.js +5 -0
  38. package/build/sdk/studio/sdk/model/dSPBlock.js.map +1 -1
  39. package/build/sdk/studio/sdk/model/dSPGroupItem.d.ts +1 -1
  40. package/build/sdk/studio/sdk/model/dSPGroupItem.js +1 -1
  41. package/build/sdk/studio/sdk/model/dSPGroupItem.js.map +1 -1
  42. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.d.ts +1 -1
  43. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js +1 -1
  44. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js.map +1 -1
  45. package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.d.ts +1 -0
  46. package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js +5 -0
  47. package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js.map +1 -1
  48. package/build/sdk/studio/sdk/model/inputBlock.d.ts +2 -0
  49. package/build/sdk/studio/sdk/model/inputBlock.js +5 -0
  50. package/build/sdk/studio/sdk/model/inputBlock.js.map +1 -1
  51. package/build/sdk/studio/sdk/model/kerasResponse.d.ts +4 -0
  52. package/build/sdk/studio/sdk/model/kerasResponse.js +5 -0
  53. package/build/sdk/studio/sdk/model/kerasResponse.js.map +1 -1
  54. package/build/sdk/studio/sdk/model/kerasResponseAllOf.d.ts +4 -0
  55. package/build/sdk/studio/sdk/model/kerasResponseAllOf.js +5 -0
  56. package/build/sdk/studio/sdk/model/kerasResponseAllOf.js.map +1 -1
  57. package/build/sdk/studio/sdk/model/learnBlock.d.ts +2 -0
  58. package/build/sdk/studio/sdk/model/learnBlock.js +5 -0
  59. package/build/sdk/studio/sdk/model/learnBlock.js.map +1 -1
  60. package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.d.ts +4 -12
  61. package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.js +5 -15
  62. package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.js.map +1 -1
  63. package/build/sdk/studio/sdk/model/models.d.ts +4 -0
  64. package/build/sdk/studio/sdk/model/models.js +14 -1
  65. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  66. package/build/sdk/studio/sdk/model/{listOrganizationBucketsResponseAllOfBuckets.d.ts → previewDefaultFilesInFolderRequest.d.ts} +7 -22
  67. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderRequest.js +38 -0
  68. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderRequest.js.map +1 -0
  69. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.d.ts +44 -0
  70. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.js +53 -0
  71. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.js.map +1 -0
  72. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.d.ts +36 -0
  73. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.js +43 -0
  74. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.js.map +1 -0
  75. package/build/sdk/studio/sdk/model/setKerasParameterRequest.d.ts +4 -0
  76. package/build/sdk/studio/sdk/model/setKerasParameterRequest.js +5 -0
  77. package/build/sdk/studio/sdk/model/setKerasParameterRequest.js.map +1 -1
  78. package/build/sdk/studio/sdk/model/transferLearningModel.d.ts +2 -3
  79. package/build/sdk/studio/sdk/model/transferLearningModel.js +2 -3
  80. package/build/sdk/studio/sdk/model/transferLearningModel.js.map +1 -1
  81. package/build/sdk/studio/sdk/model/updateProjectRequest.d.ts +4 -0
  82. package/build/sdk/studio/sdk/model/updateProjectRequest.js +5 -0
  83. package/build/sdk/studio/sdk/model/updateProjectRequest.js.map +1 -1
  84. package/build/shared/viewmodels/init.d.ts +1 -0
  85. package/build/test/gstreamer.test.js +1847 -16
  86. package/build/test/gstreamer.test.js.map +1 -1
  87. package/cli/linux/linux.ts +6 -1
  88. package/cli/linux/runner-downloader.ts +18 -0
  89. package/cli/linux/runner.ts +38 -7
  90. package/cli/linux/webserver/public/inference-server.js +33 -2
  91. package/cli/linux/webserver/public/webserver.js +67 -7
  92. package/cli/linux/webserver/views/inference-server-view.ts +2 -2
  93. package/examples/js/classify-camera.js +11 -3
  94. package/package.json +1 -1
  95. package/test/gstreamer.test.ts +1877 -19
  96. package/build/cli/linux/webserver/escape-html-template-tag/escape.d.ts +0 -12
  97. package/build/cli/linux/webserver/escape-html-template-tag/escape.js +0 -59
  98. package/build/cli/linux/webserver/escape-html-template-tag/escape.js.map +0 -1
  99. package/build/cli/linux/webserver/escape-html-template-tag/index.d.ts +0 -7
  100. package/build/cli/linux/webserver/escape-html-template-tag/index.js +0 -24
  101. package/build/cli/linux/webserver/escape-html-template-tag/index.js.map +0 -1
  102. package/build/debug.d.ts +0 -1
  103. package/build/debug.js +0 -26
  104. package/build/debug.js.map +0 -1
  105. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.d.ts +0 -55
  106. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js +0 -158
  107. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js.map +0 -1
  108. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.d.ts +0 -55
  109. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js +0 -158
  110. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js.map +0 -1
  111. package/build/sdk/studio/sdk/model/listOrganizationBucketsResponseAllOfBuckets.js +0 -62
  112. package/build/sdk/studio/sdk/model/listOrganizationBucketsResponseAllOfBuckets.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gstreamer.test.js","sourceRoot":"","sources":["../../test/gstreamer.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,4DAEsC;AAKtC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,yFAAyF;QACzF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA6FqD,CAAC;YAExE,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;CAanD,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;YAEjF,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAChD,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC5C,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB;iBAC3B;gBACD;oBACI,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB;iBAC3B;gBACD;oBACI,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB;iBAC3B;gBACD;oBACI,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB;iBAC3B;gBACD;oBACI,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB;iBAC3B;gBACD;oBACI,SAAS,EAAE,UAAU;oBACrB,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB;iBAC3B;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA2MG,CAAC;YAEtB,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;CAcnD,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;YAEjF,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;YACxD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;gBACzD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAiI2B,CAAC;YAE9C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrC,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1D,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,CAAC,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B7B,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC5C,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,4EAA4E;QAC5E,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2U7B,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;YACvE,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF7B,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACpD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7B,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1D,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,CAAC;iBACf,CAAC,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Q7B,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,8CAA8C,CAAC,CAAC;YAC9E,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;gBACzD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,CAAC;iBACf,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB,EAAE;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC7B,CAAC;YAEU,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACpD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD;oBACI,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,EAAE;iBAChB;aAEJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,+BAAmD;IAChG,MAAM,WAAW,GAAoB,KAAK,EAAE,OAAe,EACvD,IAAc,EACd,OAGI;QACA,YAAY,EAAE,KAAK;KACtB,EAAE,EAAE;QAEL,IAAI,OAAO,KAAK,OAAO,EAAE;YACrB,OAAO,EAAE,CAAC;SACb;aAAM,IAAI,OAAO,KAAK,wBAAwB,EAAE;YAC7C,OAAO,SAAS,CAAC;SACpB;aAAM,IAAI,OAAO,KAAK,iBAAiB,EAAE;YACtC,OAAO,kBAAkB,CAAC,CAAC,iBAAiB;SAC/C;aAAM,IAAI,OAAO,KAAK,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;YACvE,OAAO,+BAA+B,IAAI,EAAE,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9E;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"gstreamer.test.js","sourceRoot":"","sources":["../../test/gstreamer.test.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,8 @@ program
34
34
  .option('--disable-microphone', `Don't prompt for microphone`)
35
35
  .option('--width <px>', 'Desired width of the camera stream')
36
36
  .option('--height <px>', 'Desired height of the camera stream')
37
+ .option('--gst-launch-args <args>', 'Override the arguments to gst-launch-1.0. This should be a stream that returns JPEG images, e.g.: ' +
38
+ '"v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! videoconvert ! jpegenc"')
37
39
  .option('--clean', 'Clear credentials')
38
40
  .option('--silent', `Run in silent mode, don't prompt for credentials`)
39
41
  .option('--dev', 'List development servers, alternatively you can use the EI_HOST environmental variable ' +
@@ -48,6 +50,7 @@ const silentArgv: boolean = !!program.silent;
48
50
  const verboseArgv: boolean = !!program.verbose;
49
51
  const apiKeyArgv = <string | undefined>program.apiKey;
50
52
  const hmacKeyArgv = <string | undefined>program.hmacKey;
53
+ const gstLaunchArgsArgv = <string | undefined>program.gstLaunchArgs;
51
54
  const noCamera: boolean = !!program.disableCamera;
52
55
  const noMicrophone: boolean = !!program.disableMicrophone;
53
56
  const isProphesee = process.env.PROPHESEE_CAM === '1';
@@ -440,7 +443,9 @@ let isExiting = false;
440
443
  camera = new Imagesnap(verboseArgv);
441
444
  }
442
445
  else if (process.platform === 'linux') {
443
- camera = new GStreamer(verboseArgv);
446
+ camera = new GStreamer(verboseArgv, {
447
+ customLaunchCommand: gstLaunchArgsArgv,
448
+ });
444
449
  }
445
450
  else {
446
451
  throw new Error('Unsupported platform: "' + process.platform + '"');
@@ -63,6 +63,24 @@ export class RunnerDownloader extends EventEmitter<{
63
63
  downloadType = 'runner-linux-aarch64-rzv2l';
64
64
  } else if (fs.existsSync('/dev/akida0')) {
65
65
  downloadType = 'runner-linux-aarch64-akd1000';
66
+ } else if (fs.existsSync('/dev/nvhost-as-gpu')) {
67
+
68
+ downloadType = 'runner-linux-aarch64-jetson-orin';
69
+
70
+ let firmwareModel;
71
+ // using /proc/device-tree as recommended in user space.
72
+ if (fs.existsSync('/proc/device-tree/model')) {
73
+ firmwareModel = await fs.promises.readFile('/proc/device-tree/model', 'utf-8');
74
+ }
75
+
76
+ if (firmwareModel && firmwareModel.indexOf('NVIDIA Jetson Nano') > -1) {
77
+ downloadType = 'runner-linux-aarch64-jetson-nano';
78
+ }
79
+
80
+ if (process.env.INFERENCE_CONTAINER_JETSON_NANO === '1') {
81
+ downloadType = 'runner-linux-aarch64-jetson-nano';
82
+ }
83
+
66
84
  } else {
67
85
  downloadType = 'runner-linux-aarch64';
68
86
  }
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import Path from 'path';
4
- import { LinuxImpulseRunner, ModelInformation } from '../../library/classifier/linux-impulse-runner';
4
+ import { LinuxImpulseRunner, ModelInformation, RunnerHelloHasAnomaly,
5
+ RunnerHelloInferencingEngine, RunnerHelloResponseModelParameters } from '../../library/classifier/linux-impulse-runner';
5
6
  import { AudioClassifier } from '../../library/classifier/audio-classifier';
6
7
  import { ImageClassifier } from '../../library/classifier/image-classifier';
7
8
  import { Imagesnap } from '../../library/sensors/imagesnap';
@@ -53,6 +54,8 @@ program
53
54
  'These might run faster on some architectures, but have reduced accuracy.')
54
55
  .option('--enable-camera', 'Always enable the camera. This flag needs to be used to get data from the microphone ' +
55
56
  'on some USB webcams.')
57
+ .option('--gst-launch-args <args>', 'Override the arguments to gst-launch-1.0. This should be a stream that returns JPEG images, e.g.: ' +
58
+ '"v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! videoconvert ! jpegenc"')
56
59
  .option('--dev', 'List development servers, alternatively you can use the EI_HOST environmental variable ' +
57
60
  'to specify the Edge Impulse instance.')
58
61
  .option('--verbose', 'Enable debug logs')
@@ -71,6 +74,7 @@ const downloadArgv = <string | undefined>program.download;
71
74
  const forceTargetArgv = <string | undefined>program.forceTarget;
72
75
  const forceEngineArgv = <string | undefined>program.forceEngine;
73
76
  const listTargetsArgv: boolean = !!program.listTargets;
77
+ const gstLaunchArgsArgv = <string | undefined>program.gstLaunchArgs;
74
78
  const runHttpServerPort = program.runHttpServer ? Number(program.runHttpServer) : undefined;
75
79
 
76
80
  process.on('warning', e => console.warn(e.stack));
@@ -325,12 +329,17 @@ process.on('SIGINT', onSignal);
325
329
  });
326
330
  }
327
331
  else if (param.sensorType === 'camera') {
332
+ let labels = param.labels;
333
+ if (param.has_anomaly === RunnerHelloHasAnomaly.VisualGMM) {
334
+ labels.push('anomaly');
335
+ }
336
+
328
337
  console.log(RUNNER_PREFIX, 'Starting the image classifier for',
329
338
  model.project.owner + ' / ' + model.project.name, '(v' + model.project.deploy_version + ')');
330
339
  console.log(RUNNER_PREFIX, 'Parameters',
331
340
  'image size', param.image_input_width + 'x' + param.image_input_height + ' px (' +
332
341
  param.image_channel_count + ' channels)',
333
- 'classes', param.labels);
342
+ 'classes', labels);
334
343
 
335
344
  let camera = await connectCamera(configFactory);
336
345
 
@@ -355,9 +364,12 @@ process.on('SIGINT', onSignal);
355
364
  }
356
365
  console.log('classifyRes', timeMs + 'ms.', c);
357
366
  }
358
- else if (ev.result.bounding_boxes) {
367
+ if (ev.result.bounding_boxes) {
359
368
  console.log('boundingBoxes', timeMs + 'ms.', JSON.stringify(ev.result.bounding_boxes));
360
369
  }
370
+ if (ev.result.visual_anomaly_grid) {
371
+ console.log('visual anomalies', timeMs + 'ms.', JSON.stringify(ev.result.visual_anomaly_grid));
372
+ }
361
373
  if (ev.info) {
362
374
  console.log('additionalInfo:', ev.info);
363
375
  }
@@ -396,7 +408,9 @@ async function connectCamera(cf: Config) {
396
408
  camera = new Imagesnap(verboseArgv);
397
409
  }
398
410
  else if (process.platform === 'linux') {
399
- camera = new GStreamer(verboseArgv);
411
+ camera = new GStreamer(verboseArgv, {
412
+ customLaunchCommand: gstLaunchArgsArgv,
413
+ });
400
414
  }
401
415
  else {
402
416
  throw new Error('Unsupported platform "' + process.platform + '"');
@@ -585,6 +599,10 @@ function startApiServer(model: ModelInformation, runner: LinuxImpulseRunner, pro
585
599
  ]);
586
600
  }
587
601
 
602
+ const isObjectDetection = model.modelParameters.model_type === 'constrained_object_detection' ||
603
+ model.modelParameters.model_type === 'object_detection';
604
+ const isVisualAd = model.modelParameters.has_anomaly === RunnerHelloHasAnomaly.VisualGMM;
605
+
588
606
  let modelVm: InferenceServerModelViewModel;
589
607
  if (model.modelParameters.sensorType === 'camera') {
590
608
  modelVm = {
@@ -592,8 +610,7 @@ function startApiServer(model: ModelInformation, runner: LinuxImpulseRunner, pro
592
610
  width: model.modelParameters.image_input_width,
593
611
  height: model.modelParameters.image_input_height,
594
612
  depth: model.modelParameters.image_channel_count === 3 ? 'RGB' : 'Grayscale',
595
- isObjectDetection: model.modelParameters.model_type === 'constrained_object_detection' ||
596
- model.modelParameters.model_type === 'object_detection',
613
+ showImagePreview: isObjectDetection || isVisualAd,
597
614
  };
598
615
  }
599
616
  else {
@@ -619,7 +636,15 @@ function startApiServer(model: ModelInformation, runner: LinuxImpulseRunner, pro
619
636
 
620
637
  app.get('/api/info', asyncMiddleware(async (req, res) => {
621
638
  res.header('Content-Type', 'application/json');
622
- res.end(JSON.stringify(model, null, 4) + '\n');
639
+
640
+ let modelParametersCloned = Object.assign({
641
+ has_visual_anomaly_detection: model.modelParameters.has_anomaly === RunnerHelloHasAnomaly.VisualGMM,
642
+ }, model.modelParameters);
643
+
644
+ res.end(JSON.stringify({
645
+ project: model.project,
646
+ modelParameters: modelParametersCloned,
647
+ }, null, 4) + '\n');
623
648
  }));
624
649
 
625
650
  app.post('/api/features', asyncMiddleware(async (req, res) => {
@@ -731,6 +756,12 @@ function startApiServer(model: ModelInformation, runner: LinuxImpulseRunner, pro
731
756
  bb.y = Math.round((bb.y / factor) - (offsetY / factor));
732
757
  bb.height = Math.round((bb.height / factor));
733
758
  }
759
+ for (const bb of response.result.visual_anomaly_grid || []) {
760
+ bb.x = Math.round((bb.x / factor) - (offsetX / factor));
761
+ bb.width = Math.round((bb.width / factor));
762
+ bb.y = Math.round((bb.y / factor) - (offsetY / factor));
763
+ bb.height = Math.round((bb.height / factor));
764
+ }
734
765
 
735
766
  res.header('Content-Type', 'application/json');
736
767
  res.end(JSON.stringify(response, null, 4) + '\n');
@@ -100,7 +100,7 @@ window.InferenceServer = async () => {
100
100
  throw new Error(text);
101
101
  }
102
102
 
103
- if (els.uploadFile && body.result.bounding_boxes) {
103
+ if (els.uploadFile && (body.result.bounding_boxes || body.result.visual_anomaly_grid)) {
104
104
  els.previewSection.style.display = '';
105
105
 
106
106
  const dataUrl = await new Promise((resolve, reject) => {
@@ -125,7 +125,7 @@ window.InferenceServer = async () => {
125
125
  oldEl.parentNode.removeChild(oldEl);
126
126
  }
127
127
 
128
- for (let b of result.bounding_boxes) {
128
+ for (let b of (result.bounding_boxes || [])) {
129
129
  let bb = {
130
130
  x: b.x / factor,
131
131
  y: b.y / factor,
@@ -166,6 +166,37 @@ window.InferenceServer = async () => {
166
166
  el.appendChild(label);
167
167
  els.previewSectionImgContainer.appendChild(el);
168
168
  }
169
+
170
+ for (let b of (result.visual_anomaly_grid || [])) {
171
+ let bb = {
172
+ x: b.x / factor,
173
+ y: b.y / factor,
174
+ width: b.width / factor,
175
+ height: b.height / factor,
176
+ label: b.label,
177
+ value: b.value
178
+ };
179
+ let el = document.createElement('div');
180
+ el.classList.add('bounding-box-container');
181
+ el.style.position = 'absolute';
182
+ el.style.background = 'rgba(255, 0, 0, 0.5)';
183
+ el.style.width = (bb.width) + 'px';
184
+ el.style.height = (bb.height) + 'px';
185
+ el.style.left = (bb.x) + 'px';
186
+ el.style.top = (bb.y) + 'px';
187
+
188
+ let score = document.createElement('div');
189
+ score.style.color = 'white';
190
+ score.textContent = bb.value.toFixed(2);
191
+ el.appendChild(score);
192
+
193
+ // Center align the score
194
+ el.style.display = 'flex';
195
+ el.style.alignItems = 'center';
196
+ el.style.justifyContent = 'center';
197
+
198
+ els.previewSectionImgContainer.appendChild(el);
199
+ }
169
200
  }
170
201
  else {
171
202
  els.previewSection.style.display = 'none';
@@ -64,6 +64,12 @@ window.WebServer = async () => {
64
64
 
65
65
  console.log('classification', opts.result, opts.timeMs);
66
66
 
67
+ for (let bx of Array.from(els.cameraContainer.querySelectorAll('.bounding-box-container'))) {
68
+ bx.parentNode?.removeChild(bx);
69
+ }
70
+
71
+ els.imageClassify.row.style.display = 'none';
72
+
67
73
  if (result.classification) {
68
74
  if (isFirstClassification) {
69
75
  for (let ix = 0; ix < Object.keys(result.classification).length; ix++) {
@@ -76,6 +82,14 @@ window.WebServer = async () => {
76
82
  els.resultsThead.appendChild(th);
77
83
  }
78
84
 
85
+ if (result.visual_anomaly_grid) {
86
+ let th = document.createElement('th');
87
+ th.scope = 'col';
88
+ th.classList.add('px-0', 'text-center');
89
+ th.textContent = th.title = 'anomaly';
90
+ els.resultsThead.appendChild(th);
91
+ }
92
+
79
93
  els.resultsTable.style.display = '';
80
94
  isFirstClassification = false;
81
95
  }
@@ -91,6 +105,13 @@ window.WebServer = async () => {
91
105
  }
92
106
  }
93
107
 
108
+ // both visual AD and we have at least 1 anomaly
109
+ let isVisualAnomaly = false;
110
+ if (result.visual_anomaly_grid && result.visual_anomaly_grid.length > 0) {
111
+ conclusion = 'anomaly (' + (result.visual_anomaly_max || 0).toFixed(2) + ')';
112
+ isVisualAnomaly = true;
113
+ }
114
+
94
115
  let tr = document.createElement('tr');
95
116
  let td1 = document.createElement('td');
96
117
  td1.textContent = (++inferenceIx).toString();
@@ -99,11 +120,21 @@ window.WebServer = async () => {
99
120
  let td = document.createElement('td');
100
121
  td.classList.add('text-center');
101
122
  td.textContent = result.classification[k].toFixed(2);
102
- if (result.classification[k] === highest) {
123
+ if (result.classification[k] === highest && !isVisualAnomaly) {
103
124
  td.style.fontWeight = 600;
104
125
  }
105
126
  tr.appendChild(td);
106
127
  }
128
+ if (result.visual_anomaly_grid) {
129
+ let td = document.createElement('td');
130
+ td.classList.add('text-center');
131
+ td.textContent = (result.visual_anomaly_max || 0).toFixed(2);
132
+ if (isVisualAnomaly) {
133
+ td.style.fontWeight = 600;
134
+ }
135
+ tr.appendChild(td);
136
+ }
137
+
107
138
  tr.classList.add('active');
108
139
  setTimeout(() => {
109
140
  tr.classList.remove('active');
@@ -122,11 +153,7 @@ window.WebServer = async () => {
122
153
 
123
154
  els.imageClassify.text.textContent = conclusion;
124
155
  }
125
- else {
126
- for (let bx of Array.from(els.cameraContainer.querySelectorAll('.bounding-box-container'))) {
127
- bx.parentNode?.removeChild(bx);
128
- }
129
-
156
+ if (result.bounding_boxes) {
130
157
  let factor = els.cameraImg.naturalHeight / els.cameraImg.clientHeight;
131
158
 
132
159
  for (let b of result.bounding_boxes) {
@@ -179,8 +206,41 @@ window.WebServer = async () => {
179
206
 
180
207
  els.cameraContainer.appendChild(el);
181
208
  }
209
+ }
210
+ if (result.visual_anomaly_grid) {
211
+ let factor = els.cameraImg.naturalHeight / els.cameraImg.clientHeight;
212
+
213
+ for (let b of result.visual_anomaly_grid) {
214
+ let bb = {
215
+ x: b.x / factor,
216
+ y: b.y / factor,
217
+ width: b.width / factor,
218
+ height: b.height / factor,
219
+ label: b.label,
220
+ value: b.value
221
+ };
182
222
 
183
- els.imageClassify.row.style.display = 'none';
223
+ let el = document.createElement('div');
224
+ el.classList.add('bounding-box-container');
225
+ el.style.position = 'absolute';
226
+ el.style.background = 'rgba(255, 0, 0, 0.5)';
227
+ el.style.width = (bb.width) + 'px';
228
+ el.style.height = (bb.height) + 'px';
229
+ el.style.left = (bb.x) + 'px';
230
+ el.style.top = (bb.y) + 'px';
231
+
232
+ let score = document.createElement('div');
233
+ score.style.color = 'white';
234
+ score.textContent = bb.value.toFixed(2);
235
+ el.appendChild(score);
236
+
237
+ // Center align the score
238
+ el.style.display = 'flex';
239
+ el.style.alignItems = 'center';
240
+ el.style.justifyContent = 'center';
241
+
242
+ els.cameraContainer.appendChild(el);
243
+ }
184
244
  }
185
245
  });
186
246
  };
@@ -8,7 +8,7 @@ export type InferenceServerModelViewModel = {
8
8
  width: number,
9
9
  height: number,
10
10
  depth: 'Grayscale' | 'RGB',
11
- isObjectDetection: boolean,
11
+ showImagePreview: boolean,
12
12
  };
13
13
 
14
14
  export type InferenceServerViewModel = {
@@ -22,7 +22,7 @@ export type InferenceServerViewModel = {
22
22
 
23
23
  export const renderInferenceServerView = (vm: InferenceServerViewModel) => {
24
24
  let resultsColClass = `col-12`;
25
- if (vm.model.mode === 'image' && vm.model.isObjectDetection) {
25
+ if (vm.model.mode === 'image' && vm.model.showImagePreview) {
26
26
  resultsColClass = `col-12 col-lg-6`;
27
27
  }
28
28
 
@@ -1,4 +1,4 @@
1
- const { ImageClassifier, LinuxImpulseRunner, Ffmpeg, ICamera, Imagesnap } = require('../../build/library');
1
+ const { ImageClassifier, LinuxImpulseRunner, Ffmpeg, ICamera, Imagesnap, RunnerHelloHasAnomaly } = require('../../build/library');
2
2
 
3
3
  // tslint:disable-next-line: no-floating-promises
4
4
  (async () => {
@@ -31,12 +31,17 @@ const { ImageClassifier, LinuxImpulseRunner, Ffmpeg, ICamera, Imagesnap } = requ
31
31
  let runner = new LinuxImpulseRunner(argModelFile);
32
32
  let model = await runner.init();
33
33
 
34
+ let labels = model.modelParameters.labels;
35
+ if (model.modelParameters.has_anomaly === RunnerHelloHasAnomaly.VisualGMM) {
36
+ labels.push('anomaly');
37
+ }
38
+
34
39
  console.log('Starting the image classifier for',
35
40
  model.project.owner + ' / ' + model.project.name, '(v' + model.project.deploy_version + ')');
36
41
  console.log('Parameters',
37
42
  'image size', model.modelParameters.image_input_width + 'x' + model.modelParameters.image_input_height + ' px (' +
38
43
  model.modelParameters.image_channel_count + ' channels)',
39
- 'classes', model.modelParameters.labels);
44
+ 'classes', labels);
40
45
 
41
46
  // select a camera... you can implement this interface for other targets :-)
42
47
  let camera;
@@ -90,9 +95,12 @@ const { ImageClassifier, LinuxImpulseRunner, Ffmpeg, ICamera, Imagesnap } = requ
90
95
  }
91
96
  console.log('classification', timeMs + 'ms.', c);
92
97
  }
93
- else if (ev.result.bounding_boxes) {
98
+ if (ev.result.bounding_boxes) {
94
99
  console.log('boundingBoxes', timeMs + 'ms.', JSON.stringify(ev.result.bounding_boxes));
95
100
  }
101
+ if (ev.result.visual_anomaly_grid) {
102
+ console.log('visual anomalies', timeMs + 'ms.', JSON.stringify(ev.result.visual_anomaly_grid));
103
+ }
96
104
  });
97
105
  }
98
106
  catch (ex) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edge-impulse-linux",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Node.js SDK and tools for Edge Impulse for Linux",
5
5
  "directories": {
6
6
  "example": "examples"