@cuvp1225/antd 0.2.74 → 0.2.76

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.
Files changed (199) hide show
  1. package/dist/designer.js +399 -25
  2. package/dist/index.js +386 -12
  3. package/lib/cjs/components/affix.d.ts +1 -0
  4. package/lib/cjs/components/affix.js +18 -0
  5. package/lib/cjs/components/alert.d.ts +3 -0
  6. package/lib/cjs/components/alert.js +32 -0
  7. package/lib/cjs/components/anchor.d.ts +3 -0
  8. package/lib/cjs/components/anchor.js +47 -0
  9. package/lib/cjs/components/auto-complete.d.ts +7 -0
  10. package/lib/cjs/components/auto-complete.js +34 -0
  11. package/lib/cjs/components/avatar.d.ts +3 -0
  12. package/lib/cjs/components/avatar.js +34 -0
  13. package/lib/cjs/components/badge.d.ts +3 -0
  14. package/lib/cjs/components/badge.js +37 -0
  15. package/lib/cjs/components/calendar.d.ts +3 -0
  16. package/lib/cjs/components/calendar.js +34 -0
  17. package/lib/cjs/components/card.d.ts +3 -0
  18. package/lib/cjs/components/card.js +34 -0
  19. package/lib/cjs/components/carousel.d.ts +3 -0
  20. package/lib/cjs/components/carousel.js +32 -0
  21. package/lib/cjs/components/checkbox.js +17 -3
  22. package/lib/cjs/components/collapse.d.ts +4 -2
  23. package/lib/cjs/components/collapse.js +25 -1
  24. package/lib/cjs/components/comment.d.ts +3 -0
  25. package/lib/cjs/components/comment.js +36 -0
  26. package/lib/cjs/components/date-picker.d.ts +1 -1
  27. package/lib/cjs/components/date-picker.js +23 -5
  28. package/lib/cjs/components/descriptions.d.ts +3 -0
  29. package/lib/cjs/components/descriptions.js +32 -0
  30. package/lib/cjs/components/divider.d.ts +3 -0
  31. package/lib/cjs/components/divider.js +34 -0
  32. package/lib/cjs/components/drawer.js +1 -2
  33. package/lib/cjs/components/empty.d.ts +3 -0
  34. package/lib/cjs/components/empty.js +34 -0
  35. package/lib/cjs/components/image.d.ts +3 -0
  36. package/lib/cjs/components/image.js +35 -0
  37. package/lib/cjs/components/index.d.ts +34 -0
  38. package/lib/cjs/components/index.js +71 -1
  39. package/lib/cjs/components/input-number.js +27 -24
  40. package/lib/cjs/components/mentions.d.ts +3 -0
  41. package/lib/cjs/components/mentions.js +34 -0
  42. package/lib/cjs/components/pageheader.d.ts +3 -0
  43. package/lib/cjs/components/pageheader.js +51 -0
  44. package/lib/cjs/components/pagination.d.ts +3 -0
  45. package/lib/cjs/components/pagination.js +34 -0
  46. package/lib/cjs/components/placeholder.js +9 -0
  47. package/lib/cjs/components/popconfirm.js +17 -26
  48. package/lib/cjs/components/popover.d.ts +3 -0
  49. package/lib/cjs/components/popover.js +41 -0
  50. package/lib/cjs/components/progress.d.ts +3 -0
  51. package/lib/cjs/components/progress.js +38 -0
  52. package/lib/cjs/components/radio.js +25 -8
  53. package/lib/cjs/components/rate.d.ts +3 -0
  54. package/lib/cjs/components/rate.js +51 -0
  55. package/lib/cjs/components/result.d.ts +3 -0
  56. package/lib/cjs/components/result.js +51 -0
  57. package/lib/cjs/components/row.js +12 -5
  58. package/lib/cjs/components/skeleton.d.ts +3 -0
  59. package/lib/cjs/components/skeleton.js +51 -0
  60. package/lib/cjs/components/slider.d.ts +2 -0
  61. package/lib/cjs/components/slider.js +51 -0
  62. package/lib/cjs/components/spin.d.ts +3 -0
  63. package/lib/cjs/components/spin.js +37 -0
  64. package/lib/cjs/components/statistic.d.ts +3 -0
  65. package/lib/cjs/components/statistic.js +57 -0
  66. package/lib/cjs/components/switch.d.ts +3 -0
  67. package/lib/cjs/components/switch.js +34 -0
  68. package/lib/cjs/components/table.d.ts +7 -0
  69. package/lib/cjs/components/table.js +37 -0
  70. package/lib/cjs/components/tabs.d.ts +3 -0
  71. package/lib/cjs/components/tabs.js +32 -0
  72. package/lib/cjs/components/tag.d.ts +3 -0
  73. package/lib/cjs/components/tag.js +34 -0
  74. package/lib/cjs/components/time-picker.d.ts +3 -0
  75. package/lib/cjs/components/time-picker.js +33 -0
  76. package/lib/cjs/components/timeline.d.ts +4 -2
  77. package/lib/cjs/components/timeline.js +37 -1
  78. package/lib/cjs/components/tooltip.d.ts +2 -0
  79. package/lib/cjs/components/tooltip.js +41 -0
  80. package/lib/cjs/components/transfer.d.ts +3 -0
  81. package/lib/cjs/components/transfer.js +51 -0
  82. package/lib/cjs/components/tree-select.d.ts +7 -0
  83. package/lib/cjs/components/tree-select.js +34 -0
  84. package/lib/cjs/components/tree.d.ts +7 -0
  85. package/lib/cjs/components/tree.js +32 -0
  86. package/lib/cjs/components/typography.js +2 -1
  87. package/lib/cjs/components/upload.d.ts +3 -0
  88. package/lib/cjs/components/upload.js +50 -0
  89. package/lib/cjs/prototypes/anchor.js +1 -0
  90. package/lib/cjs/prototypes/auto-complete.js +6 -5
  91. package/lib/cjs/prototypes/breadcrumb.js +33 -4
  92. package/lib/cjs/prototypes/descriptions.js +12 -0
  93. package/lib/cjs/prototypes/divider.js +1 -1
  94. package/lib/cjs/prototypes/modal.js +1 -0
  95. package/lib/cjs/prototypes/page-header.js +2 -1
  96. package/lib/cjs/prototypes/radio.js +11 -10
  97. package/lib/cjs/prototypes/slider.js +1 -1
  98. package/lib/cjs/prototypes/steps.js +6 -5
  99. package/lib/cjs/prototypes/tabs.js +2 -1
  100. package/lib/cjs/prototypes/tree-select.js +7 -6
  101. package/lib/esm/components/affix.d.ts +1 -0
  102. package/lib/esm/components/affix.js +16 -0
  103. package/lib/esm/components/alert.d.ts +3 -0
  104. package/lib/esm/components/alert.js +29 -0
  105. package/lib/esm/components/anchor.d.ts +3 -0
  106. package/lib/esm/components/anchor.js +44 -0
  107. package/lib/esm/components/auto-complete.d.ts +7 -0
  108. package/lib/esm/components/auto-complete.js +31 -0
  109. package/lib/esm/components/avatar.d.ts +3 -0
  110. package/lib/esm/components/avatar.js +31 -0
  111. package/lib/esm/components/badge.d.ts +3 -0
  112. package/lib/esm/components/badge.js +34 -0
  113. package/lib/esm/components/calendar.d.ts +3 -0
  114. package/lib/esm/components/calendar.js +31 -0
  115. package/lib/esm/components/card.d.ts +3 -0
  116. package/lib/esm/components/card.js +31 -0
  117. package/lib/esm/components/carousel.d.ts +3 -0
  118. package/lib/esm/components/carousel.js +29 -0
  119. package/lib/esm/components/checkbox.js +17 -3
  120. package/lib/esm/components/collapse.d.ts +4 -2
  121. package/lib/esm/components/collapse.js +25 -1
  122. package/lib/esm/components/comment.d.ts +3 -0
  123. package/lib/esm/components/comment.js +33 -0
  124. package/lib/esm/components/date-picker.d.ts +1 -1
  125. package/lib/esm/components/date-picker.js +23 -5
  126. package/lib/esm/components/descriptions.d.ts +3 -0
  127. package/lib/esm/components/descriptions.js +29 -0
  128. package/lib/esm/components/divider.d.ts +3 -0
  129. package/lib/esm/components/divider.js +31 -0
  130. package/lib/esm/components/drawer.js +1 -2
  131. package/lib/esm/components/empty.d.ts +3 -0
  132. package/lib/esm/components/empty.js +31 -0
  133. package/lib/esm/components/image.d.ts +3 -0
  134. package/lib/esm/components/image.js +32 -0
  135. package/lib/esm/components/index.d.ts +34 -0
  136. package/lib/esm/components/index.js +35 -0
  137. package/lib/esm/components/input-number.js +27 -24
  138. package/lib/esm/components/mentions.d.ts +3 -0
  139. package/lib/esm/components/mentions.js +31 -0
  140. package/lib/esm/components/pageheader.d.ts +3 -0
  141. package/lib/esm/components/pageheader.js +48 -0
  142. package/lib/esm/components/pagination.d.ts +3 -0
  143. package/lib/esm/components/pagination.js +31 -0
  144. package/lib/esm/components/placeholder.js +9 -0
  145. package/lib/esm/components/popconfirm.js +18 -27
  146. package/lib/esm/components/popover.d.ts +3 -0
  147. package/lib/esm/components/popover.js +38 -0
  148. package/lib/esm/components/progress.d.ts +3 -0
  149. package/lib/esm/components/progress.js +35 -0
  150. package/lib/esm/components/radio.js +25 -8
  151. package/lib/esm/components/rate.d.ts +3 -0
  152. package/lib/esm/components/rate.js +48 -0
  153. package/lib/esm/components/result.d.ts +3 -0
  154. package/lib/esm/components/result.js +48 -0
  155. package/lib/esm/components/row.js +12 -5
  156. package/lib/esm/components/skeleton.d.ts +3 -0
  157. package/lib/esm/components/skeleton.js +48 -0
  158. package/lib/esm/components/slider.d.ts +2 -0
  159. package/lib/esm/components/slider.js +48 -0
  160. package/lib/esm/components/spin.d.ts +3 -0
  161. package/lib/esm/components/spin.js +34 -0
  162. package/lib/esm/components/statistic.d.ts +3 -0
  163. package/lib/esm/components/statistic.js +54 -0
  164. package/lib/esm/components/switch.d.ts +3 -0
  165. package/lib/esm/components/switch.js +31 -0
  166. package/lib/esm/components/table.d.ts +7 -0
  167. package/lib/esm/components/table.js +34 -0
  168. package/lib/esm/components/tabs.d.ts +3 -0
  169. package/lib/esm/components/tabs.js +29 -0
  170. package/lib/esm/components/tag.d.ts +3 -0
  171. package/lib/esm/components/tag.js +31 -0
  172. package/lib/esm/components/time-picker.d.ts +3 -0
  173. package/lib/esm/components/time-picker.js +30 -0
  174. package/lib/esm/components/timeline.d.ts +4 -2
  175. package/lib/esm/components/timeline.js +37 -1
  176. package/lib/esm/components/tooltip.d.ts +2 -0
  177. package/lib/esm/components/tooltip.js +38 -0
  178. package/lib/esm/components/transfer.d.ts +3 -0
  179. package/lib/esm/components/transfer.js +48 -0
  180. package/lib/esm/components/tree-select.d.ts +7 -0
  181. package/lib/esm/components/tree-select.js +31 -0
  182. package/lib/esm/components/tree.d.ts +7 -0
  183. package/lib/esm/components/tree.js +29 -0
  184. package/lib/esm/components/typography.js +2 -1
  185. package/lib/esm/components/upload.d.ts +3 -0
  186. package/lib/esm/components/upload.js +47 -0
  187. package/lib/esm/prototypes/anchor.js +1 -0
  188. package/lib/esm/prototypes/auto-complete.js +6 -5
  189. package/lib/esm/prototypes/breadcrumb.js +33 -4
  190. package/lib/esm/prototypes/descriptions.js +12 -0
  191. package/lib/esm/prototypes/divider.js +1 -1
  192. package/lib/esm/prototypes/modal.js +1 -0
  193. package/lib/esm/prototypes/page-header.js +2 -1
  194. package/lib/esm/prototypes/radio.js +11 -10
  195. package/lib/esm/prototypes/slider.js +1 -1
  196. package/lib/esm/prototypes/steps.js +6 -5
  197. package/lib/esm/prototypes/tabs.js +2 -1
  198. package/lib/esm/prototypes/tree-select.js +7 -6
  199. package/package.json +2 -2
