irie 0.0.58__tar.gz → 0.0.60__tar.gz

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.

Potentially problematic release.


This version of irie might be problematic. Click here for more details.

Files changed (521) hide show
  1. {irie-0.0.58 → irie-0.0.60}/PKG-INFO +7 -6
  2. {irie-0.0.58 → irie-0.0.60}/pyproject.toml +8 -7
  3. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/models.py +7 -0
  4. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/views_events.py +2 -2
  5. irie-0.0.60/src/irie/apps/inventory/migrations/0009_datum_angle_x_datum_angle_y.py +23 -0
  6. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/models.py +1 -1
  7. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/views.py +10 -4
  8. irie-0.0.60/src/irie/apps/prediction/forms/csi_upload.py +68 -0
  9. irie-0.0.60/src/irie/apps/prediction/migrations/0007_remove_sensorassignment_orient_x_and_more.py +25 -0
  10. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/__init__.py +6 -4
  11. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/__init__.py +49 -14
  12. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/urls.py +6 -4
  13. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/views.py +248 -17
  14. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/css/brace.css +1 -1
  15. irie-0.0.60/src/irie/apps/static/assets/css/brace.css.map +1 -0
  16. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/css/brace.min.css +1 -1
  17. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/brace.js +101 -42
  18. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/footer.html +1 -1
  19. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/asset-event-summary.html +7 -0
  20. irie-0.0.60/src/irie/apps/templates/inventory/asset-on-map.html +50 -0
  21. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/asset-on-map.js +115 -113
  22. irie-0.0.60/src/irie/apps/templates/inventory/create-datum.html +44 -0
  23. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/sensor-upload.html +22 -22
  24. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/layouts/base.html +3 -3
  25. irie-0.0.60/src/irie/apps/templates/prediction/create-model.html +113 -0
  26. irie-0.0.58/src/irie/apps/templates/prediction/create-model.html → irie-0.0.60/src/irie/apps/templates/prediction/upload/confirm.html +9 -34
  27. irie-0.0.60/src/irie/apps/templates/prediction/upload/step.html +119 -0
  28. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/veux/navigator.html +54 -38
  29. irie-0.0.60/src/irie/apps/templates/prediction/veux/navigator.js +256 -0
  30. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/xara-profile.html +7 -3
  31. {irie-0.0.58 → irie-0.0.60}/src/irie/core/settings.py +1 -0
  32. {irie-0.0.58 → irie-0.0.60}/src/irie.egg-info/PKG-INFO +7 -6
  33. {irie-0.0.58 → irie-0.0.60}/src/irie.egg-info/SOURCES.txt +7 -1
  34. {irie-0.0.58 → irie-0.0.60}/src/irie.egg-info/requires.txt +6 -5
  35. irie-0.0.58/src/irie/apps/static/assets/css/brace.css.map +0 -1
  36. irie-0.0.58/src/irie/apps/templates/inventory/asset-on-map.html +0 -50
  37. irie-0.0.58/src/irie/apps/templates/prediction/veux/navigator.js +0 -188
  38. {irie-0.0.58 → irie-0.0.60}/README.md +0 -0
  39. {irie-0.0.58 → irie-0.0.60}/setup.cfg +0 -0
  40. {irie-0.0.58 → irie-0.0.60}/src/irie/__init__.py +0 -0
  41. {irie-0.0.58 → irie-0.0.60}/src/irie/__main__.py +0 -0
  42. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/__init__.py +0 -0
  43. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/__init__.py +0 -0
  44. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/admin.py +0 -0
  45. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/apps.py +0 -0
  46. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/forms.py +0 -0
  47. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/models.py +0 -0
  48. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/templatetags/__init__.py +0 -0
  49. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/templatetags/admin_material.py +0 -0
  50. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/templatetags/replace_value.py +0 -0
  51. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/urls.py +0 -0
  52. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/utils.py +0 -0
  53. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/admin_dash/views.py +0 -0
  54. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/__init__.py +0 -0
  55. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/admin.py +0 -0
  56. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/config.py +0 -0
  57. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/forms.py +0 -0
  58. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/migrations/__init__.py +0 -0
  59. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/models.py +0 -0
  60. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/tests.py +0 -0
  61. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/urls.py +0 -0
  62. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/authentication/views.py +0 -0
  63. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/config.py +0 -0
  64. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/context_processors.py +0 -0
  65. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/__init__.py +0 -0
  66. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/apps.py +0 -0
  67. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/documents.py +0 -0
  68. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/migrations/__init__.py +0 -0
  69. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/tests.py +0 -0
  70. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/urls.py +0 -0
  71. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/documents/views.py +0 -0
  72. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/__init__.py +0 -0
  73. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/admin.py +0 -0
  74. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/apps.py +0 -0
  75. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/daemon.py +0 -0
  76. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/identification.py +0 -0
  77. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/migrations/0001_initial.py +0 -0
  78. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/migrations/0002_evaluation_status.py +0 -0
  79. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/migrations/__init__.py +0 -0
  80. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/urls.py +0 -0
  81. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/evaluation/views.py +0 -0
  82. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/__init__.py +0 -0
  83. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/admin.py +0 -0
  84. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/apps.py +0 -0
  85. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/migrations/0001_initial.py +0 -0
  86. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/migrations/0002_rename_event_eventrecord.py +0 -0
  87. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/migrations/0003_hazardevent.py +0 -0
  88. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/migrations/__init__.py +0 -0
  89. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/models.py +0 -0
  90. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/tests.py +0 -0
  91. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/tests_events.py +0 -0
  92. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/urls.py +0 -0
  93. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/events/views.py +0 -0
  94. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/__init__.py +0 -0
  95. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/admin.py +0 -0
  96. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/apps.py +0 -0
  97. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/archive/CESMD.py +0 -0
  98. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/archive/calid.py +0 -0
  99. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/fields.py +0 -0
  100. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/filters.py +0 -0
  101. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/forms.py +0 -0
  102. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0001_initial.py +0 -0
  103. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0002_alter_asset_bridge_sensors_and_more.py +0 -0
  104. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0003_asset_notes.py +0 -0
  105. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0004_datum_sensorgroup_sensor.py +0 -0
  106. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0005_alter_sensor_group.py +0 -0
  107. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0006_datum_asset_datum_locate_x_datum_locate_y_and_more.py +0 -0
  108. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0007_sensor_name.py +0 -0
  109. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/0008_alter_sensor_dx_alter_sensor_dy_alter_sensor_dz_and_more.py +0 -0
  110. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/migrations/__init__.py +0 -0
  111. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/services/maps/__init__.py +0 -0
  112. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/services/render.py +0 -0
  113. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/sitemaps.py +0 -0
  114. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/tables.py +0 -0
  115. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/templatetags/__init__.py +0 -0
  116. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/templatetags/get.py +0 -0
  117. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/templatetags/nbi.py +0 -0
  118. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/inventory/urls.py +0 -0
  119. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/management/__init__.py +0 -0
  120. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/management/commands/__init__.py +0 -0
  121. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/__init__.py +0 -0
  122. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/apps.py +0 -0
  123. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/forms.py +0 -0
  124. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/migrations/__init__.py +0 -0
  125. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/models.py +0 -0
  126. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/networks.py +0 -0
  127. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/tests.py +0 -0
  128. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/urls.py +0 -0
  129. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/networks/views.py +0 -0
  130. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/__init__.py +0 -0
  131. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/admin.py +0 -0
  132. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/apps.py +0 -0
  133. /irie-0.0.58/src/irie/apps/prediction/forms.py → /irie-0.0.60/src/irie/apps/prediction/forms/__init__.py +0 -0
  134. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/metrics.py +0 -0
  135. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/0001_initial.py +0 -0
  136. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/0002_alter_predictormodel_protocol.py +0 -0
  137. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/0003_alter_predictormodel_protocol.py +0 -0
  138. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/0004_sensorassignment.py +0 -0
  139. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/0005_remove_sensorassignment_offset_x_and_more.py +0 -0
  140. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/0006_remove_sensorassignment_show_x_and_more.py +0 -0
  141. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/migrations/__init__.py +0 -0
  142. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/models.py +0 -0
  143. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/predictor.py +0 -0
  144. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/hazus.py +0 -0
  145. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/metrics.py +0 -0
  146. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/__init__.py +0 -0
  147. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/hwd_analysis.schema.json +0 -0
  148. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/hwd_analysis_default.json +0 -0
  149. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/hwd_conf.schema.json +0 -0
  150. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/hwd_conf_default.json +0 -0
  151. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/hwd_results.schema.json +0 -0
  152. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/schemas/hwd_results_default.json +0 -0
  153. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/utilities.py +0 -0
  154. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/xmlutils.py +0 -0
  155. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/opensees/zipped.py +0 -0
  156. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/runners/ssid.py +0 -0
  157. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/templatetags/__init__.py +0 -0
  158. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/templatetags/predictor.py +0 -0
  159. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/prediction/views_api.py +0 -0
  160. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/__init__.py +0 -0
  161. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/admin.py +0 -0
  162. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/config.py +0 -0
  163. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/migrations/__init__.py +0 -0
  164. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/models.py +0 -0
  165. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/templatetags/__init__.py +0 -0
  166. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/templatetags/indexing.py +0 -0
  167. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/tests.py +0 -0
  168. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/urls.py +0 -0
  169. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/view_sdof.py +0 -0
  170. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/view_utils.py +0 -0
  171. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/site/views.py +0 -0
  172. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/sitemaps.py +0 -0
  173. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/content_images/brace/ForceFrame.png +0 -0
  174. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/content_images/brace/mdof.svg +0 -0
  175. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/content_images/brace/opensees.jpg +0 -0
  176. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/content_images/brace/sdof.svg +0 -0
  177. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/content_images/brace/sees.png +0 -0
  178. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/css/uPlot.min.css +0 -0
  179. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/brace2-no_text.png +0 -0
  180. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/brand/dark.svg +0 -0
  181. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/brand/light.svg +0 -0
  182. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/colStrains.svg +0 -0
  183. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/colStrains_big.png +0 -0
  184. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/colStrains_small.png +0 -0
  185. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/colStrains_svg_optimizer.svg +0 -0
  186. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/colStrains_svg_optimizer.xml +0 -0
  187. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/drift.svg +0 -0
  188. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/earthquake-hazard.png +0 -0
  189. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/android-chrome-192x192.png +0 -0
  190. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/android-chrome-512x512.png +0 -0
  191. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/apple-touch-icon.png +0 -0
  192. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/browserconfig.xml +0 -0
  193. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/favicon-16x16.png +0 -0
  194. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/favicon-32x32.png +0 -0
  195. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/favicon.ico +0 -0
  196. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/manifest.json +0 -0
  197. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/mstile-150x150.png +0 -0
  198. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/safari-pinned-tab.svg +0 -0
  199. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/favicon/site.webmanifest +0 -0
  200. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/icons/github.svg +0 -0
  201. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/icons/google-tag-manager.svg +0 -0
  202. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/icons/google_analytics.svg +0 -0
  203. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/illustrations/404.svg +0 -0
  204. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/illustrations/500.svg +0 -0
  205. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/illustrations/bs5-illustrations.svg +0 -0
  206. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/illustrations/signin.svg +0 -0
  207. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/marker.svg +0 -0
  208. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/metric.png +0 -0
  209. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/painter.png +0 -0
  210. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/paypal-logo.svg +0 -0
  211. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/peer-black.svg +0 -0
  212. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/peer-light.svg +0 -0
  213. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/predictors.png +0 -0
  214. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/profile-cover.jpg +0 -0
  215. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/soga-logo.jpeg +0 -0
  216. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/img/twin.png +0 -0
  217. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll01336.svg +0 -0
  218. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll01336_1.svg +0 -0
  219. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll13705.svg +0 -0
  220. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll13795.svg +0 -0
  221. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll14406.svg +0 -0
  222. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll23631.svg +0 -0
  223. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll23631_1.svg +0 -0
  224. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll24694.svg +0 -0
  225. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll24704.svg +0 -0
  226. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll24706.svg +0 -0
  227. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll24775.svg +0 -0
  228. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll33742.svg +0 -0
  229. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll47315.svg +0 -0
  230. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll54730.svg +0 -0
  231. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58600-2.svg +0 -0
  232. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58600-3.svg +0 -0
  233. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58600-4.svg +0 -0
  234. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58600.svg +0 -0
  235. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58601-2.svg +0 -0
  236. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58601-3.svg +0 -0
  237. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58601-4.svg +0 -0
  238. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58601.svg +0 -0
  239. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-2.svg +0 -0
  240. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-3.svg +0 -0
  241. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-4.svg +0 -0
  242. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-5.svg +0 -0
  243. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-6.svg +0 -0
  244. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-7.svg +0 -0
  245. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632-8.svg +0 -0
  246. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58632.svg +0 -0
  247. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58658-2.svg +0 -0
  248. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58658-3.svg +0 -0
  249. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58658.svg +0 -0
  250. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58658_1.svg +0 -0
  251. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58658_2.svg +0 -0
  252. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58658_3.svg +0 -0
  253. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58700-1.svg +0 -0
  254. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58700-3.svg +0 -0
  255. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58700-4.svg +0 -0
  256. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll58700.svg +0 -0
  257. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68184.svg +0 -0
  258. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-2.svg +0 -0
  259. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-3.svg +0 -0
  260. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-4.svg +0 -0
  261. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-5.svg +0 -0
  262. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-6.svg +0 -0
  263. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-7.svg +0 -0
  264. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185-8.svg +0 -0
  265. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68185.svg +0 -0
  266. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68682-2.svg +0 -0
  267. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68682-3.svg +0 -0
  268. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68682-4.svg +0 -0
  269. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68682-5.svg +0 -0
  270. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll68682.svg +0 -0
  271. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll79421.svg +0 -0
  272. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89324.svg +0 -0
  273. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89324_2.svg +0 -0
  274. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89686.svg +0 -0
  275. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89708-2.svg +0 -0
  276. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89708.svg +0 -0
  277. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89735.svg +0 -0
  278. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89736.svg +0 -0
  279. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/inventory/ll89973.svg +0 -0
  280. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/787.545aecf5.chunk.js +0 -0
  281. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/d3.v4.min.js +0 -0
  282. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/events_api.js +0 -0
  283. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/events_page.js +0 -0
  284. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/fmkFunctions.js +0 -0
  285. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/jsonview.bundle.js +0 -0
  286. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/login_page.js +0 -0
  287. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/main.1c459f17.js +0 -0
  288. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/js/uPlot.iife.min.js +0 -0
  289. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-base.js +0 -0
  290. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-base.js.flow +0 -0
  291. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-lite.js +0 -0
  292. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-lite.js.flow +0 -0
  293. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper.js +0 -0
  294. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper.js.flow +0 -0
  295. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/createPopper.js +0 -0
  296. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/contains.js +0 -0
  297. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getBoundingClientRect.js +0 -0
  298. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getClippingRect.js +0 -0
  299. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getCompositeRect.js +0 -0
  300. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getComputedStyle.js +0 -0
  301. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getDocumentElement.js +0 -0
  302. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getDocumentRect.js +0 -0
  303. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getHTMLElementScroll.js +0 -0
  304. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getLayoutRect.js +0 -0
  305. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getNodeName.js +0 -0
  306. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getNodeScroll.js +0 -0
  307. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getOffsetParent.js +0 -0
  308. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getParentNode.js +0 -0
  309. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getScrollParent.js +0 -0
  310. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getViewportRect.js +0 -0
  311. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindow.js +0 -0
  312. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindowScroll.js +0 -0
  313. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindowScrollBarX.js +0 -0
  314. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/instanceOf.js +0 -0
  315. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/isScrollParent.js +0 -0
  316. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/isTableElement.js +0 -0
  317. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/listScrollParents.js +0 -0
  318. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/enums.js +0 -0
  319. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/index.js +0 -0
  320. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/applyStyles.js +0 -0
  321. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/arrow.js +0 -0
  322. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/computeStyles.js +0 -0
  323. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/eventListeners.js +0 -0
  324. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/flip.js +0 -0
  325. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/hide.js +0 -0
  326. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/index.js +0 -0
  327. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/offset.js +0 -0
  328. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/popperOffsets.js +0 -0
  329. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/preventOverflow.js +0 -0
  330. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper-base.js +0 -0
  331. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper-lite.js +0 -0
  332. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper.js +0 -0
  333. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/types.js +0 -0
  334. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/computeAutoPlacement.js +0 -0
  335. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/computeOffsets.js +0 -0
  336. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/debounce.js +0 -0
  337. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/detectOverflow.js +0 -0
  338. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/expandToHashMap.js +0 -0
  339. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/format.js +0 -0
  340. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getAltAxis.js +0 -0
  341. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getAltLen.js +0 -0
  342. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getBasePlacement.js +0 -0
  343. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getFreshSideObject.js +0 -0
  344. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getMainAxisFromPlacement.js +0 -0
  345. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getOppositePlacement.js +0 -0
  346. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getOppositeVariationPlacement.js +0 -0
  347. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getVariation.js +0 -0
  348. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/math.js +0 -0
  349. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/mergeByName.js +0 -0
  350. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/mergePaddingObject.js +0 -0
  351. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/orderModifiers.js +0 -0
  352. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/rectToClientRect.js +0 -0
  353. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/uniqueBy.js +0 -0
  354. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/validateModifiers.js +0 -0
  355. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/within.js +0 -0
  356. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-base.min.js +0 -0
  357. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-base.min.js.flow +0 -0
  358. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-lite.min.js +0 -0
  359. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-lite.min.js.flow +0 -0
  360. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper.min.js +0 -0
  361. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper.min.js.flow +0 -0
  362. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-grid.min.css +0 -0
  363. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-grid.rtl.min.css +0 -0
  364. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-reboot.min.css +0 -0
  365. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +0 -0
  366. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-utilities.min.css +0 -0
  367. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +0 -0
  368. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap.min.css +0 -0
  369. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap.rtl.min.css +0 -0
  370. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js +0 -0
  371. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.esm.min.js +0 -0
  372. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.min.js +0 -0
  373. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.css +0 -0
  374. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.min.js +0 -0
  375. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/notyf/notyf.es.js +0 -0
  376. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/notyf/notyf.min.css +0 -0
  377. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/notyf/notyf.min.js +0 -0
  378. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/notyf/notyf.umd.js +0 -0
  379. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.css +0 -0
  380. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.js +0 -0
  381. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.mjs +0 -0
  382. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.mjs +0 -0
  383. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/onscreen/dist/index.js +0 -0
  384. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/onscreen/dist/on-screen.es6.js +0 -0
  385. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/onscreen/dist/on-screen.umd.min.js +0 -0
  386. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar-core.esm.js +0 -0
  387. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.esm.js +0 -0
  388. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.min.css +0 -0
  389. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.min.js +0 -0
  390. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.umd.js +0 -0
  391. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/smooth-scroll/dist/smooth-scroll.min.js +0 -0
  392. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/smooth-scroll/dist/smooth-scroll.polyfills.min.js +0 -0
  393. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.all.min.js +0 -0
  394. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.min.css +0 -0
  395. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.min.js +0 -0
  396. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/jquery.waypoints.min.js +0 -0
  397. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/noframework.waypoints.min.js +0 -0
  398. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/infinite.min.js +0 -0
  399. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/inview.min.js +0 -0
  400. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/sticky.min.js +0 -0
  401. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/waypoints.debug.js +0 -0
  402. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/lib/zepto.waypoints.min.js +0 -0
  403. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/licenses.txt +0 -0
  404. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/assets/vendor/waypoints/testem.json +0 -0
  405. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/favicon.ico +0 -0
  406. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/static/sitemap.xml +0 -0
  407. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/accounts/login.html +0 -0
  408. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/accounts/register.html +0 -0
  409. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/admin/base_site.html +0 -0
  410. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/admin/color_theme_toggle.html +0 -0
  411. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/bridges/InteractiveTwin-CE58658.html +0 -0
  412. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/css/admin-extra.css +0 -0
  413. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/documents/documents.html +0 -0
  414. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/events/EarthquakeResponse.html +0 -0
  415. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/events/event-table.html +0 -0
  416. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/events/events.html +0 -0
  417. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/events/login.html +0 -0
  418. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/events/react_and_bootstrap.html +0 -0
  419. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/home/asset.html +0 -0
  420. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/asset-event-table.html +0 -0
  421. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/modal-report.html +0 -0
  422. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/navigation.html +0 -0
  423. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/paginate.js +0 -0
  424. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/scripts.html +0 -0
  425. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/settings-box.html +0 -0
  426. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/includes/sidebar.html +0 -0
  427. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/asset-evals.html +0 -0
  428. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/asset-profile.html +0 -0
  429. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/asset-sensors.html +0 -0
  430. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/asset-table.html +0 -0
  431. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/bridge-dashboard.html +0 -0
  432. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/bridge.html +0 -0
  433. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/dashboard.html +0 -0
  434. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/map-inventory.html +0 -0
  435. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/map-inventory2.html +0 -0
  436. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/map-single-asset.html +0 -0
  437. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/map-single-asset2.html +0 -0
  438. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/map-terrain.html +0 -0
  439. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/preamble.tex +0 -0
  440. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/report.tex +0 -0
  441. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/inventory/three-maps.html +0 -0
  442. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/layouts/base-fullscreen.html +0 -0
  443. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/layouts/json-form.html +0 -0
  444. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/networks/_networks.html +0 -0
  445. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/networks/corridor_table.html +0 -0
  446. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/networks/networks.js +0 -0
  447. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/networks/styled_inputs.html +0 -0
  448. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/asset-predictors.html +0 -0
  449. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/create-mdof.html +0 -0
  450. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/hazus/event.html +0 -0
  451. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/hazus/history.html +0 -0
  452. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/hazus/history.js +0 -0
  453. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/new-runner.html +0 -0
  454. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/prediction/predictor-profile.html +0 -0
  455. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/sensors/render-sensors.js +0 -0
  456. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/about.html +0 -0
  457. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/asset_map.html +0 -0
  458. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/components-forms.html +0 -0
  459. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/index.html +0 -0
  460. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/json-form.html +0 -0
  461. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-400-sidebar.html +0 -0
  462. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-400.html +0 -0
  463. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-403.html +0 -0
  464. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-404-sidebar.html +0 -0
  465. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-404.html +0 -0
  466. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-500.html +0 -0
  467. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-forgot-password.html +0 -0
  468. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-lock.html +0 -0
  469. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-reset-password.html +0 -0
  470. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-sign-in.html +0 -0
  471. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/page-sign-up.html +0 -0
  472. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/qr-0001.html +0 -0
  473. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/qr-0002.html +0 -0
  474. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/qr-0003.html +0 -0
  475. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/qr-0004.html +0 -0
  476. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/robots.txt +0 -0
  477. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/settings.html +0 -0
  478. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/tables-bootstrap-tables.html +0 -0
  479. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/transactions.html +0 -0
  480. {irie-0.0.58 → irie-0.0.60}/src/irie/apps/templates/site/unused-dashboard-cards.html +0 -0
  481. {irie-0.0.58 → irie-0.0.60}/src/irie/core/__init__.py +0 -0
  482. {irie-0.0.58 → irie-0.0.60}/src/irie/core/asgi.py +0 -0
  483. {irie-0.0.58 → irie-0.0.60}/src/irie/core/urls.py +0 -0
  484. {irie-0.0.58 → irie-0.0.60}/src/irie/core/wsgi.py +0 -0
  485. {irie-0.0.58 → irie-0.0.60}/src/irie/fhwa/__init__.py +0 -0
  486. {irie-0.0.58 → irie-0.0.60}/src/irie/fhwa/__main__.py +0 -0
  487. {irie-0.0.58 → irie-0.0.60}/src/irie/fhwa/fields/nbi001.py +0 -0
  488. {irie-0.0.58 → irie-0.0.60}/src/irie/fhwa/fields/nbi001b.py +0 -0
  489. {irie-0.0.58 → irie-0.0.60}/src/irie/fhwa/fields/nbi002.py +0 -0
  490. {irie-0.0.58 → irie-0.0.60}/src/irie/fhwa/fields.py +0 -0
  491. {irie-0.0.58 → irie-0.0.60}/src/irie/init/__init__.py +0 -0
  492. {irie-0.0.58 → irie-0.0.60}/src/irie/init/__main__.py +0 -0
  493. {irie-0.0.58 → irie-0.0.60}/src/irie/init/bridges.py +0 -0
  494. {irie-0.0.58 → irie-0.0.60}/src/irie/init/calid.py +0 -0
  495. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/cgs-stations.json +0 -0
  496. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/cgs_data.json +0 -0
  497. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbe_data-california.json +0 -0
  498. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbi/04.tar +0 -0
  499. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbi_codes-california-filtered.json +0 -0
  500. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbi_codes-california.json +0 -0
  501. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbi_data-california.json +0 -0
  502. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbi_data_cesmd.json +0 -0
  503. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/nbi_definitions.json +0 -0
  504. {irie-0.0.58 → irie-0.0.60}/src/irie/init/data/networks/soga_corridors.json +0 -0
  505. {irie-0.0.58 → irie-0.0.60}/src/irie/init/getBridgeData.py +0 -0
  506. {irie-0.0.58 → irie-0.0.60}/src/irie/init/getCGSData.py +0 -0
  507. {irie-0.0.58 → irie-0.0.60}/src/irie/init/getCGSevents.py +0 -0
  508. {irie-0.0.58 → irie-0.0.60}/src/irie/init/getNBIData.py +0 -0
  509. {irie-0.0.58 → irie-0.0.60}/src/irie/init/hayward.zip +0 -0
  510. {irie-0.0.58 → irie-0.0.60}/src/irie/init/management/commands/init_assets.py +0 -0
  511. {irie-0.0.58 → irie-0.0.60}/src/irie/init/management/commands/init_cesmd.py +0 -0
  512. {irie-0.0.58 → irie-0.0.60}/src/irie/init/management/commands/init_corridors.py +0 -0
  513. {irie-0.0.58 → irie-0.0.60}/src/irie/init/management/commands/init_predictors.py +0 -0
  514. {irie-0.0.58 → irie-0.0.60}/src/irie/init/management/commands/make_asset.py +0 -0
  515. {irie-0.0.58 → irie-0.0.60}/src/irie/maps.py +0 -0
  516. {irie-0.0.58 → irie-0.0.60}/src/irie/pull/nbi.py +0 -0
  517. {irie-0.0.58 → irie-0.0.60}/src/irie/rest/__main__.py +0 -0
  518. {irie-0.0.58 → irie-0.0.60}/src/irie/usgs/__main__.py +0 -0
  519. {irie-0.0.58 → irie-0.0.60}/src/irie.egg-info/dependency_links.txt +0 -0
  520. {irie-0.0.58 → irie-0.0.60}/src/irie.egg-info/entry_points.txt +0 -0
  521. {irie-0.0.58 → irie-0.0.60}/src/irie.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: irie
