@sankhyalabs/sankhyablocks 9.2.0-dev.15 → 9.2.0-dev.2
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.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +3 -0
- package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
- package/dist/cjs/{snk-data-unit-72715da9.js → snk-data-unit-448fce74.js} +1 -11
- package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar_4.cjs.entry.js +15 -25
- package/dist/cjs/snk-form_2.cjs.entry.js +1 -27
- package/dist/cjs/snk-grid.cjs.entry.js +7 -55
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -10
- package/dist/cjs/snk-simple-bar.cjs.entry.js +5 -5
- package/dist/cjs/snk-simple-crud.cjs.entry.js +8 -45
- package/dist/collection/components/snk-application/snk-application.js +2 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +28 -173
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +63 -210
- package/dist/collection/components/snk-form/snk-form.js +22 -133
- package/dist/collection/components/snk-grid/snk-grid.js +83 -333
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +21 -83
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +14 -80
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +9 -9
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +119 -414
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +36 -102
- package/dist/collection/lib/licenses/sankhyalicense.module.js +1 -0
- package/dist/components/snk-application2.js +3 -0
- package/dist/components/snk-data-unit2.js +1 -11
- package/dist/components/snk-filter-bar2.js +15 -26
- package/dist/components/snk-form.js +2 -29
- package/dist/components/snk-grid2.js +7 -57
- package/dist/components/snk-personalized-filter2.js +2 -10
- package/dist/components/snk-simple-bar2.js +5 -5
- package/dist/components/snk-simple-crud2.js +8 -45
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-application.entry.js +3 -0
- package/dist/esm/snk-data-exporter.entry.js +1 -1
- package/dist/esm/{snk-data-unit-d31619fb.js → snk-data-unit-b7e6e7a6.js} +1 -11
- package/dist/esm/snk-data-unit.entry.js +1 -1
- package/dist/esm/snk-filter-bar_4.entry.js +15 -25
- package/dist/esm/snk-form_2.entry.js +1 -27
- package/dist/esm/snk-grid.entry.js +7 -55
- package/dist/esm/snk-personalized-filter.entry.js +2 -10
- package/dist/esm/snk-simple-bar.entry.js +5 -5
- package/dist/esm/snk-simple-crud.entry.js +8 -45
- package/dist/sankhyablocks/p-012208e0.entry.js +1 -0
- package/dist/sankhyablocks/{p-a2e8c7a7.entry.js → p-158adf33.entry.js} +1 -1
- package/dist/sankhyablocks/p-81769310.entry.js +11 -0
- package/dist/sankhyablocks/{p-69b815ab.entry.js → p-8d1508aa.entry.js} +1 -1
- package/dist/sankhyablocks/p-a86eee47.entry.js +1 -0
- package/dist/sankhyablocks/p-fa18530e.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +3 -46
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +28 -45
- package/dist/types/components/snk-form/snk-form.d.ts +4 -29
- package/dist/types/components/snk-grid/snk-grid.d.ts +45 -104
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -53
- package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +6 -44
- package/dist/types/components/snk-simple-bar/snk-simple-bar.d.ts +15 -15
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +43 -100
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +21 -23
- package/dist/types/components.d.ts +238 -569
- package/package.json +3 -4
- package/dist/sankhyablocks/p-51464e95.entry.js +0 -1
- package/dist/sankhyablocks/p-665dd170.entry.js +0 -11
- package/dist/sankhyablocks/p-6fa3d474.entry.js +0 -1
- package/dist/sankhyablocks/p-cf7063a4.entry.js +0 -1
- /package/dist/sankhyablocks/{p-8b601472.js → p-0e495575.js} +0 -0
@@ -100,8 +100,6 @@ export class SnkDataUnit {
|
|
100
100
|
}
|
101
101
|
/**
|
102
102
|
* Obtém o dataUnit.
|
103
|
-
* @returns {Promise<DataUnit>} Uma promessa que resolve com a instância do DataUnit.
|
104
|
-
* @async
|
105
103
|
*/
|
106
104
|
async getDataUnit() {
|
107
105
|
return new Promise((resolve) => {
|
@@ -115,33 +113,25 @@ export class SnkDataUnit {
|
|
115
113
|
}
|
116
114
|
/**
|
117
115
|
* Método que retorna a lista de IDs dos registros selecionados.
|
118
|
-
* @returns
|
119
|
-
* @async
|
116
|
+
* @returns Retorna a lista de IDs dos registros selecionados.
|
120
117
|
*/
|
121
118
|
async getSelectedRecordsIDsInfo() {
|
122
119
|
return getSelectedRecordsIDsInfo(this.dataUnit);
|
123
120
|
}
|
124
121
|
/**
|
125
122
|
* Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
|
126
|
-
* @returns {Promise<string[]>} Uma promessa que resolve com um array de nomes de campos.
|
127
|
-
* @async
|
128
123
|
*/
|
129
124
|
async getFieldsWithRmp() {
|
130
125
|
return this._fieldsWithRmp;
|
131
126
|
}
|
132
127
|
/**
|
133
128
|
* Retorna os campos que possuem a propriedade "rm_precision" (Row Metadata Precision).
|
134
|
-
* @returns {Promise<string[]>} Uma promessa que resolve com um array de nomes de campos.
|
135
|
-
* @async
|
136
129
|
*/
|
137
130
|
async getFieldsWithRmPrecision() {
|
138
131
|
return this._fieldsWithRmPrecision;
|
139
132
|
}
|
140
133
|
/**
|
141
134
|
* Busca os metadados da linha selecionada.
|
142
|
-
* @param {Record | string} [record] - O registro ou ID do registro para o qual buscar os metadados. Se omitido, usa o registro selecionado.
|
143
|
-
* @returns {Promise<RowMetadata>} Uma promessa que resolve com os metadados da linha.
|
144
|
-
* @async
|
145
135
|
*/
|
146
136
|
async getRowMetadata(record) {
|
147
137
|
return this.doGetRowMetadata(record);
|
@@ -783,10 +773,7 @@ export class SnkDataUnit {
|
|
783
773
|
"required": false,
|
784
774
|
"optional": false,
|
785
775
|
"docs": {
|
786
|
-
"tags": [
|
787
|
-
"name": "type",
|
788
|
-
"text": "{DataState}"
|
789
|
-
}],
|
776
|
+
"tags": [],
|
790
777
|
"text": "Controla o estado atual dos dados."
|
791
778
|
}
|
792
779
|
},
|
@@ -806,10 +793,7 @@ export class SnkDataUnit {
|
|
806
793
|
"required": false,
|
807
794
|
"optional": false,
|
808
795
|
"docs": {
|
809
|
-
"tags": [
|
810
|
-
"name": "type",
|
811
|
-
"text": "{SnkMessageBuilder}"
|
812
|
-
}],
|
796
|
+
"tags": [],
|
813
797
|
"text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
|
814
798
|
}
|
815
799
|
},
|
@@ -824,10 +808,7 @@ export class SnkDataUnit {
|
|
824
808
|
"required": false,
|
825
809
|
"optional": false,
|
826
810
|
"docs": {
|
827
|
-
"tags": [
|
828
|
-
"name": "type",
|
829
|
-
"text": "{string}"
|
830
|
-
}],
|
811
|
+
"tags": [],
|
831
812
|
"text": "Usado para criar o dataUnit uma \u00FAnica vez.\nSe omitido, ser\u00E1 usado o pr\u00F3prio nome da entidade."
|
832
813
|
},
|
833
814
|
"attribute": "data-unit-name",
|
@@ -844,10 +825,7 @@ export class SnkDataUnit {
|
|
844
825
|
"required": false,
|
845
826
|
"optional": false,
|
846
827
|
"docs": {
|
847
|
-
"tags": [
|
848
|
-
"name": "type",
|
849
|
-
"text": "{string}"
|
850
|
-
}],
|
828
|
+
"tags": [],
|
851
829
|
"text": "Determina qual a entidade que representa os dados em quest\u00E3o."
|
852
830
|
},
|
853
831
|
"attribute": "entity-name",
|
@@ -864,13 +842,7 @@ export class SnkDataUnit {
|
|
864
842
|
"required": false,
|
865
843
|
"optional": false,
|
866
844
|
"docs": {
|
867
|
-
"tags": [
|
868
|
-
"name": "type",
|
869
|
-
"text": "{number}"
|
870
|
-
}, {
|
871
|
-
"name": "default",
|
872
|
-
"text": "150"
|
873
|
-
}],
|
845
|
+
"tags": [],
|
874
846
|
"text": "Determina quantas linhas s\u00E3o retornadas por p\u00E1gina."
|
875
847
|
},
|
876
848
|
"attribute": "page-size",
|
@@ -893,10 +865,7 @@ export class SnkDataUnit {
|
|
893
865
|
"required": false,
|
894
866
|
"optional": false,
|
895
867
|
"docs": {
|
896
|
-
"tags": [
|
897
|
-
"name": "type",
|
898
|
-
"text": "{DataUnit}"
|
899
|
-
}],
|
868
|
+
"tags": [],
|
900
869
|
"text": "Uma vez instanciado, pode-se obter o dataUnit por esta propriedade."
|
901
870
|
}
|
902
871
|
},
|
@@ -919,13 +888,7 @@ export class SnkDataUnit {
|
|
919
888
|
"required": false,
|
920
889
|
"optional": false,
|
921
890
|
"docs": {
|
922
|
-
"tags": [
|
923
|
-
"name": "param",
|
924
|
-
"text": "dataUnit - A inst\u00E2ncia do DataUnit."
|
925
|
-
}, {
|
926
|
-
"name": "returns",
|
927
|
-
"text": "`false` para cancelar a a\u00E7\u00E3o, `true` para continuar."
|
928
|
-
}],
|
891
|
+
"tags": [],
|
929
892
|
"text": "Executado imediatamente antes da a\u00E7\u00E3o de salvar as altera\u00E7\u00F5es. \u00DAtil no caso de valida\u00E7\u00F5es por exemplo.\nCaso retorne \"false\" (ou a promessa se resolva como false), cancela a a\u00E7\u00E3o."
|
930
893
|
}
|
931
894
|
},
|
@@ -945,13 +908,7 @@ export class SnkDataUnit {
|
|
945
908
|
"required": false,
|
946
909
|
"optional": false,
|
947
910
|
"docs": {
|
948
|
-
"tags": [
|
949
|
-
"name": "param",
|
950
|
-
"text": "dataUnit - A inst\u00E2ncia do DataUnit."
|
951
|
-
}, {
|
952
|
-
"name": "returns",
|
953
|
-
"text": undefined
|
954
|
-
}],
|
911
|
+
"tags": [],
|
955
912
|
"text": "Executado ap\u00F3s a a\u00E7\u00E3o de salvar."
|
956
913
|
}
|
957
914
|
},
|
@@ -966,13 +923,7 @@ export class SnkDataUnit {
|
|
966
923
|
"required": false,
|
967
924
|
"optional": false,
|
968
925
|
"docs": {
|
969
|
-
"tags": [
|
970
|
-
"name": "type",
|
971
|
-
"text": "{boolean}"
|
972
|
-
}, {
|
973
|
-
"name": "default",
|
974
|
-
"text": "true"
|
975
|
-
}],
|
926
|
+
"tags": [],
|
976
927
|
"text": "Determina se ser\u00E1 usado mensagem de confirma\u00E7\u00E3o padr\u00E3o na tentativa de cancelar a edi\u00E7\u00E3o."
|
977
928
|
},
|
978
929
|
"attribute": "use-cancel-confirm",
|
@@ -990,10 +941,7 @@ export class SnkDataUnit {
|
|
990
941
|
"required": false,
|
991
942
|
"optional": false,
|
992
943
|
"docs": {
|
993
|
-
"tags": [
|
994
|
-
"name": "type",
|
995
|
-
"text": "{boolean}"
|
996
|
-
}],
|
944
|
+
"tags": [],
|
997
945
|
"text": "Respons\u00E1vel por evitar a mensagem de sucesso ao salvar."
|
998
946
|
},
|
999
947
|
"attribute": "ignore-save-message",
|
@@ -1010,10 +958,7 @@ export class SnkDataUnit {
|
|
1010
958
|
"required": false,
|
1011
959
|
"optional": false,
|
1012
960
|
"docs": {
|
1013
|
-
"tags": [
|
1014
|
-
"name": "type",
|
1015
|
-
"text": "{string}"
|
1016
|
-
}],
|
961
|
+
"tags": [],
|
1017
962
|
"text": "Usado para obter configura\u00E7\u00E3o de metadados."
|
1018
963
|
},
|
1019
964
|
"attribute": "config-name",
|
@@ -1030,10 +975,7 @@ export class SnkDataUnit {
|
|
1030
975
|
"required": false,
|
1031
976
|
"optional": false,
|
1032
977
|
"docs": {
|
1033
|
-
"tags": [
|
1034
|
-
"name": "type",
|
1035
|
-
"text": "{string}"
|
1036
|
-
}],
|
978
|
+
"tags": [],
|
1037
979
|
"text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
|
1038
980
|
},
|
1039
981
|
"attribute": "resource-i-d",
|
@@ -1050,10 +992,7 @@ export class SnkDataUnit {
|
|
1050
992
|
"required": false,
|
1051
993
|
"optional": false,
|
1052
994
|
"docs": {
|
1053
|
-
"tags": [
|
1054
|
-
"name": "type",
|
1055
|
-
"text": "{string}"
|
1056
|
-
}],
|
995
|
+
"tags": [],
|
1057
996
|
"text": "Define a chave customizada para sobrescrever as mensagens (N\u00E3o pegando pela entidade)"
|
1058
997
|
},
|
1059
998
|
"attribute": "domain-messages-builder",
|
@@ -1074,16 +1013,7 @@ export class SnkDataUnit {
|
|
1074
1013
|
"cancelable": true,
|
1075
1014
|
"composed": true,
|
1076
1015
|
"docs": {
|
1077
|
-
"tags": [
|
1078
|
-
"name": "event",
|
1079
|
-
"text": "dataStateChange"
|
1080
|
-
}, {
|
1081
|
-
"name": "type",
|
1082
|
-
"text": "{CustomEvent<DataState>}"
|
1083
|
-
}, {
|
1084
|
-
"name": "bubbles",
|
1085
|
-
"text": "false"
|
1086
|
-
}],
|
1016
|
+
"tags": [],
|
1087
1017
|
"text": "Emitido quando h\u00E1 qualquer mudan\u00E7a de estado no DataUnit."
|
1088
1018
|
},
|
1089
1019
|
"complexType": {
|
@@ -1102,16 +1032,7 @@ export class SnkDataUnit {
|
|
1102
1032
|
"cancelable": true,
|
1103
1033
|
"composed": true,
|
1104
1034
|
"docs": {
|
1105
|
-
"tags": [
|
1106
|
-
"name": "event",
|
1107
|
-
"text": "dataUnitReady"
|
1108
|
-
}, {
|
1109
|
-
"name": "type",
|
1110
|
-
"text": "{CustomEvent<DataUnit>}"
|
1111
|
-
}, {
|
1112
|
-
"name": "bubbles",
|
1113
|
-
"text": "false"
|
1114
|
-
}],
|
1035
|
+
"tags": [],
|
1115
1036
|
"text": "Emitido quando o DataUnit est\u00E1 pronto."
|
1116
1037
|
},
|
1117
1038
|
"complexType": {
|
@@ -1131,17 +1052,8 @@ export class SnkDataUnit {
|
|
1131
1052
|
"cancelable": true,
|
1132
1053
|
"composed": true,
|
1133
1054
|
"docs": {
|
1134
|
-
"tags": [
|
1135
|
-
|
1136
|
-
"text": "messagesBuilderUpdated"
|
1137
|
-
}, {
|
1138
|
-
"name": "type",
|
1139
|
-
"text": "{CustomEvent<SnkMessageBuilder>}"
|
1140
|
-
}, {
|
1141
|
-
"name": "bubbles",
|
1142
|
-
"text": "false"
|
1143
|
-
}],
|
1144
|
-
"text": "Emitido quando o messagesBuilder \u00E9 atualizado."
|
1055
|
+
"tags": [],
|
1056
|
+
"text": "Emitido quando o DataUnit est\u00E1 pronto."
|
1145
1057
|
},
|
1146
1058
|
"complexType": {
|
1147
1059
|
"original": "SnkMessageBuilder",
|
@@ -1160,13 +1072,7 @@ export class SnkDataUnit {
|
|
1160
1072
|
"cancelable": true,
|
1161
1073
|
"composed": true,
|
1162
1074
|
"docs": {
|
1163
|
-
"tags": [
|
1164
|
-
"name": "event",
|
1165
|
-
"text": "dataUnitFieldsHidded"
|
1166
|
-
}, {
|
1167
|
-
"name": "type",
|
1168
|
-
"text": "{CustomEvent<void>}"
|
1169
|
-
}],
|
1075
|
+
"tags": [],
|
1170
1076
|
"text": "Emitido quando h\u00E1 campos no DataUnit que devem ser ocultados."
|
1171
1077
|
},
|
1172
1078
|
"complexType": {
|
@@ -1181,16 +1087,7 @@ export class SnkDataUnit {
|
|
1181
1087
|
"cancelable": true,
|
1182
1088
|
"composed": true,
|
1183
1089
|
"docs": {
|
1184
|
-
"tags": [
|
1185
|
-
"name": "event",
|
1186
|
-
"text": "insertionMode"
|
1187
|
-
}, {
|
1188
|
-
"name": "type",
|
1189
|
-
"text": "{CustomEvent<void>}"
|
1190
|
-
}, {
|
1191
|
-
"name": "bubbles",
|
1192
|
-
"text": "false"
|
1193
|
-
}],
|
1090
|
+
"tags": [],
|
1194
1091
|
"text": "Emitido quando um registro \u00E9 adicionado ou copiado."
|
1195
1092
|
},
|
1196
1093
|
"complexType": {
|
@@ -1205,16 +1102,7 @@ export class SnkDataUnit {
|
|
1205
1102
|
"cancelable": true,
|
1206
1103
|
"composed": true,
|
1207
1104
|
"docs": {
|
1208
|
-
"tags": [
|
1209
|
-
"name": "event",
|
1210
|
-
"text": "cancelEdition"
|
1211
|
-
}, {
|
1212
|
-
"name": "type",
|
1213
|
-
"text": "{CustomEvent<void>}"
|
1214
|
-
}, {
|
1215
|
-
"name": "bubbles",
|
1216
|
-
"text": "false"
|
1217
|
-
}],
|
1105
|
+
"tags": [],
|
1218
1106
|
"text": "Emitido quando se cancela uma inser\u00E7\u00E3o ou c\u00F3pia."
|
1219
1107
|
},
|
1220
1108
|
"complexType": {
|
@@ -1243,13 +1131,7 @@ export class SnkDataUnit {
|
|
1243
1131
|
},
|
1244
1132
|
"docs": {
|
1245
1133
|
"text": "Obt\u00E9m o dataUnit.",
|
1246
|
-
"tags": [
|
1247
|
-
"name": "returns",
|
1248
|
-
"text": "Uma promessa que resolve com a inst\u00E2ncia do DataUnit."
|
1249
|
-
}, {
|
1250
|
-
"name": "async",
|
1251
|
-
"text": undefined
|
1252
|
-
}]
|
1134
|
+
"tags": []
|
1253
1135
|
}
|
1254
1136
|
},
|
1255
1137
|
"getSelectedRecordsIDsInfo": {
|
@@ -1274,10 +1156,7 @@ export class SnkDataUnit {
|
|
1274
1156
|
"text": "M\u00E9todo que retorna a lista de IDs dos registros selecionados.",
|
1275
1157
|
"tags": [{
|
1276
1158
|
"name": "returns",
|
1277
|
-
"text": "Retorna
|
1278
|
-
}, {
|
1279
|
-
"name": "async",
|
1280
|
-
"text": undefined
|
1159
|
+
"text": "Retorna a lista de IDs dos registros selecionados."
|
1281
1160
|
}]
|
1282
1161
|
}
|
1283
1162
|
},
|
@@ -1294,13 +1173,7 @@ export class SnkDataUnit {
|
|
1294
1173
|
},
|
1295
1174
|
"docs": {
|
1296
1175
|
"text": "Retorna os campos que possuem a propriedade \"rmp\" (Row Metadata Provider).",
|
1297
|
-
"tags": [
|
1298
|
-
"name": "returns",
|
1299
|
-
"text": "Uma promessa que resolve com um array de nomes de campos."
|
1300
|
-
}, {
|
1301
|
-
"name": "async",
|
1302
|
-
"text": undefined
|
1303
|
-
}]
|
1176
|
+
"tags": []
|
1304
1177
|
}
|
1305
1178
|
},
|
1306
1179
|
"getFieldsWithRmPrecision": {
|
@@ -1316,24 +1189,15 @@ export class SnkDataUnit {
|
|
1316
1189
|
},
|
1317
1190
|
"docs": {
|
1318
1191
|
"text": "Retorna os campos que possuem a propriedade \"rm_precision\" (Row Metadata Precision).",
|
1319
|
-
"tags": [
|
1320
|
-
"name": "returns",
|
1321
|
-
"text": "Uma promessa que resolve com um array de nomes de campos."
|
1322
|
-
}, {
|
1323
|
-
"name": "async",
|
1324
|
-
"text": undefined
|
1325
|
-
}]
|
1192
|
+
"tags": []
|
1326
1193
|
}
|
1327
1194
|
},
|
1328
1195
|
"getRowMetadata": {
|
1329
1196
|
"complexType": {
|
1330
1197
|
"signature": "(record?: Record | string) => Promise<RowMetadata>",
|
1331
1198
|
"parameters": [{
|
1332
|
-
"tags": [
|
1333
|
-
|
1334
|
-
"text": "record - O registro ou ID do registro para o qual buscar os metadados. Se omitido, usa o registro selecionado."
|
1335
|
-
}],
|
1336
|
-
"text": "- O registro ou ID do registro para o qual buscar os metadados. Se omitido, usa o registro selecionado."
|
1199
|
+
"tags": [],
|
1200
|
+
"text": ""
|
1337
1201
|
}],
|
1338
1202
|
"references": {
|
1339
1203
|
"Promise": {
|
@@ -1351,16 +1215,7 @@ export class SnkDataUnit {
|
|
1351
1215
|
},
|
1352
1216
|
"docs": {
|
1353
1217
|
"text": "Busca os metadados da linha selecionada.",
|
1354
|
-
"tags": [
|
1355
|
-
"name": "param",
|
1356
|
-
"text": "record - O registro ou ID do registro para o qual buscar os metadados. Se omitido, usa o registro selecionado."
|
1357
|
-
}, {
|
1358
|
-
"name": "returns",
|
1359
|
-
"text": "Uma promessa que resolve com os metadados da linha."
|
1360
|
-
}, {
|
1361
|
-
"name": "async",
|
1362
|
-
"text": undefined
|
1363
|
-
}]
|
1218
|
+
"tags": []
|
1364
1219
|
}
|
1365
1220
|
}
|
1366
1221
|
};
|