@symbo.ls/uikit 2.11.66 → 2.11.70
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/index.cjs.js +242 -136
- package/dist/index.cjs.js.map +4 -4
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -11415,6 +11415,7 @@ __export(domql_exports, {
|
|
|
11415
11415
|
Animation: () => Animation,
|
|
11416
11416
|
Avatar: () => Avatar,
|
|
11417
11417
|
AvatarBundle: () => AvatarBundle,
|
|
11418
|
+
AvatarChooser: () => AvatarChooser,
|
|
11418
11419
|
Block: () => Block,
|
|
11419
11420
|
Box: () => Box,
|
|
11420
11421
|
Button: () => Button,
|
|
@@ -11467,6 +11468,7 @@ __export(domql_exports, {
|
|
|
11467
11468
|
List: () => List,
|
|
11468
11469
|
Media: () => Media,
|
|
11469
11470
|
Notification: () => Notification,
|
|
11471
|
+
NumberInput: () => NumberInput,
|
|
11470
11472
|
Overflow: () => Overflow,
|
|
11471
11473
|
P: () => P,
|
|
11472
11474
|
Picture: () => Picture,
|
|
@@ -11492,6 +11494,8 @@ __export(domql_exports, {
|
|
|
11492
11494
|
Textarea: () => Textarea,
|
|
11493
11495
|
Theme: () => Theme,
|
|
11494
11496
|
TimePicker: () => TimePicker,
|
|
11497
|
+
TimePickerItem: () => TimePickerItem,
|
|
11498
|
+
TimeSwitcher: () => TimeSwitcher,
|
|
11495
11499
|
Timing: () => Timing,
|
|
11496
11500
|
ToggleSwitch: () => ToggleSwitch,
|
|
11497
11501
|
ToggleSwithWithLabel: () => ToggleSwithWithLabel,
|
|
@@ -14039,34 +14043,6 @@ var Box = {
|
|
|
14039
14043
|
}
|
|
14040
14044
|
};
|
|
14041
14045
|
|
|
14042
|
-
// Avatar/index.js
|
|
14043
|
-
var Avatar = {
|
|
14044
|
-
extend: Img,
|
|
14045
|
-
props: {
|
|
14046
|
-
display: "block",
|
|
14047
|
-
avatarType: "initials",
|
|
14048
|
-
borderRadius: "100%",
|
|
14049
|
-
boxSize: "B",
|
|
14050
|
-
cursor: "pointer"
|
|
14051
|
-
},
|
|
14052
|
-
attr: {
|
|
14053
|
-
src: ({ key, props: props7 }) => props7.src || `https://avatars.dicebear.com/api/${props7.avatarType || "adventurer-neutral"}/${props7.key || key}.svg`
|
|
14054
|
-
}
|
|
14055
|
-
};
|
|
14056
|
-
var AvatarBundle = {
|
|
14057
|
-
extend: Flex,
|
|
14058
|
-
childExtend: {
|
|
14059
|
-
extend: Avatar,
|
|
14060
|
-
props: {
|
|
14061
|
-
boxSize: "B1",
|
|
14062
|
-
border: "0.1312em, black .85, solid",
|
|
14063
|
-
":not(:last-child)": {
|
|
14064
|
-
margin: "0 -Y2 0 0"
|
|
14065
|
-
}
|
|
14066
|
-
}
|
|
14067
|
-
}
|
|
14068
|
-
};
|
|
14069
|
-
|
|
14070
14046
|
// Icon/index.js
|
|
14071
14047
|
var Icon = {
|
|
14072
14048
|
extend: Svg,
|
|
@@ -14157,7 +14133,7 @@ var SquareButton = {
|
|
|
14157
14133
|
aspectRatio: "1 / 1",
|
|
14158
14134
|
justifyContent: "center",
|
|
14159
14135
|
round: "Z",
|
|
14160
|
-
|
|
14136
|
+
boxSizing: "content-box"
|
|
14161
14137
|
}
|
|
14162
14138
|
};
|
|
14163
14139
|
var CircleButton = {
|
|
@@ -14169,6 +14145,74 @@ var KangorooButton = {
|
|
|
14169
14145
|
childExtend: IconText
|
|
14170
14146
|
};
|
|
14171
14147
|
|
|
14148
|
+
// Avatar/index.js
|
|
14149
|
+
var Avatar = {
|
|
14150
|
+
extend: Img,
|
|
14151
|
+
props: {
|
|
14152
|
+
display: "block",
|
|
14153
|
+
avatarType: "initials",
|
|
14154
|
+
borderRadius: "100%",
|
|
14155
|
+
boxSize: "B",
|
|
14156
|
+
cursor: "pointer"
|
|
14157
|
+
},
|
|
14158
|
+
attr: {
|
|
14159
|
+
src: ({ key, props: props7 }) => props7.src || `https://avatars.dicebear.com/api/${props7.avatarType || "adventurer-neutral"}/${props7.key || key}.svg`
|
|
14160
|
+
}
|
|
14161
|
+
};
|
|
14162
|
+
var AvatarBundle = {
|
|
14163
|
+
extend: Flex,
|
|
14164
|
+
childExtend: {
|
|
14165
|
+
extend: Avatar,
|
|
14166
|
+
props: {
|
|
14167
|
+
boxSize: "B1",
|
|
14168
|
+
border: "0.1312em, black .85, solid",
|
|
14169
|
+
":not(:last-child)": {
|
|
14170
|
+
margin: "0 -Y2 0 0"
|
|
14171
|
+
}
|
|
14172
|
+
}
|
|
14173
|
+
}
|
|
14174
|
+
};
|
|
14175
|
+
var AvatarChooser = {
|
|
14176
|
+
extend: Button,
|
|
14177
|
+
tag: "label",
|
|
14178
|
+
props: {
|
|
14179
|
+
round: "C",
|
|
14180
|
+
gap: "Y",
|
|
14181
|
+
padding: "W2 A W2 W2",
|
|
14182
|
+
theme: "tertiary",
|
|
14183
|
+
position: "relative",
|
|
14184
|
+
cursor: "pointer"
|
|
14185
|
+
},
|
|
14186
|
+
Avatar: {
|
|
14187
|
+
boxSize: "B1",
|
|
14188
|
+
pointerEvents: "none"
|
|
14189
|
+
},
|
|
14190
|
+
select: {
|
|
14191
|
+
props: {
|
|
14192
|
+
outline: "none",
|
|
14193
|
+
pointerEvents: "all",
|
|
14194
|
+
appearance: "none",
|
|
14195
|
+
border: "none",
|
|
14196
|
+
width: "100%",
|
|
14197
|
+
height: "100%",
|
|
14198
|
+
background: "none",
|
|
14199
|
+
color: "currentColor",
|
|
14200
|
+
fontSize: "A",
|
|
14201
|
+
lineHeight: 1,
|
|
14202
|
+
margin: "0 0 0 -B1+X",
|
|
14203
|
+
padding: "0 A 0 B1+X"
|
|
14204
|
+
},
|
|
14205
|
+
attr: { name: "avatar-chooser", id: "avatar-chooser" },
|
|
14206
|
+
childExtend: { tag: "option", text: ({ state }) => state.text },
|
|
14207
|
+
$setCollection: ({ parent }) => parent.props.options,
|
|
14208
|
+
on: {
|
|
14209
|
+
change: (ev, { parent }) => {
|
|
14210
|
+
parent.user.update({ key: ev.target.value });
|
|
14211
|
+
}
|
|
14212
|
+
}
|
|
14213
|
+
}
|
|
14214
|
+
};
|
|
14215
|
+
|
|
14172
14216
|
// ButtonSet/index.js
|
|
14173
14217
|
var ButtonSet = {
|
|
14174
14218
|
tag: "nav",
|
|
@@ -14361,10 +14405,7 @@ var DatePickerMonthsSlider = {
|
|
|
14361
14405
|
}
|
|
14362
14406
|
}
|
|
14363
14407
|
},
|
|
14364
|
-
|
|
14365
|
-
extend: Button,
|
|
14366
|
-
props: { icon: "arrowLeft" }
|
|
14367
|
-
},
|
|
14408
|
+
Button_left: { icon: "arrowLeft" },
|
|
14368
14409
|
Flex: {
|
|
14369
14410
|
props: {
|
|
14370
14411
|
flex: "1",
|
|
@@ -14408,7 +14449,7 @@ var DatePickerMonthsSlider = {
|
|
|
14408
14449
|
];
|
|
14409
14450
|
}
|
|
14410
14451
|
},
|
|
14411
|
-
|
|
14452
|
+
Button_right: { icon: "arrowRight" }
|
|
14412
14453
|
};
|
|
14413
14454
|
var DatePickerWeekDays = {
|
|
14414
14455
|
extend: Grid,
|
|
@@ -14567,64 +14608,32 @@ var DatePicker = {
|
|
|
14567
14608
|
};
|
|
14568
14609
|
var DatePickerTwoColumns = {
|
|
14569
14610
|
extend: DatePicker,
|
|
14611
|
+
DatePickerYears: {},
|
|
14570
14612
|
Flex: {
|
|
14571
14613
|
DatePickerMonthsSlider: {
|
|
14572
|
-
|
|
14614
|
+
props: {
|
|
14615
|
+
maxWidth: `${544 / 16}em`
|
|
14616
|
+
}
|
|
14573
14617
|
},
|
|
14574
14618
|
DatePickerWeekDays: {
|
|
14575
|
-
|
|
14619
|
+
props: {
|
|
14620
|
+
maxWidth: `${544 / 16}em`
|
|
14621
|
+
}
|
|
14576
14622
|
},
|
|
14577
14623
|
monthNumbersContainer: {
|
|
14578
|
-
|
|
14624
|
+
props: {
|
|
14625
|
+
maxWidth: `${544 / 16}em`
|
|
14626
|
+
}
|
|
14579
14627
|
}
|
|
14580
14628
|
}
|
|
14581
14629
|
};
|
|
14582
14630
|
|
|
14583
|
-
// Input/index.js
|
|
14584
|
-
var Input = {
|
|
14585
|
-
extend: [Focusable],
|
|
14586
|
-
tag: "input",
|
|
14587
|
-
props: {
|
|
14588
|
-
border: "none",
|
|
14589
|
-
type: "input",
|
|
14590
|
-
theme: "quaternary",
|
|
14591
|
-
fontSize: "A",
|
|
14592
|
-
round: "C",
|
|
14593
|
-
lineHeight: 1,
|
|
14594
|
-
fontFamily: "smbls",
|
|
14595
|
-
padding: "Z A"
|
|
14596
|
-
},
|
|
14597
|
-
attr: {
|
|
14598
|
-
pattern: ({ props: props7 }) => props7.pattern,
|
|
14599
|
-
minlength: ({ props: props7 }) => props7.minlength,
|
|
14600
|
-
maxlength: ({ props: props7 }) => props7.maxlength,
|
|
14601
|
-
name: ({ props: props7 }) => props7.name,
|
|
14602
|
-
autocomplete: ({ props: props7 }) => props7.autocomplete,
|
|
14603
|
-
placeholder: ({ props: props7 }) => props7.placeholder,
|
|
14604
|
-
value: ({ props: props7, state }) => props7.value,
|
|
14605
|
-
disabled: ({ props: props7 }) => props7.disabled || null,
|
|
14606
|
-
readonly: ({ props: props7 }) => props7.readonly,
|
|
14607
|
-
required: ({ props: props7 }) => props7.required,
|
|
14608
|
-
type: ({ props: props7 }) => props7.type
|
|
14609
|
-
}
|
|
14610
|
-
};
|
|
14611
|
-
|
|
14612
14631
|
// TimePicker/TimePickerItem.js
|
|
14613
14632
|
var props2 = {
|
|
14614
14633
|
align: "center center",
|
|
14615
14634
|
flow: "column",
|
|
14616
14635
|
gap: "X",
|
|
14617
14636
|
style: {
|
|
14618
|
-
"input[type=number]::-webkit-inner-spin-button": {
|
|
14619
|
-
"-webkit-appearance": "none",
|
|
14620
|
-
margin: 0
|
|
14621
|
-
},
|
|
14622
|
-
"input[type=number]::-webkit-outer-spin-button": {
|
|
14623
|
-
"-webkit-appearance": "none",
|
|
14624
|
-
margin: 0
|
|
14625
|
-
},
|
|
14626
|
-
"input[type=number]": { "-webkit-appearance": "textfield" },
|
|
14627
|
-
"input:focus < button": { border: "3px solid red" },
|
|
14628
14637
|
"> button": {
|
|
14629
14638
|
padding: "0",
|
|
14630
14639
|
background: "transparent",
|
|
@@ -14632,50 +14641,130 @@ var props2 = {
|
|
|
14632
14641
|
fontSize: `${12 / 16}em`,
|
|
14633
14642
|
display: "none"
|
|
14634
14643
|
}
|
|
14635
|
-
},
|
|
14636
|
-
input: {
|
|
14637
|
-
boxSize: "C C",
|
|
14638
|
-
round: "Z",
|
|
14639
|
-
padding: "0",
|
|
14640
|
-
align: "center center",
|
|
14641
|
-
textAlign: "center",
|
|
14642
|
-
color: "white",
|
|
14643
|
-
background: "white .15"
|
|
14644
14644
|
}
|
|
14645
14645
|
};
|
|
14646
14646
|
var TimePickerItem = {
|
|
14647
14647
|
tag: "label",
|
|
14648
14648
|
extend: Flex,
|
|
14649
14649
|
props: props2,
|
|
14650
|
-
|
|
14651
|
-
|
|
14652
|
-
|
|
14650
|
+
Button_plus: { icon: "plus" },
|
|
14651
|
+
NumberInput: {
|
|
14652
|
+
boxSize: "C C",
|
|
14653
|
+
round: "Z",
|
|
14654
|
+
padding: "0",
|
|
14655
|
+
align: "center center",
|
|
14656
|
+
textAlign: "center",
|
|
14657
|
+
min: 0,
|
|
14658
|
+
max: 24,
|
|
14659
|
+
placeholder: "00",
|
|
14660
|
+
appearance: "textfield",
|
|
14661
|
+
theme: "secondary",
|
|
14662
|
+
"::-webkit-inner-spin-button": {
|
|
14663
|
+
style: { appearance: "none" },
|
|
14664
|
+
margin: 0
|
|
14665
|
+
},
|
|
14666
|
+
"::-webkit-outer-spin-button": {
|
|
14667
|
+
style: { appearance: "none" },
|
|
14668
|
+
margin: 0
|
|
14669
|
+
}
|
|
14670
|
+
},
|
|
14671
|
+
Button_minus: { icon: "minus" }
|
|
14653
14672
|
};
|
|
14654
14673
|
|
|
14655
|
-
// TimePicker/
|
|
14674
|
+
// TimePicker/TimeSwitcher.js
|
|
14656
14675
|
var props3 = {
|
|
14676
|
+
boxSize: "C B2",
|
|
14657
14677
|
flow: "column",
|
|
14658
|
-
|
|
14659
|
-
background: "rgba(255, 255, 255, .15)",
|
|
14660
|
-
padding: "A A B A",
|
|
14678
|
+
overflow: "hidden",
|
|
14661
14679
|
round: "Z",
|
|
14662
|
-
|
|
14680
|
+
theme: "secondary"
|
|
14681
|
+
};
|
|
14682
|
+
var TimeSwitcher = {
|
|
14683
|
+
props: props3,
|
|
14684
|
+
extend: Flex,
|
|
14685
|
+
childExtend: {
|
|
14686
|
+
extend: Button,
|
|
14687
|
+
props: ({ state, key }) => ({
|
|
14688
|
+
active: state.activeShift === key,
|
|
14689
|
+
padding: "0",
|
|
14690
|
+
flex: "1",
|
|
14691
|
+
width: "100%",
|
|
14692
|
+
fontSize: "Y",
|
|
14693
|
+
textTransform: "uppercase",
|
|
14694
|
+
round: "0",
|
|
14695
|
+
background: "transparent",
|
|
14696
|
+
color: "currentColor",
|
|
14697
|
+
lineHeight: "1",
|
|
14698
|
+
".active": { theme: "primary" }
|
|
14699
|
+
}),
|
|
14700
|
+
on: {
|
|
14701
|
+
click: (event, element, state) => {
|
|
14702
|
+
state.update({ activeShift: element.key });
|
|
14703
|
+
}
|
|
14704
|
+
}
|
|
14705
|
+
},
|
|
14706
|
+
am: { text: "am" },
|
|
14707
|
+
pm: { text: "pm" }
|
|
14708
|
+
};
|
|
14709
|
+
|
|
14710
|
+
// TimePicker/index.js
|
|
14711
|
+
var TimePicker = {
|
|
14712
|
+
extend: [Dialog, Flex],
|
|
14713
|
+
state: {
|
|
14714
|
+
activeShift: "am"
|
|
14715
|
+
},
|
|
14716
|
+
props: {
|
|
14717
|
+
flow: "column",
|
|
14718
|
+
width: "fit-content",
|
|
14719
|
+
padding: "Z A"
|
|
14720
|
+
},
|
|
14721
|
+
Title: {
|
|
14663
14722
|
fontSize: "Z1",
|
|
14664
14723
|
textTransform: "capitalize",
|
|
14665
|
-
padding: "- -
|
|
14724
|
+
padding: "- - A -",
|
|
14725
|
+
text: "enter time"
|
|
14666
14726
|
},
|
|
14667
|
-
|
|
14668
|
-
|
|
14669
|
-
gap: "A",
|
|
14670
|
-
timePickers: {
|
|
14727
|
+
Flex: {
|
|
14728
|
+
props: {
|
|
14671
14729
|
align: "center center",
|
|
14672
|
-
gap: "
|
|
14673
|
-
}
|
|
14730
|
+
gap: "A"
|
|
14731
|
+
},
|
|
14732
|
+
Flex: {
|
|
14733
|
+
tag: "label",
|
|
14734
|
+
props: {
|
|
14735
|
+
align: "center center",
|
|
14736
|
+
gap: "Y2"
|
|
14737
|
+
},
|
|
14738
|
+
TimePickerItem_hh: {
|
|
14739
|
+
NumberInput: {
|
|
14740
|
+
placeholder: "HH",
|
|
14741
|
+
min: "0",
|
|
14742
|
+
max: "11"
|
|
14743
|
+
}
|
|
14744
|
+
},
|
|
14745
|
+
Span: ":",
|
|
14746
|
+
TimePickerItem_mm: {
|
|
14747
|
+
NumberInput: {
|
|
14748
|
+
placeholder: "MM",
|
|
14749
|
+
min: "0",
|
|
14750
|
+
max: "59"
|
|
14751
|
+
}
|
|
14752
|
+
},
|
|
14753
|
+
Span_2: ":",
|
|
14754
|
+
TimePickerItem_ss: {
|
|
14755
|
+
NumberInput: {
|
|
14756
|
+
placeholder: "SS",
|
|
14757
|
+
min: "0",
|
|
14758
|
+
max: "59"
|
|
14759
|
+
}
|
|
14760
|
+
}
|
|
14761
|
+
},
|
|
14762
|
+
TimeSwitcher: {}
|
|
14674
14763
|
},
|
|
14675
|
-
|
|
14764
|
+
DialogFooter: {
|
|
14676
14765
|
align: "center flex-end",
|
|
14677
|
-
gap: "
|
|
14678
|
-
|
|
14766
|
+
gap: "X",
|
|
14767
|
+
margin: "Z2 -Z2 -Z",
|
|
14679
14768
|
childProps: {
|
|
14680
14769
|
background: "transparent",
|
|
14681
14770
|
padding: "0",
|
|
@@ -14683,27 +14772,6 @@ var props3 = {
|
|
|
14683
14772
|
}
|
|
14684
14773
|
}
|
|
14685
14774
|
};
|
|
14686
|
-
var TimePicker = {
|
|
14687
|
-
extend: [Dialog, Flex],
|
|
14688
|
-
props: props3,
|
|
14689
|
-
title: { text: "enter time" },
|
|
14690
|
-
content: {
|
|
14691
|
-
extend: Flex,
|
|
14692
|
-
timePickers: {
|
|
14693
|
-
tag: "label",
|
|
14694
|
-
extend: Flex,
|
|
14695
|
-
...[
|
|
14696
|
-
{ extend: TimePickerItem },
|
|
14697
|
-
":",
|
|
14698
|
-
{ extend: TimePickerItem },
|
|
14699
|
-
":",
|
|
14700
|
-
{ extend: TimePickerItem }
|
|
14701
|
-
]
|
|
14702
|
-
},
|
|
14703
|
-
TimeSwitcher: {}
|
|
14704
|
-
},
|
|
14705
|
-
DialogFooter: {}
|
|
14706
|
-
};
|
|
14707
14775
|
|
|
14708
14776
|
// Dropdown/index.js
|
|
14709
14777
|
var DropdownList = {
|
|
@@ -15027,6 +15095,46 @@ var RouteLink = {
|
|
|
15027
15095
|
extend: [Link, RouterLink]
|
|
15028
15096
|
};
|
|
15029
15097
|
|
|
15098
|
+
// Input/index.js
|
|
15099
|
+
var Input = {
|
|
15100
|
+
extend: [Focusable],
|
|
15101
|
+
tag: "input",
|
|
15102
|
+
props: {
|
|
15103
|
+
border: "none",
|
|
15104
|
+
type: "input",
|
|
15105
|
+
theme: "quaternary",
|
|
15106
|
+
fontSize: "A",
|
|
15107
|
+
round: "C",
|
|
15108
|
+
lineHeight: 1,
|
|
15109
|
+
fontFamily: "smbls",
|
|
15110
|
+
padding: "Z A"
|
|
15111
|
+
},
|
|
15112
|
+
attr: {
|
|
15113
|
+
pattern: ({ props: props7 }) => props7.pattern,
|
|
15114
|
+
minlength: ({ props: props7 }) => props7.minlength,
|
|
15115
|
+
maxlength: ({ props: props7 }) => props7.maxlength,
|
|
15116
|
+
name: ({ props: props7 }) => props7.name,
|
|
15117
|
+
autocomplete: ({ props: props7 }) => props7.autocomplete,
|
|
15118
|
+
placeholder: ({ props: props7 }) => props7.placeholder,
|
|
15119
|
+
value: ({ props: props7, state }) => props7.value,
|
|
15120
|
+
disabled: ({ props: props7 }) => props7.disabled || null,
|
|
15121
|
+
readonly: ({ props: props7 }) => props7.readonly,
|
|
15122
|
+
required: ({ props: props7 }) => props7.required,
|
|
15123
|
+
type: ({ props: props7 }) => props7.type
|
|
15124
|
+
}
|
|
15125
|
+
};
|
|
15126
|
+
var NumberInput = {
|
|
15127
|
+
extend: Input,
|
|
15128
|
+
props: {
|
|
15129
|
+
type: "number"
|
|
15130
|
+
},
|
|
15131
|
+
attr: {
|
|
15132
|
+
step: ({ props: props7 }) => props7.step,
|
|
15133
|
+
min: ({ props: props7 }) => props7.min,
|
|
15134
|
+
max: ({ props: props7 }) => props7.max
|
|
15135
|
+
}
|
|
15136
|
+
};
|
|
15137
|
+
|
|
15030
15138
|
// Field/node_modules/@symbo.ls/atoms/Block.js
|
|
15031
15139
|
var import_scratch10 = __toESM(require_cjs());
|
|
15032
15140
|
|
|
@@ -15645,21 +15753,19 @@ var Label = {
|
|
|
15645
15753
|
// Pills/index.js
|
|
15646
15754
|
var Pills = {
|
|
15647
15755
|
extend: Flex,
|
|
15648
|
-
props:
|
|
15649
|
-
|
|
15650
|
-
|
|
15651
|
-
|
|
15652
|
-
|
|
15653
|
-
|
|
15654
|
-
|
|
15756
|
+
props: {
|
|
15757
|
+
gap: "Y2"
|
|
15758
|
+
},
|
|
15759
|
+
childExtend: {
|
|
15760
|
+
props: (el, s) => ({
|
|
15761
|
+
active: parseInt(el.key) === (el.parent.props.active || s.active),
|
|
15762
|
+
theme: "tertiary",
|
|
15763
|
+
boxSize: "Y2",
|
|
15655
15764
|
round: "A",
|
|
15656
15765
|
".active": {
|
|
15657
|
-
|
|
15766
|
+
theme: "primary"
|
|
15658
15767
|
}
|
|
15659
|
-
}
|
|
15660
|
-
}),
|
|
15661
|
-
childExtend: {
|
|
15662
|
-
props: (el, s) => ({ active: parseInt(el.key) === s.active })
|
|
15768
|
+
})
|
|
15663
15769
|
}
|
|
15664
15770
|
};
|
|
15665
15771
|
|