3
- Version: 0.0.58
3
+ Version: 0.0.60
4
4
  Summary: An infrastructure resilience engine
5
5
  Author-email: "Claudio M. Perez" <50180406+claudioperez@users.noreply.github.com>
6
6
  Project-URL: Repository, https://github.com/STAIRLab
@@ -26,15 +26,15 @@ Classifier: Operating System :: POSIX
26
26
  Classifier: Operating System :: Unix
27
27
  Classifier: Operating System :: MacOS
28
28
  Description-Content-Type: text/markdown
29
- Requires-Dist: tqdm
30
29
  Requires-Dist: opensees>=0.1.0
31
30
  Requires-Dist: quakeio
31
+ Requires-Dist: veux>=0.0.40
32
+ Requires-Dist: xara>=0.0.8
33
+ Requires-Dist: xcsi>=0.0.3
32
34
  Requires-Dist: mdof
33
- Requires-Dist: veux>=0.0.35
34
- Requires-Dist: xara
35
- Requires-Dist: xcsi
36
- Requires-Dist: xsection>=0.0.19
35
+ Requires-Dist: xsection>=0.0.20
37
36
  Requires-Dist: openbim
37
+ Requires-Dist: tqdm
38
38
  Requires-Dist: folium
39
39
  Requires-Dist: pandas
