feat: central RTC write modes (DISABLED/DRY_RUN/APPROVAL/ENABLED), R4 suggestion-only, preview/approval, per-record rollback, bulk blocker upsert; 1.2.0

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
gti
2026-09-24 22:46:05 -03:00
co-authored by Claude Sonnet 5
parent 3c10422e81
commit 42dc172763
50 changed files with 2948 additions and 915 deletions
+144 -98
View File
@@ -16,10 +16,12 @@
"total": 521,
"valid_existing": 0,
"ready_to_apply": 0,
"suggestion_only": 0,
"ambiguous": 0,
"insufficient": 521,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -31,11 +33,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -50,7 +53,7 @@
"context": {
"rtc_param": "1",
"rtc_source": "PARAMETROS.USAR_REFORMA_TRIBUTARIA",
"rtc_observed_at": "2026-09-25T00:11:38+00:00",
"rtc_observed_at": "2026-09-25T01:07:28+00:00",
"local_catalog_hash": "1da77aec27fbde88488d1edf562f3af315ab2b5d06efb2e0b2f1ed606585d459",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -76,10 +79,12 @@
"total": 521,
"valid_existing": 0,
"ready_to_apply": 0,
"suggestion_only": 0,
"ambiguous": 0,
"insufficient": 521,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -91,11 +96,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -110,7 +116,7 @@
"context": {
"rtc_param": "1",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:38+00:00",
"rtc_observed_at": "2026-09-25T01:07:28+00:00",
"local_catalog_hash": "1da77aec27fbde88488d1edf562f3af315ab2b5d06efb2e0b2f1ed606585d459",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -135,11 +141,13 @@
"resolution_summary": {
"total": 521,
"valid_existing": 0,
"ready_to_apply": 280,
"ready_to_apply": 77,
"suggestion_only": 203,
"ambiguous": 215,
"insufficient": 26,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -165,11 +173,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -177,18 +186,20 @@
"by_status": {
"AMBIGUOUS": 215,
"INSUFFICIENT_EVIDENCE": 26,
"RESOLVED_WITH_EXPLICIT_RULE": 280
"SUGGESTION_ONLY": 203,
"RESOLVED_WITH_EXPLICIT_RULE": 77
},
"rtc_blocker_types": {
"CCLASSTRIB_AMBIGUOUS": 215,
"RTC_RULE_EVIDENCE_MISSING": 26,
"CCLASSTRIB_MISSING": 280
"CCLASSTRIB_MISSING_UNRESOLVED": 203,
"CCLASSTRIB_MISSING": 77
},
"AUTO_APPLY_CANDIDATES": 280,
"AUTO_APPLY_CANDIDATES": 77,
"context": {
"rtc_param": "1",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:38+00:00",
"rtc_observed_at": "2026-09-25T01:07:29+00:00",
"local_catalog_hash": "1da77aec27fbde88488d1edf562f3af315ab2b5d06efb2e0b2f1ed606585d459",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -220,10 +231,12 @@
"total": 3712,
"valid_existing": 0,
"ready_to_apply": 0,
"suggestion_only": 0,
"ambiguous": 0,
"insufficient": 3712,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -235,11 +248,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -254,7 +268,7 @@
"context": {
"rtc_param": "1",
"rtc_source": "PARAMETROS.USAR_REFORMA_TRIBUTARIA",
"rtc_observed_at": "2026-09-25T00:11:39+00:00",
"rtc_observed_at": "2026-09-25T01:07:29+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -280,10 +294,12 @@
"total": 3712,
"valid_existing": 0,
"ready_to_apply": 0,
"suggestion_only": 0,
"ambiguous": 0,
"insufficient": 3712,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -295,11 +311,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -314,7 +331,7 @@
"context": {
"rtc_param": "1",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:39+00:00",
"rtc_observed_at": "2026-09-25T01:07:30+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -339,11 +356,13 @@
"resolution_summary": {
"total": 3712,
"valid_existing": 0,
"ready_to_apply": 2725,
"ready_to_apply": 0,
"suggestion_only": 2725,
"ambiguous": 973,
"insufficient": 14,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -367,30 +386,31 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
},
"by_status": {
"RESOLVED_WITH_EXPLICIT_RULE": 2725,
"SUGGESTION_ONLY": 2725,
"AMBIGUOUS": 973,
"INSUFFICIENT_EVIDENCE": 14
},
"rtc_blocker_types": {
"CCLASSTRIB_MISSING": 2725,
"CCLASSTRIB_MISSING_UNRESOLVED": 2725,
"CCLASSTRIB_AMBIGUOUS": 973,
"RTC_RULE_EVIDENCE_MISSING": 14
},
"AUTO_APPLY_CANDIDATES": 2725,
"AUTO_APPLY_CANDIDATES": 0,
"context": {
"rtc_param": "1",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:40+00:00",
"rtc_observed_at": "2026-09-25T01:07:30+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -427,7 +447,7 @@
"context": {
"rtc_param": "0",
"rtc_source": "PARAMETROS.USAR_REFORMA_TRIBUTARIA",
"rtc_observed_at": "2026-09-25T00:11:43+00:00",
"rtc_observed_at": "2026-09-25T01:07:33+00:00",
"local_catalog_hash": "1da77aec27fbde88488d1edf562f3af315ab2b5d06efb2e0b2f1ed606585d459",
"official_catalog": null,
"catalog_integrity": {
@@ -449,10 +469,12 @@
"total": 20996,
"valid_existing": 0,
"ready_to_apply": 0,
"suggestion_only": 0,
"ambiguous": 0,
"insufficient": 20996,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -464,11 +486,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -483,7 +506,7 @@
"context": {
"rtc_param": "0",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:44+00:00",
"rtc_observed_at": "2026-09-25T01:07:35+00:00",
"local_catalog_hash": "1da77aec27fbde88488d1edf562f3af315ab2b5d06efb2e0b2f1ed606585d459",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -508,54 +531,59 @@
"resolution_summary": {
"total": 20996,
"valid_existing": 0,
"ready_to_apply": 20831,
"ambiguous": 49,
"ready_to_apply": 1,
"suggestion_only": 20565,
"ambiguous": 314,
"insufficient": 116,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
"RTC-R3": 1,
"RTC-R4": 20830,
"RTC-R4": 20565,
"RTC-R2": 116,
"RTC-A3": 48,
"RTC-A3": 313,
"RTC-A1": 1
},
"by_reason": {
"ANNEX_VII_CLEAN_ITEM_UNIQUE_DEFAULT_CLASS": 1,
"NCM_IN_NO_ANNEX_AND_NO_NATURE_BASED_CHAPTER": 20830,
"NCM_IN_NO_ANNEX_AND_NO_NATURE_BASED_CHAPTER": 20565,
"NO_VALID_NCM": 116,
"SPECIAL_REGIME_DEPENDS_ON_NATURE_OR_OPERATION_OF_THE_GOOD": 48,
"SPECIAL_REGIME_DEPENDS_ON_NATURE_OR_OPERATION_OF_THE_GOOD": 313,
"ANNEX_XV_NEEDS_OPERATION_OR_CONDITION": 1
},
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
},
"by_status": {
"RESOLVED_WITH_EXPLICIT_RULE": 20831,
"RESOLVED_WITH_EXPLICIT_RULE": 1,
"SUGGESTION_ONLY": 20565,
"INSUFFICIENT_EVIDENCE": 116,
"AMBIGUOUS": 49
"AMBIGUOUS": 314
},
"rtc_blocker_types": {
"CCLASSTRIB_MISSING": 20831,
"CCLASSTRIB_MISSING": 1,
"CCLASSTRIB_MISSING_UNRESOLVED": 20565,
"RTC_RULE_EVIDENCE_MISSING": 116,
"CCLASSTRIB_AMBIGUOUS": 49
"CCLASSTRIB_AMBIGUOUS": 314
},
"AUTO_APPLY_CANDIDATES": 20831,
"AUTO_APPLY_CANDIDATES": 1,
"context": {
"rtc_param": "0",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:49+00:00",
"rtc_observed_at": "2026-09-25T01:07:39+00:00",
"local_catalog_hash": "1da77aec27fbde88488d1edf562f3af315ab2b5d06efb2e0b2f1ed606585d459",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -592,7 +620,7 @@
"context": {
"rtc_param": "0",
"rtc_source": "PARAMETROS.USAR_REFORMA_TRIBUTARIA",
"rtc_observed_at": "2026-09-25T00:11:50+00:00",
"rtc_observed_at": "2026-09-25T01:07:40+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": null,
"catalog_integrity": {
@@ -613,11 +641,13 @@
"resolution_summary": {
"total": 894,
"valid_existing": 0,
"ready_to_apply": 530,
"ready_to_apply": 63,
"suggestion_only": 467,
"ambiguous": 364,
"insufficient": 0,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -642,28 +672,31 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
},
"by_status": {
"RESOLVED_WITH_EXPLICIT_RULE": 530,
"AMBIGUOUS": 364
"SUGGESTION_ONLY": 467,
"AMBIGUOUS": 364,
"RESOLVED_WITH_EXPLICIT_RULE": 63
},
"rtc_blocker_types": {
"CCLASSTRIB_MISSING": 530,
"CCLASSTRIB_AMBIGUOUS": 364
"CCLASSTRIB_MISSING_UNRESOLVED": 467,
"CCLASSTRIB_AMBIGUOUS": 364,
"CCLASSTRIB_MISSING": 63
},
"AUTO_APPLY_CANDIDATES": 530,
"AUTO_APPLY_CANDIDATES": 63,
"context": {
"rtc_param": "0",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:50+00:00",
"rtc_observed_at": "2026-09-25T01:07:41+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -688,11 +721,13 @@
"resolution_summary": {
"total": 894,
"valid_existing": 0,
"ready_to_apply": 530,
"ready_to_apply": 63,
"suggestion_only": 467,
"ambiguous": 364,
"insufficient": 0,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -717,28 +752,31 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
},
"by_status": {
"RESOLVED_WITH_EXPLICIT_RULE": 530,
"AMBIGUOUS": 364
"SUGGESTION_ONLY": 467,
"AMBIGUOUS": 364,
"RESOLVED_WITH_EXPLICIT_RULE": 63
},
"rtc_blocker_types": {
"CCLASSTRIB_MISSING": 530,
"CCLASSTRIB_AMBIGUOUS": 364
"CCLASSTRIB_MISSING_UNRESOLVED": 467,
"CCLASSTRIB_AMBIGUOUS": 364,
"CCLASSTRIB_MISSING": 63
},
"AUTO_APPLY_CANDIDATES": 530,
"AUTO_APPLY_CANDIDATES": 63,
"context": {
"rtc_param": "0",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:50+00:00",
"rtc_observed_at": "2026-09-25T01:07:41+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -775,7 +813,7 @@
"context": {
"rtc_param": "0",
"rtc_source": "PARAMETROS.USAR_REFORMA_TRIBUTARIA",
"rtc_observed_at": "2026-09-25T00:11:52+00:00",
"rtc_observed_at": "2026-09-25T01:07:42+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": null,
"catalog_integrity": {
@@ -797,10 +835,12 @@
"total": 8942,
"valid_existing": 0,
"ready_to_apply": 0,
"suggestion_only": 0,
"ambiguous": 0,
"insufficient": 8942,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -812,11 +852,12 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
@@ -831,7 +872,7 @@
"context": {
"rtc_param": "0",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:52+00:00",
"rtc_observed_at": "2026-09-25T01:07:43+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",
@@ -856,11 +897,13 @@
"resolution_summary": {
"total": 8942,
"valid_existing": 0,
"ready_to_apply": 7419,
"ready_to_apply": 989,
"suggestion_only": 6430,
"ambiguous": 1432,
"insufficient": 91,
"conflicts": 0,
"official_mismatch": 0,
"catalog_incompatible": 0,
"not_applicable": 0,
"other_blocked": 0,
"by_rule": {
@@ -894,30 +937,33 @@
"catalog_compatibility": {
"compatibility": "MATERIAL_MISMATCH",
"counts": {
"MATCH": 131,
"LOCAL_ONLY": 0,
"OFFICIAL_ONLY": 19,
"MATCH_SAFE": 131,
"MATCH_WITH_NON_MATERIAL_DIFFERENCE": 0,
"MISMATCH": 11,
"EXPIRED": 3
"EXPIRED": 3,
"MISSING_LOCAL": 19,
"MISSING_OFFICIAL": 0
},
"expired_present_locally": 3
}
},
"by_status": {
"RESOLVED_WITH_EXPLICIT_RULE": 7419,
"SUGGESTION_ONLY": 6430,
"RESOLVED_WITH_EXPLICIT_RULE": 989,
"AMBIGUOUS": 1432,
"INSUFFICIENT_EVIDENCE": 91
},
"rtc_blocker_types": {
"CCLASSTRIB_MISSING": 7419,
"CCLASSTRIB_MISSING_UNRESOLVED": 6430,
"CCLASSTRIB_MISSING": 989,
"CCLASSTRIB_AMBIGUOUS": 1432,
"RTC_RULE_EVIDENCE_MISSING": 91
},
"AUTO_APPLY_CANDIDATES": 7419,
"AUTO_APPLY_CANDIDATES": 989,
"context": {
"rtc_param": "0",
"rtc_source": "SIMULATION",
"rtc_observed_at": "2026-09-25T00:11:54+00:00",
"rtc_observed_at": "2026-09-25T01:07:45+00:00",
"local_catalog_hash": "be8c5899fff3e236c6c77bbb887087c0a2db048aeff763a5823676c7b478a151",
"official_catalog": {
"sha256": "1448cb63a41bdb67ea30b4e11f4dc200d9568542c6b9335b6cff87a4fd664654",