Initial SQL-only 1C adapter baseline

This commit is contained in:
2026-07-22 03:03:47 +03:00
commit e2503b77e7
545 changed files with 184711 additions and 0 deletions
File diff suppressed because one or more lines are too long
+308
View File
@@ -0,0 +1,308 @@
{
"captured_at": "2026-06-25T01:38:41.221196+00:00",
"base_id": "upo_test",
"table": "ConfigCASSave",
"file_name": "f96a0c45-3eff-11f1-8287-005056b0d483__25c39fbf-35a4-4b43-8e3f-cd1f91082c88.0",
"storage": {
"sha1": "e241f69d71022ffb3dd74922474b5f22f6c65e16",
"bytes": 4336
},
"command": {
"name": "КомандаПример1",
"id": "2",
"title": "Пример1",
"path": "5.3",
"title_path": "5.3.3.2.1",
"id_path": "5.3.1.0",
"name_path": null
},
"command_parameters": [
{
"index": 0,
"presentation": "Маркер записи",
"value": "11",
"value_kind": "number",
"position": {
"indices": [
5,
3,
0
]
}
},
{
"index": 1,
"presentation": "Идентификатор",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
1
]
}
},
{
"index": 2,
"presentation": "Имя",
"value": "КомандаПример1",
"value_kind": "string",
"position": {
"indices": [
5,
3,
2
]
}
},
{
"index": 3,
"presentation": "Заголовок",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
3
]
}
},
{
"index": 4,
"presentation": "Параметр 4",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
4
]
}
},
{
"index": 5,
"presentation": "Параметр 5",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
5
]
}
},
{
"index": 6,
"presentation": "Имя",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
6
]
}
},
{
"index": 7,
"presentation": "Параметр 7",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
7
]
}
},
{
"index": 8,
"presentation": "Параметр 8",
"value": "КомандаПример1",
"value_kind": "string",
"position": {
"indices": [
5,
3,
8
]
}
},
{
"index": 9,
"presentation": "Параметр 9",
"value": "3",
"value_kind": "number",
"position": {
"indices": [
5,
3,
9
]
}
},
{
"index": 10,
"presentation": "Параметр 10",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
10
]
}
},
{
"index": 11,
"presentation": "Параметр 11",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
11
]
}
},
{
"index": 12,
"presentation": "Параметр 12",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
12
]
}
},
{
"index": 13,
"presentation": "Параметр 13",
"value": "1",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
13
]
}
},
{
"index": 14,
"presentation": "Параметр 14",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
14
]
}
},
{
"index": 15,
"presentation": "Параметр 15",
"value": "1",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
15
]
}
},
{
"index": 16,
"presentation": "Параметр 16",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
16
]
}
},
{
"index": 17,
"presentation": "Параметр 17",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
17
]
}
},
{
"index": 18,
"presentation": "Параметр 18",
"value": "2",
"value_kind": "number",
"position": {
"indices": [
5,
3,
18
]
}
},
{
"index": 19,
"presentation": "Параметр 19",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
19
]
}
},
{
"index": 20,
"presentation": "Параметр 20",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
20
]
}
}
],
"decode_counts": {
"items": 33,
"items_total": 33,
"focused_elements": null,
"attributes": 6,
"attributes_total": 6,
"commands": 3,
"commands_total": 3,
"events": 0,
"handler_links": 0,
"resolved_handlers": 0,
"missing_handlers": 0,
"button_command_links": 0
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+308
View File
@@ -0,0 +1,308 @@
{
"captured_at": "2026-06-25T01:36:16.633769+00:00",
"base_id": "upo_test",
"table": "ConfigCASSave",
"file_name": "f96a0c45-3eff-11f1-8287-005056b0d483__25c39fbf-35a4-4b43-8e3f-cd1f91082c88.0",
"storage": {
"sha1": "73dccf9d0270d3571a9d8e8fe48266c0148ba20f",
"bytes": 4322
},
"command": {
"name": "КомандаПример1",
"id": "2",
"title": "Пример1",
"path": "5.3",
"title_path": "5.3.3.2.1",
"id_path": "5.3.1.0",
"name_path": null
},
"command_parameters": [
{
"index": 0,
"presentation": "Маркер записи",
"value": "11",
"value_kind": "number",
"position": {
"indices": [
5,
3,
0
]
}
},
{
"index": 1,
"presentation": "Идентификатор",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
1
]
}
},
{
"index": 2,
"presentation": "Имя",
"value": "КомандаПример1",
"value_kind": "string",
"position": {
"indices": [
5,
3,
2
]
}
},
{
"index": 3,
"presentation": "Заголовок",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
3
]
}
},
{
"index": 4,
"presentation": "Параметр 4",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
4
]
}
},
{
"index": 5,
"presentation": "Параметр 5",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
5
]
}
},
{
"index": 6,
"presentation": "Имя",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
6
]
}
},
{
"index": 7,
"presentation": "Параметр 7",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
7
]
}
},
{
"index": 8,
"presentation": "Параметр 8",
"value": "КомандаПример1",
"value_kind": "string",
"position": {
"indices": [
5,
3,
8
]
}
},
{
"index": 9,
"presentation": "Параметр 9",
"value": "3",
"value_kind": "number",
"position": {
"indices": [
5,
3,
9
]
}
},
{
"index": 10,
"presentation": "Параметр 10",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
10
]
}
},
{
"index": 11,
"presentation": "Параметр 11",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
11
]
}
},
{
"index": 12,
"presentation": "Параметр 12",
"value": "",
"value_kind": "string",
"position": {
"indices": [
5,
3,
12
]
}
},
{
"index": 13,
"presentation": "Параметр 13",
"value": "1",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
13
]
}
},
{
"index": 14,
"presentation": "Параметр 14",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
14
]
}
},
{
"index": 15,
"presentation": "Параметр 15",
"value": "1",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
15
]
}
},
{
"index": 16,
"presentation": "Параметр 16",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
16
]
}
},
{
"index": 17,
"presentation": "Параметр 17",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
17
]
}
},
{
"index": 18,
"presentation": "Параметр 18",
"value": "2",
"value_kind": "number",
"position": {
"indices": [
5,
3,
18
]
}
},
{
"index": 19,
"presentation": "Параметр 19",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
19
]
}
},
{
"index": 20,
"presentation": "Параметр 20",
"value": "0",
"value_kind": "boolean_or_number",
"position": {
"indices": [
5,
3,
20
]
}
}
],
"decode_counts": {
"items": 33,
"items_total": 33,
"focused_elements": null,
"attributes": 6,
"attributes_total": 6,
"commands": 3,
"commands_total": 3,
"events": 0,
"handler_links": 0,
"resolved_handlers": 0,
"missing_handlers": 0,
"button_command_links": 0
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+29
View File
@@ -0,0 +1,29 @@
import difflib
import hashlib
import json
from pathlib import Path
ROOT = Path('data/1c-write-learning')
before = (ROOT / 'baseline.bin').read_bytes()
after_path = ROOT / 'after.bin'
if not after_path.exists():
raise SystemExit('after.bin is missing; capture after state first')
after = after_path.read_bytes()
def ranges(a: bytes, b: bytes):
sm = difflib.SequenceMatcher(None, a, b, autojunk=False)
out = []
for tag, i1, i2, j1, j2 in sm.get_opcodes():
if tag != 'equal':
out.append({'tag': tag, 'before': [i1, i2], 'after': [j1, j2], 'before_hex': a[i1:i2].hex(), 'after_hex': b[j1:j2].hex()})
return out
report = {
'before': {'bytes': len(before), 'sha1': hashlib.sha1(before).hexdigest()},
'after': {'bytes': len(after), 'sha1': hashlib.sha1(after).hexdigest()},
'delta_bytes': len(after) - len(before),
'ranges': ranges(before, after),
}
(ROOT / 'byte_diff.json').write_text(json.dumps(report, ensure_ascii=False, indent=2), encoding='utf-8')
print(json.dumps({**report, 'ranges': report['ranges'][:20], 'range_count': len(report['ranges'])}, ensure_ascii=False, indent=2))
+240
View File
@@ -0,0 +1,240 @@
{
"before": {
"raw_bytes": 4322,
"payload_bytes": 33820,
"compression": "raw_deflate",
"encoding": "utf-8-sig",
"payload_sha1": "361daeb3bb7ed2f858433ea79f8e92e76d8fe2bd"
},
"after": {
"raw_bytes": 4336,
"payload_bytes": 33826,
"compression": "raw_deflate",
"encoding": "utf-8-sig",
"payload_sha1": "426ce14f4c3f764edb91b855a9b8aac2fabce110"
},
"payload_delta_bytes": 6,
"text_range_count": 14,
"text_ranges": [
{
"tag": "replace",
"before": [
3240,
3242
],
"after": [
3240,
3243
],
"before_text": "97",
"after_text": "108"
},
{
"tag": "insert",
"before": [
4797,
4797
],
"after": [
4798,
4800
],
"before_text": "",
"after_text": "10"
},
{
"tag": "delete",
"before": [
4798,
4799
],
"after": [
4801,
4801
],
"before_text": "8",
"after_text": ""
},
{
"tag": "replace",
"before": [
6100,
6102
],
"after": [
6102,
6105
],
"before_text": "99",
"after_text": "110"
},
{
"tag": "replace",
"before": [
9557,
9559
],
"after": [
9560,
9562
],
"before_text": "00",
"after_text": "11"
},
{
"tag": "delete",
"before": [
11136,
11137
],
"after": [
11139,
11139
],
"before_text": "0",
"after_text": ""
},
{
"tag": "insert",
"before": [
11138,
11138
],
"after": [
11140,
11141
],
"before_text": "",
"after_text": "2"
},
{
"tag": "replace",
"before": [
12739,
12741
],
"after": [
12742,
12744
],
"before_text": "02",
"after_text": "13"
},
{
"tag": "replace",
"before": [
15705,
15707
],
"after": [
15708,
15710
],
"before_text": "04",
"after_text": "15"
},
{
"tag": "replace",
"before": [
15912,
15914
],
"after": [
15915,
15917
],
"before_text": "03",
"after_text": "14"
},
{
"tag": "replace",
"before": [
16113,
16115
],
"after": [
16116,
16118
],
"before_text": "05",
"after_text": "16"
},
{
"tag": "replace",
"before": [
16946,
16948
],
"after": [
16949,
16951
],
"before_text": "06",
"after_text": "17"
},
{
"tag": "replace",
"before": [
22408,
22410
],
"after": [
22411,
22413
],
"before_text": "07",
"after_text": "18"
},
{
"tag": "replace",
"before": [
30327,
30333
],
"after": [
30330,
30337
],
"before_text": "ример2",
"after_text": "РОВЕРКА"
}
],
"path_values": [
{
"path": "5.3",
"before": "",
"after": ""
},
{
"path": "5.3.1.0",
"before": "2",
"after": "2"
},
{
"path": "5.3.2",
"before": "КомандаПример1",
"after": "КомандаПример1"
},
{
"path": "5.3.3",
"before": "",
"after": ""
},
{
"path": "5.3.3.2.1",
"before": "Пример1",
"after": "Пример1"
},
{
"path": "5.3.8",
"before": "КомандаПример1",
"after": "КомандаПример1"
}
],
"strings_added": [
"ПРОВЕРКА"
],
"strings_removed": [
"Пример2"
]
}
@@ -0,0 +1,240 @@
[
{
"range": {
"tag": "replace",
"before": [
3240,
3242
],
"after": [
3240,
3243
],
"before_text": "97",
"after_text": "108"
},
"before_context": "e}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{97,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"АПанельДействийВыделенныхСтрок\"",
"after_context": "e}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{108,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"АПанельДействийВыделенныхСтрок\""
},
{
"range": {
"tag": "insert",
"before": [
4797,
4797
],
"after": [
4798,
4800
],
"before_text": "",
"after_text": "10"
},
"before_context": "e}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{98,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"БПанельДействийВыделенныхСтро",
"after_context": "e}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{109,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"БПанельДействийВыделенныхСтрок"
},
{
"range": {
"tag": "delete",
"before": [
4798,
4799
],
"after": [
4801,
4801
],
"before_text": "8",
"after_text": ""
},
"before_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{98,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"БПанельДействийВыделенныхСтрок\"",
"after_context": "\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{109,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"БПанельДействийВыделенныхСтрок\""
},
{
"range": {
"tag": "replace",
"before": [
6100,
6102
],
"after": [
6102,
6105
],
"before_text": "99",
"after_text": "110"
},
"before_context": "e}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{99,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ХочуКрасненькогоПанельДействийВ",
"after_context": "e}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{110,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ХочуКрасненькогоПанельДействийВ"
},
{
"range": {
"tag": "replace",
"before": [
9557,
9559
],
"after": [
9560,
9562
],
"before_text": "00",
"after_text": "11"
},
"before_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{100,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗК1ПанельДействийВыделенныхСтр",
"after_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{111,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗК1ПанельДействийВыделенныхСтр"
},
{
"range": {
"tag": "delete",
"before": [
11136,
11137
],
"after": [
11139,
11139
],
"before_text": "0",
"after_text": ""
},
"before_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{101,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗК2ПанельДействийВыделенныхСт",
"after_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{112,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗК2ПанельДействийВыделенныхС"
},
{
"range": {
"tag": "insert",
"before": [
11138,
11138
],
"after": [
11140,
11141
],
"before_text": "",
"after_text": "2"
},
"before_context": "\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{101,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗК2ПанельДействийВыделенныхСтр",
"after_context": "\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{112,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗК2ПанельДействийВыделенныхСтр"
},
{
"range": {
"tag": "replace",
"before": [
12739,
12741
],
"after": [
12742,
12744
],
"before_text": "02",
"after_text": "13"
},
"before_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{102,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗПримечаниеПанельДействийВыдел",
"after_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,3,1,\n\n{22,\n\n{113,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗПримечаниеПанельДействийВыдел"
},
{
"range": {
"tag": "replace",
"before": [
15705,
15707
],
"after": [
15708,
15710
],
"before_text": "04",
"after_text": "15"
},
"before_context": "\n{20,2},0,3,3,0,\"\"},0,1,0,0,1,0,3,3,0,1,0,0,0,0,1,0,2,2,0,0,\"\",\"\",0,1,\n\n{22,\n\n{104,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗПанельДействийВыделенныхСтрок",
"after_context": "\n{20,2},0,3,3,0,\"\"},0,1,0,0,1,0,3,3,0,1,0,0,0,0,1,0,2,2,0,0,\"\",\"\",0,1,\n\n{22,\n\n{115,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"ТЗПанельДействийВыделенныхСтрок"
},
{
"range": {
"tag": "replace",
"before": [
15912,
15914
],
"after": [
15915,
15917
],
"before_text": "03",
"after_text": "14"
},
"before_context": "4},\n\n{8,3,0,1,100},\n\n{0,0,0},1,\n\n{0,1,0,1},0,1,0,0,0,3,3,0},0,0,0,2,1,\n\n{22,\n\n{103,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,11,\"ТЗДействияСтроки\",\n\n{1,0},\n\n{1,",
"after_context": "4},\n\n{8,3,0,1,100},\n\n{0,0,0},1,\n\n{0,1,0,1},0,1,0,0,0,3,3,0},0,0,0,2,1,\n\n{22,\n\n{114,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,11,\"ТЗДействияСтроки\",\n\n{1,0},\n\n{1,"
},
{
"range": {
"tag": "replace",
"before": [
16113,
16115
],
"after": [
16116,
16118
],
"before_text": "05",
"after_text": "16"
},
"before_context": ",0,1,100},\n\n{0,0,0},1,\n\n{0,1,0,1},0,1,0,0,0,3,3,0},2,0,0,1,0,0,0,0,0,1,\n\n{6,\n\n{105,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,\"ТЗПанельДействийВыделенныхСтрокС",
"after_context": ",0,1,100},\n\n{0,0,0},1,\n\n{0,1,0,1},0,1,0,0,0,3,3,0},2,0,0,1,0,0,0,0,0,1,\n\n{6,\n\n{116,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,\"ТЗПанельДействийВыделенныхСтрокС"
},
{
"range": {
"tag": "replace",
"before": [
16946,
16948
],
"after": [
16949,
16951
],
"before_text": "06",
"after_text": "17"
},
"before_context": "{1,0},0},0,0,1,0,0,1,0,3,3,0,0},2,\n\n{20,0},0,3,3,0,\"ТЗСтрокаПоиска\"},1,\n\n{6,\n\n{106,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,2,\"ТЗПанельДействийВыделенныхСтрокУ",
"after_context": "{1,0},0},0,0,1,0,0,1,0,3,3,0,0},2,\n\n{20,0},0,3,3,0,\"ТЗСтрокаПоиска\"},1,\n\n{6,\n\n{117,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,2,\"ТЗПанельДействийВыделенныхСтрокУ"
},
{
"range": {
"tag": "replace",
"before": [
22408,
22410
],
"after": [
22411,
22413
],
"before_text": "07",
"after_text": "18"
},
"before_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{107,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"КодПрограммыПанельДействийВыдел",
"after_context": "}\n\n},0,1,2,\n\n{1,\n\n{1,0},0},0,0,1,0,0,1,0,3,3,0,0},3,3,0,0,0,0,2,0,1,1,\n\n{22,\n\n{118,02023637-7868-4a5f-8576-835a76e0c9ba},1,0,0,10,\"КодПрограммыПанельДействийВыдел"
},
{
"range": {
"tag": "replace",
"before": [
30327,
30333
],
"after": [
30330,
30337
],
"before_text": "ример2",
"after_text": "РОВЕРКА"
},
"before_context": "11,\n\n{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},\"КомандаПример2\",\n\n{1,1,\n\n{\"ru\",\"Пример2\"}\n\n},\n\n{1,1,\n\n{\"ru\",\"Команда пример1\"}\n\n},\n\n{0,\n\n{0,\n\n{\"B\",1},0}\n\n},\n\n{0,0,0},\n",
"after_context": "11,\n\n{3,409b9a53-7f7e-4178-86c1-33176c7c7a7a},\"КомандаПример2\",\n\n{1,1,\n\n{\"ru\",\"ПРОВЕРКА\"}\n\n},\n\n{1,1,\n\n{\"ru\",\"Команда пример1\"}\n\n},\n\n{0,\n\n{0,\n\n{\"B\",1},0}\n\n},\n\n{0,0,0},\n"
}
]