40
40
  Requires-Dist: numpy
@@ -56,6 +56,7 @@ Requires-Dist: django-environ==0.11.2
56
56
  Requires-Dist: djangorestframework==3.15.2
57
57
  Requires-Dist: djangorestframework-simplejwt==5.3.1
58
58
  Requires-Dist: dj-database-url==2.1.0
59
+ Requires-Dist: django-formtools
59
60
 
60
61
  <div align="center">
61
62
  <h4><code>irie</code></h4>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "irie"
3
- version = "0.0.58"
3
+ version = "0.0.60"
4
4
  authors = [
5
5
  {name="Claudio M. Perez", email="50180406+claudioperez@users.noreply.github.com"}
6
6
  ]
@@ -16,16 +16,16 @@ keywords = [
16
16
  ]
17
17
 
18
18
  dependencies = [
19
- "tqdm",
20
19
  "opensees>=0.1.0",
21
20
  "quakeio",
21
+ "veux>=0.0.40",
22
+ "xara>=0.0.8",
23
+ "xcsi>=0.0.3",
22
24
  "mdof",
23
- "veux>=0.0.35",
24
- "xara",
25
- "xcsi",
26
- "xsection>=0.0.19",
25
+ "xsection>=0.0.20",
27
26
  "openbim", # TODO: remove, superceded by xcsi
28
27
 
28
+ "tqdm",
29
29
  "folium",
30
30
  "pandas",
31
31
  "numpy",
@@ -47,7 +47,8 @@ dependencies = [
47
47
  "django-environ==0.11.2",
48
48
  "djangorestframework==3.15.2",
49
49
  "djangorestframework-simplejwt==5.3.1",
50
- "dj-database-url==2.1.0"
50
+ "dj-database-url==2.1.0",
51
+ "django-formtools"
51
52
  ]
52
53
 
53
54
  classifiers = [
@@ -51,6 +51,13 @@ class Evaluation(models.Model):
51
51
  # Thread(target=evaluate, args=(event, evaluation)).start()
52
52
 
53
53
  return evaluation
54
+
55
+ def evaluate(self):
56
+ """
57
+ Evaluate the event and update the evaluation status.
58
+ This method can be run in a separate thread.
59
+ """
60
+ return evaluate(self.event, self)
54
61
 
55
62
 
56
63
  def evaluate(event, evaluation)->"Evaluation":
@@ -84,8 +84,8 @@ def save_event(request, event, success_status):
84
84
  # RECORD ID
85
85
  rec_id = motion_data.get("record_identifier", "")
86
86
 
87
- if EventRecord.objects.filter(record_identifier=rec_id).first():
88
- print("\n\nSKIPPING\n\n")
87
+ if (evnt := EventRecord.objects.filter(record_identifier=rec_id).first()):
88
+ print(f"\n\nSKIPPING, {evnt.id}")
89
89
  return HttpResponse(json.dumps({"data": ""}), status=success_status)
90
90
 
91
91
  # CREATE EVENT
@@ -0,0 +1,23 @@
1
+ # Generated by Django 5.1.2 on 2025-07-31 05:48
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('irie_apps_inventory', '0008_alter_sensor_dx_alter_sensor_dy_alter_sensor_dz_and_more'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name='datum',
15
+ name='angle_x',
16
+ field=models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True),
17
+ ),
18
+ migrations.AddField(
19
+ model_name='datum',
20
+ name='angle_y',
21
+ field=models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True),
22
+ ),
23
+ ]
@@ -118,7 +118,7 @@ class Datum(models.Model):
118
118
 
