neko-ui 1.0.28 → 1.0.29
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/es/avatar/clip-path.svg +9 -0
- package/es/avatar/favicon.svg +1 -1
- package/es/avatar/index.d.ts +8 -6
- package/es/avatar/index.js +64 -1
- package/es/avatar-group/index.d.ts +10 -0
- package/es/avatar-group/index.js +13 -0
- package/es/back-top/index.d.ts +3 -4
- package/es/back-top/index.js +66 -1
- package/es/button/index.d.ts +4 -5
- package/es/button/index.js +77 -1
- package/es/capture-screen/index.d.ts +3 -4
- package/es/capture-screen/index.js +1 -1
- package/es/capture-screen/style.d.ts +7 -0
- package/es/capture-screen/style.js +55 -0
- package/es/code/index.d.ts +10 -0
- package/es/code/index.js +1 -0
- package/es/color-palette/alpha-slider.d.ts +3 -4
- package/es/color-palette/alpha-slider.js +1 -1
- package/es/color-palette/hue-slider.d.ts +4 -5
- package/es/color-palette/hue-slider.js +1 -1
- package/es/color-palette/index.d.ts +3 -4
- package/es/color-palette/index.js +1 -1
- package/es/color-palette/style.d.ts +9 -0
- package/es/color-palette/style.js +160 -0
- package/es/color-picker/index.d.ts +3 -4
- package/es/color-picker/index.js +38 -1
- package/es/highlight-text/index.d.ts +7 -8
- package/es/highlight-text/index.js +5 -1
- package/es/index.d.ts +18 -35
- package/es/index.js +1 -1
- package/es/input/index.d.ts +5 -6
- package/es/input/index.js +56 -1
- package/es/input-number/index.d.ts +2 -3
- package/es/input-number/index.js +11 -1
- package/es/markdown/index.css +608 -0
- package/es/markdown/index.d.ts +7 -6
- package/es/markdown/index.js +1 -1
- package/es/markdown/markdown-util.d.ts +5 -1
- package/es/markdown/markdown-util.js +1 -1
- package/es/skeleton/index.d.ts +7 -0
- package/es/skeleton/index.js +64 -0
- package/es/tooltip/index.d.ts +10 -11
- package/es/tooltip/index.js +1 -1
- package/es/tooltip/style.d.ts +5 -0
- package/es/tooltip/style.js +74 -0
- package/es/use-theme/index.d.ts +1 -1
- package/es/use-theme/index.js +1 -1
- package/es/utils/broswer.js +1 -1
- package/es/utils/highlight.d.ts +1 -0
- package/es/utils/highlight.js +1 -0
- package/es/{markdown → utils}/pre-code-inline-color-wrapper.svg +0 -0
- package/es/{markdown → utils}/prism-treeview.woff2 +0 -0
- package/es/utils/prism.css +888 -0
- package/es/utils/prism.js +1 -0
- package/es/wave-circle/index.d.ts +3 -4
- package/es/wave-circle/index.js +62 -1
- package/lib/avatar/clip-path.svg +9 -0
- package/lib/avatar/favicon.svg +1 -1
- package/lib/avatar/index.d.ts +8 -6
- package/lib/avatar/index.js +1 -1
- package/lib/avatar-group/index.d.ts +10 -0
- package/lib/avatar-group/index.js +1 -0
- package/lib/back-top/index.d.ts +3 -4
- package/lib/back-top/index.js +1 -1
- package/lib/button/index.d.ts +4 -5
- package/lib/button/index.js +1 -1
- package/lib/capture-screen/index.d.ts +3 -4
- package/lib/capture-screen/index.js +1 -1
- package/lib/capture-screen/style.d.ts +7 -0
- package/lib/capture-screen/style.js +1 -0
- package/lib/code/index.d.ts +10 -0
- package/lib/code/index.js +1 -0
- package/lib/color-palette/alpha-slider.d.ts +3 -4
- package/lib/color-palette/alpha-slider.js +1 -1
- package/lib/color-palette/hue-slider.d.ts +4 -5
- package/lib/color-palette/hue-slider.js +1 -1
- package/lib/color-palette/index.d.ts +3 -4
- package/lib/color-palette/index.js +1 -1
- package/lib/color-palette/style.d.ts +9 -0
- package/lib/color-palette/style.js +1 -0
- package/lib/color-picker/index.d.ts +3 -4
- package/lib/color-picker/index.js +1 -1
- package/lib/highlight-text/index.d.ts +7 -8
- package/lib/highlight-text/index.js +1 -1
- package/lib/index.d.ts +18 -35
- package/lib/index.js +1 -1
- package/lib/input/index.d.ts +5 -6
- package/lib/input/index.js +1 -1
- package/lib/input-number/index.d.ts +2 -3
- package/lib/input-number/index.js +1 -1
- package/lib/markdown/index.css +608 -0
- package/lib/markdown/index.d.ts +7 -6
- package/lib/markdown/index.js +1 -1
- package/lib/markdown/markdown-util.d.ts +5 -1
- package/lib/markdown/markdown-util.js +1 -1
- package/lib/skeleton/index.d.ts +7 -0
- package/lib/skeleton/index.js +1 -0
- package/lib/tooltip/index.d.ts +10 -11
- package/lib/tooltip/index.js +1 -1
- package/lib/tooltip/style.d.ts +5 -0
- package/lib/tooltip/style.js +1 -0
- package/lib/use-theme/index.d.ts +1 -1
- package/lib/use-theme/index.js +1 -1
- package/lib/utils/highlight.d.ts +1 -0
- package/lib/utils/highlight.js +1 -0
- package/lib/{markdown → utils}/pre-code-inline-color-wrapper.svg +0 -0
- package/lib/{markdown → utils}/prism-treeview.woff2 +0 -0
- package/lib/utils/prism.css +888 -0
- package/lib/{markdown → utils}/prism.js +1 -1
- package/lib/wave-circle/index.d.ts +3 -4
- package/lib/wave-circle/index.js +1 -1
- package/package.json +26 -31
- package/es/avatar/index.global.less +0 -61
- package/es/back-top/index.global.less +0 -74
- package/es/button/index.global.less +0 -194
- package/es/capture-screen/index.global.less +0 -70
- package/es/color-palette/alpha-slider.global.less +0 -34
- package/es/color-palette/hue-slider.global.less +0 -2
- package/es/color-palette/index.global.less +0 -112
- package/es/color-palette/slider-picker.global.less +0 -40
- package/es/color-picker/index.global.less +0 -47
- package/es/cron-editor/index.d.ts +0 -6
- package/es/cron-editor/index.global.less +0 -3
- package/es/cron-editor/index.js +0 -1
- package/es/get-prefix-cls/index.d.ts +0 -2
- package/es/get-prefix-cls/index.js +0 -1
- package/es/get-prefix-cls/index.less +0 -6
- package/es/highlight-text/index.global.less +0 -7
- package/es/input/index.global.less +0 -70
- package/es/input-number/index.global.less +0 -11
- package/es/markdown/index.global.less +0 -1563
- package/es/markdown/prism.js +0 -1
- package/es/marquee/index.d.ts +0 -7
- package/es/marquee/index.global.less +0 -41
- package/es/marquee/index.js +0 -1
- package/es/powser/index.d.ts +0 -11
- package/es/powser/index.global.less +0 -114
- package/es/powser/index.js +0 -1
- package/es/tooltip/index.global.less +0 -129
- package/es/wave-circle/index.global.less +0 -67
- package/lib/avatar/index.global.css +0 -1
- package/lib/back-top/index.global.css +0 -1
- package/lib/button/index.global.css +0 -1
- package/lib/capture-screen/index.global.css +0 -1
- package/lib/color-palette/alpha-slider.global.css +0 -1
- package/lib/color-palette/hue-slider.global.css +0 -1
- package/lib/color-palette/index.global.css +0 -1
- package/lib/color-palette/slider-picker.global.css +0 -1
- package/lib/color-picker/index.global.css +0 -1
- package/lib/cron-editor/index.d.ts +0 -6
- package/lib/cron-editor/index.global.css +0 -1
- package/lib/cron-editor/index.js +0 -1
- package/lib/get-prefix-cls/index.css +0 -1
- package/lib/get-prefix-cls/index.d.ts +0 -2
- package/lib/get-prefix-cls/index.js +0 -1
- package/lib/highlight-text/index.global.css +0 -1
- package/lib/input/index.global.css +0 -1
- package/lib/input-number/index.global.css +0 -1
- package/lib/markdown/index.global.css +0 -1
- package/lib/marquee/index.d.ts +0 -7
- package/lib/marquee/index.global.css +0 -1
- package/lib/marquee/index.js +0 -1
- package/lib/powser/index.d.ts +0 -11
- package/lib/powser/index.global.css +0 -1
- package/lib/powser/index.js +0 -1
- package/lib/tooltip/index.global.css +0 -1
- package/lib/wave-circle/index.global.css +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg viewBox="0 0 1 1" aria-hidden="true" style="position: absolute;width: 0px;height: 0px;overflow: hidden;">
|
|
2
|
+
<defs>
|
|
3
|
+
<clipPath id="clipPathAvatar" clipPathUnits="objectBoundingBox">
|
|
4
|
+
<path
|
|
5
|
+
d="M.395.126H.4A.016.016 0 0 1 .418.14v.002L.42.158a.39.39 0 0 0 .019.12L.44.284l.005.01c.011.026.034.05.05.053h.011a.084.084 0 0 0 .016-.01.115.115 0 0 0 .025-.03.259.259 0 0 0 .033-.14.02.02 0 0 0 0-.008.03.03 0 0 1 0-.01V.145L.584.136h.001C.583.134.591.127.594.126h.024L.63.127l.013.001h.01a.123.123 0 0 0 .021.003h.003L.7.133a.591.591 0 0 1 .046.004L.77.139h.013l.006.002h.009c.01 0 .019.006.036.023a.24.24 0 0 1 .018.02l.004.004a.49.49 0 0 1 .063.094L.927.3a.032.032 0 0 0 .004.007L.932.31l.004.007.007.022a.141.141 0 0 0 .004.008.34.34 0 0 0 .011.037l.002.01A.463.463 0 0 1 .969.46v.013A.358.358 0 0 1 .963.58a.537.537 0 0 1-.064.16.378.378 0 0 1-.096.111.042.042 0 0 1-.014.002L.762.851.732.85A1.092 1.092 0 0 0 .667.845C.641.842.636.84.63.832L.626.825C.624.822.628.814.636.8a.129.129 0 0 0 .01-.022.02.02 0 0 0 .001-.003V.773a.143.143 0 0 0 .009-.02A.149.149 0 0 1 .66.738.028.028 0 0 0 .662.73V.726a.243.243 0 0 1-.106.07.177.177 0 0 1-.121-.003A.25.25 0 0 1 .35.736C.34.726.338.724.337.727A.095.095 0 0 0 .344.75v.003s.001 0 0 0a.316.316 0 0 0 .024.053L.37.811c.005.01.005.013.001.02C.367.837.36.84.345.842A.462.462 0 0 1 .3.847.967.967 0 0 0 .25.85L.224.852.213.853A.027.027 0 0 1 .191.847.438.438 0 0 1 .098.735a.525.525 0 0 1-.065-.19L.032.529V.517a.35.35 0 0 1 0-.052L.034.433.036.421A.288.288 0 0 1 .04.397.173.173 0 0 1 .05.36c0-.003 0-.006.002-.01A.133.133 0 0 0 .057.336L.06.33A.293.293 0 0 1 .084.276L.09.266A.14.14 0 0 1 .1.246L.106.24A.288.288 0 0 1 .142.19a.227.227 0 0 0 .01-.01.17.17 0 0 1 .037-.036A.036.036 0 0 1 .202.14h.023L.228.138h.008L.248.136H.26A.104.104 0 0 0 .28.134a.01.01 0 0 1 .004 0h.003L.289.133h.006A.18.18 0 0 1 .313.131h.011L.327.13H.33L.348.128h.009L.364.127h.004L.37.126h.011L.388.125a.01.01 0 0 0 .003 0h.004z"
|
|
6
|
+
fill="#7483AB" />
|
|
7
|
+
</clipPath>
|
|
8
|
+
</defs>
|
|
9
|
+
</svg>
|
package/es/avatar/favicon.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg id="svg" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400" viewBox="0, 0, 400,400"><g id="svgg"><path id="path0" d="M362.399 183.953 C 362.343 184.012,361.968 184.103,361.566 184.156 C 360.567 184.286,357.811 185.283,357.384 185.669 C 357.193 185.842,357.037 185.924,357.037 185.851 C 357.037 185.779,356.550 186.094,355.955 186.552 C 354.717 187.504,352.963 189.358,352.963 189.714 C 352.963 189.847,352.838 190.058,352.685 190.185 C 352.532 190.312,352.407 190.572,352.407 190.763 C 352.407 190.955,352.333 191.111,352.242 191.111 C 351.716 191.111,351.297 195.347,351.659 197.013 C 351.920 198.218,352.629 199.831,353.050 200.181 C 353.210 200.313,353.478 200.711,353.646 201.065 C 353.936 201.676,356.527 204.074,356.898 204.074 C 356.994 204.074,357.317 204.249,357.617 204.462 C 357.916 204.675,358.263 204.865,358.386 204.884 C 358.510 204.902,358.701 204.974,358.811 205.043 C 360.424 206.052,364.615 206.572,367.465 206.117 C 369.332 205.818,372.535 204.617,372.858 204.094 C 372.930 203.978,373.057 203.925,373.141 203.977 C 373.346 204.104,376.132 201.315,376.481 200.634 C 376.634 200.336,376.836 200.037,376.931 199.969 C 377.026 199.900,377.124 199.734,377.150 199.598 C 377.175 199.463,377.384 198.852,377.615 198.241 C 378.476 195.955,378.044 191.958,376.752 190.254 C 376.510 189.936,376.353 189.635,376.402 189.586 C 376.578 189.409,373.134 186.308,372.270 185.866 C 371.785 185.618,371.139 185.280,370.833 185.116 C 370.528 184.951,370.169 184.817,370.037 184.816 C 369.905 184.815,369.561 184.693,369.272 184.544 C 368.488 184.138,362.694 183.640,362.399 183.953 M366.918 190.290 C 371.367 191.422,373.379 195.072,371.031 197.751 C 370.637 198.200,369.054 199.358,368.889 199.318 C 368.838 199.306,368.630 199.388,368.426 199.501 C 368.222 199.613,367.854 199.735,367.607 199.771 C 367.360 199.807,367.027 199.903,366.866 199.986 C 365.962 200.450,362.466 199.980,360.840 199.177 C 354.056 195.823,359.186 188.321,366.918 190.290 M349.113 219.013 C 346.682 220.210,346.860 221.408,350.366 227.429 C 351.871 230.014,353.075 232.161,353.040 232.200 C 353.005 232.238,351.778 232.036,350.312 231.750 L 347.647 231.231 346.750 231.680 C 344.579 232.768,344.410 235.873,346.464 236.935 C 346.974 237.199,368.280 241.481,369.084 241.481 C 371.162 241.481,372.619 238.848,371.553 237.022 C 370.914 235.928,370.283 235.658,366.818 235.001 C 365.054 234.666,363.509 234.354,363.384 234.308 C 363.258 234.261,365.467 232.556,368.291 230.519 C 371.115 228.481,373.621 226.636,373.860 226.417 C 375.825 224.616,374.530 221.296,371.864 221.296 C 370.804 221.296,370.668 221.380,364.958 225.514 C 362.180 227.525,359.652 229.352,359.341 229.573 L 358.774 229.975 356.025 225.219 C 352.084 218.400,351.471 217.850,349.113 219.013 M346.031 248.168 C 343.002 248.782,339.239 251.550,337.725 254.277 C 334.046 260.903,338.824 270.714,346.574 272.446 C 357.109 274.802,364.361 268.074,362.237 257.915 C 361.594 254.836,361.176 254.352,359.159 254.352 C 356.695 254.352,356.003 255.584,356.653 258.812 C 357.528 263.163,356.619 265.504,353.600 266.667 C 348.335 268.696,342.499 265.129,342.085 259.629 C 341.844 256.440,346.068 252.927,348.984 253.890 L 349.678 254.119 349.565 255.194 C 349.402 256.753,348.862 258.009,347.703 259.521 C 346.191 261.495,346.179 263.382,347.671 264.359 C 352.204 267.330,357.794 255.463,354.123 250.662 C 352.691 248.789,348.833 247.600,346.031 248.168 M328.538 276.022 C 324.728 277.092,322.055 280.492,321.973 284.376 L 321.944 285.696 321.481 285.520 C 318.962 284.560,316.630 288.071,318.342 290.247 C 318.680 290.676,332.856 300.443,334.982 301.711 C 337.574 303.258,340.537 300.820,339.376 298.096 C 339.020 297.260,338.806 297.093,333.519 293.512 C 330.921 291.753,328.774 290.298,328.748 290.278 C 328.721 290.258,328.834 289.919,328.999 289.525 C 329.411 288.537,329.253 287.439,328.542 286.367 C 326.904 283.894,328.381 281.806,331.790 281.774 L 333.303 281.759 333.608 282.450 C 334.103 283.574,343.213 289.666,344.565 289.778 C 347.382 290.012,348.912 286.575,346.823 284.704 C 346.584 284.490,344.361 282.948,341.883 281.278 L 337.377 278.241 336.157 278.223 C 335.045 278.206,334.922 278.165,334.772 277.760 C 334.146 276.068,331.250 275.260,328.538 276.022 M307.186 301.557 C 306.402 301.787,305.425 302.197,305.014 302.469 C 304.603 302.741,304.200 302.963,304.117 302.963 C 303.484 302.963,300.853 306.545,300.575 307.787 C 299.843 311.051,299.803 311.388,299.992 312.720 C 300.381 315.464,301.693 318.631,303.081 320.175 C 303.526 320.669,303.889 321.144,303.890 321.231 C 303.891 321.318,304.358 321.764,304.928 322.222 C 305.498 322.681,306.185 323.255,306.455 323.498 C 306.863 323.867,308.319 324.621,310.093 325.381 C 313.845 326.990,319.420 325.776,321.784 322.835 C 322.178 322.345,322.546 321.903,322.601 321.852 C 326.269 318.505,323.943 308.109,318.699 304.411 C 318.090 303.982,317.593 303.577,317.593 303.511 C 317.593 303.446,316.905 303.081,316.065 302.701 C 315.225 302.320,314.412 301.945,314.259 301.867 C 312.916 301.176,309.061 301.007,307.186 301.557 M311.693 307.561 C 315.832 308.709,319.570 314.314,318.075 317.130 C 317.913 317.435,317.780 317.770,317.779 317.874 C 317.778 317.979,317.528 318.366,317.223 318.736 C 315.269 321.107,310.633 319.946,307.971 316.421 C 304.235 311.473,306.485 306.117,311.693 307.561 " stroke="none" fill="#fbfbfb" fill-rule="evenodd"></path><path id="path1" d="M165.926 54.629 C 165.773 54.718,161.398 55.091,156.204 55.457 C 147.148 56.096,134.537 57.007,129.259 57.403 C 127.884 57.507,124.843 57.723,122.500 57.884 C 120.157 58.045,118.074 58.244,117.870 58.327 C 117.667 58.410,116.292 58.576,114.815 58.695 C 113.338 58.814,110.755 59.030,109.074 59.175 C 107.394 59.320,104.269 59.524,102.130 59.630 C 99.991 59.735,96.741 59.941,94.907 60.088 C 93.074 60.234,90.657 60.403,89.537 60.464 C 85.779 60.668,82.973 61.095,81.667 61.661 C 81.005 61.948,80.026 62.274,79.491 62.386 C 77.356 62.831,75.042 64.228,71.959 66.932 C 70.619 68.107,62.963 75.706,62.963 75.862 C 62.963 75.911,62.517 76.424,61.972 77.003 C 60.277 78.804,58.459 80.812,57.657 81.768 C 57.235 82.273,56.532 83.102,56.097 83.611 C 55.661 84.120,54.655 85.370,53.861 86.389 C 53.067 87.407,52.269 88.405,52.088 88.605 C 51.257 89.528,49.817 91.407,49.813 91.574 C 49.812 91.676,49.312 92.343,48.704 93.056 C 48.095 93.769,47.477 94.602,47.329 94.907 C 47.182 95.213,46.910 95.634,46.725 95.843 C 46.540 96.053,46.306 96.355,46.204 96.515 C 45.367 97.830,42.171 102.568,41.948 102.824 C 41.793 103.002,41.669 103.211,41.673 103.287 C 41.676 103.363,41.496 103.647,41.272 103.918 C 40.843 104.438,39.946 105.920,39.637 106.620 C 39.536 106.850,39.382 107.037,39.295 107.037 C 39.207 107.037,39.132 107.141,39.128 107.269 C 39.121 107.457,38.134 109.165,35.891 112.870 C 35.767 113.074,35.648 113.346,35.627 113.475 C 35.583 113.736,34.460 115.780,34.281 115.926 C 34.218 115.977,33.816 116.727,33.387 117.593 C 32.958 118.458,32.486 119.375,32.339 119.630 C 32.192 119.884,31.803 120.738,31.474 121.528 C 31.145 122.317,30.804 122.963,30.716 122.963 C 30.628 122.963,30.556 123.042,30.556 123.139 C 30.556 123.236,30.189 124.090,29.741 125.037 C 29.293 125.984,28.676 127.384,28.369 128.148 C 28.063 128.912,27.664 129.870,27.483 130.278 C 27.302 130.685,27.169 131.081,27.188 131.157 C 27.207 131.234,27.147 131.296,27.055 131.296 C 26.963 131.296,26.803 131.525,26.700 131.806 C 26.596 132.086,26.004 133.644,25.385 135.268 C 24.766 136.892,24.259 138.330,24.259 138.463 C 24.259 138.595,24.194 138.704,24.113 138.704 C 24.033 138.704,23.955 138.873,23.939 139.079 C 23.924 139.286,23.707 139.890,23.458 140.422 C 22.963 141.479,21.965 144.367,21.764 145.324 C 21.694 145.655,21.561 145.926,21.467 145.926 C 21.373 145.926,21.296 146.124,21.296 146.366 C 21.296 146.747,20.993 147.796,20.621 148.704 C 20.558 148.856,20.482 149.168,20.451 149.396 C 20.383 149.911,20.014 151.089,19.776 151.551 C 19.588 151.916,19.350 152.776,18.591 155.833 C 18.338 156.852,18.082 157.810,18.022 157.963 C 17.963 158.116,17.889 158.431,17.858 158.663 C 17.742 159.539,17.344 161.111,17.239 161.111 C 17.179 161.111,17.118 161.299,17.104 161.528 C 17.054 162.351,16.622 164.539,16.492 164.630 C 16.133 164.879,13.704 179.566,13.704 181.483 C 13.704 181.788,13.615 182.037,13.508 182.037 C 13.400 182.037,13.364 182.121,13.427 182.225 C 13.574 182.462,12.974 189.594,12.766 190.093 C 12.080 191.736,12.084 217.204,12.771 218.796 C 12.859 219.000,13.025 220.375,13.139 221.852 C 13.430 225.613,13.466 225.960,13.989 229.907 C 14.724 235.461,16.226 244.057,16.497 244.259 C 16.613 244.346,16.909 245.680,16.949 246.296 C 16.959 246.449,17.017 246.699,17.078 246.852 C 17.306 247.421,17.606 248.937,17.510 249.033 C 17.455 249.088,17.492 249.231,17.593 249.352 C 17.693 249.472,17.806 249.813,17.844 250.110 C 17.883 250.406,17.965 250.773,18.027 250.926 C 18.089 251.079,18.355 252.079,18.617 253.148 C 19.183 255.456,19.562 256.722,19.939 257.559 C 20.091 257.897,20.169 258.293,20.113 258.439 C 20.057 258.585,20.083 258.704,20.169 258.704 C 20.256 258.704,20.371 258.891,20.425 259.120 C 20.715 260.365,21.367 262.576,21.593 263.084 C 21.735 263.404,21.852 263.769,21.852 263.894 C 21.852 264.185,23.440 268.570,23.792 269.250 C 23.939 269.535,24.003 269.825,23.933 269.894 C 23.864 269.963,23.893 270.078,23.997 270.149 C 24.102 270.220,24.423 270.944,24.712 271.759 C 25.524 274.052,26.884 277.490,27.020 277.593 C 27.195 277.726,28.149 280.046,28.149 280.337 C 28.148 280.472,28.273 280.707,28.426 280.860 C 28.578 281.012,28.757 281.360,28.822 281.633 C 28.887 281.906,29.304 282.893,29.748 283.826 C 30.192 284.759,30.556 285.607,30.556 285.709 C 30.556 285.811,30.629 285.923,30.719 285.957 C 30.809 285.991,31.603 287.477,32.483 289.259 C 33.364 291.042,34.464 293.167,34.928 293.981 C 35.392 294.796,35.788 295.546,35.808 295.648 C 35.839 295.812,37.361 298.476,38.173 299.789 C 38.340 300.058,39.012 301.194,39.668 302.315 C 40.324 303.435,41.209 304.810,41.633 305.370 C 42.058 305.931,42.406 306.460,42.407 306.547 C 42.407 306.634,43.217 307.884,44.206 309.325 C 45.195 310.766,46.512 312.694,47.131 313.611 C 47.751 314.528,48.525 315.567,48.851 315.921 C 49.177 316.275,49.444 316.662,49.444 316.781 C 49.444 316.900,49.569 317.045,49.722 317.104 C 49.875 317.163,50.000 317.295,50.000 317.399 C 50.000 317.561,51.277 319.292,52.259 320.463 C 53.177 321.557,54.259 322.951,54.259 323.039 C 54.259 323.094,54.711 323.606,55.263 324.176 C 55.816 324.747,56.280 325.269,56.295 325.338 C 56.329 325.490,58.255 327.775,59.212 328.799 C 59.595 329.207,60.310 329.999,60.802 330.558 C 63.491 333.611,68.592 338.808,71.890 341.852 C 72.717 342.616,74.049 343.881,74.850 344.664 C 76.746 346.520,79.000 348.326,79.815 348.643 C 80.171 348.782,80.713 349.015,81.019 349.162 C 82.790 350.012,91.249 350.676,91.668 349.997 C 91.747 349.869,92.850 349.769,94.647 349.727 C 98.120 349.645,100.769 349.447,101.020 349.250 C 101.122 349.169,102.622 349.044,104.353 348.972 C 106.084 348.900,107.603 348.759,107.729 348.659 C 107.855 348.559,108.147 348.523,108.377 348.579 C 108.608 348.635,110.338 348.603,112.222 348.508 C 114.106 348.413,116.398 348.307,117.315 348.271 C 121.655 348.105,127.194 347.744,127.778 347.590 C 128.134 347.497,130.093 347.374,132.130 347.318 C 134.167 347.262,137.250 347.087,138.981 346.928 C 142.365 346.618,145.778 346.367,148.889 346.200 C 149.958 346.143,151.083 346.021,151.389 345.930 C 151.694 345.839,153.028 345.709,154.352 345.642 C 155.676 345.576,157.093 345.442,157.500 345.345 C 157.907 345.248,158.771 345.050,159.419 344.904 C 161.913 344.345,164.715 341.743,165.660 339.109 C 165.831 338.631,166.103 337.949,166.265 337.593 C 167.192 335.553,165.804 330.277,163.757 328.056 C 163.569 327.852,163.175 327.269,162.882 326.759 C 162.588 326.250,162.190 325.628,161.996 325.377 C 161.658 324.939,161.657 324.915,161.979 324.788 C 162.250 324.681,162.257 324.653,162.019 324.643 C 161.734 324.630,160.916 323.889,161.188 323.889 C 161.262 323.889,161.192 323.758,161.032 323.598 C 160.872 323.438,160.741 323.199,160.741 323.068 C 160.741 322.937,160.390 322.213,159.962 321.461 C 158.333 318.597,157.070 315.760,158.044 317.149 C 159.006 318.522,165.596 322.506,167.826 323.062 C 168.107 323.132,168.383 323.263,168.439 323.354 C 168.495 323.444,168.662 323.519,168.811 323.519 C 169.038 323.519,171.577 324.437,172.870 324.987 C 173.074 325.074,173.616 325.246,174.074 325.369 C 174.532 325.493,174.991 325.659,175.093 325.739 C 175.194 325.819,175.632 325.942,176.064 326.014 C 176.496 326.085,176.897 326.219,176.954 326.312 C 177.012 326.405,177.263 326.481,177.513 326.481 C 177.763 326.481,178.113 326.558,178.290 326.651 C 178.466 326.744,179.111 326.920,179.722 327.042 C 180.333 327.164,180.920 327.333,181.026 327.418 C 181.131 327.503,181.789 327.664,182.488 327.776 C 183.186 327.887,183.906 328.058,184.089 328.156 C 184.271 328.254,184.703 328.333,185.050 328.333 C 185.396 328.333,185.736 328.391,185.806 328.461 C 185.876 328.531,186.078 328.601,186.254 328.617 C 187.291 328.710,188.637 328.950,188.796 329.069 C 188.898 329.146,189.648 329.264,190.463 329.331 C 191.278 329.399,192.528 329.538,193.241 329.641 C 196.360 330.091,197.629 330.159,202.963 330.159 C 208.306 330.159,209.289 330.106,212.870 329.630 C 213.685 329.521,214.977 329.357,215.741 329.266 C 216.505 329.174,217.742 328.968,218.491 328.809 C 219.240 328.650,219.921 328.562,220.006 328.615 C 220.090 328.667,220.212 328.625,220.276 328.522 C 220.340 328.418,220.704 328.333,221.085 328.333 C 221.466 328.333,221.857 328.258,221.954 328.165 C 222.050 328.073,222.750 327.903,223.508 327.788 C 224.267 327.672,224.975 327.509,225.082 327.424 C 225.190 327.339,225.736 327.166,226.296 327.040 C 226.856 326.914,227.506 326.736,227.740 326.646 C 227.974 326.555,228.319 326.481,228.506 326.481 C 228.693 326.481,229.085 326.357,229.377 326.205 C 229.669 326.053,230.132 325.928,230.406 325.927 C 230.680 325.926,230.949 325.854,231.003 325.766 C 231.057 325.678,231.500 325.505,231.986 325.382 C 232.472 325.258,233.015 325.080,233.191 324.987 C 233.827 324.648,236.952 323.521,237.258 323.520 C 237.430 323.519,237.618 323.441,237.677 323.347 C 237.735 323.252,238.094 323.077,238.475 322.957 C 241.022 322.156,245.471 319.476,247.665 317.422 C 248.164 316.956,248.535 316.657,248.490 316.759 C 248.445 316.861,248.324 317.153,248.220 317.407 C 247.405 319.412,244.422 324.629,244.088 324.632 C 243.870 324.635,243.856 324.673,244.030 324.784 C 244.203 324.893,244.000 325.342,243.256 326.494 C 240.915 330.118,239.704 332.743,239.512 334.607 C 239.096 338.650,242.793 344.086,246.459 344.823 C 247.031 344.938,247.651 345.112,247.837 345.210 C 248.022 345.309,249.438 345.470,250.985 345.569 C 252.531 345.667,254.213 345.831,254.722 345.932 C 255.231 346.034,256.440 346.159,257.407 346.212 C 259.983 346.351,263.554 346.615,267.130 346.929 C 268.861 347.081,271.986 347.257,274.074 347.320 C 276.162 347.384,278.037 347.505,278.241 347.591 C 278.603 347.743,285.852 348.193,288.796 348.247 C 289.611 348.261,290.653 348.332,291.111 348.402 C 291.569 348.473,293.361 348.560,295.093 348.596 C 296.824 348.632,298.366 348.706,298.519 348.761 C 298.671 348.816,300.171 348.916,301.852 348.984 C 303.532 349.051,304.991 349.172,305.093 349.251 C 305.339 349.444,307.975 349.645,311.371 349.729 C 312.946 349.769,314.215 349.882,314.325 349.992 C 314.558 350.225,322.153 350.262,322.295 350.031 C 322.348 349.947,322.873 349.773,323.464 349.644 C 324.449 349.430,325.987 348.832,326.974 348.280 C 327.824 347.804,330.567 345.312,333.794 342.083 C 334.533 341.345,335.216 340.741,335.313 340.741 C 335.479 340.741,337.593 338.801,337.593 338.649 C 337.593 338.537,339.211 336.852,339.318 336.852 C 339.467 336.852,341.296 334.977,341.296 334.825 C 341.296 334.685,342.061 333.888,343.684 332.337 C 344.204 331.841,344.630 331.360,344.630 331.270 C 344.630 331.179,345.020 330.731,345.496 330.275 C 345.973 329.818,346.300 329.444,346.223 329.444 C 346.146 329.444,346.360 329.217,346.699 328.938 C 347.292 328.451,347.670 327.996,347.680 327.756 C 347.683 327.694,347.956 327.390,348.287 327.080 C 348.618 326.771,348.889 326.459,348.889 326.387 C 348.889 326.249,349.283 325.789,350.401 324.626 C 350.775 324.238,351.043 323.882,350.997 323.837 C 350.952 323.791,351.128 323.614,351.389 323.443 C 351.650 323.272,351.817 323.056,351.759 322.963 C 351.702 322.870,351.868 322.654,352.130 322.483 C 352.391 322.312,352.565 322.133,352.518 322.086 C 352.471 322.039,352.656 321.760,352.929 321.466 C 353.789 320.542,354.074 320.189,354.077 320.046 C 354.079 319.970,354.308 319.636,354.586 319.305 C 354.865 318.974,355.235 318.516,355.409 318.287 C 355.583 318.058,355.935 317.611,356.191 317.294 C 356.447 316.977,356.605 316.667,356.542 316.604 C 356.480 316.541,356.565 316.438,356.733 316.373 C 356.900 316.309,357.037 316.146,357.037 316.011 C 357.037 315.876,357.204 315.713,357.407 315.648 C 357.611 315.583,357.778 315.415,357.778 315.275 C 357.778 315.134,357.882 314.952,358.009 314.870 C 358.241 314.722,358.437 314.415,359.153 313.079 C 359.364 312.684,359.641 312.321,359.769 312.272 C 359.896 312.223,360.000 312.086,360.000 311.969 C 360.000 311.851,360.290 311.423,360.645 311.016 C 360.999 310.610,361.291 310.178,361.293 310.055 C 361.295 309.933,361.400 309.767,361.528 309.685 C 361.799 309.512,362.187 308.933,362.342 308.472 C 362.402 308.294,362.524 308.148,362.614 308.148 C 362.704 308.148,362.778 308.023,362.778 307.870 C 362.778 307.718,362.851 307.593,362.940 307.593 C 363.030 307.593,363.214 307.322,363.350 306.991 C 363.486 306.660,363.746 306.227,363.928 306.030 C 364.110 305.832,364.259 305.592,364.259 305.496 C 364.259 305.399,364.447 305.138,364.676 304.916 C 365.053 304.550,365.426 303.937,366.259 302.315 C 366.416 302.009,366.657 301.692,366.794 301.609 C 366.932 301.526,366.996 301.381,366.937 301.285 C 366.878 301.189,366.923 301.111,367.037 301.111 C 367.151 301.111,367.199 301.039,367.145 300.951 C 367.090 300.862,367.210 300.641,367.412 300.459 C 367.613 300.277,367.778 300.031,367.778 299.914 C 367.778 299.796,367.928 299.538,368.112 299.340 C 368.296 299.143,368.474 298.898,368.508 298.796 C 368.693 298.232,369.354 297.037,369.481 297.037 C 369.563 297.037,369.630 296.918,369.630 296.772 C 369.630 296.627,369.760 296.378,369.919 296.218 C 370.078 296.059,370.157 295.845,370.093 295.742 C 370.030 295.640,370.071 295.556,370.185 295.556 C 370.299 295.556,370.341 295.472,370.278 295.370 C 370.215 295.269,370.252 295.185,370.359 295.185 C 370.467 295.185,370.556 295.070,370.556 294.930 C 370.556 294.790,370.681 294.571,370.833 294.444 C 370.986 294.318,371.111 294.064,371.111 293.880 C 371.111 293.697,371.304 293.311,371.540 293.023 C 371.776 292.736,372.077 292.232,372.208 291.904 C 372.340 291.577,372.563 291.212,372.705 291.095 C 372.847 290.977,372.963 290.730,372.963 290.546 C 372.963 290.362,373.075 290.100,373.212 289.963 C 373.349 289.826,373.605 289.278,373.782 288.746 C 373.959 288.213,374.170 287.778,374.251 287.778 C 374.332 287.778,374.446 287.549,374.504 287.269 C 374.563 286.988,374.807 286.551,375.047 286.296 C 375.286 286.042,375.593 285.438,375.728 284.954 C 375.863 284.470,376.047 284.074,376.135 284.074 C 376.224 284.074,376.296 283.918,376.296 283.726 C 376.296 283.535,376.420 283.276,376.572 283.150 C 376.724 283.024,376.802 282.847,376.746 282.757 C 376.690 282.666,376.722 282.593,376.817 282.593 C 376.912 282.593,377.042 282.265,377.106 281.865 C 377.170 281.465,377.347 281.012,377.500 280.860 C 377.653 280.707,377.778 280.422,377.778 280.227 C 377.778 280.031,377.939 279.685,378.137 279.458 C 378.334 279.230,378.455 278.939,378.406 278.811 C 378.357 278.683,378.445 278.471,378.603 278.340 C 378.760 278.210,378.889 278.003,378.889 277.882 C 378.889 277.760,379.139 277.172,379.444 276.574 C 379.750 275.977,380.000 275.336,380.000 275.151 C 380.000 274.966,380.083 274.815,380.185 274.815 C 380.287 274.815,380.370 274.644,380.370 274.435 C 380.370 274.226,380.495 273.814,380.648 273.519 C 380.800 273.224,380.954 272.832,380.990 272.649 C 381.025 272.465,381.157 272.065,381.281 271.759 C 381.406 271.454,381.554 270.975,381.611 270.694 C 381.667 270.414,381.786 270.185,381.875 270.185 C 381.964 270.185,382.037 270.067,382.037 269.922 C 382.037 269.778,382.176 269.382,382.346 269.043 C 382.915 267.908,382.963 267.784,382.964 267.456 C 382.965 267.277,383.090 266.891,383.242 266.599 C 383.394 266.307,383.519 265.932,383.520 265.766 C 383.520 265.599,383.634 265.247,383.771 264.983 C 383.909 264.719,384.081 264.188,384.153 263.803 C 384.226 263.418,384.352 262.967,384.434 262.801 C 384.593 262.483,384.745 261.983,385.301 259.954 C 385.525 259.136,385.737 258.704,385.914 258.704 C 386.109 258.704,386.129 258.647,385.985 258.503 C 385.841 258.360,385.864 258.144,386.065 257.741 C 386.344 257.181,386.591 256.332,386.782 255.278 C 386.837 254.972,386.959 254.643,387.052 254.546 C 387.146 254.450,387.222 254.200,387.221 253.991 C 387.219 253.511,387.829 251.050,387.981 250.926 C 388.043 250.875,388.101 250.550,388.110 250.203 C 388.118 249.857,388.226 249.511,388.349 249.435 C 388.472 249.359,388.520 249.159,388.455 248.990 C 388.390 248.821,388.458 248.394,388.605 248.041 C 388.753 247.687,388.827 247.275,388.769 247.125 C 388.711 246.975,388.762 246.852,388.881 246.852 C 389.000 246.852,389.083 246.706,389.064 246.528 C 389.046 246.350,389.046 246.162,389.063 246.111 C 389.081 246.060,389.130 245.686,389.173 245.279 C 389.215 244.872,389.377 244.446,389.532 244.332 C 389.698 244.211,389.819 243.828,389.825 243.406 C 389.830 243.009,390.001 241.894,390.204 240.926 C 390.407 239.958,390.607 238.917,390.647 238.611 C 390.687 238.306,390.850 237.315,391.008 236.411 C 391.167 235.506,391.296 234.569,391.296 234.328 C 391.296 234.086,391.359 233.889,391.435 233.889 C 391.512 233.888,391.581 233.534,391.589 233.101 C 391.607 232.139,392.213 227.237,392.361 226.852 C 392.420 226.699,392.481 226.324,392.498 226.019 C 392.645 223.255,392.838 221.172,392.961 221.019 C 393.810 219.953,393.807 188.141,392.957 187.593 C 392.813 187.499,392.501 184.242,392.506 182.870 C 392.507 182.463,392.460 182.088,392.400 182.037 C 392.283 181.937,391.625 176.801,391.594 175.741 C 391.583 175.384,391.527 175.051,391.469 175.000 C 391.412 174.949,391.218 173.866,391.039 172.593 C 390.656 169.860,390.642 169.780,390.372 168.706 C 390.152 167.828,390.013 166.951,389.868 165.509 C 389.808 164.920,389.693 164.630,389.519 164.630 C 389.376 164.630,389.248 164.442,389.234 164.213 C 389.156 162.930,389.070 162.375,388.897 162.053 C 388.792 161.855,388.755 161.562,388.817 161.402 C 388.878 161.242,388.846 161.111,388.744 161.111 C 388.547 161.111,388.044 158.824,388.123 158.287 C 388.150 158.109,388.092 157.963,387.995 157.963 C 387.821 157.963,387.590 157.098,387.475 156.019 C 387.367 155.002,387.182 154.259,387.037 154.259 C 386.883 154.259,386.683 153.435,386.597 152.448 C 386.568 152.114,386.447 151.743,386.328 151.624 C 386.209 151.505,386.111 151.251,386.111 151.061 C 386.111 150.870,385.986 150.589,385.833 150.437 C 385.567 150.170,385.475 149.721,385.546 149.028 C 385.564 148.850,385.497 148.704,385.397 148.704 C 385.206 148.704,384.899 147.666,384.973 147.269 C 384.997 147.141,384.929 147.037,384.823 147.037 C 384.717 147.037,384.630 146.787,384.630 146.481 C 384.630 146.176,384.554 145.926,384.461 145.926 C 384.368 145.926,384.233 145.572,384.162 145.139 C 384.091 144.706,383.969 144.269,383.892 144.167 C 383.658 143.856,383.102 142.015,383.102 141.549 C 383.102 141.308,383.032 141.111,382.947 141.111 C 382.862 141.111,382.693 140.778,382.571 140.370 C 382.449 139.963,382.279 139.630,382.193 139.630 C 382.107 139.630,382.037 139.421,382.037 139.167 C 382.037 138.912,381.971 138.704,381.890 138.704 C 381.737 138.704,381.212 137.064,381.275 136.782 C 381.295 136.693,381.195 136.485,381.052 136.319 C 380.909 136.154,380.511 135.185,380.167 134.167 C 379.822 133.148,379.489 132.273,379.425 132.222 C 379.301 132.123,378.996 131.239,379.055 131.151 C 379.075 131.122,378.920 130.881,378.712 130.617 C 378.504 130.352,378.333 129.987,378.333 129.805 C 378.333 129.624,378.265 129.448,378.182 129.414 C 378.098 129.380,377.899 128.977,377.740 128.519 C 377.216 127.012,376.948 126.392,376.713 126.144 C 376.586 126.010,376.475 125.843,376.466 125.774 C 376.458 125.705,376.430 125.469,376.406 125.251 C 376.381 125.032,376.228 124.720,376.066 124.558 C 375.904 124.396,375.715 124.009,375.647 123.698 C 375.578 123.386,375.317 122.927,375.066 122.676 C 374.815 122.425,374.656 122.144,374.713 122.051 C 374.770 121.959,374.741 121.856,374.648 121.821 C 374.555 121.787,374.450 121.593,374.415 121.389 C 374.380 121.185,374.248 120.908,374.120 120.774 C 373.993 120.639,373.889 120.348,373.889 120.126 C 373.889 119.904,373.680 119.480,373.426 119.184 C 373.171 118.888,372.963 118.498,372.963 118.318 C 372.963 118.137,372.850 117.876,372.711 117.738 C 372.573 117.600,372.344 117.161,372.202 116.762 C 372.060 116.364,371.719 115.790,371.444 115.487 C 371.169 115.184,370.986 114.867,371.038 114.783 C 371.090 114.699,371.048 114.630,370.944 114.630 C 370.840 114.630,370.661 114.279,370.545 113.850 C 370.430 113.421,370.231 112.984,370.104 112.878 C 369.976 112.772,369.760 112.394,369.623 112.037 C 369.486 111.681,369.265 111.322,369.131 111.241 C 368.998 111.159,368.889 110.951,368.888 110.778 C 368.888 110.605,368.642 110.175,368.341 109.823 C 368.040 109.470,367.828 109.147,367.871 109.105 C 367.913 109.062,367.702 108.668,367.400 108.230 C 367.099 107.792,366.852 107.353,366.852 107.255 C 366.852 107.157,366.727 107.029,366.574 106.970 C 366.421 106.911,366.296 106.735,366.296 106.577 C 366.296 106.265,365.966 105.622,365.602 105.225 C 365.475 105.087,365.370 104.863,365.370 104.729 C 365.370 104.594,365.245 104.436,365.093 104.377 C 364.940 104.319,364.815 104.143,364.815 103.987 C 364.815 103.831,364.690 103.704,364.537 103.704 C 364.383 103.704,364.259 103.539,364.259 103.333 C 364.259 103.130,364.186 102.963,364.096 102.963 C 364.006 102.963,363.879 102.817,363.813 102.639 C 363.601 102.060,363.117 101.265,362.758 100.907 C 362.565 100.713,362.407 100.439,362.407 100.298 C 362.407 100.156,362.282 99.992,362.130 99.933 C 361.977 99.874,361.852 99.699,361.852 99.543 C 361.852 99.387,361.769 99.259,361.667 99.259 C 361.565 99.259,361.481 99.150,361.481 99.016 C 361.481 98.883,361.315 98.595,361.111 98.376 C 360.907 98.157,360.741 97.901,360.741 97.805 C 360.741 97.710,360.616 97.584,360.463 97.526 C 360.310 97.467,360.185 97.304,360.185 97.162 C 360.185 97.021,359.998 96.702,359.769 96.453 C 359.243 95.882,358.333 94.507,358.333 94.283 C 358.333 94.190,358.208 94.066,358.056 94.007 C 357.903 93.948,357.778 93.779,357.778 93.630 C 357.778 93.480,357.544 93.192,357.259 92.989 C 356.974 92.786,356.512 92.200,356.232 91.686 C 355.776 90.847,355.053 89.920,353.981 88.797 C 353.778 88.583,353.509 88.183,353.384 87.908 C 353.258 87.633,353.071 87.407,352.967 87.407 C 352.863 87.407,352.778 87.287,352.778 87.139 C 352.778 86.991,352.672 86.804,352.543 86.722 C 352.414 86.641,351.894 86.043,351.386 85.394 C 350.878 84.746,350.234 84.003,349.954 83.743 C 349.674 83.484,349.444 83.190,349.444 83.090 C 349.444 82.990,349.153 82.625,348.796 82.278 C 348.440 81.932,348.148 81.608,348.148 81.557 C 348.148 81.390,347.697 80.886,346.397 79.604 C 345.689 78.905,345.160 78.333,345.222 78.333 C 345.343 78.333,343.856 76.681,342.222 75.001 C 341.662 74.425,340.807 73.523,340.322 72.996 C 339.837 72.468,339.385 72.037,339.319 72.037 C 339.210 72.037,338.136 70.937,337.118 69.784 C 336.908 69.546,336.124 68.810,335.377 68.148 C 334.629 67.486,333.884 66.790,333.721 66.602 C 333.365 66.188,331.189 64.566,329.907 63.758 C 328.832 63.080,327.443 62.515,326.389 62.325 C 325.981 62.251,325.106 61.955,324.444 61.665 C 323.138 61.094,320.353 60.669,316.574 60.464 C 315.454 60.403,313.037 60.234,311.204 60.088 C 309.370 59.941,306.120 59.735,303.981 59.630 C 301.843 59.524,298.718 59.320,297.037 59.175 C 295.356 59.030,292.773 58.814,291.296 58.695 C 289.819 58.576,288.444 58.410,288.241 58.327 C 288.037 58.244,285.912 58.042,283.519 57.877 C 281.125 57.713,278.125 57.499,276.852 57.403 C 272.765 57.094,256.822 55.943,248.519 55.358 C 244.088 55.046,240.318 54.713,240.141 54.618 C 239.809 54.439,237.725 54.373,237.562 54.537 C 237.511 54.588,235.768 54.655,233.688 54.686 C 226.653 54.791,224.125 55.984,222.913 59.769 C 221.575 63.951,221.670 63.046,221.589 72.407 C 221.518 80.611,221.337 83.687,220.547 90.185 C 220.107 93.801,219.254 99.128,219.094 99.259 C 219.032 99.310,218.958 99.685,218.930 100.093 C 218.902 100.500,218.805 101.000,218.715 101.204 C 218.624 101.407,218.121 103.366,217.597 105.556 C 216.599 109.723,215.239 114.471,214.999 114.630 C 214.921 114.681,214.565 115.556,214.207 116.574 C 213.849 117.593,213.378 118.926,213.160 119.537 C 211.693 123.651,206.082 133.431,203.788 135.873 L 203.056 136.653 202.306 135.873 C 200.256 133.739,194.010 122.980,193.175 120.144 C 192.935 119.330,191.515 115.597,191.192 114.935 C 190.717 113.958,188.638 106.600,188.228 104.444 C 188.160 104.088,188.057 103.716,187.999 103.619 C 187.941 103.521,187.871 103.231,187.844 102.974 C 187.816 102.716,187.709 102.338,187.606 102.132 C 187.241 101.410,186.083 94.562,185.476 89.537 C 184.784 83.817,184.592 80.364,184.515 72.222 C 184.432 63.457,184.374 62.893,183.303 60.370 C 183.195 60.116,183.068 59.668,183.020 59.374 C 182.972 59.081,182.855 58.748,182.760 58.634 C 182.664 58.519,182.399 58.134,182.170 57.778 C 180.808 55.660,177.741 54.722,172.176 54.722 C 170.165 54.722,168.519 54.660,168.519 54.583 C 168.518 54.390,166.266 54.430,165.926 54.629 M162.968 64.297 C 163.427 64.484,163.850 64.515,164.444 64.407 C 167.770 63.800,171.165 66.268,171.615 69.618 C 171.670 70.032,171.767 70.370,171.830 70.370 C 171.964 70.370,171.971 70.539,172.083 76.389 C 172.320 88.671,172.865 96.044,173.905 101.019 C 174.011 101.528,174.295 103.111,174.536 104.537 C 175.342 109.318,177.826 118.573,179.207 121.944 C 179.458 122.556,180.061 123.889,180.549 124.907 C 181.037 125.926,181.793 127.551,182.230 128.519 C 186.728 138.474,195.373 147.789,201.076 148.823 C 201.330 148.869,201.672 148.975,201.834 149.059 C 202.370 149.335,204.041 149.145,205.648 148.626 C 205.750 148.593,205.875 148.572,205.926 148.579 C 206.173 148.616,210.108 146.339,210.669 145.834 C 210.783 145.732,211.241 145.358,211.688 145.003 C 214.584 142.702,218.930 137.608,220.459 134.722 C 220.621 134.417,220.954 133.833,221.199 133.426 C 221.584 132.784,222.354 131.357,223.397 129.352 C 223.556 129.046,223.861 128.380,224.076 127.870 C 224.291 127.361,224.786 126.278,225.177 125.463 C 226.633 122.428,227.777 119.638,227.779 119.117 C 227.780 118.940,227.901 118.565,228.048 118.282 C 228.196 118.000,228.400 117.314,228.503 116.759 C 228.605 116.204,228.818 115.502,228.974 115.199 C 229.131 114.896,229.261 114.498,229.262 114.315 C 229.264 114.131,229.431 113.356,229.634 112.593 C 229.988 111.260,230.057 110.960,230.303 109.722 C 230.364 109.417,230.481 109.081,230.565 108.977 C 230.648 108.873,230.757 108.456,230.807 108.051 C 230.988 106.567,231.360 104.718,231.511 104.546 C 231.597 104.450,231.668 103.991,231.670 103.528 C 231.671 103.064,231.797 102.185,231.949 101.574 C 232.270 100.288,232.378 99.601,232.677 96.944 C 232.757 96.231,232.888 95.565,232.967 95.463 C 233.124 95.261,233.282 92.900,233.421 88.704 C 233.619 82.708,233.754 80.268,233.897 80.090 C 234.076 79.865,234.005 77.638,233.803 77.172 C 233.672 76.869,233.731 75.614,233.961 73.796 C 234.013 73.389,234.098 72.257,234.150 71.280 C 234.202 70.304,234.345 69.262,234.467 68.966 C 234.590 68.669,234.676 68.363,234.660 68.287 C 234.643 68.211,234.727 68.148,234.846 68.148 C 234.965 68.148,235.009 68.096,234.946 68.032 C 234.454 67.541,237.532 64.757,238.859 64.493 C 239.816 64.301,240.847 64.271,241.719 64.408 C 242.478 64.527,242.762 64.503,242.946 64.306 C 243.078 64.165,243.300 64.093,243.439 64.146 C 243.578 64.199,243.738 64.169,243.793 64.079 C 243.849 63.988,244.123 63.960,244.401 64.016 C 244.680 64.072,245.282 64.116,245.741 64.115 C 246.199 64.113,246.657 64.165,246.759 64.229 C 246.861 64.294,247.403 64.364,247.963 64.387 C 249.530 64.449,251.204 64.571,251.204 64.623 C 251.204 64.649,251.704 64.697,252.315 64.730 C 253.395 64.788,255.054 64.917,256.944 65.090 C 258.406 65.224,260.005 65.350,261.115 65.418 C 261.677 65.453,262.219 65.530,262.319 65.589 C 262.505 65.700,265.639 65.953,267.778 66.031 C 268.440 66.055,269.023 66.094,269.074 66.116 C 269.125 66.139,269.583 66.176,270.093 66.198 C 271.066 66.240,273.651 66.446,274.907 66.582 C 275.315 66.626,276.106 66.699,276.667 66.744 C 277.227 66.790,277.685 66.840,277.685 66.857 C 277.685 66.873,278.144 66.912,278.704 66.943 C 279.653 66.995,281.891 67.157,283.611 67.298 C 284.019 67.331,284.352 67.380,284.352 67.406 C 284.352 67.457,285.974 67.579,287.593 67.649 C 288.153 67.673,288.694 67.743,288.796 67.805 C 289.006 67.932,292.036 68.148,293.981 68.174 C 294.694 68.184,295.361 68.242,295.463 68.303 C 295.565 68.364,295.981 68.430,296.389 68.450 C 296.796 68.469,297.838 68.533,298.704 68.592 C 299.569 68.650,301.153 68.749,302.222 68.811 C 303.292 68.874,304.250 68.989,304.352 69.069 C 304.454 69.148,304.995 69.225,305.556 69.239 C 306.116 69.252,307.032 69.296,307.593 69.335 C 308.153 69.375,309.611 69.465,310.833 69.536 C 312.056 69.606,313.163 69.753,313.295 69.861 C 313.465 70.002,313.596 69.997,313.749 69.844 C 314.011 69.581,315.490 69.559,315.648 69.815 C 315.711 69.917,316.201 70.000,316.738 70.000 C 320.149 70.000,323.825 72.324,330.388 78.626 C 331.953 80.129,335.316 83.962,337.151 86.332 C 337.363 86.606,338.002 87.356,338.570 87.999 C 341.173 90.941,344.620 95.087,346.007 96.944 C 346.843 98.065,348.271 99.983,349.180 101.206 C 351.959 104.946,357.274 113.243,359.085 116.667 C 360.027 118.449,361.119 120.478,361.511 121.174 C 361.902 121.871,362.176 122.517,362.119 122.610 C 362.062 122.702,362.101 122.778,362.205 122.778 C 362.310 122.778,362.351 122.894,362.297 123.036 C 362.242 123.179,362.358 123.408,362.555 123.546 C 362.752 123.683,362.920 123.838,362.929 123.889 C 362.954 124.032,364.522 127.404,365.878 130.231 C 366.550 131.632,367.183 132.778,367.285 132.778 C 367.386 132.778,367.419 132.828,367.359 132.888 C 367.298 132.949,367.540 133.637,367.896 134.416 C 368.253 135.196,368.783 136.458,369.075 137.222 C 370.248 140.296,371.371 143.347,372.041 145.278 C 372.429 146.398,373.000 147.878,373.311 148.566 C 373.621 149.254,374.251 151.129,374.711 152.733 C 375.171 154.336,375.884 156.648,376.295 157.870 C 376.707 159.093,377.252 161.218,377.507 162.593 C 377.762 163.968,378.090 165.676,378.234 166.389 C 379.749 173.849,380.938 182.049,381.295 187.500 C 381.409 189.231,381.583 191.106,381.682 191.667 C 381.782 192.227,381.945 194.477,382.044 196.667 C 382.534 207.415,382.238 214.791,380.949 223.889 C 379.877 231.463,379.488 234.053,379.266 235.093 C 379.179 235.500,379.050 236.375,378.981 237.037 C 378.701 239.687,377.633 244.037,374.659 254.630 C 372.472 262.422,367.258 276.050,363.891 282.778 C 360.308 289.936,356.680 296.481,356.296 296.481 C 356.207 296.481,355.657 297.252,355.075 298.194 C 352.895 301.722,349.021 307.357,343.921 314.423 C 337.855 322.826,322.178 338.900,318.412 340.578 C 317.397 341.031,314.394 341.533,313.346 341.426 C 310.902 341.177,307.343 340.885,302.778 340.558 C 299.977 340.358,294.810 339.989,291.296 339.738 C 287.782 339.487,282.449 339.191,279.444 339.081 C 273.721 338.871,272.219 338.759,266.759 338.138 C 256.815 337.007,254.791 336.302,252.353 333.119 C 251.855 332.468,251.081 330.754,251.199 330.563 C 251.256 330.471,251.215 330.342,251.107 330.276 C 250.400 329.839,251.676 326.529,254.532 321.389 C 255.717 319.258,256.107 318.465,257.176 316.019 C 257.532 315.204,257.906 314.433,258.008 314.306 C 258.110 314.178,258.144 314.074,258.084 314.074 C 258.024 314.074,258.222 313.597,258.524 313.014 C 258.827 312.432,259.074 311.887,259.074 311.805 C 259.074 311.722,259.212 311.345,259.381 310.966 C 259.550 310.588,259.703 310.236,259.721 310.185 C 259.739 310.134,259.852 309.854,259.973 309.562 C 260.843 307.459,261.306 306.252,261.582 305.370 C 261.758 304.810,261.951 304.269,262.013 304.167 C 262.074 304.065,262.136 303.919,262.150 303.843 C 262.164 303.766,262.197 303.662,262.222 303.611 C 262.248 303.560,262.282 303.456,262.299 303.380 C 262.417 302.842,263.785 298.941,263.912 298.779 C 263.999 298.668,264.029 298.535,263.977 298.483 C 263.926 298.432,264.059 297.823,264.272 297.130 C 264.816 295.370,264.844 295.238,264.949 293.908 L 265.042 292.723 264.440 292.843 C 263.982 292.935,262.951 293.835,260.112 296.621 C 258.061 298.632,255.475 301.028,254.364 301.944 C 253.253 302.861,251.838 304.061,251.218 304.610 C 245.007 310.125,232.967 316.934,224.193 319.895 C 209.539 324.841,192.299 324.328,178.184 318.526 C 170.166 315.230,159.239 308.744,155.093 304.819 C 154.583 304.337,153.551 303.460,152.798 302.868 C 150.687 301.211,149.819 300.417,145.879 296.532 C 141.909 292.618,141.106 292.106,140.959 293.393 C 140.854 294.308,142.765 301.409,143.192 301.687 C 143.287 301.750,143.352 301.855,143.335 301.922 C 143.271 302.183,143.556 303.148,143.698 303.148 C 143.780 303.148,143.839 303.252,143.827 303.380 C 143.707 304.745,151.881 323.333,152.602 323.333 C 152.698 323.333,152.765 323.396,152.749 323.472 C 152.733 323.549,153.101 324.403,153.568 325.370 C 155.226 328.806,155.307 330.281,153.962 332.525 C 152.179 335.500,149.448 336.867,143.889 337.570 C 135.933 338.575,132.799 338.849,126.667 339.078 C 121.172 339.282,117.581 339.505,107.315 340.278 C 103.954 340.531,99.870 340.820,98.241 340.920 C 96.611 341.019,94.569 341.200,93.702 341.320 C 90.562 341.757,87.613 340.928,85.298 338.957 C 84.596 338.359,83.346 337.299,82.520 336.600 C 76.877 331.826,66.048 320.015,61.888 314.098 C 61.003 312.838,59.396 310.588,58.318 309.098 C 55.480 305.175,52.012 299.985,50.489 297.378 C 50.211 296.903,49.872 296.472,49.735 296.420 C 48.905 296.101,40.852 280.719,39.200 276.296 C 38.839 275.329,38.112 273.537,37.585 272.315 C 37.058 271.093,36.307 269.218,35.917 268.148 C 33.789 262.317,32.356 258.097,31.667 255.635 C 30.351 250.927,30.177 250.315,29.811 249.074 C 29.615 248.412,29.333 247.370,29.184 246.759 C 29.035 246.148,28.581 244.356,28.177 242.778 C 27.547 240.322,27.225 238.558,26.790 235.185 C 26.744 234.829,26.489 233.245,26.224 231.667 C 25.959 230.088,25.448 226.546,25.088 223.796 C 24.728 221.046,24.354 218.296,24.255 217.685 C 24.157 217.074,24.073 215.074,24.067 213.241 C 24.062 211.407,23.981 208.782,23.886 207.407 C 23.709 204.834,23.920 197.114,24.271 193.333 C 24.450 191.406,24.898 185.922,25.080 183.426 C 25.132 182.713,25.215 181.796,25.265 181.389 C 25.514 179.346,25.581 178.824,25.843 176.852 C 25.999 175.681,26.424 173.222,26.788 171.389 C 27.152 169.556,27.477 167.889,27.510 167.685 C 28.100 164.111,28.751 160.805,28.893 160.663 C 28.993 160.563,29.074 160.279,29.074 160.032 C 29.074 159.784,29.290 158.988,29.553 158.263 C 29.817 157.538,30.236 156.236,30.485 155.370 C 30.733 154.505,30.989 153.671,31.052 153.519 C 31.115 153.366,31.198 153.078,31.236 152.880 C 31.425 151.897,31.913 150.226,32.133 149.815 C 32.412 149.291,33.596 146.261,33.798 145.556 C 33.871 145.301,34.035 144.843,34.163 144.537 C 34.291 144.231,34.749 143.023,35.181 141.852 C 35.613 140.681,36.157 139.264,36.390 138.704 C 36.623 138.144,37.049 137.039,37.338 136.250 C 37.627 135.461,37.927 134.815,38.006 134.815 C 38.084 134.815,38.149 134.669,38.149 134.491 C 38.149 134.313,39.149 132.141,40.371 129.664 C 41.593 127.188,42.593 125.042,42.593 124.896 C 42.593 124.749,42.759 124.463,42.963 124.259 C 43.167 124.056,43.282 123.889,43.220 123.889 C 43.158 123.889,43.304 123.724,43.544 123.522 C 43.917 123.209,43.941 123.128,43.704 122.970 C 43.472 122.814,43.487 122.783,43.796 122.778 C 44.036 122.774,44.089 122.723,43.946 122.632 C 43.787 122.531,43.868 122.261,44.237 121.663 C 44.518 121.206,45.502 119.375,46.424 117.593 C 48.449 113.679,48.802 113.075,50.774 110.153 C 51.621 108.898,52.349 107.787,52.390 107.685 C 52.637 107.080,55.987 102.265,57.781 99.937 C 58.342 99.208,59.279 97.944,59.861 97.130 C 60.924 95.643,61.754 94.642,66.448 89.184 C 67.842 87.564,69.424 85.689,69.964 85.017 C 74.603 79.253,81.341 72.940,84.444 71.452 C 86.221 70.599,88.241 70.000,89.337 70.000 C 89.905 70.000,90.370 69.926,90.370 69.835 C 90.370 69.646,91.970 69.697,92.454 69.902 C 92.634 69.979,92.778 69.960,92.778 69.860 C 92.778 69.761,93.285 69.690,93.904 69.702 C 94.524 69.713,95.072 69.681,95.123 69.630 C 95.215 69.538,95.881 69.482,98.062 69.381 C 98.677 69.353,99.261 69.285,99.359 69.231 C 99.457 69.176,100.016 69.141,100.602 69.154 C 101.188 69.166,101.667 69.117,101.667 69.046 C 101.667 68.975,102.021 68.917,102.454 68.918 C 103.203 68.920,104.012 68.859,106.944 68.584 C 107.657 68.517,108.762 68.454,109.398 68.444 C 110.035 68.434,110.556 68.374,110.556 68.310 C 110.556 68.247,111.007 68.194,111.559 68.194 C 113.404 68.194,117.222 67.927,117.222 67.798 C 117.222 67.728,117.688 67.675,118.257 67.680 C 118.826 67.685,119.323 67.639,119.361 67.578 C 119.399 67.517,119.933 67.477,120.548 67.489 C 121.163 67.502,121.667 67.457,121.667 67.389 C 121.667 67.322,122.063 67.264,122.546 67.260 C 123.030 67.257,124.009 67.200,124.722 67.134 C 125.435 67.068,126.485 66.991,127.055 66.962 C 127.625 66.933,128.166 66.866,128.259 66.814 C 128.351 66.762,128.905 66.729,129.491 66.740 C 130.076 66.750,130.556 66.707,130.556 66.643 C 130.556 66.578,130.951 66.519,131.435 66.510 C 131.919 66.501,132.898 66.443,133.611 66.382 C 134.324 66.321,135.386 66.256,135.972 66.237 C 136.558 66.219,137.037 66.146,137.037 66.075 C 137.037 66.003,137.558 65.955,138.194 65.967 C 139.895 65.999,143.696 65.719,143.797 65.554 C 143.846 65.476,144.344 65.433,144.906 65.459 C 145.467 65.485,145.926 65.439,145.926 65.355 C 145.926 65.272,146.426 65.227,147.038 65.255 C 147.650 65.284,148.198 65.259,148.257 65.200 C 148.362 65.096,148.902 65.050,151.204 64.950 C 151.815 64.923,152.398 64.851,152.500 64.788 C 152.602 64.725,153.164 64.687,153.750 64.702 C 154.336 64.718,154.815 64.672,154.815 64.600 C 154.815 64.528,155.211 64.469,155.694 64.468 C 156.178 64.468,157.157 64.413,157.870 64.347 C 158.583 64.281,159.645 64.208,160.229 64.184 C 160.813 64.160,161.347 64.085,161.416 64.016 C 161.574 63.859,162.147 63.962,162.968 64.297 M169.074 103.981 C 169.074 104.134,169.157 104.259,169.259 104.259 C 169.361 104.259,169.444 104.134,169.444 103.981 C 169.444 103.829,169.361 103.704,169.259 103.704 C 169.157 103.704,169.074 103.829,169.074 103.981 M236.667 103.981 C 236.667 104.134,236.750 104.259,236.852 104.259 C 236.954 104.259,237.037 104.134,237.037 103.981 C 237.037 103.829,236.954 103.704,236.852 103.704 C 236.750 103.704,236.667 103.829,236.667 103.981 M173.272 119.938 C 173.089 120.121,173.122 120.741,173.314 120.741 C 173.479 120.741,173.704 120.305,173.704 119.985 C 173.704 119.787,173.450 119.760,173.272 119.938 M232.407 119.969 C 232.407 120.313,232.631 120.741,232.810 120.741 C 233.068 120.741,232.914 119.951,232.639 119.860 C 232.512 119.818,232.407 119.867,232.407 119.969 M44.383 122.531 C 44.206 122.708,44.230 122.963,44.425 122.963 C 44.516 122.963,44.638 122.838,44.697 122.685 C 44.805 122.403,44.608 122.306,44.383 122.531 M361.409 122.670 C 361.470 122.831,361.602 122.963,361.702 122.963 C 361.945 122.963,361.793 122.542,361.516 122.450 C 361.381 122.405,361.339 122.489,361.409 122.670 M372.685 172.655 C 370.170 173.488,368.899 175.175,368.895 177.685 C 368.883 184.499,378.926 184.942,379.398 178.148 C 379.648 174.548,375.995 171.559,372.685 172.655 M363.241 182.342 C 355.454 183.172,351.232 186.005,349.617 191.483 C 349.218 192.837,349.073 194.306,348.796 199.815 C 348.732 201.088,348.566 202.630,348.428 203.241 C 348.081 204.774,347.694 208.441,347.746 209.709 C 347.758 210.007,347.695 210.341,347.606 210.450 C 347.517 210.559,347.439 211.141,347.432 211.744 C 347.426 212.347,347.347 212.889,347.257 212.948 C 347.167 213.007,347.078 213.510,347.060 214.066 C 347.042 214.622,346.959 215.122,346.876 215.177 C 346.793 215.233,346.712 215.637,346.697 216.075 C 346.681 216.514,346.581 217.036,346.474 217.236 C 346.367 217.437,346.320 217.666,346.369 217.745 C 346.418 217.825,346.385 218.219,346.295 218.621 C 346.205 219.023,346.084 219.644,346.025 220.000 C 345.813 221.300,345.694 221.764,345.518 221.983 C 345.419 222.106,345.319 222.523,345.295 222.909 C 345.271 223.295,345.156 223.839,345.039 224.116 C 344.923 224.394,344.810 224.936,344.789 225.320 C 344.769 225.704,344.686 226.106,344.607 226.212 C 344.527 226.319,344.383 226.861,344.287 227.416 C 344.191 227.972,343.929 229.093,343.704 229.907 C 343.479 230.722,343.294 231.597,343.292 231.852 C 343.291 232.106,343.229 232.356,343.156 232.407 C 343.083 232.458,342.794 233.375,342.515 234.444 C 342.235 235.513,341.943 236.471,341.865 236.573 C 341.787 236.676,341.497 237.509,341.221 238.426 C 340.944 239.343,340.605 240.343,340.467 240.648 C 340.329 240.954,340.080 241.745,339.914 242.407 C 339.633 243.530,338.798 245.784,338.507 246.204 C 338.436 246.306,338.157 247.056,337.887 247.870 C 337.617 248.685,337.279 249.564,337.136 249.822 C 336.859 250.324,336.398 251.533,336.079 252.590 C 335.972 252.945,335.727 253.435,335.535 253.679 C 335.343 253.924,335.185 254.238,335.185 254.377 C 335.185 254.516,334.943 255.109,334.648 255.695 C 334.352 256.280,334.031 256.968,333.934 257.222 C 333.838 257.477,333.502 258.227,333.188 258.889 C 332.874 259.551,332.424 260.509,332.188 261.019 C 331.952 261.528,331.709 261.986,331.648 262.037 C 331.447 262.205,331.042 263.050,331.016 263.355 C 331.003 263.520,330.810 263.885,330.588 264.167 C 330.367 264.449,330.185 264.787,330.185 264.919 C 330.185 265.051,330.059 265.284,329.906 265.438 C 329.752 265.592,329.457 266.077,329.249 266.516 C 328.634 267.817,328.113 268.790,327.978 268.889 C 327.843 268.988,327.010 270.442,325.964 272.407 C 325.611 273.069,325.217 273.697,325.088 273.803 C 324.959 273.908,324.724 274.304,324.566 274.682 C 324.408 275.061,324.191 275.370,324.085 275.370 C 323.979 275.370,323.745 275.651,323.566 275.994 C 322.852 277.364,322.095 278.567,320.417 281.003 C 319.882 281.780,319.444 282.461,319.444 282.517 C 319.444 282.573,319.340 282.725,319.213 282.854 C 319.086 282.984,318.773 283.364,318.519 283.699 C 318.264 284.034,317.916 284.470,317.745 284.667 C 317.574 284.865,317.085 285.562,316.658 286.217 C 316.231 286.872,315.824 287.407,315.753 287.407 C 315.682 287.407,315.187 288.032,314.654 288.796 C 314.120 289.560,313.623 290.185,313.549 290.185 C 313.474 290.185,313.276 290.414,313.109 290.694 C 312.942 290.975,312.521 291.512,312.174 291.888 C 311.827 292.264,311.221 292.973,310.827 293.462 C 310.433 293.951,309.711 294.769,309.222 295.278 C 308.734 295.787,308.334 296.302,308.334 296.423 C 308.334 296.543,308.188 296.689,308.009 296.747 C 307.831 296.804,307.495 297.131,307.263 297.473 C 307.031 297.815,306.216 298.711,305.453 299.464 C 304.689 300.217,303.921 300.979,303.745 301.158 C 301.208 303.737,300.029 304.901,299.048 305.799 C 298.400 306.392,297.727 307.008,297.552 307.168 C 297.377 307.329,297.274 307.526,297.323 307.606 C 297.372 307.686,297.004 308.291,296.504 308.952 C 293.549 312.855,292.958 319.230,295.065 324.448 C 296.860 328.891,301.119 332.463,305.633 333.312 C 309.530 334.046,312.390 333.384,315.185 331.104 C 315.644 330.730,316.206 330.326,316.435 330.206 C 316.664 330.085,316.852 329.873,316.852 329.734 C 316.852 329.595,317.123 329.305,317.454 329.091 C 318.863 328.177,319.630 327.552,319.630 327.315 C 319.630 327.176,319.779 327.014,319.963 326.956 C 320.299 326.849,320.628 326.566,323.585 323.832 C 325.922 321.671,331.499 316.113,331.339 316.104 C 331.264 316.100,331.433 315.972,331.713 315.820 C 331.993 315.668,332.222 315.450,332.222 315.336 C 332.222 315.221,332.535 314.822,332.917 314.447 C 333.299 314.073,333.986 313.324,334.444 312.782 C 334.903 312.241,335.653 311.407,336.111 310.930 C 337.118 309.880,337.582 309.327,338.006 308.669 C 338.182 308.396,338.515 307.971,338.746 307.726 C 338.978 307.480,339.428 306.954,339.748 306.556 C 340.068 306.159,340.547 305.571,340.813 305.251 C 341.079 304.931,341.296 304.575,341.296 304.460 C 341.296 304.345,341.487 304.165,341.719 304.059 C 341.952 303.953,342.367 303.511,342.641 303.078 C 342.915 302.645,343.344 302.052,343.594 301.761 C 343.845 301.469,344.240 300.861,344.472 300.410 C 344.704 299.958,345.064 299.520,345.271 299.436 C 345.479 299.351,345.586 299.277,345.511 299.271 C 345.374 299.259,345.728 298.770,346.343 298.120 C 346.521 297.932,346.667 297.702,346.667 297.610 C 346.667 297.518,346.938 297.108,347.269 296.700 C 347.600 296.292,348.120 295.523,348.426 294.990 C 348.731 294.458,349.213 293.770,349.495 293.461 C 349.778 293.151,350.058 292.705,350.117 292.468 C 350.177 292.231,350.303 292.037,350.397 292.037 C 350.491 292.037,350.736 291.683,350.941 291.250 C 351.458 290.155,351.841 289.401,352.045 289.074 C 352.140 288.921,352.397 288.463,352.616 288.056 C 352.834 287.648,353.080 287.271,353.161 287.219 C 353.243 287.166,353.479 286.749,353.686 286.293 C 353.893 285.836,354.651 284.380,355.369 283.056 C 356.088 281.731,356.861 280.273,357.088 279.815 C 357.314 279.356,357.551 278.940,357.614 278.889 C 357.676 278.838,358.072 278.130,358.493 277.315 C 358.914 276.500,359.343 275.733,359.444 275.610 C 359.546 275.487,359.630 275.272,359.630 275.132 C 359.630 274.993,359.873 274.510,360.171 274.060 C 360.469 273.609,360.769 273.012,360.839 272.731 C 360.909 272.451,361.022 272.222,361.091 272.222 C 361.261 272.222,363.357 268.009,364.039 266.296 C 364.799 264.388,364.861 264.218,364.940 263.804 C 364.978 263.605,365.084 263.396,365.175 263.340 C 365.266 263.283,365.402 262.988,365.477 262.683 C 365.551 262.379,365.766 261.839,365.954 261.484 C 366.142 261.129,366.296 260.728,366.296 260.592 C 366.296 260.457,366.396 260.164,366.519 259.942 C 366.641 259.719,366.766 259.386,366.797 259.202 C 366.828 259.017,367.019 258.501,367.223 258.054 C 367.426 257.608,367.593 257.199,367.593 257.145 C 367.593 257.092,367.807 256.580,368.069 256.007 C 368.331 255.434,368.500 254.848,368.445 254.705 C 368.390 254.562,368.440 254.444,368.555 254.444 C 368.671 254.444,368.711 254.390,368.644 254.323 C 368.577 254.256,368.594 254.110,368.683 253.999 C 368.817 253.830,369.506 251.670,369.470 251.530 C 369.464 251.506,369.590 251.131,369.750 250.697 C 369.911 250.263,370.152 249.449,370.287 248.889 C 370.827 246.646,370.952 246.210,371.112 246.018 C 371.203 245.908,371.311 245.529,371.352 245.177 C 371.393 244.825,371.571 244.052,371.749 243.458 C 371.926 242.865,372.023 242.331,371.963 242.272 C 371.904 242.212,371.930 242.073,372.021 241.961 C 372.182 241.766,373.179 238.108,373.200 237.639 C 373.205 237.512,373.279 237.407,373.364 237.407 C 373.449 237.407,373.519 237.120,373.519 236.768 C 373.519 236.416,373.592 235.937,373.683 235.703 C 373.773 235.469,373.945 234.736,374.065 234.074 C 374.185 233.412,374.397 232.329,374.538 231.667 C 374.978 229.592,375.527 226.472,375.873 224.074 C 375.924 223.718,376.126 222.634,376.321 221.667 C 376.517 220.699,376.718 219.616,376.769 219.259 C 376.820 218.903,376.983 217.903,377.131 217.037 C 377.395 215.493,378.127 210.727,378.241 209.815 C 378.787 205.437,378.989 193.395,378.545 191.759 C 377.067 186.320,369.514 181.673,363.241 182.342 M368.426 184.225 C 370.096 184.694,371.596 185.295,372.236 185.750 C 372.514 185.949,372.832 186.111,372.941 186.111 C 373.253 186.111,376.372 189.288,376.669 189.907 C 376.816 190.213,377.060 190.663,377.211 190.907 C 377.362 191.152,377.508 191.444,377.535 191.556 C 377.562 191.668,377.719 192.218,377.883 192.778 C 378.155 193.700,378.277 196.302,378.083 197.037 C 378.043 197.190,377.947 197.587,377.870 197.921 C 377.793 198.254,377.657 198.571,377.569 198.626 C 377.480 198.681,377.407 198.875,377.407 199.057 C 377.407 199.240,377.157 199.734,376.852 200.156 C 376.546 200.578,376.296 200.971,376.296 201.030 C 376.296 201.241,374.753 202.963,374.563 202.963 C 374.457 202.963,374.116 203.209,373.805 203.509 C 371.567 205.674,365.072 207.050,361.815 206.050 C 361.337 205.903,360.910 205.819,360.866 205.863 C 360.728 206.001,357.542 204.610,356.934 204.146 C 356.615 203.903,356.278 203.703,356.186 203.703 C 355.950 203.702,353.667 201.642,353.778 201.531 C 353.828 201.480,353.541 200.995,353.139 200.451 C 350.874 197.385,350.756 192.808,352.861 189.722 C 353.070 189.417,353.243 189.125,353.247 189.074 C 353.260 188.901,356.201 186.205,356.660 185.946 C 358.332 185.001,359.786 184.398,360.370 184.407 C 360.421 184.407,360.605 184.332,360.779 184.239 C 360.953 184.146,361.578 184.019,362.168 183.956 C 362.758 183.894,363.282 183.802,363.333 183.752 C 363.544 183.546,367.224 183.887,368.426 184.225 M362.307 190.366 C 355.666 192.099,356.272 198.298,363.241 199.914 C 363.956 200.080,364.865 200.169,365.276 200.113 C 365.684 200.057,366.390 199.961,366.845 199.898 C 368.193 199.714,369.857 198.824,370.785 197.793 C 374.304 193.878,368.462 188.761,362.307 190.366 M351.741 218.962 C 352.566 219.307,352.831 219.693,356.025 225.219 L 358.774 229.975 359.341 229.573 C 359.652 229.352,362.180 227.525,364.958 225.514 C 370.668 221.380,370.804 221.296,371.864 221.296 C 374.530 221.296,375.825 224.616,373.860 226.417 C 373.621 226.636,371.115 228.481,368.291 230.519 C 365.467 232.556,363.258 234.261,363.384 234.308 C 363.509 234.354,365.054 234.666,366.818 235.001 C 370.283 235.658,370.914 235.928,371.553 237.022 C 372.619 238.848,371.162 241.481,369.084 241.481 C 368.280 241.481,346.974 237.199,346.464 236.935 C 344.410 235.873,344.579 232.768,346.750 231.680 L 347.647 231.231 350.312 231.750 C 351.778 232.036,353.005 232.238,353.040 232.200 C 353.075 232.161,351.871 230.014,350.366 227.429 C 347.484 222.480,347.294 222.034,347.593 220.925 C 348.081 219.112,349.966 218.220,351.741 218.962 M350.648 248.360 C 354.649 249.683,356.200 252.994,355.006 257.662 C 353.417 263.873,348.628 266.969,346.632 263.076 C 346.057 261.956,346.275 261.103,347.535 259.537 C 348.793 257.973,349.390 256.735,349.553 255.348 L 349.675 254.311 349.069 254.100 C 347.753 253.641,346.954 253.810,344.942 254.970 C 342.220 256.539,341.557 259.224,343.092 262.451 C 344.778 265.991,346.295 266.927,350.370 266.937 C 355.911 266.952,357.942 264.022,356.382 258.263 C 355.335 254.397,360.050 252.214,361.807 255.750 C 362.463 257.069,362.841 261.344,362.520 263.796 C 361.160 274.181,345.419 276.537,339.069 267.307 C 335.090 261.524,335.312 256.009,339.694 251.786 C 343.488 248.130,346.810 247.091,350.648 248.360 M333.247 276.161 C 333.927 276.514,334.555 277.173,334.772 277.760 C 334.922 278.165,335.045 278.206,336.157 278.223 L 337.377 278.241 341.883 281.278 C 344.361 282.948,346.584 284.490,346.823 284.704 C 348.912 286.575,347.382 290.012,344.565 289.778 C 343.213 289.666,334.103 283.574,333.608 282.450 L 333.303 281.759 331.790 281.774 C 328.381 281.806,326.904 283.894,328.542 286.367 C 329.253 287.439,329.411 288.537,328.999 289.525 C 328.834 289.919,328.721 290.258,328.748 290.278 C 328.774 290.298,330.921 291.753,333.519 293.512 C 338.806 297.093,339.020 297.260,339.376 298.096 C 340.537 300.820,337.574 303.258,334.982 301.711 C 332.856 300.443,318.680 290.676,318.342 290.247 C 316.630 288.071,318.962 284.560,321.481 285.520 L 321.944 285.696 321.973 284.376 C 322.055 280.492,324.728 277.092,328.538 276.022 C 329.787 275.671,332.457 275.750,333.247 276.161 M313.889 301.667 C 314.653 301.885,315.403 302.171,315.556 302.302 C 315.708 302.433,316.357 302.815,316.998 303.151 C 320.074 304.767,323.631 309.512,324.155 312.700 C 324.408 314.240,324.497 317.797,324.293 318.205 C 324.181 318.428,323.995 318.986,323.880 319.444 C 322.729 324.015,317.139 327.042,311.933 325.914 C 309.905 325.475,308.802 325.116,308.431 324.774 C 308.289 324.644,307.653 324.245,307.017 323.889 C 305.954 323.293,302.593 320.157,302.593 319.761 C 302.593 319.674,302.326 319.216,302.000 318.743 C 301.315 317.747,300.364 315.531,300.274 314.722 C 300.240 314.417,300.114 313.544,299.993 312.782 C 299.771 311.382,299.847 309.767,300.155 309.379 C 300.247 309.262,300.363 308.782,300.413 308.312 C 300.654 306.060,303.990 302.204,306.053 301.794 C 306.340 301.737,307.032 301.561,307.593 301.404 C 308.992 301.011,312.039 301.138,313.889 301.667 M308.684 307.653 C 305.173 308.795,305.584 315.012,309.353 317.795 C 309.824 318.142,310.432 318.603,310.706 318.820 C 312.807 320.482,316.728 320.026,317.703 318.004 C 320.017 313.206,313.745 306.007,308.684 307.653 " stroke="none" fill="#7483ab" fill-rule="evenodd"></path><path id="path2" d="M363.660 183.835 C 363.890 183.879,364.223 183.877,364.400 183.831 C 364.577 183.785,364.389 183.748,363.981 183.750 C 363.574 183.752,363.429 183.790,363.660 183.835 M373.889 186.910 C 373.889 186.942,374.160 187.213,374.491 187.512 L 375.093 188.056 374.549 187.454 C 374.042 186.893,373.889 186.767,373.889 186.910 M369.495 191.481 C 369.754 191.685,370.026 191.852,370.100 191.852 C 370.175 191.852,370.023 191.685,369.764 191.481 C 369.505 191.278,369.233 191.111,369.159 191.111 C 369.085 191.111,369.236 191.278,369.495 191.481 M370.752 197.856 L 370.116 198.611 370.836 197.923 C 371.232 197.544,371.518 197.205,371.472 197.168 C 371.426 197.131,371.102 197.441,370.752 197.856 M347.870 253.891 C 348.481 253.967,349.148 254.082,349.352 254.147 C 349.556 254.212,349.472 254.142,349.167 253.993 C 348.861 253.843,348.194 253.728,347.685 253.737 L 346.759 253.754 347.870 253.891 M358.027 254.216 C 357.909 254.291,358.422 254.352,359.167 254.352 C 359.911 254.352,360.424 254.291,360.306 254.216 C 360.189 254.141,359.676 254.080,359.167 254.080 C 358.657 254.080,358.145 254.141,358.027 254.216 M356.975 254.968 C 356.470 255.495,356.098 256.443,356.127 257.128 C 356.136 257.333,356.250 257.058,356.381 256.517 C 356.523 255.930,356.829 255.314,357.140 254.989 C 357.427 254.689,357.620 254.444,357.569 254.444 C 357.518 254.444,357.251 254.680,356.975 254.968 M342.063 259.099 C 342.039 260.072,342.584 262.340,342.734 261.890 C 342.771 261.778,342.702 261.500,342.580 261.272 C 342.457 261.044,342.297 260.227,342.223 259.456 C 342.093 258.096,342.088 258.085,342.063 259.099 M347.051 260.135 C 346.738 260.514,346.491 260.994,346.503 261.200 C 346.524 261.571,346.525 261.571,346.612 261.204 C 346.660 261.000,346.946 260.521,347.247 260.139 C 347.959 259.237,347.793 259.234,347.051 260.135 M356.914 261.667 C 356.914 262.431,356.947 262.743,356.987 262.361 C 357.027 261.979,357.027 261.354,356.987 260.972 C 356.947 260.590,356.914 260.903,356.914 261.667 M354.110 272.432 C 353.774 272.529,353.024 272.685,352.444 272.779 L 351.389 272.949 352.500 272.868 C 353.111 272.824,353.986 272.668,354.444 272.523 C 355.367 272.230,355.080 272.152,354.110 272.432 M348.796 272.961 C 349.762 273.122,351.415 273.200,351.281 273.078 C 351.238 273.039,350.454 272.962,349.537 272.907 C 348.309 272.833,348.114 272.848,348.796 272.961 M309.956 301.242 C 310.186 301.286,310.520 301.285,310.697 301.238 C 310.874 301.192,310.685 301.156,310.278 301.158 C 309.870 301.160,309.726 301.198,309.956 301.242 M309.771 307.353 C 310.001 307.397,310.334 307.396,310.511 307.349 C 310.688 307.303,310.500 307.267,310.093 307.269 C 309.685 307.271,309.540 307.309,309.771 307.353 M306.154 310.741 C 306.154 311.097,306.192 311.243,306.239 311.065 C 306.285 310.887,306.285 310.595,306.239 310.417 C 306.192 310.238,306.154 310.384,306.154 310.741 M300.520 315.648 C 300.614 315.852,300.737 316.144,300.794 316.296 C 300.883 316.536,300.899 316.535,300.911 316.285 C 300.919 316.127,300.796 315.835,300.638 315.637 C 300.355 315.284,300.353 315.284,300.520 315.648 M324.306 316.759 C 324.308 317.167,324.346 317.312,324.390 317.081 C 324.435 316.851,324.433 316.517,324.386 316.340 C 324.340 316.163,324.304 316.352,324.306 316.759 M313.750 319.942 C 313.928 319.989,314.220 319.989,314.398 319.942 C 314.576 319.896,314.431 319.858,314.074 319.858 C 313.718 319.858,313.572 319.896,313.750 319.942 M309.074 325.062 C 309.074 325.110,309.343 325.243,309.672 325.357 C 310.000 325.472,310.188 325.489,310.088 325.396 C 309.877 325.199,309.074 324.934,309.074 325.062 M313.311 326.163 C 313.400 326.252,313.713 326.295,314.005 326.259 C 314.495 326.198,314.482 326.185,313.843 326.096 C 313.445 326.041,313.218 326.070,313.311 326.163 " stroke="none" fill="#bcbcc8" fill-rule="evenodd"></path><path id="path3" d="" stroke="none" fill="#b4bcc4" fill-rule="evenodd"></path><path id="path4" d="M355.015 202.824 C 355.058 202.850,355.343 203.079,355.648 203.333 L 356.204 203.796 355.755 203.287 C 355.508 203.007,355.223 202.778,355.122 202.778 C 355.021 202.778,354.973 202.799,355.015 202.824 M347.176 247.908 C 347.405 247.953,347.780 247.953,348.009 247.908 C 348.238 247.864,348.051 247.828,347.593 247.828 C 347.134 247.828,346.947 247.864,347.176 247.908 M349.537 248.244 C 350.929 248.558,351.245 248.554,350.278 248.236 C 349.870 248.101,349.287 247.992,348.981 247.993 C 348.635 247.994,348.844 248.088,349.537 248.244 M345.278 254.630 C 344.972 254.832,344.806 254.996,344.907 254.995 C 345.093 254.992,346.100 254.270,345.926 254.265 C 345.875 254.263,345.583 254.427,345.278 254.630 M336.339 257.778 C 336.339 258.134,336.377 258.280,336.424 258.102 C 336.471 257.924,336.471 257.632,336.424 257.454 C 336.377 257.275,336.339 257.421,336.339 257.778 M336.326 260.648 C 336.325 260.954,336.435 261.537,336.569 261.944 C 336.888 262.911,336.891 262.595,336.578 261.204 C 336.421 260.510,336.327 260.301,336.326 260.648 M362.074 265.500 C 361.958 265.877,361.895 266.216,361.932 266.253 C 361.969 266.290,362.100 266.018,362.222 265.648 C 362.344 265.278,362.408 264.939,362.364 264.895 C 362.320 264.851,362.190 265.123,362.074 265.500 M349.682 267.173 C 350.168 267.212,350.918 267.211,351.348 267.172 C 351.778 267.134,351.380 267.102,350.463 267.103 C 349.546 267.103,349.195 267.135,349.682 267.173 " stroke="none" fill="#b3b4c4" fill-rule="evenodd"></path></g></svg>
|
|
1
|
+
<svg viewBox="0 0 1.29 1" xmlns="http://www.w3.org/2000/svg"><path d="M.519 0a.565.565 0 0 1-.033.003l-.13.01a.083.083 0 0 1-.01.001l-.02.002A1.176 1.176 0 0 0 .26.02a.093.093 0 0 0-.033.006A.06.06 0 0 0 .2.042.933.933 0 0 0 .123.13a.046.046 0 0 0-.007.01.057.057 0 0 0-.024.036L.091.177a.206.206 0 0 1-.012.02.05.05 0 0 1-.005.01.056.056 0 0 0-.003.006.083.083 0 0 0-.007.013.017.017 0 0 1-.002.005 3.365 3.365 0 0 1-.034.086.135.135 0 0 1-.01.035.033.033 0 0 1-.002.01.677.677 0 0 0 .023.367l.003.005a.265.265 0 0 0 .017.041.051.051 0 0 1 .003.007l.006.011a.414.414 0 0 0 .02.036l.004.008.01.015.005.01.01.014a.086.086 0 0 0 .006.007.01.01 0 0 1 .002.003l.001.001A.075.075 0 0 0 .135.9.1.1 0 0 1 .14.908L.145.91l.003.004.01.012.005.006a.613.613 0 0 0 .065.061l.004.002a.091.091 0 0 0 .036.003.034.034 0 0 1 .01-.001c.007 0 .014 0 .021-.002h.012L.324.993h.03A.484.484 0 0 0 .404.99.412.412 0 0 0 .461.986L.469.985.48.984A.092.092 0 0 0 .496.98.033.033 0 0 0 .518.96s0-.003.002-.004C.523.95.518.932.51.925A.032.032 0 0 1 .508.92.054.054 0 0 0 .505.915V.913c.001 0 .001 0 0 0L.503.91H.502L.5.907A.028.028 0 0 0 .498.902C.493.892.488.882.492.888c.01.009.022.016.035.02a.148.148 0 0 1 .019.007l.003.002h.004L.556.92H.56l.005.002.005.001.004.002H.58l.003.001h.003l.001.001a.04.04 0 0 1 .009.002H.6l.01.002a.18.18 0 0 0 .033.002c.018 0 .02 0 .033-.002A.823.823 0 0 1 .718.922a.018.018 0 0 1 .004 0L.727.92H.73L.733.917h.003L.738.916a.01.01 0 0 1 .004 0L.746.914A.102.102 0 0 1 .76.91.104.104 0 0 0 .797.886v.002a.132.132 0 0 1-.015.025L.78.92a.072.072 0 0 0-.013.028C.766.96.778.979.79.98a.03.03 0 0 0 .016.004l.012.001a.92.92 0 0 0 .115.008.168.168 0 0 0 .033.001l.011.001.011.001.022.002a.146.146 0 0 0 .037 0 .012.012 0 0 1 .003 0 .05.05 0 0 0 .012-.005.213.213 0 0 0 .029-.026L1.098.96l.006-.006a.042.042 0 0 0 .007-.007L1.119.94a.017.017 0 0 0 .003-.004l.003-.003.002-.003.002-.002.003-.003.002-.003.002-.002a.026.026 0 0 1 .006-.006L1.143.91h.002l.001-.003.001-.001.002-.002V.902l.005-.005.002-.002a.11.11 0 0 0 .008-.011l.001-.001.001-.002.001-.001.004-.006A.01.01 0 0 1 1.173.87l.003-.004a.01.01 0 0 0 .002-.003L1.18.862a.01.01 0 0 0 .003-.004l.001-.002.002-.003.002-.003.001-.002.002-.002a.035.035 0 0 0 .005-.009l.002-.002V.832L1.2.83l.001-.002.002-.001A.02.02 0 0 1 1.206.82V.819l.001-.002.001-.002V.814L1.21.811l.001-.002s0-.002.002-.003l.002-.004L1.217.8V.798l.001-.002.002-.004.002-.004V.787l.003-.004A.013.013 0 0 0 1.227.78l.001-.003V.775L1.23.773V.77l.002-.003V.765l.002-.002.001-.003.001-.002V.756l.002-.001c0-.002 0-.003.002-.005V.745l.002-.002V.74l.002-.003V.734l.002-.003V.729l.001-.001.001-.003L1.25.72l.001-.003.001-.003.001-.003.001-.004A.068.068 0 0 0 1.26.694L1.261.69c.001 0 .001 0 0 0V.686a.033.033 0 0 0 .003-.008l.001-.003V.674l.003-.01V.66h.002V.651L1.272.65l.001-.001V.645L1.274.64V.638L1.277.63A.167.167 0 0 0 1.28.604L1.284.58l.001-.017a.719.719 0 0 0-.001-.13V.432A.217.217 0 0 1 1.279.4a.093.093 0 0 0-.003-.013.072.072 0 0 1-.001-.01c0-.003 0-.004-.002-.004V.371A.02.02 0 0 0 1.27.364V.36a.025.025 0 0 1-.002-.01c-.001 0-.002-.003-.002-.007L1.265.337 1.264.331 1.263.328 1.262.326 1.261.324V.32L1.26.318 1.258.314V.313L1.257.31V.309L1.254.306V.303a.032.032 0 0 1-.003-.01L1.25.29V.286L1.247.284S1.245.28 1.246.278a.04.04 0 0 1-.004-.009.052.052 0 0 0-.003-.006.009.009 0 0 1 0-.004L1.236.257V.253A.009.009 0 0 1 1.233.25a.028.028 0 0 0-.005-.01V.236L1.227.234A.008.008 0 0 0 1.225.23L1.223.228V.226L1.22.224V.222L1.219.219 1.218.216 1.217.214A.011.011 0 0 1 1.215.21a.015.015 0 0 0-.003-.004V.204H1.21L1.209.2 1.208.197 1.206.195 1.205.192 1.204.19s0-.002-.002-.003L1.2.184V.182a.014.014 0 0 1-.002-.004h-.001V.175L1.192.171V.169L1.19.167 1.187.164V.163a.02.02 0 0 0-.004-.006L1.182.155 1.18.154V.152h-.002V.148L1.176.146 1.173.143V.142a.03.03 0 0 1-.006-.007V.133h-.002V.13A.016.016 0 0 1 1.16.126a.048.048 0 0 0-.008-.01V.113L1.15.11 1.148.108a.037.037 0 0 1-.004-.005.064.064 0 0 0-.007-.007.009.009 0 0 0-.002-.003L1.134.09 1.128.085A.105.105 0 0 0 1.072.03.037.037 0 0 0 1.06.026.093.093 0 0 0 1.027.02 31.75 31.75 0 0 0 .747 0C.724.001.715.005.711.018.706.032.707.028.706.06a.436.436 0 0 1-.024.15L.678.22a.259.259 0 0 1-.032.055L.644.277.64.275A.267.267 0 0 1 .593.164.449.449 0 0 1 .58.06C.58.03.58.028.576.02V.016L.574.014.573.01C.57.004.558 0 .54 0H.52zm-.01.033h.004a.021.021 0 0 1 .025.018v.003l.001.02a.503.503 0 0 0 .024.154l.005.01.005.012C.59.284.618.315.637.319h.016a.108.108 0 0 0 .02-.013.148.148 0 0 0 .032-.04.334.334 0 0 0 .043-.18v-.01a.04.04 0 0 1 0-.01v-.01l.003-.01C.75.044.762.035.766.034h.01L.778.032H.78L.784.031H.79l.004.001.015.001.016.002H.84A.158.158 0 0 0 .867.04H.87L.9.043A1.015 1.015 0 0 1 .99.05h.017a.03.03 0 0 1 .009.002h.012c.011 0 .023.008.046.03a.309.309 0 0 1 .023.026L1.1.113a.66.66 0 0 1 .08.119l.001.001.002.002.01.02a.039.039 0 0 0 .005.01L1.2.27l.004.01.01.027a.182.182 0 0 0 .005.011.502.502 0 0 0 .014.047l.002.013c.006.028.01.057.012.086l.001.017a.46.46 0 0 1-.01.136.692.692 0 0 1-.08.207l-.039.055a.487.487 0 0 1-.086.088.054.054 0 0 1-.017.003A1.289 1.289 0 0 0 .98.967L.942.964A1.406 1.406 0 0 0 .859.96C.825.955.819.952.81.942A.025.025 0 0 1 .806.933C.804.93.808.92.818.902A.166.166 0 0 0 .83.872L.833.87V.867A.184.184 0 0 0 .844.84.192.192 0 0 1 .85.821.036.036 0 0 0 .853.808V.805H.851a.313.313 0 0 1-.136.091A.229.229 0 0 1 .56.893.322.322 0 0 1 .45.818C.438.805.436.803.435.808c.002.01.004.02.008.028v.005a.407.407 0 0 0 .03.068l.004.007c.005.011.005.016 0 .024C.473.95.464.954.445.957a.594.594 0 0 1-.058.005 1.245 1.245 0 0 0-.112.007.035.035 0 0 1-.028-.007.564.564 0 0 1-.12-.144.675.675 0 0 1-.083-.246L.04.552V.535A.45.45 0 0 1 .042.43L.045.413a.371.371 0 0 1 .006-.03.222.222 0 0 1 .012-.049.06.06 0 0 1 .004-.012.171.171 0 0 0 .007-.018L.077.295a.377.377 0 0 1 .03-.068L.116.213A.18.18 0 0 1 .13.188L.135.179A.37.37 0 0 1 .182.117.517.517 0 0 0 .194.103a.22.22 0 0 1 .05-.046A.046.046 0 0 1 .26.052h.019A.042.042 0 0 1 .29.05a.02.02 0 0 0 .005 0h.004L.302.048h.002L.32.047h.016A.133.133 0 0 0 .36.043h.01L.372.042h.007A.233.233 0 0 1 .4.04h.018L.421.039h.004c.007 0 .015 0 .023-.002h.007L.459.035a.036.036 0 0 1 .01 0L.473.034h.008L.484.033H.49L.5.032h.003l.005.001zm.708.366c-.009.003-.013.009-.013.017 0 .023.034.025.035.002.001-.012-.011-.022-.022-.019zm-.032.033c-.026.003-.04.012-.046.03a.13.13 0 0 0-.003.03l-.001.01a.121.121 0 0 0-.003.025v.004L1.13.535V.54a.01.01 0 0 1-.001.004l-.001.003V.55l-.001.002v.003l-.001.004a.02.02 0 0 1-.002.007v.003l-.002.004v.004L1.121.58 1.12.584A.11.11 0 0 1 1.117.6v.002a.041.041 0 0 0-.002.007.056.056 0 0 1-.002.007.049.049 0 0 0-.003.007.092.092 0 0 1-.002.007.047.047 0 0 0-.002.006.072.072 0 0 1-.005.013.052.052 0 0 0-.002.005.058.058 0 0 1-.002.007.061.061 0 0 0-.004.01.013.013 0 0 1-.002.003L1.09.675c0 .001 0 .003-.002.005a1.035 1.035 0 0 0-.022.045.116.116 0 0 0-.01.016l-.002.003-.001.002-.002.002a.145.145 0 0 1-.015.024.073.073 0 0 0-.009.011.02.02 0 0 1-.003.004.027.027 0 0 0-.003.005.027.027 0 0 1-.006.006.114.114 0 0 1-.013.015A.015.015 0 0 0 1 .819a.007.007 0 0 0-.003.003.068.068 0 0 1-.006.007L.984.834a.364.364 0 0 1-.016.015L.963.854v.001L.958.86a.056.056 0 0 0-.004.052.05.05 0 0 0 .035.03c.012.003.024 0 .032-.007a.036.036 0 0 1 .005-.003L1.028.93 1.03.928l.007-.006.002-.001a.604.604 0 0 0 .13-.168.068.068 0 0 1 .004-.007l.001-.004a.156.156 0 0 0 .022-.048V.692l.002-.004L1.2.685 1.201.68l.001-.004h.001V.673a.05.05 0 0 0 .003-.008V.663L1.21.657c0-.003 0-.007.002-.01l.001-.003.001-.005.001-.004A.11.11 0 0 0 1.22.618V.616a.01.01 0 0 1 0-.004l.001-.005.002-.008a.382.382 0 0 0 .014-.135C1.231.445 1.205.43 1.184.432zm.017.006a.05.05 0 0 1 .015.007.04.04 0 0 1 .013.013l.002.003.001.002.001.004a.045.045 0 0 1 0 .018v.002L1.232.49a.01.01 0 0 1-.002.003l-.002.003a.027.027 0 0 1-.006.007s-.002 0-.003.002c-.007.007-.029.012-.04.008A.056.056 0 0 1 1.16.505a.038.038 0 0 1-.008-.007L1.15.493a.032.032 0 0 1 0-.036V.455s.01-.01.012-.01a.037.037 0 0 1 .012-.006.02.02 0 0 1 .006-.001l.004-.001.017.001zm-.02.021c-.023.006-.02.027.003.032l.007.001h.005c.005-.002.01-.004.013-.008.012-.013-.008-.03-.028-.025zm-.036.097c.003.001.004.002.014.021l.01.016.002-.001.019-.014c.019-.014.02-.014.023-.014.009 0 .013.01.007.017a.694.694 0 0 1-.036.027l.012.002c.011.002.014.003.016.007.003.006-.001.015-.009.015L1.128.617C1.121.613 1.122.602 1.13.599l.003-.002.01.002.008.002a.209.209 0 0 0-.009-.017c-.01-.016-.01-.018-.009-.021a.01.01 0 0 1 .014-.007zm-.004.1c.014.004.019.015.015.03-.005.022-.022.032-.028.019C1.127.7 1.127.698 1.132.693a.027.027 0 0 0 .007-.014V.675h-.002C1.132.673 1.13.674 1.123.677c-.01.006-.011.015-.006.026.005.012.01.015.024.015.02 0 .026-.01.02-.03-.003-.013.013-.02.019-.008a.07.07 0 0 1 .002.027c-.004.035-.057.043-.079.012C1.09.7 1.091.681 1.105.667c.013-.013.024-.016.037-.012zm-.059.093a.01.01 0 0 1 .006.006l.004.001h.004l.016.01.016.012a.01.01 0 0 1-.007.017.15.15 0 0 1-.037-.025L1.084.768h-.005c-.012 0-.017.007-.011.016.002.003.003.007.001.01v.003l.015.01c.018.013.019.013.02.016.004.01-.006.018-.015.012a1.447 1.447 0 0 1-.056-.038c-.006-.008.002-.02.01-.016h.002V.777a.03.03 0 0 1 .023-.028.033.033 0 0 1 .015 0zm-.065.086a.02.02 0 0 1 .006.002c.014.008.025.02.029.036V.89a.027.027 0 0 0-.001.004c-.004.016-.023.026-.04.022A.033.033 0 0 1 1 .913.07.07 0 0 1 .98.896.016.016 0 0 0 .978.893a.046.046 0 0 1-.007-.02V.86A.01.01 0 0 0 .974.858c0-.008.012-.02.019-.022a.05.05 0 0 1 .026 0zm-.017.02C.989.86.99.88 1.003.89l.004.003c.007.006.02.004.024-.002.008-.017-.013-.041-.03-.035z" fill="#7483AB"/></svg>
|
package/es/avatar/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import '
|
|
3
|
-
export interface AvatarProps extends
|
|
4
|
-
src?:
|
|
1
|
+
import { FC, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import type { ComponentSize } from '..';
|
|
3
|
+
export interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
src?: ReactNode;
|
|
5
5
|
alt?: string;
|
|
6
|
-
|
|
6
|
+
size?: number | ComponentSize;
|
|
7
|
+
username?: string;
|
|
8
|
+
color?: string;
|
|
7
9
|
}
|
|
8
|
-
declare const Avatar:
|
|
10
|
+
declare const Avatar: FC<AvatarProps>;
|
|
9
11
|
export default Avatar;
|
package/es/avatar/index.js
CHANGED
|
@@ -1 +1,64 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useMemo}from"react";import
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useEffect,useMemo,useRef,useState}from"react";import{css,keyframes}from"@emotion/css";import{classNames}from"@moneko/common";import favicon from"./favicon.svg?raw";import clipPath from"./clip-path.svg?raw";const avatarMorph=keyframes`
|
|
2
|
+
0% {
|
|
3
|
+
border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
50% {
|
|
7
|
+
border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
100% {
|
|
11
|
+
border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
|
|
12
|
+
}
|
|
13
|
+
`;const faviconBg=`data:image/svg+xml;base64,${window.btoa(favicon)}`;const avatarCss=css`
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
position: relative;
|
|
18
|
+
width: 32px;
|
|
19
|
+
height: 32px;
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
user-select: none;
|
|
22
|
+
transition: transform 0.3s;
|
|
23
|
+
background-image: linear-gradient(45deg, #cabdeb 0%, #e9887c 100%);
|
|
24
|
+
animation: ${avatarMorph} 8s ease-in-out infinite;
|
|
25
|
+
&::before,
|
|
26
|
+
&::after {
|
|
27
|
+
position: absolute;
|
|
28
|
+
top: 0;
|
|
29
|
+
left: 0;
|
|
30
|
+
display: block;
|
|
31
|
+
width: 100%;
|
|
32
|
+
height: 100%;
|
|
33
|
+
content: '';
|
|
34
|
+
transition: transform 0.3s;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&::before {
|
|
38
|
+
background-color: var(--avatar-color);
|
|
39
|
+
clip-path: url('#clipPathAvatar');
|
|
40
|
+
}
|
|
41
|
+
&::after {
|
|
42
|
+
background: url(${faviconBg}) no-repeat center/contain;
|
|
43
|
+
}
|
|
44
|
+
span {
|
|
45
|
+
transition: transform 0.3s;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:hover {
|
|
49
|
+
> *,
|
|
50
|
+
&::after,
|
|
51
|
+
&::before {
|
|
52
|
+
transform: scale(1.2);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
img {
|
|
57
|
+
position: absolute;
|
|
58
|
+
left: 0;
|
|
59
|
+
width: 100%;
|
|
60
|
+
height: 100%;
|
|
61
|
+
clip-path: url('#clipPathAvatar');
|
|
62
|
+
transition: transform 0.3s;
|
|
63
|
+
}
|
|
64
|
+
`;const avatarSize={small:24,normal:32,large:40};const Avatar=_param=>{var{className,src,alt,username,size,style={},color}=_param,props=_objectWithoutProperties(_param,["className","src","alt","username","size","style","color"]);const box=useRef(null);const label=useRef(null);const[scale,setScale]=useState(1);const cls=useMemo(()=>classNames(avatarCss,className),[className]);useEffect(()=>{const hasSvg=document.documentElement.querySelector("clipPath#clipPathAvatar");if(!hasSvg){const svg=document.createElement("a");svg.innerHTML=clipPath;document.body.insertBefore(svg.firstChild,document.body.firstChild)}},[]);const _style=useMemo(()=>{if(typeof size==="number"){style.width=size;style.height=size}else if(size&&avatarSize[size]){style.width=avatarSize[size];style.height=avatarSize[size]}if(color)Object.assign(style,{"--avatar-color":color});return style},[color,size,style]);useEffect(()=>{if(label.current&&box.current){if(label.current.clientWidth+6>box.current.clientWidth){setScale((box.current.clientWidth-6)/label.current.clientWidth)}}},[]);const img=useMemo(()=>typeof src==="string"?React.createElement("img",{src:src,alt:alt}):src,[alt,src]);return React.createElement("div",_extends({ref:box,className:cls,style:_style},props),img?img:username?React.createElement("span",{ref:label,style:{transform:`scale(${scale})`}},username):null)};export default Avatar;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type AvatarProps } from '../avatar';
|
|
3
|
+
export interface AvatarGroupProps {
|
|
4
|
+
data: Omit<AvatarProps, 'size'>[];
|
|
5
|
+
size?: AvatarProps['size'];
|
|
6
|
+
className?: string;
|
|
7
|
+
maxCount?: number;
|
|
8
|
+
}
|
|
9
|
+
declare const AvatarGroup: FC<AvatarGroupProps>;
|
|
10
|
+
export default AvatarGroup;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React,{useMemo}from"react";import{classNames}from"@moneko/common";import{css}from"@emotion/css";import Tooltip from"../tooltip";import Avatar from"../avatar";const avatarGroupCss=css`
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
& > *:not(:first-child) {
|
|
5
|
+
margin-left: -5%;
|
|
6
|
+
}
|
|
7
|
+
`;const avatarMoreCss=css`
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
padding: 8px;
|
|
11
|
+
gap: 4px;
|
|
12
|
+
flex-wrap: wrap;
|
|
13
|
+
`;const AvatarGroup=({data=[],className,size,maxCount})=>{const showAvatar=useMemo(()=>{return data.slice(0,maxCount)},[data,maxCount]);const more=data.length-(maxCount||data.length);return React.createElement("div",{className:classNames(avatarGroupCss,className)},showAvatar.map((a,i)=>React.createElement(Avatar,_extends({key:`${i}-${a.src}`,size:size},a))),more?React.createElement(Tooltip,{popupStyle:{maxWidth:"60vw"},title:React.createElement("div",{className:avatarMoreCss},data.slice(-more).map((a,i)=>React.createElement(Avatar,_extends({key:`${i}-${a.src}`,size:size},a))))},React.createElement(Avatar,{size:size,username:`+${more}`})):null)};export default AvatarGroup;
|
package/es/back-top/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export interface BackTopProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
export interface BackTopProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
/** 设置需要监听其滚动事件的元素,值为一个返回对应 DOM 元素 */
|
|
5
4
|
target?: () => HTMLElement;
|
|
6
5
|
/** 挂载到指定的元素,值为一个返回对应 DOM 元素 默认 document.body */
|
|
7
|
-
getPopupContainer?: (node
|
|
6
|
+
getPopupContainer?: (node: HTMLElement) => HTMLElement;
|
|
8
7
|
/** 滚动高度达到此参数值才出现 BackTop */
|
|
9
8
|
visibilityHeight?: number;
|
|
10
9
|
}
|
package/es/back-top/index.js
CHANGED
|
@@ -1 +1,66 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{memo,useCallback,useEffect,useRef,useState}from"react";import{css,keyframes,injectGlobal}from"@emotion/css";import{createPortal}from"react-dom";import{classNames,getMaxZindex,getScrollTop,isEqual,isFunction}from"@moneko/common";const fadeIn=keyframes`
|
|
2
|
+
from {
|
|
3
|
+
transform: translate3d(0, 16px, 0) scale(1);
|
|
4
|
+
opacity: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
to {
|
|
8
|
+
transform: translate3d(0, 0, 0) scale(1);
|
|
9
|
+
opacity: 1;
|
|
10
|
+
}
|
|
11
|
+
`;const fadeOut=keyframes`
|
|
12
|
+
0%,
|
|
13
|
+
20% {
|
|
14
|
+
transform: translate3d(0, 0, 0);
|
|
15
|
+
opacity: 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
100% {
|
|
19
|
+
transform: translate3d(0, 16px, 0);
|
|
20
|
+
opacity: 0;
|
|
21
|
+
}
|
|
22
|
+
`;const backTopCss=css`
|
|
23
|
+
position: sticky;
|
|
24
|
+
left: calc(100% - 100px);
|
|
25
|
+
bottom: 50px;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
width: 40px;
|
|
30
|
+
height: 40px;
|
|
31
|
+
min-height: 40px;
|
|
32
|
+
min-width: 40px;
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
animation: ${fadeIn} 1s forwards;
|
|
35
|
+
box-shadow: var(--box-shadow-base);
|
|
36
|
+
border-radius: 50%;
|
|
37
|
+
color: var(--back-top-color);
|
|
38
|
+
background-color: var(--back-top-bg);
|
|
39
|
+
backdrop-filter: blur(16px);
|
|
40
|
+
transition: background-color var(--transition-duration), color var(--transition-duration);
|
|
41
|
+
z-index: 9;
|
|
42
|
+
|
|
43
|
+
&::before {
|
|
44
|
+
content: '';
|
|
45
|
+
display: block;
|
|
46
|
+
width: 16px;
|
|
47
|
+
height: 8px;
|
|
48
|
+
background-color: var(--back-top-color);
|
|
49
|
+
clip-path: polygon(0 100%, 50% 0, 100% 100%);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&:hover {
|
|
53
|
+
background-color: var(--back-top-hover-bg);
|
|
54
|
+
}
|
|
55
|
+
`;const outCss=css`
|
|
56
|
+
animation: ${fadeOut} 1s forwards;
|
|
57
|
+
`;injectGlobal(`
|
|
58
|
+
:root {
|
|
59
|
+
--back-top-color: #fff;
|
|
60
|
+
--back-top-bg: var(--text-color-secondary);
|
|
61
|
+
--back-top-hover-bg: var(--text-color);
|
|
62
|
+
}
|
|
63
|
+
[data-theme='dark'] {
|
|
64
|
+
--back-top-bg: rgba(255, 255, 255, 0.45);
|
|
65
|
+
}
|
|
66
|
+
`);const BackTop=_param=>{var{target=()=>window,getPopupContainer,visibilityHeight=400,className}=_param,props=_objectWithoutProperties(_param,["target","getPopupContainer","visibilityHeight","className"]);const ref=useRef(null);const[show,setShow]=useState(null);const handleScrollY=useCallback(()=>{let scrollTop=0;let offsetHeight=0;if(isFunction(target)){const ele=target();if(ele){scrollTop=getScrollTop(ele);offsetHeight=ele.offsetHeight}}const nextShow=scrollTop>offsetHeight/3||scrollTop>visibilityHeight;if(Boolean(show)!==nextShow){setShow(nextShow)}},[show,target,visibilityHeight]);const handleBackTop=useCallback(()=>{var _target;(_target=target())===null||_target===void 0?void 0:_target.scrollTo({top:0,behavior:"smooth"})},[target]);useEffect(()=>{if(show&&ref.current){ref.current.style.zIndex=getMaxZindex().toString()}},[show]);useEffect(()=>{if(isFunction(target)){var _target;(_target=target())===null||_target===void 0?void 0:_target.addEventListener("scroll",handleScrollY,false)}return()=>{if(isFunction(target)){var _target;(_target=target())===null||_target===void 0?void 0:_target.removeEventListener("scroll",handleScrollY,false)}}},[handleScrollY,target]);const exit=useCallback(()=>{if(show===false){setShow(null)}},[show]);if(show===null)return null;return createPortal(React.createElement("div",_extends({},props,{ref:ref,onAnimationEnd:exit,className:classNames(className,backTopCss,show===false&&outCss),onClick:handleBackTop})),(getPopupContainer===null||getPopupContainer===void 0?void 0:getPopupContainer(target()))||document.body)};export default memo(BackTop,isEqual);
|
package/es/button/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export interface ButtonProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1
|
+
import { FC, HTMLAttributes } from 'react';
|
|
2
|
+
export type ButtonType = 'success' | 'error' | 'primary' | 'warning' | 'default';
|
|
3
|
+
export interface ButtonProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
4
|
/** 按钮类型 */
|
|
6
5
|
type?: ButtonType;
|
|
7
6
|
/** 无限动画 */
|
|
@@ -21,5 +20,5 @@ export interface ButtonProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
21
20
|
/** 链接按钮 */
|
|
22
21
|
link?: boolean;
|
|
23
22
|
}
|
|
24
|
-
declare const Button:
|
|
23
|
+
declare const Button: FC<ButtonProps>;
|
|
25
24
|
export default Button;
|
package/es/button/index.js
CHANGED
|
@@ -1 +1,77 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useCallback,useRef,useState}from"react";import{classNames,isFunction}from"@moneko/common";import{css,keyframes}from"@emotion/css";const waveEffect=keyframes`
|
|
2
|
+
0% {
|
|
3
|
+
opacity: 1;
|
|
4
|
+
box-shadow: 0 0 0 var(--wave-shadow-color);
|
|
5
|
+
}
|
|
6
|
+
25% {
|
|
7
|
+
opacity: 1;
|
|
8
|
+
box-shadow: 0 0 0 4px var(--wave-shadow-color);
|
|
9
|
+
}
|
|
10
|
+
100% {
|
|
11
|
+
opacity: 0;
|
|
12
|
+
box-shadow: 0 0 0 6px var(--wave-shadow-color);
|
|
13
|
+
}
|
|
14
|
+
`;const btnTextCss=css`
|
|
15
|
+
display: block;
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
text-overflow: ellipsis;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
`;const getAnimationCss=(animating,link,infinite)=>{let animation=css``;if((animating||infinite)&&!link){animation=css`
|
|
20
|
+
&::before {
|
|
21
|
+
animation: ${waveEffect} 0.3s cubic-bezier(1, 1, 1, ${infinite?.99:1})
|
|
22
|
+
${infinite?"infinite":""} forwards;
|
|
23
|
+
content: '';
|
|
24
|
+
}
|
|
25
|
+
`}return animation};const getStatusCss=(type,fill,float,ghost,link,circle,dashed,disabled)=>{let bg="var(--component-background, white)";let hoverBg=bg;let activeBg=bg;let borderColor="var(--border-color-base)";let borderHover=`var(--primary-color-hover)`;let borderActive=`var(--primary-color-active)`;let color=`var(--text-color)`;let colorHover=`var(--primary-color-hover)`;let colorActive=`var(--primary-color-active)`;if(type!=="default"){bg=`var(--${type}-color${fill?"":"-deprecated-bg"})`;borderColor=`var(--${type}-color${fill?"":"-deprecated-border"})`;borderHover=`var(--${type}-color-hover)`;borderActive=`var(--${type}-color-active)`;color=fill?"white":`var(--${type}-color)`;colorHover=fill?"white":`var(--${type}-color-hover)`;colorActive=fill?"white":`var(--${type}-color-active)`;hoverBg=`var(--${type}-color-${fill?"hover":"deprecated-bg"})`;activeBg=`var(--${type}-color-${fill?"active":"deprecated-bg"})`}if(ghost||link){bg="transparent";hoverBg="transparent";activeBg="transparent"}if(float||link){borderColor="transparent";borderHover="transparent";borderActive="transparent"}return css`
|
|
26
|
+
--wave-shadow-color: var(--${type==="default"?"primary":type}-color-outline);
|
|
27
|
+
color: ${color};
|
|
28
|
+
background-color: ${bg};
|
|
29
|
+
border-color: ${borderColor};
|
|
30
|
+
min-width: ${circle?"32px":"22px"};
|
|
31
|
+
min-height: ${circle?"32px":"22px"};
|
|
32
|
+
max-width: ${circle?"32px":"unset"};
|
|
33
|
+
max-height: ${circle?"32px":"unset"};
|
|
34
|
+
line-height: ${circle?"32px":1};
|
|
35
|
+
padding: ${circle?0:"8px 16px"};
|
|
36
|
+
border-radius: ${circle?"50%":"var(--border-radius-base)"};
|
|
37
|
+
border-style: ${dashed?"dashed":"solid"};
|
|
38
|
+
cursor: ${disabled?"not-allowed":"pointer"};
|
|
39
|
+
|
|
40
|
+
&:hover {
|
|
41
|
+
color: ${colorHover};
|
|
42
|
+
background-color: ${hoverBg};
|
|
43
|
+
border-color: ${borderHover};
|
|
44
|
+
}
|
|
45
|
+
&:active {
|
|
46
|
+
color: ${colorActive};
|
|
47
|
+
background-color: ${activeBg};
|
|
48
|
+
border-color: ${borderActive};
|
|
49
|
+
}
|
|
50
|
+
`};const getBaseStyle=()=>{return css`
|
|
51
|
+
position: relative;
|
|
52
|
+
outline-offset: 4px;
|
|
53
|
+
display: inline-block;
|
|
54
|
+
width: fit-content;
|
|
55
|
+
height: fit-content;
|
|
56
|
+
border-width: 1px;
|
|
57
|
+
transition-timing-function: var(--transition-timing-function);
|
|
58
|
+
transition-duration: var(--transition-duration);
|
|
59
|
+
transition-property: color, background-color, border-color, width, height;
|
|
60
|
+
user-select: none;
|
|
61
|
+
touch-action: manipulation;
|
|
62
|
+
box-sizing: border-box;
|
|
63
|
+
text-align: center;
|
|
64
|
+
|
|
65
|
+
&::before {
|
|
66
|
+
position: absolute;
|
|
67
|
+
inset: 0;
|
|
68
|
+
display: block;
|
|
69
|
+
border-radius: inherit;
|
|
70
|
+
box-shadow: 0 0 0 0 var(--wave-shadow-color);
|
|
71
|
+
opacity: 0.2;
|
|
72
|
+
pointer-events: none;
|
|
73
|
+
}
|
|
74
|
+
&:last-of-type {
|
|
75
|
+
margin-right: 0;
|
|
76
|
+
}
|
|
77
|
+
`};const Button=_param=>{var{infinite,ghost,fill,circle,dashed,float,link,children,disabled,onClick,type="default",className}=_param,props=_objectWithoutProperties(_param,["infinite","ghost","fill","circle","dashed","float","link","children","disabled","onClick","type","className"]);const ref=useRef(null);const[animating,setAnimating]=useState(false);const handleClick=useCallback(e=>{if(disabled)return;setAnimating(true);if(isFunction(onClick)){onClick(e)}},[disabled,onClick]);const handleAnimationEnd=useCallback(()=>{setAnimating(false)},[]);return React.createElement("div",_extends({},props,{ref:ref,onClick:handleClick,onAnimationEnd:handleAnimationEnd,className:classNames(getBaseStyle(),getStatusCss(type,fill,float,ghost,link,circle,dashed,disabled),getAnimationCss(animating,link,infinite),className)}),React.createElement("span",{className:btnTextCss},children))};export default Button;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import './index.global.less';
|
|
1
|
+
import { FC, HTMLAttributes } from 'react';
|
|
3
2
|
export interface RecorderOptions {
|
|
4
3
|
/** 录制文件名称 */
|
|
5
4
|
filename?: string;
|
|
6
5
|
}
|
|
7
|
-
export interface CaptureScreenProp extends
|
|
6
|
+
export interface CaptureScreenProp extends HTMLAttributes<HTMLDivElement> {
|
|
8
7
|
options?: MediaStreamConstraints;
|
|
9
8
|
/** 是否预览 */
|
|
10
9
|
preview?: boolean;
|
|
@@ -41,5 +40,5 @@ export interface CaptureScreenProp extends React.HTMLAttributes<HTMLDivElement>
|
|
|
41
40
|
/** 自定义保存录制文件方法 */
|
|
42
41
|
onSaveRecorder?: (blob: Blob, fileName: string) => void;
|
|
43
42
|
}
|
|
44
|
-
declare const CaptureScreen:
|
|
43
|
+
declare const CaptureScreen: FC<CaptureScreenProp>;
|
|
45
44
|
export default CaptureScreen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}var __generator=this&&this.__generator||function(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import Button from"../button";import getPrefixCls from"../get-prefix-cls";import{downloadBlob,classNames,isObject}from"@moneko/common";import"./index.global.less";var displayMediaOptions={video:true,audio:{echoCancellation:true,noiseSuppression:true,sampleRate:44100}};var btnStatusDic={inactive:"primary",paused:"warning",recording:"success"};var CaptureScreen=function(_param){var _options=_param.options,options=_options===void 0?displayMediaOptions:_options,preview=_param.preview,controls=_param.controls,recorder=_param.recorder,className=_param.className,_captureScreenText=_param.captureScreenText,captureScreenText=_captureScreenText===void 0?"捕获屏幕":_captureScreenText,_stopCaptureText=_param.stopCaptureText,stopCaptureText=_stopCaptureText===void 0?"停止捕获":_stopCaptureText,_startRecorderText=_param.startRecorderText,startRecorderText=_startRecorderText===void 0?"开始录制":_startRecorderText,_stopRecorderText=_param.stopRecorderText,stopRecorderText=_stopRecorderText===void 0?"停止录制":_stopRecorderText,_pausedRecorderText=_param.pausedRecorderText,pausedRecorderText=_pausedRecorderText===void 0?"暂停录制":_pausedRecorderText,_recorderingText=_param.recorderingText,recorderingText=_recorderingText===void 0?"录制中":_recorderingText,_onRecorderError=_param.onRecorderError,onRecorderError=_onRecorderError===void 0?null:_onRecorderError,onStopRecorder=_param.onStopRecorder,onStartRecorder=_param.onStartRecorder,onStopCapture=_param.onStopCapture,onStartCapture=_param.onStartCapture,onRecorderDataAvailable=_param.onRecorderDataAvailable,onErrorCapture=_param.onErrorCapture,onSaveRecorder=_param.onSaveRecorder,props=_objectWithoutProperties(_param,["options","preview","controls","recorder","className","captureScreenText","stopCaptureText","startRecorderText","stopRecorderText","pausedRecorderText","recorderingText","onRecorderError","onStopRecorder","onStartRecorder","onStopCapture","onStartCapture","onRecorderDataAvailable","onErrorCapture","onSaveRecorder"]);var videoElem=useRef(null);var mediaRecorderRef=useRef(null);var mediaStreamRef=useRef(null);var chunks=useRef([]);var recorderRef=useRef(recorder);var ref=_slicedToArray(useState(null),2),mediaRecorder=ref[0],setMediaRecorder=ref[1];var ref1=_slicedToArray(useState(null),2),mediaStream=ref1[0],setMediaStream=ref1[1];var ref2=_slicedToArray(useState("inactive"),2),recordState=ref2[0],setRecordState=ref2[1];useEffect(function(){Object.assign(recorderRef,{current:recorder})},[recorder]);useEffect(function(){Object.assign(mediaStreamRef,{current:mediaStream})},[mediaStream]);useEffect(function(){Object.assign(mediaRecorderRef,{current:mediaRecorder})},[mediaRecorder]);var handleStartRecorder=useCallback(function(){if(mediaRecorderRef.current){onStartRecorder===null||onStartRecorder===void 0?void 0:onStartRecorder(mediaRecorderRef.current.state);switch(mediaRecorderRef.current.state){case"inactive":mediaRecorderRef.current.start();break;case"paused":mediaRecorderRef.current.resume();break;case"recording":default:mediaRecorderRef.current.pause();break}setRecordState(mediaRecorderRef.current.state)}},[onStartRecorder]);var handleRecorderDataAvailable=useCallback(function(e){var ref;(ref=chunks.current)===null||ref===void 0?void 0:ref.push(e.data);onRecorderDataAvailable===null||onRecorderDataAvailable===void 0?void 0:onRecorderDataAvailable(e)},[onRecorderDataAvailable]);var stopRecorder=useCallback(function(){if(mediaRecorderRef.current){if(mediaRecorderRef.current.state!=="inactive"){mediaRecorderRef.current.stop()}setRecordState(mediaRecorderRef.current.state)}onStopRecorder===null||onStopRecorder===void 0?void 0:onStopRecorder()},[onStopRecorder]);var handleSaveRecorder=useCallback(function(){var ref,ref1;if(!((ref=chunks.current)===null||ref===void 0?void 0:ref.length))return;var current=recorderRef.current;var blob=new Blob(chunks.current,{type:"video/webm"});var name=isObject(current)?current===null||current===void 0?void 0:current.filename:new Date().toISOString();var fileName=name+".webm";(ref1=chunks.current)===null||ref1===void 0?void 0:ref1.splice(0);if(onSaveRecorder){onSaveRecorder(blob,fileName)}else{downloadBlob(blob,fileName)}},[onSaveRecorder]);var stopCapture=useCallback(function(){stopRecorder();if(mediaStreamRef.current){var tracks=mediaStreamRef.current.getTracks();tracks===null||tracks===void 0?void 0:tracks.forEach(function(track){return track.stop()});setMediaStream(null)}onStopCapture===null||onStopCapture===void 0?void 0:onStopCapture()},[onStopCapture,stopRecorder]);var startCapture=useCallback(_asyncToGenerator(function(){var stream,err;return __generator(this,function(_state){switch(_state.label){case 0:stopCapture();_state.label=1;case 1:_state.trys.push([1,3,,4]);return[4,navigator.mediaDevices.getDisplayMedia(_objectSpread({},displayMediaOptions,options))];case 2:stream=_state.sent();if(stream){stream.addEventListener("inactive",stopCapture,false);setMediaStream(stream)}onStartCapture===null||onStartCapture===void 0?void 0:onStartCapture(stream);return[3,4];case 3:err=_state.sent();onErrorCapture===null||onErrorCapture===void 0?void 0:onErrorCapture(err);return[3,4];case 4:return[2]}})}),[onErrorCapture,onStartCapture,options,stopCapture]);useEffect(function(){if(preview&&(videoElem===null||videoElem===void 0?void 0:videoElem.current)&&mediaStream){videoElem.current.srcObject=mediaStream}},[mediaStream,preview]);useEffect(function(){if(mediaStream===null||mediaStream===void 0?void 0:mediaStream.active){var recorderInstance=new MediaRecorder(mediaStream);recorderInstance.onstop=handleSaveRecorder;recorderInstance.onerror=onRecorderError;recorderInstance.ondataavailable=handleRecorderDataAvailable;setMediaRecorder(recorderInstance)}else{setMediaRecorder(null)}},[handleRecorderDataAvailable,handleSaveRecorder,mediaStream,onRecorderError]);useEffect(function(){var getMediaRecorderRef=function(){return mediaRecorderRef.current};var getMediaStreamRef=function(){return mediaStreamRef.current};return function(){var _mediaRecorderRef=getMediaRecorderRef();if((_mediaRecorderRef===null||_mediaRecorderRef===void 0?void 0:_mediaRecorderRef.state)!=="inactive"){_mediaRecorderRef===null||_mediaRecorderRef===void 0?void 0:_mediaRecorderRef.stop()}var streamRef=getMediaStreamRef();if(streamRef){var tracks=streamRef.getTracks();tracks===null||tracks===void 0?void 0:tracks.forEach(function(track){return track.stop()})}}},[]);var recorderText=useMemo(function(){return({paused:pausedRecorderText,recording:recorderingText,inactive:startRecorderText})[recordState]},[pausedRecorderText,recordState,recorderingText,startRecorderText]);return React.createElement("div",_extends({className:classNames(getPrefixCls("capture-screen"),className)},props),React.createElement("div",{className:getPrefixCls("capture-screen-controller")},React.createElement(Button,{onClick:startCapture},captureScreenText),mediaStream&&React.createElement(React.Fragment,null,React.createElement(Button,{type:"error",onClick:stopCapture},stopCaptureText),recorder&&React.createElement("div",{className:getPrefixCls("capture-screen-controller-record")},React.createElement(Button,{type:btnStatusDic[recordState],onClick:handleStartRecorder},recorderText),recordState!=="inactive"&&React.createElement(Button,{type:"error",onClick:stopRecorder},stopRecorderText)))),preview&&mediaStream?React.createElement("div",{className:getPrefixCls("capture-screen-video")},React.createElement("span",{className:getPrefixCls("capture-screen-video-".concat(recordState))}),React.createElement("video",{ref:videoElem,autoPlay:true,controls:!!(mediaStream&&controls)})):null)};export default CaptureScreen;
|
|
1
|
+
function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import Button from"../button";import{classNames,downloadBlob,isObject}from"@moneko/common";import{btnCss,captureScreenCss,controllerCss,pausedCss,recordCss,recordingCss,videoCss}from"./style";const displayMediaOptions={video:true,audio:{echoCancellation:true,noiseSuppression:true,sampleRate:44100}};const btnStatusDic={inactive:"primary",paused:"warning",recording:"success"};const CaptureScreen=_param=>{var{options=displayMediaOptions,preview,controls,recorder,captureScreenText="捕获屏幕",stopCaptureText="停止捕获",startRecorderText="开始录制",stopRecorderText="停止录制",pausedRecorderText="暂停录制",recorderingText="录制中",onRecorderError=null,onStopRecorder,onStartRecorder,onStopCapture,onStartCapture,onRecorderDataAvailable,onErrorCapture,onSaveRecorder,className}=_param,props=_objectWithoutProperties(_param,["options","preview","controls","recorder","captureScreenText","stopCaptureText","startRecorderText","stopRecorderText","pausedRecorderText","recorderingText","onRecorderError","onStopRecorder","onStartRecorder","onStopCapture","onStartCapture","onRecorderDataAvailable","onErrorCapture","onSaveRecorder","className"]);const videoElem=useRef(null);const mediaRecorderRef=useRef(null);const mediaStreamRef=useRef(null);const chunks=useRef([]);const recorderRef=useRef(recorder);const[mediaRecorder,setMediaRecorder]=useState(null);const[mediaStream,setMediaStream]=useState(null);const[recordState,setRecordState]=useState("inactive");useEffect(()=>{Object.assign(recorderRef,{current:recorder})},[recorder]);useEffect(()=>{Object.assign(mediaStreamRef,{current:mediaStream})},[mediaStream]);useEffect(()=>{Object.assign(mediaRecorderRef,{current:mediaRecorder})},[mediaRecorder]);const handleStartRecorder=useCallback(()=>{if(mediaRecorderRef.current){onStartRecorder===null||onStartRecorder===void 0?void 0:onStartRecorder(mediaRecorderRef.current.state);switch(mediaRecorderRef.current.state){case"inactive":mediaRecorderRef.current.start();break;case"paused":mediaRecorderRef.current.resume();break;case"recording":default:mediaRecorderRef.current.pause();break}setRecordState(mediaRecorderRef.current.state)}},[onStartRecorder]);const handleRecorderDataAvailable=useCallback(e=>{var _chunks_current;(_chunks_current=chunks.current)===null||_chunks_current===void 0?void 0:_chunks_current.push(e.data);onRecorderDataAvailable===null||onRecorderDataAvailable===void 0?void 0:onRecorderDataAvailable(e)},[onRecorderDataAvailable]);const stopRecorder=useCallback(()=>{if(mediaRecorderRef.current){if(mediaRecorderRef.current.state!=="inactive"){mediaRecorderRef.current.stop()}setRecordState(mediaRecorderRef.current.state)}onStopRecorder===null||onStopRecorder===void 0?void 0:onStopRecorder()},[onStopRecorder]);const handleSaveRecorder=useCallback(()=>{var _chunks_current,_chunks_current1;if(!((_chunks_current=chunks.current)===null||_chunks_current===void 0?void 0:_chunks_current.length))return;const{current}=recorderRef;const blob=new Blob(chunks.current,{type:"video/webm"});const name=isObject(current)?current===null||current===void 0?void 0:current.filename:new Date().toISOString();const fileName=name+".webm";(_chunks_current1=chunks.current)===null||_chunks_current1===void 0?void 0:_chunks_current1.splice(0);if(onSaveRecorder){onSaveRecorder(blob,fileName)}else{downloadBlob(blob,fileName)}},[onSaveRecorder]);const stopCapture=useCallback(()=>{stopRecorder();if(mediaStreamRef.current){const tracks=mediaStreamRef.current.getTracks();tracks===null||tracks===void 0?void 0:tracks.forEach(track=>track.stop());setMediaStream(null)}onStopCapture===null||onStopCapture===void 0?void 0:onStopCapture()},[onStopCapture,stopRecorder]);const startCapture=useCallback(_asyncToGenerator(function*(){stopCapture();try{const stream=yield navigator.mediaDevices.getDisplayMedia(_objectSpread({},displayMediaOptions,options));if(stream){stream.addEventListener("inactive",stopCapture,false);setMediaStream(stream)}onStartCapture===null||onStartCapture===void 0?void 0:onStartCapture(stream)}catch(err){onErrorCapture===null||onErrorCapture===void 0?void 0:onErrorCapture(err)}}),[onErrorCapture,onStartCapture,options,stopCapture]);useEffect(()=>{if(preview&&(videoElem===null||videoElem===void 0?void 0:videoElem.current)&&mediaStream){videoElem.current.srcObject=mediaStream}},[mediaStream,preview]);useEffect(()=>{if(mediaStream===null||mediaStream===void 0?void 0:mediaStream.active){const recorderInstance=new MediaRecorder(mediaStream);recorderInstance.onstop=handleSaveRecorder;recorderInstance.onerror=onRecorderError;recorderInstance.ondataavailable=handleRecorderDataAvailable;setMediaRecorder(recorderInstance)}else{setMediaRecorder(null)}},[handleRecorderDataAvailable,handleSaveRecorder,mediaStream,onRecorderError]);useEffect(()=>{const getMediaRecorderRef=()=>mediaRecorderRef.current;const getMediaStreamRef=()=>mediaStreamRef.current;return()=>{const _mediaRecorderRef=getMediaRecorderRef();if((_mediaRecorderRef===null||_mediaRecorderRef===void 0?void 0:_mediaRecorderRef.state)!=="inactive"){_mediaRecorderRef===null||_mediaRecorderRef===void 0?void 0:_mediaRecorderRef.stop()}const streamRef=getMediaStreamRef();if(streamRef){const tracks=streamRef.getTracks();tracks===null||tracks===void 0?void 0:tracks.forEach(track=>track.stop())}}},[]);const recorderText=useMemo(()=>({paused:pausedRecorderText,recording:recorderingText,inactive:startRecorderText})[recordState],[pausedRecorderText,recordState,recorderingText,startRecorderText]);return React.createElement("div",_extends({},props,{className:classNames(captureScreenCss,className)}),React.createElement("div",{className:controllerCss},React.createElement(Button,{onClick:startCapture,className:btnCss},captureScreenText),mediaStream&&React.createElement(React.Fragment,null,React.createElement(Button,{type:"error",onClick:stopCapture,className:btnCss},stopCaptureText),recorder&&React.createElement("div",{className:recordCss},React.createElement(Button,{type:btnStatusDic[recordState],onClick:handleStartRecorder,className:btnCss},recorderText),recordState!=="inactive"&&React.createElement(Button,{type:"error",onClick:stopRecorder,className:btnCss},stopRecorderText)))),preview&&mediaStream?React.createElement("div",{className:videoCss},React.createElement("span",{className:classNames(recordState==="recording"&&recordingCss,recordState==="paused"&&pausedCss)}),React.createElement("video",{ref:videoElem,autoPlay:true,controls:!!(mediaStream&&controls)})):null)};export default CaptureScreen;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const captureScreenCss: string;
|
|
2
|
+
export declare const videoCss: string;
|
|
3
|
+
export declare const recordingCss: string;
|
|
4
|
+
export declare const pausedCss: string;
|
|
5
|
+
export declare const controllerCss: string;
|
|
6
|
+
export declare const btnCss: string;
|
|
7
|
+
export declare const recordCss: string;
|