@terpjs/contract 0.6.1 → 0.8.0
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/package.json +3 -2
- package/scripts/build-tokens.mjs +160 -25
- package/src/css-rules.js +107 -0
- package/src/css-rules.test.js +110 -0
- package/src/tokens.contrast.test.js +395 -0
- package/src/tokens.css +293 -14
- package/src/tokens.manifest.json +1416 -0
- package/src/tokens.manifest.test.js +166 -0
- package/src/tokens.themes.test.js +177 -0
- package/themes.json +43 -0
- package/token-pairs.json +252 -0
- package/tokens.contrast.json +70 -0
- package/tokens.dark.json +40 -4
- package/tokens.json +115 -7
- package/tokens.midnight.json +70 -0
- package/tokens.twilight.json +70 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"color": {
|
|
3
|
+
"brand": {
|
|
4
|
+
"primary": { "value": "#0842a0" },
|
|
5
|
+
"primaryContrast": { "value": "#ffffff" },
|
|
6
|
+
"primaryHover": { "value": "#05275a" },
|
|
7
|
+
"primarySoft": { "value": "#e8f0fe" }
|
|
8
|
+
},
|
|
9
|
+
"neutral": {
|
|
10
|
+
"0": { "value": "#ffffff" },
|
|
11
|
+
"50": { "value": "#ffffff" },
|
|
12
|
+
"100": { "value": "#f2f2f2" },
|
|
13
|
+
"200": { "value": "#595959" },
|
|
14
|
+
"300": { "value": "#404040" },
|
|
15
|
+
"400": { "value": "#303030" },
|
|
16
|
+
"500": { "value": "#1f1f1f" },
|
|
17
|
+
"600": { "value": "#141414" },
|
|
18
|
+
"700": { "value": "#0a0a0a" },
|
|
19
|
+
"800": { "value": "#000000" },
|
|
20
|
+
"900": { "value": "#000000" }
|
|
21
|
+
},
|
|
22
|
+
"status": {
|
|
23
|
+
"success": { "value": "#0a5c2b" },
|
|
24
|
+
"successSoft": { "value": "#e6f4ea" },
|
|
25
|
+
"warning": { "value": "#6b3800" },
|
|
26
|
+
"warningSoft": { "value": "#fdf1e0" },
|
|
27
|
+
"danger": { "value": "#96000c" },
|
|
28
|
+
"dangerSoft": { "value": "#fce8e8" },
|
|
29
|
+
"info": { "value": "#0b4a8f" },
|
|
30
|
+
"infoSoft": { "value": "#e5f0fb" }
|
|
31
|
+
},
|
|
32
|
+
"focusRing": { "value": "rgba(8,66,160,0.7)" },
|
|
33
|
+
"bg": {
|
|
34
|
+
"canvas": { "value": "#ffffff" },
|
|
35
|
+
"surface": { "value": "#ffffff" },
|
|
36
|
+
"raised": { "value": "#ffffff" },
|
|
37
|
+
"inset": { "value": "#f2f2f2" }
|
|
38
|
+
},
|
|
39
|
+
"fg": {
|
|
40
|
+
"default": { "value": "#000000" },
|
|
41
|
+
"muted": { "value": "#141414" },
|
|
42
|
+
"subtle": { "value": "#1f1f1f" },
|
|
43
|
+
"accent": { "value": "#0842a0" }
|
|
44
|
+
},
|
|
45
|
+
"border": {
|
|
46
|
+
"default": { "value": "#595959" },
|
|
47
|
+
"strong": { "value": "#000000" },
|
|
48
|
+
"subtle": { "value": "#767676" }
|
|
49
|
+
},
|
|
50
|
+
"interactive": {
|
|
51
|
+
"hover": { "value": "#f2f2f2" },
|
|
52
|
+
"active": { "value": "#e0e0e0" },
|
|
53
|
+
"selected": { "value": "#e8f0fe" }
|
|
54
|
+
},
|
|
55
|
+
"sidebar": {
|
|
56
|
+
"bg": { "value": "#ffffff" },
|
|
57
|
+
"fg": { "value": "#000000" },
|
|
58
|
+
"muted": { "value": "#141414" },
|
|
59
|
+
"accent": { "value": "#e8f0fe" },
|
|
60
|
+
"border": { "value": "#595959" }
|
|
61
|
+
},
|
|
62
|
+
"chart": {
|
|
63
|
+
"1": { "value": "#0842a0" },
|
|
64
|
+
"2": { "value": "#00564a" },
|
|
65
|
+
"3": { "value": "#6b3800" },
|
|
66
|
+
"4": { "value": "#4b1f79" },
|
|
67
|
+
"5": { "value": "#8c0a4d" }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
package/tokens.dark.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"color": {
|
|
3
3
|
"brand": {
|
|
4
|
-
"primary": { "value": "#
|
|
4
|
+
"primary": { "value": "#1d4ed8" },
|
|
5
5
|
"primaryContrast": { "value": "#ffffff" },
|
|
6
|
-
"primaryHover": { "value": "#
|
|
7
|
-
"primarySoft": { "value": "#
|
|
6
|
+
"primaryHover": { "value": "#2563eb" },
|
|
7
|
+
"primarySoft": { "value": "#15304e" }
|
|
8
8
|
},
|
|
9
9
|
"neutral": {
|
|
10
10
|
"0": { "value": "#1e293b" },
|
|
@@ -29,6 +29,42 @@
|
|
|
29
29
|
"info": { "value": "#38bdf8" },
|
|
30
30
|
"infoSoft": { "value": "#12303f" }
|
|
31
31
|
},
|
|
32
|
-
"focusRing": { "value": "rgba(96,165,250,0.45)" }
|
|
32
|
+
"focusRing": { "value": "rgba(96,165,250,0.45)" },
|
|
33
|
+
"bg": {
|
|
34
|
+
"canvas": { "value": "#0f172a" },
|
|
35
|
+
"surface": { "value": "#1e293b" },
|
|
36
|
+
"raised": { "value": "#263449" },
|
|
37
|
+
"inset": { "value": "#0f172a" }
|
|
38
|
+
},
|
|
39
|
+
"fg": {
|
|
40
|
+
"default": { "value": "#f1f5f9" },
|
|
41
|
+
"muted": { "value": "#b4c0d0" },
|
|
42
|
+
"subtle": { "value": "#94a3b8" },
|
|
43
|
+
"accent": { "value": "#60a5fa" }
|
|
44
|
+
},
|
|
45
|
+
"border": {
|
|
46
|
+
"default": { "value": "#334155" },
|
|
47
|
+
"strong": { "value": "#475569" },
|
|
48
|
+
"subtle": { "value": "#263449" }
|
|
49
|
+
},
|
|
50
|
+
"interactive": {
|
|
51
|
+
"hover": { "value": "#263449" },
|
|
52
|
+
"active": { "value": "#334155" },
|
|
53
|
+
"selected": { "value": "#15304e" }
|
|
54
|
+
},
|
|
55
|
+
"sidebar": {
|
|
56
|
+
"bg": { "value": "#1e293b" },
|
|
57
|
+
"fg": { "value": "#f1f5f9" },
|
|
58
|
+
"muted": { "value": "#b4c0d0" },
|
|
59
|
+
"accent": { "value": "#334155" },
|
|
60
|
+
"border": { "value": "#334155" }
|
|
61
|
+
},
|
|
62
|
+
"chart": {
|
|
63
|
+
"1": { "value": "#60a5fa" },
|
|
64
|
+
"2": { "value": "#2dd4bf" },
|
|
65
|
+
"3": { "value": "#fbbf24" },
|
|
66
|
+
"4": { "value": "#a78bfa" },
|
|
67
|
+
"5": { "value": "#f472b6" }
|
|
68
|
+
}
|
|
33
69
|
}
|
|
34
70
|
}
|
package/tokens.json
CHANGED
|
@@ -20,16 +20,52 @@
|
|
|
20
20
|
"900": { "value": "#0f172a" }
|
|
21
21
|
},
|
|
22
22
|
"status": {
|
|
23
|
-
"success": { "value": "#
|
|
23
|
+
"success": { "value": "#15803d" },
|
|
24
24
|
"successSoft": { "value": "#f0fdf4" },
|
|
25
|
-
"warning": { "value": "#
|
|
25
|
+
"warning": { "value": "#b45309" },
|
|
26
26
|
"warningSoft": { "value": "#fffbeb" },
|
|
27
|
-
"danger": { "value": "#
|
|
27
|
+
"danger": { "value": "#b91c1c" },
|
|
28
28
|
"dangerSoft": { "value": "#fef2f2" },
|
|
29
|
-
"info": { "value": "#
|
|
29
|
+
"info": { "value": "#0369a1" },
|
|
30
30
|
"infoSoft": { "value": "#f0f9ff" }
|
|
31
31
|
},
|
|
32
|
-
"focusRing": { "value": "rgba(37,99,235,0.35)" }
|
|
32
|
+
"focusRing": { "value": "rgba(37,99,235,0.35)" },
|
|
33
|
+
"bg": {
|
|
34
|
+
"canvas": { "value": "#f8fafc" },
|
|
35
|
+
"surface": { "value": "#ffffff" },
|
|
36
|
+
"raised": { "value": "#ffffff" },
|
|
37
|
+
"inset": { "value": "#f1f5f9" }
|
|
38
|
+
},
|
|
39
|
+
"fg": {
|
|
40
|
+
"default": { "value": "#0f172a" },
|
|
41
|
+
"muted": { "value": "#475569" },
|
|
42
|
+
"subtle": { "value": "#64748b" },
|
|
43
|
+
"accent": { "value": "#1d4ed8" }
|
|
44
|
+
},
|
|
45
|
+
"border": {
|
|
46
|
+
"default": { "value": "#e2e8f0" },
|
|
47
|
+
"strong": { "value": "#cbd5e1" },
|
|
48
|
+
"subtle": { "value": "#f1f5f9" }
|
|
49
|
+
},
|
|
50
|
+
"interactive": {
|
|
51
|
+
"hover": { "value": "#f1f5f9" },
|
|
52
|
+
"active": { "value": "#e2e8f0" },
|
|
53
|
+
"selected": { "value": "#eff6ff" }
|
|
54
|
+
},
|
|
55
|
+
"sidebar": {
|
|
56
|
+
"bg": { "value": "#f8fafc" },
|
|
57
|
+
"fg": { "value": "#0f172a" },
|
|
58
|
+
"muted": { "value": "#475569" },
|
|
59
|
+
"accent": { "value": "#f1f5f9" },
|
|
60
|
+
"border": { "value": "#e2e8f0" }
|
|
61
|
+
},
|
|
62
|
+
"chart": {
|
|
63
|
+
"1": { "value": "#2563eb" },
|
|
64
|
+
"2": { "value": "#0d9488" },
|
|
65
|
+
"3": { "value": "#d97706" },
|
|
66
|
+
"4": { "value": "#7c3aed" },
|
|
67
|
+
"5": { "value": "#db2777" }
|
|
68
|
+
}
|
|
33
69
|
},
|
|
34
70
|
"shadow": {
|
|
35
71
|
"sm": { "value": "0 1px 2px rgb(15 23 42 / 0.06)" },
|
|
@@ -42,15 +78,73 @@
|
|
|
42
78
|
"2": { "value": "0.5rem" },
|
|
43
79
|
"3": { "value": "0.75rem" },
|
|
44
80
|
"4": { "value": "1rem" },
|
|
81
|
+
"5": { "value": "1.25rem" },
|
|
45
82
|
"6": { "value": "1.5rem" },
|
|
46
|
-
"
|
|
83
|
+
"7": { "value": "1.75rem" },
|
|
84
|
+
"8": { "value": "2rem" },
|
|
85
|
+
"10": { "value": "2.5rem" },
|
|
86
|
+
"12": { "value": "3rem" },
|
|
87
|
+
"16": { "value": "4rem" },
|
|
88
|
+
"20": { "value": "5rem" }
|
|
89
|
+
},
|
|
90
|
+
"density": {
|
|
91
|
+
"control": {
|
|
92
|
+
"minHeight": { "value": "2.25rem" }
|
|
93
|
+
},
|
|
94
|
+
"cell": {
|
|
95
|
+
"padY": { "value": "0.75rem" },
|
|
96
|
+
"padX": { "value": "0.75rem" }
|
|
97
|
+
},
|
|
98
|
+
"compact": {
|
|
99
|
+
"control": {
|
|
100
|
+
"minHeight": { "value": "2rem" }
|
|
101
|
+
},
|
|
102
|
+
"cell": {
|
|
103
|
+
"padY": { "value": "0.5rem" },
|
|
104
|
+
"padX": { "value": "0.5rem" }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
47
107
|
},
|
|
48
108
|
"radius": {
|
|
49
109
|
"sm": { "value": "0.25rem" },
|
|
50
110
|
"md": { "value": "0.5rem" },
|
|
51
111
|
"lg": { "value": "0.75rem" },
|
|
112
|
+
"xl": { "value": "1rem" },
|
|
52
113
|
"full": { "value": "9999px" }
|
|
53
114
|
},
|
|
115
|
+
"borderWidth": {
|
|
116
|
+
"thin": { "value": "1px" },
|
|
117
|
+
"base": { "value": "2px" },
|
|
118
|
+
"thick": { "value": "3px" }
|
|
119
|
+
},
|
|
120
|
+
"zIndex": {
|
|
121
|
+
"base": { "value": "0" },
|
|
122
|
+
"sticky": { "value": "30" },
|
|
123
|
+
"backdrop": { "value": "40" },
|
|
124
|
+
"drawer": { "value": "50" },
|
|
125
|
+
"popover": { "value": "60" },
|
|
126
|
+
"tooltip": { "value": "70" },
|
|
127
|
+
"toast": { "value": "100" }
|
|
128
|
+
},
|
|
129
|
+
"breakpoint": {
|
|
130
|
+
"sm": { "value": "480px" },
|
|
131
|
+
"md": { "value": "768px" },
|
|
132
|
+
"lg": { "value": "1024px" },
|
|
133
|
+
"xl": { "value": "1280px" }
|
|
134
|
+
},
|
|
135
|
+
"motion": {
|
|
136
|
+
"duration": {
|
|
137
|
+
"instant": { "value": "100ms" },
|
|
138
|
+
"fast": { "value": "150ms" },
|
|
139
|
+
"base": { "value": "250ms" },
|
|
140
|
+
"slow": { "value": "400ms" }
|
|
141
|
+
},
|
|
142
|
+
"easing": {
|
|
143
|
+
"standard": { "value": "ease" },
|
|
144
|
+
"entrance": { "value": "cubic-bezier(0, 0, 0.2, 1)" },
|
|
145
|
+
"exit": { "value": "cubic-bezier(0.4, 0, 1, 1)" }
|
|
146
|
+
}
|
|
147
|
+
},
|
|
54
148
|
"font": {
|
|
55
149
|
"family": {
|
|
56
150
|
"sans": { "value": "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" },
|
|
@@ -61,13 +155,27 @@
|
|
|
61
155
|
"sm": { "value": "0.875rem" },
|
|
62
156
|
"base": { "value": "1rem" },
|
|
63
157
|
"lg": { "value": "1.125rem" },
|
|
64
|
-
"xl": { "value": "1.5rem" }
|
|
158
|
+
"xl": { "value": "1.5rem" },
|
|
159
|
+
"2xl": { "value": "1.875rem" },
|
|
160
|
+
"3xl": { "value": "2.25rem" },
|
|
161
|
+
"display": { "value": "3rem" }
|
|
65
162
|
},
|
|
66
163
|
"weight": {
|
|
67
164
|
"normal": { "value": "400" },
|
|
68
165
|
"medium": { "value": "500" },
|
|
69
166
|
"semibold": { "value": "600" },
|
|
70
167
|
"bold": { "value": "700" }
|
|
168
|
+
},
|
|
169
|
+
"lineHeight": {
|
|
170
|
+
"tight": { "value": "1.2" },
|
|
171
|
+
"snug": { "value": "1.35" },
|
|
172
|
+
"base": { "value": "1.5" },
|
|
173
|
+
"relaxed": { "value": "1.7" }
|
|
174
|
+
},
|
|
175
|
+
"letterSpacing": {
|
|
176
|
+
"tight": { "value": "-0.02em" },
|
|
177
|
+
"base": { "value": "0" },
|
|
178
|
+
"wide": { "value": "0.08em" }
|
|
71
179
|
}
|
|
72
180
|
}
|
|
73
181
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"color": {
|
|
3
|
+
"brand": {
|
|
4
|
+
"primary": { "value": "#0b4ea8" },
|
|
5
|
+
"primaryContrast": { "value": "#ffffff" },
|
|
6
|
+
"primaryHover": { "value": "#1158c7" },
|
|
7
|
+
"primarySoft": { "value": "#0c2d6b" }
|
|
8
|
+
},
|
|
9
|
+
"neutral": {
|
|
10
|
+
"0": { "value": "#0d1117" },
|
|
11
|
+
"50": { "value": "#010409" },
|
|
12
|
+
"100": { "value": "#161b22" },
|
|
13
|
+
"200": { "value": "#21262d" },
|
|
14
|
+
"300": { "value": "#30363d" },
|
|
15
|
+
"400": { "value": "#484f58" },
|
|
16
|
+
"500": { "value": "#7d8590" },
|
|
17
|
+
"600": { "value": "#9aa4b2" },
|
|
18
|
+
"700": { "value": "#c9d1d9" },
|
|
19
|
+
"800": { "value": "#e6edf3" },
|
|
20
|
+
"900": { "value": "#f0f6fc" }
|
|
21
|
+
},
|
|
22
|
+
"status": {
|
|
23
|
+
"success": { "value": "#3fb950" },
|
|
24
|
+
"successSoft": { "value": "#0c2417" },
|
|
25
|
+
"warning": { "value": "#d29922" },
|
|
26
|
+
"warningSoft": { "value": "#271a06" },
|
|
27
|
+
"danger": { "value": "#f85149" },
|
|
28
|
+
"dangerSoft": { "value": "#2b0d0d" },
|
|
29
|
+
"info": { "value": "#58a6ff" },
|
|
30
|
+
"infoSoft": { "value": "#0b2545" }
|
|
31
|
+
},
|
|
32
|
+
"focusRing": { "value": "rgba(88,166,255,0.5)" },
|
|
33
|
+
"bg": {
|
|
34
|
+
"canvas": { "value": "#010409" },
|
|
35
|
+
"surface": { "value": "#0d1117" },
|
|
36
|
+
"raised": { "value": "#161b22" },
|
|
37
|
+
"inset": { "value": "#010409" }
|
|
38
|
+
},
|
|
39
|
+
"fg": {
|
|
40
|
+
"default": { "value": "#f0f6fc" },
|
|
41
|
+
"muted": { "value": "#9aa4b2" },
|
|
42
|
+
"subtle": { "value": "#8b949e" },
|
|
43
|
+
"accent": { "value": "#58a6ff" }
|
|
44
|
+
},
|
|
45
|
+
"border": {
|
|
46
|
+
"default": { "value": "#30363d" },
|
|
47
|
+
"strong": { "value": "#484f58" },
|
|
48
|
+
"subtle": { "value": "#21262d" }
|
|
49
|
+
},
|
|
50
|
+
"interactive": {
|
|
51
|
+
"hover": { "value": "#161b22" },
|
|
52
|
+
"active": { "value": "#21262d" },
|
|
53
|
+
"selected": { "value": "#0c2d6b" }
|
|
54
|
+
},
|
|
55
|
+
"sidebar": {
|
|
56
|
+
"bg": { "value": "#0d1117" },
|
|
57
|
+
"fg": { "value": "#f0f6fc" },
|
|
58
|
+
"muted": { "value": "#9aa4b2" },
|
|
59
|
+
"accent": { "value": "#21262d" },
|
|
60
|
+
"border": { "value": "#21262d" }
|
|
61
|
+
},
|
|
62
|
+
"chart": {
|
|
63
|
+
"1": { "value": "#58a6ff" },
|
|
64
|
+
"2": { "value": "#3fb950" },
|
|
65
|
+
"3": { "value": "#d29922" },
|
|
66
|
+
"4": { "value": "#bc8cff" },
|
|
67
|
+
"5": { "value": "#f778ba" }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"color": {
|
|
3
|
+
"brand": {
|
|
4
|
+
"primary": { "value": "#5b21b6" },
|
|
5
|
+
"primaryContrast": { "value": "#ffffff" },
|
|
6
|
+
"primaryHover": { "value": "#6d28d9" },
|
|
7
|
+
"primarySoft": { "value": "#2b2350" }
|
|
8
|
+
},
|
|
9
|
+
"neutral": {
|
|
10
|
+
"0": { "value": "#241f31" },
|
|
11
|
+
"50": { "value": "#1a1622" },
|
|
12
|
+
"100": { "value": "#2d2740" },
|
|
13
|
+
"200": { "value": "#3a3350" },
|
|
14
|
+
"300": { "value": "#4d4468" },
|
|
15
|
+
"400": { "value": "#6b5f8a" },
|
|
16
|
+
"500": { "value": "#9d90b8" },
|
|
17
|
+
"600": { "value": "#b9aecd" },
|
|
18
|
+
"700": { "value": "#d8d0e6" },
|
|
19
|
+
"800": { "value": "#ece7f3" },
|
|
20
|
+
"900": { "value": "#f6f3fa" }
|
|
21
|
+
},
|
|
22
|
+
"status": {
|
|
23
|
+
"success": { "value": "#5ed49a" },
|
|
24
|
+
"successSoft": { "value": "#14322a" },
|
|
25
|
+
"warning": { "value": "#e8b04b" },
|
|
26
|
+
"warningSoft": { "value": "#332612" },
|
|
27
|
+
"danger": { "value": "#f58a92" },
|
|
28
|
+
"dangerSoft": { "value": "#3a1a25" },
|
|
29
|
+
"info": { "value": "#7cb8f0" },
|
|
30
|
+
"infoSoft": { "value": "#1a2c44" }
|
|
31
|
+
},
|
|
32
|
+
"focusRing": { "value": "rgba(167,139,250,0.5)" },
|
|
33
|
+
"bg": {
|
|
34
|
+
"canvas": { "value": "#1a1622" },
|
|
35
|
+
"surface": { "value": "#241f31" },
|
|
36
|
+
"raised": { "value": "#2d2740" },
|
|
37
|
+
"inset": { "value": "#1a1622" }
|
|
38
|
+
},
|
|
39
|
+
"fg": {
|
|
40
|
+
"default": { "value": "#f6f3fa" },
|
|
41
|
+
"muted": { "value": "#b9aecd" },
|
|
42
|
+
"subtle": { "value": "#a294bd" },
|
|
43
|
+
"accent": { "value": "#a78bfa" }
|
|
44
|
+
},
|
|
45
|
+
"border": {
|
|
46
|
+
"default": { "value": "#3a3350" },
|
|
47
|
+
"strong": { "value": "#4d4468" },
|
|
48
|
+
"subtle": { "value": "#2d2740" }
|
|
49
|
+
},
|
|
50
|
+
"interactive": {
|
|
51
|
+
"hover": { "value": "#2d2740" },
|
|
52
|
+
"active": { "value": "#3a3350" },
|
|
53
|
+
"selected": { "value": "#2b2350" }
|
|
54
|
+
},
|
|
55
|
+
"sidebar": {
|
|
56
|
+
"bg": { "value": "#241f31" },
|
|
57
|
+
"fg": { "value": "#f6f3fa" },
|
|
58
|
+
"muted": { "value": "#b9aecd" },
|
|
59
|
+
"accent": { "value": "#3a3350" },
|
|
60
|
+
"border": { "value": "#3a3350" }
|
|
61
|
+
},
|
|
62
|
+
"chart": {
|
|
63
|
+
"1": { "value": "#a78bfa" },
|
|
64
|
+
"2": { "value": "#5ed49a" },
|
|
65
|
+
"3": { "value": "#e8b04b" },
|
|
66
|
+
"4": { "value": "#7cb8f0" },
|
|
67
|
+
"5": { "value": "#f58ac8" }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|