119
119
  def __str__(self):
120
120
  return f"{self.name}"
121
-
121
+
122
122
  def to_cardinal(self):
123
123
  """
124
124
  Create rotation matrix from datum basis to cardinal basis.
@@ -170,6 +170,9 @@ def asset_event_summary(request, cesmd, event):
170
170
  evaluation_data = {}
171
171
  evaluation = None
172
172
 
173
+ if request.method == 'POST':
174
+ evaluation.evaluate()
175
+
173
176
  try:
174
177
  for metric in evaluation_data.values():
175
178
  metric["completion"] = (
@@ -400,13 +403,13 @@ def asset_sensors(request, calid):
400
403
 
401
404
  # General Context
402
405
  context = {
403
- "asset": asset,
404
- "segment": "assets",
405
- "groups": SensorGroup.objects.filter(asset=asset)
406
+ "segment": "assets"
406
407
  }
407
408
 
408
409
  # Database
409
410
  asset = get_object_or_404(Asset, calid=calid)
411
+ context["asset"] = asset
412
+ context["groups"] = SensorGroup.objects.filter(asset=asset)
410
413
 
411
414
  return HttpResponse(html_template.render(context, request))
412
415
 
@@ -451,7 +454,10 @@ def sensor_upload(request, calid):
451
454
  "group_form": group_form,
452
455
  "formset": formset,
453
456
  "renderings": [
454
- {"name": predictor.name, "glb": predictor.render_file.url}
457
+ {
458
+ "name": predictor.name,
459
+ "glb": predictor.render_file.url
460
+ }
455
461
  for predictor in PredictorModel.objects.filter(asset=asset, protocol="IRIE_PREDICTOR_V1")
456
462
  if predictor.render_file and predictor.render_file.url
457
463
  ],
@@ -0,0 +1,68 @@
1
+ # forms.py
2
+ from django import forms
3
+ from irie.apps.inventory.models import Datum
4
+ from irie.apps.prediction.models import PredictorModel, SensorAssignment
5
+
6
+ class DatumSelectForm(forms.Form):
7
+ """
8
+ Step 0 – choose an existing datum or say 'create new'.
9
+ The empty choice means 'I want to add a new datum'.
10
+ """
11
+ datum = forms.ModelChoiceField(
12
+ queryset=Datum.objects.none(),
13
+ required=False,
14
+ empty_label="-- create new datum --",
15
+ label="Select Datum",
16
+ help_text="Select an existing datum or create a new one."
17
+ )
18
+
19
+ def __init__(self, *args, asset=None, datum_queryset=None, **kwargs):
20
+ super().__init__(*args, **kwargs)
21
+ self.fields["datum"].queryset = datum_queryset or Datum.objects.none()
22
+
23
+ class DatumCreateForm(forms.ModelForm):
24
+ class Meta:
25
+ model = Datum
26
+ fields = ("angle_x", "angle_y")
27
+
28
+ def __init__(self, *args, asset=None, **kwargs):
29
+ super().__init__(*args, **kwargs)
30
+ self.asset = asset
31
+
32
+ class PredictorForm(forms.ModelForm):
33
+ class Meta:
34
+ model = PredictorModel
35
+ help_text = {
36
+ "config_file": "File exported from CSi Bridge or SAP2000 (.b2k or .s2k).",
37
+ }
38
+ fields = "__all__"
39
+ exclude = [
40
+ "render_file",
41
+ "asset",
42
+ "metrics",
43
+ "active",
44
+ "description",
45
+ "entry_point",
46
+ "config",
47
+ "protocol"
48
+ ]
49
+ def __init__(self, *args, asset=None, **kwargs):
50
+ super().__init__(*args, **kwargs)
51
+ self.asset = asset
52
+ self.fields['name'].widget.attrs["class"] = "rounded-0"
53
+ self.fields['config_file'].widget.attrs["class"] = "rounded-0"
54
+
55
+ class SensorForm(forms.ModelForm):
56
+ class Meta:
57
+ model = SensorAssignment
58
+ fields = (
59
+ "role",
60
+ "sensor"
61
+ )
62
+
63
+ def __init__(self, *args, **kwargs):
64
+ super().__init__(*args, **kwargs)
65
+
66
+ class ConfirmForm(forms.Form):
67
+ # no fields – just a read-only summary screen
68
+ pass
@@ -0,0 +1,25 @@
1
+ # Generated by Django 5.1.2 on 2025-07-31 05:48
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('apps_prediction', '0006_remove_sensorassignment_show_x_and_more'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.RemoveField(
14
+ model_name='sensorassignment',
15
+ name='orient_x',
16
+ ),
17
+ migrations.RemoveField(
18
+ model_name='sensorassignment',
19
+ name='orient_y',
20
+ ),
21
+ migrations.RemoveField(
22
+ model_name='sensorassignment',
23
+ name='orient_z',
24
+ ),
25
+ ]
@@ -32,13 +32,15 @@ class Runner:
32
32
  # Create from existing PredictorModel when loaded from database.
33
33
  # This is done when running analysis
34
34
  self.id = pred.id
35
- self.asset = pred.asset
35
+ # self.asset = pred.asset
36
36
  self.name: str = pred.name
37
37
  self.description = "" # conf.description
38
38
  self.conf = pred.config
39
- self.entry_point = pred.entry_point
40
- self.metrics = pred.metrics
41
- self.active = pred.active
39
+ if pred.entry_point:
40
+ self.entry_point = pred.entry_point
41
+ if pred.metrics:
42
+ self.metrics = pred.metrics
43
+ self.active = pred.active
42
44
 
43
45
  # NEW:
44
46
  self.predictor = pred
@@ -6,6 +6,7 @@
6
6
  #
7
7
  import os.path
8
8
  import shutil
9
+ import tqdm
9
10
  import sys, json
10
11
  import zipfile
11
12
  from pathlib import Path
@@ -54,7 +55,7 @@ def _create_excitation(model, predictor, inputs, dt):
54
55
  def _analyze_and_render(model, artist, nt, dt):
55
56
  import veux, veux.motion
56
57
  motion = veux.motion.Motion(artist)
57
- for i in range(nt):
58
+ for i in tqdm.tqdm(range(nt)):
58
59
  if model.analyze(1, dt) != 0:
59
60
  return -1
60
61
  motion.advance(i*dt)
@@ -102,7 +103,7 @@ class OpenSeesRunner(Runner):
102
103
  with open(uploaded_file.name, 'wb+') as destination:
103
104
  for chunk in uploaded_file.chunks():
104
105
  destination.write(chunk)
105
-
106
+
106
107
  # predictor.config_file = uploaded_file # data.pop("file")
107
108
  predictor.name = data.pop("name")
108
109
  predictor.config = data
@@ -227,6 +228,16 @@ class OpenSeesRunner(Runner):
227
228
  "analysis": schemas.load("hwd_analysis.schema.json"),
228
229
  }
229
230
  }
231
+
232
+ def render(self):
233
+ import veux
234
+ model = Job(self._csi).assemble().model
235
+
236
+ outlines = collect_outlines(self._csi, model.frame_tags)
237
+ artist = veux.render(model, canvas="gltf", vertical=3,
238
+ reference={"frame.surface", "frame.axes"},
239
+ model_config={"frame_outlines": outlines})
240
+ return artist
230
241
 
231
242
  def getMetricList(self):
232
243
  return [
@@ -236,6 +247,7 @@ class OpenSeesRunner(Runner):
236
247
  # "ACC_RESPONSE_HISTORY",
237
248
  ]
238
249
 
250
+
239
251
  def newPrediction(self, event, output_directory = None):
240
252
  """
