David PHAM-VAN

Improve the Demo project with some SVG images

... ... @@ -15,11 +15,11 @@
DART_SRC=$(shell find . -name '*.dart')
CLNG_SRC=$(shell find printing/ios printing/macos printing/windows printing/android -name '*.cpp' -o -name '*.m' -o -name '*.h' -o -name '*.java')
SWFT_SRC=$(shell find printing/ios printing/macos -name '*.swift')
FONTS=pdf/open-sans.ttf pdf/open-sans-bold.ttf pdf/roboto.ttf pdf/noto-sans.ttf pdf/genyomintw.ttf demo/assets/roboto1.ttf demo/assets/roboto2.ttf demo/assets/roboto3.ttf demo/assets/open-sans.ttf demo/assets/open-sans-bold.ttf pdf/hacen-tunisia.ttf pdf/material.ttf
FONTS=pdf/open-sans.ttf pdf/open-sans-bold.ttf pdf/roboto.ttf pdf/noto-sans.ttf pdf/genyomintw.ttf demo/assets/roboto1.ttf demo/assets/roboto2.ttf demo/assets/roboto3.ttf demo/assets/open-sans.ttf demo/assets/open-sans-bold.ttf pdf/hacen-tunisia.ttf pdf/material.ttf demo/assets/material.ttf
COV_PORT=9292
SVG=blend_and_mask blend_mode_devil clip_path clip_path_2 clip_path_2 clip_path_3 clip_path_3 dash_path ellipse empty_defs equation fill-rule-inherit group_composite_opacity group_fill_opacity group_mask group_opacity group_opacity_transform hidden href-fill image image_def implicit_fill_with_opacity linear_gradient linear_gradient_2 linear_gradient_absolute_user_space_translate linear_gradient_percentage_bounding_translate linear_gradient_percentage_user_space_translate linear_gradient_xlink male mask mask_with_gradient mask_with_use mask_with_use2 nested_group opacity_on_path radial_gradient radial_gradient_absolute_user_space_translate radial_gradient_focal radial_gradient_percentage_bounding_translate radial_gradient_percentage_user_space_translate radial_gradient_xlink radial_ref_linear_gradient rect_rrect rect_rrect_no_ry stroke_inherit_circles style_attr text text_2 text_3 use_circles use_circles_def use_emc2 use_fill use_opacity_grid width_height_viewbox flutter_logo emoji_u1f600 text_transform dart new-pause-button new-send-circle new-gif new-camera new-image numeric_25 new-mention new-gif-button new-action-expander new-play-button aa alphachannel Ghostscript_Tiger Firefox_Logo_2017 chess_knight Flag_of_the_United_States
all: $(FONTS) demo/assets/logo.png demo/assets/profile.jpg format printing/example/.metadata get
all: $(FONTS) demo/assets/logo.svg demo/assets/profile.jpg format printing/example/.metadata get
pdf/open-sans.ttf:
curl -L "https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-U1Ug.ttf" > $@
... ... @@ -55,8 +55,11 @@ demo/assets/roboto2.ttf:
demo/assets/roboto3.ttf:
curl -L "https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgWxP.ttf" > $@
demo/assets/logo.png:
curl -L "https://pigment.github.io/fake-logos/logos/medium/color/auto-speed.png" > $@
demo/assets/logo.svg:
curl -L "http://pigment.github.io/fake-logos/logos/vector/color/auto-speed.svg" > $@
demo/assets/material.ttf: pdf/material.ttf
cp $< $@
demo/assets/profile.jpg:
curl -L "https://www.fakepersongenerator.com/Face/female/female20151024334209870.jpg" > $@
... ...
... ... @@ -38,3 +38,4 @@ lib/generated_plugin_registrant.dart
macos/Podfile.lock
assets/*.png
assets/*.jpg
assets/logo.svg
... ...
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" viewBox="0 0 2100 2970" id="svg158" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(0.938095, 0, 0, 0.938095, -69.17218, -301.570496)" style="" id="g156">
<path d="M 1303.526 3258.383 C 1291.194 3242.634 1280.912 3225.187 1273.232 3207.434 C 1260.22 3177.363 1253.539 3138.702 1280.434 3114.166 C 1296.114 3099.859 1323.216 3091.438 1343.815 3096.048 C 1370.046 3101.919 1387.814 3127.562 1393.966 3152.21 C 1406.759 3203.664 1351.13 3236.93 1311.838 3254.782 C 1309.099 3256.03 1306.326 3257.22 1303.526 3258.383 Z M 671.724 3184.454 C 685.379 3222.063 678.274 3281.56 642.951 3305.578 C 624.394 3318.188 599.292 3315.288 585.459 3297.506 C 572.927 3281.392 569.483 3259.014 569.711 3239.172 C 570.151 3200.539 597.964 3164.906 631.204 3141.07 C 649.131 3149.043 663.835 3162.719 671.724 3184.454 Z M 2184.847 3203.342 C 2180.363 3202.711 2175.851 3202.207 2171.367 3201.815 C 2141.044 3199.166 2109.978 3200.274 2079.64 3201.772 C 2013.992 3205.023 1948.974 3216.346 1885.246 3232.123 C 1852.456 3240.236 1818.966 3248.575 1787.186 3260.064 C 1757.703 3270.742 1728.291 3281.658 1698.598 3291.803 C 1638.008 3312.527 1575.582 3330.002 1511.307 3333.406 C 1479.274 3335.102 1447.186 3332.51 1415.938 3325.307 C 1389.93 3319.31 1361.316 3310.51 1339.71 3294.298 C 1329.746 3286.828 1320.498 3278.099 1312.02 3268.556 C 1321.072 3264.744 1329.914 3260.527 1338.49 3255.903 C 1375.903 3235.739 1415.628 3201.619 1407.474 3154.55 C 1403.452 3131.415 1390.924 3109.135 1371.63 3095.347 C 1351.214 3080.76 1329.76 3079.583 1306.287 3086.435 C 1272.139 3096.398 1249.206 3122.419 1248.819 3158.474 C 1248.42 3194.332 1267.326 3229.867 1287.739 3258.144 C 1288.952 3259.812 1290.179 3261.466 1291.419 3263.106 C 1241.078 3281.42 1183.195 3286.871 1131.523 3276.166 C 1070.091 3263.442 1018.886 3223.099 966.592 3190.94 C 941.162 3175.303 914.247 3162.146 887.866 3148.203 C 861.92 3134.484 835.631 3121.439 808.058 3111.307 C 754.066 3091.466 692.828 3088.495 642.138 3119.071 C 638.512 3121.256 634.896 3123.583 631.308 3126.02 C 592.966 3111.055 544.618 3120.038 507.322 3130.687 C 453.858 3145.932 402.979 3173.103 358.852 3206.691 C 313.518 3241.204 279.408 3286.282 250.662 3335.06 C 238.947 3354.93 205.148 3420.536 194.164 3440.798 C 191.348 3448.112 199.932 3452.415 206.726 3444.162 C 219.944 3419.303 256.66 3349.492 271.45 3325.503 C 302.887 3274.526 342.159 3231.886 392.158 3198.83 C 439.323 3167.638 493.09 3143.592 549.107 3134.4 C 571.516 3130.715 595.952 3130.252 617.464 3136.166 C 585.06 3161.823 558.11 3197.568 556.836 3239.368 C 555.72 3275.927 571.052 3321.258 612.431 3326.035 C 657.756 3331.276 682.666 3283.451 688.727 3245.898 C 695.375 3204.715 685.08 3159.412 648.894 3135.128 C 647.438 3134.148 645.95 3133.238 644.448 3132.355 C 655.078 3125.964 665.951 3120.808 676.42 3117.179 C 736.468 3096.314 798.348 3117.991 852.648 3144.602 C 907.314 3171.379 959.416 3201.604 1010.719 3234.267 C 1062.666 3267.338 1115.868 3292.784 1178.506 3294.186 C 1219.294 3295.096 1261.099 3287.894 1299.714 3273.447 C 1307.006 3282.064 1314.892 3290.163 1323.399 3297.576 C 1339.85 3311.911 1359.088 3320.36 1379.463 3327.871 C 1500.111 3372.319 1630.231 3330.506 1745.26 3289 C 1871.092 3243.586 2000.835 3213.179 2135.228 3213.5 C 2148.527 3213.53 2167.542 3215.476 2180.714 3216.808 C 2190.144 3216.808 2192.722 3206.508 2184.847 3203.342" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 2383.125031, 6531.052979)" id="path10"/>
<path d="M 1499.692 3376.986 C 1493.281 3387.746 1479.376 3391.266 1468.628 3384.866 L 1465.708 3383.119 C 1454.959 3376.719 1451.437 3362.813 1457.845 3352.053 L 1503.661 3275.173 C 1510.068 3264.426 1523.971 3260.906 1534.721 3267.306 L 1537.64 3269.053 C 1548.391 3275.466 1551.912 3289.359 1545.507 3300.119 L 1499.692 3376.986" style="fill: rgb(229, 175, 66); fill-opacity: 1; fill-rule: nonzero; stroke: none;" transform="matrix(-1, 0, 0, -1, 3003.350098, 6652.171631)" id="path12"/>
<path d="M 1603.667 3317.612 C 1579.757 3357.732 1527.853 3370.878 1487.737 3346.972 C 1447.617 3323.052 1434.478 3271.158 1458.387 3231.038 C 1482.293 3190.918 1534.197 3177.772 1574.314 3201.678 C 1614.431 3225.598 1627.574 3277.492 1603.667 3317.612" style="fill: rgb(91, 54, 86); fill-opacity: 1; fill-rule: nonzero; stroke: none;" transform="matrix(-1, 0, 0, -1, 3062.051636, 6548.649902)" id="path14"/>
<path d="M 1494.962 3376.825 C 1492.828 3380.398 1488.192 3381.572 1484.608 3379.438 C 1481.024 3377.305 1479.849 3372.665 1481.985 3369.092 L 1487.784 3359.358 C 1489.917 3355.772 1494.557 3354.598 1498.141 3356.732 C 1501.725 3358.878 1502.897 3363.505 1500.762 3367.092 L 1494.962 3376.825" style="fill: rgb(197, 22, 57); fill-opacity: 1; fill-rule: nonzero; stroke: none;" transform="matrix(-1, 0, 0, -1, 2982.74707, 6736.17041)" id="path16"/>
<path d="M 1447.959 3290.758 C 1475.159 3301.611 1505.137 3284.318 1521.817 3294.264 C 1536.871 3303.238 1535.693 3339.078 1553.811 3356.438 C 1573.976 3350.798 1592.101 3337.731 1603.669 3318.318 C 1616.068 3297.504 1618.479 3273.544 1612.351 3251.944 C 1584.493 3246.771 1553.527 3269.891 1539.197 3258.464 C 1519.527 3242.784 1527.475 3201.251 1511.993 3193.451 C 1511.62 3193.278 1511.24 3193.104 1510.863 3192.918 C 1489.651 3198.131 1470.452 3211.504 1458.389 3231.744 C 1447.383 3250.211 1444.244 3271.171 1447.959 3290.758" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3062.053589, 6549.355957)" id="path18"/>
<path d="M 1610.142 3285.029 C 1597.357 3292.042 1586.214 3302.429 1578.215 3315.855 C 1572.242 3325.869 1568.586 3336.615 1567.079 3347.482 C 1580.935 3351.402 1598.083 3343.042 1607.875 3326.602 C 1616.45 3312.215 1616.891 3295.829 1610.142 3285.029" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3181.878906, 6633.467285)" id="path20"/>
<path d="M 1453.422 3227.848 C 1444.057 3243.568 1444.389 3261.675 1453.209 3272.261 C 1462.153 3265.741 1469.961 3257.355 1475.987 3247.235 C 1483.707 3234.275 1487.542 3220.101 1487.875 3206.021 C 1475.441 3205.715 1461.763 3213.848 1453.422 3227.848" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 2934.371094, 6478.273682)" id="path22"/>
<path d="M 1552.867 3292.947 C 1542.619 3310.147 1523.555 3317.68 1510.285 3309.773 C 1497.02 3301.867 1494.575 3281.52 1504.82 3264.307 C 1515.069 3247.12 1534.136 3239.587 1547.404 3247.493 C 1560.668 3255.4 1563.117 3275.747 1552.867 3292.947" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3057.689453, 6557.266357)" id="path24"/>
<path d="M 1539.357 3284.913 C 1534.872 3292.419 1526.531 3295.726 1520.727 3292.259 C 1514.923 3288.806 1513.849 3279.899 1518.332 3272.379 C 1522.817 3264.846 1531.16 3261.553 1536.961 3265.006 C 1542.767 3268.473 1543.839 3277.379 1539.357 3284.913" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3057.688843, 6557.271484)" id="path26"/>
<path d="M 1587.583 3332.673 C 1593.372 3335.847 1601.501 3332.553 1605.909 3325.153 C 1609.915 3318.433 1609.475 3310.62 1605.195 3306.567 C 1600.451 3311.353 1596.196 3316.78 1592.593 3322.833 C 1590.675 3326.047 1589.028 3329.34 1587.583 3332.673" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3196.257324, 6640.445557)" id="path28"/>
<path d="M 1469.196 3222.358 C 1463.652 3220.785 1456.787 3224.131 1452.865 3230.705 C 1448.544 3237.958 1449.392 3246.465 1454.645 3250.171 C 1456.895 3247.318 1459.003 3244.305 1460.909 3241.105 C 1464.499 3235.078 1467.241 3228.785 1469.196 3222.358" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 2919.293335, 6472.144287)" id="path30"/>
<path d="M 1490.688 3375.82 C 1490.688 3375.82 1499.008 3386.887 1503.953 3383.78 C 1510.268 3379.82 1505.905 3372.794 1501.842 3368.247 C 1501.842 3368.247 1491.426 3363.994 1490.688 3375.82" style="fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 2997.822021, 6751.832764)" id="path32"/>
<path d="M 538.966 3279.653 C 543.766 3291.226 538.286 3304.479 526.726 3309.279 L 523.58 3310.573 C 512.033 3315.373 498.766 3309.893 493.966 3298.333 L 459.673 3215.666 C 454.873 3204.106 460.353 3190.853 471.913 3186.053 L 475.046 3184.759 C 486.62 3179.959 499.873 3185.439 504.673 3196.999 L 538.966 3279.653" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 998.638977, 6495.332031)" id="path34"/>
<path d="M 553.438 3160.798 C 571.345 3203.945 550.878 3253.425 507.745 3271.318 C 464.612 3289.211 415.132 3268.758 397.225 3225.625 C 379.332 3182.491 399.798 3133.011 442.932 3115.105 C 486.065 3097.211 535.545 3117.665 553.438 3160.798" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 950.670837, 6386.422607)" id="path36"/>
<path d="M 536.004 3283.332 C 537.59 3287.185 535.777 3291.612 531.91 3293.212 C 528.057 3294.812 523.644 3292.985 522.044 3289.132 L 517.697 3278.665 C 516.11 3274.812 517.937 3270.398 521.79 3268.798 C 525.644 3267.198 530.057 3269.025 531.657 3272.878 L 536.004 3283.332" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1053.702393, 6562.01001)" id="path38"/>
<path d="M 438.355 3272.226 C 463.302 3256.893 467.342 3222.519 485.275 3215.079 C 501.462 3208.359 529.502 3230.706 554.248 3226.546 C 561.768 3207.013 562.102 3184.666 553.448 3163.786 C 544.168 3141.426 526.382 3125.173 505.395 3117.186 C 484.608 3136.439 484.662 3175.079 466.942 3179.759 C 442.622 3186.173 414.048 3154.986 398.555 3162.746 C 398.182 3162.933 397.808 3163.146 397.448 3163.333 C 388.955 3183.466 388.208 3206.839 397.235 3228.613 C 405.488 3248.466 420.422 3263.506 438.355 3272.226" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 950.681061, 6389.412109)" id="path40"/>
<path d="M 524.075 3132.973 C 522.062 3147.413 523.742 3162.547 529.715 3176.987 C 534.195 3187.76 540.635 3197.107 548.448 3204.813 C 559.862 3196.027 563.395 3177.28 556.062 3159.613 C 549.648 3144.147 536.755 3134 524.075 3132.973" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1083.160889, 6337.785889)" id="path42"/>
<path d="M 394.59 3233.041 C 401.603 3249.948 416.336 3260.494 430.083 3259.734 C 430.19 3248.668 428.123 3237.401 423.616 3226.521 C 417.843 3212.601 408.75 3201.054 397.67 3192.374 C 389.99 3202.161 388.35 3218.001 394.59 3233.041" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 820.847992, 6452.146484)" id="path44"/>
<path d="M 503.317 3186.805 C 510.997 3205.299 505.65 3225.085 491.383 3231.019 C 477.117 3236.925 459.343 3226.739 451.65 3208.245 C 443.983 3189.752 449.33 3169.965 463.597 3164.045 C 477.863 3158.125 495.65 3168.312 503.317 3186.805" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 954.975739, 6395.057373)" id="path46"/>
<path d="M 488.793 3192.837 C 492.139 3200.93 489.806 3209.597 483.566 3212.184 C 477.326 3214.77 469.539 3210.317 466.179 3202.224 C 462.833 3194.13 465.166 3185.477 471.406 3182.877 C 477.646 3180.29 485.433 3184.757 488.793 3192.837" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 954.971985, 6395.061768)" id="path48"/>
<path d="M 552.51 3180.773 C 558.51 3178.026 560.723 3169.533 557.417 3161.586 C 554.417 3154.36 547.883 3150.04 542.083 3151.053 C 543.083 3157.72 544.897 3164.373 547.59 3170.88 C 549.03 3174.333 550.683 3177.626 552.51 3180.773" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1101.035461, 6331.679443)" id="path50"/>
<path d="M 398.298 3214.704 C 393.712 3218.211 392.298 3225.717 395.232 3232.784 C 398.472 3240.584 405.805 3244.984 411.912 3242.984 C 410.965 3239.477 409.818 3235.997 408.378 3232.544 C 405.685 3226.064 402.272 3220.104 398.298 3214.704" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 805.610535, 6458.168945)" id="path52"/>
<path d="M 532.161 3286.717 C 532.161 3286.717 546.001 3286.65 546.467 3280.837 C 547.054 3273.41 538.814 3272.704 532.747 3273.25 C 532.747 3273.25 523.107 3279.064 532.161 3286.717" style="fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1074.780212, 6559.823486)" id="path54"/>
<path d="M 980.046 3337.025 C 992.419 3338.812 1001.019 3350.319 999.219 3362.692 L 998.739 3366.052 C 996.939 3378.452 985.446 3387.025 973.059 3385.239 L 884.486 3372.412 C 872.099 3370.612 863.513 3359.119 865.313 3346.732 L 865.793 3343.372 C 867.593 3330.985 879.086 3322.412 891.473 3324.199 L 980.046 3337.025" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1864.531677, 6709.437744)" id="path56"/>
<path d="M 885.326 3263.772 C 931.539 3270.465 963.593 3313.372 956.899 3359.585 C 950.206 3405.798 907.313 3437.838 861.086 3431.158 C 814.859 3424.465 782.819 3381.572 789.513 3335.345 C 796.206 3289.132 839.099 3257.092 885.326 3263.772" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1746.411621, 6694.929932)" id="path58"/>
<path d="M 981.699 3341.466 C 985.819 3342.066 988.686 3345.893 988.086 3350.013 C 987.486 3354.146 983.659 3357.013 979.526 3356.413 L 968.326 3354.786 C 964.193 3354.199 961.326 3350.359 961.926 3346.226 C 962.526 3342.106 966.353 3339.239 970.486 3339.839 L 981.699 3341.466" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1950.012024, 6696.252197)" id="path60"/>
<path d="M 921.245 3418.144 C 920.831 3388.864 893.378 3367.811 896.151 3348.597 C 898.658 3331.251 932.218 3318.584 941.298 3295.197 C 928.365 3278.744 909.338 3267.011 886.978 3263.771 C 863.005 3260.304 839.938 3267.277 822.338 3281.211 C 828.245 3308.931 861.471 3328.664 856.431 3346.277 C 849.485 3370.451 808.085 3379.037 806.818 3396.331 C 806.791 3396.744 806.778 3397.157 806.765 3397.584 C 819.711 3415.171 839.418 3427.771 862.738 3431.157 C 884.018 3434.237 904.578 3429.091 921.245 3418.144" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1748.062988, 6694.929443)" id="path62"/>
<path d="M 851.845 3277.281 C 863.219 3286.401 877.085 3292.694 892.552 3294.947 C 904.085 3296.614 915.419 3295.867 926.032 3293.094 C 924.339 3278.801 910.032 3266.174 891.099 3263.427 C 874.525 3261.027 859.219 3266.894 851.845 3277.281" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1777.876953, 6558.719482)" id="path64"/>
<path d="M 862.62 3431.495 C 880.726 3434.121 897.326 3426.855 903.713 3414.655 C 894.26 3408.895 883.526 3404.908 871.873 3403.215 C 856.94 3401.068 842.38 3402.961 829.246 3408.041 C 833.726 3419.655 846.5 3429.161 862.62 3431.495" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1732.958984, 6834.372803)" id="path66"/>
<path d="M 882.03 3320.145 C 901.843 3323.012 916.123 3337.732 913.896 3353.012 C 911.696 3368.305 893.83 3378.372 874.016 3375.505 C 854.203 3372.625 839.936 3357.918 842.15 3342.625 C 844.363 3327.345 862.216 3317.278 882.03 3320.145" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1756.04834, 6695.649902)" id="path68"/>
<path d="M 879.776 3335.718 C 888.456 3336.972 894.696 3343.412 893.723 3350.092 C 892.75 3356.785 884.936 3361.185 876.27 3359.932 C 867.603 3358.678 861.363 3352.238 862.323 3345.558 C 863.296 3338.865 871.11 3334.465 879.776 3335.718" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1756.048523, 6695.649902)" id="path70"/>
<path d="M 905.123 3277.185 C 905.83 3270.625 899.67 3264.385 891.15 3263.145 C 883.403 3262.025 876.363 3265.425 874.257 3270.932 C 880.497 3273.479 887.137 3275.332 894.11 3276.345 C 897.803 3276.879 901.483 3277.132 905.123 3277.185" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1779.435242, 6540.117188)" id="path72"/>
<path d="M 850.312 3419.934 C 850.978 3425.654 856.698 3430.708 864.285 3431.814 C 872.632 3433.028 880.165 3428.974 881.578 3422.694 C 878.085 3421.721 874.498 3420.934 870.805 3420.388 C 863.858 3419.388 856.992 3419.268 850.312 3419.934" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1731.890015, 6851.546387)" id="path74"/>
<path d="M 983.621 3350.069 C 983.621 3350.069 997.941 3336.842 990.687 3330.922 C 984.914 3326.216 978.007 3334.642 974.314 3339.482 C 974.314 3339.482 971.861 3351.549 983.621 3350.069" style="fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1966.839294, 6679.734375)" id="path76"/>
<path d="M 674.726 3218.371 C 674.726 3228.558 666.472 3236.798 656.299 3236.798 C 646.112 3236.798 637.859 3228.558 637.859 3218.371 C 637.859 3208.198 646.112 3199.945 656.299 3199.945 C 666.472 3199.945 674.726 3208.198 674.726 3218.371" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1312.585022, 6436.743164)" id="path78"/>
<path d="M 982.739 3223.626 C 982.739 3238.172 970.952 3249.959 956.419 3249.959 C 941.872 3249.959 930.086 3238.172 930.086 3223.626 C 930.086 3209.092 941.872 3197.306 956.419 3197.306 C 970.952 3197.306 982.739 3209.092 982.739 3223.626" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 1912.825012, 6447.264893)" id="path80"/>
<path d="M 1171.238 3358.212 C 1171.238 3372.759 1159.451 3384.545 1144.906 3384.545 C 1130.366 3384.545 1118.579 3372.759 1118.579 3358.212 C 1118.579 3343.679 1130.366 3331.892 1144.906 3331.892 C 1159.451 3331.892 1171.238 3343.679 1171.238 3358.212" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 2289.817017, 6716.437012)" id="path82"/>
<path d="M 1293.383 3273.651 C 1293.383 3285.278 1283.954 3294.718 1272.322 3294.718 C 1260.69 3294.718 1251.261 3285.278 1251.261 3273.651 C 1251.261 3262.025 1260.69 3252.585 1272.322 3252.585 C 1283.954 3252.585 1293.383 3262.025 1293.383 3273.651" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 2544.644043, 6547.302979)" id="path84"/>
<path d="M 1667.213 3446.091 C 1667.213 3456.998 1658.373 3465.838 1647.468 3465.838 C 1636.564 3465.838 1627.724 3456.998 1627.724 3446.091 C 1627.724 3435.185 1636.564 3426.345 1647.468 3426.345 C 1658.373 3426.345 1667.213 3435.185 1667.213 3446.091" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3294.937012, 6892.182861)" id="path86"/>
<path d="M 1709.335 3251.266 C 1709.335 3260.719 1701.674 3268.386 1692.225 3268.386 C 1682.773 3268.386 1675.113 3260.719 1675.113 3251.266 C 1675.113 3241.826 1682.773 3234.159 1692.225 3234.159 C 1701.674 3234.159 1709.335 3241.826 1709.335 3251.266" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3384.447998, 6502.544922)" id="path88"/>
<path d="M 1906.782 3360.52 C 1906.782 3375.067 1894.996 3386.854 1880.454 3386.854 C 1865.914 3386.854 1854.129 3375.067 1854.129 3360.52 C 1854.129 3345.987 1865.914 3334.2 1880.454 3334.2 C 1894.996 3334.2 1906.782 3345.987 1906.782 3360.52" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 3760.911011, 6721.053955)" id="path90"/>
<path d="M 2080.534 3310.52 C 2080.534 3322.147 2071.106 3331.573 2059.474 3331.573 C 2047.842 3331.573 2038.414 3322.147 2038.414 3310.52 C 2038.414 3298.88 2047.842 3289.453 2059.474 3289.453 C 2071.106 3289.453 2080.534 3298.88 2080.534 3310.52" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(-1, 0, 0, -1, 4118.947876, 6621.025879)" id="path92"/>
<path d="M 1015.195 856.036 C 1020.271 873.676 1036.067 889.182 1051.567 898.85 C 1062.938 905.943 1076.098 909.943 1089.337 912.223 C 1113.689 916.436 1143.805 913.33 1161.962 895.49 C 1181.653 876.116 1173.882 844.53 1158.185 825.463 C 1138.809 801.915 1108.417 787.903 1079.835 777.93 C 1075.862 776.542 1071.849 775.236 1067.815 773.996 C 1038.762 790.57 1004.869 819.93 1015.195 856.036 Z M 488.268 818.01 C 505.48 791.048 515.314 755.248 499.578 725.57 C 482.701 693.675 439.385 679.222 405.688 693.035 C 372.248 706.755 355.114 741.782 357.416 775.73 C 359.776 810.783 385.722 839.915 414.225 859.036 C 419.497 862.568 424.926 865.783 430.473 868.73 C 453.981 857.25 473.888 840.53 488.268 818.01 Z M 1391.699 1222.543 C 1385.189 1258.584 1372.363 1293.41 1359.302 1327.611 C 1332.077 1398.891 1297.515 1471.72 1294.486 1548.863 C 1293.305 1578.846 1298.419 1608.891 1311.658 1636.118 C 1315.415 1643.815 1303.554 1650.346 1299.797 1642.624 C 1266.73 1574.674 1282.859 1498.624 1305.934 1430.291 C 1330.13 1358.704 1366.325 1289.598 1379.307 1214.824 C 1390.933 1147.85 1383.773 1076.61 1370.278 1010.463 C 1356.311 941.943 1332.962 870.65 1289.077 814.29 C 1265.058 783.476 1233.603 759.37 1194.379 750.303 C 1157.162 741.688 1118.39 749.57 1084.379 765.436 C 1091.402 767.903 1098.326 770.61 1105.151 773.542 C 1132.554 785.355 1159.621 801.716 1175.83 826.903 C 1189.875 848.716 1192.314 879.61 1175.358 900.583 C 1159.011 920.808 1130.901 927.263 1105.585 926.916 C 1076.943 926.503 1049.915 916.703 1028.71 898.088 C 1014.31 885.475 1002.429 868.702 999.99 849.676 C 997.925 833.542 1003.314 818.01 1012.363 804.622 C 1021.845 790.542 1034.926 778.73 1049.699 768.982 C 1030.461 764.236 1010.829 761.17 991.001 759.875 C 897.189 753.782 810.518 790.796 730.536 834.396 C 721.33 839.41 711.258 843.328 701.817 847.943 C 691.352 853.022 680.965 858.223 670.5 863.303 C 650.692 872.943 630.626 882.048 609.874 889.622 C 569.608 904.33 528.141 909.05 485.67 901.822 C 467.18 898.676 448.177 892.583 430.316 883.916 C 408.62 893.116 384.797 898.395 362.137 900.956 C 322.657 905.422 282.645 902.33 243.893 894.223 C 225.953 890.476 208.23 887.155 190.722 881.688 C 173.589 876.342 156.916 869.608 140.557 862.29 C 107.089 847.302 75.356 828.903 43.85 810.408 C -19.178 773.396 -82.818 734.462 -155.752 719.102 C -181.271 713.728 -207.458 711.982 -233.511 713.368 C -242.312 713.836 -242.031 700.582 -233.296 700.115 C -157.538 696.088 -87.204 722.195 -21.951 757.248 C 42.637 791.93 103.104 834.596 172.054 861.115 C 206.498 874.37 243.461 882.342 280.148 886.956 C 320.257 891.996 361.704 890.956 400.712 879.995 C 405.472 878.663 410.153 877.156 414.697 875.476 C 375.828 852.235 345.494 816.062 343.508 771.103 C 342.033 737.555 359.598 704.888 388.594 686.822 C 418.533 668.182 458.86 671.462 486.989 691.848 C 547.32 735.542 517.46 818.928 469.953 859.876 C 462.734 866.103 454.768 871.503 446.289 876.183 C 468.636 885.503 492.673 890.65 517.204 892.13 C 562.722 894.89 606.452 878.53 646.797 859.862 C 667.077 850.476 686.925 840.236 707.088 830.61 C 727.645 820.782 747.552 809.915 767.99 799.85 C 845.434 761.715 930.846 736.728 1018.303 749.37 C 1034.297 751.676 1050.151 755.048 1065.691 759.503 C 1079.835 752.01 1094.785 746.103 1109.243 741.635 C 1149.195 729.328 1192.078 731.408 1230.142 748.476 C 1296.079 778.036 1333.178 849.944 1356.765 912.85 C 1382.375 981.208 1395.517 1054.771 1397.818 1127.371 C 1398.841 1159.171 1397.365 1191.183 1391.699 1222.543" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -581.242386, 1739.380478)" id="path94"/>
<path d="M 444.422 432.432 C 432.699 437.059 419.455 431.326 414.828 419.606 L 413.564 416.419 C 408.938 404.712 414.691 391.46 426.412 386.846 L 510.17 353.739 C 521.892 349.112 535.136 354.859 539.763 366.566 L 541.008 369.739 C 545.634 381.459 539.9 394.711 528.179 399.339 L 444.422 432.432" style="fill: rgb(229, 175, 66); fill-opacity: 1; fill-rule: nonzero; stroke: none;" transform="matrix(0, -1, 1, 0, 84.200928, 870.373718)" id="path96"/>
<path d="M 531.751 527.448 C 488.059 544.713 438.605 523.273 421.355 479.568 C 404.067 435.846 425.511 386.421 469.222 369.141 C 512.934 351.874 562.369 373.3 579.638 417.021 C 596.907 460.727 575.482 510.167 531.751 527.448" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 52.199387, 948.785507)" id="path98"/>
<path d="M 447.658 368.239 C 443.749 369.773 439.329 367.865 437.778 363.959 C 436.246 360.052 438.151 355.626 442.06 354.092 L 452.667 349.906 C 456.576 348.358 460.995 350.279 462.528 354.172 C 464.079 358.091 462.154 362.491 458.246 364.039 L 447.658 368.239" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 91.087387, 809.226334)" id="path100"/>
<path d="M 423.058 408.198 C 438.049 433.559 472.574 438.21 479.748 456.385 C 486.22 472.798 463.275 500.624 467.038 525.599 C 486.571 533.504 509.049 534.226 530.181 525.878 C 552.873 516.904 569.521 499.291 577.923 478.319 C 558.897 457.064 520.024 456.451 515.618 438.544 C 509.575 413.959 541.449 385.744 533.904 370.024 C 533.709 369.638 533.515 369.265 533.32 368.891 C 513.221 360.011 489.69 358.865 467.642 367.571 C 447.523 375.531 432.142 390.304 423.058 408.198" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 53.768951, 947.212036)" id="path102"/>
<path d="M 469.89 454.433 C 455.4 452.141 440.128 453.58 425.504 459.353 C 414.604 463.675 405.059 469.981 397.174 477.714 C 405.822 489.353 424.626 493.235 442.533 486.154 C 458.206 479.967 468.63 467.167 469.89 454.433" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -38.015244, 905.079269)" id="path104"/>
<path d="M 559.501 400.528 C 542.377 407.302 531.505 421.943 532.029 435.796 C 543.173 436.089 554.551 434.21 565.559 429.862 C 579.674 424.275 591.459 415.328 600.371 404.329 C 590.644 396.435 574.762 394.515 559.501 400.528" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 149.780731, 982.601105)" id="path106"/>
<path d="M 508.744 470.098 C 490.003 477.497 470.183 471.777 464.457 457.325 C 458.75 442.87 469.316 425.15 488.056 417.737 C 506.816 410.337 526.616 416.057 532.342 430.51 C 538.049 444.964 527.484 462.684 508.744 470.098" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 54.482361, 942.316742)" id="path108"/>
<path d="M 502.932 455.379 C 494.719 458.605 486.067 456.112 483.559 449.778 C 481.051 443.459 485.665 435.698 493.877 432.472 C 502.07 429.231 510.742 431.724 513.25 438.045 C 515.739 444.377 511.125 452.125 502.932 455.379" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 54.479767, 942.320648)" id="path110"/>
<path d="M 409.366 476.163 C 412.019 482.243 420.526 484.617 428.597 481.43 C 435.911 478.537 440.363 472.044 439.435 466.176 C 432.728 467.084 426.002 468.789 419.408 471.39 C 415.903 472.777 412.568 474.39 409.366 476.163" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -50.05011, 898.972839)" id="path112"/>
<path d="M 588.569 409.239 C 585.112 404.573 577.599 403.026 570.415 405.852 C 562.535 408.973 557.977 416.279 559.87 422.465 C 563.424 421.572 566.958 420.466 570.434 419.093 C 577.001 416.491 583.065 413.158 588.569 409.239" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 160.555084, 987.456818)" id="path114"/>
<path d="M 432.702 354.551 C 432.702 354.551 432.525 368.47 438.365 369.045 C 445.851 369.764 446.693 361.484 446.262 355.365 C 446.262 355.365 440.56 345.576 432.702 354.551" style="fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 79.601822, 799.453384)" id="path116"/>
<path d="M 263.293 1016.646 C 264.312 1004.088 254.942 993.101 242.39 992.101 L 238.979 991.821 C 226.412 990.807 215.436 1000.18 214.432 1012.727 L 207.238 1102.502 C 206.235 1115.061 215.59 1126.062 228.157 1127.061 L 231.553 1127.328 C 244.119 1128.342 255.096 1118.98 256.099 1106.421 L 263.293 1016.646" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -824.307968, 1294.841141)" id="path118"/>
<path d="M 260.519 1060.296 C 264.273 1013.443 229.329 972.416 182.489 968.67 C 135.633 964.91 94.606 999.857 90.867 1046.697 C 87.097 1093.55 122.026 1134.577 168.882 1138.337 C 215.738 1142.084 256.765 1107.151 260.519 1060.296" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -877.810829, 1229.194481)" id="path120"/>
<path d="M 283.764 1070.531 C 284.099 1066.343 280.98 1062.676 276.797 1062.343 C 272.598 1062.01 268.947 1065.13 268.612 1069.317 L 267.699 1080.676 C 267.365 1084.864 270.483 1088.53 274.667 1088.864 C 278.866 1089.197 282.517 1086.077 282.867 1081.89 L 283.764 1070.531" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -799.871933, 1351.335098)" id="path122"/>
<path d="M 119.19 989.685 C 147.856 996.631 162.37 1028.271 181.856 1029.831 C 199.441 1031.245 219.354 1001.138 244.332 997.445 C 257.596 1013.831 264.861 1035.112 263.041 1057.778 C 261.094 1082.086 249.096 1103.165 231.494 1117.313 C 205.615 1105.325 193.68 1068.312 175.255 1069.339 C 149.977 1070.738 132.296 1109.458 115.058 1106.832 C 114.647 1106.764 114.235 1106.698 113.824 1106.619 C 99.451 1089.978 91.474 1067.832 93.373 1044.178 C 95.098 1022.618 104.738 1003.578 119.19 989.685" style="fill:#c51639;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -875.292198, 1231.705788)" id="path124"/>
<path d="M 167.607 1161.27 C 161.198 1148.082 158.114 1133.07 159.372 1117.376 C 160.3 1105.683 163.564 1094.736 168.67 1084.936 C 182.311 1089.803 191.505 1106.656 189.963 1125.843 C 188.63 1142.642 179.436 1156.349 167.607 1161.27" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -948.48954, 1297.716515)" id="path126"/>
<path d="M 170.998 982.842 C 172.486 964.483 183.309 949.816 196.711 946.269 C 200.255 956.829 201.759 968.256 200.809 980.068 C 199.591 995.202 194.496 1009.069 186.553 1020.816 C 176.173 1013.829 169.685 999.189 170.998 982.842" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -797.583603, 1169.501358)" id="path128"/>
<path d="M 208.561 1056.459 C 210.171 1036.38 198.921 1019.087 183.43 1017.846 C 167.925 1016.606 154.044 1031.886 152.435 1051.967 C 150.841 1072.059 162.091 1089.34 177.581 1090.593 C 193.087 1091.833 206.937 1076.553 208.561 1056.459" style="fill:#e5af42;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -873.720078, 1234.718948)" id="path130"/>
<path d="M 192.771 1055.24 C 193.478 1046.453 188.559 1038.88 181.78 1038.346 C 175.001 1037.799 168.929 1044.48 168.222 1053.266 C 167.53 1062.053 172.449 1069.625 179.228 1070.159 C 186.008 1070.706 192.08 1064.025 192.771 1055.24" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -873.754662, 1234.750343)" id="path132"/>
<path d="M 169.335 1116.473 C 175.931 1117.233 180.685 1124.687 179.987 1133.312 C 179.363 1141.167 174.446 1147.326 168.578 1148.167 C 167.463 1141.459 167.137 1134.539 167.716 1127.459 C 167.998 1123.712 168.578 1120.059 169.335 1116.473" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -958.575386, 1306.064629)" id="path134"/>
<path d="M 189.163 990.559 C 183.69 988.626 180.004 981.879 180.621 974.199 C 181.301 965.732 186.949 959.239 193.419 959.253 C 193.609 962.905 193.577 966.613 193.277 970.347 C 192.723 977.399 191.299 984.146 189.163 990.559" style="fill:#5b3656;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -787.860374, 1161.951637)" id="path136"/>
<path d="M 272.405 1082.605 C 272.405 1082.605 288.592 1071.513 292.767 1079.939 C 296.108 1086.671 286.299 1091.552 280.711 1094.112 C 280.711 1094.112 268.32 1093.805 272.405 1082.605" style="fill:#7ede9a;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -802.933823, 1367.957291)" id="path138"/>
<path d="M 328.885 1597.404 C 328.885 1582.777 317.019 1570.911 302.392 1570.911 C 287.752 1570.911 275.899 1582.777 275.899 1597.404 C 275.899 1612.044 287.752 1623.897 302.392 1623.897 C 317.019 1623.897 328.885 1612.044 328.885 1597.404" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -1295.011993, 1899.79599)" id="path140"/>
<path d="M 266.113 1406.378 C 266.113 1391.738 254.26 1379.884 239.62 1379.884 C 224.993 1379.884 213.126 1391.738 213.126 1406.378 C 213.126 1421.004 224.993 1432.871 239.62 1432.871 C 254.26 1432.871 266.113 1421.004 266.113 1406.378" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -1166.757996, 1645.997009)" id="path142"/>
<path d="M 244.112 866.153 C 244.112 851.513 232.254 839.646 217.622 839.646 C 202.972 839.646 191.114 851.513 191.114 866.153 C 191.114 880.779 202.972 892.646 217.622 892.646 C 232.254 892.646 244.112 880.779 244.112 866.153" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -648.532997, 1083.758995)" id="path144"/>
<path d="M 334.201 423.679 C 334.201 409.039 322.337 397.185 307.709 397.185 C 293.061 397.185 281.197 409.039 281.197 423.679 C 281.197 438.307 293.061 450.173 307.709 450.173 C 322.337 450.173 334.201 438.307 334.201 423.679" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -115.980011, 731.377991)" id="path146"/>
<path d="M 741.762 395.952 C 741.762 383.152 731.383 372.765 718.589 372.765 C 705.775 372.765 695.397 383.152 695.397 395.952 C 695.397 408.752 705.775 419.139 718.589 419.139 C 731.383 419.139 741.762 408.752 741.762 395.952" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, 322.627487, 1114.531509)" id="path148"/>
<path d="M 356.712 1237.079 C 356.712 1226.092 347.821 1217.197 336.845 1217.197 C 325.868 1217.197 316.964 1226.092 316.964 1237.079 C 316.964 1248.051 325.868 1256.944 336.845 1256.944 C 347.821 1256.944 356.712 1248.051 356.712 1237.079" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -900.232498, 1573.908493)" id="path150"/>
<path d="M 374.748 634.505 C 374.748 623.532 365.862 614.638 354.888 614.638 C 343.915 614.638 335.01 623.532 335.01 634.505 C 335.01 645.478 343.915 654.385 354.888 654.385 C 365.862 654.385 374.748 645.478 374.748 634.505" style="fill:#81ce92;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="matrix(0, -1, 1, 0, -279.632507, 989.390503)" id="path152"/>
</g>
</svg>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 500 92.355" version="1.1" id="svg10" xmlns="http://www.w3.org/2000/svg">
<defs id="defs14">
<linearGradient gradientUnits="userSpaceOnUse" x1="249.08" y1="1.221" x2="249.08" y2="61.398" id="gradient-0">
<stop offset="0" style="stop-color: rgba(0, 150, 135, 1)" id="stop10"/>
<stop offset="1" style="stop-color: rgba(0, 48, 43, 1)" id="stop12"/>
</linearGradient>
</defs>
<path id="path22" style="fill:url(#gradient-0);fill-opacity:1;stroke-width:11.5843;stroke-linejoin:bevel" d="M -3.996,39.674 C 8.273617,49.160161 35.005192,56.203995 82.221078,55.342874 129.43696,54.481753 207.42049,40.875492 276.53351,31.064139 345.64653,21.252786 456.00551,7.1441756 497.588,1.283 c 41.58249,-5.8611756 58.59922,9.526128 22.4,11.065 C 483.78878,13.886872 395.42397,17.664198 328.57509,26.666859 261.72621,35.66952 174.3037,56.887679 121.88359,61.404474 69.463477,65.92127 40.62983,63.238679 15.79525,56.147125 -9.0393296,49.055571 -17.563513,36.527873 -20.827733,32.373831 -24.091952,28.219789 -16.265617,30.187839 -3.996,39.674 Z"/>
<path id="path24" style="fill:#0c92d6;fill-opacity:1;stroke-width:11.5843;stroke-linejoin:bevel" d="M -17.566 96.408 L 511.464 93.956 L 512.077 14.16 C 469.043 16.127 424.67 19.39 371.361 23.79 C 318.053 28.19 214.33 47.844 158.734 58.537 C 103.138 69.23 57.993 65.275 27.883 60.798 C -2.227 56.321 -7.734 44.147 -18.596 43.062 L -17.566 96.408 Z"/>
</svg>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 150 230" xmlns="http://www.w3.org/2000/svg">
<polygon style="fill: rgb(205, 241, 231);" points="0 0 0 230 60 0 "/>
<polygon style="fill: rgb(156, 229, 208);" points="0 0 0 100 100 0 "/>
<polygon style="fill: rgb(205, 241, 231);" points="30 0 110 50 150 0 "/>
</svg>
\ No newline at end of file
... ...
... ... @@ -16,6 +16,7 @@
import 'dart:typed_data';
import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart';
... ... @@ -176,13 +177,34 @@ class Calendar extends StatelessWidget {
Future<Uint8List> generateCalendar(PdfPageFormat pageFormat) async {
//Create a PDF document.
final document = Document();
final date = DateTime.now();
String bg;
switch (date.month) {
case 12:
bg = await rootBundle.loadString('assets/calendar.svg');
break;
}
document.addPage(
Page(
pageFormat: pageFormat,
orientation: PageOrientation.landscape,
build: (context) => Calendar(
date: DateTime.now(),
pageTheme: PageTheme(
pageFormat: pageFormat,
orientation: PageOrientation.landscape,
theme: ThemeData.withFont(
base: Font.ttf(await rootBundle.load('assets/open-sans.ttf')),
bold: Font.ttf(await rootBundle.load('assets/open-sans-bold.ttf')),
),
buildForeground: bg == null
? null
: (context) =>
FullPage(ignoreMargins: true, child: SvgImage(svg: bg)),
),
build: (context) => Padding(
padding: const EdgeInsets.only(right: 20),
child: Calendar(
date: date,
),
),
),
);
... ...
... ... @@ -91,7 +91,9 @@ class Invoice {
double get _grandTotal => _total * (1 + tax);
pw.MemoryImage _logo;
String _logo;
String _bgShape;
Future<Uint8List> buildPdf(PdfPageFormat pageFormat) async {
// Create a PDF document.
... ... @@ -101,9 +103,8 @@ class Invoice {
final font2 = await rootBundle.load('assets/roboto2.ttf');
final font3 = await rootBundle.load('assets/roboto3.ttf');
_logo = pw.MemoryImage(
(await rootBundle.load('assets/logo.png')).buffer.asUint8List(),
);
_logo = await rootBundle.loadString('assets/logo.svg');
_bgShape = await rootBundle.loadString('assets/invoice.svg');
// Add page to the PDF
doc.addPage(
... ... @@ -191,7 +192,7 @@ class Invoice {
padding: const pw.EdgeInsets.only(bottom: 8, left: 30),
height: 72,
child:
_logo != null ? pw.Image.provider(_logo) : pw.PdfLogo(),
_logo != null ? pw.SvgImage(svg: _logo) : pw.PdfLogo(),
),
// pw.Container(
// color: baseColor,
... ... @@ -224,7 +225,7 @@ class Invoice {
'Page ${context.pageNumber}/${context.pagesCount}',
style: const pw.TextStyle(
fontSize: 12,
color: PdfColors.grey,
color: PdfColors.white,
),
),
],
... ... @@ -242,45 +243,7 @@ class Invoice {
),
buildBackground: (context) => pw.FullPage(
ignoreMargins: true,
child: pw.Stack(
children: [
pw.Positioned(
bottom: 0,
left: 0,
child: pw.Container(
height: 20,
width: pageFormat.width / 2,
decoration: pw.BoxDecoration(
gradient: pw.LinearGradient(
colors: [baseColor, PdfColors.white],
),
),
),
),
pw.Positioned(
bottom: 20,
left: 0,
child: pw.Container(
height: 20,
width: pageFormat.width / 4,
decoration: pw.BoxDecoration(
gradient: pw.LinearGradient(
colors: [accentColor, PdfColors.white],
),
),
),
),
pw.Positioned(
top: pageFormat.marginTop + 72,
left: 0,
right: 0,
child: pw.Container(
height: 3,
color: baseColor,
),
),
],
),
child: pw.SvgImage(svg: _bgShape),
),
);
}
... ...
... ... @@ -15,8 +15,10 @@
*/
import 'dart:async';
import 'dart:math';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:meta/meta.dart';
import 'package:pdf/pdf.dart';
... ... @@ -93,11 +95,18 @@ Future<Uint8List> generateResume(PdfPageFormat format) async {
),
),
_Category(title: 'Work Experience'),
_Block(title: 'Tour bus driver'),
_Block(title: 'Logging equipment operator'),
_Block(title: 'Foot doctor'),
_Block(title: 'Unicorn trainer'),
_Block(title: 'Chief chatter'),
_Block(
title: 'Tour bus driver',
icon: const pw.IconData(0xe530)),
_Block(
title: 'Logging equipment operator',
icon: const pw.IconData(0xe30d)),
_Block(title: 'Foot doctor', icon: const pw.IconData(0xe3f3)),
_Block(
title: 'Unicorn trainer',
icon: const pw.IconData(0xf0cf)),
_Block(
title: 'Chief chatter', icon: const pw.IconData(0xe0ca)),
pw.SizedBox(height: 20),
_Category(title: 'Education'),
_Block(title: 'Bachelor Of Commerce'),
... ... @@ -149,6 +158,8 @@ Future<Uint8List> generateResume(PdfPageFormat format) async {
}
Future<pw.PageTheme> _myPageTheme(PdfPageFormat format) async {
final bgShape = await rootBundle.loadString('assets/resume.svg');
format = format.applyMargin(
left: 2.0 * PdfPageFormat.cm,
top: 4.0 * PdfPageFormat.cm,
... ... @@ -159,51 +170,25 @@ Future<pw.PageTheme> _myPageTheme(PdfPageFormat format) async {
theme: pw.ThemeData.withFont(
base: pw.Font.ttf(await rootBundle.load('assets/open-sans.ttf')),
bold: pw.Font.ttf(await rootBundle.load('assets/open-sans-bold.ttf')),
icons: pw.Font.ttf(await rootBundle.load('assets/material.ttf')),
),
buildBackground: (pw.Context context) {
return pw.FullPage(
ignoreMargins: true,
child: pw.CustomPaint(
size: PdfPoint(format.width, format.height),
painter: (PdfGraphics canvas, PdfPoint size) {
context.canvas
..setColor(lightGreen)
..moveTo(0, size.y)
..lineTo(0, size.y - 230)
..lineTo(60, size.y)
..fillPath()
..setColor(green)
..moveTo(0, size.y)
..lineTo(0, size.y - 100)
..lineTo(100, size.y)
..fillPath()
..setColor(lightGreen)
..moveTo(30, size.y)
..lineTo(110, size.y - 50)
..lineTo(150, size.y)
..fillPath()
..moveTo(size.x, 0)
..lineTo(size.x, 230)
..lineTo(size.x - 60, 0)
..fillPath()
..setColor(green)
..moveTo(size.x, 0)
..lineTo(size.x, 100)
..lineTo(size.x - 100, 0)
..fillPath()
..setColor(lightGreen)
..moveTo(size.x - 30, 0)
..lineTo(size.x - 110, 50)
..lineTo(size.x - 150, 0)
..fillPath()
..setColor(green)
..setLineWidth(2)
..moveTo(
size.x - sep - format.marginRight + 4, format.marginBottom)
..lineTo(size.x - sep - format.marginRight + 4,
size.y - format.marginTop)
..strokePath();
},
child: pw.Stack(
children: [
pw.Positioned(
child: pw.SvgImage(svg: bgShape),
left: 0,
top: 0,
),
pw.Positioned(
child: pw.Transform.rotate(
angle: pi, child: pw.SvgImage(svg: bgShape)),
right: 0,
bottom: 0,
),
],
),
);
},
... ... @@ -211,10 +196,12 @@ Future<pw.PageTheme> _myPageTheme(PdfPageFormat format) async {
}
class _Block extends pw.StatelessWidget {
_Block({this.title});
_Block({this.title, this.icon});
final String title;
final pw.IconData icon;
@override
pw.Widget build(pw.Context context) {
return pw.Column(
... ... @@ -234,6 +221,8 @@ class _Block extends pw.StatelessWidget {
style: pw.Theme.of(context)
.defaultTextStyle
.copyWith(fontWeight: pw.FontWeight.bold)),
pw.Spacer(),
if (icon != null) pw.Icon(icon, color: lightGreen, size: 18),
]),
pw.Container(
decoration: const pw.BoxDecoration(
... ...