@@ -0,0 +1,47 @@
1
+ import { __rest } from "tslib";
2
+ import { Upload as AntUpload } from 'antd';
3
+ import { defineComponent } from '@music163/tango-boot';
4
+ import React, { useEffect, useRef } from 'react';
5
+ import { SLOT } from '@music163/tango-helpers';
6
+ function UploadDesigner(_a) {
7
+ var { children, title } = _a, _b = SLOT.dnd, dataDnd = _a[_b], _c = SLOT.id, dataId = _a[_c], { style } = _a, rest = __rest(_a, ["children", "title", typeof _b === "symbol" ? _b : _b + "", typeof _c === "symbol" ? _c : _c + "", "style"]);
8
+ const uploadRef = useRef(null);
9
+ useEffect(() => {
10
+ Promise.resolve().then(() => {
11
+ const popoverNode = document.querySelector(`.${dataId}`);
12
+ console.log('uploadNode', popoverNode);
13
+ if (popoverNode) {
14
+ popoverNode.setAttribute('data-dnd', dataDnd);
15
+ popoverNode.setAttribute('data-id', dataId);
16
+ }
17
+ });
18
+ }, [dataDnd, dataId]);
19
+ // 监听弹层显示事件
20
+ // const handleVisibleChange = (visible: boolean) => {
21
+ // console.log('handleVisibleChange', visible);
22
+ // if (visible) {
23
+ // // 使用微任务确保弹层已渲染
24
+ // Promise.resolve().then(() => {
25
+ // const popoverNode = document.querySelector('.ant-popover-placement-top');
26
+ // console.log('popoverNode' ,popoverNode)
27
+ // if (popoverNode) {
28
+ // popoverNode.setAttribute('data-dnd', dataDnd);
29
+ // popoverNode.setAttribute('data-id', dataId);
30
+ // }
31
+ // });
32
+ // }
33
+ // };
34
+ return (React.createElement("div", { ref: uploadRef },
35
+ React.createElement(AntUpload, Object.assign({ className: dataId, "data-dnd": dataDnd, "data-id": dataId }, rest), children)));
36
+ }
37
+ export const Upload = defineComponent(AntUpload, {
38
+ name: 'Upload',
39
+ designerConfig: {
40
+ render({ designerProps, originalProps }) {
41
+ console.log("Upload: designerProps:", designerProps, "originalProps:", originalProps);
42
+ return React.createElement(UploadDesigner, Object.assign({ title: "Are you sure?" }, designerProps, originalProps));
43
+ },
44
+ },
45
+ // designerConfig: {
46
+ // },
47
+ });
@@ -8,6 +8,7 @@ export const Anchor = {
8
8
  props: [
9
9
  ...StylePrototypes,
10
10
  { name: 'affix', title: '固定模式', setter: 'boolSetter', initValue: true },
11
+ { name: 'items', title: '锚点列表', setter: 'arraySetter', initValue: [{ title: '锚点1', href: '#1' }] },
11
12
  {
12
13
  name: 'bounds',
13
14
  title: '锚点区域边界',
@@ -172,13 +172,14 @@ export const AutoComplete = {
172
172
  {
173
173
  name: 'style',
174
174
  title: '样式对象',
175
- setter: 'expressionSetter',
176
- setterProps: {
177
- expressionType: 'cssObject',
178
- },
175
+ // setter: 'expressionSetter',
176
+ // setterProps: {
177
+ // expressionType: 'cssObject',
178
+ // },
179
+ setter: 'cssSetter',
179
180
  group: 'style',
180
181
  initValue: '{{{width: "200px"}}}',
181
- autoCompleteOptions: ['{}'],
182
+ // autoCompleteOptions: ['{}'],
182
183
  },
183
184
  {
184
185
  name: 'className',
@@ -16,6 +16,7 @@ export const Breadcrumb = {
16
16
  name: 'separator',
17
17
  title: '分隔符自定义',
18
18
  setter: 'expressionSetter',
19
+ initValue: '>',
19
20
  },
20
21
  {
21
22
  name: 'itemRender',
@@ -23,8 +24,31 @@ export const Breadcrumb = {
23
24
  tip: '自定义链接函数,和 react-router 配置使用',
24
25
  setter: 'expressionSetter',
25
26
  },
26
- { name: 'params', title: '路由的参数', setter: 'expressionSetter' },
27
- { name: 'routes', title: 'router 的路由栈信息', setter: 'expressionSetter' },
27
+ {
28
+ name: 'params',
29
+ title: '路由的参数',
30
+ tip: '输入格式为: { id: 1 }',
31
+ setter: 'expressionSetter'
32
+ },
33
+ {
34
+ name: 'routes',
35
+ title: 'router 的路由栈信息',
36
+ setter: 'expressionSetter',
37
+ initValue: null,
38
+ autoCompleteOptions: [
39
+ `[
40
+ { path: "/home", breadcrumbName: "Home" },
41
+ {
42
+ path: "/user",
43
+ breadcrumbName: "User",
44
+ children: [
45
+ { path: "/user1", breadcrumbName: "User1" },
46
+ { path: "/user2", breadcrumbName: "User2" },
47
+ ],
48
+ },
49
+ ]`
50
+ ]
51
+ },
28
52
  ],
29
53
  };
30
54
  export const BreadcrumbItem = {
@@ -37,9 +61,14 @@ export const BreadcrumbItem = {
37
61
  props: [
38
62
  ...StylePrototypes,
39
63
  { name: 'children', title: '文案', setter: 'textSetter', initValue: '节点名称' },
40
- { name: 'href', title: '链接的目的地', setter: 'textSetter' },
41
64
  {
42
- name: 'overlay',
65
+ name: 'href',
66
+ title: '链接的目的地',
67
+ setter: 'textSetter',
68
+ initValue: null,
69
+ },
70
+ {
71
+ name: 'menu',
43
72
  title: '下拉菜单的内容',
44
73
  setter: 'expressionSetter',
45
74
  group: 'advanced',
@@ -18,6 +18,18 @@ export const Descriptions = {
18
18
  setter: 'textSetter',
19
19
  initValue: '标题',
20
20
  },
21
+ {
22
+ name: 'items',
23
+ title: '数据源',
24
+ tip: '支持异步数据载入',
25
+ setter: 'optionSetter',
26
+ initValue: [
27
+ { label: 'UserName', value: 'user1' },
28
+ { label: 'Telephone', value: '123456' },
29
+ { label: 'Live', value: 'Live' },
30
+ ],
31
+ group: 'basic',
32
+ },
21
33
  {
22
34
  name: 'bordered',
23
35
  title: '是否展示边框',
@@ -11,7 +11,7 @@ export const Divider = {
11
11
  name: 'children',
12
12
  title: '文案',
13
13
  setter: 'textSetter',
14
- initValue: null,
14
+ initValue: '分割线',
15
15
  },
16
16
  {
17
17
  name: 'plain',
@@ -74,6 +74,7 @@ export const Modal = {
74
74
  tip: '不建议使用,给弹窗绑定id即可控制弹窗开关',
75
75
  setter: 'boolSetter',
76
76
  group: 'basic',
77
+ initValue: true,
77
78
  },
78
79
  ...StylePrototypes,
79
80
  {
@@ -42,6 +42,7 @@ export const PageHeader = {
42
42
  name: 'subTitle',
43
43
  title: '二级标题文字',
44
44
  setter: 'expressionSetter',
45
+ initValue: '二级标题',
45
46
  },
46
47
  {
47
48
  name: 'tags',
@@ -49,7 +50,7 @@ export const PageHeader = {
49
50
  tip: '位于title旁',
50
51
  setter: 'expressionSetter',
51
52
  },
52
- { name: 'title', title: '自定义标题文字', setter: 'expressionSetter' },
53
+ { name: 'title', title: '自定义标题文字', setter: 'expressionSetter', initValue: '标题' },
53
54
  {
54
55
  name: 'onBack',
55
56
  title: '返回按钮的点击事件',
@@ -31,16 +31,17 @@ export const Radio = {
31
31
  initValue: '单项1',
32
32
  setter: 'textSetter',
33
33
  },
34
- {
35
- name: 'optionType',
36
- title: '选项类型',
37
- setter: 'choiceSetter',
38
- initValue: 'default',
39
- options: [
40
- { label: '默认', value: 'default' },
41
- { label: '按钮类型', value: 'button' },
42
- ],
43
- },
34
+ // `optionType` is only support in Radio.Group
35
+ // {
36
+ // name: 'optionType',
37
+ // title: '选项类型',
38
+ // setter: 'choiceSetter',
39
+ // initValue: 'default',
40
+ // options: [
41
+ // { label: '默认', value: 'default' },
42
+ // { label: '按钮类型', value: 'button' },
43
+ // ],
44
+ // },
44
45
  {
45
46
  name: 'defaultChecked',
46
47
  title: '初始选中',
@@ -101,7 +101,7 @@ export const Slider = {
101
101
  name: 'vertical',
102
102
  title: '垂直',
103
103
  setter: 'boolSetter',
104
- tip: '值为 true 时,Slider 为垂直方向',
104
+ tip: '值为 true 时,Slider 为垂直方向。选则垂直方向时,请配合样式的高度使用',
105
105
  },
106
106
  {
107
107
  name: 'onAfterChange',
@@ -15,13 +15,14 @@ export const Steps = {
15
15
  {
16
16
  name: 'style',
17
17
  title: '样式对象',
18
- setter: 'expressionSetter',
19
- setterProps: {
20
- expressionType: 'cssObject',
21
- },
18
+ // setter: 'expressionSetter',
19
+ // setterProps: {
20
+ // expressionType: 'cssObject',
21
+ // },
22
+ setter: 'cssSetter',
22
23
  group: 'style',
23
24
  initValue: '{{{width: "100%"}}}',
24
- autoCompleteOptions: ['{}'],
25
+ // autoCompleteOptions: ['{}'],
25
26
  },
26
27
  {
27
28
  name: 'className',
@@ -23,7 +23,7 @@ export const Tabs = {
23
23
  label: '选项卡1',
24
24
  forceRender: false,
25
25
  disabled: false,
26
- // children: '选项卡1',
26
+ children: `{{<Placeholder text="放置替换" style={{ margin: "15px"}} />}}`,
27
27
  },
28
28
  {
29
29
  key: '2',
@@ -31,6 +31,7 @@ export const Tabs = {
31
31
  forceRender: false,
32
32
  disabled: false,
33
33
  // children: '选项卡2',
34
+ children: `{{<Placeholder text="放置替换" style={{ margin: "15px"}} />}}`,
34
35
  },
35
36
  ]
36
37
  },
@@ -10,17 +10,17 @@ export const TreeSelect = {
10
10
  childrenName: 'TreeNode',
11
11
  relatedImports: ['TreeNode'],
12
12
  props: [
13
- // ...StylePrototypes,
14
13
  {
15
14
  name: 'style',
16
15
  title: '样式对象',
17
- setter: 'expressionSetter',
18
- setterProps: {
19
- expressionType: 'cssObject',
20
- },
16
+ // setter: 'expressionSetter',
17
+ // setterProps: {
18
+ // expressionType: 'cssObject',
19
+ // },
20
+ setter: 'cssSetter',
21
21
  group: 'style',
22
22
  initValue: '{{{width: "100%"}}}',
23
- autoCompleteOptions: ['{}'],
23
+ // autoCompleteOptions: ['{}'],
24
24
  },
25
25
  {
26
26
  name: 'className',
@@ -28,6 +28,7 @@ export const TreeSelect = {
28
28
  setter: 'classNameSetter',
29
29
  group: 'style',
30
30
  },
31
+ // ...StylePrototypes,
31
32
  ...InstancePrototypes,
32
33
  {
33
34
  name: 'treeData',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuvp1225/antd",
3
- "version": "0.2.74",
3
+ "version": "0.2.76",
4
4
  "description": "antd components for tango app",
5
5
  "author": "wwsun <ww.sww@outlook.com>",
6
6
  "homepage": "https://github.com/netease/tango-components#readme",
@@ -54,5 +54,5 @@
54
54
  "classnames": "^2.3.2",
55
55
  "coral-system": "^1.0.6"
56
56
  },
57
- "gitHead": "96c8721108eba12392aa5e461542d566702bd61c"
57
+ "gitHead": "27676ece31a6cbc68404e0c456bb7628e7d421c6"
58
58
  }