241
253
  Create a new prediction run and return the run_id. If output_directory is None,
@@ -272,7 +284,7 @@ class OpenSeesRunner(Runner):
272
284
  if False:
273
285
  event = event.event_file.path
274
286
  shutil.copyfile(event, run_dir/"event.zip")
275
-
287
+
276
288
  model_file = None
277
289
  if hasattr(self, "model_file") and self.model_file is not None:
278
290
  shutil.copyfile(self.model_file.resolve(),
@@ -327,7 +339,6 @@ class OpenSeesRunner(Runner):
327
339
  # Create model
328
340
  import opensees.openseespy as ops
329
341
 
330
- import sys
331
342
  csi = self._csi
332
343
 
333
344
  with new_cd(self.runs[run_id]["run_output_directory"]):
@@ -445,6 +456,7 @@ class OpenSeesRunner(Runner):
445
456
  for metric in metrics:
446
457
  metric.record(asm)
447
458
 
459
+
448
460
  nt = 500
449
461
  dt = 0.02
450
462
  _create_excitation(model, self.predictor, self.runs[run_id]["inputs"], dt)
@@ -496,16 +508,16 @@ class OpenSeesRunner(Runner):
496
508
  # if type == "COLUMN_STRAIN_STATES":
497
509
  # return _clean_json(column_strain_state_metric(model, output_dir, config))
498
510
 
499
- if type == "PEAK_ACCEL":
500
- return _clean_json(peak_acceleration_metric(output_dir, config))
511
+ # if type == "PEAK_ACCEL":
512
+ # return _clean_json(peak_acceleration_metric(output_dir, config))
501
513
 
502
- elif type == "PEAK_DRIFT":
503
- return _clean_json(peak_drift_metric(model, output_dir, config))
514
+ # elif type == "PEAK_DRIFT":
515
+ # return _clean_json(peak_drift_metric(model, output_dir, config))
504
516
 
505
- elif type == "ACC_RESPONSE_HISTORY":
506
- # config = CONFIG
507
- # return accel_response_history_plot(output_dir, config)
508
- return {}
517
+ # elif type == "ACC_RESPONSE_HISTORY":
518
+ # # config = CONFIG
519
+ # # return accel_response_history_plot(output_dir, config)
520
+ # return {}
509
521
  return {}
510
522
 
511
523
  #
@@ -519,17 +531,40 @@ class OpenSeesRunner(Runner):
519
531
  try:
520
532
  csi_file = self.predictor.config_file
521
533
  self._csi_data = load_csi((str(line.decode()).replace("\r\n","\n") for line in csi_file.readlines()))
534
+
522
535
  except Exception as e:
523
536
  import sys
524
537
  print(f"Error loading CSiBridge file: {e}", file=sys.stderr)
525
- self._csi_data = None
538
+ self._csi_data = {}
526
539
 
527
540
  return self._csi_data
528
541
 
529
542
 
530
543
  def structural_section(self, name):
531
544
  if (s:= create_section(self._csi, name)) is not None:
532
- return {}, s._create_model(mesh_size=0.1)
545
+ model = s._create_model(mesh_size=0.1)
546
+ if model is None:
547
+ return [], None
548
+ cmm = model.cmm()
549
+ cnn = model.cnn()
550
+ cnm = model.cnm()
551
+ properties = [
552
+ {
553
+ "name": "Elastic", "data": [
554
+ {"name": "A", "value": float(cnn[0,0])},
555
+ {"name": "Iyy", "value": float(cmm[1,1])},
556
+ {"name": "Izz", "value": float(cmm[2,2])},
557
+ ],
558
+ },
559
+ {
560
+ "name": "Ultimate", "data": [
561
+ # {"name": "A", "value": float(cnn[0,0])},
562
+ # {"name": "Iyy", "value": float(cmm[1,1])},
563
+ # {"name": "Izz", "value": float(cmm[2,2])},
564
+ ]
565
+ }
566
+ ]
567
+ return properties, model
533
568
 
534
569
 
535
570
  def structural_sections(self):
@@ -7,10 +7,10 @@
7
7
  # Author: Claudio Perez
8
8
  #
9
9
  #----------------------------------------------------------------------------#
10
- from django.urls import re_path
10
+ from django.urls import path, re_path
11
11
  from .views import (
12
- asset_predictors, predictor_profile, predictor_render,
13
- create_mdof, create_model, asset_map
12
+ asset_predictors, predictor_profile, predictor_render, predictor_table,
13
+ create_mdof, create_model, asset_map, CsiUpload, FORMS
14
14
  )
15
15
 
16
16
  _ROOT = "^inventory/(?P<calid>[0-9 A-Z-]*)/predictors"
@@ -18,8 +18,10 @@ _ROOT = "^inventory/(?P<calid>[0-9 A-Z-]*)/predictors"
18
18
  urlpatterns = [
19
19
  re_path(f"{_ROOT}/(?P<preid>[0-9]{{1,}})/$", predictor_profile),
20
20
  re_path(f"{_ROOT}/(?P<preid>[0-9]{{1,}})/render/", predictor_render),
21
+ re_path(f"{_ROOT}/(?P<preid>[0-9]{{1,}})/properties/", predictor_table),
21
22
  re_path(f"{_ROOT}/create/map/$", asset_map),
22
- re_path(f"{_ROOT}/create/model/$", create_model),
23
+ # re_path(f"{_ROOT}/create/model/$", create_model),
24
+ re_path(f"{_ROOT}/create/model/$", CsiUpload.as_view(FORMS), name="csi_upload"),
23
25
  re_path(f"{_ROOT}/create/v1/$", create_mdof),
24
26
  re_path(f"{_ROOT}/$", asset_predictors, name="asset_predictors")
25
27
  ]