@micromag/element-call-to-action 0.3.56 → 0.3.57
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/assets/css/styles.css +1 -1
- package/es/index.js +32 -11
- package/lib/index.js +32 -11
- package/package.json +6 -6
package/assets/css/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@-webkit-keyframes micromag-element-call-to-action-appear{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes micromag-element-call-to-action-appear{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.micromag-element-call-to-action-container{position:relative;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease;opacity:1;text-align:center}.micromag-element-call-to-action-container .micromag-element-call-to-action-arrow{
|
|
1
|
+
@-webkit-keyframes micromag-element-call-to-action-appear{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes micromag-element-call-to-action-appear{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.micromag-element-call-to-action-container{position:relative;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease;opacity:1;text-align:center}.micromag-element-call-to-action-container .micromag-element-call-to-action-arrow{display:block;margin:0 auto;-webkit-animation:micromag-element-call-to-action-upAndDown .5s ease-in-out infinite alternate;animation:micromag-element-call-to-action-upAndDown .5s ease-in-out infinite alternate}.micromag-element-call-to-action-container .micromag-element-call-to-action-icon,.micromag-element-call-to-action-container .micromag-element-call-to-action-label{display:inline-block}.micromag-element-call-to-action-container .micromag-element-call-to-action-button{display:block;margin:0 auto;padding:5px 10px;background-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none;-webkit-user-drag:none}.micromag-element-call-to-action-container .micromag-element-call-to-action-button:hover{text-decoration:none}.micromag-element-call-to-action-container .micromag-element-call-to-action-selfTargetLink{display:none}.micromag-element-call-to-action-container .micromag-element-call-to-action-leavingFrame{position:fixed;top:0;left:0;width:100vw;height:100vh;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation:micromag-element-call-to-action-appear .5s ease both;animation:micromag-element-call-to-action-appear .5s ease both;opacity:0;background-color:#fff}.micromag-element-call-to-action-container.micromag-element-call-to-action-animationDisabled .micromag-element-call-to-action-arrow{-webkit-animation:none;animation:none}.micromag-element-call-to-action-container.micromag-element-call-to-action-invalidUrl{opacity:.5;pointer-events:none}.micromag-element-call-to-action-container.micromag-element-call-to-action-invalidUrl .micromag-element-call-to-action-arrow{-webkit-animation:none;animation:none}.micromag-element-call-to-action-container.micromag-element-call-to-action-disabled{opacity:0;pointer-events:none}.micromag-element-call-to-action-container.micromag-element-call-to-action-inWebView{width:100%}.micromag-element-call-to-action-container.micromag-element-call-to-action-withMargin{margin-bottom:5px}.micromag-element-call-to-action-webView{position:absolute;z-index:9999;top:100%;width:100%;height:100%;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:transform .3s ease;transition:transform .3s ease;transition:transform .3s ease, -webkit-transform .3s ease}.micromag-element-call-to-action-webView.micromag-element-call-to-action-visible{-webkit-transform:translateY(-90%);-ms-transform:translateY(-90%);transform:translateY(-90%)}@-webkit-keyframes micromag-element-call-to-action-upAndDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-20%);transform:translateY(-20%)}}@keyframes micromag-element-call-to-action-upAndDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-20%);transform:translateY(-20%)}}
|
package/es/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import Button from '@micromag/element-button';
|
|
|
13
13
|
import Text from '@micromag/element-text';
|
|
14
14
|
import WebView from '@micromag/element-webview';
|
|
15
15
|
|
|
16
|
-
var styles = {"container":"micromag-element-call-to-action-container","arrow":"micromag-element-call-to-action-arrow","upAndDown":"micromag-element-call-to-action-upAndDown","label":"micromag-element-call-to-action-label","button":"micromag-element-call-to-action-button","selfTargetLink":"micromag-element-call-to-action-selfTargetLink","leavingFrame":"micromag-element-call-to-action-leavingFrame","appear":"micromag-element-call-to-action-appear","animationDisabled":"micromag-element-call-to-action-animationDisabled","invalidUrl":"micromag-element-call-to-action-invalidUrl","disabled":"micromag-element-call-to-action-disabled","
|
|
16
|
+
var styles = {"container":"micromag-element-call-to-action-container","arrow":"micromag-element-call-to-action-arrow","upAndDown":"micromag-element-call-to-action-upAndDown","icon":"micromag-element-call-to-action-icon","label":"micromag-element-call-to-action-label","button":"micromag-element-call-to-action-button","selfTargetLink":"micromag-element-call-to-action-selfTargetLink","leavingFrame":"micromag-element-call-to-action-leavingFrame","appear":"micromag-element-call-to-action-appear","animationDisabled":"micromag-element-call-to-action-animationDisabled","invalidUrl":"micromag-element-call-to-action-invalidUrl","disabled":"micromag-element-call-to-action-disabled","inWebView":"micromag-element-call-to-action-inWebView","withMargin":"micromag-element-call-to-action-withMargin","webView":"micromag-element-call-to-action-webView","visible":"micromag-element-call-to-action-visible"};
|
|
17
17
|
|
|
18
18
|
var propTypes = {
|
|
19
19
|
elRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
@@ -23,12 +23,17 @@ var propTypes = {
|
|
|
23
23
|
disabled: PropTypes.bool,
|
|
24
24
|
animationDisabled: PropTypes.bool,
|
|
25
25
|
callToAction: PropTypes$1.callToAction,
|
|
26
|
+
iconComponent: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
27
|
+
arrowComponent: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
26
28
|
screenSize: PropTypes.shape({
|
|
27
29
|
width: PropTypes.number,
|
|
28
30
|
height: PropTypes.number
|
|
29
31
|
}),
|
|
30
32
|
dragAmount: PropTypes.number,
|
|
31
33
|
className: PropTypes.string,
|
|
34
|
+
buttonClassName: PropTypes.string,
|
|
35
|
+
labelClassName: PropTypes.string,
|
|
36
|
+
arrowClassName: PropTypes.string,
|
|
32
37
|
focusable: PropTypes.bool
|
|
33
38
|
};
|
|
34
39
|
var defaultProps = {
|
|
@@ -36,22 +41,32 @@ var defaultProps = {
|
|
|
36
41
|
disabled: false,
|
|
37
42
|
animationDisabled: false,
|
|
38
43
|
callToAction: null,
|
|
44
|
+
iconComponent: null,
|
|
45
|
+
arrowComponent: null,
|
|
39
46
|
screenSize: null,
|
|
40
47
|
dragAmount: 50,
|
|
41
48
|
className: null,
|
|
49
|
+
buttonClassName: null,
|
|
50
|
+
labelClassName: null,
|
|
51
|
+
arrowClassName: null,
|
|
42
52
|
focusable: true
|
|
43
53
|
};
|
|
44
54
|
|
|
45
55
|
function CallToAction(_ref) {
|
|
46
|
-
var
|
|
56
|
+
var _ref8;
|
|
47
57
|
|
|
48
58
|
var elRef = _ref.elRef,
|
|
49
59
|
disabled = _ref.disabled,
|
|
50
60
|
animationDisabled = _ref.animationDisabled,
|
|
51
61
|
callToAction = _ref.callToAction,
|
|
62
|
+
IconComponent = _ref.iconComponent,
|
|
63
|
+
ArrowComponent = _ref.arrowComponent,
|
|
52
64
|
screenSize = _ref.screenSize,
|
|
53
65
|
dragAmount = _ref.dragAmount,
|
|
54
66
|
className = _ref.className,
|
|
67
|
+
buttonClassName = _ref.buttonClassName,
|
|
68
|
+
labelClassName = _ref.labelClassName,
|
|
69
|
+
arrowClassName = _ref.arrowClassName,
|
|
55
70
|
focusable = _ref.focusable;
|
|
56
71
|
|
|
57
72
|
var _ref2 = callToAction || {},
|
|
@@ -162,8 +177,15 @@ function CallToAction(_ref) {
|
|
|
162
177
|
var onCloseWebView = useCallback(function () {
|
|
163
178
|
setShowWebView(false);
|
|
164
179
|
}, [setShowWebView]);
|
|
180
|
+
var ArrowElement = ArrowComponent !== null ? /*#__PURE__*/React.createElement(ArrowComponent, {
|
|
181
|
+
className: classNames([styles.arrow, _defineProperty({}, arrowClassName, arrowClassName !== null)])
|
|
182
|
+
}) : /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
183
|
+
className: classNames([styles.arrow, _defineProperty({}, arrowClassName, arrowClassName !== null)]),
|
|
184
|
+
style: arrowStyle,
|
|
185
|
+
icon: faChevronUp
|
|
186
|
+
});
|
|
165
187
|
return active ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
166
|
-
className: classNames([styles.container, (
|
|
188
|
+
className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.disabled, disabled), _defineProperty(_ref8, styles.animationDisabled, animationDisabled), _defineProperty(_ref8, styles.invalidUrl, !validUrl), _defineProperty(_ref8, styles.inWebView, inWebView), _ref8)]),
|
|
167
189
|
ref: elRef
|
|
168
190
|
}, leaving ? /*#__PURE__*/React.createElement("div", {
|
|
169
191
|
className: styles.leavingFrame
|
|
@@ -172,12 +194,8 @@ function CallToAction(_ref) {
|
|
|
172
194
|
href: url,
|
|
173
195
|
ref: selfTargetLinkRef,
|
|
174
196
|
tabIndex: focusable ? '0' : '-1'
|
|
175
|
-
}), swipeUpEnabled ? /*#__PURE__*/React.createElement(
|
|
176
|
-
className: styles.
|
|
177
|
-
style: arrowStyle,
|
|
178
|
-
icon: faChevronUp
|
|
179
|
-
}) : null, /*#__PURE__*/React.createElement(Button, Object.assign({
|
|
180
|
-
className: styles.button,
|
|
197
|
+
}), swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React.createElement(Button, Object.assign({
|
|
198
|
+
className: classNames([styles.button, _defineProperty({}, buttonClassName, buttonClassName !== null)]),
|
|
181
199
|
refButton: buttonRef,
|
|
182
200
|
focusable: focusable,
|
|
183
201
|
buttonStyle: _objectSpread({
|
|
@@ -189,12 +207,15 @@ function CallToAction(_ref) {
|
|
|
189
207
|
href: url,
|
|
190
208
|
external: true
|
|
191
209
|
}), /*#__PURE__*/React.createElement("span", {
|
|
192
|
-
className: styles.label
|
|
193
|
-
}, /*#__PURE__*/React.createElement(
|
|
210
|
+
className: classNames([styles.label, _defineProperty({}, labelClassName, labelClassName !== null)])
|
|
211
|
+
}, IconComponent !== null ? /*#__PURE__*/React.createElement(IconComponent, {
|
|
212
|
+
className: styles.icon
|
|
213
|
+
}) : null, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {
|
|
194
214
|
inline: true
|
|
195
215
|
}))))), inWebView ? /*#__PURE__*/React.createElement(WebView, Object.assign({
|
|
196
216
|
className: classNames([styles.webView, _defineProperty({}, styles.visible, showWebView)]),
|
|
197
217
|
src: url,
|
|
218
|
+
disabled: !showWebView,
|
|
198
219
|
closeable: true,
|
|
199
220
|
hidden: disableWebView,
|
|
200
221
|
onClose: onCloseWebView
|
package/lib/index.js
CHANGED
|
@@ -27,7 +27,7 @@ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
|
27
27
|
var Text__default = /*#__PURE__*/_interopDefaultLegacy(Text);
|
|
28
28
|
var WebView__default = /*#__PURE__*/_interopDefaultLegacy(WebView);
|
|
29
29
|
|
|
30
|
-
var styles = {"container":"micromag-element-call-to-action-container","arrow":"micromag-element-call-to-action-arrow","upAndDown":"micromag-element-call-to-action-upAndDown","label":"micromag-element-call-to-action-label","button":"micromag-element-call-to-action-button","selfTargetLink":"micromag-element-call-to-action-selfTargetLink","leavingFrame":"micromag-element-call-to-action-leavingFrame","appear":"micromag-element-call-to-action-appear","animationDisabled":"micromag-element-call-to-action-animationDisabled","invalidUrl":"micromag-element-call-to-action-invalidUrl","disabled":"micromag-element-call-to-action-disabled","
|
|
30
|
+
var styles = {"container":"micromag-element-call-to-action-container","arrow":"micromag-element-call-to-action-arrow","upAndDown":"micromag-element-call-to-action-upAndDown","icon":"micromag-element-call-to-action-icon","label":"micromag-element-call-to-action-label","button":"micromag-element-call-to-action-button","selfTargetLink":"micromag-element-call-to-action-selfTargetLink","leavingFrame":"micromag-element-call-to-action-leavingFrame","appear":"micromag-element-call-to-action-appear","animationDisabled":"micromag-element-call-to-action-animationDisabled","invalidUrl":"micromag-element-call-to-action-invalidUrl","disabled":"micromag-element-call-to-action-disabled","inWebView":"micromag-element-call-to-action-inWebView","withMargin":"micromag-element-call-to-action-withMargin","webView":"micromag-element-call-to-action-webView","visible":"micromag-element-call-to-action-visible"};
|
|
31
31
|
|
|
32
32
|
var propTypes = {
|
|
33
33
|
elRef: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].shape({
|
|
@@ -37,12 +37,17 @@ var propTypes = {
|
|
|
37
37
|
disabled: PropTypes__default["default"].bool,
|
|
38
38
|
animationDisabled: PropTypes__default["default"].bool,
|
|
39
39
|
callToAction: core.PropTypes.callToAction,
|
|
40
|
+
iconComponent: PropTypes__default["default"].oneOfType([PropTypes__default["default"].node, PropTypes__default["default"].func]),
|
|
41
|
+
arrowComponent: PropTypes__default["default"].oneOfType([PropTypes__default["default"].node, PropTypes__default["default"].func]),
|
|
40
42
|
screenSize: PropTypes__default["default"].shape({
|
|
41
43
|
width: PropTypes__default["default"].number,
|
|
42
44
|
height: PropTypes__default["default"].number
|
|
43
45
|
}),
|
|
44
46
|
dragAmount: PropTypes__default["default"].number,
|
|
45
47
|
className: PropTypes__default["default"].string,
|
|
48
|
+
buttonClassName: PropTypes__default["default"].string,
|
|
49
|
+
labelClassName: PropTypes__default["default"].string,
|
|
50
|
+
arrowClassName: PropTypes__default["default"].string,
|
|
46
51
|
focusable: PropTypes__default["default"].bool
|
|
47
52
|
};
|
|
48
53
|
var defaultProps = {
|
|
@@ -50,22 +55,32 @@ var defaultProps = {
|
|
|
50
55
|
disabled: false,
|
|
51
56
|
animationDisabled: false,
|
|
52
57
|
callToAction: null,
|
|
58
|
+
iconComponent: null,
|
|
59
|
+
arrowComponent: null,
|
|
53
60
|
screenSize: null,
|
|
54
61
|
dragAmount: 50,
|
|
55
62
|
className: null,
|
|
63
|
+
buttonClassName: null,
|
|
64
|
+
labelClassName: null,
|
|
65
|
+
arrowClassName: null,
|
|
56
66
|
focusable: true
|
|
57
67
|
};
|
|
58
68
|
|
|
59
69
|
function CallToAction(_ref) {
|
|
60
|
-
var
|
|
70
|
+
var _ref8;
|
|
61
71
|
|
|
62
72
|
var elRef = _ref.elRef,
|
|
63
73
|
disabled = _ref.disabled,
|
|
64
74
|
animationDisabled = _ref.animationDisabled,
|
|
65
75
|
callToAction = _ref.callToAction,
|
|
76
|
+
IconComponent = _ref.iconComponent,
|
|
77
|
+
ArrowComponent = _ref.arrowComponent,
|
|
66
78
|
screenSize = _ref.screenSize,
|
|
67
79
|
dragAmount = _ref.dragAmount,
|
|
68
80
|
className = _ref.className,
|
|
81
|
+
buttonClassName = _ref.buttonClassName,
|
|
82
|
+
labelClassName = _ref.labelClassName,
|
|
83
|
+
arrowClassName = _ref.arrowClassName,
|
|
69
84
|
focusable = _ref.focusable;
|
|
70
85
|
|
|
71
86
|
var _ref2 = callToAction || {},
|
|
@@ -176,8 +191,15 @@ function CallToAction(_ref) {
|
|
|
176
191
|
var onCloseWebView = React.useCallback(function () {
|
|
177
192
|
setShowWebView(false);
|
|
178
193
|
}, [setShowWebView]);
|
|
194
|
+
var ArrowElement = ArrowComponent !== null ? /*#__PURE__*/React__default["default"].createElement(ArrowComponent, {
|
|
195
|
+
className: classNames__default["default"]([styles.arrow, _defineProperty__default["default"]({}, arrowClassName, arrowClassName !== null)])
|
|
196
|
+
}) : /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
|
|
197
|
+
className: classNames__default["default"]([styles.arrow, _defineProperty__default["default"]({}, arrowClassName, arrowClassName !== null)]),
|
|
198
|
+
style: arrowStyle,
|
|
199
|
+
icon: freeSolidSvgIcons.faChevronUp
|
|
200
|
+
});
|
|
179
201
|
return active ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
180
|
-
className: classNames__default["default"]([styles.container, (
|
|
202
|
+
className: classNames__default["default"]([styles.container, (_ref8 = {}, _defineProperty__default["default"](_ref8, className, className !== null), _defineProperty__default["default"](_ref8, styles.disabled, disabled), _defineProperty__default["default"](_ref8, styles.animationDisabled, animationDisabled), _defineProperty__default["default"](_ref8, styles.invalidUrl, !validUrl), _defineProperty__default["default"](_ref8, styles.inWebView, inWebView), _ref8)]),
|
|
181
203
|
ref: elRef
|
|
182
204
|
}, leaving ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
183
205
|
className: styles.leavingFrame
|
|
@@ -186,12 +208,8 @@ function CallToAction(_ref) {
|
|
|
186
208
|
href: url,
|
|
187
209
|
ref: selfTargetLinkRef,
|
|
188
210
|
tabIndex: focusable ? '0' : '-1'
|
|
189
|
-
}), swipeUpEnabled ? /*#__PURE__*/React__default["default"].createElement(
|
|
190
|
-
className: styles.
|
|
191
|
-
style: arrowStyle,
|
|
192
|
-
icon: freeSolidSvgIcons.faChevronUp
|
|
193
|
-
}) : null, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], Object.assign({
|
|
194
|
-
className: styles.button,
|
|
211
|
+
}), swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], Object.assign({
|
|
212
|
+
className: classNames__default["default"]([styles.button, _defineProperty__default["default"]({}, buttonClassName, buttonClassName !== null)]),
|
|
195
213
|
refButton: buttonRef,
|
|
196
214
|
focusable: focusable,
|
|
197
215
|
buttonStyle: _objectSpread__default["default"]({
|
|
@@ -203,12 +221,15 @@ function CallToAction(_ref) {
|
|
|
203
221
|
href: url,
|
|
204
222
|
external: true
|
|
205
223
|
}), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
206
|
-
className: styles.label
|
|
207
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
224
|
+
className: classNames__default["default"]([styles.label, _defineProperty__default["default"]({}, labelClassName, labelClassName !== null)])
|
|
225
|
+
}, IconComponent !== null ? /*#__PURE__*/React__default["default"].createElement(IconComponent, {
|
|
226
|
+
className: styles.icon
|
|
227
|
+
}) : null, /*#__PURE__*/React__default["default"].createElement(Text__default["default"], Object.assign({}, label, {
|
|
208
228
|
inline: true
|
|
209
229
|
}))))), inWebView ? /*#__PURE__*/React__default["default"].createElement(WebView__default["default"], Object.assign({
|
|
210
230
|
className: classNames__default["default"]([styles.webView, _defineProperty__default["default"]({}, styles.visible, showWebView)]),
|
|
211
231
|
src: url,
|
|
232
|
+
disabled: !showWebView,
|
|
212
233
|
closeable: true,
|
|
213
234
|
hidden: disableWebView,
|
|
214
235
|
onClose: onCloseWebView
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/element-call-to-action",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.57",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"@fortawesome/fontawesome-svg-core": "^1.2.32",
|
|
53
53
|
"@fortawesome/free-solid-svg-icons": "^5.15.1",
|
|
54
54
|
"@fortawesome/react-fontawesome": "^0.1.13",
|
|
55
|
-
"@micromag/core": "^0.3.
|
|
56
|
-
"@micromag/element-button": "^0.3.
|
|
57
|
-
"@micromag/element-text": "^0.3.
|
|
58
|
-
"@micromag/element-webview": "^0.3.
|
|
55
|
+
"@micromag/core": "^0.3.57",
|
|
56
|
+
"@micromag/element-button": "^0.3.57",
|
|
57
|
+
"@micromag/element-text": "^0.3.57",
|
|
58
|
+
"@micromag/element-webview": "^0.3.57",
|
|
59
59
|
"@react-spring/core": "^9.1.1",
|
|
60
60
|
"@react-spring/web": "^9.1.1",
|
|
61
61
|
"@use-gesture/react": "^10.2.4",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"publishConfig": {
|
|
69
69
|
"access": "public"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "0cd1abafd1bee77d9dccbedde58f7b83f2351794"
|
|
72
72
|
}
|