Files
hockey_new/HOTFIX_MANIFEST.json
2026-09-27 00:25:40 +03:00

552 lines
22 KiB
JSON

{
"release": "2026.09.27.1",
"previous_release": "2026.09.26.4",
"source_archive": "hockey_tabs_2026-09-26_v4.zip",
"source_sha256": "95e02dddf8b7382e8a166249a66e1ecb28701d6f793264ea4a659c38647440ef",
"package_type": "cumulative changed-files update; extract into existing project root",
"base_release": "2026.09.24.4",
"also_applies_to": [
"2026.09.26.1",
"2026.09.26.2",
"2026.09.26.3",
"2026.09.26.4"
],
"changes_in_this_release": [
"UPDATE_KHL_CAREER_RU.md",
"VALIDATION_KHL_CAREER_RU.md",
"app.py",
"hockey_data/khl_career.py",
"hockey_data/models.py",
"hockey_data/router.py",
"khl_site/career_stats.py",
"khl_site/khl_data_center.py",
"khl_site/khl_site_collector.py",
"khl_site/person_data.py",
"khl_site/web/index.html",
"tests/test_build45_tab_triggers_and_prematch_modal.py",
"tests/test_khl_refresh_and_career.py",
"tests/test_khl_site_module.py",
"ui_builder/static/app.js",
"ui_builder/static/styles.css"
],
"delete_files": [],
"excluded": [
"all user settings JSON",
"settings/local/",
"settings/backups/",
".env",
"Agent secrets and binaries",
"databases and logs",
"khl_site/data/",
"khl_site/cache/"
],
"validation": {
"full_suite": {
"passed": 432,
"failed": 40,
"new_failed_test_ids": []
},
"latest_target_suite_passed": 24,
"new_functional_tests_passed": 18,
"khl_ui_jsdom": "passed",
"career_ui_jsdom": "passed",
"live_khl_verified": false,
"production_postgresql_tested": false,
"browser_layout_measured": false,
"full_import_test": {
"players": 4264,
"coaches": 239,
"officials": 45,
"storage": "SQLite test adapter; production PostgreSQL unchanged"
}
},
"files": [
{
"path": ".gitignore",
"bytes": 2284,
"updated_sha256": "b868270ed9be2aed976c03035b07ab1a05a50160cbc6131f3e98c399c87c5c13",
"v4_sha256": "b868270ed9be2aed976c03035b07ab1a05a50160cbc6131f3e98c399c87c5c13"
},
{
"path": "PREVIOUS_40_FAILURES_RU.md",
"bytes": 16887,
"updated_sha256": "45f3b19368fc0f06970c9be42530bb94a86f0d69898493d3e7cf1ca06d9ee404",
"v4_sha256": "45f3b19368fc0f06970c9be42530bb94a86f0d69898493d3e7cf1ca06d9ee404"
},
{
"path": "UPDATE_HOTFIX_RU.md",
"bytes": 9218,
"updated_sha256": "cfd90470464b7f356e524c396f8637e4788474b851c6486f4a98a4cb612ed5c0",
"v4_sha256": "cfd90470464b7f356e524c396f8637e4788474b851c6486f4a98a4cb612ed5c0"
},
{
"path": "UPDATE_KHL_CAREER_RU.md",
"bytes": 12985,
"updated_sha256": "e1c9a0b815878de1838743ffd6ac90ddbf465ebfb602fa42f2fcf8b1b4bebd94",
"v4_sha256": null
},
{
"path": "UPDATE_STAGE2_RU.md",
"bytes": 18312,
"updated_sha256": "5347cdd210e7b4cfe896d1a743073c646872108237ed9edc2eccf9b323840983",
"v4_sha256": "5347cdd210e7b4cfe896d1a743073c646872108237ed9edc2eccf9b323840983"
},
{
"path": "UPDATE_TABS_RU.md",
"bytes": 4918,
"updated_sha256": "1ddc563fd8fce8cb2c6cbbab218478af30b5171aa374a03fa18209479fc2e2fe",
"v4_sha256": "1ddc563fd8fce8cb2c6cbbab218478af30b5171aa374a03fa18209479fc2e2fe"
},
{
"path": "VALIDATION_HOTFIX_RU.md",
"bytes": 6367,
"updated_sha256": "01a5679ba5318f7381f12c91b3adf1128ddfd9e3790fffc1e890e22ce1277d85",
"v4_sha256": "01a5679ba5318f7381f12c91b3adf1128ddfd9e3790fffc1e890e22ce1277d85"
},
{
"path": "VALIDATION_KHL_CAREER_RU.md",
"bytes": 6843,
"updated_sha256": "0b207361fbc62288d158de81ad9c84722afb9915293e03f7f5dc4bfd534e77f4",
"v4_sha256": null
},
{
"path": "VALIDATION_STAGE2_RU.md",
"bytes": 11454,
"updated_sha256": "0020d6174c7470d6afe8987dfa64e685fe23431e1cd7eb691a4285a80bf0d260",
"v4_sha256": "0020d6174c7470d6afe8987dfa64e685fe23431e1cd7eb691a4285a80bf0d260"
},
{
"path": "app.py",
"bytes": 20309,
"updated_sha256": "24e735d7a59d0bfd11045fbc2b3226ad8de80b3d4ba04d5f94e8c9e01ad0b9da",
"v4_sha256": "77d570fd9e6a1cf7218ed5735be3b08679d940435c3b6662c4c3f55ff3bdf331"
},
{
"path": "broadcast_settings/expressions.py",
"bytes": 9364,
"updated_sha256": "83e84e1943e763ba08db11fd885dea4147309fff87e61a205763c3bc26ed82de",
"v4_sha256": "83e84e1943e763ba08db11fd885dea4147309fff87e61a205763c3bc26ed82de"
},
{
"path": "broadcast_settings/transform.py",
"bytes": 84253,
"updated_sha256": "276abb72aa02335f566f9e041f81f60f6d8aefeb1b06ee3a271a4a264bb9a3bb",
"v4_sha256": "276abb72aa02335f566f9e041f81f60f6d8aefeb1b06ee3a271a4a264bb9a3bb"
},
{
"path": "hockey_data/account_activity.py",
"bytes": 1331,
"updated_sha256": "1647d07ef17d10c6c9994574b541bfc2483b1cdd7eacfcb76dbf72e3d40045f1",
"v4_sha256": "1647d07ef17d10c6c9994574b541bfc2483b1cdd7eacfcb76dbf72e3d40045f1"
},
{
"path": "hockey_data/agent_bridge.py",
"bytes": 280458,
"updated_sha256": "1a4e1d30fbc567daa0af53e8002354c30dba19ebe97f25b1f80ae90fdc92b4a1",
"v4_sha256": "1a4e1d30fbc567daa0af53e8002354c30dba19ebe97f25b1f80ae90fdc92b4a1"
},
{
"path": "hockey_data/async_work.py",
"bytes": 1814,
"updated_sha256": "d491a15e5e233c3d30d623f86a46402364d4296c675a238d3df72c4a840986e0",
"v4_sha256": "d491a15e5e233c3d30d623f86a46402364d4296c675a238d3df72c4a840986e0"
},
{
"path": "hockey_data/auth_bridge.py",
"bytes": 15193,
"updated_sha256": "dfba4b954748076f5b6c7733dd12b5b4350fc937e920215282249de6753673d6",
"v4_sha256": "dfba4b954748076f5b6c7733dd12b5b4350fc937e920215282249de6753673d6"
},
{
"path": "hockey_data/auth_router.py",
"bytes": 7870,
"updated_sha256": "645d8b610a37dda58ea5a70457976640264b8499e72b6e6b79aeef33b94586b9",
"v4_sha256": "645d8b610a37dda58ea5a70457976640264b8499e72b6e6b79aeef33b94586b9"
},
{
"path": "hockey_data/database.py",
"bytes": 15921,
"updated_sha256": "1ca3b7ea41a85d24401d393bf51a6a7a04eb70678f8481145f71da80dd07b2fc",
"v4_sha256": "1ca3b7ea41a85d24401d393bf51a6a7a04eb70678f8481145f71da80dd07b2fc"
},
{
"path": "hockey_data/idle_matches.py",
"bytes": 4857,
"updated_sha256": "21fdc4a9f4ad1f8d64a39135706191038f3cc15844339f3502e0246101f44851",
"v4_sha256": "21fdc4a9f4ad1f8d64a39135706191038f3cc15844339f3502e0246101f44851"
},
{
"path": "hockey_data/khl_career.py",
"bytes": 13602,
"updated_sha256": "989ec7f954d4472cea8910372a13091b7202cab9f40b34258bbfe6e0b3b936b0",
"v4_sha256": null
},
{
"path": "hockey_data/mapping_context.py",
"bytes": 87920,
"updated_sha256": "f33d22d64a991d7a1f0ac88e1680151a769b336ee3e9fecef8755b846160b822",
"v4_sha256": "f33d22d64a991d7a1f0ac88e1680151a769b336ee3e9fecef8755b846160b822"
},
{
"path": "hockey_data/match_access.py",
"bytes": 26978,
"updated_sha256": "eaa9e6320be5bc034af50c0e54a482573ab584fede8e0f1e8b0712b0062f0f21",
"v4_sha256": "eaa9e6320be5bc034af50c0e54a482573ab584fede8e0f1e8b0712b0062f0f21"
},
{
"path": "hockey_data/models.py",
"bytes": 74289,
"updated_sha256": "a6aa2c0e53d0bf4a8503244bccaa291723c0167499f2c4e3202d1b1a8e2cff3c",
"v4_sha256": "c77f257bd9f60fe5dfda2b3d62584b50173819468eca4662fcdcc2a9cfe391c6"
},
{
"path": "hockey_data/router.py",
"bytes": 69335,
"updated_sha256": "982dde45d194df37074f304a4e302a81508a9db4e458502d8b34426b81a20adb",
"v4_sha256": "bec255b080cf66d8f4105d965bb8c5d6ac8b0444b2dbe89833ae195484f4821c"
},
{
"path": "hockey_data/service.py",
"bytes": 389282,
"updated_sha256": "96429c4f5228b01cd115152617fde502a9febc1f685afbc5107e0b5b4a1c3c70",
"v4_sha256": "96429c4f5228b01cd115152617fde502a9febc1f685afbc5107e0b5b4a1c3c70"
},
{
"path": "hockey_data/static/admin-directories.css",
"bytes": 112514,
"updated_sha256": "f1d6727f9b697f51c49be3e7df843a07c75a98778707d8535030862686a7ca4b",
"v4_sha256": "f1d6727f9b697f51c49be3e7df843a07c75a98778707d8535030862686a7ca4b"
},
{
"path": "hockey_data/static/admin-directories.js",
"bytes": 279460,
"updated_sha256": "e99d673531d497bdf9d48e12c8d4df4ffa1e961aa4a21df110208385ea5072e7",
"v4_sha256": "e99d673531d497bdf9d48e12c8d4df4ffa1e961aa4a21df110208385ea5072e7"
},
{
"path": "hockey_data/static/agent-devices.js",
"bytes": 22668,
"updated_sha256": "c13fb0efd12debb06e4ac53ffb511bd94515639bfb4320e5f1dbe0abc5e379cb",
"v4_sha256": "c13fb0efd12debb06e4ac53ffb511bd94515639bfb4320e5f1dbe0abc5e379cb"
},
{
"path": "hockey_data/static/agent-diagnostics.js",
"bytes": 12633,
"updated_sha256": "89b2ffe30bf961090b4299ee55060697a0753142fd52b101e26d17a4eda87ae8",
"v4_sha256": "89b2ffe30bf961090b4299ee55060697a0753142fd52b101e26d17a4eda87ae8"
},
{
"path": "hockey_data/static/match-access.css",
"bytes": 3149,
"updated_sha256": "013fd8a0312cbe1eabe0200cbfe55f8d85f6aaa0dbcf18e5e6cdeae2704c15b9",
"v4_sha256": "013fd8a0312cbe1eabe0200cbfe55f8d85f6aaa0dbcf18e5e6cdeae2704c15b9"
},
{
"path": "hockey_data/static/match-access.js",
"bytes": 22601,
"updated_sha256": "fb8dc03d384d58a0631b81715b62acdd41ed8875a3ef56d8f4e19fd3180a4041",
"v4_sha256": "fb8dc03d384d58a0631b81715b62acdd41ed8875a3ef56d8f4e19fd3180a4041"
},
{
"path": "hockey_data/static/match-status-header.js",
"bytes": 18217,
"updated_sha256": "1c615b1b388c597cde8abc5de641807a468cf6a73681333b580e2544ca5a92a6",
"v4_sha256": "1c615b1b388c597cde8abc5de641807a468cf6a73681333b580e2544ca5a92a6"
},
{
"path": "hockey_data/static/session-activity.js",
"bytes": 4332,
"updated_sha256": "3c835ae5265c13fcd4686355961c2f150b4bcc5cb134a1d03c2c1b9b9d85a52d",
"v4_sha256": "3c835ae5265c13fcd4686355961c2f150b4bcc5cb134a1d03c2c1b9b9d85a52d"
},
{
"path": "hockey_data/static/tournament-menu.js",
"bytes": 128669,
"updated_sha256": "223fb629a785bcbea73533c994dbfde1e84bd358e63880b78f929c315fe1c246",
"v4_sha256": "223fb629a785bcbea73533c994dbfde1e84bd358e63880b78f929c315fe1c246"
},
{
"path": "hockey_data/vmix_portable.py",
"bytes": 24220,
"updated_sha256": "fa4e3ed13be7d621f4bd19e1b947553896727a3622d89563a874497de85d5cda",
"v4_sha256": "fa4e3ed13be7d621f4bd19e1b947553896727a3622d89563a874497de85d5cda"
},
{
"path": "khl_site/career_stats.py",
"bytes": 3262,
"updated_sha256": "7becb90f3c64a79c6bf5bb3049e00d66460fa5d5c73bbe8fa670727554d7e392",
"v4_sha256": null
},
{
"path": "khl_site/khl_data_center.py",
"bytes": 47641,
"updated_sha256": "727df51050611bde14bdb09ae1ec597d11921cb482ec8c65179a8df2bf80cb1e",
"v4_sha256": "6589743a92ef9438478268d87324badc3da56269999fdc4a4de8a05aa3872201"
},
{
"path": "khl_site/khl_site_collector.py",
"bytes": 72851,
"updated_sha256": "61a32bcd0324f3988d70a6fa7c620a789ebd67ea5960678c92f008c2b1f902b4",
"v4_sha256": "0b719d121ef9ff8420c8e97482b35b5acaf68768675311406c8ef4a176560d3e"
},
{
"path": "khl_site/person_data.py",
"bytes": 11594,
"updated_sha256": "3fa2cafc2f69e20d5ac8cb59eab2c907d743c28f17e6a6f41c539ad60cdd57c5",
"v4_sha256": null
},
{
"path": "khl_site/web/index.html",
"bytes": 55462,
"updated_sha256": "b0d6e772fbbc81cd60de71fc6b02d6b93ca2168b808689cc922e591b38d8dc79",
"v4_sha256": "c87263e3ac842035537e56622cb7e8889a194990069cbdb5fa68db3bc23c204e"
},
{
"path": "requirements.txt",
"bytes": 227,
"updated_sha256": "1407ef85d9e64bf831eb2956a66948f410125decabca0f22bf0e22d624fcb7fb",
"v4_sha256": "1407ef85d9e64bf831eb2956a66948f410125decabca0f22bf0e22d624fcb7fb"
},
{
"path": "settings/README.md",
"bytes": 2252,
"updated_sha256": "81df38a9e09702750cf09fa7ebf1d7f7021ce28d8b578852bb45a0d2b5ba464a",
"v4_sha256": "81df38a9e09702750cf09fa7ebf1d7f7021ce28d8b578852bb45a0d2b5ba464a"
},
{
"path": "tests/hotfix_penalty_visibility.cjs",
"bytes": 7149,
"updated_sha256": "cb76b1180a275d60b133e091acf66ebda6df891b3c9bfbca6cd15b636bcdda28",
"v4_sha256": "cb76b1180a275d60b133e091acf66ebda6df891b3c9bfbca6cd15b636bcdda28"
},
{
"path": "tests/stage2_penalty_countdown.cjs",
"bytes": 6218,
"updated_sha256": "9e021722d6725d7a29da8ae3cff47be2896c1b482cded96d0ea582339badb95b",
"v4_sha256": "9e021722d6725d7a29da8ae3cff47be2896c1b482cded96d0ea582339badb95b"
},
{
"path": "tests/stage2_session_activity.cjs",
"bytes": 4702,
"updated_sha256": "14b31ba72d7296b7edd8714cd106e9881423f9c73a8b380d5c34d095a590252b",
"v4_sha256": "14b31ba72d7296b7edd8714cd106e9881423f9c73a8b380d5c34d095a590252b"
},
{
"path": "tests/support.py",
"bytes": 1143,
"updated_sha256": "dea63976c42f9be71a8a348d657475f066bcf23f053e9358101a487523fcd29a",
"v4_sha256": "dea63976c42f9be71a8a348d657475f066bcf23f053e9358101a487523fcd29a"
},
{
"path": "tests/test_agent_bridge.py",
"bytes": 30897,
"updated_sha256": "327cc0cb0c99815271d6733533d5ec4a2eabcaa8dcc29267bbdaaf418c3cd6ab",
"v4_sha256": "327cc0cb0c99815271d6733533d5ec4a2eabcaa8dcc29267bbdaaf418c3cd6ab"
},
{
"path": "tests/test_build110_match_roster_atomic_switch.py",
"bytes": 2117,
"updated_sha256": "ea42b58398db3e87692ab1a9cb8991e8580f0eac86d093f6c32f16cd0591639c",
"v4_sha256": "ea42b58398db3e87692ab1a9cb8991e8580f0eac86d093f6c32f16cd0591639c"
},
{
"path": "tests/test_build111_agent_match_handoff.py",
"bytes": 3873,
"updated_sha256": "7c27dfde250d2fff0db5a387ee131083ea9114e52ad1418a456134796a2d83fc",
"v4_sha256": "7c27dfde250d2fff0db5a387ee131083ea9114e52ad1418a456134796a2d83fc"
},
{
"path": "tests/test_build45_tab_triggers_and_prematch_modal.py",
"bytes": 1634,
"updated_sha256": "8822d578ee68cbb14a75c59aa1b812281e767e176ce378a140b4eb89edffe37b",
"v4_sha256": "fa45c4de12e633c4056460f348597b93cd542931bbe8512aa685e7a2949602c7"
},
{
"path": "tests/test_build47_team_state_scoreboard_overlays.py",
"bytes": 2788,
"updated_sha256": "48e2517d4a3648c34664b7819a2db189d7ceb55d667f5970b1911809935b0417",
"v4_sha256": "48e2517d4a3648c34664b7819a2db189d7ceb55d667f5970b1911809935b0417"
},
{
"path": "tests/test_build65_nonadmin_match_selection.py",
"bytes": 1108,
"updated_sha256": "6ac2cc2aa37dfdf229ed501a256bab4220ea6d0c27f56806382de9b753f26a61",
"v4_sha256": "6ac2cc2aa37dfdf229ed501a256bab4220ea6d0c27f56806382de9b753f26a61"
},
{
"path": "tests/test_build77_penalty_overlay_auto_in.py",
"bytes": 1247,
"updated_sha256": "5fe286219c48e4970f0ad903b3cc3bd307485095eea78ffe9564b4872a97db3f",
"v4_sha256": "5fe286219c48e4970f0ad903b3cc3bd307485095eea78ffe9564b4872a97db3f"
},
{
"path": "tests/test_build84_penalty_selection_persistence_prepared_titles.py",
"bytes": 8624,
"updated_sha256": "4c3cdac2e32e022201c2418ad41acd05a5453b3db1c561dd1ef3276d926fa7ed",
"v4_sha256": "4c3cdac2e32e022201c2418ad41acd05a5453b3db1c561dd1ef3276d926fa7ed"
},
{
"path": "tests/test_build86_penalty_context_prepared_titles.py",
"bytes": 4756,
"updated_sha256": "7dcac6c12740cb08a123f155665784f4a9474294d88b12046b65396e01b1abd3",
"v4_sha256": "7dcac6c12740cb08a123f155665784f4a9474294d88b12046b65396e01b1abd3"
},
{
"path": "tests/test_build89_single_penalty_plate_transition.py",
"bytes": 3727,
"updated_sha256": "d9a8255c5ad2ace83b9d688dd0f5f4615f409eb94b3ddd1740f8b07b2753be66",
"v4_sha256": "d9a8255c5ad2ace83b9d688dd0f5f4615f409eb94b3ddd1740f8b07b2753be66"
},
{
"path": "tests/test_build93_countdown_reseed_on_start.py",
"bytes": 1900,
"updated_sha256": "b85692e09ddc0e885575ccca43c43d380d49f8dc9707e4379a25cb052e071007",
"v4_sha256": "b85692e09ddc0e885575ccca43c43d380d49f8dc9707e4379a25cb052e071007"
},
{
"path": "tests/test_build95_countdown_explicit_start_stop_sync.py",
"bytes": 2691,
"updated_sha256": "09ffafbf44fcb3ccbfbdaadf7a07f626c4a14eaf2b9866cabc90a639d036c035",
"v4_sha256": "09ffafbf44fcb3ccbfbdaadf7a07f626c4a14eaf2b9866cabc90a639d036c035"
},
{
"path": "tests/test_build98_timer_countdown_sync_fixed_pin.py",
"bytes": 3105,
"updated_sha256": "eeff1d148467167952060628ab9aa0775f2eb3345939ea101efe59b83dcd8d2a",
"v4_sha256": "eeff1d148467167952060628ab9aa0775f2eb3345939ea101efe59b83dcd8d2a"
},
{
"path": "tests/test_hotfix_idle_matches.py",
"bytes": 8520,
"updated_sha256": "2032d5d48bec464f29f477078d4fd3468a1601577f36db8f4217f88540d7c835",
"v4_sha256": "2032d5d48bec464f29f477078d4fd3468a1601577f36db8f4217f88540d7c835"
},
{
"path": "tests/test_hotfix_mapping_transport.py",
"bytes": 3290,
"updated_sha256": "67c6260342bcea902b87461a4e5a8c7e9280783adbb92e9822590d8abc430971",
"v4_sha256": "67c6260342bcea902b87461a4e5a8c7e9280783adbb92e9822590d8abc430971"
},
{
"path": "tests/test_hotfix_penalty_visibility.py",
"bytes": 492,
"updated_sha256": "ef3219f28f66cf96274fc4e65624ac7b6ea96e726f61081965f8860541e2f8d1",
"v4_sha256": "ef3219f28f66cf96274fc4e65624ac7b6ea96e726f61081965f8860541e2f8d1"
},
{
"path": "tests/test_khl_refresh_and_career.py",
"bytes": 15783,
"updated_sha256": "e98f7c4682f27f98cfb759bb4d6378e497da37cb66f9de615259a46882d99466",
"v4_sha256": null
},
{
"path": "tests/test_khl_site_module.py",
"bytes": 1706,
"updated_sha256": "03859b2c9c2d3cb025326f7e2f4babba5e98edd1db4cd72e6c8ebd7c42ccf08b",
"v4_sha256": "4f43537d9efde22ecd98c2a5395cd4c5b95593c9b09a4fc1207fc82e4e979687"
},
{
"path": "tests/test_multi_agent_routing.py",
"bytes": 4614,
"updated_sha256": "0c5857ef6e306bba679f9ba9648afd34b89b013f4d4a1c2f799b718391d0a3dd",
"v4_sha256": "0c5857ef6e306bba679f9ba9648afd34b89b013f4d4a1c2f799b718391d0a3dd"
},
{
"path": "tests/test_stage1_expressions.py",
"bytes": 2116,
"updated_sha256": "d11e26fdfd759f4aa1c62ffb08ff4762b652ccdb9ef7ab6efc796c1e32883113",
"v4_sha256": "d11e26fdfd759f4aa1c62ffb08ff4762b652ccdb9ef7ab6efc796c1e32883113"
},
{
"path": "tests/test_stage1_match_access.py",
"bytes": 16208,
"updated_sha256": "f998ae041bd6951f75ca403ca0af9da1c86bd02586e809aa0bdb05653c101907",
"v4_sha256": "f998ae041bd6951f75ca403ca0af9da1c86bd02586e809aa0bdb05653c101907"
},
{
"path": "tests/test_stage2_custom_pluses.py",
"bytes": 3211,
"updated_sha256": "ebd11f142427c35c963fad151313f2ce7175a4afe2d9e870db1a2e2ff9bce836",
"v4_sha256": "ebd11f142427c35c963fad151313f2ce7175a4afe2d9e870db1a2e2ff9bce836"
},
{
"path": "tests/test_stage2_idle_session.py",
"bytes": 6138,
"updated_sha256": "dc47703fccac5db7b9e2b8aa3fd8d2c5b9f6637f7bb07e3336f729f2e2ce83b4",
"v4_sha256": "dc47703fccac5db7b9e2b8aa3fd8d2c5b9f6637f7bb07e3336f729f2e2ce83b4"
},
{
"path": "tests/test_stage2_mapping_inventory.py",
"bytes": 3602,
"updated_sha256": "752f1b07ec360b28e4823747095c6287183b65060ef6579dcf1a1b70dacbd150",
"v4_sha256": "752f1b07ec360b28e4823747095c6287183b65060ef6579dcf1a1b70dacbd150"
},
{
"path": "tests/test_stage2_penalty_countdown.py",
"bytes": 589,
"updated_sha256": "088e1de13a214c8816287e39f80934ea25b02276617bb4571f4f54f92a4e4f44",
"v4_sha256": "088e1de13a214c8816287e39f80934ea25b02276617bb4571f4f54f92a4e4f44"
},
{
"path": "tests/test_stage2_performance.py",
"bytes": 11947,
"updated_sha256": "d733a2bda2047ed77d6222e23ba468d5c62f02d5d566d4ecccf2fa4394d85c03",
"v4_sha256": "d733a2bda2047ed77d6222e23ba468d5c62f02d5d566d4ecccf2fa4394d85c03"
},
{
"path": "tests/test_stage2_ui_storage.py",
"bytes": 5543,
"updated_sha256": "5ebc4d3e60fe17449256aefa42839043a2a324ccebca934a3af84dc64f0cec1b",
"v4_sha256": "5ebc4d3e60fe17449256aefa42839043a2a324ccebca934a3af84dc64f0cec1b"
},
{
"path": "ui_builder/integration.py",
"bytes": 5738,
"updated_sha256": "a3845126817966b0c02e140f6c6a5f146b621a6ee716667f4456f612c579d465",
"v4_sha256": "a3845126817966b0c02e140f6c6a5f146b621a6ee716667f4456f612c579d465"
},
{
"path": "ui_builder/manager.py",
"bytes": 37223,
"updated_sha256": "ae930ed4de95d36eb442d2492db3e1c04726582c99fb6713429ab6a91335b469",
"v4_sha256": "ae930ed4de95d36eb442d2492db3e1c04726582c99fb6713429ab6a91335b469"
},
{
"path": "ui_builder/router.py",
"bytes": 4517,
"updated_sha256": "740398f215b7061ee8d58eb47e1f31f17d4fe9a0b6707ed3ebc0159e8f327f48",
"v4_sha256": "740398f215b7061ee8d58eb47e1f31f17d4fe9a0b6707ed3ebc0159e8f327f48"
},
{
"path": "ui_builder/static/app.js",
"bytes": 908550,
"updated_sha256": "e7f68de6610ac05f883ed190a3ba68e25cfdcefd79fb0f59926021d3abfe920b",
"v4_sha256": "c879751113c025c09aed3925ce0361338549ee0180db8a6e323029f743712291"
},
{
"path": "ui_builder/static/index.html",
"bytes": 10717,
"updated_sha256": "36cf899859d278d98283d4898f42d670c113c038b71f72b007b92c63c2abd5ae",
"v4_sha256": "36cf899859d278d98283d4898f42d670c113c038b71f72b007b92c63c2abd5ae"
},
{
"path": "ui_builder/static/runtime.html",
"bytes": 3316,
"updated_sha256": "37b8272650ccf88e7f9504b7d04f13294f59abf431c107e0603cfbd86df2580b",
"v4_sha256": "37b8272650ccf88e7f9504b7d04f13294f59abf431c107e0603cfbd86df2580b"
},
{
"path": "ui_builder/static/styles.css",
"bytes": 291808,
"updated_sha256": "59e8673f249c84d3767738c88f8362f0a97e3d18ad197a739513e5360fe00b59",
"v4_sha256": "6f204b2c38d8d22e76e68ab916ad6b1988a8f037f3cf282d5f2ca62aa62714d8"
},
{
"path": "ui_builder/storage.py",
"bytes": 3566,
"updated_sha256": "67a720a4bff48fcfd2c185c4a65ec85a4574090f474fd83c556789f3cb1c5f1d",
"v4_sha256": "67a720a4bff48fcfd2c185c4a65ec85a4574090f474fd83c556789f3cb1c5f1d"
}
]
}