From 8a406de489c31c502d07bc5e42f408251d3c97f5 Mon Sep 17 00:00:00 2001 From: Boris Paing Date: Thu, 10 Dec 2020 15:53:17 +0100 Subject: [PATCH] proto --- cache/nodes-cesiumplus.txt | 2 + config.php | 40 + creator.php | 190 + footer.php | 7 + header.php | 19 + index.php | 42 + layout.css | 76 + lib/DAO.class.php | 586 ++++ lib/Gchange.class.php | 86 + lib/crowdfunding/.gitignore | 3 + lib/crowdfunding/Avatar.class.php | 27 + lib/crowdfunding/Chart.class.php | 332 ++ lib/crowdfunding/Color.class.php | 204 ++ lib/crowdfunding/Crowdfunding.class.php | 1645 +++++++++ lib/crowdfunding/Donation.class.php | 54 + lib/crowdfunding/Donor.class.php | 74 + lib/crowdfunding/FIXED.md | 20 + lib/crowdfunding/GeoPoint.class.php | 28 + lib/crowdfunding/Graph.class.php | 75 + lib/crowdfunding/LICENCE | 661 ++++ lib/crowdfunding/MIGHTDO.md | 49 + lib/crowdfunding/README.md | 28 + lib/crowdfunding/conf.php | 13 + lib/crowdfunding/examples/cloud.html | 27 + lib/crowdfunding/examples/index.html | 29 + lib/crowdfunding/examples/inline-iframe.html | 40 + lib/crowdfunding/examples/js/autoHeight.js | 34 + lib/crowdfunding/examples/kickstarter.html | 92 + lib/crowdfunding/examples/paidge.html | 29 + lib/crowdfunding/examples/table.html | 27 + lib/crowdfunding/functions.php | 19 + lib/crowdfunding/generate.php | 320 ++ lib/crowdfunding/generator.css | 127 + lib/crowdfunding/iframe.php | 126 + lib/crowdfunding/iframes.php | 210 ++ lib/crowdfunding/image.php | 82 + lib/crowdfunding/img/background.png | Bin 0 -> 7195 bytes lib/crowdfunding/img/capture.jpg | Bin 0 -> 60583 bytes lib/crowdfunding/img/logos/png/cesium.png | Bin 0 -> 6827 bytes lib/crowdfunding/img/logos/png/duniter.png | Bin 0 -> 3472 bytes lib/crowdfunding/img/logos/png/dunitrust.png | Bin 0 -> 28029 bytes lib/crowdfunding/img/logos/png/junes.png | Bin 0 -> 8171 bytes lib/crowdfunding/img/logos/png/sakia.png | Bin 0 -> 8152 bytes lib/crowdfunding/img/logos/png/silkaj.png | Bin 0 -> 4963 bytes lib/crowdfunding/img/logos/svg/cesium.svg | 57 + lib/crowdfunding/img/logos/svg/duniter.svg | 279 ++ lib/crowdfunding/img/logos/svg/dunitrust.svg | 164 + lib/crowdfunding/img/logos/svg/junes.svg | 101 + lib/crowdfunding/img/logos/svg/sakia.svg | 237 ++ lib/crowdfunding/img/logos/svg/silkaj.svg | 67 + lib/crowdfunding/index.html | 187 + lib/crowdfunding/lib/css/font_awesome.min.css | 5 + lib/crowdfunding/lib/css/gh-fork-ribbon.min.css | 4 + lib/crowdfunding/lib/css/w3.css | 232 ++ lib/crowdfunding/lib/js/chart.min.js | 7 + lib/crowdfunding/lib/js/counter.js | 45 + lib/crowdfunding/lib/js/generate.js | 403 +++ lib/crowdfunding/lib/js/jquery-3.4.1.min.js | 2 + lib/crowdfunding/lib/js/moment.min.js | 7 + lib/crowdfunding/lib/locales.php | 53 + lib/crowdfunding/lib/phpqrcode/.png-errors.txt | 1 + lib/crowdfunding/lib/phpqrcode/CHANGELOG | 38 + lib/crowdfunding/lib/phpqrcode/INSTALL | 67 + lib/crowdfunding/lib/phpqrcode/LICENSE | 165 + lib/crowdfunding/lib/phpqrcode/README | 61 + lib/crowdfunding/lib/phpqrcode/VERSION | 2 + .../lib/phpqrcode/bindings/tcpdf/qrcode.php | 2875 ++++++++++++++++ lib/crowdfunding/lib/phpqrcode/cache/frame_1.dat | 2 + lib/crowdfunding/lib/phpqrcode/cache/frame_1.png | Bin 0 -> 126 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_10.dat | Bin 0 -> 204 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_10.png | Bin 0 -> 202 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_11.dat | Bin 0 -> 210 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_11.png | Bin 0 -> 205 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_12.dat | Bin 0 -> 222 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_12.png | Bin 0 -> 216 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_13.dat | Bin 0 -> 223 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_13.png | Bin 0 -> 210 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_14.dat | Bin 0 -> 227 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_14.png | Bin 0 -> 213 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_15.dat | Bin 0 -> 242 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_15.png | Bin 0 -> 219 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_16.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_16.png | Bin 0 -> 211 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_17.dat | Bin 0 -> 237 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_17.png | Bin 0 -> 211 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_18.dat | 2 + lib/crowdfunding/lib/phpqrcode/cache/frame_18.png | Bin 0 -> 228 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_19.dat | 3 + lib/crowdfunding/lib/phpqrcode/cache/frame_19.png | Bin 0 -> 225 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_2.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_2.png | Bin 0 -> 144 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_20.dat | Bin 0 -> 250 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_20.png | Bin 0 -> 225 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_21.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_21.png | Bin 0 -> 235 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_22.dat | 3 + lib/crowdfunding/lib/phpqrcode/cache/frame_22.png | Bin 0 -> 226 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_23.dat | 3 + lib/crowdfunding/lib/phpqrcode/cache/frame_23.png | Bin 0 -> 220 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_24.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_24.png | Bin 0 -> 242 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_25.dat | 3 + lib/crowdfunding/lib/phpqrcode/cache/frame_25.png | Bin 0 -> 242 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_26.dat | 2 + lib/crowdfunding/lib/phpqrcode/cache/frame_26.png | Bin 0 -> 244 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_27.dat | Bin 0 -> 284 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_27.png | Bin 0 -> 237 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_28.dat | Bin 0 -> 318 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_28.png | Bin 0 -> 234 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_29.dat | 2 + lib/crowdfunding/lib/phpqrcode/cache/frame_29.png | Bin 0 -> 232 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_3.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_3.png | Bin 0 -> 147 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_30.dat | Bin 0 -> 324 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_30.png | Bin 0 -> 255 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_31.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_31.png | Bin 0 -> 260 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_32.dat | 2 + lib/crowdfunding/lib/phpqrcode/cache/frame_32.png | Bin 0 -> 262 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_33.dat | 14 + lib/crowdfunding/lib/phpqrcode/cache/frame_33.png | Bin 0 -> 253 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_34.dat | Bin 0 -> 331 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_34.png | Bin 0 -> 256 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_35.dat | Bin 0 -> 342 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_35.png | Bin 0 -> 243 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_36.dat | Bin 0 -> 370 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_36.png | Bin 0 -> 272 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_37.dat | Bin 0 -> 376 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_37.png | Bin 0 -> 279 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_38.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_38.png | Bin 0 -> 279 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_39.dat | Bin 0 -> 404 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_39.png | Bin 0 -> 264 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_4.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_4.png | Bin 0 -> 149 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_40.dat | 2 + lib/crowdfunding/lib/phpqrcode/cache/frame_40.png | Bin 0 -> 267 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_5.dat | 1 + lib/crowdfunding/lib/phpqrcode/cache/frame_5.png | Bin 0 -> 150 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_6.dat | Bin 0 -> 132 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_6.png | Bin 0 -> 151 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_7.dat | Bin 0 -> 196 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_7.png | Bin 0 -> 189 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_8.dat | Bin 0 -> 201 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_8.png | Bin 0 -> 204 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_9.dat | Bin 0 -> 206 bytes lib/crowdfunding/lib/phpqrcode/cache/frame_9.png | Bin 0 -> 199 bytes .../lib/phpqrcode/cache/mask_0/mask_101_0.dat | Bin 0 -> 157 bytes .../lib/phpqrcode/cache/mask_0/mask_105_0.dat | Bin 0 -> 162 bytes .../lib/phpqrcode/cache/mask_0/mask_109_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_113_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_117_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_121_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_125_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_129_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_133_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_137_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_141_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_145_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_149_0.dat | 3 + .../lib/phpqrcode/cache/mask_0/mask_153_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_157_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_161_0.dat | Bin 0 -> 241 bytes .../lib/phpqrcode/cache/mask_0/mask_165_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_169_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_173_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_177_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_21_0.dat | Bin 0 -> 48 bytes .../lib/phpqrcode/cache/mask_0/mask_25_0.dat | Bin 0 -> 57 bytes .../lib/phpqrcode/cache/mask_0/mask_29_0.dat | Bin 0 -> 59 bytes .../lib/phpqrcode/cache/mask_0/mask_33_0.dat | Bin 0 -> 62 bytes .../lib/phpqrcode/cache/mask_0/mask_37_0.dat | Bin 0 -> 65 bytes .../lib/phpqrcode/cache/mask_0/mask_41_0.dat | Bin 0 -> 68 bytes .../lib/phpqrcode/cache/mask_0/mask_45_0.dat | Bin 0 -> 106 bytes .../lib/phpqrcode/cache/mask_0/mask_49_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_53_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_57_0.dat | 4 + .../lib/phpqrcode/cache/mask_0/mask_61_0.dat | Bin 0 -> 119 bytes .../lib/phpqrcode/cache/mask_0/mask_65_0.dat | Bin 0 -> 123 bytes .../lib/phpqrcode/cache/mask_0/mask_69_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_73_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_77_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_81_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_85_0.dat | 2 + .../lib/phpqrcode/cache/mask_0/mask_89_0.dat | 1 + .../lib/phpqrcode/cache/mask_0/mask_93_0.dat | 3 + .../lib/phpqrcode/cache/mask_0/mask_97_0.dat | Bin 0 -> 150 bytes .../lib/phpqrcode/cache/mask_1/mask_101_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_105_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_109_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_113_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_117_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_121_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_125_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_129_1.dat | Bin 0 -> 164 bytes .../lib/phpqrcode/cache/mask_1/mask_133_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_137_1.dat | 3 + .../lib/phpqrcode/cache/mask_1/mask_141_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_145_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_149_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_153_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_157_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_161_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_165_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_169_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_173_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_177_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_21_1.dat | Bin 0 -> 42 bytes .../lib/phpqrcode/cache/mask_1/mask_25_1.dat | Bin 0 -> 48 bytes .../lib/phpqrcode/cache/mask_1/mask_29_1.dat | Bin 0 -> 50 bytes .../lib/phpqrcode/cache/mask_1/mask_33_1.dat | Bin 0 -> 53 bytes .../lib/phpqrcode/cache/mask_1/mask_37_1.dat | Bin 0 -> 56 bytes .../lib/phpqrcode/cache/mask_1/mask_41_1.dat | Bin 0 -> 58 bytes .../lib/phpqrcode/cache/mask_1/mask_45_1.dat | Bin 0 -> 82 bytes .../lib/phpqrcode/cache/mask_1/mask_49_1.dat | Bin 0 -> 84 bytes .../lib/phpqrcode/cache/mask_1/mask_53_1.dat | Bin 0 -> 87 bytes .../lib/phpqrcode/cache/mask_1/mask_57_1.dat | Bin 0 -> 92 bytes .../lib/phpqrcode/cache/mask_1/mask_61_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_65_1.dat | Bin 0 -> 99 bytes .../lib/phpqrcode/cache/mask_1/mask_69_1.dat | Bin 0 -> 102 bytes .../lib/phpqrcode/cache/mask_1/mask_73_1.dat | Bin 0 -> 104 bytes .../lib/phpqrcode/cache/mask_1/mask_77_1.dat | Bin 0 -> 110 bytes .../lib/phpqrcode/cache/mask_1/mask_81_1.dat | Bin 0 -> 114 bytes .../lib/phpqrcode/cache/mask_1/mask_85_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_89_1.dat | 1 + .../lib/phpqrcode/cache/mask_1/mask_93_1.dat | 2 + .../lib/phpqrcode/cache/mask_1/mask_97_1.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_101_2.dat | 3 + .../lib/phpqrcode/cache/mask_2/mask_105_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_109_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_113_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_117_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_121_2.dat | Bin 0 -> 127 bytes .../lib/phpqrcode/cache/mask_2/mask_125_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_129_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_133_2.dat | 10 + .../lib/phpqrcode/cache/mask_2/mask_137_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_141_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_145_2.dat | 4 + .../lib/phpqrcode/cache/mask_2/mask_149_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_153_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_157_2.dat | 3 + .../lib/phpqrcode/cache/mask_2/mask_161_2.dat | Bin 0 -> 190 bytes .../lib/phpqrcode/cache/mask_2/mask_165_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_169_2.dat | Bin 0 -> 196 bytes .../lib/phpqrcode/cache/mask_2/mask_173_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_177_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_21_2.dat | Bin 0 -> 35 bytes .../lib/phpqrcode/cache/mask_2/mask_25_2.dat | Bin 0 -> 41 bytes .../lib/phpqrcode/cache/mask_2/mask_29_2.dat | Bin 0 -> 45 bytes .../lib/phpqrcode/cache/mask_2/mask_33_2.dat | Bin 0 -> 47 bytes .../lib/phpqrcode/cache/mask_2/mask_37_2.dat | Bin 0 -> 47 bytes .../lib/phpqrcode/cache/mask_2/mask_41_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_45_2.dat | Bin 0 -> 68 bytes .../lib/phpqrcode/cache/mask_2/mask_49_2.dat | Bin 0 -> 70 bytes .../lib/phpqrcode/cache/mask_2/mask_53_2.dat | Bin 0 -> 73 bytes .../lib/phpqrcode/cache/mask_2/mask_57_2.dat | Bin 0 -> 76 bytes .../lib/phpqrcode/cache/mask_2/mask_61_2.dat | Bin 0 -> 78 bytes .../lib/phpqrcode/cache/mask_2/mask_65_2.dat | Bin 0 -> 89 bytes .../lib/phpqrcode/cache/mask_2/mask_69_2.dat | Bin 0 -> 88 bytes .../lib/phpqrcode/cache/mask_2/mask_73_2.dat | Bin 0 -> 94 bytes .../lib/phpqrcode/cache/mask_2/mask_77_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_81_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_85_2.dat | 2 + .../lib/phpqrcode/cache/mask_2/mask_89_2.dat | 1 + .../lib/phpqrcode/cache/mask_2/mask_93_2.dat | Bin 0 -> 103 bytes .../lib/phpqrcode/cache/mask_2/mask_97_2.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_101_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_105_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_109_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_113_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_117_3.dat | 4 + .../lib/phpqrcode/cache/mask_3/mask_121_3.dat | Bin 0 -> 212 bytes .../lib/phpqrcode/cache/mask_3/mask_125_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_129_3.dat | 8 + .../lib/phpqrcode/cache/mask_3/mask_133_3.dat | Bin 0 -> 216 bytes .../lib/phpqrcode/cache/mask_3/mask_137_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_141_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_145_3.dat | 3 + .../lib/phpqrcode/cache/mask_3/mask_149_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_153_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_157_3.dat | Bin 0 -> 248 bytes .../lib/phpqrcode/cache/mask_3/mask_161_3.dat | 3 + .../lib/phpqrcode/cache/mask_3/mask_165_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_169_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_173_3.dat | 1 + .../lib/phpqrcode/cache/mask_3/mask_177_3.dat | Bin 0 -> 312 bytes .../lib/phpqrcode/cache/mask_3/mask_21_3.dat | Bin 0 -> 60 bytes .../lib/phpqrcode/cache/mask_3/mask_25_3.dat | Bin 0 -> 75 bytes .../lib/phpqrcode/cache/mask_3/mask_29_3.dat | Bin 0 -> 75 bytes .../lib/phpqrcode/cache/mask_3/mask_33_3.dat | Bin 0 -> 79 bytes .../lib/phpqrcode/cache/mask_3/mask_37_3.dat | Bin 0 -> 83 bytes .../lib/phpqrcode/cache/mask_3/mask_41_3.dat | Bin 0 -> 85 bytes .../lib/phpqrcode/cache/mask_3/mask_45_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_49_3.dat | Bin 0 -> 127 bytes .../lib/phpqrcode/cache/mask_3/mask_53_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_57_3.dat | Bin 0 -> 126 bytes .../lib/phpqrcode/cache/mask_3/mask_61_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_65_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_69_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_73_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_77_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_81_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_85_3.dat | Bin 0 -> 160 bytes .../lib/phpqrcode/cache/mask_3/mask_89_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_93_3.dat | 2 + .../lib/phpqrcode/cache/mask_3/mask_97_3.dat | Bin 0 -> 175 bytes .../lib/phpqrcode/cache/mask_4/mask_101_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_105_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_109_4.dat | Bin 0 -> 182 bytes .../lib/phpqrcode/cache/mask_4/mask_113_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_117_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_121_4.dat | Bin 0 -> 208 bytes .../lib/phpqrcode/cache/mask_4/mask_125_4.dat | Bin 0 -> 213 bytes .../lib/phpqrcode/cache/mask_4/mask_129_4.dat | Bin 0 -> 220 bytes .../lib/phpqrcode/cache/mask_4/mask_133_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_137_4.dat | Bin 0 -> 248 bytes .../lib/phpqrcode/cache/mask_4/mask_141_4.dat | Bin 0 -> 254 bytes .../lib/phpqrcode/cache/mask_4/mask_145_4.dat | Bin 0 -> 255 bytes .../lib/phpqrcode/cache/mask_4/mask_149_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_153_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_157_4.dat | 1 + .../lib/phpqrcode/cache/mask_4/mask_161_4.dat | 1 + .../lib/phpqrcode/cache/mask_4/mask_165_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_169_4.dat | Bin 0 -> 297 bytes .../lib/phpqrcode/cache/mask_4/mask_173_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_177_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_21_4.dat | Bin 0 -> 57 bytes .../lib/phpqrcode/cache/mask_4/mask_25_4.dat | Bin 0 -> 76 bytes .../lib/phpqrcode/cache/mask_4/mask_29_4.dat | Bin 0 -> 78 bytes .../lib/phpqrcode/cache/mask_4/mask_33_4.dat | Bin 0 -> 89 bytes .../lib/phpqrcode/cache/mask_4/mask_37_4.dat | Bin 0 -> 86 bytes .../lib/phpqrcode/cache/mask_4/mask_41_4.dat | Bin 0 -> 89 bytes .../lib/phpqrcode/cache/mask_4/mask_45_4.dat | Bin 0 -> 120 bytes .../lib/phpqrcode/cache/mask_4/mask_49_4.dat | Bin 0 -> 124 bytes .../lib/phpqrcode/cache/mask_4/mask_53_4.dat | Bin 0 -> 128 bytes .../lib/phpqrcode/cache/mask_4/mask_57_4.dat | Bin 0 -> 130 bytes .../lib/phpqrcode/cache/mask_4/mask_61_4.dat | Bin 0 -> 132 bytes .../lib/phpqrcode/cache/mask_4/mask_65_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_69_4.dat | 1 + .../lib/phpqrcode/cache/mask_4/mask_73_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_77_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_81_4.dat | 3 + .../lib/phpqrcode/cache/mask_4/mask_85_4.dat | Bin 0 -> 154 bytes .../lib/phpqrcode/cache/mask_4/mask_89_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_93_4.dat | 2 + .../lib/phpqrcode/cache/mask_4/mask_97_4.dat | Bin 0 -> 176 bytes .../lib/phpqrcode/cache/mask_5/mask_101_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_105_5.dat | Bin 0 -> 224 bytes .../lib/phpqrcode/cache/mask_5/mask_109_5.dat | Bin 0 -> 211 bytes .../lib/phpqrcode/cache/mask_5/mask_113_5.dat | 9 + .../lib/phpqrcode/cache/mask_5/mask_117_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_121_5.dat | Bin 0 -> 256 bytes .../lib/phpqrcode/cache/mask_5/mask_125_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_129_5.dat | Bin 0 -> 259 bytes .../lib/phpqrcode/cache/mask_5/mask_133_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_137_5.dat | 3 + .../lib/phpqrcode/cache/mask_5/mask_141_5.dat | Bin 0 -> 297 bytes .../lib/phpqrcode/cache/mask_5/mask_145_5.dat | Bin 0 -> 300 bytes .../lib/phpqrcode/cache/mask_5/mask_149_5.dat | 3 + .../lib/phpqrcode/cache/mask_5/mask_153_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_157_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_161_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_165_5.dat | Bin 0 -> 332 bytes .../lib/phpqrcode/cache/mask_5/mask_169_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_173_5.dat | 4 + .../lib/phpqrcode/cache/mask_5/mask_177_5.dat | 11 + .../lib/phpqrcode/cache/mask_5/mask_21_5.dat | Bin 0 -> 74 bytes .../lib/phpqrcode/cache/mask_5/mask_25_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_29_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_33_5.dat | Bin 0 -> 106 bytes .../lib/phpqrcode/cache/mask_5/mask_37_5.dat | Bin 0 -> 103 bytes .../lib/phpqrcode/cache/mask_5/mask_41_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_45_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_49_5.dat | Bin 0 -> 146 bytes .../lib/phpqrcode/cache/mask_5/mask_53_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_57_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_61_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_65_5.dat | Bin 0 -> 163 bytes .../lib/phpqrcode/cache/mask_5/mask_69_5.dat | Bin 0 -> 167 bytes .../lib/phpqrcode/cache/mask_5/mask_73_5.dat | Bin 0 -> 184 bytes .../lib/phpqrcode/cache/mask_5/mask_77_5.dat | 1 + .../lib/phpqrcode/cache/mask_5/mask_81_5.dat | 3 + .../lib/phpqrcode/cache/mask_5/mask_85_5.dat | Bin 0 -> 186 bytes .../lib/phpqrcode/cache/mask_5/mask_89_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_93_5.dat | 2 + .../lib/phpqrcode/cache/mask_5/mask_97_5.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_101_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_105_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_109_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_113_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_117_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_121_6.dat | Bin 0 -> 309 bytes .../lib/phpqrcode/cache/mask_6/mask_125_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_129_6.dat | Bin 0 -> 310 bytes .../lib/phpqrcode/cache/mask_6/mask_133_6.dat | Bin 0 -> 296 bytes .../lib/phpqrcode/cache/mask_6/mask_137_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_141_6.dat | 10 + .../lib/phpqrcode/cache/mask_6/mask_145_6.dat | Bin 0 -> 357 bytes .../lib/phpqrcode/cache/mask_6/mask_149_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_153_6.dat | Bin 0 -> 367 bytes .../lib/phpqrcode/cache/mask_6/mask_157_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_161_6.dat | Bin 0 -> 399 bytes .../lib/phpqrcode/cache/mask_6/mask_165_6.dat | Bin 0 -> 400 bytes .../lib/phpqrcode/cache/mask_6/mask_169_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_173_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_177_6.dat | 14 + .../lib/phpqrcode/cache/mask_6/mask_21_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_25_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_29_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_33_6.dat | Bin 0 -> 124 bytes .../lib/phpqrcode/cache/mask_6/mask_37_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_41_6.dat | Bin 0 -> 132 bytes .../lib/phpqrcode/cache/mask_6/mask_45_6.dat | Bin 0 -> 189 bytes .../lib/phpqrcode/cache/mask_6/mask_49_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_53_6.dat | Bin 0 -> 195 bytes .../lib/phpqrcode/cache/mask_6/mask_57_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_61_6.dat | 2 + .../lib/phpqrcode/cache/mask_6/mask_65_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_69_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_73_6.dat | Bin 0 -> 230 bytes .../lib/phpqrcode/cache/mask_6/mask_77_6.dat | 1 + .../lib/phpqrcode/cache/mask_6/mask_81_6.dat | 3 + .../lib/phpqrcode/cache/mask_6/mask_85_6.dat | Bin 0 -> 229 bytes .../lib/phpqrcode/cache/mask_6/mask_89_6.dat | Bin 0 -> 263 bytes .../lib/phpqrcode/cache/mask_6/mask_93_6.dat | Bin 0 -> 276 bytes .../lib/phpqrcode/cache/mask_6/mask_97_6.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_101_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_105_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_109_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_113_7.dat | 11 + .../lib/phpqrcode/cache/mask_7/mask_117_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_121_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_125_7.dat | Bin 0 -> 288 bytes .../lib/phpqrcode/cache/mask_7/mask_129_7.dat | Bin 0 -> 282 bytes .../lib/phpqrcode/cache/mask_7/mask_133_7.dat | Bin 0 -> 281 bytes .../lib/phpqrcode/cache/mask_7/mask_137_7.dat | 5 + .../lib/phpqrcode/cache/mask_7/mask_141_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_145_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_149_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_153_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_157_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_161_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_165_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_169_7.dat | Bin 0 -> 383 bytes .../lib/phpqrcode/cache/mask_7/mask_173_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_177_7.dat | Bin 0 -> 407 bytes .../lib/phpqrcode/cache/mask_7/mask_21_7.dat | 4 + .../lib/phpqrcode/cache/mask_7/mask_25_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_29_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_33_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_37_7.dat | Bin 0 -> 122 bytes .../lib/phpqrcode/cache/mask_7/mask_41_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_45_7.dat | Bin 0 -> 173 bytes .../lib/phpqrcode/cache/mask_7/mask_49_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_53_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_57_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_61_7.dat | 2 + .../lib/phpqrcode/cache/mask_7/mask_65_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_69_7.dat | Bin 0 -> 202 bytes .../lib/phpqrcode/cache/mask_7/mask_73_7.dat | Bin 0 -> 221 bytes .../lib/phpqrcode/cache/mask_7/mask_77_7.dat | Bin 0 -> 226 bytes .../lib/phpqrcode/cache/mask_7/mask_81_7.dat | 1 + .../lib/phpqrcode/cache/mask_7/mask_85_7.dat | Bin 0 -> 213 bytes .../lib/phpqrcode/cache/mask_7/mask_89_7.dat | Bin 0 -> 244 bytes .../lib/phpqrcode/cache/mask_7/mask_93_7.dat | Bin 0 -> 248 bytes .../lib/phpqrcode/cache/mask_7/mask_97_7.dat | 2 + lib/crowdfunding/lib/phpqrcode/index.php | 94 + lib/crowdfunding/lib/phpqrcode/phpqrcode.php | 3625 ++++++++++++++++++++ lib/crowdfunding/lib/phpqrcode/qrbitstream.php | 180 + lib/crowdfunding/lib/phpqrcode/qrconfig.php | 17 + lib/crowdfunding/lib/phpqrcode/qrconst.php | 54 + lib/crowdfunding/lib/phpqrcode/qrencode.php | 569 +++ lib/crowdfunding/lib/phpqrcode/qrimage.php | 107 + lib/crowdfunding/lib/phpqrcode/qrinput.php | 726 ++++ lib/crowdfunding/lib/phpqrcode/qrlib.php | 44 + lib/crowdfunding/lib/phpqrcode/qrmask.php | 328 ++ lib/crowdfunding/lib/phpqrcode/qrrscode.php | 210 ++ lib/crowdfunding/lib/phpqrcode/qrspec.php | 592 ++++ lib/crowdfunding/lib/phpqrcode/qrsplit.php | 311 ++ lib/crowdfunding/lib/phpqrcode/qrtools.php | 185 + lib/crowdfunding/lib/phpqrcode/qrvect.php | 214 ++ lib/crowdfunding/lib/phpqrcode/tools/merge.bat | 2 + lib/crowdfunding/lib/phpqrcode/tools/merge.php | 71 + lib/crowdfunding/lib/phpqrcode/tools/merge.sh | 2 + .../lib/phpqrcode/tools/merged_config.php | 17 + .../lib/phpqrcode/tools/merged_header.php | 37 + .../lib/webfonts/LiberationSans-Regular.ttf | Bin 0 -> 350200 bytes .../lib/webfonts/fontawesome/400/fa-brands-400.eot | Bin 0 -> 129648 bytes .../lib/webfonts/fontawesome/400/fa-brands-400.svg | 3452 +++++++++++++++++++ .../lib/webfonts/fontawesome/400/fa-brands-400.ttf | Bin 0 -> 129344 bytes .../webfonts/fontawesome/400/fa-brands-400.woff | Bin 0 -> 87544 bytes .../webfonts/fontawesome/400/fa-brands-400.woff2 | Bin 0 -> 74656 bytes .../webfonts/fontawesome/400/fa-regular-400.eot | Bin 0 -> 34388 bytes .../webfonts/fontawesome/400/fa-regular-400.svg | 169 + .../webfonts/fontawesome/400/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../webfonts/fontawesome/400/fa-regular-400.woff | Bin 0 -> 16812 bytes .../webfonts/fontawesome/400/fa-regular-400.woff2 | Bin 0 -> 13608 bytes .../lib/webfonts/fontawesome/900/fa-solid-900.eot | Bin 0 -> 186512 bytes .../lib/webfonts/fontawesome/900/fa-solid-900.svg | 953 +++++ .../lib/webfonts/fontawesome/900/fa-solid-900.ttf | Bin 0 -> 186228 bytes .../lib/webfonts/fontawesome/900/fa-solid-900.woff | Bin 0 -> 96248 bytes .../webfonts/fontawesome/900/fa-solid-900.woff2 | Bin 0 -> 74320 bytes lib/crowdfunding/locales/en.tr.php | 30 + lib/crowdfunding/locales/eo.tr.php | 30 + lib/crowdfunding/locales/fr.tr.php | 30 + lib/crowdfunding/locales/moment.js/eo.js | 70 + lib/crowdfunding/locales/moment.js/fr.js | 82 + lib/crowdfunding/svg.php | 79 + lib/crowdfunding/themes/chart.html.php | 40 + lib/crowdfunding/themes/cloud.css | 93 + lib/crowdfunding/themes/cloud.html.php | 33 + lib/crowdfunding/themes/kickstarter.css | 165 + lib/crowdfunding/themes/kickstarter.html.php | 124 + lib/crowdfunding/themes/paidge.conf.php | 92 + lib/crowdfunding/themes/paidge.css | 224 ++ lib/crowdfunding/themes/paidge.html.php | 256 ++ lib/crowdfunding/themes/paidge.image.php | 410 +++ lib/crowdfunding/themes/paidge.svg.php | 414 +++ lib/crowdfunding/themes/quotes.css | 36 + lib/crowdfunding/themes/quotes.html.php | 57 + lib/crowdfunding/themes/tipeee.css | 216 ++ lib/crowdfunding/themes/tipeee.html.php | 145 + lib/crowdfunding/themes/tipeeers.css | 175 + lib/crowdfunding/themes/tipeeers.html.php | 48 + 525 files changed, 25748 insertions(+) create mode 100644 cache/nodes-cesiumplus.txt create mode 100644 config.php create mode 100644 creator.php create mode 100644 footer.php create mode 100644 header.php create mode 100644 index.php create mode 100644 layout.css create mode 100755 lib/DAO.class.php create mode 100644 lib/Gchange.class.php create mode 100644 lib/crowdfunding/.gitignore create mode 100644 lib/crowdfunding/Avatar.class.php create mode 100644 lib/crowdfunding/Chart.class.php create mode 100755 lib/crowdfunding/Color.class.php create mode 100755 lib/crowdfunding/Crowdfunding.class.php create mode 100644 lib/crowdfunding/Donation.class.php create mode 100644 lib/crowdfunding/Donor.class.php create mode 100755 lib/crowdfunding/FIXED.md create mode 100644 lib/crowdfunding/GeoPoint.class.php create mode 100644 lib/crowdfunding/Graph.class.php create mode 100755 lib/crowdfunding/LICENCE create mode 100755 lib/crowdfunding/MIGHTDO.md create mode 100755 lib/crowdfunding/README.md create mode 100755 lib/crowdfunding/conf.php create mode 100755 lib/crowdfunding/examples/cloud.html create mode 100755 lib/crowdfunding/examples/index.html create mode 100755 lib/crowdfunding/examples/inline-iframe.html create mode 100755 lib/crowdfunding/examples/js/autoHeight.js create mode 100755 lib/crowdfunding/examples/kickstarter.html create mode 100755 lib/crowdfunding/examples/paidge.html create mode 100755 lib/crowdfunding/examples/table.html create mode 100755 lib/crowdfunding/functions.php create mode 100755 lib/crowdfunding/generate.php create mode 100755 lib/crowdfunding/generator.css create mode 100755 lib/crowdfunding/iframe.php create mode 100755 lib/crowdfunding/iframes.php create mode 100755 lib/crowdfunding/image.php create mode 100755 lib/crowdfunding/img/background.png create mode 100755 lib/crowdfunding/img/capture.jpg create mode 100755 lib/crowdfunding/img/logos/png/cesium.png create mode 100755 lib/crowdfunding/img/logos/png/duniter.png create mode 100755 lib/crowdfunding/img/logos/png/dunitrust.png create mode 100755 lib/crowdfunding/img/logos/png/junes.png create mode 100755 lib/crowdfunding/img/logos/png/sakia.png create mode 100755 lib/crowdfunding/img/logos/png/silkaj.png create mode 100755 lib/crowdfunding/img/logos/svg/cesium.svg create mode 100755 lib/crowdfunding/img/logos/svg/duniter.svg create mode 100755 lib/crowdfunding/img/logos/svg/dunitrust.svg create mode 100755 lib/crowdfunding/img/logos/svg/junes.svg create mode 100755 lib/crowdfunding/img/logos/svg/sakia.svg create mode 100755 lib/crowdfunding/img/logos/svg/silkaj.svg create mode 100755 lib/crowdfunding/index.html create mode 100755 lib/crowdfunding/lib/css/font_awesome.min.css create mode 100755 lib/crowdfunding/lib/css/gh-fork-ribbon.min.css create mode 100755 lib/crowdfunding/lib/css/w3.css create mode 100755 lib/crowdfunding/lib/js/chart.min.js create mode 100755 lib/crowdfunding/lib/js/counter.js create mode 100755 lib/crowdfunding/lib/js/generate.js create mode 100755 lib/crowdfunding/lib/js/jquery-3.4.1.min.js create mode 100755 lib/crowdfunding/lib/js/moment.min.js create mode 100755 lib/crowdfunding/lib/locales.php create mode 100755 lib/crowdfunding/lib/phpqrcode/.png-errors.txt create mode 100755 lib/crowdfunding/lib/phpqrcode/CHANGELOG create mode 100755 lib/crowdfunding/lib/phpqrcode/INSTALL create mode 100755 lib/crowdfunding/lib/phpqrcode/LICENSE create mode 100755 lib/crowdfunding/lib/phpqrcode/README create mode 100755 lib/crowdfunding/lib/phpqrcode/VERSION create mode 100755 lib/crowdfunding/lib/phpqrcode/bindings/tcpdf/qrcode.php create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_1.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_10.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_10.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_11.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_11.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_12.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_12.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_13.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_13.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_14.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_14.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_15.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_15.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_16.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_16.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_17.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_17.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_18.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_18.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_19.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_19.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_2.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_20.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_20.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_21.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_21.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_22.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_22.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_23.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_23.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_24.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_24.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_25.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_25.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_26.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_26.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_27.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_27.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_28.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_28.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_29.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_29.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_3.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_30.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_30.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_31.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_31.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_32.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_32.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_33.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_33.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_34.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_34.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_35.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_35.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_36.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_36.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_37.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_37.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_38.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_38.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_39.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_39.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_4.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_40.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_40.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_5.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_6.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_7.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_8.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_8.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_9.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/frame_9.png create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_101_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_105_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_109_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_113_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_117_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_121_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_125_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_129_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_133_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_137_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_141_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_145_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_149_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_153_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_157_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_161_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_165_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_169_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_173_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_177_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_21_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_25_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_29_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_33_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_37_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_41_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_45_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_49_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_53_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_57_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_61_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_65_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_69_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_73_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_77_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_81_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_85_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_89_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_93_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_97_0.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_101_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_105_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_109_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_113_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_117_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_121_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_125_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_129_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_133_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_137_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_141_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_145_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_149_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_153_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_157_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_161_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_165_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_169_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_173_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_177_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_21_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_25_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_29_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_33_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_37_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_41_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_45_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_49_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_53_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_57_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_61_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_65_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_69_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_73_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_77_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_81_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_85_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_89_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_93_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_97_1.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_101_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_105_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_109_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_113_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_117_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_121_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_125_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_129_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_133_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_137_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_141_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_145_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_149_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_153_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_157_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_161_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_165_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_169_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_173_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_177_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_21_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_25_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_29_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_33_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_37_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_41_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_45_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_49_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_53_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_57_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_61_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_65_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_69_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_73_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_77_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_81_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_85_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_89_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_93_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_97_2.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_101_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_105_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_109_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_113_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_117_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_121_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_125_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_129_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_133_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_137_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_141_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_145_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_149_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_153_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_157_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_161_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_165_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_169_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_173_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_177_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_21_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_25_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_29_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_33_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_37_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_41_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_45_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_49_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_53_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_57_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_61_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_65_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_69_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_73_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_77_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_81_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_85_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_89_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_93_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_97_3.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_101_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_105_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_109_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_113_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_117_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_121_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_125_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_129_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_133_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_137_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_141_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_145_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_149_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_153_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_157_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_161_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_165_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_169_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_173_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_177_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_21_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_25_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_29_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_33_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_37_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_41_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_45_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_49_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_53_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_57_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_61_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_65_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_69_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_73_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_77_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_81_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_85_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_89_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_93_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_97_4.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_101_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_105_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_109_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_113_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_117_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_121_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_125_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_129_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_133_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_137_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_141_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_145_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_149_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_153_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_157_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_161_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_165_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_169_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_173_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_177_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_21_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_25_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_29_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_33_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_37_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_41_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_45_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_49_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_53_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_57_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_61_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_65_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_69_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_73_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_77_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_81_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_85_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_89_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_93_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_97_5.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_101_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_105_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_109_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_113_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_117_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_121_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_125_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_129_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_133_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_137_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_141_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_145_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_149_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_153_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_157_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_161_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_165_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_169_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_173_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_177_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_21_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_25_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_29_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_33_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_37_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_41_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_45_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_49_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_53_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_57_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_61_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_65_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_69_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_73_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_77_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_81_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_85_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_89_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_93_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_97_6.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_101_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_105_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_109_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_113_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_117_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_121_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_125_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_129_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_133_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_137_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_141_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_145_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_149_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_153_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_157_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_161_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_165_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_169_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_173_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_177_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_21_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_25_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_29_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_33_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_37_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_41_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_45_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_49_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_53_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_57_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_61_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_65_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_69_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_73_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_77_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_81_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_85_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_89_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_93_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_97_7.dat create mode 100755 lib/crowdfunding/lib/phpqrcode/index.php create mode 100755 lib/crowdfunding/lib/phpqrcode/phpqrcode.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrbitstream.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrconfig.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrconst.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrencode.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrimage.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrinput.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrlib.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrmask.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrrscode.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrspec.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrsplit.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrtools.php create mode 100755 lib/crowdfunding/lib/phpqrcode/qrvect.php create mode 100755 lib/crowdfunding/lib/phpqrcode/tools/merge.bat create mode 100755 lib/crowdfunding/lib/phpqrcode/tools/merge.php create mode 100755 lib/crowdfunding/lib/phpqrcode/tools/merge.sh create mode 100755 lib/crowdfunding/lib/phpqrcode/tools/merged_config.php create mode 100755 lib/crowdfunding/lib/phpqrcode/tools/merged_header.php create mode 100755 lib/crowdfunding/lib/webfonts/LiberationSans-Regular.ttf create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.eot create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.svg create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.ttf create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.woff create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.woff2 create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.eot create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.svg create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.ttf create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.woff create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.woff2 create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.eot create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.svg create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.ttf create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.woff create mode 100755 lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.woff2 create mode 100755 lib/crowdfunding/locales/en.tr.php create mode 100755 lib/crowdfunding/locales/eo.tr.php create mode 100755 lib/crowdfunding/locales/fr.tr.php create mode 100755 lib/crowdfunding/locales/moment.js/eo.js create mode 100755 lib/crowdfunding/locales/moment.js/fr.js create mode 100755 lib/crowdfunding/svg.php create mode 100755 lib/crowdfunding/themes/chart.html.php create mode 100644 lib/crowdfunding/themes/cloud.css create mode 100755 lib/crowdfunding/themes/cloud.html.php create mode 100755 lib/crowdfunding/themes/kickstarter.css create mode 100755 lib/crowdfunding/themes/kickstarter.html.php create mode 100755 lib/crowdfunding/themes/paidge.conf.php create mode 100755 lib/crowdfunding/themes/paidge.css create mode 100755 lib/crowdfunding/themes/paidge.html.php create mode 100755 lib/crowdfunding/themes/paidge.image.php create mode 100755 lib/crowdfunding/themes/paidge.svg.php create mode 100644 lib/crowdfunding/themes/quotes.css create mode 100755 lib/crowdfunding/themes/quotes.html.php create mode 100755 lib/crowdfunding/themes/tipeee.css create mode 100755 lib/crowdfunding/themes/tipeee.html.php create mode 100755 lib/crowdfunding/themes/tipeeers.css create mode 100755 lib/crowdfunding/themes/tipeeers.html.php diff --git a/cache/nodes-cesiumplus.txt b/cache/nodes-cesiumplus.txt new file mode 100644 index 0000000..5db3444 --- /dev/null +++ b/cache/nodes-cesiumplus.txt @@ -0,0 +1,2 @@ +g1.data.le-sou.org +g1.data.duniter.fr \ No newline at end of file diff --git a/config.php b/config.php new file mode 100644 index 0000000..a5c624a --- /dev/null +++ b/config.php @@ -0,0 +1,40 @@ +fetchJson('/user/profile/' . $creatorPubkey, 'cesiumplus'); +$data = json_decode($json); + +include('header.php'); + +echo '

' . htmlspecialchars($data->_source->title) . '

'; + + +if (isset($data->_source->avatar)) { + + echo ' +

+ +

'; +} + +$fourMonthsAgo = (new DateTime())->sub(new DateInterval('P4M')); +$lastMonth = (new DateTime())->sub(new DateInterval('P1M')); +$threeMonths = new Crowdfunding($creatorPubkey, + 'relative', + $fourMonthsAgo->format('Y-m-') . '01', + $lastMonth->format('Y-m-t')); + +echo '

' . round($threeMonths->getAmountCollected()/3) . ' DUG1 collectés par mois

'; + +echo '

' . $threeMonths->getDonorsNb() . ' donateurs

'; + +echo '

Faire un don

'; + +echo ' +
+ +

+ + +

+ +
+

Et maintenant collez-la dans votre client Ğ1 (Cesium par exemple) afin de faire votre don 😉

+

Merci pour votre générosité ❤️

+
+
'; +?> + + + +

Que soutenez-vous ?

+ + + '. nl2br(htmlspecialchars($data->_source->description)) .' +

'; + + + + +echo ' +

Ils soutiennent ' . htmlspecialchars($data->_source->title) . '

'; + +$donors = $threeMonths->getDonors(); + + +if (empty($donors)) { + + echo _('Pas encore de donnateur.'); + +} else { + + echo ' + '; +} +?> + + + + +setTarget(1000); +$chart = new Chart($CF); + +$amountCumulativeGraph = new Graph($chart->getAmountCollectedByDayCumulativePoints(), _('Montant total récolté')); +$amountCumulativeGraph->setStyle('type', 'line'); +$amountCumulativeGraph->setStyle('borderColor', '#662b00'); +$amountCumulativeGraph->setStyle('backgroundColor', 'green'); +$amountCumulativeGraph->setStyle('lineTension', 0); +$amountCumulativeGraph->setStyle('pointRadius', 1); +$amountCumulativeGraph->setStyle('borderWidth', 2); +$amountCumulativeGraph->setStyle('steppedLine', true); +$chart->addGraph($amountCumulativeGraph); + +$footerScripts = ''; + +$footerScripts .= $chart->getScripts('fr', '#chart', ROOT_URL . 'lib/crowdfunding/'); + +$footerScripts .= ' +'; + +include('footer.php'); + + diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..ae76750 --- /dev/null +++ b/footer.php @@ -0,0 +1,7 @@ + + + diff --git a/header.php b/header.php new file mode 100644 index 0000000..cd90aee --- /dev/null +++ b/header.php @@ -0,0 +1,19 @@ + + + + g1chapeau + + + + + + + g1chapeau + +'; + + diff --git a/index.php b/index.php new file mode 100644 index 0000000..5cb8221 --- /dev/null +++ b/index.php @@ -0,0 +1,42 @@ +Liste des créateurs'; + +echo ''; + +include('footer.php'); diff --git a/layout.css b/layout.css new file mode 100644 index 0000000..b33fa9b --- /dev/null +++ b/layout.css @@ -0,0 +1,76 @@ +.creatorsList > li a { + + border-radius: 0rem; +} + +.donorsList > li a { + + border-radius: 50%; +} + +ul { + + display: grid; + justify-content: center; + list-style: none; + grid-template-columns: 12rem; + grid-gap: 1rem; +} + +ul > li { + + width: 12rem; + display: flex; +} + +ul > li a { + + width: 100%; + display: flex; + flex-direction: column; + border: 0.125rem solid hsl(0, 0%, 50%); + padding: 1rem; + overflow: hidden; +} + +ul > li a > .avatar { + + order: 1; + +} + + +ul > li a > .avatar img { + + width: auto; + height: 9rem; + display: block; + margin: auto; +} + +ul > li a > .name { + + order: 2; + + text-align: center; +} + +ul > li:nth-of-type(3n+1) { + + grid-column: 1; +} + +ul > li:nth-of-type(3n+2) { + + grid-column: 2; +} + +ul > li:nth-of-type(3n+3) { + + grid-column: 3; +} + +#successMsg { + + display: none; +} diff --git a/lib/DAO.class.php b/lib/DAO.class.php new file mode 100755 index 0000000..b170d7b --- /dev/null +++ b/lib/DAO.class.php @@ -0,0 +1,586 @@ + [ + + 'data.gchange.fr' + ], + + 'cesiumplus' => [ + + 'g1.data.le-sou.org', + 'g1.data.duniter.fr' + ], + + 'duniter' => [ + + 'duniter.g1.1000i100.fr', + 'duniter-g1.p2p.legal', + 'duniter.normandie-libre.fr', + 'g1.mithril.re', + 'g1.presles.fr', + 'duniter.vincentux.fr', + 'g1.le-sou.org', + 'g1.donnadieu.fr', + ] + ]; + + private $nodeTimeout = [ + + 'duniter' => 2, + 'cesiumplus' => 5, + 'gchange' => 5, + ]; + + private $nodeTimeoutIncrement = [ + + 'duniter' => 2, + 'cesiumplus' => 10, + 'gchange' => 10 + ]; + + private $node = NULL; + + private $unit = 'quantitative'; + + + /********************** + * Methods + **********************/ + + public function __construct () { + + } + + public function getInstance () { + + if (!isset(DAO::$dao)) { + + DAO::$dao = new DAO(); + } + + return DAO::$dao; + } + + private function setUnit ($unit) { + + if (!empty($unit)) { + + if (!in_array($unit, $this->units)) { + + $out = []; + $out[] = _('L\'unité renseignée n\'existe pas.'); + $out[] = _('Vérifiez votre synthaxe.'); + + $this->decease($out); + + } else { + + $this->unit = $unit; + } + } + } + + public function decease ($errorMsgs) { + + if (!is_array($errorMsgs)) { + + $errorMsgs = explode("\n", $errorMsgs); + } + + + if ($this->displayType == 'img') { + + $source = imagecreatetruecolor(500, 200); + + $bgColor = imagecolorallocate($source, + 255, 255, 255); + + imagefill($source, + 0, 0, + $bgColor); + + $txtColor = imagecolorallocate($source, + 0, 0, 0); + + $errorMsgFontSize = 3; + $x = 5; + $y = 5; + + foreach ($errorMsgs as $msg) { + + imagestring($source, $errorMsgFontSize, $x, $y, utf8_decode($msg), $txtColor); + + $y += $errorMsgFontSize + 20; + } + + + imagepng($source); + imagedestroy($source); + + } else if ($this->displayType == 'svg') { + + echo ' + + + '; + + $x = 25; + $y = 25; + + foreach ($errorMsgs as $msg) { + + echo ' + + '. $msg . ' + '; + + $y += 25; + } + + echo ' + + '; + + } else { + + ob_get_clean(); // to prevent error message to display inside an HTML container (case of error generated by get method calls) + + echo ' + + + + '. _('Erreur critique') . ' + + + + + +
'; + + + foreach ($errorMsgs as $msg) { + + echo '

' . $msg . '

'; + } + + echo ' +
+ + '; + } + + exit; + } + + public function printUnit () { + + if ($this->unit == 'relative') { + + if ($this->displayType == 'img') { + + return _('DUĞ1'); + + } else { + + return _('DUĞ1'); + } + + } else { + + return _('Ğ1'); + } + } + + public function convertIntoChosenUnit ($amountInQuantitative) { + + if ($this->unit == 'quantitative') { + + return $amountInQuantitative; + + } else { + + if (!isset($this->startDateUdAmount)) { + + $this->startDateUdAmount = $this->getUdAmount($this->startDate); + } + + return round($amountInQuantitative / $this->startDateUdAmount, 2); + } + } + + + + public function addNode ($node) { + + $node = htmlspecialchars($node); + + $this->nodes = array_unique( + array_merge( + (array)$node, + $this->nodes + ) + ); + } + + + + public function addNodes ($nodes) { + + if (!is_array($nodes)) { + + $nodes = explode(' ', $nodes); + } + + foreach ($nodes as $node) { + + $this->addNode($node); + } + + } + + /** + * @return $nodes array + */ + public function getNodesList ($nodeType = 'duniter') { + + switch ($nodeType) { + + case 'gchange': + $nodesFilename = 'nodes-gchange'; + break; + case 'cesiumplus': + $nodesFilename = 'nodes-cesiumplus'; + break; + default: + $nodesFilename = 'nodes'; + break; + } + + $nodesFilename .= '.txt'; + $nodesFullpath = $this->cacheDir . $nodesFilename; + + $nodes = $this->nodes[$nodeType]; + + if ($this->isActivatedCache) { + + if (!file_exists($nodesFullpath)) { + + shuffle($nodes); + + $this->cacheNodes($nodes, $nodeType); + + + } else { + + $nodesStr = file_get_contents($nodesFullpath); + + $nodes = explode("\n", $nodesStr); + } + + } else { + + shuffle($nodes); + + } + + return $nodes; + } + + protected function cacheNodes ($nodes, $nodeType = 'duniter') { + + switch ($nodeType) { + + case 'gchange': + $nodesFilename = 'nodes-gchange'; + break; + case 'cesiumplus': + $nodesFilename = 'nodes-cesiumplus'; + break; + default: + $nodesFilename = 'nodes'; + break; + } + $nodesFilename .= '.txt'; + + if (!file_exists($this->cacheDir)) { + + mkdir($this->cacheDir, 0777, true); + + } + + file_put_contents($this->cacheDir . $nodesFilename, implode("\n", $nodes)); + } + + protected function saveNodes ($nodes, $nodeType = 'duniter') { + + $this->nodes[$nodeType] = $nodes; + } + + protected function fetchJson_aux ($nodes, $uri, $nodeType, $queryParams, $nodesNb, $nodeTimeout) { + + // $header = 'Content-Type: application/x-www-form-urlencoded'; + // $header = "Content-Type: text/xml\r\n"; + + if (!empty($queryParams)) { + + $opts = [ + 'http' => [ + 'method' => 'POST', + 'content' => json_encode($queryParams), + // 'header' => $header, + 'timeout' => $nodeTimeout + ] + ]; + + } else { + + $opts = [ + 'http' => [ + 'method' => 'GET', + 'timeout' => $nodeTimeout + ] + ]; + + } + + + $streamContext = stream_context_create($opts); + + $i = 0; + + do { + + + $json = @file_get_contents("https://" . current($nodes) . $uri, + false, + $streamContext); + + if (empty($json)) { + + $nodes[] = array_shift($nodes); + ++$i; + } + + } while (empty($json) and ($i < $nodesNb)); + + if (!empty($json)) { + + // Let's save node order for other queries : + $this->saveNodes($nodes, $nodeType); + + if ($this->isActivatedCache) { + + $this->cacheNodes($nodes, $nodeType); + } + } + + return $json; + } + + + public function fetchJson ($uri, $nodeType = 'duniter', $queryParams = NULL) { + + $json = NULL; + + $nodes = $this->getNodesList($nodeType); + + $nodesNb = count($nodes); + + $maxTries = 3; + + $nodeTimeout = $this->nodeTimeout[$nodeType]; + $nodeTimeoutIncrement = $this->nodeTimeoutIncrement[$nodeType]; + + for ($i = 0; ($i < 3) and empty($json); ++$i) { + + $json = $this->fetchJson_aux($nodes, $uri, $nodeType, $queryParams, $nodesNb, $nodeTimeout); + + $nodeTimeout += $nodeTimeoutIncrement; + } + + if (empty($json)) { + + $out = []; + $out[] = _('Aucun noeud '. $nodeType .' n\'a été trouvé.'); + $out[] = _('Noeud interrogés : '); + + if (isset($queryParams)) { + + $out[] = _('Paramètres de la requête : '); + $out[] = print_r($queryParams, true); + } + + $out = array_merge($out, $nodes); + + $this->decease($out); + } + + return $json; + } + + protected function fetchUdAmount ($date) { + + // On récupère les numéros de chaque blocks de DU journalier + $json = $this->fetchJson('/blockchain/with/ud'); + $blocks = json_decode($json)->result->blocks; + + if ($date > $this->now) { + + // On récupère le dernier block + $blockNum = end($blocks); + + } else { + + // On récupère le bloc de la date qui nous intéresse + $blockNum = $blocks[count($blocks) - $this->today->diff($date)->format("%a") - 1]; + } + + // Puis on récupère le montant du DU + $json = $this->fetchJson('/blockchain/block/' . $blockNum); + $block = json_decode($json); + + + return ($block->dividend / 100); + } + + public function getUdAmount ($date) { + + $udFilename = $this->getUdFilename($date); + $udsCacheDir = $this->cacheDir . 'uds/'; + $udFullPath = $udsCacheDir . $udFilename; + + if ($this->isActivatedCache) { + + if (file_exists($udFullPath)) { + + $udCachedAmount = file_get_contents($udFullPath); + + if (is_numeric($udCachedAmount) and $udCachedAmount != 0) { + + $udAmount = floatval($udCachedAmount); + } + } + + + + if (!isset($udAmount)) { + + $udAmount = $this->fetchUdAmount($date); + + // Cache UD amount + + if (!file_exists($udsCacheDir)) { + + mkdir($udsCacheDir, 0777, true); + + } + + file_put_contents($udFullPath, $udAmount); + + } + + + } else { + + $udAmount = $this->fetchUdAmount($date); + + } + + return $udAmount; + } + + + protected function getUdFilename ($date) { + + $datePreviousAutumnEquinox = new DateTime($date->format('Y') . '-09-22'); + $datePreviousSpringEquinox = new DateTime($date->format('Y') . '-03-20'); + + if ($date > $datePreviousAutumnEquinox) { + + $udFilename = $date->format('Y') . '-autumn'; + + } elseif ($date > $datePreviousSpringEquinox) { + + $udFilename = $date->format('Y') . '-spring'; + + } else { + + $udFilename = ($date->sub(new DateInterval('P1Y'))->format('Y')). '-autumn'; + } + + return $udFilename . '.txt'; + + } + + +} diff --git a/lib/Gchange.class.php b/lib/Gchange.class.php new file mode 100644 index 0000000..fc6d83e --- /dev/null +++ b/lib/Gchange.class.php @@ -0,0 +1,86 @@ +dao = new DAO(); + } + + public function getNearbyOffers ($lat, $lon, $max, $min = NULL) { + + + $queryParams = [ + 'size' => 100, + 'query' => [ + 'bool' => [ + 'must' => [ + [ + 'geo_distance' => [ + + "distance" => "50km", + "geoPoint"=> [ + "lat" => $lat, + "lon" => $lon + ] + ] + ], [ + 'range' => [ + 'stock' => [ + 'gte' => 1 + ] + ] + ] + ] + ] + ] + ]; + + $json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams); + $result = json_decode($json); + + return $result->hits->hits; + } + + public function getImmaterialOffers () { + + + $queryParams = [ + 'size' => 100, + 'query' => [ + 'bool' => [ + 'must' => [ + [ + 'term' => [ + 'category' => [ + [ + 'parent' => 'cat31' + ] + ] + ] + ] + ] + ] + ] + ]; + + $json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams); + $result = json_decode($json); + + return $result->hits->hits; + } + + public function getHousingOffers () { + + + } + + public function getShippableOffers () { + + + } +} diff --git a/lib/crowdfunding/.gitignore b/lib/crowdfunding/.gitignore new file mode 100644 index 0000000..6a1e286 --- /dev/null +++ b/lib/crowdfunding/.gitignore @@ -0,0 +1,3 @@ +/img/qrcodes/ +/tests/ +/cache/ diff --git a/lib/crowdfunding/Avatar.class.php b/lib/crowdfunding/Avatar.class.php new file mode 100644 index 0000000..0f44f35 --- /dev/null +++ b/lib/crowdfunding/Avatar.class.php @@ -0,0 +1,27 @@ +content = $content; + + $this->contentType = $contentType; + } + + public function getContent () { + + return $this->content; + } + + public function getContentType () { + + return $this->contentType; + } +} + + diff --git a/lib/crowdfunding/Chart.class.php b/lib/crowdfunding/Chart.class.php new file mode 100644 index 0000000..df41454 --- /dev/null +++ b/lib/crowdfunding/Chart.class.php @@ -0,0 +1,332 @@ +crowdfunding = $crowdfunding; + } + + + private function addLastPointOfCumulativeGraph ($lastAmount) { + + $lastDay = NULL; + + if ($this->crowdfunding->isOver()) { + + $lastDay = $this->crowdfunding->getEndDate(); + + } elseif ($this->crowdfunding->hasStartedYet()) { + + $lastDay = $this->crowdfunding->today; + } + + + if (isset($lastDay)) { + + $followingDay = (clone $lastDay)->add(new DateInterval('P1D')); + + $this->points['amountCollectedByDayCumulative'][] = [ + + 't' => $lastDay->getTimestamp() * 1000, + 'y' => $this->crowdfunding->convertIntoChosenUnit($lastAmount) + ]; + + $this->points['amountCollectedByDayCumulative'][] = [ + + 't' => $followingDay->getTimestamp() * 1000, + 'y' => $this->crowdfunding->convertIntoChosenUnit($lastAmount) + ]; + } + } + + + private function addSecondPointOfTarget ($target) { + + $d = NULL; + + if ($this->crowdfunding->isOver()) { + + $d = $this->crowdfunding->getEndDate(); + + } else { + + if (!$this->crowdfunding->isEvergreen()) { + + $d = $this->crowdfunding->getEndDate(); + + } else { + + if ($this->crowdfunding->isEvergreen() == 'monthly') { + + // last point will be the last day of the month the campaign starts + $dateOfLastDayOfTheMonth = new DateTime($this->crowdfunding->getStartDate()->format("Y-m-t")); + + $d = $dateOfLastDayOfTheMonth; + + } else { //if ($this->crowdfunding->isEvergreen() == 'forever') { + + if ($this->crowdfunding->hasStartedYet()) { + + $d = $this->crowdfunding->now; + + } else { + + + $dateOfLastDayOfTheMonth = new DateTime($this->getStartDate()->format("Y-m-t")); + + $d = $dateOfLastDayOfTheMonth; + + } + } + + } + } + + $d->add(new DateInterval('P1D')); + + $this->points['targetLine'][] = [ + 't' => $d->getTimestamp() * 1000, + 'y' => $target + ]; + } + + public function displayTarget ($bool = NULL) { + + if (isset($bool)) { + + $this->displayTarget = $bool; + + } else { + + return $this->displayTarget; + } + } + + public function addGraph ($g) { + + $this->graphs[] = $g; + } + + private function setPoints () { + + $dailyAmount = 0; + $dailyAmountCumulative = 0; + + + $t_0 = (clone $this->crowdfunding->getStartDate()); + $mt_0 = $t_0->getTimestamp() * 1000; + + if ($this->crowdfunding->hasTarget()) { + + // On trace la droite de l'objectif + $this->points['targetLine'][] = [ + + 't' => $mt_0, + 'y' => $this->crowdfunding->getTarget() + ]; + + // For x axis scaling + $this->addSecondPointOfTarget($this->crowdfunding->getTarget()); + + } + + /* + $this->points['amountCollectedByDayCumulative'][] = [ + + 't' => $mt_0, + 'y' => 0 + ]; + */ + + $tx = $this->crowdfunding->getDonationsList(); + + if (empty($tx)) { + + // For y axis scaling + $this->points['amountCollectedByDay'][] = [ + + 't' => $mt_0, + 'y' => 0 + ]; + + } else { + + $currentDay = new DateTime(); + $dayBefore = clone $this->crowdfunding->getStartDate(); + + foreach ($tx as $t) { + + + $dailyAmountCumulative += $t->getAmount(); + $dailyAmount += $t->getAmount(); + + $currentDay->setTimestamp($t->getDate()->getTimestamp()); + $currentDay->setTime(0, 0, 0); + + if ($currentDay != $dayBefore) { + + $this->points['amountCollectedByDay'][] = [ + + 't' => $dayBefore->getTimestamp() * 1000, + 'y' => $this->crowdfunding->convertIntoChosenUnit($dailyAmount) + ]; + + $this->points['amountCollectedByDayCumulative'][] = [ + + 't' => $dayBefore->getTimestamp() * 1000, + 'y' => $this->crowdfunding->convertIntoChosenUnit($dailyAmountCumulative) + ]; + + $lastDailyAmount = $dailyAmount; + $dailyAmount = 0; + } + + $dayBefore = clone $currentDay; + } + + // Add latest day's tx + + $this->points['amountCollectedByDay'][] = [ + + 't' => $dayBefore->getTimestamp() * 1000, + 'y' => $this->crowdfunding->convertIntoChosenUnit($lastDailyAmount) + ]; + + $this->addLastPointOfCumulativeGraph($dailyAmountCumulative); + } + } + + + public function getAmountCollectedByDayPoints () { + + if (empty($this->points)) { + + $this->setPoints(); + + } + + return json_encode($this->points['amountCollectedByDay']); + + } + + + public function getAmountCollectedByDayCumulativePoints () { + + if (empty($this->points)) { + + $this->setPoints(); + + } + + $points = isset($this->points['amountCollectedByDayCumulative']) ? $this->points['amountCollectedByDayCumulative'] : []; + + return json_encode($points); + } + + + public function getTargetLinePoints () { + + if (empty($this->points)) { + + $this->setPoints(); + + } + + return json_encode($this->points['targetLine']); + } + + public function setTargetLineColor ($colorStr) { + + $this->targetLineColor = new Color($colorStr); + } + + + public function getScripts ($lang, $whereToInsertChart = 'main', $dir = '') { + + if (empty($this->points)) { + + $this->setPoints(); + } + + $out = ''; + + $out .= ''; + + $out .= ''; + + $out .= ''; + + return $out; + } +} + + diff --git a/lib/crowdfunding/Color.class.php b/lib/crowdfunding/Color.class.php new file mode 100755 index 0000000..746860f --- /dev/null +++ b/lib/crowdfunding/Color.class.php @@ -0,0 +1,204 @@ + 'ffffff', + 'silver' => 'C0C0C0', + 'gray' => '808080', + 'black' => '000000', + 'red' => 'FF0000', + 'maroon' => '800000', + 'yellow' => 'FFFF00', + 'olive' => '808000', + 'lime' => '00FF00', + 'green' => '008000', + 'acqua' => '00FFFF', + 'cyan' => '00FFFF', + 'teal' => '008080', + 'blue' => '0000FF', + 'navy' => '000080', + 'fuchsia' => 'FF00FF', + 'magenta' => 'FF00FF', + 'purple' => '800080' + ]; + + private $regexes = [ + + 'hex3' => '/^([a-fA-F0-9]{3}){1,2}$/', + 'hex6' => '/^#(([a-fA-F0-9]{3}){1,2})$/', + 'rgb' => '/^rgb\( *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])\, *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5]), *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5]) *\)$/', + 'rgba' =>'/^hsla\( *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])\, *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5]), (0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])\, *((0\.[0-9]{1,2}|1))\)$/', + 'hsl' => '/^hsl\( *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])\, *([0-9]{1,3}(\.[0-9]{0,2})?)%, *([0-9]{1,3}(\.[0-9]{0,2})?)% *\)$/', + 'hsla' => '/^hsla\( *(0?[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])\, *([0-9]{1,3}(\.[0-9]{0,2})?)%, *([0-9]{1,3}(\.[0-9]{0,2})?)%\, *((0\.[0-9]{1,2}|1))\)$/', + ]; + + public function __construct ($colorStr) { + + + if ($colorStr == 'transparent') { + + + + } else if (array_key_exists($colorStr, $this->validColorsList)) { + + $this->hex = $this->validColorsList[$colorStr]; + + } else if (preg_match($this->regexes['hex3'], $colorStr)) { + + $this->hex = $colorStr; + + } else if (preg_match($this->regexes['hex6'], $colorStr, $matches)) { + + $this->hex = $matches[1]; + + } else if (preg_match($this->regexes['rgb'], $colorStr, $matches)) { + + $this->rgb = array( + 'r' => $matches[1], + 'g' => $matches[2], + 'b' => $matches[3], + ); + + } else if (preg_match($this->regexes['rgba'], $colorStr, $matches)) { + + $this->rgb = array( + 'r' => $matches[1], + 'g' => $matches[2], + 'b' => $matches[3], + 'a' =>$matches[5], + ); + + } else if (preg_match($this->regexes['hsl'], $colorStr, $matches)) { + + $this->hsl = array( + 'h' => $matches[1], + 's' => $matches[2], + 'l' => $matches[3], + ); + + } else if (preg_match($this->regexes['hsla'], $colorStr, $matches)) { + + $this->hsl = array( + 'h' => $matches[1], + 's' => $matches[2], + 'l' => $matches[3], + 'a' => $matches[5], + ); + + } else { + + $additionnalMsg = ''; + + if(empty($colorStr)) { + + $additionnalMsg = _('Les couleurs hexadécimales doivent être écrites sans le caractère #'); + + } else { + + $additionnalMsg = sprintf(_('Vous avez écrit : %s'), htmlspecialchars($colorStr)); + } + + throw new Exception(_('La couleur %s n\'est pas au bon format.') . "\n" . + $additionnalMsg . "\n" . + _('Vérifiez votre syntaxe.')); + } + } + + public function getRGB () { + + if (isset($this->rgb)) { + + return $this->rgb; + + } elseif (isset($this->hex)) { + + return $this->hex2RGB($this->hex); + + } + } + + public function getRGBa () { + + if (isset($this->rgba)) { + + return $this->rgba; + + } + } + + public function getHSLa () { + + if (isset($this->hsla)) { + + return $this->hsla; + + } + } + + public function getHex () { + + if (isset($this->hex)) { + + return $this->hex; + + } elseif (isset($this->rgb)) { + + return $this->RGB2hex($this->rgb); + + } + + } + + public function getColorAllocation ($imgRessource) { + + list($r, $g, $b) = $this->getRGB(); + + return imageColorAllocate($imgRessource, $r, $g, $b); + } + + public function RGB2hex () { + + } + + public function hex2RGB ($hexStr) { + + $strLen = strlen($hexStr); + + if ($strLen == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster + + $colorVal = hexdec($hexStr); + + $r = 0xFF & ($colorVal >> 0x10); + $g = 0xFF & ($colorVal >> 0x8); + $b = 0xFF & $colorVal; + + } elseif ($strLen == 3) { //if shorthand notation, need some string manipulations + + $r = hexdec(str_repeat(substr($hexStr, 0, 1), 2)); + $g = hexdec(str_repeat(substr($hexStr, 1, 1), 2)); + $b = hexdec(str_repeat(substr($hexStr, 2, 1), 2)); + + } else { + + throw new Exception(_('Le paramètre %s n\'est pas une couleur.') . "\n" . _('Vérifiez votre syntaxe.')); + + } + + $this->rgb = array($r, $g, $b); + + return $this->rgb; + } + + +} + diff --git a/lib/crowdfunding/Crowdfunding.class.php b/lib/crowdfunding/Crowdfunding.class.php new file mode 100755 index 0000000..3c05984 --- /dev/null +++ b/lib/crowdfunding/Crowdfunding.class.php @@ -0,0 +1,1645 @@ +setDisplayType($displayType); + + $this->setPubkey($pubkey); + + $this->setUnit($unit); + + $this->now = new DateTime(); + $this->today = new DateTime(); + $this->today->setTime(0, 0, 0); + + $this->handleDates($startDate, $endDate); + } + + public function setFilterMinDonation ($min) { + + $this->filterMinDonation = (float) $min; + } + + + public function getFilterMinDonation () { + + return $this->filterMinDonation; + } + + public function setFilterMinCommentLength ($length) { + + $this->filterMinCommentLength = (int) $length; + } + + + public function getFilterMinCommentLength () { + + return $this->filterMinCommentLength; + } + + public function getEndDate() { + + return (clone $this->endDate); + + } + + private function setUnit ($unit) { + + if (!empty($unit)) { + + if (!in_array($unit, $this->units)) { + + $out = []; + $out[] = _('L\'unité renseignée n\'existe pas.'); + $out[] = _('Vérifiez votre synthaxe.'); + + $this->decease($out); + + } else { + + $this->unit = $unit; + } + } + } + + private function setDisplayType ($displayType) { + + if (!empty($displayType)) { + + if (in_array($displayType, $this->validDisplayTypes)) { + + $this->displayType = $displayType; + + } else { + + $this->decease(_('Ce type d\'affichage n\'existe pas.')); + } + + } + } + + public function decease ($errorMsgs) { + + if (!is_array($errorMsgs)) { + + $errorMsgs = explode("\n", $errorMsgs); + } + + + if ($this->displayType == 'img') { + + $source = imagecreatetruecolor(500, 200); + + $bgColor = imagecolorallocate($source, + 255, 255, 255); + + imagefill($source, + 0, 0, + $bgColor); + + $txtColor = imagecolorallocate($source, + 0, 0, 0); + + $errorMsgFontSize = 3; + $x = 5; + $y = 5; + + foreach ($errorMsgs as $msg) { + + imagestring($source, $errorMsgFontSize, $x, $y, utf8_decode($msg), $txtColor); + + $y += $errorMsgFontSize + 20; + } + + + imagepng($source); + imagedestroy($source); + + } else if ($this->displayType == 'svg') { + + echo ' + + + '; + + $x = 25; + $y = 25; + + foreach ($errorMsgs as $msg) { + + echo ' + + '. $msg . ' + '; + + $y += 25; + } + + echo ' + + '; + + } else { + + ob_get_clean(); // to prevent error message to display inside an HTML container (case of error generated by get method calls) + + echo ' + + + + '. $this->getTitle() . ' + + + + + +
'; + + + foreach ($errorMsgs as $msg) { + + echo '

' . $msg . '

'; + } + + echo ' +
+ + '; + } + + exit; + } + + public function setTarget ($target) { + + if (empty($target)) { + + $out = []; + $out[] = _('Il manque le montant à atteindre. Vérifiez votre syntaxe.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + $target = (int)$target; + + if (!is_int($target)){ + + $out = []; + $out[] = _('Le montant n\'est pas un nombre entier.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else if ($target == 0) { + + $out = []; + $out[] = _('Le montant cible est nul.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else if ($target < 0) { + + $out = []; + $out[] = _('La montant cible inférieur à 0.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + $this->target = $target; + + } + } + } + + public function hasTarget() { + + return isset($this->target); + } + + public function getTarget () { + + if (!$this->hasTarget()) { + + $out = []; + $out[] = _('Il manque le montant à atteindre.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + return $this->target; + } + + } + + public function setMustDisplayGraph ($displayGraphOrNot) { + + if (in_array($displayGraphOrNot, $this->truePossibleValues)) { + + $this->mustDisplayGraph = true; + + } else { + + $this->mustDisplayGraph = false; + } + } + + public function getMustDisplayGraph () { + + return $this->mustDisplayGraph; + } + + public function setMustDisplayQRCode ($mustDisplayQRCode) { + + $this->mustDisplayQRCode = $mustDisplayQRCode; + + if ($mustDisplayQRCode) { + + $qrCodePath = $this->qrCodesFolder . '/' . $this->pubkey . '.png'; + + if (file_exists($qrCodePath)) { + + $this->qrCodePath = $qrCodePath; + + } else { + + QRcode::png($this->pubkey, $qrCodePath); + + $this->qrCodePath = $qrCodePath; + } + } + } + + public function getQRCodePath () { + + if (!file_exists($this->qrCodePath)) { + + return false; + + } else { + + return $this->qrCodePath; + } + } + + public function setMustHideTitle ($mustHideTitle) { + + if (in_array($mustHideTitle, $this->truePossibleValues)) { + + $this->mustHideTitle = true; + + } else { + + $this->mustHideTitle = false; + + } + } + + public function getMustHideTitle () { + + return $this->mustHideTitle; + } + + public function setTitle ($title) { + + if (!empty($title)) { + + $this->title = htmlspecialchars($title); + } + } + + public function hasLogo() { + + return !empty($this->logoPath); + } + + public function setLogo ($logoName) { + + if ($this->displayType == 'img') { + + $logoPath = $this->logosFolder . '/png/' . $logoName . '.png'; + + } else { + + $logoPath = $this->logosFolder . '/svg/' . $logoName . '.svg'; + } + + + if (!file_exists($logoPath)) { + + $this->decease(_('Ce logo n\'existe pas.')); + + } else { + + $this->logoPath = $logoPath; + } + } + + public function getLogoPath() { + + return $this->logoPath; + + } + + public function getTitle () { + + return $this->title; + } + + public function getMustDisplayQRCode () { + + return $this->mustDisplayQRCode; + } + + public function getMustDisplayButton () { + + return $this->mustDisplayButton; + } + + public function setMustDisplayPubkey ($mustDisplayPubkey) { + + if (in_array($mustDisplayPubkey, $this->truePossibleValues)) { + + $this->mustDisplayPubkey = true; + + } else { + + $this->mustDisplayPubkey = false; + } + } + + public function getMustDisplayPubkey () { + + return $this->mustDisplayPubkey; + } + + public function setMustDisplayButton ($mustDisplayButton) { + + $this->mustDisplayButton = (bool) $mustDisplayButton; + } + + + public function getContributionURL () { + + if (!isset($this->contributionURL)) { + + $this->contributionURL ='https://' . $this->apiNode . '/api/#/v1/payment/' . $this->pubkey + . '?' . + 'amount=10|20|50|100|1000' + . '&' . + 'comment=don' + . '&' . + 'redirect_url=https://%3A%252F%252F' . $this->apiNode + . '&' . + 'cancel_url=https%3A%252F%252F' . $this->apiNode; + } + + return $this->contributionURL; + + } + + public function setPubkey ($pubkey) { + + if (empty($pubkey)) { + + $out = []; + $out[] = _('Il manque la clé publique du compte à vérifier.'); + $out[] = _('Vérifiez votre syntaxe.'); + + $this->decease($out); + + } else if (!preg_match(self::PUBKEY_FORMAT, $pubkey)) { + + $out = []; + $out[] = _('La pubkey n\'a pas le format attendu.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + $this->pubkey = $pubkey; + + } + } + + public function printUnit () { + + if ($this->unit == 'relative') { + + if ($this->displayType == 'img') { + + return _('DUĞ1'); + + } else { + + return _('DUĞ1'); + } + + } else { + + return _('Ğ1'); + } + } + + protected function isDate ($date, $format){ + + $a = date_parse_from_format($format, $date); + + return checkdate($a["month"], $a["day"], $a["year"]); + } + + public function hasStartedYet () { + + if (empty($this->hasStartedYet)) { + + $this->hasStartedYet = ($this->startDate <= $this->now); + + } + + return $this->hasStartedYet; + } + + public function isEvergreen ($bool = NULL) { + + if (isset($bool)) { + + $this->isEvergreen = $bool; + + } else { + + return $this->isEvergreen; + } + } + + protected function handleDates ($startDate, $endDate) { + + /* Starting date handling */ + + if (empty($startDate)) { + + $this->startDate = new DateTime('first day of this month'); + + } else if (!$this->isDate($startDate, self::DATE_FORMAT)) { + + $out = []; + $out[] = _('La date de début n\'est pas correcte.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + $d = DateTime::createFromFormat(self::DATE_FORMAT, $startDate); + + if ($d === false) { + + $out = []; + $out[] = _('La date de début n\'est pas correcte.'); + $out[] = _('Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + $this->startDate = $d; + } + } + + $this->startDate->setTime(0,0,0); + + /* Ending date handling */ + + if (empty($endDate)) { + + if (empty($startDate)) { + + // For everygreen campaigns (monthly crowdfunding) + + $this->isEvergreen('monthly'); + + } else { + + $this->isEvergreen('forever'); + } + + + $this->endDate = NULL; + + } else { + + if (!$this->isDate($endDate, self::DATE_FORMAT) ) { + + $out = []; + $out[] = _('La date de fin est incorrecte.'); + $out[] = _(' Vérifiez votre syntaxe.'); + $this->decease($out); + + } else { + + $d = DateTime::createFromFormat(self::DATE_FORMAT, $endDate); + + if ($d === false) { + + $out = []; + $out[] = _('La date de fin est incorrecte.'); + $out[] = _('Renseignez la au format '. self::DATE_FORMAT . '.'); + $this->decease($out); + + } else { + + $this->endDate = $d; + $this->endDate->setTime(0,0,0); + + if (empty($startDate)) { + + $out = []; + $out[] = _('Vous avez spécifié une date de fin, mais pas de date de début !'); + $out[] = _('Renseignez une date de début !'); + $out[] = _('Date de fin : ') . $this->endDate->format(self::DATE_FORMAT); + + $this->decease($out); + + } elseif ($this->startDate >= $this->endDate) { + + $out = []; + $out[] = _('La date de fin est antérieure ou égale à la date de début.'); + $out[] = _('Un crowdfunding ne peut pas se terminer avant d\'avoir commencé.'); + $out[] = _('Vérifiez vos dates :'); + $out[] = _('Date de début : ') . $this->startDate->format(self::DATE_FORMAT); + $out[] = _('Date de fin : ') . $this->endDate->format(self::DATE_FORMAT); + + $this->decease($out); + + } + } + } + + } + } + + public function isOver () { + + if (empty($this->isOver)) { + + $this->isOver = (!empty($this->endDate) and ($this->endDate < $this->now)); + } + + return $this->isOver; + } + + public function getDaysLeft () { + + if (!isset($this->daysLeft)) { + + if ($this->isEvergreen()) { + + $lastDayOfTheMonth = new DateTime($this->startDate->format('Y-m-t')); + $this->daysLeft = intval($this->today->diff($lastDayOfTheMonth)->format('%a')); + + } elseif (empty($this->endDate)) { + + $this->daysLeft = NULL; + + } else { + + $this->daysLeft = intval($this->today->diff($this->endDate)->format('%R%a')); + } + } + + return $this->daysLeft; + } + + public function getMeanDonation () { + + if (empty($this->meanDonation)) { + + $this->meanDonation = $this->amountCollected / $this->donorsNb; + } + + return $this->meanDonation; + } + + public function getMaxDonation () { + + if (empty($this->maxDonation)) { + + $max = 0; + + foreach ($this->donationsList as $d) { + + $max = max($max, $d->getAmount()); + } + + $this->maxDonation = $max; + } + + return $this->maxDonation; + } + + public function getPubkey () { + + return $this->pubkey; + } + + public function getMinDonation () { + + if (empty($this->minDonation)) { + + $min = 666666; + + foreach ($this->donationsList as $d) { + + $min = min($min, $d->getAmount()); + } + + $this->minDonation = $min; + } + + return $this->minDonation; + } + + protected function computePercentage () { + + $this->percentage = $this->getAmountCollected() / $this->getTarget() * 100; + + } + + public function getPercentage () { + + if (!isset($this->percentage)) { + + $this->computePercentage(); + + } + + return round($this->percentage); + } + + public function getAmountCollected () { + + if (!isset($this->amountCollected)) { + + $this->fetchDonationsList(); + + } + + return $this->convertIntoChosenUnit($this->amountCollected); + } + + public function getDonorsNb () { + + if (!isset($this->donorsNb)) { + + $this->fetchDonationsList(); + } + + return $this->donorsNb; + } + + public function fetchMonthlyMean ($monthsToConsider) { + + $nMonths = new DateInterval('P'. $monthsToConsider . 'M'); + $dateMonthsAgo = clone $this->today; + $dateMonthsAgo->sub($nMonths); + $dateMonthsAgo = DateTime::createFromFormat( + 'Y-m-d', + $dateMonthsAgo->format('Y') . '-' . + $dateMonthsAgo->format('m') . '-' . + '01' + ); + + $oneMonth = new DateInterval('P1M'); + $dateFirstDayTodaysMonth = DateTime::createFromFormat( + 'Y-m-d', + $this->today->format('Y') . '-' . + $this->today->format('m') . '-' . + '01' + ); + $dateLastDayOfPreviousMonth = clone $dateFirstDayTodaysMonth; + $aDay = new DateInterval('P1D'); + $dateLastDayOfPreviousMonth->sub($aDay); + + $periodTotalCollected = 0; + + $tx = $this->getTransactions( + $this->pubkey, + $dateMonthsAgo, + $dateLastDayOfPreviousMonth + ); + + $previousMonth = $dateMonthsAgo->format('Y-m'); + $monthlyDonors[$previousMonth] = []; + $monthlyDonorsNb[$previousMonth] = 0; + + foreach ($tx as $t) { + + if ($t->issuers[0] != $this->pubkey) { + + foreach ($t->outputs as $o) { + + if (strstr($o, $this->pubkey)) { + + $transactionDate = new DateTime(); + $transactionDate->setTimestamp($t->time); + + $currentMonth = $transactionDate->format('Y-m'); + + if ($currentMonth != $previousMonth) { + + $monthlyDonors[$currentMonth] = []; + $monthlyDonorsNb[$currentMonth] = 0; + } + + $donor = $t->issuers[0]; + + if (!in_array($donor, $monthlyDonors[$currentMonth])) { + + $monthlyDonors[$currentMonth][] = $donor; + ++$monthlyDonorsNb[$currentMonth]; + } + + $this->addPeriodDonor($donor); + + $o = explode(':', $o); + $transactionAmount = $o[0] / 100; + + $periodTotalCollected += $transactionAmount; + + $previousMonth = $currentMonth; + } + } + } + } + + $this->periodDonorsMean = ceil(array_sum($monthlyDonorsNb) / $monthsToConsider); + + $this->monthlyAmountCollectedMean = $this->convertIntoChosenUnit($periodTotalCollected / $monthsToConsider); + + return $this->monthlyAmountCollectedMean; + } + + public function setButtonType ($type) { + + if (in_array($type, $this->validButtonTypes)) { + + $this->buttonType = $type; + } + } + + public function getButtonType () { + + return $this->buttonType; + } + + public function getPeriodDonorsMean ($monthsToConsider) { + + return $this->periodDonorsMean; + } + + private function addPeriodDonor ($donor) { + + if (!in_array($donor, $this->periodDonorsList)) { + + $this->periodDonorsList[] = $donor; + ++$this->periodDonorsNb; + } + } + + public function getPeriodDonorsNb ($monthsToConsider) { + + if (!isset($this->periodDonorsNb)) { + + $this->fetchMonthlyMean($monthsToConsider); + } + + return $this->periodDonorsNb; + } + + public function getMonthlyAmountCollectedMean ($monthsToConsider) { + + if (!isset($this->monthlyAmountCollectedMean)) { + + $this->fetchMonthlyMean($monthsToConsider); + } + + return $this->monthlyAmountCollectedMean; + } + + private function getTransactions ($pubkey, $startDate, $endDate = NULL) { + + if ($startDate > $this->now) { + + return array(); + + } else { + + if (!isset($endDate)) { + + $endDate = $this->today; + } + + $json = NULL; + $jsonUri = '/tx/history/' . $pubkey . "/times/" . $startDate->getTimestamp() . "/" . $endDate->getTimestamp(); + $txCacheDir = $this->cacheDir . 'tx/'; + + if ($this->isOver()) { + + $txFullPath = $txCacheDir . $pubkey . '_' . $startDate->format('Y-m-d') . '_' . $endDate->format('Y-m-d') . '.json'; + + } else { + + $txFullPath = $txCacheDir . $pubkey . '_' . $startDate->format('Y-m-d') . '.json'; + + } + + if ($this->isActivatedCache) { + + if (file_exists($txFullPath) and ((time() - filemtime($txFullPath)) < $this->cacheLongevity)) { + + $json = file_get_contents($txFullPath); + } + + + if (empty($json)) { + + $json = $this->fetchJson($jsonUri); + + // Cache tx + + if ($this->isActivatedCache) { + + if (!file_exists($txCacheDir)) { + + mkdir($txCacheDir, 0777, true); + + } + + file_put_contents($txFullPath, $json); + } + + } + + } else { + + $json = $this->fetchJson($jsonUri); + } + + $transactions = json_decode($json); + + return $transactions->history->received; + } + } + + + public function keepOnlyHighestDonations () { + + + } + + public function getDonationsList () { + + if (empty($this->donationsList)) { + + $this->fetchDonationsList(); + + } + + return $this->donationsList; + + } + + public function getDonors () { + + if (empty($this->donorsList)) { + + $this->fetchDonationsList(); + } + + return $this->donorsList; + } + + public function getDonorCesiumPlusProfile ($pubkey) { + + if (!isset($this->donorsCesiumPlusProfiles)) { + + $this->fetchCesiumPlusProfiles(); + } + + if (isset($this->donorsCesiumPlusProfiles[$pubkey])) { + + return $this->donorsCesiumPlusProfiles[$pubkey]; + + } else { + + return new Donor($pubkey); + } + } + + public function fetchCesiumPlusProfiles () { + + $this->donorsCesiumPlusProfiles = array(); + + $queryParams = [ + 'size' => $this->donorsNb, + 'query' => [ + 'bool' => [ + 'should' => [] + ] + ], + '_source' => [ + 'city', + 'title', + 'issuer', + 'avatar', + 'geoPoint' + ] + ]; + + foreach ($this->donorsList as $pubkey) { + + $queryParams['query']['bool']['should'][] = [ + + 'match' => [ + + 'issuer' => $pubkey + ] + ]; + } + + $json = $this->fetchJson('/user/profile/_search', true, $queryParams); + $result = json_decode($json); + $cesiumPlusProfiles = $result->hits->hits; + + foreach ($cesiumPlusProfiles as $profile) { + + $profile = $profile->_source; + + $donor = new Donor($profile->issuer); + + if (isset($profile->title)) { + + $donor->setName($profile->title); + } + + if (isset($profile->city)) { + + $donor->setCity($profile->city); + } + + if (isset($profile->avatar)) { + + $donor->setAvatar($profile->avatar->_content, $profile->avatar->_content_type); + } + + if (isset($profile->geoPoint)) { + + $donor->setGeoPoint($profile->geoPoint->lon, $profile->geoPoint->lat); + } + + $this->donorsCesiumPlusProfiles[$profile->issuer] = $donor; + + } + } + + public function getFilteredDonationsList () { + + if (($this->getFilterMinDonation() <= 0) AND ($this->getFilterMinCommentLength() <= 0)) { + + return $this->getDonationsList(); + + } else { + + return array_filter($this->getDonationsList(), function ($v) { + + return ( + ($v->getAmount() >= $this->getFilterMinDonation()) + AND + (strlen($v->getComment()) >= $this->getFilterMinCommentLength()) + ); + }); + } + + } + + public function setMonthsToConsider ($m) { + + $this->monthsToConsider = (int) $m; + } + + public function getMonthsToConsider () { + + if (isset($this->monthsToConsider)) { + + return $this->monthsToConsider; + + } else { + + return $this->defaultMonthsToConsider; + } + } + + + private function fetchDonationsList () { + + $this->donationsList = array(); + $this->totalDonationPerDonor = array(); + $this->donorsList = array(); + $this->amountCollected = 0; + $this->donorsNb = 0; + + $tx = $this->getTransactions($this->pubkey, + $this->startDate, + $this->endDate + ); + + foreach ($tx as $t) { + + // Filter only incoming transactions + if ($t->issuers[0] != $this->pubkey) { + + $donorPubkey = $t->issuers[0]; + + foreach ($t->outputs as $o) { + + if (strstr($o, $this->pubkey)) { + + $o = explode(':', $o); + + $transactionAmount = $o[0] / 100; + + $this->donationsList[] = new Donation( + + $transactionAmount, + $donorPubkey, + intval($t->time), + $t->comment + ); + + $this->amountCollected += $transactionAmount; + + if (!in_array($donorPubkey, $this->donorsList)) { + + ++$this->donorsNb; + + $this->donorsList[] = $donorPubkey; + + $this->totalDonationPerDonor[$donorPubkey] = $transactionAmount; + + } else { + + $this->totalDonationPerDonor[$donorPubkey] += $transactionAmount; + } + } + } + } + } + } + + public function convertIntoChosenUnit ($amountInQuantitative) { + + if ($this->unit == 'quantitative') { + + return $amountInQuantitative; + + } else { + + if (!isset($this->startDateUdAmount)) { + + $this->startDateUdAmount = $this->getUdAmount($this->startDate); + } + + return round($amountInQuantitative / $this->startDateUdAmount, 2); + } + } + + + + public function addNode ($node) { + + $node = htmlspecialchars($node); + + $this->nodes = array_unique( + array_merge( + (array)$node, + $this->nodes + ) + ); + } + + + + public function addNodes ($nodes) { + + if (!is_array($nodes)) { + + $nodes = explode(' ', $nodes); + } + + foreach ($nodes as $node) { + + $this->addNode($node); + } + + } + + /** + * @return $nodes array + */ + public function getNodesList ($cesiumPlus = false) { + + $nodesFilename = $cesiumPlus ? 'nodes-cesiumplus' : 'nodes'; + $nodesFilename .= '.txt'; + $nodesFullpath = $this->cacheDir . $nodesFilename; + + $nodes = $cesiumPlus ? $this->cesiumPlusNodes : $this->nodes; + + if ($this->isActivatedCache) { + + if (!file_exists($nodesFullpath)) { + + shuffle($nodes); + + $this->cacheNodes($nodes, $cesiumPlus); + + + } else { + + $nodesStr = file_get_contents($nodesFullpath); + + $nodes = explode("\n", $nodesStr); + } + + } else { + + shuffle($nodes); + + } + + return $nodes; + } + + protected function cacheNodes ($nodes, $cesiumPlus = false) { + + $nodesFilename = $cesiumPlus ? 'nodes-cesiumplus' : 'nodes'; + $nodesFilename .= '.txt'; + + if (!file_exists($this->cacheDir)) { + + mkdir($this->cacheDir, 0777, true); + + } + + file_put_contents($this->cacheDir . $nodesFilename, implode("\n", $nodes)); + } + + protected function saveNodes ($nodes, $cesiumPlus = false) { + + if ($cesiumPlus) { + + $this->cesiumPlusNodes = $nodes; + + } else { + + $this->nodes = $nodes; + } + } + + protected function fetchJson_aux ($nodes, $uri, $cesiumPlus, $queryParams, $nodesNb, $nodeTimeout) { + + if ($cesiumPlus) { + + // $header = 'Content-Type: application/x-www-form-urlencoded'; + // $header = "Content-Type: text/xml\r\n"; + + $opts = [ + 'http' => [ + 'method' => 'POST', + 'content' => json_encode($queryParams), + // 'header' => $header, + 'timeout' => $nodeTimeout + ] + ]; + + } else { + + $opts = [ + 'http'=>[ + 'timeout' => $nodeTimeout, + ] + ]; + } + + $streamContext = stream_context_create($opts); + + $i = 0; + + do { + + + $json = @file_get_contents("https://" . current($nodes) . $uri, + false, + $streamContext); + + if (empty($json)) { + + $nodes[] = array_shift($nodes); + ++$i; + } + + } while (empty($json) and ($i < $nodesNb)); + + if (!empty($json)) { + + // Let's save node order for other queries : + $this->saveNodes($nodes, $cesiumPlus); + + if ($this->isActivatedCache) { + + $this->cacheNodes($nodes, $cesiumPlus); + } + } + + return $json; + } + + + public function fetchJson ($uri, $cesiumPlus = false, $queryParams = NULL) { + + $json = NULL; + + $nodes = $this->getNodesList($cesiumPlus); + + $nodesNb = count($nodes); + + $maxTries = 3; + + $nodeTimeout = $cesiumPlus ? $this->cesiumPlusNodeTimeout : $this->nodeTimeout; + $nodeTimeoutIncrement = $cesiumPlus ? $this->cesiumPlusNodeTimeoutIncrement : $this->nodeTimeoutIncrement; + + for ($i = 0; ($i < 3) and empty($json); ++$i) { + + $json = $this->fetchJson_aux($nodes, $uri, $cesiumPlus, $queryParams, $nodesNb, $nodeTimeout); + + $nodeTimeout += $nodeTimeoutIncrement; + } + + if (empty($json)) { + + $out = []; + $out[] = _('Aucun noeud Duniter n\'a été trouvé.'); + $out[] = _('Noeud interrogés : '); + + if ($cesiumPlus) { + + $out[] = _('Paramètres de la requête : '); + $out[] = print_r($queryParams, true); + } + + $out = array_merge($out, $nodes); + + $this->decease($out); + } + + return $json; + } + + protected function fetchUdAmount ($date) { + + // On récupère les numéros de chaque blocks de DU journalier + $json = $this->fetchJson('/blockchain/with/ud'); + $blocks = json_decode($json)->result->blocks; + + if ($date > $this->now) { + + // On récupère le dernier block + $blockNum = end($blocks); + + } else { + + // On récupère le bloc de la date qui nous intéresse + $blockNum = $blocks[count($blocks) - $this->today->diff($date)->format("%a") - 1]; + } + + // Puis on récupère le montant du DU + $json = $this->fetchJson('/blockchain/block/' . $blockNum); + $block = json_decode($json); + + + return ($block->dividend / 100); + } + + public function getStartDate () { + + return (clone $this->startDate); + } + + public function getUdAmount ($date) { + + $udFilename = $this->getUdFilename($date); + $udsCacheDir = $this->cacheDir . 'uds/'; + $udFullPath = $udsCacheDir . $udFilename; + + if ($this->isActivatedCache) { + + if (file_exists($udFullPath)) { + + $udCachedAmount = file_get_contents($udFullPath); + + if (is_numeric($udCachedAmount) and $udCachedAmount != 0) { + + $udAmount = floatval($udCachedAmount); + } + } + + + + if (!isset($udAmount)) { + + $udAmount = $this->fetchUdAmount($date); + + // Cache UD amount + + if (!file_exists($udsCacheDir)) { + + mkdir($udsCacheDir, 0777, true); + + } + + file_put_contents($udFullPath, $udAmount); + + } + + + } else { + + $udAmount = $this->fetchUdAmount($date); + + } + + return $udAmount; + } + + + protected function getUdFilename ($date) { + + $datePreviousAutumnEquinox = new DateTime($date->format('Y') . '-09-22'); + $datePreviousSpringEquinox = new DateTime($date->format('Y') . '-03-20'); + + if ($date > $datePreviousAutumnEquinox) { + + $udFilename = $date->format('Y') . '-autumn'; + + } elseif ($date > $datePreviousSpringEquinox) { + + $udFilename = $date->format('Y') . '-spring'; + + } else { + + $udFilename = ($date->sub(new DateInterval('P1Y'))->format('Y')). '-autumn'; + } + + return $udFilename . '.txt'; + + } + + +} diff --git a/lib/crowdfunding/Donation.class.php b/lib/crowdfunding/Donation.class.php new file mode 100644 index 0000000..66797b1 --- /dev/null +++ b/lib/crowdfunding/Donation.class.php @@ -0,0 +1,54 @@ +amount = $amount; + + $this->donorPubkey = $donorPubkey; + + $this->date = new DateTime(); + $this->date->setTimestamp($time); + + $this->comment = $comment; + } + + public function getAmount () { + + return $this->amount; + } + + public function setAmount ($amount) { + + $this->amount = $amount; + } + + public function getDate () { + + return $this->date; + } + + public function getComment () { + + return $this->comment; + } + + public function getDonorPubkey () { + + return $this->donorPubkey; + } +} + + + diff --git a/lib/crowdfunding/Donor.class.php b/lib/crowdfunding/Donor.class.php new file mode 100644 index 0000000..5f9e920 --- /dev/null +++ b/lib/crowdfunding/Donor.class.php @@ -0,0 +1,74 @@ +pubkey = $pubkey; + } + + public function setName ($name) { + + $this->name = $name; + } + + public function getName () { + + if (isset($this->name)) { + + return $this->name; + + } else { + + return substr($this->pubkey, 0, 8); + } + + } + + public function setAvatar ($content, $contentType) { + + $this->avatar = new Avatar($content, $contentType); + } + + public function getAvatar () { + + return $this->avatar; + } + + public function setCity ($city) { + + $this->city = $city; + } + + public function getCity () { + + return $this->city; + } + + public function setGeoPoint ($lon, $lat) { + + $this->geoPoint = new GeoPoint($lon, $lat); + } + + public function getGeoPoint () { + + return $this->geoPoint; + } + + +} + diff --git a/lib/crowdfunding/FIXED.md b/lib/crowdfunding/FIXED.md new file mode 100755 index 0000000..22a8dab --- /dev/null +++ b/lib/crowdfunding/FIXED.md @@ -0,0 +1,20 @@ +## Réparés + +- Encapsulation +- Suppression des failles XSS +- Vérification des couleurs + +- Suppression du nombre de jours restant quand la date de fin est dépassée +- Messages d'erreurs maintenant plus clairs et plus précis +- Ajout du support des thèmes +- Utilisation de GetText pour la traduction +- Possibilité de traduire "DUG1" en entier (donc d'inverser DU et G1, pour l'anglais par exemple) + +- SVG : titre maintenant centré +- Amélioration de l'UX formulaire de génération : + - Prévisualisation affichée avant le code d'intégration +- Le noeuds choisi n'est pas dispo, on regarde les autres +- & transformés en & +- Résolution du problème du SVG qui n'était pas généré par certains serveurs à cause du longitude = $lon; + + $this->latitude = $lat; + } + + public function getLongitude () { + + return $this->longitude; + } + + public function getLatitude () { + + return $this->latitude; + } +} + + + diff --git a/lib/crowdfunding/Graph.class.php b/lib/crowdfunding/Graph.class.php new file mode 100644 index 0000000..82f3ee5 --- /dev/null +++ b/lib/crowdfunding/Graph.class.php @@ -0,0 +1,75 @@ + NULL, + 'borderColor' => NULL, + 'backgroundColor' => NULL, + 'borderDash' => NULL, + 'radius' => NULL, + 'fill' => NULL, + 'borderWidth' => NULL, + 'lineTension' => NULL, + 'pointRadius' => NULL, + 'steppedLine' => NULL + ]; + + + public function __construct ($dataPoints, $label) { + + $this->dataPoints = $dataPoints; + + $this->label = $label; + } + + public function setStyle ($param, $value) { + + switch (gettype($value)) { + + case 'boolean': + $this->styles[$param] = $value ? 'true' : 'false'; + break; + case 'array': + $this->styles[$param] = json_encode($value); + break; + case 'string': + $this->styles[$param] = '\''. $value . '\''; + break; + default: + $this->styles[$param] = $value; + } + } + + public function getGraph () { + + $out = ''; + + $out .= ' + { + data: '. $this->dataPoints .', + label: "'. $this->label .'", '; + + foreach ($this->styles as $k => $v) { + + if ($v !== NULL) { + + $out .= $k . ': ' . $v . ', '; + } + } + + $out .= ' + }'; + + return $out; + } +} diff --git a/lib/crowdfunding/LICENCE b/lib/crowdfunding/LICENCE new file mode 100755 index 0000000..f4b3aac --- /dev/null +++ b/lib/crowdfunding/LICENCE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + Barre de financement intégrable + Copyright (C) 2019 Pierre-Jean CHANCELLIER + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/lib/crowdfunding/MIGHTDO.md b/lib/crowdfunding/MIGHTDO.md new file mode 100755 index 0000000..6de7ced --- /dev/null +++ b/lib/crowdfunding/MIGHTDO.md @@ -0,0 +1,49 @@ +# Might do... + +## generate.js + +- Voir si je peux rendre la syntaxe modulaire (ajout facile de thèmes, etc.) + +## iframe.php + +- Ajouter la possibilité d'utiliser un bouton "copier la clef vers le presse-papier" plutôt qu'un bouton qui redirige vers Cesium API + +## Général + +- Merger les README + +- Gérer les langues +- Traduire en anglais +- Traduire en espagnol + +- Avoir une barre de progressions à 4 paramètres de couleurs, genre red|orange|yellow|green, choisi en fonction de l'état du financement (critical, ok, good), + état fonction du %age atteint rapporté au %age de jours restants + +- Un thème vertical pour insérer dans une colonne (genre Widget Wordpress) + +- Récupérer toutes les transactions avec un commentaire particulier pour faire un genre de Widget à ajouter dans Wordpress pour faire un true style Flattr + +- Créer une landing page sur laquelle les gens seront redirigés au clic sur l'image (intégration via BBCode etc.) + +## Classes + +- Refactorer en patron MVC ? +- Réduire le nombre de paramètres dans le constructeur ? + +## iframes.php + +- Chercher comment récupérer les données Cesium+ pour les afficher + +## image.php + +- Refactorer en utilisant la classe + +## svg.php + +- Le corriger + +## generate.php + +- Ajouter la possibilité d'ajouter du CSS personnel +- Mise à jour en temps réel avec AngularJS ? +- Des URLs partageables pour travailler à plusieurs sur un modèle (comme les maquettes Facebook Ads, ou Canva.com) diff --git a/lib/crowdfunding/README.md b/lib/crowdfunding/README.md new file mode 100755 index 0000000..37ae6c1 --- /dev/null +++ b/lib/crowdfunding/README.md @@ -0,0 +1,28 @@ +# Crowdfundinğ + +PHP scripts and iframes to display crowdfunding informations in a fully customizable way. + +## A word about \ and height + +For autoheight.js script to work, iframes.php file must be stored on the same domain as the HTML that calls the iframe. + +## QR codes + +img/qrcodes must be set with write permissions : + +``` +chmod +w o img/qrcodes +``` + +## Generation of images + +If you are using this script on your own server, you might want to install PHP-GD library : + +``` +sudo apt install php-gd +``` + +Restarting your server will be necessary. For Apache : +``` +/etc/init.d/apache2 restart +``` diff --git a/lib/crowdfunding/conf.php b/lib/crowdfunding/conf.php new file mode 100755 index 0000000..a91730a --- /dev/null +++ b/lib/crowdfunding/conf.php @@ -0,0 +1,13 @@ + + + + Cloud iframe + + + + + +

Merci à nos donateurs

+ +

+ Nous tenons à remercier tous nos généreux donateurs pour leurs dons du mois dernier (janvier 2020) : +

+ + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/examples/index.html b/lib/crowdfunding/examples/index.html new file mode 100755 index 0000000..04f91c2 --- /dev/null +++ b/lib/crowdfunding/examples/index.html @@ -0,0 +1,29 @@ + + + + iframes + + + +

Exemples

+ +
+ +
kickstarter.html
+
Iframe utilisée pour afficher une barre de progression dans le style de Kickstarter.
+ +
paidge.html
+
La barre de financement originale.
+ +
table.html
+
Iframe utilisée pour afficher la liste des derniers dons, avec leur montant et le commentaire associé.
+ +
cloud.html
+
Iframe utilisée pour afficher un nuage de tags des clefs qui ont effectué un don.
+
La taille de chaque mot est proportionnelle au montant du don.
+ +
inline-iframe.html
+
Iframe utilisée avec la propriété CSS display: inline; pour afficher des informations dans le flux du contenu.
+
+ + \ No newline at end of file diff --git a/lib/crowdfunding/examples/inline-iframe.html b/lib/crowdfunding/examples/inline-iframe.html new file mode 100755 index 0000000..265ce58 --- /dev/null +++ b/lib/crowdfunding/examples/inline-iframe.html @@ -0,0 +1,40 @@ + + + + Table iframe + + + + + +

Envie de financer Duniter ?

+ +

+ Pour faire partie des + mécènes de Duniter qui ont déjà donné + c'est simple : +

+ +
    +
  1. Copiez la clef suivante :
    + 78ZwwgpgdH5uLZLbThUQH7LKwPgjMunYfLiCfUCySkM8 +
  2. + +
  3. Collez-la dans votre client Duniter préféré (Cesium, Silkaj, etc.) afin de faire votre don 😉
  4. +
+ +

+ Merci pour votre soutient ! +

+ + \ No newline at end of file diff --git a/lib/crowdfunding/examples/js/autoHeight.js b/lib/crowdfunding/examples/js/autoHeight.js new file mode 100755 index 0000000..d11cbc3 --- /dev/null +++ b/lib/crowdfunding/examples/js/autoHeight.js @@ -0,0 +1,34 @@ +function doIframe(){ + o = document.getElementsByTagName('iframe'); + for(i=0;i + + + Kickstarter + + + + + +
+

Encourageons les développeurs !

+ +
+

+ Si vous aussi vous pensez qu'encourager les personnes qui donnent de leur temps à la monnaie libre est absolument indispensable + au succès de celle-ci, nous vous proposons de soutenir les différentes initiatives qui s'y rapportent, et notamment les développeurs de Duniter. +

+

+ Merci pour eux, +

+

+ Axiom-Team +

+
+ + +
+ + + + \ No newline at end of file diff --git a/lib/crowdfunding/examples/paidge.html b/lib/crowdfunding/examples/paidge.html new file mode 100755 index 0000000..522d199 --- /dev/null +++ b/lib/crowdfunding/examples/paidge.html @@ -0,0 +1,29 @@ + + + + Kickstarter + + + + + + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/examples/table.html b/lib/crowdfunding/examples/table.html new file mode 100755 index 0000000..79ce319 --- /dev/null +++ b/lib/crowdfunding/examples/table.html @@ -0,0 +1,27 @@ + + + + Inline iframe + + + + + +

Merci à nos donateurs

+ +

+ Nous tenons à remercier tous nos généreux donateurs pour leurs dons du mois dernier (janvier 2020) : +

+ + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/functions.php b/lib/crowdfunding/functions.php new file mode 100755 index 0000000..e48e489 --- /dev/null +++ b/lib/crowdfunding/functions.php @@ -0,0 +1,19 @@ + + + + + + + + + + Génération de votre barre de financement + + +Fork me on Duniter's Gitlab +
+
+

Générez votre barre de financement

+

En monnaie libre Ğ1

+

Commencer

+
+
+
+
+
+
+ Paramètres du crowdfunding +

+ + +

+

+ + +

+

+ + +

+ +

+ + +

+

+ + +

+

+ + +

+
+ + + +
+ + Options d'affichage + + +

+ + +

+ +

+ + +

+ +

+ + +

+ +

+ + +

+ +

+ + +

+

+ + +

+ +

+ + +

+ +

+ + +

+ + + +

+ + +

+

+ + +

+

+ + +

+

+ + +

+ +

+ + +

+
+ + + +
+ +
+
+
+
+
+
+

+ Prévisualisation : +

+ +
+ +
+ +

Comment l'intégrer

+ + +

Option n°1 : Code HTML

+ +

Pour intégrer la barre sur un site web ou blog (type Wordpress).

+ + + +
+
+ + + Copié ! +
+
+ + + + +

Option n°2 : Code Markdown

+ +

Pour l'intégrer :

+ +
    +
  • sur un forum Discourse (forum.monnaie-libre.org, forum.duniter.org),
  • +
  • un pad CodiMD (FramaPad, P2Pad, etc.)
  • +
  • un générateur de site statique (type Pelican).
  • +
+ +

+ Note pour Discourse : votre image risque de ne pas être mise à jour car, par défaut, + les forums Discourse téléchargent une copie de toutes les images que vous insérez, + plutôt que de les afficher de façon dynamique. +

+ + + +
+
+ + + Copié ! +
+
+ + + +

Option n°3 : Wikitext

+ +

Pour l'intégrer sur un wiki type DokuWiki (FramaWiki)

+ + + +
+
+ + + Copié ! +
+
+ + + +

Option n°4 : BBCode

+ +

Pour l'intégrer sur un forum type phpBB

+ + + +
+
+ + + Copié ! +
+
+ +
+ +
+
+ + +
+ +
+ + + + + + + + + + + diff --git a/lib/crowdfunding/generator.css b/lib/crowdfunding/generator.css new file mode 100755 index 0000000..7e2dfa8 --- /dev/null +++ b/lib/crowdfunding/generator.css @@ -0,0 +1,127 @@ +body, html{height: 100%;} +.github-fork-ribbon{position:fixed;} +header{ + min-height:100%; + background: linear-gradient( + rgba(0, 0, 0, 0.45), + rgba(0, 0, 0, 0.45) + ),url('img/background.png'); + background-attachment: fixed; + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} +header h1.w3-jumbo{margin:0;} +fieldset{margin-bottom:16px;} +fieldset fieldset{margin-left:32px;} +label{ + font-weight:bold; + width:275px; + display:inline-block; +} +p.field:focus-within{color:#008ae6;} +fieldset input:not([type='checkbox']):not([type='color']), select{width:300px;} +input:not([type='color']):valid {border-color:#28a745 !important;} +input:focus,input:active,select:focus,select:active{ + border-color:#008ae6 !important; + border-width:2px !important; +} +input:invalid {border-color:#fd3536 !important;} +input:optional{border-color:#ccc !important;} +select{ + display:block; + width:300px !important; +} +::placeholder {color: #59bdff;} +textarea{width:100%;} +#buttons{overflow:visible;} +.tooltip { + position: relative; + display: inline-block; + border-bottom: 1px dotted black; +} +.tooltip .tooltiptext { + width: 120px; + background-color: #555; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px 0; + position: absolute; + z-index: 1; + bottom: 60px; + left: 50%; + margin-left: -60px; + opacity: 0; + transition: opacity 0.3s; +} +.tooltip .tooltiptext::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: #555 transparent transparent transparent; +} +.tooltip_display .tooltiptext { + opacity: 1; +} +iframe{border:none;} +#back-to-top { + color:white; + width: 50px; + height: 50px; + bottom: 40px; + right: 40px; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + z-index: 1000; + display: none; + opacity: 0.5; + transition: all 0.4s; + position: fixed; + background-color: #343a40; +} +#back-to-top:hover { + opacity: 1; + cursor: pointer; + border:1px solid white; +} +@media screen and (max-width: 800px) { + header h1.w3-jumbo{font-size:25px !important;} + header h2{font-size:15px;} +} + +@media screen and (max-width: 1200px) { + header h1.w3-jumbo{font-size:32px !important;} + header h2{font-size:17px;} +} +/* Color theme */ +.w3-theme-l5 {color:#000 !important; background-color:#f7fcff !important} +.w3-theme-l4 {color:#000 !important; background-color:#e5f5ff !important} +.w3-theme-l3 {color:#000 !important; background-color:#ccebff !important} +.w3-theme-l2 {color:#000 !important; background-color:#b3e0ff !important} +.w3-theme-l1 {color:#000 !important; background-color:#99d6ff !important} +.w3-theme-d1 {color:#000 !important; background-color:#59bdff !important} +.w3-theme-d2 {color:#fff !important; background-color:#33adff !important} +.w3-theme-d3 {color:#fff !important; background-color:#0d9eff !important} +.w3-theme-d4 {color:#fff !important; background-color:#008ae6 !important} +.w3-theme-d5 {color:#fff !important; background-color:#0073bf !important} + +.w3-theme-light {color:#000 !important; background-color:#f7fcff !important} +.w3-theme-dark {color:#fff !important; background-color:#0073bf !important} +.w3-theme-action {color:#fff !important; background-color:#0073bf !important} + +.w3-theme {color:#000 !important; background-color:#80ccff !important} +.w3-text-theme {color:#80ccff !important} +.w3-border-theme {border-color:#80ccff !important} + +.w3-hover-theme:hover {color:#fff !important; background-color:#0073bf !important} +a:hover {color:#002135 !important} +.w3-hover-border-theme:hover {border-color:#80ccff !important} \ No newline at end of file diff --git a/lib/crowdfunding/iframe.php b/lib/crowdfunding/iframe.php new file mode 100755 index 0000000..7a68f71 --- /dev/null +++ b/lib/crowdfunding/iframe.php @@ -0,0 +1,126 @@ +setTarget($_GET['target']); +} + +if (isset($_GET['months_to_consider'])) { // for Tipeee-like themes + + $myCrowdfunding->setMonthsToConsider($_GET['months_to_consider']); +} + +if (isset($_GET['display_button'])) { + + $myCrowdfunding->setMustDisplayButton($_GET['display_button']); +} + +if (isset($_GET['title'])) { + + $myCrowdfunding->setTitle($_GET['title']); +} + +if (isset($_GET['hide_title'])) { + + $myCrowdfunding->setMustHideTitle($_GET['hide_title']); + +} + +if (isset($_GET['display_pubkey'])) { + + $myCrowdfunding->setMustDisplayPubkey($_GET['display_pubkey']); +} + +if (isset($_GET['display_qrcode'])) { + + $myCrowdfunding->setMustDisplayQRCode(true); +} + +/* +if (isset($_GET['node'])) { + + $myCrowdfunding->addNodes(explode(' ', $_GET['node'])); +} +*/ + +if (isset($_GET['display_graph'])) { + + $myCrowdfunding->setMustDisplayGraph($_GET['display_graph']); + + if ($myCrowdfunding->getMustDisplayGraph()) { + + require_once('Chart.class.php'); + + $chart = new Chart($myCrowdfunding); + } +} + + + + + +if (!isset($_GET['theme']) or !file_exists($tplPath = THEMES_PATH . '/' . $_GET['theme'] . '.html.php')) { + + $theme = DEFAULT_THEME; + +} else { + + $theme = $_GET['theme']; +} + +$tplPath = THEMES_PATH . '/' . $theme . '.html.php'; +$confPath = THEMES_PATH . '/' . $theme . '.conf.php'; + +if (file_exists($confPath)) { + + require_once($confPath); +} +?> + + + + + <?php echo $myCrowdfunding->getTitle(); ?> + + + + '. getComputedStyles() .' + '; + } + ?> + + + + + + + + + + + diff --git a/lib/crowdfunding/iframes.php b/lib/crowdfunding/iframes.php new file mode 100755 index 0000000..adf65eb --- /dev/null +++ b/lib/crowdfunding/iframes.php @@ -0,0 +1,210 @@ + + + + + test + + + + ' . $myCrowdfunding->getDonorsNb() . '

'; + + break; + + case 'amountCollected': + + echo ' +

+ ' . $myCrowdfunding->getAmountCollected() . ' ' . $myCrowdfunding->printUnit() . ' +

'; + + break; + + + case 'donorsList': + + $donationsList = $myCrowdfunding->getDonationsList(); + + $min = $myCrowdfunding->getMinDonation(); + $max = $myCrowdfunding->getMaxDonation(); + + if (empty($donationsList)) { + + echo _('Pas encore de donateurs'); + + } else { + + echo '
    '; + + foreach ($donationsList as $t) { + + echo ' + +
  • + + + '. substr($t['donor'], 0, 8) .' + + + : + + + ' . ceil($t['amount']/$myCrowdfunding->getLatestUDAmount()) . ' '. $myCrowdfunding->printUnit(); + echo ' + +
  • '; + } + + echo '
'; + } + + break; + + + case 'donationsTable': + + $donationsList = $myCrowdfunding->getDonationsList(); + + if (empty($donationsList)) { + + echo _('Pas encore de dons'); + + } else { + + echo ' + + + + + + '; + + foreach ($donationsList as $t) { + + echo ' + + + + + + '; + } + } + + echo '
ClefCommentaireMontant
'. substr($t['donor'], 0, 8) . ''; + if (!empty($t['comment'])) { + + echo ''. $t['comment'] .''; + } + echo ' + + ' . ceil($t['amount']) . ' '. $myCrowdfunding->printUnit() . ' +
'; + + break; + case 'daysLeft': + break; + } + ?> + + \ No newline at end of file diff --git a/lib/crowdfunding/image.php b/lib/crowdfunding/image.php new file mode 100755 index 0000000..6d571be --- /dev/null +++ b/lib/crowdfunding/image.php @@ -0,0 +1,82 @@ +setTarget($_GET['target']); +} + +if (isset($_GET['title'])) { + + $myCrowdfunding->setTitle($_GET['title']); +} + +if (isset($_GET['hide_title'])) { + + $myCrowdfunding->setMustHideTitle($_GET['hide_title']); + +} + +if (isset($_GET['display_pubkey'])) { + + $myCrowdfunding->setMustDisplayPubkey($_GET['display_pubkey']); +} + +if (isset($_GET['display_qrcode'])) { + + $myCrowdfunding->setMustDisplayQRCode($_GET['display_qrcode']); +} + +/* +if (isset($_GET['node'])) { + + $myCrowdfunding->addNodes(explode(' ', $_GET['node'])); +} +*/ + +if (isset($_GET['logo'])) { + + $myCrowdfunding->setLogo($_GET['logo']); +} + + + +$theme = isset($_GET['theme']) ? $_GET['theme'] : DEFAULT_THEME; + +if (!file_exists($tplPath = THEMES_PATH . '/' . $theme . '.image.php')) { + + $tplPath = THEMES_PATH . '/' . DEFAULT_THEME . '.image.php'; + +} + +if (file_exists($confPath = THEMES_PATH . '/' . $theme . '.conf.php')) { + + require_once($confPath); +} + +ob_clean(); // Without this line, encoding problems (UTF-8 php files instead of ANSI) can cause image to not generate) +header ("Content-type: image/png"); // Comment this line if you need to debug + +include($tplPath); diff --git a/lib/crowdfunding/img/background.png b/lib/crowdfunding/img/background.png new file mode 100755 index 0000000000000000000000000000000000000000..359fa26c9c818973aafc0c4637948024b5d0b91f GIT binary patch literal 7195 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 bXQ|a3E_1CztwI0LLl~Sl)_bet^x%I0rUcpv literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/img/capture.jpg b/lib/crowdfunding/img/capture.jpg new file mode 100755 index 0000000000000000000000000000000000000000..9870402d36f54461a38c9a48e5348d7d50cf2baf GIT binary patch literal 60583 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 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/img/logos/png/cesium.png b/lib/crowdfunding/img/logos/png/cesium.png new file mode 100755 index 0000000000000000000000000000000000000000..25b493d404e062f5e093105c101c0f512e203b2f GIT binary patch literal 6827 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 z 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 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/img/logos/png/dunitrust.png b/lib/crowdfunding/img/logos/png/dunitrust.png new file mode 100755 index 0000000000000000000000000000000000000000..230506b4c46b38d551208d6197e63e574f53fc91 GIT binary patch literal 28029 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 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/img/logos/png/junes.png b/lib/crowdfunding/img/logos/png/junes.png new file mode 100755 index 0000000000000000000000000000000000000000..c101be244f65572e0080b40bb17568039f2fb2c2 GIT binary patch literal 8171 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 Z#X{_~zan!}@xLleO-Wm^T;4MH{{YL4AGrVk literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/img/logos/svg/cesium.svg b/lib/crowdfunding/img/logos/svg/cesium.svg new file mode 100755 index 0000000..8d8f542 --- /dev/null +++ b/lib/crowdfunding/img/logos/svg/cesium.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/img/logos/svg/duniter.svg b/lib/crowdfunding/img/logos/svg/duniter.svg new file mode 100755 index 0000000..96e9974 --- /dev/null +++ b/lib/crowdfunding/img/logos/svg/duniter.svg @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/crowdfunding/img/logos/svg/dunitrust.svg b/lib/crowdfunding/img/logos/svg/dunitrust.svg new file mode 100755 index 0000000..48cd941 --- /dev/null +++ b/lib/crowdfunding/img/logos/svg/dunitrust.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/crowdfunding/img/logos/svg/junes.svg b/lib/crowdfunding/img/logos/svg/junes.svg new file mode 100755 index 0000000..d607b73 --- /dev/null +++ b/lib/crowdfunding/img/logos/svg/junes.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/crowdfunding/img/logos/svg/sakia.svg b/lib/crowdfunding/img/logos/svg/sakia.svg new file mode 100755 index 0000000..b1d0c1f --- /dev/null +++ b/lib/crowdfunding/img/logos/svg/sakia.svg @@ -0,0 +1,237 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/crowdfunding/img/logos/svg/silkaj.svg b/lib/crowdfunding/img/logos/svg/silkaj.svg new file mode 100755 index 0000000..8548846 --- /dev/null +++ b/lib/crowdfunding/img/logos/svg/silkaj.svg @@ -0,0 +1,67 @@ + + + + + +Created by potrace 1.15, written by Peter Selinger 2001-2017 + + + image/svg+xml + + + + + + + + + diff --git a/lib/crowdfunding/index.html b/lib/crowdfunding/index.html new file mode 100755 index 0000000..145afa2 --- /dev/null +++ b/lib/crowdfunding/index.html @@ -0,0 +1,187 @@ + + + + + G1Crowdfunding - Outils pour réussir votre financement participatif en monnaie libre + + + + + +
    +

    G1Crowdfunding

    +
    + +

    + Des outils pour réussir + votre financement participatif + en monnaie libre G1 +

    + +

    + G1Crowdfunding est un ensemble de widgets (images et iframes) à intégrer sur votre site web +

    + +

    + Cela vous permet de mieux mettre en avant votre financement participatif en monnaie libre, + et ainsi lever plus de G1. +

    + +
    + +
    +

    + Fonctionnalités +

    + + +
    +

    + Barre de progression (originale) +

    + + +

    + iframe : +

    + +

    + Très personnalisable : avec ou sans graphique, possibilité de chosir les couleurs, etc. +

    + + + + +

    + image PNG : +

    + + les développeurs de Duniter + + +

    + image SVG : +

    + + +
    + +
    +

    + Barre de progression (style Kickstarter) +

    + + +
    + + +
    +

    + Stats d'un soutien régulier (style Tipeee) +

    + +

    + Calcule la moyenne des dons mensuels sur les 3 derniers mois. +

    + + +
    + +
    +

    + Nuage des noms des mécènes +

    + +

    + Affiche un nuage des noms des mécènes. +

    + + +
    + +
    +

    + Citations des mécènes +

    + +

    + Affiche les commentaires associés aux plus gros dons de la période choisie. +

    + + +
    + +

    Faites la vôtre !

    + +

    + Vous aussi vous pouvez générer votre image ou iframe pour l'insérer sur un forum, un blog, un site web, etc. +

    + +

    + Accéder au générateur +

    +
    + + + + diff --git a/lib/crowdfunding/lib/css/font_awesome.min.css b/lib/crowdfunding/lib/css/font_awesome.min.css new file mode 100755 index 0000000..e28e4ba --- /dev/null +++ b/lib/crowdfunding/lib/css/font_awesome.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fontawesome/400/fa-brands-400.eot);src:url(../webfonts/fontawesome/400/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fontawesome/400/fa-brands-400.woff2) format("woff2"),url(../webfonts/fontawesome/400/fa-brands-400.woff) format("woff"),url(../webfonts/fontawesome/400/fa-brands-400.ttf) format("truetype"),url(../webfonts/fontawesome/400/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fontawesome/400/fa-regular-400.eot);src:url(../webfonts/fontawesome/400/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fontawesome/400/fa-regular-400.woff2) format("woff2"),url(../webfonts/fontawesome/400/fa-regular-400.woff) format("woff"),url(../webfonts/fontawesome/400/fa-regular-400.ttf) format("truetype"),url(../webfonts/fontawesome/400/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fontawesome/900/fa-solid-900.eot);src:url(../webfonts/fontawesome/900/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fontawesome/900/fa-solid-900.woff2) format("woff2"),url(../webfonts/fontawesome/900/fa-solid-900.woff) format("woff"),url(../webfonts/fontawesome/900/fa-solid-900.ttf) format("truetype"),url(../webfonts/fontawesome/900/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/lib/crowdfunding/lib/css/gh-fork-ribbon.min.css b/lib/crowdfunding/lib/css/gh-fork-ribbon.min.css new file mode 100755 index 0000000..72cd051 --- /dev/null +++ b/lib/crowdfunding/lib/css/gh-fork-ribbon.min.css @@ -0,0 +1,4 @@ +/*! + * "Fork me on GitHub" CSS ribbon v0.2.3 | MIT License + * https://github.com/simonwhitaker/github-fork-ribbon-css +*/.github-fork-ribbon{width:12.1em;height:12.1em;position:absolute;overflow:hidden;top:0;right:0;z-index:9999;pointer-events:none;font-size:13px;text-decoration:none;text-indent:-999999px}.github-fork-ribbon.fixed{position:fixed}.github-fork-ribbon:active,.github-fork-ribbon:hover{background-color:rgba(0,0,0,0)}.github-fork-ribbon:after,.github-fork-ribbon:before{position:absolute;display:block;width:15.38em;height:1.54em;top:3.23em;right:-3.23em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.github-fork-ribbon:before{content:"";padding:.38em 0;background-color:#a00;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.15)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:-moz-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:-ms-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:-o-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.15));-webkit-box-shadow:0 .15em .23em 0 rgba(0,0,0,.5);-moz-box-shadow:0 .15em .23em 0 rgba(0,0,0,.5);box-shadow:0 .15em .23em 0 rgba(0,0,0,.5);pointer-events:auto}.github-fork-ribbon:after{content:attr(data-ribbon);color:#fff;font:700 1em "Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.54em;text-decoration:none;text-shadow:0 -.08em rgba(0,0,0,.5);text-align:center;text-indent:0;padding:.15em 0;margin:.15em 0;border-width:.08em 0;border-style:dotted;border-color:#fff;border-color:rgba(255,255,255,.7)}.github-fork-ribbon.left-bottom,.github-fork-ribbon.left-top{right:auto;left:0}.github-fork-ribbon.left-bottom,.github-fork-ribbon.right-bottom{top:auto;bottom:0}.github-fork-ribbon.left-bottom:after,.github-fork-ribbon.left-bottom:before,.github-fork-ribbon.left-top:after,.github-fork-ribbon.left-top:before{right:auto;left:-3.23em}.github-fork-ribbon.left-bottom:after,.github-fork-ribbon.left-bottom:before,.github-fork-ribbon.right-bottom:after,.github-fork-ribbon.right-bottom:before{top:auto;bottom:3.23em}.github-fork-ribbon.left-top:after,.github-fork-ribbon.left-top:before,.github-fork-ribbon.right-bottom:after,.github-fork-ribbon.right-bottom:before{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)} \ No newline at end of file diff --git a/lib/crowdfunding/lib/css/w3.css b/lib/crowdfunding/lib/css/w3.css new file mode 100755 index 0000000..26837ef --- /dev/null +++ b/lib/crowdfunding/lib/css/w3.css @@ -0,0 +1,232 @@ +/* W3.CSS 4.13 June 2019 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent}a:active,a:hover{outline-width:0} +abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000} +small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} +button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0} +button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} +.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block} +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px} +.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:1205px){.w3-auto{max-width:95%}} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* Colors */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} +.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} +.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} \ No newline at end of file diff --git a/lib/crowdfunding/lib/js/chart.min.js b/lib/crowdfunding/lib/js/chart.min.js new file mode 100755 index 0000000..c74a791 --- /dev/null +++ b/lib/crowdfunding/lib/js/chart.min.js @@ -0,0 +1,7 @@ +/*! + * Chart.js v2.8.0 + * https://www.chartjs.org + * (c) 2019 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(function(){try{return require("moment")}catch(t){}}()):"function"==typeof define&&define.amd?define(["require"],function(t){return e(function(){try{return t("moment")}catch(t){}}())}):t.Chart=e(t.moment)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={rgb2hsl:i,rgb2hsv:n,rgb2hwb:a,rgb2cmyk:o,rgb2keyword:s,rgb2xyz:l,rgb2lab:d,rgb2lch:function(t){return x(d(t))},hsl2rgb:u,hsl2hsv:function(t){var e=t[0],i=t[1]/100,n=t[2]/100;if(0===n)return[0,0,0];return[e,100*(2*(i*=(n*=2)<=1?n:2-n)/(n+i)),100*((n+i)/2)]},hsl2hwb:function(t){return a(u(t))},hsl2cmyk:function(t){return o(u(t))},hsl2keyword:function(t){return s(u(t))},hsv2rgb:h,hsv2hsl:function(t){var e,i,n=t[0],a=t[1]/100,o=t[2]/100;return e=a*o,[n,100*(e=(e/=(i=(2-a)*o)<=1?i:2-i)||0),100*(i/=2)]},hsv2hwb:function(t){return a(h(t))},hsv2cmyk:function(t){return o(h(t))},hsv2keyword:function(t){return s(h(t))},hwb2rgb:c,hwb2hsl:function(t){return i(c(t))},hwb2hsv:function(t){return n(c(t))},hwb2cmyk:function(t){return o(c(t))},hwb2keyword:function(t){return s(c(t))},cmyk2rgb:f,cmyk2hsl:function(t){return i(f(t))},cmyk2hsv:function(t){return n(f(t))},cmyk2hwb:function(t){return a(f(t))},cmyk2keyword:function(t){return s(f(t))},keyword2rgb:w,keyword2hsl:function(t){return i(w(t))},keyword2hsv:function(t){return n(w(t))},keyword2hwb:function(t){return a(w(t))},keyword2cmyk:function(t){return o(w(t))},keyword2lab:function(t){return d(w(t))},keyword2xyz:function(t){return l(w(t))},xyz2rgb:p,xyz2lab:m,xyz2lch:function(t){return x(m(t))},lab2xyz:v,lab2rgb:y,lab2lch:x,lch2lab:k,lch2xyz:function(t){return v(k(t))},lch2rgb:function(t){return y(k(t))}};function i(t){var e,i,n=t[0]/255,a=t[1]/255,o=t[2]/255,r=Math.min(n,a,o),s=Math.max(n,a,o),l=s-r;return s==r?e=0:n==s?e=(a-o)/l:a==s?e=2+(o-n)/l:o==s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),i=(r+s)/2,[e,100*(s==r?0:i<=.5?l/(s+r):l/(2-s-r)),100*i]}function n(t){var e,i,n=t[0],a=t[1],o=t[2],r=Math.min(n,a,o),s=Math.max(n,a,o),l=s-r;return i=0==s?0:l/s*1e3/10,s==r?e=0:n==s?e=(a-o)/l:a==s?e=2+(o-n)/l:o==s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),[e,i,s/255*1e3/10]}function a(t){var e=t[0],n=t[1],a=t[2];return[i(t)[0],100*(1/255*Math.min(e,Math.min(n,a))),100*(a=1-1/255*Math.max(e,Math.max(n,a)))]}function o(t){var e,i=t[0]/255,n=t[1]/255,a=t[2]/255;return[100*((1-i-(e=Math.min(1-i,1-n,1-a)))/(1-e)||0),100*((1-n-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]}function s(t){return _[JSON.stringify(t)]}function l(t){var e=t[0]/255,i=t[1]/255,n=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)+.1805*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)),100*(.2126*e+.7152*i+.0722*n),100*(.0193*e+.1192*i+.9505*n)]}function d(t){var e=l(t),i=e[0],n=e[1],a=e[2];return n/=100,a/=108.883,i=(i/=95.047)>.008856?Math.pow(i,1/3):7.787*i+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(i-n),200*(n-(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116))]}function u(t){var e,i,n,a,o,r=t[0]/360,s=t[1]/100,l=t[2]/100;if(0==s)return[o=255*l,o,o];e=2*l-(i=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var d=0;d<3;d++)(n=r+1/3*-(d-1))<0&&n++,n>1&&n--,o=6*n<1?e+6*(i-e)*n:2*n<1?i:3*n<2?e+(i-e)*(2/3-n)*6:e,a[d]=255*o;return a}function h(t){var e=t[0]/60,i=t[1]/100,n=t[2]/100,a=Math.floor(e)%6,o=e-Math.floor(e),r=255*n*(1-i),s=255*n*(1-i*o),l=255*n*(1-i*(1-o));n*=255;switch(a){case 0:return[n,l,r];case 1:return[s,n,r];case 2:return[r,n,l];case 3:return[r,s,n];case 4:return[l,r,n];case 5:return[n,r,s]}}function c(t){var e,i,n,a,o=t[0]/360,s=t[1]/100,l=t[2]/100,d=s+l;switch(d>1&&(s/=d,l/=d),n=6*o-(e=Math.floor(6*o)),0!=(1&e)&&(n=1-n),a=s+n*((i=1-l)-s),e){default:case 6:case 0:r=i,g=a,b=s;break;case 1:r=a,g=i,b=s;break;case 2:r=s,g=i,b=a;break;case 3:r=s,g=a,b=i;break;case 4:r=a,g=s,b=i;break;case 5:r=i,g=s,b=a}return[255*r,255*g,255*b]}function f(t){var e=t[0]/100,i=t[1]/100,n=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a))]}function p(t){var e,i,n,a=t[0]/100,o=t[1]/100,r=t[2]/100;return i=-.9689*a+1.8758*o+.0415*r,n=.0557*a+-.204*o+1.057*r,e=(e=3.2406*a+-1.5372*o+-.4986*r)>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,[255*(e=Math.min(Math.max(0,e),1)),255*(i=Math.min(Math.max(0,i),1)),255*(n=Math.min(Math.max(0,n),1))]}function m(t){var e=t[0],i=t[1],n=t[2];return i/=100,n/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(e-i),200*(i-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]}function v(t){var e,i,n,a,o=t[0],r=t[1],s=t[2];return o<=8?a=(i=100*o/903.3)/100*7.787+16/116:(i=100*Math.pow((o+16)/116,3),a=Math.pow(i/100,1/3)),[e=e/95.047<=.008856?e=95.047*(r/500+a-16/116)/7.787:95.047*Math.pow(r/500+a,3),i,n=n/108.883<=.008859?n=108.883*(a-s/200-16/116)/7.787:108.883*Math.pow(a-s/200,3)]}function x(t){var e,i=t[0],n=t[1],a=t[2];return(e=360*Math.atan2(a,n)/2/Math.PI)<0&&(e+=360),[i,Math.sqrt(n*n+a*a),e]}function y(t){return p(v(t))}function k(t){var e,i=t[0],n=t[1];return e=t[2]/360*2*Math.PI,[i,n*Math.cos(e),n*Math.sin(e)]}function w(t){return M[t]}var M={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},_={};for(var C in M)_[JSON.stringify(M[C])]=C;var S=function(){return new T};for(var P in e){S[P+"Raw"]=function(t){return function(i){return"number"==typeof i&&(i=Array.prototype.slice.call(arguments)),e[t](i)}}(P);var I=/(\w+)2(\w+)/.exec(P),A=I[1],D=I[2];(S[A]=S[A]||{})[D]=S[P]=function(t){return function(i){"number"==typeof i&&(i=Array.prototype.slice.call(arguments));var n=e[t](i);if("string"==typeof n||void 0===n)return n;for(var a=0;a=0&&e<1?H(Math.round(255*e)):"")},rgbString:function(t,e){if(e<1||t[3]&&t[3]<1)return N(t,e);return"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:N,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return W(t,e);var i=Math.round(t[0]/255*100),n=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+i+"%, "+n+"%, "+a+"%)"},percentaString:W,hslString:function(t,e){if(e<1||t[3]&&t[3]<1)return V(t,e);return"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:V,hwbString:function(t,e){void 0===e&&(e=void 0!==t[3]?t[3]:1);return"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return j[t.slice(0,3)]}};function O(t){if(t){var e=[0,0,0],i=1,n=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(n){a=(n=n[1])[3];for(var o=0;oi?(e+.05)/(i+.05):(i+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,i=(e[0]+t)%360;return e[0]=i<0?360+i:i,this.setValues("hsl",e),this},mix:function(t,e){var i=t,n=void 0===e?.5:e,a=2*n-1,o=this.alpha()-i.alpha(),r=((a*o==-1?a:(a+o)/(1+a*o))+1)/2,s=1-r;return this.rgb(r*this.red()+s*i.red(),r*this.green()+s*i.green(),r*this.blue()+s*i.blue()).alpha(this.alpha()*n+i.alpha()*(1-n))},toJSON:function(){return this.rgb()},clone:function(){var t,e,i=new Y,n=this.values,a=i.values;for(var o in n)n.hasOwnProperty(o)&&(t=n[o],"[object Array]"===(e={}.toString.call(t))?a[o]=t.slice(0):"[object Number]"===e?a[o]=t:console.error("unexpected color value:",t));return i}},Y.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},Y.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Y.prototype.getValues=function(t){for(var e=this.values,i={},n=0;n=0;a--)e.call(i,t[a],a);else for(a=0;a=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:1===t?1:(i||(i=.3),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i))},easeOutElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:1===t?1:(i||(i=.3),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/i)+1)},easeInOutElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:2==(t/=.5)?1:(i||(i=.45),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),t<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-Z.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*Z.easeInBounce(2*t):.5*Z.easeOutBounce(2*t-1)+.5}},$={effects:Z};G.easingEffects=Z;var J=Math.PI,Q=J/180,tt=2*J,et=J/2,it=J/4,nt=2*J/3,at={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,i,n,a,o){if(o){var r=Math.min(o,a/2,n/2),s=e+r,l=i+r,d=e+n-r,u=i+a-r;t.moveTo(e,l),se.left-1e-6&&t.xe.top-1e-6&&t.y0&&this.requestAnimationFrame()},advance:function(){for(var t,e,i,n,a=this.animations,o=0;o=i?(ut.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(o,1)):++o}},xt=ut.options.resolve,yt=["push","pop","shift","splice","unshift"];function kt(t,e){var i=t._chartjs;if(i){var n=i.listeners,a=n.indexOf(e);-1!==a&&n.splice(a,1),n.length>0||(yt.forEach(function(e){delete t[e]}),delete t._chartjs)}}var wt=function(t,e){this.initialize(t,e)};ut.extend(wt.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){this.chart=t,this.index=e,this.linkScales(),this.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),i=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=i.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=i.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this.update(!0)},destroy:function(){this._data&&kt(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,i=this.getMeta(),n=this.getDataset().data||[],a=i.data;for(t=0,e=n.length;ti&&this.insertElements(i,n-i)},insertElements:function(t,e){for(var i=0;is;)a-=2*Math.PI;for(;a=r&&a<=s,d=o>=i.innerRadius&&o<=i.outerRadius;return l&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,i=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,i=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},draw:function(){var t,e=this._chart.ctx,i=this._view,n=i.startAngle,a=i.endAngle,o="inner"===i.borderAlign?.33:0;e.save(),e.beginPath(),e.arc(i.x,i.y,Math.max(i.outerRadius-o,0),n,a),e.arc(i.x,i.y,i.innerRadius,a,n,!0),e.closePath(),e.fillStyle=i.backgroundColor,e.fill(),i.borderWidth&&("inner"===i.borderAlign?(e.beginPath(),t=o/i.outerRadius,e.arc(i.x,i.y,i.outerRadius,n-t,a+t),i.innerRadius>o?(t=o/i.innerRadius,e.arc(i.x,i.y,i.innerRadius-o,a+t,n-t,!0)):e.arc(i.x,i.y,o,a+Math.PI/2,n-Math.PI/2),e.closePath(),e.clip(),e.beginPath(),e.arc(i.x,i.y,i.outerRadius,n,a),e.arc(i.x,i.y,i.innerRadius,a,n,!0),e.closePath(),e.lineWidth=2*i.borderWidth,e.lineJoin="round"):(e.lineWidth=i.borderWidth,e.lineJoin="bevel"),e.strokeStyle=i.borderColor,e.stroke()),e.restore()}}),Ct=ut.valueOrDefault,St=st.global.defaultColor;st._set("global",{elements:{line:{tension:.4,backgroundColor:St,borderWidth:3,borderColor:St,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var Pt=pt.extend({draw:function(){var t,e,i,n,a=this._view,o=this._chart.ctx,r=a.spanGaps,s=this._children.slice(),l=st.global,d=l.elements.line,u=-1;for(this._loop&&s.length&&s.push(s[0]),o.save(),o.lineCap=a.borderCapStyle||d.borderCapStyle,o.setLineDash&&o.setLineDash(a.borderDash||d.borderDash),o.lineDashOffset=Ct(a.borderDashOffset,d.borderDashOffset),o.lineJoin=a.borderJoinStyle||d.borderJoinStyle,o.lineWidth=Ct(a.borderWidth,d.borderWidth),o.strokeStyle=a.borderColor||l.defaultColor,o.beginPath(),u=-1,t=0;tt.x&&(e=Ot(e,"left","right")):t.basei?i:n,r:l.right||a<0?0:a>e?e:a,b:l.bottom||o<0?0:o>i?i:o,l:l.left||r<0?0:r>e?e:r}}function Bt(t,e,i){var n=null===e,a=null===i,o=!(!t||n&&a)&&Rt(t);return o&&(n||e>=o.left&&e<=o.right)&&(a||i>=o.top&&i<=o.bottom)}st._set("global",{elements:{rectangle:{backgroundColor:Ft,borderColor:Ft,borderSkipped:"bottom",borderWidth:0}}});var Nt=pt.extend({draw:function(){var t=this._chart.ctx,e=this._view,i=function(t){var e=Rt(t),i=e.right-e.left,n=e.bottom-e.top,a=zt(t,i/2,n/2);return{outer:{x:e.left,y:e.top,w:i,h:n},inner:{x:e.left+a.l,y:e.top+a.t,w:i-a.l-a.r,h:n-a.t-a.b}}}(e),n=i.outer,a=i.inner;t.fillStyle=e.backgroundColor,t.fillRect(n.x,n.y,n.w,n.h),n.w===a.w&&n.h===a.h||(t.save(),t.beginPath(),t.rect(n.x,n.y,n.w,n.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return Bt(this._view,t,e)},inLabelRange:function(t,e){var i=this._view;return Lt(i)?Bt(i,t,null):Bt(i,null,e)},inXRange:function(t){return Bt(this._view,t,null)},inYRange:function(t){return Bt(this._view,null,t)},getCenterPoint:function(){var t,e,i=this._view;return Lt(i)?(t=i.x,e=(i.y+i.base)/2):(t=(i.x+i.base)/2,e=i.y),{x:t,y:e}},getArea:function(){var t=this._view;return Lt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),Wt={},Vt=_t,Et=Pt,Ht=Tt,jt=Nt;Wt.Arc=Vt,Wt.Line=Et,Wt.Point=Ht,Wt.Rectangle=jt;var qt=ut.options.resolve;st._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}});var Yt=Mt.extend({dataElementType:Wt.Rectangle,initialize:function(){var t;Mt.prototype.initialize.apply(this,arguments),(t=this.getMeta()).stack=this.getDataset().stack,t.bar=!0},update:function(t){var e,i,n=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,i=n.length;e0?Math.min(r,n-i):r,i=n;return r}(i,l):-1,pixels:l,start:r,end:s,stackCount:n,scale:i}},calculateBarValuePixels:function(t,e){var i,n,a,o,r,s,l=this.chart,d=this.getMeta(),u=this._getValueScale(),h=u.isHorizontal(),c=l.data.datasets,f=+u.getRightValue(c[t].data[e]),g=u.options.minBarLength,p=u.options.stacked,m=d.stack,v=0;if(p||void 0===p&&void 0!==m)for(i=0;i=0&&a>0)&&(v+=a));return o=u.getPixelForValue(v),s=(r=u.getPixelForValue(v+f))-o,void 0!==g&&Math.abs(s)=0&&!h||f<0&&h?o-g:o+g),{size:s,base:o,head:r,center:r+s/2}},calculateBarIndexPixels:function(t,e,i){var n=i.scale.options,a="flex"===n.barThickness?function(t,e,i){var n,a=e.pixels,o=a[t],r=t>0?a[t-1]:null,s=t');var i=t.data,n=i.datasets,a=i.labels;if(n.length)for(var o=0;o'),a[o]&&e.push(a[o]),e.push("");return e.push(""),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(i,n){var a=t.getDatasetMeta(0),o=e.datasets[0],r=a.data[n],s=r&&r.custom||{},l=t.options.elements.arc;return{text:i,fillStyle:Gt([s.backgroundColor,o.backgroundColor,l.backgroundColor],void 0,n),strokeStyle:Gt([s.borderColor,o.borderColor,l.borderColor],void 0,n),lineWidth:Gt([s.borderWidth,o.borderWidth,l.borderWidth],void 0,n),hidden:isNaN(o.data[n])||a.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var i,n,a,o=e.index,r=this.chart;for(i=0,n=(r.data.datasets||[]).length;i=Math.PI?-1:m<-Math.PI?1:0))+g,b={x:Math.cos(m),y:Math.sin(m)},x={x:Math.cos(v),y:Math.sin(v)},y=m<=0&&v>=0||m<=2*Math.PI&&2*Math.PI<=v,k=m<=.5*Math.PI&&.5*Math.PI<=v||m<=2.5*Math.PI&&2.5*Math.PI<=v,w=m<=-Math.PI&&-Math.PI<=v||m<=Math.PI&&Math.PI<=v,M=m<=.5*-Math.PI&&.5*-Math.PI<=v||m<=1.5*Math.PI&&1.5*Math.PI<=v,_=f/100,C={x:w?-1:Math.min(b.x*(b.x<0?1:_),x.x*(x.x<0?1:_)),y:M?-1:Math.min(b.y*(b.y<0?1:_),x.y*(x.y<0?1:_))},S={x:y?1:Math.max(b.x*(b.x>0?1:_),x.x*(x.x>0?1:_)),y:k?1:Math.max(b.y*(b.y>0?1:_),x.y*(x.y>0?1:_))},P={width:.5*(S.x-C.x),height:.5*(S.y-C.y)};d=Math.min(s/P.width,l/P.height),u={x:-.5*(S.x+C.x),y:-.5*(S.y+C.y)}}for(e=0,i=c.length;e0&&!isNaN(t)?2*Math.PI*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,i,n,a,o,r,s,l,d=0,u=this.chart;if(!t)for(e=0,i=u.data.datasets.length;e(d=s>d?s:d)?l:d);return d},setHoverStyle:function(t){var e=t._model,i=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Zt(i.hoverBackgroundColor,n(i.backgroundColor)),e.borderColor=Zt(i.hoverBorderColor,n(i.borderColor)),e.borderWidth=Zt(i.hoverBorderWidth,i.borderWidth)},_resolveElementOptions:function(t,e){var i,n,a,o=this.chart,r=this.getDataset(),s=t.custom||{},l=o.options.elements.arc,d={},u={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},h=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(i=0,n=h.length;i0&&ee(l[t-1]._model,s)&&(i.controlPointPreviousX=d(i.controlPointPreviousX,s.left,s.right),i.controlPointPreviousY=d(i.controlPointPreviousY,s.top,s.bottom)),t');var i=t.data,n=i.datasets,a=i.labels;if(n.length)for(var o=0;o'),a[o]&&e.push(a[o]),e.push("");return e.push(""),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(i,n){var a=t.getDatasetMeta(0),o=e.datasets[0],r=a.data[n].custom||{},s=t.options.elements.arc;return{text:i,fillStyle:ae([r.backgroundColor,o.backgroundColor,s.backgroundColor],void 0,n),strokeStyle:ae([r.borderColor,o.borderColor,s.borderColor],void 0,n),lineWidth:ae([r.borderWidth,o.borderWidth,s.borderWidth],void 0,n),hidden:isNaN(o.data[n])||a.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var i,n,a,o=e.index,r=this.chart;for(i=0,n=(r.data.datasets||[]).length;i0&&(o=t.getDatasetMeta(o[0]._datasetIndex).data),o},"x-axis":function(t,e){return me(t,e,{intersect:!1})},point:function(t,e){return fe(t,he(e,t))},nearest:function(t,e,i){var n=he(e,t);i.axis=i.axis||"xy";var a=pe(i.axis);return ge(t,n,i.intersect,a)},x:function(t,e,i){var n=he(e,t),a=[],o=!1;return ce(t,function(t){t.inXRange(n.x)&&a.push(t),t.inRange(n.x,n.y)&&(o=!0)}),i.intersect&&!o&&(a=[]),a},y:function(t,e,i){var n=he(e,t),a=[],o=!1;return ce(t,function(t){t.inYRange(n.y)&&a.push(t),t.inRange(n.x,n.y)&&(o=!0)}),i.intersect&&!o&&(a=[]),a}}};function be(t,e){return ut.where(t,function(t){return t.position===e})}function xe(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,i){var n=e?i:t,a=e?t:i;return n.weight===a.weight?n._tmpIndex_-a._tmpIndex_:n.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}function ye(t,e){ut.each(t,function(t){e[t.position]+=t.isHorizontal()?t.height:t.width})}st._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var ke={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure:function(t,e,i){for(var n,a=["fullWidth","position","weight"],o=a.length,r=0;rdiv{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}"}))&&we.default||we,_e="$chartjs",Ce="chartjs-size-monitor",Se="chartjs-render-monitor",Pe="chartjs-render-animation",Ie=["animationstart","webkitAnimationStart"],Ae={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function De(t,e){var i=ut.getStyle(t,e),n=i&&i.match(/^(\d+)(\.\d+)?px$/);return n?Number(n[1]):void 0}var Te=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function Fe(t,e,i){t.addEventListener(e,i,Te)}function Le(t,e,i){t.removeEventListener(e,i,Te)}function Re(t,e,i,n,a){return{type:t,chart:e,native:a||null,x:void 0!==i?i:null,y:void 0!==n?n:null}}function Oe(t){var e=document.createElement("div");return e.className=t||"",e}function ze(t,e,i){var n,a,o,r,s=t[_e]||(t[_e]={}),l=s.resizer=function(t){var e=Oe(Ce),i=Oe(Ce+"-expand"),n=Oe(Ce+"-shrink");i.appendChild(Oe()),n.appendChild(Oe()),e.appendChild(i),e.appendChild(n),e._reset=function(){i.scrollLeft=1e6,i.scrollTop=1e6,n.scrollLeft=1e6,n.scrollTop=1e6};var a=function(){e._reset(),t()};return Fe(i,"scroll",a.bind(i,"expand")),Fe(n,"scroll",a.bind(n,"shrink")),e}((n=function(){if(s.resizer){var n=i.options.maintainAspectRatio&&t.parentNode,a=n?n.clientWidth:0;e(Re("resize",i)),n&&n.clientWidth0){var o=t[0];o.label?i=o.label:o.xLabel?i=o.xLabel:a>0&&o.index-1?t.split("\n"):t}function Xe(t){var e=st.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,bodyFontColor:t.bodyFontColor,_bodyFontFamily:je(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:je(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:je(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:je(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:je(t.titleFontStyle,e.defaultFontStyle),titleFontSize:je(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:je(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:je(t.footerFontStyle,e.defaultFontStyle),footerFontSize:je(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function Ke(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function Ge(t){return Ye([],Ue(t))}var Ze=pt.extend({initialize:function(){this._model=Xe(this._options),this._lastActive=[]},getTitle:function(){var t=this._options.callbacks,e=t.beforeTitle.apply(this,arguments),i=t.title.apply(this,arguments),n=t.afterTitle.apply(this,arguments),a=[];return a=Ye(a,Ue(e)),a=Ye(a,Ue(i)),a=Ye(a,Ue(n))},getBeforeBody:function(){return Ge(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var i=this,n=i._options.callbacks,a=[];return ut.each(t,function(t){var o={before:[],lines:[],after:[]};Ye(o.before,Ue(n.beforeLabel.call(i,t,e))),Ye(o.lines,n.label.call(i,t,e)),Ye(o.after,Ue(n.afterLabel.call(i,t,e))),a.push(o)}),a},getAfterBody:function(){return Ge(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this._options.callbacks,e=t.beforeFooter.apply(this,arguments),i=t.footer.apply(this,arguments),n=t.afterFooter.apply(this,arguments),a=[];return a=Ye(a,Ue(e)),a=Ye(a,Ue(i)),a=Ye(a,Ue(n))},update:function(t){var e,i,n,a,o,r,s,l,d,u,h=this,c=h._options,f=h._model,g=h._model=Xe(c),p=h._active,m=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},x={width:f.width,height:f.height},y={x:f.caretX,y:f.caretY};if(p.length){g.opacity=1;var k=[],w=[];y=qe[c.position].call(h,p,h._eventPosition);var M=[];for(e=0,i=p.length;en.width&&(a=n.width-e.width),a<0&&(a=0)),"top"===u?o+=h:o-="bottom"===u?e.height+h:e.height/2,"center"===u?"left"===d?a+=h:"right"===d&&(a-=h):"left"===d?a-=c:"right"===d&&(a+=c),{x:a,y:o}}(g,x,v=function(t,e){var i,n,a,o,r,s=t._model,l=t._chart,d=t._chart.chartArea,u="center",h="center";s.yl.height-e.height&&(h="bottom");var c=(d.left+d.right)/2,f=(d.top+d.bottom)/2;"center"===h?(i=function(t){return t<=c},n=function(t){return t>c}):(i=function(t){return t<=e.width/2},n=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},o=function(t){return t-e.width-s.caretSize-s.caretPadding<0},r=function(t){return t<=f?"top":"bottom"},i(s.x)?(u="left",a(s.x)&&(u="center",h=r(s.y))):n(s.x)&&(u="right",o(s.x)&&(u="center",h=r(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:u,yAlign:g.yAlign?g.yAlign:h}}(this,x),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var i=this._chart.ctx,n=this._view,a=this.getCaretPosition(t,e,n);i.lineTo(a.x1,a.y1),i.lineTo(a.x2,a.y2),i.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,i){var n,a,o,r,s,l,d=i.caretSize,u=i.cornerRadius,h=i.xAlign,c=i.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===c)s=g+m/2,"left"===h?(a=(n=f)-d,o=n,r=s+d,l=s-d):(a=(n=f+p)+d,o=n,r=s-d,l=s+d);else if("left"===h?(n=(a=f+u+d)-d,o=a+d):"right"===h?(n=(a=f+p-u-d)-d,o=a+d):(n=(a=i.caretX)-d,o=a+d),"top"===c)s=(r=g)-d,l=r;else{s=(r=g+m)+d,l=r;var v=o;o=n,n=v}return{x1:n,x2:a,x3:o,y1:r,y2:s,y3:l}},drawTitle:function(t,e,i){var n=e.title;if(n.length){t.x=Ke(e,e._titleAlign),i.textAlign=e._titleAlign,i.textBaseline="top";var a,o,r=e.titleFontSize,s=e.titleSpacing;for(i.fillStyle=e.titleFontColor,i.font=ut.fontString(r,e._titleFontStyle,e._titleFontFamily),a=0,o=n.length;a0&&i.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var i={width:e.width,height:e.height},n={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,o=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&o&&(t.save(),t.globalAlpha=a,this.drawBackground(n,e,t,i),n.y+=e.yPadding,this.drawTitle(n,e,t),this.drawBody(n,e,t),this.drawFooter(n,e,t),t.restore())}},handleEvent:function(t){var e,i=this,n=i._options;return i._lastActive=i._lastActive||[],"mouseout"===t.type?i._active=[]:i._active=i._chart.getElementsAtEventForMode(t,n.mode,n),(e=!ut.arrayEquals(i._active,i._lastActive))&&(i._lastActive=i._active,(n.enabled||n.custom)&&(i._eventPosition={x:t.x,y:t.y},i.update(!0),i.pivot())),e}}),$e=qe,Je=Ze;Je.positioners=$e;var Qe=ut.valueOrDefault;function ti(){return ut.merge({},[].slice.call(arguments),{merger:function(t,e,i,n){if("xAxes"===t||"yAxes"===t){var a,o,r,s=i[t].length;for(e[t]||(e[t]=[]),a=0;a=e[t].length&&e[t].push({}),!e[t][a].type||r.type&&r.type!==e[t][a].type?ut.merge(e[t][a],[He.getScaleDefaults(o),r]):ut.merge(e[t][a],r)}else ut._merger(t,e,i,n)}})}function ei(){return ut.merge({},[].slice.call(arguments),{merger:function(t,e,i,n){var a=e[t]||{},o=i[t];"scales"===t?e[t]=ti(a,o):"scale"===t?e[t]=ut.merge(a,[He.getScaleDefaults(o.type),o]):ut._merger(t,e,i,n)}})}function ii(t){return"top"===t||"bottom"===t}st._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var ni=function(t,e){return this.construct(t,e),this};ut.extend(ni.prototype,{construct:function(t,e){var i=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=ei(st.global,st[t.type],t.options||{}),t}(e);var n=Ve.acquireContext(t,e),a=n&&n.canvas,o=a&&a.height,r=a&&a.width;i.id=ut.uid(),i.ctx=n,i.canvas=a,i.config=e,i.width=r,i.height=o,i.aspectRatio=o?r/o:null,i.options=e.options,i._bufferedRender=!1,i.chart=i,i.controller=i,ni.instances[i.id]=i,Object.defineProperty(i,"data",{get:function(){return i.config.data},set:function(t){i.config.data=t}}),n&&a?(i.initialize(),i.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Ee.notify(t,"beforeInit"),ut.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.initToolTip(),Ee.notify(t,"afterInit"),t},clear:function(){return ut.canvas.clear(this),this},stop:function(){return bt.cancelAnimation(this),this},resize:function(t){var e=this,i=e.options,n=e.canvas,a=i.maintainAspectRatio&&e.aspectRatio||null,o=Math.max(0,Math.floor(ut.getMaximumWidth(n))),r=Math.max(0,Math.floor(a?o/a:ut.getMaximumHeight(n)));if((e.width!==o||e.height!==r)&&(n.width=e.width=o,n.height=e.height=r,n.style.width=o+"px",n.style.height=r+"px",ut.retinaScale(e,i.devicePixelRatio),!t)){var s={width:o,height:r};Ee.notify(e,"resize",[s]),i.onResize&&i.onResize(e,s),e.stop(),e.update({duration:i.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},i=t.scale;ut.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),ut.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),i&&(i.id=i.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,i=t.scales||{},n=[],a=Object.keys(i).reduce(function(t,e){return t[e]=!1,t},{});e.scales&&(n=n.concat((e.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(e.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),e.scale&&n.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),ut.each(n,function(e){var n=e.options,o=n.id,r=Qe(n.type,e.dtype);ii(n.position)!==ii(e.dposition)&&(n.position=e.dposition),a[o]=!0;var s=null;if(o in i&&i[o].type===r)(s=i[o]).options=n,s.ctx=t.ctx,s.chart=t;else{var l=He.getScaleConstructor(r);if(!l)return;s=new l({id:o,type:r,options:n,ctx:t.ctx,chart:t}),i[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)}),ut.each(a,function(t,e){t||delete i[e]}),t.scales=i,He.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,e=[];return ut.each(t.data.datasets,function(i,n){var a=t.getDatasetMeta(n),o=i.type||t.config.type;if(a.type&&a.type!==o&&(t.destroyDatasetMeta(n),a=t.getDatasetMeta(n)),a.type=o,a.controller)a.controller.updateIndex(n),a.controller.linkScales();else{var r=ue[a.type];if(void 0===r)throw new Error('"'+a.type+'" is not a chart type.');a.controller=new r(t,n),e.push(a.controller)}},t),e},resetElements:function(){var t=this;ut.each(t.data.datasets,function(e,i){t.getDatasetMeta(i).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e,i,n=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),i=(e=n).options,ut.each(e.scales,function(t){ke.removeBox(e,t)}),i=ei(st.global,st[e.config.type],i),e.options=e.config.options=i,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=i.tooltips,e.tooltip.initialize(),Ee._invalidate(n),!1!==Ee.notify(n,"beforeUpdate")){n.tooltip._data=n.data;var a=n.buildOrUpdateControllers();ut.each(n.data.datasets,function(t,e){n.getDatasetMeta(e).controller.buildOrUpdateElements()},n),n.updateLayout(),n.options.animation&&n.options.animation.duration&&ut.each(a,function(t){t.reset()}),n.updateDatasets(),n.tooltip.initialize(),n.lastActive=[],Ee.notify(n,"afterUpdate"),n._bufferedRender?n._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:n.render(t)}},updateLayout:function(){!1!==Ee.notify(this,"beforeLayout")&&(ke.update(this,this.width,this.height),Ee.notify(this,"afterScaleUpdate"),Ee.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==Ee.notify(this,"beforeDatasetsUpdate")){for(var t=0,e=this.data.datasets.length;t=0;--i)e.isDatasetVisible(i)&&e.drawDataset(i,t);Ee.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var i=this.getDatasetMeta(t),n={meta:i,index:t,easingValue:e};!1!==Ee.notify(this,"beforeDatasetDraw",[n])&&(i.controller.draw(e),Ee.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,i={tooltip:e,easingValue:t};!1!==Ee.notify(this,"beforeTooltipDraw",[i])&&(e.draw(),Ee.notify(this,"afterTooltipDraw",[i]))},getElementAtEvent:function(t){return ve.modes.single(this,t)},getElementsAtEvent:function(t){return ve.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return ve.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,i){var n=ve.modes[e];return"function"==typeof n?n(this,t,i):[]},getDatasetAtEvent:function(t){return ve.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var i=e._meta[this.id];return i||(i=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var t=0,e=0,i=this.data.datasets.length;e3?i[2]-i[1]:i[1]-i[0];Math.abs(n)>1&&t!==Math.floor(t)&&(n=t-Math.floor(t));var a=ut.log10(Math.abs(n)),o="";if(0!==t)if(Math.max(Math.abs(i[0]),Math.abs(i[i.length-1]))<1e-4){var r=ut.log10(Math.abs(t));o=t.toExponential(Math.floor(r)-Math.floor(a))}else{var s=-1*Math.floor(a);s=Math.max(Math.min(s,20),0),o=t.toFixed(s)}else o="0";return o},logarithmic:function(t,e,i){var n=t/Math.pow(10,Math.floor(ut.log10(t)));return 0===t?"0":1===n||2===n||5===n||0===e||e===i.length-1?t.toExponential():""}}},di=ut.valueOrDefault,ui=ut.valueAtIndexOrDefault;function hi(t){var e,i,n=[];for(e=0,i=t.length;ed&&ot.maxHeight){o--;break}o++,l=r*s}t.labelRotation=o},afterCalculateTickRotation:function(){ut.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){ut.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},i=hi(t._ticks),n=t.options,a=n.ticks,o=n.scaleLabel,r=n.gridLines,s=t._isVisible(),l=n.position,d=t.isHorizontal(),u=ut.options._parseFont,h=u(a),c=n.gridLines.tickMarkLength;if(e.width=d?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:s&&r.drawTicks?c:0,e.height=d?s&&r.drawTicks?c:0:t.maxHeight,o.display&&s){var f=u(o),g=ut.options.toPadding(o.padding),p=f.lineHeight+g.height;d?e.height+=p:e.width+=p}if(a.display&&s){var m=ut.longestText(t.ctx,h.string,i,t.longestTextCache),v=ut.numberOfLabelLines(i),b=.5*h.size,x=t.options.ticks.padding;if(t._maxLabelLines=v,t.longestLabelWidth=m,d){var y=ut.toRadians(t.labelRotation),k=Math.cos(y),w=Math.sin(y)*m+h.lineHeight*v+b;e.height=Math.min(t.maxHeight,e.height+w+x),t.ctx.font=h.string;var M,_,C=ci(t.ctx,i[0],h.string),S=ci(t.ctx,i[i.length-1],h.string),P=t.getPixelForTick(0)-t.left,I=t.right-t.getPixelForTick(i.length-1);0!==t.labelRotation?(M="bottom"===l?k*C:k*b,_="bottom"===l?k*b:k*S):(M=C/2,_=S/2),t.paddingLeft=Math.max(M-P,0)+3,t.paddingRight=Math.max(_-I,0)+3}else a.mirror?m=0:m+=x+b,e.width=Math.min(t.maxWidth,e.width+m),t.paddingTop=h.size/2,t.paddingBottom=h.size/2}t.handleMargins(),t.width=e.width,t.height=e.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){ut.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(ut.isNullOrUndef(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:ut.noop,getPixelForValue:ut.noop,getValueForPixel:ut.noop,getPixelForTick:function(t){var e=this,i=e.options.offset;if(e.isHorizontal()){var n=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(i?0:1),1),a=n*t+e.paddingLeft;i&&(a+=n/2);var o=e.left+a;return o+=e.isFullWidth()?e.margins.left:0}var r=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(r/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var i=(e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft,n=e.left+i;return n+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,i,n=this,a=n.isHorizontal(),o=n.options.ticks.minor,r=t.length,s=!1,l=o.maxTicksLimit,d=n._tickSize()*(r-1),u=a?n.width-(n.paddingLeft+n.paddingRight):n.height-(n.paddingTop+n.PaddingBottom),h=[];for(d>u&&(s=1+Math.floor(d/u)),r>l&&(s=Math.max(s,1+Math.floor(r/l))),e=0;e1&&e%s>0&&delete i.label,h.push(i);return h},_tickSize:function(){var t=this,e=t.isHorizontal(),i=t.options.ticks.minor,n=ut.toRadians(t.labelRotation),a=Math.abs(Math.cos(n)),o=Math.abs(Math.sin(n)),r=i.autoSkipPadding||0,s=t.longestLabelWidth+r||0,l=ut.options._parseFont(i),d=t._maxLabelLines*l.lineHeight+r||0;return e?d*a>s*o?s/a:d/o:d*o0&&n>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,o=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==o&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,i=e.stepSize,n=e.maxTicksLimit;return i?t=Math.ceil(this.max/i)-Math.floor(this.min/i)+1:(t=this._computeTickLimit(),n=n||11),n&&(t=Math.min(n,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:mi,buildTicks:function(){var t=this,e=t.options.ticks,i=t.getTickLimit(),n={maxTicks:i=Math.max(2,i),min:e.min,max:e.max,precision:e.precision,stepSize:ut.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var i,n,a,o,r=[],s=t.stepSize,l=s||1,d=t.maxTicks-1,u=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,p=ut.niceNum((g-f)/d/l)*l;if(p<1e-14&&vi(u)&&vi(h))return[f,g];(o=Math.ceil(g/p)-Math.floor(f/p))>d&&(p=ut.niceNum(o*p/d/l)*l),s||vi(c)?i=Math.pow(10,ut._decimalPlaces(p)):(i=Math.pow(10,c),p=Math.ceil(p*i)/i),n=Math.floor(f/p)*p,a=Math.ceil(g/p)*p,s&&(!vi(u)&&ut.almostWhole(u/p,p/1e3)&&(n=u),!vi(h)&&ut.almostWhole(h/p,p/1e3)&&(a=h)),o=(a-n)/p,o=ut.almostEquals(o,Math.round(o),p/1e3)?Math.round(o):Math.ceil(o),n=Math.round(n*i)/i,a=Math.round(a*i)/i,r.push(vi(u)?n:u);for(var m=1;mt.max&&(t.max=n))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},_computeTickLimit:function(){var t;return this.isHorizontal()?Math.ceil(this.width/40):(t=ut.options._parseFont(this.options.ticks),Math.ceil(this.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e=this,i=e.start,n=+e.getRightValue(t),a=e.end-i;return e.isHorizontal()?e.left+e.width/a*(n-i):e.bottom-e.height/a*(n-i)},getValueForPixel:function(t){var e=this,i=e.isHorizontal(),n=i?e.width:e.height,a=(i?t-e.left:e.bottom-t)/n;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}}),ki=xi;yi._defaults=ki;var wi=ut.valueOrDefault;var Mi={position:"left",ticks:{callback:li.formatters.logarithmic}};function _i(t,e){return ut.isFinite(t)&&t>=0?t:e}var Ci=fi.extend({determineDataLimits:function(){var t=this,e=t.options,i=t.chart,n=i.data.datasets,a=t.isHorizontal();function o(e){return a?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null,t.minNotZero=null;var r=e.stacked;if(void 0===r&&ut.each(n,function(t,e){if(!r){var n=i.getDatasetMeta(e);i.isDatasetVisible(e)&&o(n)&&void 0!==n.stack&&(r=!0)}}),e.stacked||r){var s={};ut.each(n,function(n,a){var r=i.getDatasetMeta(a),l=[r.type,void 0===e.stacked&&void 0===r.stack?a:"",r.stack].join(".");i.isDatasetVisible(a)&&o(r)&&(void 0===s[l]&&(s[l]=[]),ut.each(n.data,function(e,i){var n=s[l],a=+t.getRightValue(e);isNaN(a)||r.data[i].hidden||a<0||(n[i]=n[i]||0,n[i]+=a)}))}),ut.each(s,function(e){if(e.length>0){var i=ut.min(e),n=ut.max(e);t.min=null===t.min?i:Math.min(t.min,i),t.max=null===t.max?n:Math.max(t.max,n)}})}else ut.each(n,function(e,n){var a=i.getDatasetMeta(n);i.isDatasetVisible(n)&&o(a)&&ut.each(e.data,function(e,i){var n=+t.getRightValue(e);isNaN(n)||a.data[i].hidden||n<0||(null===t.min?t.min=n:nt.max&&(t.max=n),0!==n&&(null===t.minNotZero||n0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(ut.log10(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,i=!t.isHorizontal(),n={min:_i(e.min),max:_i(e.max)},a=t.ticks=function(t,e){var i,n,a=[],o=wi(t.min,Math.pow(10,Math.floor(ut.log10(e.min)))),r=Math.floor(ut.log10(e.max)),s=Math.ceil(e.max/Math.pow(10,r));0===o?(i=Math.floor(ut.log10(e.minNotZero)),n=Math.floor(e.minNotZero/Math.pow(10,i)),a.push(o),o=n*Math.pow(10,i)):(i=Math.floor(ut.log10(o)),n=Math.floor(o/Math.pow(10,i)));var l=i<0?Math.pow(10,Math.abs(i)):1;do{a.push(o),10==++n&&(n=1,l=++i>=0?1:l),o=Math.round(n*Math.pow(10,i)*l)/l}while(ia?{start:e-i,end:e}:{start:e,end:e+i}}function Ri(t){return 0===t||180===t?"center":t<180?"left":"right"}function Oi(t,e,i,n){var a,o,r=i.y+n/2;if(ut.isArray(e))for(a=0,o=e.length;a270||t<90)&&(i.y-=e.h)}function Bi(t){return ut.isNumber(t)?t:0}var Ni=bi.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Fi(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;ut.each(e.data.datasets,function(a,o){if(e.isDatasetVisible(o)){var r=e.getDatasetMeta(o);ut.each(a.data,function(e,a){var o=+t.getRightValue(e);isNaN(o)||r.data[a].hidden||(i=Math.min(o,i),n=Math.max(o,n))})}}),t.min=i===Number.POSITIVE_INFINITY?0:i,t.max=n===Number.NEGATIVE_INFINITY?0:n,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Fi(this.options))},convertTicksToLabels:function(){var t=this;bi.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map(t.options.pointLabels.callback,t)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,i,n,a=ut.options._parseFont(t.options.pointLabels),o={l:0,r:t.width,t:0,b:t.height-t.paddingTop},r={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,d,u=Ti(t);for(e=0;eo.r&&(o.r=f.end,r.r=h),g.starto.b&&(o.b=g.end,r.b=h)}t.setReductions(t.drawingArea,o,r)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,i){var n=this,a=e.l/Math.sin(i.l),o=Math.max(e.r-n.width,0)/Math.sin(i.r),r=-e.t/Math.cos(i.t),s=-Math.max(e.b-(n.height-n.paddingTop),0)/Math.cos(i.b);a=Bi(a),o=Bi(o),r=Bi(r),s=Bi(s),n.drawingArea=Math.min(Math.floor(t-(a+o)/2),Math.floor(t-(r+s)/2)),n.setCenterPoint(a,o,r,s)},setCenterPoint:function(t,e,i,n){var a=this,o=a.width-e-a.drawingArea,r=t+a.drawingArea,s=i+a.drawingArea,l=a.height-a.paddingTop-n-a.drawingArea;a.xCenter=Math.floor((r+o)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){return t*(2*Math.PI/Ti(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var i=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*i:(t-e.min)*i},getPointPosition:function(t,e){var i=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(i)*e+this.xCenter,y:Math.sin(i)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,e=t.options,i=e.gridLines,n=e.ticks;if(e.display){var a=t.ctx,o=this.getIndexAngle(0),r=ut.options._parseFont(n);(e.angleLines.display||e.pointLabels.display)&&function(t){var e=t.ctx,i=t.options,n=i.angleLines,a=i.gridLines,o=i.pointLabels,r=Pi(n.lineWidth,a.lineWidth),s=Pi(n.color,a.color),l=Fi(i);e.save(),e.lineWidth=r,e.strokeStyle=s,e.setLineDash&&(e.setLineDash(Ai([n.borderDash,a.borderDash,[]])),e.lineDashOffset=Ai([n.borderDashOffset,a.borderDashOffset,0]));var d=t.getDistanceFromCenterForValue(i.ticks.reverse?t.min:t.max),u=ut.options._parseFont(o);e.font=u.string,e.textBaseline="middle";for(var h=Ti(t)-1;h>=0;h--){if(n.display&&r&&s){var c=t.getPointPosition(h,d);e.beginPath(),e.moveTo(t.xCenter,t.yCenter),e.lineTo(c.x,c.y),e.stroke()}if(o.display){var f=0===h?l/2:0,g=t.getPointPosition(h,d+f+5),p=Ii(o.fontColor,h,st.global.defaultFontColor);e.fillStyle=p;var m=t.getIndexAngle(h),v=ut.toDegrees(m);e.textAlign=Ri(v),zi(v,t._pointLabelSizes[h],g),Oi(e,t.pointLabels[h]||"",g,u.lineHeight)}}e.restore()}(t),ut.each(t.ticks,function(e,s){if(s>0||n.reverse){var l=t.getDistanceFromCenterForValue(t.ticksAsNumbers[s]);if(i.display&&0!==s&&function(t,e,i,n){var a,o=t.ctx,r=e.circular,s=Ti(t),l=Ii(e.color,n-1),d=Ii(e.lineWidth,n-1);if((r||s)&&l&&d){if(o.save(),o.strokeStyle=l,o.lineWidth=d,o.setLineDash&&(o.setLineDash(e.borderDash||[]),o.lineDashOffset=e.borderDashOffset||0),o.beginPath(),r)o.arc(t.xCenter,t.yCenter,i,0,2*Math.PI);else{a=t.getPointPosition(0,i),o.moveTo(a.x,a.y);for(var u=1;u=0&&r<=s;){if(a=t[(n=r+s>>1)-1]||null,o=t[n],!a)return{lo:null,hi:o};if(o[e]i))return{lo:a,hi:o};s=n-1}}return{lo:o,hi:null}}(t,e,i),o=a.lo?a.hi?a.lo:t[t.length-2]:t[0],r=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=r[e]-o[e],l=s?(i-o[e])/s:0,d=(r[n]-o[n])*l;return o[n]+d}function Ki(t,e){var i=t._adapter,n=t.options.time,a=n.parser,o=a||n.format,r=e;return"function"==typeof a&&(r=a(r)),ut.isFinite(r)||(r="string"==typeof o?i.parse(r,o):i.parse(r)),null!==r?+r:(a||"function"!=typeof o||(r=o(e),ut.isFinite(r)||(r=i.parse(r))),r)}function Gi(t,e){if(ut.isNullOrUndef(e))return null;var i=t.options.time,n=Ki(t,t.getRightValue(e));return null===n?n:(i.round&&(n=+t._adapter.startOf(n,i.round)),n)}function Zi(t){for(var e=qi.indexOf(t)+1,i=qi.length;e=a&&i<=o&&d.push(i);return n.min=a,n.max=o,n._unit=s.unit||function(t,e,i,n,a){var o,r;for(o=qi.length-1;o>=qi.indexOf(i);o--)if(r=qi[o],ji[r].common&&t._adapter.diff(a,n,r)>=e.length)return r;return qi[i?qi.indexOf(i):0]}(n,d,s.minUnit,n.min,n.max),n._majorUnit=Zi(n._unit),n._table=function(t,e,i,n){if("linear"===n||!t.length)return[{time:e,pos:0},{time:i,pos:1}];var a,o,r,s,l,d=[],u=[e];for(a=0,o=t.length;ae&&s=0&&t0?r:1}}),Qi={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};Ji._defaults=Qi;var tn={category:gi,linear:yi,logarithmic:Ci,radialLinear:Ni,time:Ji},en={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};si._date.override("function"==typeof t?{_id:"moment",formats:function(){return en},parse:function(e,i){return"string"==typeof e&&"string"==typeof i?e=t(e,i):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,i){return t(e).format(i)},add:function(e,i,n){return t(e).add(i,n).valueOf()},diff:function(e,i,n){return t.duration(t(e).diff(t(i))).as(n)},startOf:function(e,i,n){return e=t(e),"isoWeek"===i?e.isoWeekday(n).valueOf():e.startOf(i).valueOf()},endOf:function(e,i){return t(e).endOf(i).valueOf()},_create:function(e){return t(e)}}:{}),st._set("global",{plugins:{filler:{propagate:!0}}});var nn={dataset:function(t){var e=t.fill,i=t.chart,n=i.getDatasetMeta(e),a=n&&i.isDatasetVisible(e)&&n.dataset._children||[],o=a.length||0;return o?function(t,e){return e=i)&&n;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function on(t){var e,i=t.el._model||{},n=t.el._scale||{},a=t.fill,o=null;if(isFinite(a))return null;if("start"===a?o=void 0===i.scaleBottom?n.bottom:i.scaleBottom:"end"===a?o=void 0===i.scaleTop?n.top:i.scaleTop:void 0!==i.scaleZero?o=i.scaleZero:n.getBasePosition?o=n.getBasePosition():n.getBasePixel&&(o=n.getBasePixel()),null!=o){if(void 0!==o.x&&void 0!==o.y)return o;if(ut.isFinite(o))return{x:(e=n.isHorizontal())?o:null,y:e?null:o}}return null}function rn(t,e,i){var n,a=t[e].fill,o=[e];if(!i)return a;for(;!1!==a&&-1===o.indexOf(a);){if(!isFinite(a))return a;if(!(n=t[a]))return!1;if(n.visible)return a;o.push(a),a=n.fill}return!1}function sn(t){var e=t.fill,i="dataset";return!1===e?null:(isFinite(e)||(i="boundary"),nn[i](t))}function ln(t){return t&&!t.skip}function dn(t,e,i,n,a){var o;if(n&&a){for(t.moveTo(e[0].x,e[0].y),o=1;o0;--o)ut.canvas.lineTo(t,i[o],i[o-1],!0)}}var un={id:"filler",afterDatasetsUpdate:function(t,e){var i,n,a,o,r=(t.data.datasets||[]).length,s=e.propagate,l=[];for(n=0;ne?e:t.boxWidth}st._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var i=e.datasetIndex,n=this.chart,a=n.getDatasetMeta(i);a.hidden=null===a.hidden?!n.data.datasets[i].hidden:null,n.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return ut.isArray(e.datasets)?e.datasets.map(function(e,i){return{text:e.label,fillStyle:ut.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(i),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:i}},this):[]}}},legendCallback:function(t){var e=[];e.push('
      ');for(var i=0;i'),t.data.datasets[i].label&&e.push(t.data.datasets[i].label),e.push("");return e.push("
    "),e.join("")}});var gn=pt.extend({initialize:function(t){ut.extend(this,t),this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1},beforeUpdate:hn,update:function(t,e,i){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=i,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:hn,beforeSetDimensions:hn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:hn,beforeBuildLabels:hn,buildLabels:function(){var t=this,e=t.options.labels||{},i=ut.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(i=i.filter(function(i){return e.filter(i,t.chart.data)})),t.options.reverse&&i.reverse(),t.legendItems=i},afterBuildLabels:hn,beforeFit:hn,fit:function(){var t=this,e=t.options,i=e.labels,n=e.display,a=t.ctx,o=ut.options._parseFont(i),r=o.size,s=t.legendHitBoxes=[],l=t.minSize,d=t.isHorizontal();if(d?(l.width=t.maxWidth,l.height=n?10:0):(l.width=n?10:0,l.height=t.maxHeight),n)if(a.font=o.string,d){var u=t.lineWidths=[0],h=0;a.textAlign="left",a.textBaseline="top",ut.each(t.legendItems,function(t,e){var n=fn(i,r)+r/2+a.measureText(t.text).width;(0===e||u[u.length-1]+n+i.padding>l.width)&&(h+=r+i.padding,u[u.length-(e>0?0:1)]=i.padding),s[e]={left:0,top:0,width:n,height:r},u[u.length-1]+=n+i.padding}),l.height+=h}else{var c=i.padding,f=t.columnWidths=[],g=i.padding,p=0,m=0,v=r+c;ut.each(t.legendItems,function(t,e){var n=fn(i,r)+r/2+a.measureText(t.text).width;e>0&&m+v>l.height-c&&(g+=p+i.padding,f.push(p),p=0,m=0),p=Math.max(p,n),m+=v,s[e]={left:0,top:0,width:n,height:r}}),g+=p,f.push(p),l.width+=g}t.width=l.width,t.height=l.height},afterFit:hn,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,i=e.labels,n=st.global,a=n.defaultColor,o=n.elements.line,r=t.width,s=t.lineWidths;if(e.display){var l,d=t.ctx,u=cn(i.fontColor,n.defaultFontColor),h=ut.options._parseFont(i),c=h.size;d.textAlign="left",d.textBaseline="middle",d.lineWidth=.5,d.strokeStyle=u,d.fillStyle=u,d.font=h.string;var f=fn(i,c),g=t.legendHitBoxes,p=t.isHorizontal();l=p?{x:t.left+(r-s[0])/2+i.padding,y:t.top+i.padding,line:0}:{x:t.left+i.padding,y:t.top+i.padding,line:0};var m=c+i.padding;ut.each(t.legendItems,function(n,u){var h=d.measureText(n.text).width,v=f+c/2+h,b=l.x,x=l.y;p?u>0&&b+v+i.padding>t.left+t.minSize.width&&(x=l.y+=m,l.line++,b=l.x=t.left+(r-s[l.line])/2+i.padding):u>0&&x+m>t.top+t.minSize.height&&(b=l.x=b+t.columnWidths[l.line]+i.padding,x=l.y=t.top+i.padding,l.line++),function(t,i,n){if(!(isNaN(f)||f<=0)){d.save();var r=cn(n.lineWidth,o.borderWidth);if(d.fillStyle=cn(n.fillStyle,a),d.lineCap=cn(n.lineCap,o.borderCapStyle),d.lineDashOffset=cn(n.lineDashOffset,o.borderDashOffset),d.lineJoin=cn(n.lineJoin,o.borderJoinStyle),d.lineWidth=r,d.strokeStyle=cn(n.strokeStyle,a),d.setLineDash&&d.setLineDash(cn(n.lineDash,o.borderDash)),e.labels&&e.labels.usePointStyle){var s=f*Math.SQRT2/2,l=t+f/2,u=i+c/2;ut.canvas.drawPoint(d,n.pointStyle,s,l,u)}else 0!==r&&d.strokeRect(t,i,f,c),d.fillRect(t,i,f,c);d.restore()}}(b,x,n),g[u].left=b,g[u].top=x,function(t,e,i,n){var a=c/2,o=f+a+t,r=e+a;d.fillText(i.text,o,r),i.hidden&&(d.beginPath(),d.lineWidth=2,d.moveTo(o,r),d.lineTo(o+n,r),d.stroke())}(b,x,n,h),p?l.x+=v+i.padding:l.y+=m})}},_getLegendItemAt:function(t,e){var i,n,a,o=this;if(t>=o.left&&t<=o.right&&e>=o.top&&e<=o.bottom)for(a=o.legendHitBoxes,i=0;i=(n=a[i]).left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height)return o.legendItems[i];return null},handleEvent:function(t){var e,i=this,n=i.options,a="mouseup"===t.type?"click":t.type;if("mousemove"===a){if(!n.onHover&&!n.onLeave)return}else{if("click"!==a)return;if(!n.onClick)return}e=i._getLegendItemAt(t.x,t.y),"click"===a?e&&n.onClick&&n.onClick.call(i,t.native,e):(n.onLeave&&e!==i._hoveredItem&&(i._hoveredItem&&n.onLeave.call(i,t.native,i._hoveredItem),i._hoveredItem=e),n.onHover&&e&&n.onHover.call(i,t.native,e))}});function pn(t,e){var i=new gn({ctx:t.ctx,options:e,chart:t});ke.configure(t,i,e),ke.addBox(t,i),t.legend=i}var mn={id:"legend",_element:gn,beforeInit:function(t){var e=t.options.legend;e&&pn(t,e)},beforeUpdate:function(t){var e=t.options.legend,i=t.legend;e?(ut.mergeIf(e,st.global.legend),i?(ke.configure(t,i,e),i.options=e):pn(t,e)):i&&(ke.removeBox(t,i),delete t.legend)},afterEvent:function(t,e){var i=t.legend;i&&i.handleEvent(e)}},vn=ut.noop;st._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var bn=pt.extend({initialize:function(t){ut.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:vn,update:function(t,e,i){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=i,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:vn,beforeSetDimensions:vn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:vn,beforeBuildLabels:vn,buildLabels:vn,afterBuildLabels:vn,beforeFit:vn,fit:function(){var t=this,e=t.options,i=e.display,n=t.minSize,a=ut.isArray(e.text)?e.text.length:1,o=ut.options._parseFont(e),r=i?a*o.lineHeight+2*e.padding:0;t.isHorizontal()?(n.width=t.maxWidth,n.height=r):(n.width=r,n.height=t.maxHeight),t.width=n.width,t.height=n.height},afterFit:vn,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,i=t.options;if(i.display){var n,a,o,r=ut.options._parseFont(i),s=r.lineHeight,l=s/2+i.padding,d=0,u=t.top,h=t.left,c=t.bottom,f=t.right;e.fillStyle=ut.valueOrDefault(i.fontColor,st.global.defaultFontColor),e.font=r.string,t.isHorizontal()?(a=h+(f-h)/2,o=u+l,n=f-h):(a="left"===i.position?h+l:f-l,o=u+(c-u)/2,n=c-u,d=Math.PI*("left"===i.position?-.5:.5)),e.save(),e.translate(a,o),e.rotate(d),e.textAlign="center",e.textBaseline="middle";var g=i.text;if(ut.isArray(g))for(var p=0,m=0;m=0;n--){var a=t[n];if(e(a))return a}},ut.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},ut.almostEquals=function(t,e,i){return Math.abs(t-e)t},ut.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},ut.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},ut.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},ut.log10=Math.log10?function(t){return Math.log10(t)}:function(t){var e=Math.log(t)*Math.LOG10E,i=Math.round(e);return t===Math.pow(10,i)?i:e},ut.toRadians=function(t){return t*(Math.PI/180)},ut.toDegrees=function(t){return t*(180/Math.PI)},ut._decimalPlaces=function(t){if(ut.isFinite(t)){for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}},ut.getAngleFromPoint=function(t,e){var i=e.x-t.x,n=e.y-t.y,a=Math.sqrt(i*i+n*n),o=Math.atan2(n,i);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:a}},ut.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},ut.aliasPixel=function(t){return t%2==0?0:.5},ut._alignPixel=function(t,e,i){var n=t.currentDevicePixelRatio,a=i/2;return Math.round((e-a)*n)/n+a},ut.splineCurve=function(t,e,i,n){var a=t.skip?e:t,o=e,r=i.skip?e:i,s=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),l=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),d=s/(s+l),u=l/(s+l),h=n*(d=isNaN(d)?0:d),c=n*(u=isNaN(u)?0:u);return{previous:{x:o.x-h*(r.x-a.x),y:o.y-h*(r.y-a.y)},next:{x:o.x+c*(r.x-a.x),y:o.y+c*(r.y-a.y)}}},ut.EPSILON=Number.EPSILON||1e-14,ut.splineCurveMonotone=function(t){var e,i,n,a,o,r,s,l,d,u=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),h=u.length;for(e=0;e0?u[e-1]:null,(a=e0?u[e-1]:null,a=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},ut.previousItem=function(t,e,i){return i?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},ut.niceNum=function(t,e){var i=Math.floor(ut.log10(t)),n=t/Math.pow(10,i);return(e?n<1.5?1:n<3?2:n<7?5:10:n<=1?1:n<=2?2:n<=5?5:10)*Math.pow(10,i)},ut.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},ut.getRelativePosition=function(t,e){var i,n,a=t.originalEvent||t,o=t.target||t.srcElement,r=o.getBoundingClientRect(),s=a.touches;s&&s.length>0?(i=s[0].clientX,n=s[0].clientY):(i=a.clientX,n=a.clientY);var l=parseFloat(ut.getStyle(o,"padding-left")),d=parseFloat(ut.getStyle(o,"padding-top")),u=parseFloat(ut.getStyle(o,"padding-right")),h=parseFloat(ut.getStyle(o,"padding-bottom")),c=r.right-r.left-l-u,f=r.bottom-r.top-d-h;return{x:i=Math.round((i-r.left-l)/c*o.width/e.currentDevicePixelRatio),y:n=Math.round((n-r.top-d)/f*o.height/e.currentDevicePixelRatio)}},ut.getConstraintWidth=function(t){return i(t,"max-width","clientWidth")},ut.getConstraintHeight=function(t){return i(t,"max-height","clientHeight")},ut._calculatePadding=function(t,e,i){return(e=ut.getStyle(t,e)).indexOf("%")>-1?i*parseInt(e,10)/100:parseInt(e,10)},ut._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},ut.getMaximumWidth=function(t){var e=ut._getParentNode(t);if(!e)return t.clientWidth;var i=e.clientWidth,n=i-ut._calculatePadding(e,"padding-left",i)-ut._calculatePadding(e,"padding-right",i),a=ut.getConstraintWidth(t);return isNaN(a)?n:Math.min(n,a)},ut.getMaximumHeight=function(t){var e=ut._getParentNode(t);if(!e)return t.clientHeight;var i=e.clientHeight,n=i-ut._calculatePadding(e,"padding-top",i)-ut._calculatePadding(e,"padding-bottom",i),a=ut.getConstraintHeight(t);return isNaN(a)?n:Math.min(n,a)},ut.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},ut.retinaScale=function(t,e){var i=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==i){var n=t.canvas,a=t.height,o=t.width;n.height=a*i,n.width=o*i,t.ctx.scale(i,i),n.style.height||n.style.width||(n.style.height=a+"px",n.style.width=o+"px")}},ut.fontString=function(t,e,i){return e+" "+t+"px "+i},ut.longestText=function(t,e,i,n){var a=(n=n||{}).data=n.data||{},o=n.garbageCollect=n.garbageCollect||[];n.font!==e&&(a=n.data={},o=n.garbageCollect=[],n.font=e),t.font=e;var r=0;ut.each(i,function(e){null!=e&&!0!==ut.isArray(e)?r=ut.measureText(t,a,o,r,e):ut.isArray(e)&&ut.each(e,function(e){null==e||ut.isArray(e)||(r=ut.measureText(t,a,o,r,e))})});var s=o.length/2;if(s>i.length){for(var l=0;ln&&(n=o),n},ut.numberOfLabelLines=function(t){var e=1;return ut.each(t,function(t){ut.isArray(t)&&t.length>e&&(e=t.length)}),e},ut.color=X?function(t){return t instanceof CanvasGradient&&(t=st.global.defaultColor),X(t)}:function(t){return console.error("Color.js not found!"),t},ut.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:ut.color(t).saturate(.5).darken(.1).rgbString()}}(),ai._adapters=si,ai.Animation=vt,ai.animationService=bt,ai.controllers=ue,ai.DatasetController=Mt,ai.defaults=st,ai.Element=pt,ai.elements=Wt,ai.Interaction=ve,ai.layouts=ke,ai.platform=Ve,ai.plugins=Ee,ai.Scale=fi,ai.scaleService=He,ai.Ticks=li,ai.Tooltip=Je,ai.helpers.each(tn,function(t,e){ai.scaleService.registerScaleType(e,t,t._defaults)}),yn)yn.hasOwnProperty(_n)&&ai.plugins.register(yn[_n]);ai.platform.initialize();var Cn=ai;return"undefined"!=typeof window&&(window.Chart=ai),ai.Chart=ai,ai.Legend=yn.legend._element,ai.Title=yn.title._element,ai.pluginService=ai.plugins,ai.PluginBase=ai.Element.extend({}),ai.canvasHelpers=ai.helpers.canvas,ai.layoutService=ai.layouts,ai.LinearScaleBase=bi,ai.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],function(t){ai[t]=function(e,i){return new ai(e,ai.helpers.merge(i||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}}),Cn}); diff --git a/lib/crowdfunding/lib/js/counter.js b/lib/crowdfunding/lib/js/counter.js new file mode 100755 index 0000000..db39dea --- /dev/null +++ b/lib/crowdfunding/lib/js/counter.js @@ -0,0 +1,45 @@ +$(document).ready(function(){ + var selector = $('.count'); + var replay = 'replay' + + function isScrolledIntoView(el) { + var docViewTop = $(window).scrollTop(); + var docViewBottom = docViewTop + $(window).height(); + var elTop = el.offset().top; + var elBottom = elTop + el.height(); + return ((elBottom <= docViewBottom) && (elTop >= docViewTop)); + } + + function animate_numbers(element) { + if (isScrolledIntoView(element)) { + element.addClass('started').css('visibility','visible') + var startnum = element.text(); + if(element.text() % 1 === 0 && $.isNumeric(element.text())) { + var step = function () { element.text(Math.ceil(this.Counter)); } + } else if(element.text() % 1 !== 0 && $.isNumeric(element.text())) { + var step = function () { element.text(this.Counter.toFixed(2)); } + } + jQuery({ Counter: 0 }).animate({ Counter: element.text() }, { + duration : 2000, + complete: function() { element.text($.trim(startnum)).addClass('finished').removeClass('started'); }, + step: step + }); + } + } + + selector.each(function () { + /*$(this).css('visibility','hidden');*/ /* This sometimes causes numbers to not display at all.*/ + animate_numbers($(this)); + }); + + $(document).on("scroll", function () { + selector.not('.finished, .started').each(function () { + animate_numbers($(this)); + }); + selector.each(function () { + if(!isScrolledIntoView($(this)) && $(this).hasClass(replay)) { + $(this).removeClass('finished'); + } + }); + }); +}); \ No newline at end of file diff --git a/lib/crowdfunding/lib/js/generate.js b/lib/crowdfunding/lib/js/generate.js new file mode 100755 index 0000000..bb406cd --- /dev/null +++ b/lib/crowdfunding/lib/js/generate.js @@ -0,0 +1,403 @@ +(function ($) { + "use strict"; + + /*[ Smooth Scroll ] + ===========================================================*/ + $('#smooth-scroll').on('click', function() { + + var page = $(this).attr('href'); + + $('html, body').animate( { scrollTop: $(page).offset().top }, 750 ); + + return false; + }); + + /*[ Back to top ] + ===========================================================*/ + var windowH = $(window).height()*1.2; + + $(window).on('scroll',function(){ + + if ($(this).scrollTop() > windowH) { + + $("#back-to-top").css('display','flex'); + + } else { + + $("#back-to-top").css('display','none'); + + } + }); + + $('#back-to-top').on("click", function(){ + + $('html, body').animate({scrollTop: $('#content').offset().top}, 300); + }); + + /*[ onLoad/onChange : Update IHM & params ] + ===========================================================*/ + var type = 'iframe'; + + function resetForm(){ + + type= 'iframe'; + + url = base_url + 'iframe.php'; + + $('#type option[value="iframe"]').prop('selected', true); + $('#pubkey').val(''); + $('#target').val(''); + $('#title').val(''); + $('#theme').val('paidge'); + $('#unit option[value="quantitative"]').prop('selected', true); + $('#lang option[value="fr"]').prop('selected', true); + $('#node').val(''); + $('#period option[value="current-monh"]').prop('selected', true); + $('#start_date').val(''); + $('#end_date').val(''); + $('#p-start_date').addClass("w3-hide"); + $('#p-end_date').addClass("w3-hide"); + $('#hide_title').prop( "checked", false ); + $('#display_pubkey').prop( "checked", false ); + $('#display_qrcode').prop( "checked", false ); + $('#display_button').prop( "checked", false ); + $('#display_graph').prop( "checked", false ); + $('#logo option[value="no-logo"]').prop('selected', true); + $('#p-logo').addClass("w3-hide"); + $('#p-display_button').removeClass("w3-hide"); + $('#p-display_graph').removeClass("w3-hide"); + $('#background_color').val('#ffffff'); + $('#font_color').val('#212529'); + $('#progress_color').val('#ffc107'); + $('#border_color').val('#343a40'); + $('#preview_label').addClass("w3-hide"); + $('#result').val(''); + + for (var param in params) { + + params[param] = ''; + } + } + $(window).on('load',resetForm); + + $('#type').on('change', function() { + type = this.value; + + switch (type) { + case 'iframe': + $('#p-logo').addClass("w3-hide"); + params['logo'] = ''; + $('#p-display_button').removeClass("w3-hide"); + $('#p-display_graph').removeClass("w3-hide"); + url = base_url + 'iframe.php'; + break; + case 'png': + $('#p-logo').removeClass("w3-hide"); + $('#p-display_button').addClass("w3-hide"); + $('#p-display_graph').addClass("w3-hide"); + params['display_button'] = ''; + params['display_graph'] = ''; + url = base_url + 'image.php'; + break; + case 'svg': + $('#p-logo').removeClass("w3-hide"); + $('#p-display_button').addClass("w3-hide"); + $('#p-display_graph').addClass("w3-hide"); + params['display_button'] = ''; + params['display_graph'] = ''; + url = base_url + 'svg.php'; + break; + default: + break; + } + }); + + var theme = 'paidge'; + + $('#theme').on('change', function() { + + theme = this.value; + + switch (theme) { + + case 'kickstarter': + $('#p-progress_color').addClass("w3-hide"); + $('#p-logo').addClass("w3-hide"); + $('#p-display-graph').addClass("w3-hide"); + + $('#p-display_button').removeClass("w3-hide"); + $('#p-display_button').removeClass("w3-hide"); + $('#p-display_qrcode').addClass("w3-hide"); + $('#p-display_pubkey').addClass("w3-hide"); + $('#p-display_graph').addClass("w3-hide"); + $('#p-hide_title').addClass("w3-hide"); + $('#p-border_color').addClass("w3-hide"); + $('#p-type').addClass("w3-hide"); + break; + + case 'paidge': + $('#p-progress_color').removeClass("w3-hide"); + $('#p-logo').removeClass("w3-hide"); + $('#p-display_button').addClass("w3-hide"); + $('#p-display_graph').addClass("w3-hide"); + $('#p-display_qrcode').removeClass("w3-hide"); + $('#p-display_pubkey').removeClass("w3-hide"); + $('#p-hide_title').removeClass("w3-hide"); + $('#p-border_color').removeClass("w3-hide"); + $('#p-display_graph').removeClass("w3-hide"); + $('#p-type').removeClass("w3-hide"); + params['display_button'] = ''; + params['display_graph'] = ''; + break; + default: + break; + } + }); + + $('#period').on('change', function() { + var period = this.value; + + switch (period) { + case 'current-monh': + $('#p-start_date').addClass("w3-hide"); + $('#p-end_date').addClass("w3-hide"); + params['start_date'] = ''; + params['end_date'] = ''; + break; + case 'one-date': + $('#p-start_date').removeClass("w3-hide"); + $('#p-end_date').addClass("w3-hide"); + params['end_date'] = ''; + break; + case 'two-dates': + $('#p-start_date').removeClass("w3-hide"); + $('#p-end_date').removeClass("w3-hide"); + break; + } + }); + + $('#hide_title').on('change', function() { params['hide_title'] = $('#hide_title').prop('checked') ? true : ''; }); + + $('#title').on('change', function() {params['title'] = encodeURIComponent(this.value);}); + $('#theme').on('change', function() {params['theme'] = encodeURIComponent(this.value);}); + $('#unit').on('change', function() {params['unit'] = this.value;}); + $('#lang').on('change', function() {params['lang'] = this.value;}); + $('#node').on('change', function() {params['node'] = this.value;}); + $('#start_date').on('change', function() {params['start_date'] = this.value;}); + $('#end_date').on('change', function() {params['end_date'] = this.value;}); + + $('#display_pubkey').on('change', function() {params['display_pubkey'] = $('#display_pubkey').prop('checked') ? true : '';}); + $('#display_qrcode').on('change', function() {params['display_qrcode'] = $('#display_qrcode').prop('checked') ? true : '';}); + $('#display_button').on('change', function() {params['display_button'] = $('#display_button').prop('checked') ? true : '';}); + $('#display_graph').on('change', function() {params['display_graph'] = $('#display_graph').prop('checked') ? true : '';}); + $('#logo').on('change', function() {params['logo'] = $('#logo').val();}); + $('#background_color').on('change', function() {params['background_color'] = this.value.substr(1);}); + $('#font_color').on('change', function() {params['font_color'] = this.value.substr(1);}); + $('#progress_color').on('change', function() {params['progress_color'] = this.value.substr(1);}); + $('#border_color').on('change', function() {params['border_color'] = this.value.substr(1);}); + + /*[ Generate URL ] + ===========================================================*/ + var base_url = document.location.href; + base_url = base_url.substr(0,base_url.lastIndexOf('/')+1); + var url = base_url+'iframe.php'; + + var params = { + + 'title' : '', + 'theme' : '', + 'unit' : '', + 'lang' : '', + 'node' : '', + 'start_date' : '', + 'end_date' : '', + 'hide_title' : '', + 'display_pubkey' : '', + 'display_qrcode' : '', + 'display_button' : '', + 'display_graph' : '', + 'logo' : '', + 'background_color' : '', + 'font_color' : '', + 'progress_color' : '', + 'border_color' : '' + }; + + function generateFullUrl (pubkey, target) { + + var fullUrl = ''; + + fullUrl += url; + + fullUrl += '?pubkey=' + pubkey; + + fullUrl += '&target=' + target; + + for (var param in params) { + + if (params[param] !== '') { + + fullUrl += '&'+param+'='+params[param]; + } + } + + return fullUrl; + } + + function generateHTM (fullUrl, integrationType, title) { + + fullUrl = fullUrl.replace('&', '&'); + + switch (integrationType) { + + case 'iframe': + + return ''; + + case 'png': + + return '' + title + ''; + + case 'svg': + + return ''; + } + + } + + function generateBBCode (fullUrl, integrationType, title) { + + switch (integrationType) { + + case 'iframe': + + return '[url=' + fullUrl + ']'+ title + '[/url]'; + + case 'png': + + return '[img]' + fullUrl + '[/url]'; + + case 'svg': + + return '[img]' + fullUrl + '[/url]'; + } + + } + + function generateMarkdown (fullUrl, integrationType, title) { + + switch (integrationType) { + + case 'iframe': + + return '[' + title + '](' + fullUrl + ')'; + + case 'png': + + return '\![](' + fullUrl + ')'; + + case 'svg': + + return '\![](' + fullUrl + ')'; + } + + } + + function generateWikitext (fullUrl, integrationType, title) { + + switch (integrationType) { + + case 'iframe': + + return '[[' + fullUrl + '|' + title + ']]'; + + case 'png': + + return '[[' + fullUrl + '|{{' + fullUrl + '}}]]'; + + case 'svg': + + return '[[' + fullUrl + '|{{' + fullUrl + '}}]]'; + } + + } + + $('#submit').on("click", function() { + + if (document.getElementById("pubkey").checkValidity() + && document.getElementById("target").checkValidity()) { + + var pubkeyVal = $('#pubkey').val(); + var targetVal = $('#target').val(); + + var fullUrl = generateFullUrl(pubkeyVal, targetVal); + + var title = decodeURIComponent(params['title']); + + var htm = generateHTM(fullUrl, type, title); + var bbcode = generateBBCode(fullUrl, type, title); + var markdown = generateMarkdown(fullUrl, type, title); + var wikitext = generateWikitext(fullUrl, type, title); + + $('form').on("submit", function() { + + $('#preview_label').removeClass("w3-hide"); + $('#preview').css("visibility","hidden"); + $('#preview').children().remove(); + + $('#integration-instructions').removeClass("w3-hide"); + + $('#htm').val(htm); + $('#bbcode').val(bbcode); + $('#markdown').val(markdown); + $('#wikitext').val(wikitext); + + $('html, body').animate({scrollTop: $('#display_result').offset().top}, 750); + + + $('#preview').append(htm); + + if (type == 'iframe') { + + $('iframe').on('load', function() { + + var iframe_height = document.getElementsByTagName('iframe')[0].contentWindow.document.body.scrollHeight; + $('iframe').height(iframe_height); + + // Pour relancer l'animation + $('#preview').html($('#preview').html()); + }); + } + + $('#htm').focus(); + $('.buttons').removeClass("w3-hide"); + + setTimeout(function(){ + + $('#preview').css("visibility","visible"); + $('#integration-instructions').css("visibility","visible"); + + }, 1000); + + return false; + }); + } + }); + + /*[ Reset ] + ===========================================================*/ + + $('#reset').on("click", function(){ + + $('#result').val(''); + + resetForm(); + + $('html, body').animate({scrollTop: $('#content').offset().top}, 300); + + $('#buttons').addClass("w3-hide"); + + $('#preview').children().remove(); + }); + +})(jQuery); \ No newline at end of file diff --git a/lib/crowdfunding/lib/js/jquery-3.4.1.min.js b/lib/crowdfunding/lib/js/jquery-3.4.1.min.js new file mode 100755 index 0000000..a1c07fd --- /dev/null +++ b/lib/crowdfunding/lib/js/jquery-3.4.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 00)for(c=0;c0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(a){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(bge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){ +return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?athis?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a}); \ No newline at end of file diff --git a/lib/crowdfunding/lib/locales.php b/lib/crowdfunding/lib/locales.php new file mode 100755 index 0000000..95a7979 --- /dev/null +++ b/lib/crowdfunding/lib/locales.php @@ -0,0 +1,53 @@ + $var2) { + + $text = str_replace('{{'.$var1.'}}', $var2, $text); + } + + return $text; +} + +function tr($tkey, $vars=array()) { + + global $ttr; + + if (isset($ttr[$tkey])) { + + return bparse($ttr[$tkey], $vars); + } + + return ''; +} + + diff --git a/lib/crowdfunding/lib/phpqrcode/.png-errors.txt b/lib/crowdfunding/lib/phpqrcode/.png-errors.txt new file mode 100755 index 0000000..5a78b07 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/.png-errors.txt @@ -0,0 +1 @@ +2020-01-31 10:58:56: empty string!!!2020-01-31 10:59:36: empty string!!!2020-01-31 11:02:34: empty string!!!2020-01-31 11:03:40: empty string!!!2020-01-31 11:04:15: empty string!!!2020-01-31 11:04:22: empty string!!!2020-01-31 11:08:10: empty string!!!2020-01-31 11:08:56: empty string!!!2020-01-31 11:12:19: empty string!!!2020-01-31 11:14:03: empty string!!!2020-01-31 11:14:41: empty string!!!2020-01-31 11:14:46: empty string!!!2020-01-31 11:17:07: empty string!!!2020-01-31 11:17:32: empty string!!!2020-01-31 11:17:39: empty string!!!2020-01-31 11:17:50: empty string!!!2020-01-31 11:18:15: empty string!!!2020-01-31 11:18:30: empty string!!!2020-01-31 11:31:43: empty string!!!2020-01-31 11:33:07: empty string!!! \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/CHANGELOG b/lib/crowdfunding/lib/phpqrcode/CHANGELOG new file mode 100755 index 0000000..a6c53d2 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/CHANGELOG @@ -0,0 +1,38 @@ +* 1.0.0 build 2010031920 + + - first public release + - help in readme, install + - cleanup ans separation of QRtools and QRspec + - now TCPDF binding requires minimal changes in TCPDF, having most of job + done in QRtools tcpdfBarcodeArray + - nicer QRtools::timeBenchmark output + - license and copyright notices in files + - indent cleanup - from tab to 4spc, keep it that way please :) + - sf project, repository, wiki + - simple code generator in index.php + +* 1.1.0 build 2010032113 + + - added merge tool wich generate merged version of code + located in phpqrcode.php + - splited qrconst.php from qrlib.php + +* 1.1.1 build 2010032405 + + - patch by Rick Seymour allowing saving PNG and displaying it at the same time + - added version info in VERSION file + - modified merge tool to include version info into generated file + - fixed e-mail in almost all head comments + +* 1.1.2 build 2010032722 + + - full integration with TCPDF thanks to Nicola Asuni, it's author + - fixed bug with alphanumeric encoding detection + +* 1.1.3 build 2010081807 + + - short opening tags replaced with standard ones + +* 1.1.4 build 2010100721 + + - added missing static keyword QRinput::check (found by Luke Brookhart, Onjax LLC) diff --git a/lib/crowdfunding/lib/phpqrcode/INSTALL b/lib/crowdfunding/lib/phpqrcode/INSTALL new file mode 100755 index 0000000..0f8e6af --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/INSTALL @@ -0,0 +1,67 @@ +== REQUIREMENTS == + + * PHP5 + * PHP GD2 extension with JPEG and PNG support + +== INSTALLATION == + +If you want to recreate cache by yourself make sure cache directory is +writable and you have permisions to write into it. Also make sure you are +able to read files in it if you have cache option enabled + +== CONFIGURATION == + +Feel free to modify config constants in qrconfig.php file. Read about it in +provided comments and project wiki page (links in README file) + +== QUICK START == + +Notice: probably you should'nt use all of this in same script :) + +encode('PHP QR Code :)'); +QRspec::debug($tab, true); + +== TCPDF INTEGRATION == + +Inside bindings/tcpdf you will find slightly modified 2dbarcodes.php. +Instal phpqrcode liblaty inside tcpdf folder, then overwrite (or merge) +2dbarcodes.php + +Then use similar as example #50 from TCPDF examples: + + true, + 'padding' => 4, + 'fgcolor' => array(0,0,0), + 'bgcolor' => false, //array(255,255,255) +); + +//code name: QR, specify error correction level after semicolon (L,M,Q,H) +$pdf->write2DBarcode('PHP QR Code :)', 'QR,L', '', '', 30, 30, $style, 'N'); diff --git a/lib/crowdfunding/lib/phpqrcode/LICENSE b/lib/crowdfunding/lib/phpqrcode/LICENSE new file mode 100755 index 0000000..31afd6d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/lib/crowdfunding/lib/phpqrcode/README b/lib/crowdfunding/lib/phpqrcode/README new file mode 100755 index 0000000..e5cf608 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/README @@ -0,0 +1,61 @@ +This is PHP implementation of QR Code 2-D barcode generator. It is pure-php +LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi. + +== UPDATE == +Added support for eps export +Usage : QRcode::eps('arguments'); + +Added support for SVG export +Usage : QRcode::svg('arguments'); + +Added support for color export : +example : +$back_color = 0xFFFF00; +$fore_color = 0xFF00FF; +QRcode::png('some othertext 1234', false, 'h', 20, 1, false, $back_color, $fore_color); + + +Copyright (C) 2012 by Alexandre Assouad + +== LICENSING == + +Copyright (C) 2010 by Dominik Dzienia + +This library is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free +Software Foundation; either version 3 of the License, or any later version. + +This library is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file) +for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this library; if not, write to the Free Software Foundation, Inc., 51 +Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +== INSTALATION AND USAGE == + + * INSTALL file + * http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page + +== CONTACT == + +Fell free to contact me via e-mail (deltalab at poczta dot fm) or using +folowing project pages: + + * http://sourceforge.net/projects/phpqrcode/ + * http://phpqrcode.sourceforge.net/ + +== ACKNOWLEDGMENTS == + +Based on C libqrencode library (ver. 3.1.1) +Copyright (C) 2006-2010 by Kentaro Fukuchi +http://megaui.net/fukuchi/works/qrencode/index.en.html + +QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other +countries. + +Reed-Solomon code encoder is written by Phil Karn, KA9Q. +Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q + diff --git a/lib/crowdfunding/lib/phpqrcode/VERSION b/lib/crowdfunding/lib/phpqrcode/VERSION new file mode 100755 index 0000000..2677b36 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/VERSION @@ -0,0 +1,2 @@ +1.1.4 +2010100721 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/bindings/tcpdf/qrcode.php b/lib/crowdfunding/lib/phpqrcode/bindings/tcpdf/qrcode.php new file mode 100755 index 0000000..7995460 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/bindings/tcpdf/qrcode.php @@ -0,0 +1,2875 @@ + +// http://phpqrcode.sourceforge.net/ +// https://sourceforge.net/projects/phpqrcode/ +// +// The "PHP QR Code encoder" is based on +// "C libqrencode library" (ver. 3.1.1) +// License: GNU-LGPL 2.1 +// Copyright (C) 2006-2010 by Kentaro Fukuchi +// http://megaui.net/fukuchi/works/qrencode/index.en.html +// +// Reed-Solomon code encoder is written by Phil Karn, KA9Q. +// Copyright (C) 2002-2006 Phil Karn, KA9Q +// +// QR Code is registered trademark of DENSO WAVE INCORPORATED +// http://www.denso-wave.com/qrcode/index-e.html +// --------------------------------------------------------- +// +// Author: Nicola Asuni +// +// (c) Copyright 2010: +// Nicola Asuni +// Tecnick.com S.r.l. +// Via della Pace, 11 +// 09044 Quartucciu (CA) +// ITALY +// www.tecnick.com +// info@tecnick.com +//============================================================+ + +/** + * Class to create QR-code arrays for TCPDF class. + * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. + * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. + * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. + * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode. + * + * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). + * Please read comments on this class source file for full copyright and license information. + * + * @package com.tecnick.tcpdf + * @abstract Class for generating QR-code array for TCPDF. + * @author Nicola Asuni + * @copyright 2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com + * @link http://www.tcpdf.org + * @license http://www.gnu.org/copyleft/lesser.html LGPL + * @version 1.0.002 + */ + +// definitions +if (!defined('QRCODEDEFS')) { + + /** + * Indicate that definitions for this class are set + */ + define('QRCODEDEFS', true); + + // ----------------------------------------------------- + + // Encoding modes (characters which can be encoded in QRcode) + + /** + * Encoding mode + */ + define('QR_MODE_NL', -1); + + /** + * Encoding mode numeric (0-9). 3 characters are encoded to 10bit length. In theory, 7089 characters or less can be stored in a QRcode. + */ + define('QR_MODE_NM', 0); + + /** + * Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. In theory, 4296 characters or less can be stored in a QRcode. + */ + define('QR_MODE_AN', 1); + + /** + * Encoding mode 8bit byte data. In theory, 2953 characters or less can be stored in a QRcode. + */ + define('QR_MODE_8B', 2); + + /** + * Encoding mode KANJI. A KANJI character (multibyte character) is encoded to 13bit length. In theory, 1817 characters or less can be stored in a QRcode. + */ + define('QR_MODE_KJ', 3); + + /** + * Encoding mode STRUCTURED (currently unsupported) + */ + define('QR_MODE_ST', 4); + + // ----------------------------------------------------- + + // Levels of error correction. + // QRcode has a function of an error correcting for miss reading that white is black. + // Error correcting is defined in 4 level as below. + + /** + * Error correction level L : About 7% or less errors can be corrected. + */ + define('QR_ECLEVEL_L', 0); + + /** + * Error correction level M : About 15% or less errors can be corrected. + */ + define('QR_ECLEVEL_M', 1); + + /** + * Error correction level Q : About 25% or less errors can be corrected. + */ + define('QR_ECLEVEL_Q', 2); + + /** + * Error correction level H : About 30% or less errors can be corrected. + */ + define('QR_ECLEVEL_H', 3); + + // ----------------------------------------------------- + + // Version. Size of QRcode is defined as version. + // Version is from 1 to 40. + // Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. + // So version 40 is 177*177 matrix. + + /** + * Maximum QR Code version. + */ + define('QRSPEC_VERSION_MAX', 40); + + /** + * Maximum matrix size for maximum version (version 40 is 177*177 matrix). + */ + define('QRSPEC_WIDTH_MAX', 177); + + // ----------------------------------------------------- + + /** + * Matrix index to get width from $capacity array. + */ + define('QRCAP_WIDTH', 0); + + /** + * Matrix index to get number of words from $capacity array. + */ + define('QRCAP_WORDS', 1); + + /** + * Matrix index to get remainder from $capacity array. + */ + define('QRCAP_REMINDER', 2); + + /** + * Matrix index to get error correction level from $capacity array. + */ + define('QRCAP_EC', 3); + + // ----------------------------------------------------- + + // Structure (currently usupported) + + /** + * Number of header bits for structured mode + */ + define('STRUCTURE_HEADER_BITS', 20); + + /** + * Max number of symbols for structured mode + */ + define('MAX_STRUCTURED_SYMBOLS', 16); + + // ----------------------------------------------------- + + // Masks + + /** + * Down point base value for case 1 mask pattern (concatenation of same color in a line or a column) + */ + define('N1', 3); + + /** + * Down point base value for case 2 mask pattern (module block of same color) + */ + define('N2', 3); + + /** + * Down point base value for case 3 mask pattern (1:1:3:1:1(dark:bright:dark:bright:dark)pattern in a line or a column) + */ + define('N3', 40); + + /** + * Down point base value for case 4 mask pattern (ration of dark modules in whole) + */ + define('N4', 10); + + // ----------------------------------------------------- + + // Optimization settings + + /** + * if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code + */ + define('QR_FIND_BEST_MASK', true); + + /** + * if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly + */ + define('QR_FIND_FROM_RANDOM', 2); + + /** + * when QR_FIND_BEST_MASK === false + */ + define('QR_DEFAULT_MASK', 2); + + // ----------------------------------------------------- + +} // end of definitions + +// #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*# + +if (!class_exists('QRcode', false)) { + + // for compaibility with PHP4 + if (!function_exists('str_split')) { + /** + * Convert a string to an array (needed for PHP4 compatibility) + * @param string $string The input string. + * @param int $split_length Maximum length of the chunk. + * @return If the optional split_length parameter is specified, the returned array will be broken down into chunks with each being split_length in length, otherwise each chunk will be one character in length. FALSE is returned if split_length is less than 1. If the split_length length exceeds the length of string , the entire string is returned as the first (and only) array element. + */ + function str_split($string, $split_length=1) { + if ((strlen($string) > $split_length) OR (!$split_length)) { + do { + $c = strlen($string); + $parts[] = substr($string, 0, $split_length); + $string = substr($string, $split_length); + } while ($string !== false); + } else { + $parts = array($string); + } + return $parts; + } + } + + // ##################################################### + + /** + * Class to create QR-code arrays for TCPDF class. + * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. + * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. + * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. + * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode. + * + * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). + * Please read comments on this class source file for full copyright and license information. + * + * @name QRcode + * @package com.tecnick.tcpdf + * @abstract Class for generating QR-code array for TCPDF. + * @author Nicola Asuni + * @copyright 2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com + * @link http://www.tcpdf.org + * @license http://www.gnu.org/copyleft/lesser.html LGPL + * @version 1.0.002 + */ + class QRcode { + + /** + * @var barcode array to be returned which is readable by TCPDF + * @access protected + */ + protected $barcode_array = array(); + + /** + * @var QR code version. Size of QRcode is defined as version. Version is from 1 to 40. Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. So version 40 is 177*177 matrix. + * @access protected + */ + protected $version = 0; + + /** + * @var Levels of error correction. See definitions for possible values. + * @access protected + */ + protected $level = QR_ECLEVEL_L; + + /** + * @var Encoding mode + * @access protected + */ + protected $hint = QR_MODE_8B; + + /** + * @var if true the input string will be converted to uppercase + * @access protected + */ + protected $casesensitive = true; + + /** + * @var structured QR code (not supported yet) + * @access protected + */ + protected $structured = 0; + + /** + * @var mask data + * @access protected + */ + protected $data; + + // FrameFiller + + /** + * @var width + * @access protected + */ + protected $width; + + /** + * @var frame + * @access protected + */ + protected $frame; + + /** + * @var X position of bit + * @access protected + */ + protected $x; + + /** + * @var Y position of bit + * @access protected + */ + protected $y; + + /** + * @var direction + * @access protected + */ + protected $dir; + + /** + * @var single bit + * @access protected + */ + protected $bit; + + // ---- QRrawcode ---- + + /** + * @var data code + * @access protected + */ + protected $datacode = array(); + + /** + * @var error correction code + * @access protected + */ + protected $ecccode = array(); + + /** + * @var blocks + * @access protected + */ + protected $blocks; + + /** + * @var Reed-Solomon blocks + * @access protected + */ + protected $rsblocks = array(); //of RSblock + + /** + * @var counter + * @access protected + */ + protected $count; + + /** + * @var data length + * @access protected + */ + protected $dataLength; + + /** + * @var error correction length + * @access protected + */ + protected $eccLength; + + /** + * @var b1 + * @access protected + */ + protected $b1; + + // ---- QRmask ---- + + /** + * @var run length + * @access protected + */ + protected $runLength = array(); + + // ---- QRsplit ---- + + /** + * @var input data string + * @access protected + */ + protected $dataStr = ''; + + /** + * @var input items + * @access protected + */ + protected $items; + + // Reed-Solomon items + + /** + * @var Reed-Solomon items + * @access protected + */ + protected $rsitems = array(); + + /** + * @var array of frames + * @access protected + */ + protected $frames = array(); + + /** + * @var alphabet-numeric convesion table + * @access protected + */ + protected $anTable = array( + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // + 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, // + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, // + -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, // + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, // + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // + ); + + /** + * @var array Table of the capacity of symbols + * See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004. + * @access protected + */ + protected $capacity = array( + array( 0, 0, 0, array( 0, 0, 0, 0)), // + array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 + array( 25, 44, 7, array( 10, 16, 22, 28)), // + array( 29, 70, 7, array( 15, 26, 36, 44)), // + array( 33, 100, 7, array( 20, 36, 52, 64)), // + array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 + array( 41, 172, 7, array( 36, 64, 96, 112)), // + array( 45, 196, 0, array( 40, 72, 108, 130)), // + array( 49, 242, 0, array( 48, 88, 132, 156)), // + array( 53, 292, 0, array( 60, 110, 160, 192)), // + array( 57, 346, 0, array( 72, 130, 192, 224)), // 10 + array( 61, 404, 0, array( 80, 150, 224, 264)), // + array( 65, 466, 0, array( 96, 176, 260, 308)), // + array( 69, 532, 0, array( 104, 198, 288, 352)), // + array( 73, 581, 3, array( 120, 216, 320, 384)), // + array( 77, 655, 3, array( 132, 240, 360, 432)), // 15 + array( 81, 733, 3, array( 144, 280, 408, 480)), // + array( 85, 815, 3, array( 168, 308, 448, 532)), // + array( 89, 901, 3, array( 180, 338, 504, 588)), // + array( 93, 991, 3, array( 196, 364, 546, 650)), // + array( 97, 1085, 3, array( 224, 416, 600, 700)), // 20 + array(101, 1156, 4, array( 224, 442, 644, 750)), // + array(105, 1258, 4, array( 252, 476, 690, 816)), // + array(109, 1364, 4, array( 270, 504, 750, 900)), // + array(113, 1474, 4, array( 300, 560, 810, 960)), // + array(117, 1588, 4, array( 312, 588, 870, 1050)), // 25 + array(121, 1706, 4, array( 336, 644, 952, 1110)), // + array(125, 1828, 4, array( 360, 700, 1020, 1200)), // + array(129, 1921, 3, array( 390, 728, 1050, 1260)), // + array(133, 2051, 3, array( 420, 784, 1140, 1350)), // + array(137, 2185, 3, array( 450, 812, 1200, 1440)), // 30 + array(141, 2323, 3, array( 480, 868, 1290, 1530)), // + array(145, 2465, 3, array( 510, 924, 1350, 1620)), // + array(149, 2611, 3, array( 540, 980, 1440, 1710)), // + array(153, 2761, 3, array( 570, 1036, 1530, 1800)), // + array(157, 2876, 0, array( 570, 1064, 1590, 1890)), // 35 + array(161, 3034, 0, array( 600, 1120, 1680, 1980)), // + array(165, 3196, 0, array( 630, 1204, 1770, 2100)), // + array(169, 3362, 0, array( 660, 1260, 1860, 2220)), // + array(173, 3532, 0, array( 720, 1316, 1950, 2310)), // + array(177, 3706, 0, array( 750, 1372, 2040, 2430)) // 40 + ); + + /** + * @var array Length indicator + * @access protected + */ + protected $lengthTableBits = array( + array(10, 12, 14), + array( 9, 11, 13), + array( 8, 16, 16), + array( 8, 10, 12) + ); + + /** + * @var array Table of the error correction code (Reed-Solomon block) + * See Table 12-16 (pp.30-36), JIS X0510:2004. + * @access protected + */ + protected $eccTable = array( + array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), // + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // + array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), // + array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), // + array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 + array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), // + array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), // + array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), // + array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), // + array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), // 10 + array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), // + array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), // + array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), // + array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), // + array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), // 15 + array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), // + array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), // + array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), // + array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), // + array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), // 20 + array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), // + array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), // + array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), // + array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), // + array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), // 25 + array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), // + array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), // + array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), // + array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), // + array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), // 30 + array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), // + array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), // + array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), // + array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), // + array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), // 35 + array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), // + array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), // + array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), // + array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), // + array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)) // 40 + ); + + /** + * @var array Positions of alignment patterns. + * This array includes only the second and the third position of the alignment patterns. Rest of them can be calculated from the distance between them. + * See Table 1 in Appendix E (pp.71) of JIS X0510:2004. + * @access protected + */ + protected $alignmentPattern = array( + array( 0, 0), + array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 + array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 + array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), // 11-15 + array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), // 16-20 + array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), // 21-25 + array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), // 26-30 + array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), // 31-35 + array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58) // 35-40 + ); + + /** + * @var array Version information pattern (BCH coded). + * See Table 1 in Appendix D (pp.68) of JIS X0510:2004. + * size: [QRSPEC_VERSION_MAX - 6] + * @access protected + */ + protected $versionPattern = array( + 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, // + 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, // + 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, // + 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, // + 0x27541, 0x28c69 + ); + + /** + * @var array Format information + * @access protected + */ + protected $formatInfo = array( + array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), // + array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), // + array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), // + array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) // + ); + + + // ------------------------------------------------- + // ------------------------------------------------- + + + /** + * This is the class constructor. + * Creates a QRcode object + * @param string $code code to represent using QRcode + * @param string $eclevel error level:
    • L : About 7% or less errors can be corrected.
    • M : About 15% or less errors can be corrected.
    • Q : About 25% or less errors can be corrected.
    • H : About 30% or less errors can be corrected.
    + * @access public + * @since 1.0.000 + */ + public function __construct($code, $eclevel = 'L') { + $barcode_array = array(); + if ((is_null($code)) OR ($code == '\0') OR ($code == '')) { + return false; + } + // set error correction level + $this->level = array_search($eclevel, array('L', 'M', 'Q', 'H')); + if ($this->level === false) { + $this->level = QR_ECLEVEL_L; + } + if (($this->hint != QR_MODE_8B) AND ($this->hint != QR_MODE_KJ)) { + return false; + } + if (($this->version < 0) OR ($this->version > QRSPEC_VERSION_MAX)) { + return false; + } + $this->items = array(); + $this->encodeString($code); + $qrTab = $this->binarize($this->data); + $size = count($qrTab); + $barcode_array['num_rows'] = $size; + $barcode_array['num_cols'] = $size; + $barcode_array['bcode'] = array(); + foreach ($qrTab as $line) { + $arrAdd = array(); + foreach (str_split($line) as $char) { + $arrAdd[] = ($char=='1')?1:0; + } + $barcode_array['bcode'][] = $arrAdd; + } + $this->barcode_array = $barcode_array; + } + + /** + * Returns a barcode array which is readable by TCPDF + * @return array barcode array readable by TCPDF; + * @access public + */ + public function getBarcodeArray() { + return $this->barcode_array; + } + + /** + * Convert the frame in binary form + * @param array $frame array to binarize + * @return array frame in binary form + */ + protected function binarize($frame) { + $len = count($frame); + // the frame is square (width = height) + foreach ($frame as &$frameLine) { + for ($i=0; $i<$len; $i++) { + $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; + } + } + return $frame; + } + + /** + * Encode the input string to QR code + * @param string $string input string to encode + */ + protected function encodeString($string) { + $this->dataStr = $string; + if (!$this->casesensitive) { + $this->toUpper(); + } + $ret = $this->splitString(); + if ($ret < 0) { + return NULL; + } + $this->encodeMask(-1); + } + + /** + * Encode mask + * @param int $mask masking mode + */ + protected function encodeMask($mask) { + $spec = array(0, 0, 0, 0, 0); + $this->datacode = $this->getByteStream($this->items); + if (is_null($this->datacode)) { + return NULL; + } + $spec = $this->getEccSpec($this->version, $this->level, $spec); + $this->b1 = $this->rsBlockNum1($spec); + $this->dataLength = $this->rsDataLength($spec); + $this->eccLength = $this->rsEccLength($spec); + $this->ecccode = array_fill(0, $this->eccLength, 0); + $this->blocks = $this->rsBlockNum($spec); + $ret = $this->init($spec); + if ($ret < 0) { + return NULL; + } + $this->count = 0; + $this->width = $this->getWidth($this->version); + $this->frame = $this->newFrame($this->version); + $this->x = $this->width - 1; + $this->y = $this->width - 1; + $this->dir = -1; + $this->bit = -1; + // inteleaved data and ecc codes + for ($i=0; $i < ($this->dataLength + $this->eccLength); $i++) { + $code = $this->getCode(); + $bit = 0x80; + for ($j=0; $j<8; $j++) { + $addr = $this->getNextPosition(); + $this->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); + $bit = $bit >> 1; + } + } + // remainder bits + $j = $this->getRemainder($this->version); + for ($i=0; $i<$j; $i++) { + $addr = $this->getNextPosition(); + $this->setFrameAt($addr, 0x02); + } + // masking + $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); + if ($mask < 0) { + if (QR_FIND_BEST_MASK) { + $masked = $this->mask($this->width, $this->frame, $this->level); + } else { + $masked = $this->makeMask($this->width, $this->frame, (intval(QR_DEFAULT_MASK) % 8), $this->level); + } + } else { + $masked = $this->makeMask($this->width, $this->frame, $mask, $this->level); + } + if ($masked == NULL) { + return NULL; + } + $this->data = $masked; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // FrameFiller + + /** + * Set frame value at specified position + * @param array $at x,y position + * @param int $val value of the character to set + */ + protected function setFrameAt($at, $val) { + $this->frame[$at['y']][$at['x']] = chr($val); + } + + /** + * Get frame value at specified position + * @param array $at x,y position + * @return value at specified position + */ + protected function getFrameAt($at) { + return ord($this->frame[$at['y']][$at['x']]); + } + + /** + * Return the next frame position + * @return array of x,y coordinates + */ + protected function getNextPosition() { + do { + if ($this->bit == -1) { + $this->bit = 0; + return array('x'=>$this->x, 'y'=>$this->y); + } + $x = $this->x; + $y = $this->y; + $w = $this->width; + if ($this->bit == 0) { + $x--; + $this->bit++; + } else { + $x++; + $y += $this->dir; + $this->bit--; + } + if ($this->dir < 0) { + if ($y < 0) { + $y = 0; + $x -= 2; + $this->dir = 1; + if ($x == 6) { + $x--; + $y = 9; + } + } + } else { + if ($y == $w) { + $y = $w - 1; + $x -= 2; + $this->dir = -1; + if ($x == 6) { + $x--; + $y -= 8; + } + } + } + if (($x < 0) OR ($y < 0)) { + return NULL; + } + $this->x = $x; + $this->y = $y; + } while(ord($this->frame[$y][$x]) & 0x80); + return array('x'=>$x, 'y'=>$y); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRrawcode + + /** + * Initialize code. + * @param array $spec array of ECC specification + * @return 0 in case of success, -1 in case of error + */ + protected function init($spec) { + $dl = $this->rsDataCodes1($spec); + $el = $this->rsEccCodes1($spec); + $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + $blockNo = 0; + $dataPos = 0; + $eccPos = 0; + $endfor = $this->rsBlockNum1($spec); + for ($i=0; $i < $endfor; ++$i) { + $ecc = array_slice($this->ecccode, $eccPos); + $this->rsblocks[$blockNo] = array(); + $this->rsblocks[$blockNo]['dataLength'] = $dl; + $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos); + $this->rsblocks[$blockNo]['eccLength'] = $el; + $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc); + $this->rsblocks[$blockNo]['ecc'] = $ecc; + $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + if ($this->rsBlockNum2($spec) == 0) { + return 0; + } + $dl = $this->rsDataCodes2($spec); + $el = $this->rsEccCodes2($spec); + $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + if ($rs == NULL) { + return -1; + } + $endfor = $this->rsBlockNum2($spec); + for ($i=0; $i < $endfor; ++$i) { + $ecc = array_slice($this->ecccode, $eccPos); + $this->rsblocks[$blockNo] = array(); + $this->rsblocks[$blockNo]['dataLength'] = $dl; + $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos); + $this->rsblocks[$blockNo]['eccLength'] = $el; + $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc); + $this->rsblocks[$blockNo]['ecc'] = $ecc; + $this->ecccode = array_merge(array_slice($this->ecccode, 0, $eccPos), $ecc); + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + return 0; + } + + /** + * Return Reed-Solomon block code. + * @return array rsblocks + */ + protected function getCode() { + if ($this->count < $this->dataLength) { + $row = $this->count % $this->blocks; + $col = $this->count / $this->blocks; + if ($col >= $this->rsblocks[0]['dataLength']) { + $row += $this->b1; + } + $ret = $this->rsblocks[$row]['data'][$col]; + } elseif ($this->count < $this->dataLength + $this->eccLength) { + $row = ($this->count - $this->dataLength) % $this->blocks; + $col = ($this->count - $this->dataLength) / $this->blocks; + $ret = $this->rsblocks[$row]['ecc'][$col]; + } else { + return 0; + } + $this->count++; + return $ret; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRmask + + /** + * Write Format Information on frame and returns the number of black bits + * @param int $width frame width + * @param array $frame frame + * @param array $mask masking mode + * @param int $level error correction level + * @return int blacks + */ + protected function writeFormatInformation($width, &$frame, $mask, $level) { + $blacks = 0; + $format = $this->getFormatInfo($mask, $level); + for ($i=0; $i<8; ++$i) { + if ($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + $frame[8][$width - 1 - $i] = chr($v); + if ($i < 6) { + $frame[$i][8] = chr($v); + } else { + $frame[$i + 1][8] = chr($v); + } + $format = $format >> 1; + } + for ($i=0; $i<7; ++$i) { + if ($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + $frame[$width - 7 + $i][8] = chr($v); + if ($i == 0) { + $frame[8][7] = chr($v); + } else { + $frame[8][6 - $i] = chr($v); + } + $format = $format >> 1; + } + return $blacks; + } + + /** + * mask0 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask0($x, $y) { + return ($x + $y) & 1; + } + + /** + * mask1 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask1($x, $y) { + return ($y & 1); + } + + /** + * mask2 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask2($x, $y) { + return ($x % 3); + } + + /** + * mask3 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask3($x, $y) { + return ($x + $y) % 3; + } + + /** + * mask4 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask4($x, $y) { + return (((int)($y / 2)) + ((int)($x / 3))) & 1; + } + + /** + * mask5 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask5($x, $y) { + return (($x * $y) & 1) + ($x * $y) % 3; + } + + /** + * mask6 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask6($x, $y) { + return ((($x * $y) & 1) + ($x * $y) % 3) & 1; + } + + /** + * mask7 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask7($x, $y) { + return ((($x * $y) % 3) + (($x + $y) & 1)) & 1; + } + + /** + * Return bitmask + * @param int $maskNo mask number + * @param int $width width + * @param array $frame frame + * @return array bitmask + */ + protected function generateMaskNo($maskNo, $width, $frame) { + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + for ($y=0; $y<$width; ++$y) { + for ($x=0; $x<$width; ++$x) { + if (ord($frame[$y][$x]) & 0x80) { + $bitMask[$y][$x] = 0; + } else { + $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); + $bitMask[$y][$x] = ($maskFunc == 0)?1:0; + } + } + } + return $bitMask; + } + + /** + * makeMaskNo + * @param int $maskNo + * @param int $width + * @param int $s + * @param int $d + * @param boolean $maskGenOnly + * @return int b + */ + protected function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly=false) { + $b = 0; + $bitMask = array(); + $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); + if ($maskGenOnly) { + return; + } + $d = $s; + for ($y=0; $y<$width; ++$y) { + for ($x=0; $x<$width; ++$x) { + if ($bitMask[$y][$x] == 1) { + $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); + } + $b += (int)(ord($d[$y][$x]) & 1); + } + } + return $b; + } + + /** + * makeMask + * @param int $width + * @param array $frame + * @param int $maskNo + * @param int $level + * @return array mask + */ + protected function makeMask($width, $frame, $maskNo, $level) { + $masked = array_fill(0, $width, str_repeat("\0", $width)); + $this->makeMaskNo($maskNo, $width, $frame, $masked); + $this->writeFormatInformation($width, $masked, $maskNo, $level); + return $masked; + } + + /** + * calcN1N3 + * @param int $length + * @return int demerit + */ + protected function calcN1N3($length) { + $demerit = 0; + for ($i=0; $i<$length; ++$i) { + if ($this->runLength[$i] >= 5) { + $demerit += (N1 + ($this->runLength[$i] - 5)); + } + if ($i & 1) { + if (($i >= 3) AND ($i < ($length-2)) AND ($this->runLength[$i] % 3 == 0)) { + $fact = (int)($this->runLength[$i] / 3); + if (($this->runLength[$i-2] == $fact) + AND ($this->runLength[$i-1] == $fact) + AND ($this->runLength[$i+1] == $fact) + AND ($this->runLength[$i+2] == $fact)) { + if (($this->runLength[$i-3] < 0) OR ($this->runLength[$i-3] >= (4 * $fact))) { + $demerit += N3; + } elseif ((($i+3) >= $length) OR ($this->runLength[$i+3] >= (4 * $fact))) { + $demerit += N3; + } + } + } + } + } + return $demerit; + } + + /** + * evaluateSymbol + * @param int $width + * @param array $frame + * @return int demerit + */ + protected function evaluateSymbol($width, $frame) { + $head = 0; + $demerit = 0; + for ($y=0; $y<$width; ++$y) { + $head = 0; + $this->runLength[0] = 1; + $frameY = $frame[$y]; + if ($y > 0) { + $frameYM = $frame[$y-1]; + } + for ($x=0; $x<$width; ++$x) { + if (($x > 0) AND ($y > 0)) { + $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); + $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); + if (($b22 | ($w22 ^ 1)) & 1) { + $demerit += N2; + } + } + if (($x == 0) AND (ord($frameY[$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } elseif ($x > 0) { + if ((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + $demerit += $this->calcN1N3($head+1); + } + for ($x=0; $x<$width; ++$x) { + $head = 0; + $this->runLength[0] = 1; + for ($y=0; $y<$width; ++$y) { + if (($y == 0) AND (ord($frame[$y][$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } elseif ($y > 0) { + if ((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + $demerit += $this->calcN1N3($head+1); + } + return $demerit; + } + + /** + * mask + * @param int $width + * @param array $frame + * @param int $level + * @return array best mask + */ + protected function mask($width, $frame, $level) { + $minDemerit = PHP_INT_MAX; + $bestMaskNum = 0; + $bestMask = array(); + $checked_masks = array(0, 1, 2, 3, 4, 5, 6, 7); + if (QR_FIND_FROM_RANDOM !== false) { + $howManuOut = 8 - (QR_FIND_FROM_RANDOM % 9); + for ($i = 0; $i < $howManuOut; ++$i) { + $remPos = rand (0, count($checked_masks)-1); + unset($checked_masks[$remPos]); + $checked_masks = array_values($checked_masks); + } + } + $bestMask = $frame; + foreach ($checked_masks as $i) { + $mask = array_fill(0, $width, str_repeat("\0", $width)); + $demerit = 0; + $blacks = 0; + $blacks = $this->makeMaskNo($i, $width, $frame, $mask); + $blacks += $this->writeFormatInformation($width, $mask, $i, $level); + $blacks = (int)(100 * $blacks / ($width * $width)); + $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); + $demerit += $this->evaluateSymbol($width, $mask); + if ($demerit < $minDemerit) { + $minDemerit = $demerit; + $bestMask = $mask; + $bestMaskNum = $i; + } + } + return $bestMask; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRsplit + + /** + * Return true if the character at specified position is a number + * @param string $str string + * @param int $pos characted position + * @return boolean true of false + */ + protected function isdigitat($str, $pos) { + if ($pos >= strlen($str)) { + return false; + } + return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); + } + + /** + * Return true if the character at specified position is an alphanumeric character + * @param string $str string + * @param int $pos characted position + * @return boolean true of false + */ + protected function isalnumat($str, $pos) { + if ($pos >= strlen($str)) { + return false; + } + return ($this->lookAnTable(ord($str[$pos])) >= 0); + } + + /** + * identifyMode + * @param int $pos + * @return int mode + */ + protected function identifyMode($pos) { + if ($pos >= strlen($this->dataStr)) { + return QR_MODE_NL; + } + $c = $this->dataStr[$pos]; + if ($this->isdigitat($this->dataStr, $pos)) { + return QR_MODE_NM; + } elseif ($this->isalnumat($this->dataStr, $pos)) { + return QR_MODE_AN; + } elseif ($this->hint == QR_MODE_KJ) { + if ($pos+1 < strlen($this->dataStr)) { + $d = $this->dataStr[$pos+1]; + $word = (ord($c) << 8) | ord($d); + if (($word >= 0x8140 && $word <= 0x9ffc) OR ($word >= 0xe040 && $word <= 0xebbf)) { + return QR_MODE_KJ; + } + } + } + return QR_MODE_8B; + } + + /** + * eatNum + * @return int run + */ + protected function eatNum() { + $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); + $p = 0; + while($this->isdigitat($this->dataStr, $p)) { + $p++; + } + $run = $p; + $mode = $this->identifyMode($p); + if ($mode == QR_MODE_8B) { + $dif = $this->estimateBitsModeNum($run) + 4 + $ln + + $this->estimateBitsMode8(1) // + 4 + l8 + - $this->estimateBitsMode8($run + 1); // - 4 - l8 + if ($dif > 0) { + return $this->eat8(); + } + } + if ($mode == QR_MODE_AN) { + $dif = $this->estimateBitsModeNum($run) + 4 + $ln + + $this->estimateBitsModeAn(1) // + 4 + la + - $this->estimateBitsModeAn($run + 1);// - 4 - la + if ($dif > 0) { + return $this->eatAn(); + } + } + $this->items = $this->appendNewInputItem($this->items, QR_MODE_NM, $run, str_split($this->dataStr)); + return $run; + } + + /** + * eatAn + * @return int run + */ + protected function eatAn() { + $la = $this->lengthIndicator(QR_MODE_AN, $this->version); + $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); + $p = 0; + while($this->isalnumat($this->dataStr, $p)) { + if ($this->isdigitat($this->dataStr, $p)) { + $q = $p; + while($this->isdigitat($this->dataStr, $q)) { + $q++; + } + $dif = $this->estimateBitsModeAn($p) // + 4 + la + + $this->estimateBitsModeNum($q - $p) + 4 + $ln + - $this->estimateBitsModeAn($q); // - 4 - la + if ($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + $run = $p; + if (!$this->isalnumat($this->dataStr, $p)) { + $dif = $this->estimateBitsModeAn($run) + 4 + $la + + $this->estimateBitsMode8(1) // + 4 + l8 + - $this->estimateBitsMode8($run + 1); // - 4 - l8 + if ($dif > 0) { + return $this->eat8(); + } + } + $this->items = $this->appendNewInputItem($this->items, QR_MODE_AN, $run, str_split($this->dataStr)); + return $run; + } + + /** + * eatKanji + * @return int run + */ + protected function eatKanji() { + $p = 0; + while($this->identifyMode($p) == QR_MODE_KJ) { + $p += 2; + } + $this->items = $this->appendNewInputItem($this->items, QR_MODE_KJ, $p, str_split($this->dataStr)); + return $run; + } + + /** + * eat8 + * @return int run + */ + protected function eat8() { + $la = $this->lengthIndicator(QR_MODE_AN, $this->version); + $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); + $p = 1; + $dataStrLen = strlen($this->dataStr); + while($p < $dataStrLen) { + $mode = $this->identifyMode($p); + if ($mode == QR_MODE_KJ) { + break; + } + if ($mode == QR_MODE_NM) { + $q = $p; + while($this->isdigitat($this->dataStr, $q)) { + $q++; + } + $dif = $this->estimateBitsMode8($p) // + 4 + l8 + + $this->estimateBitsModeNum($q - $p) + 4 + $ln + - $this->estimateBitsMode8($q); // - 4 - l8 + if ($dif < 0) { + break; + } else { + $p = $q; + } + } elseif ($mode == QR_MODE_AN) { + $q = $p; + while($this->isalnumat($this->dataStr, $q)) { + $q++; + } + $dif = $this->estimateBitsMode8($p) // + 4 + l8 + + $this->estimateBitsModeAn($q - $p) + 4 + $la + - $this->estimateBitsMode8($q); // - 4 - l8 + if ($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + $run = $p; + $this->items = $this->appendNewInputItem($this->items, QR_MODE_8B, $run, str_split($this->dataStr)); + return $run; + } + + /** + * splitString + */ + protected function splitString() { + while (strlen($this->dataStr) > 0) { + if ($this->dataStr == '') { + return 0; + } + $mode = $this->identifyMode(0); + switch ($mode) { + case QR_MODE_NM: { + $length = $this->eatNum(); + break; + } + case QR_MODE_AN: { + $length = $this->eatAn(); + break; + } + case QR_MODE_KJ: { + if ($hint == QR_MODE_KJ) { + $length = $this->eatKanji(); + } else { + $length = $this->eat8(); + } + break; + } + default: { + $length = $this->eat8(); + break; + } + } + if ($length == 0) { + return 0; + } + if ($length < 0) { + return -1; + } + $this->dataStr = substr($this->dataStr, $length); + } + } + + /** + * toUpper + */ + protected function toUpper() { + $stringLen = strlen($this->dataStr); + $p = 0; + while ($p < $stringLen) { + $mode = $this->identifyMode(substr($this->dataStr, $p), $this->hint); + if ($mode == QR_MODE_KJ) { + $p += 2; + } else { + if ((ord($this->dataStr[$p]) >= ord('a')) AND (ord($this->dataStr[$p]) <= ord('z'))) { + $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); + } + $p++; + } + } + return $this->dataStr; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRinputItem + + /** + * newInputItem + * @param int $mode + * @param int $size + * @param array $data + * @param array $bstream + * @return array input item + */ + protected function newInputItem($mode, $size, $data, $bstream=null) { + $setData = array_slice($data, 0, $size); + if (count($setData) < $size) { + $setData = array_merge($setData, array_fill(0, ($size - count($setData)), 0)); + } + if (!$this->check($mode, $size, $setData)) { + return NULL; + } + $inputitem = array(); + $inputitem['mode'] = $mode; + $inputitem['size'] = $size; + $inputitem['data'] = $setData; + $inputitem['bstream'] = $bstream; + return $inputitem; + } + + /** + * encodeModeNum + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeModeNum($inputitem, $version) { + $words = (int)($inputitem['size'] / 3); + $inputitem['bstream'] = array(); + $val = 0x1; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_NM, $version), $inputitem['size']); + for ($i=0; $i < $words; ++$i) { + $val = (ord($inputitem['data'][$i*3 ]) - ord('0')) * 100; + $val += (ord($inputitem['data'][$i*3+1]) - ord('0')) * 10; + $val += (ord($inputitem['data'][$i*3+2]) - ord('0')); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 10, $val); + } + if ($inputitem['size'] - $words * 3 == 1) { + $val = ord($inputitem['data'][$words*3]) - ord('0'); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); + } elseif (($inputitem['size'] - ($words * 3)) == 2) { + $val = (ord($inputitem['data'][$words*3 ]) - ord('0')) * 10; + $val += (ord($inputitem['data'][$words*3+1]) - ord('0')); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 7, $val); + } + return $inputitem; + } + + /** + * encodeModeAn + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeModeAn($inputitem, $version) { + $words = (int)($inputitem['size'] / 2); + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x02); + $inputitem['bstream'] = $this->appendNum(v, $this->lengthIndicator(QR_MODE_AN, $version), $inputitem['size']); + for ($i=0; $i < $words; ++$i) { + $val = (int)$this->lookAnTable(ord($inputitem['data'][$i*2 ])) * 45; + $val += (int)$this->lookAnTable(ord($inputitem['data'][$i*2+1])); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 11, $val); + } + if ($inputitem['size'] & 1) { + $val = $this->lookAnTable(ord($inputitem['data'][($words * 2)])); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 6, $val); + } + return $inputitem; + } + + /** + * encodeMode8 + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeMode8($inputitem, $version) { + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x4); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_8B, $version), $inputitem['size']); + for ($i=0; $i < $inputitem['size']; ++$i) { + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][$i])); + } + return $inputitem; + } + + /** + * encodeModeKanji + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeModeKanji($inputitem, $version) { + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x8); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_KJ, $version), (int)($inputitem['size'] / 2)); + for ($i=0; $i<$inputitem['size']; $i+=2) { + $val = (ord($inputitem['data'][$i]) << 8) | ord($inputitem['data'][$i+1]); + if ($val <= 0x9ffc) { + $val -= 0x8140; + } else { + $val -= 0xc140; + } + $h = ($val >> 8) * 0xc0; + $val = ($val & 0xff) + $h; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 13, $val); + } + return $inputitem; + } + + /** + * encodeModeStructure + * @param array $inputitem + * @return array input item + */ + protected function encodeModeStructure($inputitem) { + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x03); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][1]) - 1); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][0]) - 1); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][2])); + return $inputitem; + } + + /** + * encodeBitStream + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeBitStream($inputitem, $version) { + $inputitem['bstream'] = array(); + $words = $this->maximumWords($inputitem['mode'], $version); + if ($inputitem['size'] > $words) { + $st1 = $this->newInputItem($inputitem['mode'], $words, $inputitem['data']); + $st2 = $this->newInputItem($inputitem['mode'], $inputitem['size'] - $words, array_slice($inputitem['data'], $words)); + $st1 = $this->encodeBitStream($st1, $version); + $st2 = $this->encodeBitStream($st2, $version); + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st1['bstream']); + $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st2['bstream']); + } else { + switch($inputitem['mode']) { + case QR_MODE_NM: { + $inputitem = $this->encodeModeNum($inputitem, $version); + break; + } + case QR_MODE_AN: { + $inputitem = $this->encodeModeAn($inputitem, $version); + break; + } + case QR_MODE_8B: { + $inputitem = $this->encodeMode8($inputitem, $version); + break; + } + case QR_MODE_KJ: { + $inputitem = $this->encodeModeKanji($inputitem, $version); + break; + } + case QR_MODE_ST: { + $inputitem = $this->encodeModeStructure($inputitem); + break; + } + default: { + break; + } + } + } + return $inputitem; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRinput + + /** + * Append data to an input object. + * The data is copied and appended to the input object. + * @param array items input items + * @param int $mode encoding mode. + * @param int $size size of data (byte). + * @param array $data array of input data. + * @return items + * + */ + protected function appendNewInputItem($items, $mode, $size, $data) { + $items[] = $this->newInputItem($mode, $size, $data); + return $items; + } + + /** + * insertStructuredAppendHeader + * @param array $items + * @param int $size + * @param int $index + * @param int $parity + * @return array items + */ + protected function insertStructuredAppendHeader($items, $size, $index, $parity) { + if ($size > MAX_STRUCTURED_SYMBOLS) { + return -1; + } + if (($index <= 0) OR ($index > MAX_STRUCTURED_SYMBOLS)) { + return -1; + } + $buf = array($size, $index, $parity); + $entry = $this->newInputItem(QR_MODE_ST, 3, buf); + array_unshift($items, $entry); + return $items; + } + + /** + * calcParity + * @param array $items + * @return int parity + */ + protected function calcParity($items) { + $parity = 0; + foreach ($items as $item) { + if ($item['mode'] != QR_MODE_ST) { + for ($i=$item['size']-1; $i>=0; --$i) { + $parity ^= $item['data'][$i]; + } + } + } + return $parity; + } + + /** + * checkModeNum + * @param int $size + * @param array $data + * @return boolean true or false + */ + protected function checkModeNum($size, $data) { + for ($i=0; $i<$size; ++$i) { + if ((ord($data[$i]) < ord('0')) OR (ord($data[$i]) > ord('9'))){ + return false; + } + } + return true; + } + + /** + * estimateBitsModeNum + * @param int $size + * @return int number of bits + */ + protected function estimateBitsModeNum($size) { + $w = (int)$size / 3; + $bits = $w * 10; + switch($size - $w * 3) { + case 1: { + $bits += 4; + break; + } + case 2: { + $bits += 7; + break; + } + default: { + break; + } + } + return $bits; + } + + /** + * Look up the alphabet-numeric convesion table (see JIS X0510:2004, pp.19). + * @param int $c character value + * @return value + */ + protected function lookAnTable($c) { + return (($c > 127)?-1:$this->anTable[$c]); + } + + /** + * checkModeAn + * @param int $size + * @param array $data + * @return boolean true or false + */ + protected function checkModeAn($size, $data) { + for ($i=0; $i<$size; ++$i) { + if ($this->lookAnTable(ord($data[$i])) == -1) { + return false; + } + } + return true; + } + + /** + * estimateBitsModeAn + * @param int $size + * @return int number of bits + */ + protected function estimateBitsModeAn($size) { + $w = (int)($size / 2); + $bits = $w * 11; + if ($size & 1) { + $bits += 6; + } + return $bits; + } + + /** + * estimateBitsMode8 + * @param int $size + * @return int number of bits + */ + protected function estimateBitsMode8($size) { + return $size * 8; + } + + /** + * estimateBitsModeKanji + * @param int $size + * @return int number of bits + */ + protected function estimateBitsModeKanji($size) { + return (int)(($size / 2) * 13); + } + + /** + * checkModeKanji + * @param int $size + * @param array $data + * @return boolean true or false + */ + protected function checkModeKanji($size, $data) { + if ($size & 1) { + return false; + } + for ($i=0; $i<$size; $i+=2) { + $val = (ord($data[$i]) << 8) | ord($data[$i+1]); + if (($val < 0x8140) OR (($val > 0x9ffc) AND ($val < 0xe040)) OR ($val > 0xebbf)) { + return false; + } + } + return true; + } + + /** + * Validate the input data. + * @param int $mode encoding mode. + * @param int $size size of data (byte). + * @param array data data to validate + * @return boolean true in case of valid data, false otherwise + */ + protected function check($mode, $size, $data) { + if ($size <= 0) { + return false; + } + switch($mode) { + case QR_MODE_NM: { + return $this->checkModeNum($size, $data); + } + case QR_MODE_AN: { + return $this->checkModeAn($size, $data); + } + case QR_MODE_KJ: { + return $this->checkModeKanji($size, $data); + } + case QR_MODE_8B: { + return true; + } + case QR_MODE_ST: { + return true; + } + default: { + break; + } + } + return false; + } + + /** + * estimateBitStreamSize + * @param array $items + * @param int $version + * @return int bits + */ + protected function estimateBitStreamSize($items, $version) { + $bits = 0; + if ($version == 0) { + $version = 1; + } + foreach ($items as $item) { + switch($item['mode']) { + case QR_MODE_NM: { + $bits = $this->estimateBitsModeNum($item['size']); + break; + } + case QR_MODE_AN: { + $bits = $this->estimateBitsModeAn($item['size']); + break; + } + case QR_MODE_8B: { + $bits = $this->estimateBitsMode8($item['size']); + break; + } + case QR_MODE_KJ: { + $bits = $this->estimateBitsModeKanji($item['size']); + break; + } + case QR_MODE_ST: { + return STRUCTURE_HEADER_BITS; + } + default: { + return 0; + } + } + $l = $this->lengthIndicator($item['mode'], $version); + $m = 1 << $l; + $num = (int)(($item['size'] + $m - 1) / $m); + $bits += $num * (4 + $l); + } + return $bits; + } + + /** + * estimateVersion + * @param array $items + * @return int version + */ + protected function estimateVersion($items) { + $version = 0; + $prev = 0; + do { + $prev = $version; + $bits = $this->estimateBitStreamSize($items, $prev); + $version = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if ($version < 0) { + return -1; + } + } while ($version > $prev); + return $version; + } + + /** + * lengthOfCode + * @param int $mode + * @param int $version + * @param int $bits + * @return int size + */ + protected function lengthOfCode($mode, $version, $bits) { + $payload = $bits - 4 - $this->lengthIndicator($mode, $version); + switch($mode) { + case QR_MODE_NM: { + $chunks = (int)($payload / 10); + $remain = $payload - $chunks * 10; + $size = $chunks * 3; + if ($remain >= 7) { + $size += 2; + } elseif ($remain >= 4) { + $size += 1; + } + break; + } + case QR_MODE_AN: { + $chunks = (int)($payload / 11); + $remain = $payload - $chunks * 11; + $size = $chunks * 2; + if ($remain >= 6) { + ++$size; + } + break; + } + case QR_MODE_8B: { + $size = (int)($payload / 8); + break; + } + case QR_MODE_KJ: { + $size = (int)(($payload / 13) * 2); + break; + } + case QR_MODE_ST: { + $size = (int)($payload / 8); + break; + } + default: { + $size = 0; + break; + } + } + $maxsize = $this->maximumWords($mode, $version); + if ($size < 0) { + $size = 0; + } + if ($size > $maxsize) { + $size = $maxsize; + } + return $size; + } + + /** + * createBitStream + * @param array $items + * @return array of items and total bits + */ + protected function createBitStream($items) { + $total = 0; + foreach ($items as $key => $item) { + $items[$key] = $this->encodeBitStream($item, $this->version); + $bits = count($items[$key]['bstream']); + $total += $bits; + } + return array($items, $total); + } + + /** + * convertData + * @param array $items + * @return array items + */ + protected function convertData($items) { + $ver = $this->estimateVersion($items); + if ($ver > $this->version) { + $this->version = $ver; + } + for (;;) { + $cbs = $this->createBitStream($items); + $items = $cbs[0]; + $bits = $cbs[1]; + if ($bits < 0) { + return -1; + } + $ver = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if ($ver < 0) { + return -1; + } elseif ($ver > $this->version) { + $this->version = $ver; + } else { + break; + } + } + return $items; + } + + /** + * Append Padding Bit to bitstream + * @param array $bstream + * @return array bitstream + */ + protected function appendPaddingBit($bstream) { + $bits = count($bstream); + $maxwords = $this->getDataLength($this->version, $this->level); + $maxbits = $maxwords * 8; + if ($maxbits == $bits) { + return 0; + } + if ($maxbits - $bits < 5) { + return $this->appendNum($bstream, $maxbits - $bits, 0); + } + $bits += 4; + $words = (int)(($bits + 7) / 8); + $padding = array(); + $padding = $this->appendNum($padding, $words * 8 - $bits + 4, 0); + $padlen = $maxwords - $words; + if ($padlen > 0) { + $padbuf = array(); + for ($i=0; $i<$padlen; ++$i) { + $padbuf[$i] = ($i&1)?0x11:0xec; + } + $padding = $this->appendBytes($padding, $padlen, $padbuf); + } + return $this->appendBitstream($bstream, $padding); + } + + /** + * mergeBitStream + * @param array $bstream + * @return array bitstream + */ + protected function mergeBitStream($items) { + $items = $this->convertData($items); + $bstream = array(); + foreach ($items as $item) { + $bstream = $this->appendBitstream($bstream, $item['bstream']); + } + return $bstream; + } + + /** + * Returns a stream of bits. + * @param int $items + * @return array padded merged byte stream + */ + protected function getBitStream($items) { + $bstream = $this->mergeBitStream($items); + return $this->appendPaddingBit($bstream); + } + + /** + * Pack all bit streams padding bits into a byte array. + * @param int $items + * @return array padded merged byte stream + */ + protected function getByteStream($items) { + $bstream = $this->getBitStream($items); + return $this->bitstreamToByte($bstream); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRbitstream + + /** + * Return an array with zeros + * @param int $setLength array size + * @return array + */ + protected function allocate($setLength) { + return array_fill(0, $setLength, 0); + } + + /** + * Return new bitstream from number + * @param int $bits number of bits + * @param int $num number + * @return array bitstream + */ + protected function newFromNum($bits, $num) { + $bstream = $this->allocate($bits); + $mask = 1 << ($bits - 1); + for ($i=0; $i<$bits; ++$i) { + if ($num & $mask) { + $bstream[$i] = 1; + } else { + $bstream[$i] = 0; + } + $mask = $mask >> 1; + } + return $bstream; + } + + /** + * Return new bitstream from bytes + * @param int $size size + * @param array $data bytes + * @return array bitstream + */ + protected function newFromBytes($size, $data) { + $bstream = $this->allocate($size * 8); + $p=0; + for ($i=0; $i<$size; ++$i) { + $mask = 0x80; + for ($j=0; $j<8; ++$j) { + if ($data[$i] & $mask) { + $bstream[$p] = 1; + } else { + $bstream[$p] = 0; + } + $p++; + $mask = $mask >> 1; + } + } + return $bstream; + } + + /** + * Append one bitstream to another + * @param array $bitstream original bitstream + * @param array $append bitstream to append + * @return array bitstream + */ + protected function appendBitstream($bitstream, $append) { + if ((!is_array($append)) OR (count($append) == 0)) { + return $bitstream; + } + if (count($bitstream) == 0) { + return $append; + } + return array_values(array_merge($bitstream, $append)); + } + + /** + * Append one bitstream created from number to another + * @param array $bitstream original bitstream + * @param int $bits number of bits + * @param int $num number + * @return array bitstream + */ + protected function appendNum($bitstream, $bits, $num) { + if ($bits == 0) { + return 0; + } + $b = $this->newFromNum($bits, $num); + return $this->appendBitstream($bitstream, $b); + } + + /** + * Append one bitstream created from bytes to another + * @param array $bitstream original bitstream + * @param int $size size + * @param array $data bytes + * @return array bitstream + */ + protected function appendBytes($bitstream, $size, $data) { + if ($size == 0) { + return 0; + } + $b = $this->newFromBytes($size, $data); + return $this->appendBitstream($bitstream, $b); + } + + /** + * Convert bitstream to bytes + * @param array $bitstream original bitstream + * @return array of bytes + */ + protected function bitstreamToByte($bstream) { + $size = count($bstream); + if ($size == 0) { + return array(); + } + $data = array_fill(0, (int)(($size + 7) / 8), 0); + $bytes = (int)($size / 8); + $p = 0; + for ($i=0; $i<$bytes; $i++) { + $v = 0; + for ($j=0; $j<8; $j++) { + $v = $v << 1; + $v |= $bstream[$p]; + $p++; + } + $data[$i] = $v; + } + if ($size & 7) { + $v = 0; + for ($j=0; $j<($size & 7); $j++) { + $v = $v << 1; + $v |= $bstream[$p]; + $p++; + } + $data[$bytes] = $v; + } + return $data; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRspec + + /** + * Replace a value on the array at the specified position + * @param array $srctab + * @param int $x X position + * @param int $y Y position + * @param string $repl value to replace + * @param int $replLen length of the repl string + * @return array srctab + */ + protected function qrstrset($srctab, $x, $y, $repl, $replLen=false) { + $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); + return $srctab; + } + + /** + * Return maximum data code length (bytes) for the version. + * @param int $version version + * @param int $level error correction level + * @return int maximum size (bytes) + */ + protected function getDataLength($version, $level) { + return $this->capacity[$version][QRCAP_WORDS] - $this->capacity[$version][QRCAP_EC][$level]; + } + + /** + * Return maximum error correction code length (bytes) for the version. + * @param int $version version + * @param int $level error correction level + * @return int ECC size (bytes) + */ + protected function getECCLength($version, $level){ + return $this->capacity[$version][QRCAP_EC][$level]; + } + + /** + * Return the width of the symbol for the version. + * @param int $version version + * @return int width + */ + protected function getWidth($version) { + return $this->capacity[$version][QRCAP_WIDTH]; + } + + /** + * Return the numer of remainder bits. + * @param int $version version + * @return int number of remainder bits + */ + protected function getRemainder($version) { + return $this->capacity[$version][QRCAP_REMINDER]; + } + + /** + * Return a version number that satisfies the input code length. + * @param int $size input code length (byte) + * @param int $level error correction level + * @return int version number + */ + protected function getMinimumVersion($size, $level) { + for ($i=1; $i <= QRSPEC_VERSION_MAX; ++$i) { + $words = $this->capacity[$i][QRCAP_WORDS] - $this->capacity[$i][QRCAP_EC][$level]; + if ($words >= $size) { + return $i; + } + } + return -1; + } + + /** + * Return the size of length indicator for the mode and version. + * @param int $mode encoding mode + * @param int $version version + * @return int the size of the appropriate length indicator (bits). + */ + protected function lengthIndicator($mode, $version) { + if ($mode == QR_MODE_ST) { + return 0; + } + if ($version <= 9) { + $l = 0; + } elseif ($version <= 26) { + $l = 1; + } else { + $l = 2; + } + return $this->lengthTableBits[$mode][$l]; + } + + /** + * Return the maximum length for the mode and version. + * @param int $mode encoding mode + * @param int $version version + * @return int the maximum length (bytes) + */ + protected function maximumWords($mode, $version) { + if ($mode == QR_MODE_ST) { + return 3; + } + if ($version <= 9) { + $l = 0; + } else if ($version <= 26) { + $l = 1; + } else { + $l = 2; + } + $bits = $this->lengthTableBits[$mode][$l]; + $words = (1 << $bits) - 1; + if ($mode == QR_MODE_KJ) { + $words *= 2; // the number of bytes is required + } + return $words; + } + + /** + * Return an array of ECC specification. + * @param int $version version + * @param int $level error correction level + * @param array $spec an array of ECC specification contains as following: {# of type1 blocks, # of data code, # of ecc code, # of type2 blocks, # of data code} + * @return array spec + */ + protected function getEccSpec($version, $level, $spec) { + if (count($spec) < 5) { + $spec = array(0, 0, 0, 0, 0); + } + $b1 = $this->eccTable[$version][$level][0]; + $b2 = $this->eccTable[$version][$level][1]; + $data = $this->getDataLength($version, $level); + $ecc = $this->getECCLength($version, $level); + if ($b2 == 0) { + $spec[0] = $b1; + $spec[1] = (int)($data / $b1); + $spec[2] = (int)($ecc / $b1); + $spec[3] = 0; + $spec[4] = 0; + } else { + $spec[0] = $b1; + $spec[1] = (int)($data / ($b1 + $b2)); + $spec[2] = (int)($ecc / ($b1 + $b2)); + $spec[3] = $b2; + $spec[4] = $spec[1] + 1; + } + return $spec; + } + + /** + * Put an alignment marker. + * @param array $frame frame + * @param int $width width + * @param int $ox X center coordinate of the pattern + * @param int $oy Y center coordinate of the pattern + * @return array frame + */ + protected function putAlignmentMarker($frame, $ox, $oy) { + $finder = array( + "\xa1\xa1\xa1\xa1\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa0\xa1\xa0\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa1\xa1\xa1\xa1" + ); + $yStart = $oy - 2; + $xStart = $ox - 2; + for ($y=0; $y < 5; $y++) { + $frame = $this->qrstrset($frame, $xStart, $yStart+$y, $finder[$y]); + } + return $frame; + } + + /** + * Put an alignment pattern. + * @param int $version version + * @param array $fram frame + * @param int $width width + * @return array frame + */ + protected function putAlignmentPattern($version, $frame, $width) { + if ($version < 2) { + return $frame; + } + $d = $this->alignmentPattern[$version][1] - $this->alignmentPattern[$version][0]; + if ($d < 0) { + $w = 2; + } else { + $w = (int)(($width - $this->alignmentPattern[$version][0]) / $d + 2); + } + if ($w * $w - 3 == 1) { + $x = $this->alignmentPattern[$version][0]; + $y = $this->alignmentPattern[$version][0]; + $frame = $this->putAlignmentMarker($frame, $x, $y); + return $frame; + } + $cx = $this->alignmentPattern[$version][0]; + $wo = $w - 1; + for ($x=1; $x < $wo; ++$x) { + $frame = $this->putAlignmentMarker($frame, 6, $cx); + $frame = $this->putAlignmentMarker($frame, $cx, 6); + $cx += $d; + } + $cy = $this->alignmentPattern[$version][0]; + for ($y=0; $y < $wo; ++$y) { + $cx = $this->alignmentPattern[$version][0]; + for ($x=0; $x < $wo; ++$x) { + $frame = $this->putAlignmentMarker($frame, $cx, $cy); + $cx += $d; + } + $cy += $d; + } + return $frame; + } + + /** + * Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. Use lower 18 bits. + * @param int $version version + * @return BCH encoded version information pattern + */ + protected function getVersionPattern($version) { + if (($version < 7) OR ($version > QRSPEC_VERSION_MAX)) { + return 0; + } + return $this->versionPattern[($version - 7)]; + } + + /** + * Return BCH encoded format information pattern. + * @param array $mask + * @param int $level error correction level + * @return BCH encoded format information pattern + */ + protected function getFormatInfo($mask, $level) { + if (($mask < 0) OR ($mask > 7)) { + return 0; + } + if (($level < 0) OR ($level > 3)) { + return 0; + } + return $this->formatInfo[$level][$mask]; + } + + /** + * Put a finder pattern. + * @param array $frame frame + * @param int $width width + * @param int $ox X center coordinate of the pattern + * @param int $oy Y center coordinate of the pattern + * @return array frame + */ + protected function putFinderPattern($frame, $ox, $oy) { + $finder = array( + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" + ); + for ($y=0; $y < 7; $y++) { + $frame = $this->qrstrset($frame, $ox, ($oy + $y), $finder[$y]); + } + return $frame; + } + + /** + * Return a copy of initialized frame. + * @param int $version version + * @return Array of unsigned char. + */ + protected function createFrame($version) { + $width = $this->capacity[$version][QRCAP_WIDTH]; + $frameLine = str_repeat ("\0", $width); + $frame = array_fill(0, $width, $frameLine); + // Finder pattern + $frame = $this->putFinderPattern($frame, 0, 0); + $frame = $this->putFinderPattern($frame, $width - 7, 0); + $frame = $this->putFinderPattern($frame, 0, $width - 7); + // Separator + $yOffset = $width - 7; + for ($y=0; $y < 7; ++$y) { + $frame[$y][7] = "\xc0"; + $frame[$y][$width - 8] = "\xc0"; + $frame[$yOffset][7] = "\xc0"; + ++$yOffset; + } + $setPattern = str_repeat("\xc0", 8); + $frame = $this->qrstrset($frame, 0, 7, $setPattern); + $frame = $this->qrstrset($frame, $width-8, 7, $setPattern); + $frame = $this->qrstrset($frame, 0, $width - 8, $setPattern); + // Format info + $setPattern = str_repeat("\x84", 9); + $frame = $this->qrstrset($frame, 0, 8, $setPattern); + $frame = $this->qrstrset($frame, $width - 8, 8, $setPattern, 8); + $yOffset = $width - 8; + for ($y=0; $y < 8; ++$y,++$yOffset) { + $frame[$y][8] = "\x84"; + $frame[$yOffset][8] = "\x84"; + } + // Timing pattern + $wo = $width - 15; + for ($i=1; $i < $wo; ++$i) { + $frame[6][7+$i] = chr(0x90 | ($i & 1)); + $frame[7+$i][6] = chr(0x90 | ($i & 1)); + } + // Alignment pattern + $frame = $this->putAlignmentPattern($version, $frame, $width); + // Version information + if ($version >= 7) { + $vinf = $this->getVersionPattern($version); + $v = $vinf; + for ($x=0; $x<6; ++$x) { + for ($y=0; $y<3; ++$y) { + $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + $v = $vinf; + for ($y=0; $y<6; ++$y) { + for ($x=0; $x<3; ++$x) { + $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + } + // and a little bit... + $frame[$width - 8][8] = "\x81"; + return $frame; + } + + /** + * Set new frame for the specified version. + * @param int $version version + * @return Array of unsigned char. + */ + protected function newFrame($version) { + if (($version < 1) OR ($version > QRSPEC_VERSION_MAX)) { + return NULL; + } + if (!isset($this->frames[$version])) { + $this->frames[$version] = $this->createFrame($version); + } + if (is_null($this->frames[$version])) { + return NULL; + } + return $this->frames[$version]; + } + + /** + * Return block number 0 + * @param array $spec + * @return int value + */ + protected function rsBlockNum($spec) { + return ($spec[0] + $spec[3]); + } + + /** + * Return block number 1 + * @param array $spec + * @return int value + */ + protected function rsBlockNum1($spec) { + return $spec[0]; + } + + /** + * Return data codes 1 + * @param array $spec + * @return int value + */ + protected function rsDataCodes1($spec) { + return $spec[1]; + } + + /** + * Return ecc codes 1 + * @param array $spec + * @return int value + */ + protected function rsEccCodes1($spec) { + return $spec[2]; + } + + /** + * Return block number 2 + * @param array $spec + * @return int value + */ + protected function rsBlockNum2($spec) { + return $spec[3]; + } + + /** + * Return data codes 2 + * @param array $spec + * @return int value + */ + protected function rsDataCodes2($spec) { + return $spec[4]; + } + + /** + * Return ecc codes 2 + * @param array $spec + * @return int value + */ + protected function rsEccCodes2($spec) { + return $spec[2]; + } + + /** + * Return data length + * @param array $spec + * @return int value + */ + protected function rsDataLength($spec) { + return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); + } + + /** + * Return ecc length + * @param array $spec + * @return int value + */ + protected function rsEccLength($spec) { + return ($spec[0] + $spec[3]) * $spec[2]; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRrs + + /** + * Initialize a Reed-Solomon codec and add it to existing rsitems + * @param int $symsize symbol size, bits + * @param int $gfpoly Field generator polynomial coefficients + * @param int $fcr first root of RS code generator polynomial, index form + * @param int $prim primitive element to generate polynomial roots + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad padding bytes at front of shortened block + * @return array Array of RS values:
    • mm = Bits per symbol;
    • nn = Symbols per block;
    • alpha_to = log lookup table array;
    • index_of = Antilog lookup table array;
    • genpoly = Generator polynomial array;
    • nroots = Number of generator;
    • roots = number of parity symbols;
    • fcr = First consecutive root, index form;
    • prim = Primitive element, index form;
    • iprim = prim-th root of 1, index form;
    • pad = Padding bytes in shortened block;
    • gfpoly
    . + */ + protected function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) { + foreach ($this->rsitems as $rs) { + if (($rs['pad'] != $pad) OR ($rs['nroots'] != $nroots) OR ($rs['mm'] != $symsize) + OR ($rs['gfpoly'] != $gfpoly) OR ($rs['fcr'] != $fcr) OR ($rs['prim'] != $prim)) { + continue; + } + return $rs; + } + $rs = $this->init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); + array_unshift($this->rsitems, $rs); + return $rs; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRrsItem + + /** + * modnn + * @param array RS values + * @param int $x X position + * @return int X osition + */ + protected function modnn($rs, $x) { + while ($x >= $rs['nn']) { + $x -= $rs['nn']; + $x = ($x >> $rs['mm']) + ($x & $rs['nn']); + } + return $x; + } + + /** + * Initialize a Reed-Solomon codec and returns an array of values. + * @param int $symsize symbol size, bits + * @param int $gfpoly Field generator polynomial coefficients + * @param int $fcr first root of RS code generator polynomial, index form + * @param int $prim primitive element to generate polynomial roots + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad padding bytes at front of shortened block + * @return array Array of RS values:
    • mm = Bits per symbol;
    • nn = Symbols per block;
    • alpha_to = log lookup table array;
    • index_of = Antilog lookup table array;
    • genpoly = Generator polynomial array;
    • nroots = Number of generator;
    • roots = number of parity symbols;
    • fcr = First consecutive root, index form;
    • prim = Primitive element, index form;
    • iprim = prim-th root of 1, index form;
    • pad = Padding bytes in shortened block;
    • gfpoly
    . + */ + protected function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) { + // Based on Reed solomon encoder by Phil Karn, KA9Q (GNU-LGPLv2) + $rs = null; + // Check parameter ranges + if (($symsize < 0) OR ($symsize > 8)) { + return $rs; + } + if (($fcr < 0) OR ($fcr >= (1<<$symsize))) { + return $rs; + } + if (($prim <= 0) OR ($prim >= (1<<$symsize))) { + return $rs; + } + if (($nroots < 0) OR ($nroots >= (1<<$symsize))) { + return $rs; + } + if (($pad < 0) OR ($pad >= ((1<<$symsize) -1 - $nroots))) { + return $rs; + } + $rs = array(); + $rs['mm'] = $symsize; + $rs['nn'] = (1 << $symsize) - 1; + $rs['pad'] = $pad; + $rs['alpha_to'] = array_fill(0, ($rs['nn'] + 1), 0); + $rs['index_of'] = array_fill(0, ($rs['nn'] + 1), 0); + // PHP style macro replacement ;) + $NN =& $rs['nn']; + $A0 =& $NN; + // Generate Galois field lookup tables + $rs['index_of'][0] = $A0; // log(zero) = -inf + $rs['alpha_to'][$A0] = 0; // alpha**-inf = 0 + $sr = 1; + for ($i=0; $i<$rs['nn']; ++$i) { + $rs['index_of'][$sr] = $i; + $rs['alpha_to'][$i] = $sr; + $sr <<= 1; + if ($sr & (1 << $symsize)) { + $sr ^= $gfpoly; + } + $sr &= $rs['nn']; + } + if ($sr != 1) { + // field generator polynomial is not primitive! + return NULL; + } + // Form RS code generator polynomial from its roots + $rs['genpoly'] = array_fill(0, ($nroots + 1), 0); + $rs['fcr'] = $fcr; + $rs['prim'] = $prim; + $rs['nroots'] = $nroots; + $rs['gfpoly'] = $gfpoly; + // Find prim-th root of 1, used in decoding + for ($iprim=1; ($iprim % $prim) != 0; $iprim += $rs['nn']) { + ; // intentional empty-body loop! + } + $rs['iprim'] = (int)($iprim / $prim); + $rs['genpoly'][0] = 1; + + + for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { + $rs['genpoly'][$i+1] = 1; + // Multiply rs->genpoly[] by @**(root + x) + for ($j = $i; $j > 0; --$j) { + if ($rs['genpoly'][$j] != 0) { + $rs['genpoly'][$j] = $rs['genpoly'][$j-1] ^ $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][$j]] + $root)]; + } else { + $rs['genpoly'][$j] = $rs['genpoly'][$j-1]; + } + } + // rs->genpoly[0] can never be zero + $rs['genpoly'][0] = $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][0]] + $root)]; + } + // convert rs->genpoly[] to index form for quicker encoding + for ($i = 0; $i <= $nroots; ++$i) { + $rs['genpoly'][$i] = $rs['index_of'][$rs['genpoly'][$i]]; + } + return $rs; + } + + /** + * Encode a Reed-Solomon codec and returns the parity array + * @param array $rs RS values + * @param array $data data + * @param array $parity parity + * @return parity array + */ + protected function encode_rs_char($rs, $data, $parity) { + $MM =& $rs['mm']; // bits per symbol + $NN =& $rs['nn']; // the total number of symbols in a RS block + $ALPHA_TO =& $rs['alpha_to']; // the address of an array of NN elements to convert Galois field elements in index (log) form to polynomial form + $INDEX_OF =& $rs['index_of']; // the address of an array of NN elements to convert Galois field elements in polynomial form to index (log) form + $GENPOLY =& $rs['genpoly']; // an array of NROOTS+1 elements containing the generator polynomial in index form + $NROOTS =& $rs['nroots']; // the number of roots in the RS code generator polynomial, which is the same as the number of parity symbols in a block + $FCR =& $rs['fcr']; // first consecutive root, index form + $PRIM =& $rs['prim']; // primitive element, index form + $IPRIM =& $rs['iprim']; // prim-th root of 1, index form + $PAD =& $rs['pad']; // the number of pad symbols in a block + $A0 =& $NN; + $parity = array_fill(0, $NROOTS, 0); + for ($i=0; $i < ($NN - $NROOTS - $PAD); $i++) { + $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; + if ($feedback != $A0) { + // feedback term is non-zero + // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must + // always be for the polynomials constructed by init_rs() + $feedback = $this->modnn($rs, $NN - $GENPOLY[$NROOTS] + $feedback); + for ($j=1; $j < $NROOTS; ++$j) { + $parity[$j] ^= $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[($NROOTS - $j)])]; + } + } + // Shift + array_shift($parity); + if ($feedback != $A0) { + array_push($parity, $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[0])]); + } else { + array_push($parity, 0); + } + } + return $parity; + } + + } // end QRcode class + +} // END OF "class_exists QRcode" +?> diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_1.dat new file mode 100755 index 0000000..be28fea --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_1.dat @@ -0,0 +1,2 @@ +xڝ E9u`"PńC牗T!0$ +EɲQmh۾9{kI" 9Ln)Ap־>^zmnŖ;mn \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_1.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_1.png new file mode 100755 index 0000000000000000000000000000000000000000..86ce6e98d8cf7071291d5e5bb39bc3080511c8b8 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dx33?wJtG`|X@*aCb)T!Hle|NocXoPQU{GWK+F z45^rtobc!Hfq>uNnVVn7Gg`2HlysJm`1k++!4KjchA)1}^Yl3E66=VaXwbng!p`vB WU-#~W{*xdZ7(8A5T-G@yGywobm@6p& literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_10.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_10.dat new file mode 100755 index 0000000000000000000000000000000000000000..aff163f6882e1c842881c539160539ee97221e5b GIT binary patch literal 204 zcmV;-05ku1+U=K34ul{KMqP93Nm#TyxdGe+ZZ`bX2|6GY6RiCuCX1^|Hy)_wA3>UwXVkes{2iDcbZs(b-_ G?>v^)7G+HU literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_10.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_10.png new file mode 100755 index 0000000000000000000000000000000000000000..dbfcd70b588c9cc508d210d761ca285c962e70c7 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^mLSZ?3?#Q*6Fdf_*aCb)T!Hle|NocXoPQU{s`qqp z45^rNcH&0P1_Kcn{i)eEQ&eWabo5TEo z<(=q;l{2~SNFHOk7+K+Z++>o}0+W;js(lQ_L5J;4XHRbpJ@7EKSbjtGxs>0TanIFf yTerS?Jf(G)Wt_o(rC4{V)qPjP^(|O~A28=0dj4ToPRUb}EH+ z?=;|LU8z+!qM$&p(|BcWyT^0wyzYLMW@>oYiN^Dsz8hTJ4a-aiVeGGljlcQ?PgyF*WC@)ePT+&@l!`0?ief1~n6 zE|yl^gW5e`nKwIinOvP@sie!fPIxQBN@sPwvjzdvtR(AR7bMPLqt$5hLLY|jw(O$c@esqcjU~XWxX2%DQ}j2 Ypk>~2FWzvVWdEB3>HkBaKPQDn?w1{Br2qf` literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_12.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_12.png new file mode 100755 index 0000000000000000000000000000000000000000..8ba67822cdbeb547858ff6fc50cacee24a1b7d39 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^jv&m)3?#Q$MzaAawg8_HS0MfW|No^o=iddgdOckn zLn`JZC;Z`O`p;)zaHT2o|6@ssn1en08x5|_?@qWT|MUNU=7X>P-D6i`V>=dLP>_)D zgJ10T|NV^*^<88qe3j=qkQ8w3g4pi>{%_LN%!j{MZKyvjEwPU&^5g&i?aJMXS9tf# z))chnOn-VfGWh@Dzii+24R{?7GfXmbNLp7=x~^a^N0{!Mqa4YM488*Y@7T!EMuc4o**_dv29=tg%zuR9}#CwLe ZF7lm6+oM%3(p}KSMZA}4^aZ5yN}69FYBT@< literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_13.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_13.png new file mode 100755 index 0000000000000000000000000000000000000000..6e49d35a02fdca84cbce7cbdcc4455a8f6c7a3bc GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^t{}|F3?$W@cV+=8wg8_Hkl_FS|CipJe;3GV_jGX# zshD$j(m~D!10L6U|G3>D>;fX{1#EjgrWdpJzq`==!Zpb!r-Z@r!+bgW{TFJO+!qN- zO!?Nbz~r}2caWn=<;hYT--4|xm^^H6ZOHEH)LZFp|21ezZE(M-7khSp>&l1M=G~k7 z```Ke>ZO4uStq~s?ri>iZOio6Z8x~5aew=^?BI!1D~3ap?Te2HrSt=x#Ng@b=d#Wz Gp$P!f)Kr=P literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_14.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_14.dat new file mode 100755 index 0000000000000000000000000000000000000000..e9ae093296aa29fab5e9902b6f08c589fb0ada98 GIT binary patch literal 227 zcmV<90382#+U=M@3dA4`MZ5Oa11^$Xy@B3DZ#HVvL77flO`r_qyJ{$pN0cm*QcbkW zOb{?`fMilEnI}OcLM9cXSrSxIB``^d*Q8K#Sp&p|blj)ly$_eQu1|D#ZtYL-`P`_v z&)r4JoKwyYFt*0oxjyAsirGHbg&iU}F_Jo|lREvc)7@EgS~DZ_@w7&yaPY@qP1;GU zPx{8yNuAV5=eW*sedFq+PER-?LOv2s0FYrKP6Y+uPUG`wUqQUsGc*0ziH*;3-ma%} dV(p*WKJj*9?cGU|IJ?7+#M);zc>`M4w|A(xa#R2S literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_14.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_14.png new file mode 100755 index 0000000000000000000000000000000000000000..efc36c034f1a851498e5afad249adcce3d9fb04a GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^o*>M~3?#kx&YTaV*aCb)T!Hle|NocXoPQU{>hg4P z45^rNchW}Q1_K_Jxm}Srn$(yB6x19;G$JQ*YGh^#@P1G+>r7-mB7W`V*G+#Woopx# zaXH*8JW=$>j6!jp4LdeJ%jrLRbWNrUPz|e%?4;ffl``SFGrY?`?QLBi&=CD)URb+W z;hsD0-;#Cz-B}wlN7VYo-djpFrLW5Bvr5*ct<9@=upq-IF3r5?k;t7x_kgZq@O1Ta JS?83{1OWKuRWASl literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_15.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_15.dat new file mode 100755 index 0000000000000000000000000000000000000000..18727818d76dba4873f5993f6c9ba948ca4646af GIT binary patch literal 242 zcmV zjE0Ef4oN1(k{KEk$4bexVm9YiXdC56v{3T$rBr2ZX>#9!_g z`B^`!y7Nq9&A4060Wo%qv*Ufsu{CCYT^E&9np3604Q_DzFE?pw^~|@kYVIa#&+I*` zl@Y;Kkq??`U*qt@M8@#wp?=9QD&F@s(Gu5We?xHWW={>BMTjUwEzGB literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_15.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_15.png new file mode 100755 index 0000000000000000000000000000000000000000..a9f416c7cf6d12d66b42288ca30634bd231620ed GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^z97uV3?y$Jul@|A*aCb)T!Hle|NocXoPQU{n&9c; z7*a7OIpGgKW4(k#*1|KZ|Y7;q&c({geOlq6{l_|NsB~@BeOj2?=LKg_g#L z_90*X^SA8}*y`}CUV@?f(2QoEFV40{_R4EX?7Qw<^Koy}!|cERKm4zM{J-8+&^5^V zM2+FAWR7Cxrk}D0bN=>!U_F$7K!)M7p-w2XYph^ate~2LVYZ-;n}smLZ{Gt?94;j$ Q0^P>o>FVdQ&MBb@0G@4Fe*gdg literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_16.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_16.dat new file mode 100755 index 0000000..60af678 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_16.dat @@ -0,0 +1 @@ +xA E]sIX;n6`qW6`%A/3!!g̡1N) E|;>6⸏97$c]kkw1[mC͜cR>E,hʼnp#xFyWVWG3+˓S}Ğ#G8b^c^cpc&3YQ"vk9܇} ĿQL/ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_16.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_16.png new file mode 100755 index 0000000000000000000000000000000000000000..6ac8fe890573bd9ec52af39a315ac3ab4ea2821f GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^fgsGt3?wHw-Y5l9YymzYu0Z<#|Nl#G&c6#}b$Gfs zhE&W+PWZ#m$}S<1weXDnM;@Ma0pIRB@R(Uk#Imf`XJ1(VT~b2AdEtS^#)tMHfByex zYuj(|)!|#c1w;4Yo6V7boNcfCeZ$Lh|MkLuTKNe-qW;_ev6oobrMz06=bb#S{I8Dh zN*l`;cPanr7UAppFZhu8w7WuKxXRac9?ujuXHUG*!(qm7^gY)#$(yb3fo@{(boFyt I=akR{0Keo@^#A|> literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_17.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_17.dat new file mode 100755 index 0000000000000000000000000000000000000000..87f0cf593bab1049b794e2cd5af31a03aed5ae4e GIT binary patch literal 237 zcmV??y z+zk`^4Hi`JDI!!RUucn1n-C-N9Fb z^_i|y`igmlD_r3USGeLnfcpUE6|QiFD_o!A%FM(h?MeyC;;xkP+jach+JBqBM9KYfaSc^$Z&>9G^P0tbL9Kb? literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_17.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_17.png new file mode 100755 index 0000000000000000000000000000000000000000..5b929ac736efe8f6d1985337c1177744c1269ea7 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^p&-o23?!MXtt5dITYyi9E0F&G|NqjP^X~##9iA?Z zAr*6y6aMhChD%6fCBE4#FAy~=;3R%V0whYqvPd*ASAoyV)#iDwF3O@+^;xolwc$WL45Dpax@=q3hFS3j3^ HP6<әt3;H#љt3Y+oghٽlnF>i^#awm;g~pgNs{6zp' \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_18.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_18.png new file mode 100755 index 0000000000000000000000000000000000000000..ee0d6a35e2e6a84e715d5eb5b4fdc9b5d2749abb GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^ks!>-3?%c9O1%M6YymzYu0Z<#|Nl#G&c6#}&Gd9} z45^rtobZRAwO&R-A}euD{dY-;n8Z2%#V16aW903$A%y{rCU=?+2?S zoD&%`Zq?5?^Z!3DPkmyQ!<_#d4AUG7+P3l-Ff2$saPI&Ek5tBsDdq+>Yyb1R)Ia|J zpWl75<3-~We~dpEEmriJ=c8wIT*8-4vt+_y-iROtCy{xt9gWtVsEV2B>-_MFQnAED a3kLr4d-pH(c*O{GB!j1`pUXO@geCyv16v^g literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_19.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_19.dat new file mode 100755 index 0000000..95e26ad --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_19.dat @@ -0,0 +1,3 @@ +xA + E.No7ћiiRN2W%x@ڜ' +u6.*S;}àT zrt%,};)ZLP$qgLdJ;w.]z#[͝Og" B}};w#1Gb;w_C+w@Dfu2N9R7|pWkk \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_19.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_19.png new file mode 100755 index 0000000000000000000000000000000000000000..20fddd84c87b089846e770d1f605bb2ad7f57c71 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^u^`OI3?%>V|Iq-X*aCb)T!Hle|NocXoPQU{n&#=^ z7*a9k?UaqYhYUnq&Wq-jC5YuSB#B&dnb|T?LRr=$Z_R}Tk2{2ZJNXJK?z>}STkBod zD!Ahe?+Y#-&W#RvJnw{;%)2x3`m?>pT<459AMQBAm|$4*AhL{Qjqyw_`&^NPya`bn zXJgWHCRV@tu;iM2+Sbh*zvtZi6J38hrG4+=)_Z5WUzM+1``TYoxK{mFuJ#L=ri0wm XqQq6W4|?kYUC7|+>gTe~DWM4f0svZN literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_2.dat new file mode 100755 index 0000000..7e42f31 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_2.dat @@ -0,0 +1 @@ +x͒ F{v& &Y+?Z1S'y!a815&۴HٞclF1#6 f6O7C֏8gIfB\DԻ( \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_2.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_2.png new file mode 100755 index 0000000000000000000000000000000000000000..9c150ebe3c6343f6eb7549ec855a85c65de7604d GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~;3?%=liz@&rwg8_HS0MfW|No^o=iddgTs>VJ zLn`JZC;X{zXk7U1e=Qr^_5b1%IX6fouV7|A3{)sB@vn(vQN$aEu-Zyy=Ewg(ur1JZ on5OM)8&Req;!^#!TfKm!>(UHx3vIVCg!03uy4-2eap literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_20.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_20.dat new file mode 100755 index 0000000000000000000000000000000000000000..d5ecc1d8a0be752c422607ca863710fb41e89f29 GIT binary patch literal 250 zcmb=p^>&so*I@;L*3I9pv5Fh-u3+BVd2h|XrM?Rygy#mlsE%yq{QN_rm3^kbraf_K zT{CJkWkNo9UY6CcnsV--^u zOJldbdLR|gckNx0zDb^tqE2c~fteS{QV^$$s-(VRP{&d+%}!k2n8hWL&;YFRNm@X@0pL0J~;%WB>pF literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_20.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_20.png new file mode 100755 index 0000000000000000000000000000000000000000..23a061d5442e5950dc57ae4e3f754a72b18ff53a GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^i6G3#3?%=YhPDX_8iU0msvcT2m((dUcsbb;eOISnHE*Dg<1ej05g z6TelqVW*J3LxB0VBTn;T9{U-YPuzYYm+{WVu)4`tCvuk0J$+=^JinE@{pYYme)_^G zRCKb+Ysa%PrSIR~y}9%L-~0HO`-ivRxp~21a(d3@Y0=B8FU(feo3S(D-WC(-B3)aC Yhx#Rc#-1{#fi7h5boFyt=akR{0I{51asU7T literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_21.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_21.dat new file mode 100755 index 0000000..1974dd9 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_21.dat @@ -0,0 +1 @@ +xA E]sIX;n6Upв]٘< i-eW)ŕ…H\jvqHL\6ЅrILܹ%@Vv(P4|Xngɝ~]Du1Us S\,2N?DKF-:eJ]p_,a0` X` w,` X]5 Y4{2vJs9)u۹,]^_7$_ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_21.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_21.png new file mode 100755 index 0000000000000000000000000000000000000000..291598c72d21bac6548d649a4c0ae361a3f3c281 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^sUXbA3?%b5?e76nYymzYu0Z<#|Nl#G&c6#}E%0=4 z45^s&c8Ve2Ap-%H>!P`J6Rz)A#2UEl5$}@DKW0@L!ESpLCP{0HM08I+w9mQHp{3|< z#uoLvV(f=)_!nr4*yb$UIO$8w3qQFZD{qDu=PBg(==aGzoAaDygT+2UZ#}`II(`@a zTfYDFcHhw_Mf$&32ite~e#^+LRiYnGe^u zy!rp1m#1E^%JI(s6AU`tXJpwn$-ff(mztmOBd(vL_Y+&&`mg^F|356yrZelFIO- 7p 7$}>ɷ7p tssrs Vmҹ}R~7&?7ԦIbh{<Mi- \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_23.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_23.png new file mode 100755 index 0000000000000000000000000000000000000000..b8f16ae239dd9f4c18c18191589b0f98e896c750 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^xggBQ3?wI-)rtZswg8_HS0MfW|No^o=idcMc)B=- zRLn_E_|wl2FCmdNaYwkl!49Ruey#-t=bLuQzgozl!F}cTUb(J&bqNVPt_=cgZT~$s z{jWFp<9dnv$v=0tgvgY49MfCbML0qY4m1n4Xi4n5_TOEBC(>kZ^AY#v;4+grFO{vO z&Rv<5>-tpA?P=FPcV6u)6IiDGIq|S3riwW=Ht_4NMYDR2t#y5Bw5WhlxO>L&-&1e; Q10BcU>FVdQ&MBb@0PfXRdH?_b literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_24.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_24.dat new file mode 100755 index 0000000..7b92e29 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_24.dat @@ -0,0 +1 @@ +xA EMX0;nVP4HSSxU3/O LiJ4V JC%6VR&DBHjDJ??BlcDZ'UXUޏ0ywįj똳3ścj{:GqGNv;笓J <]#8#8H'GqGtr:9#8#8ؓhNt_>teS^\gQe?vuo;>*wlm \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_24.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_24.png new file mode 100755 index 0000000000000000000000000000000000000000..397c64f8533159fe3c792420d93cab3ec64c673c GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^g&@qx3?y%CxHlO{u?6^qxB}__|Nk$&IsYz@wcOLi zF{EP7+o>CQ4;cu!o)=Bt;3dWH(5PX|Xd0Tbewt9=(giM&ioPz%uZwq_{AtYK_=L;b z-~axk|Ds~-#=Rctl_DS6E<4m{++hxOxW(*z(!L?xL2jbS`@Xaf{qGdGWmpvR5thb97@%;4$j=d#Wzp$Pzhc4tul literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_25.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_25.dat new file mode 100755 index 0000000..ba12518 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_25.dat @@ -0,0 +1,3 @@ +xA + s낋]rxY51mMBG +*Sx|Ua5ƵZ-,1HPRjX5iG>WR/+uT廯 ӯ嗴u[Sa[kv5+5nJ%+VXbŊ߬u'SRtzZ++VXbŊٟٟٟ+VXb}Ŋ+VXVI+kq[toVZvoNVw}{r<ýR"R] Wr} \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_25.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_25.png new file mode 100755 index 0000000000000000000000000000000000000000..25bc4454afbe21949bfd01d1a8bbab713486ae65 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^r6A163?#iy+587mYymzYu0Z<#|Nl#G&c6#}E%$VB z45^s&cB&%ZAqN51|5`cu2Qt4gsF-;4Ir?6nTp+=+Nr<&Ydrf9n!e{G{vpig`o@IAV zpT3{+yxVcXEa?kbazcxq6{lLB{}VM?`;*JP)#Y~fCz=^>mۚ?vmg?ұηdCUIkE\Msfafa>[sӈ9쬩ެ8b]LgEo w1 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_26.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_26.png new file mode 100755 index 0000000000000000000000000000000000000000..f4a6b393861525908d76f29c6d8a3bfc2ba4f747 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^l_1Q>3?$V}WIz&Z0X`wFK>Gjx|4VPqzYAoo^mK6y zshE?T@TZ^UpG-o+3Rkfo(&rC6=+gP1FW~!t-{pbx-~a#LB)q!sxL;FM;QZsxnjpG@X|Wc^3Whe7pc$LY4HynfX%(+id5E{n0v40R%_lqrDMPR_=K#Nbs1J=Z*FW%KHev5UH0bx zvhP3A?5`T{eKs|C?=(67e>XRlv;V$O{Jat(4^}wWvJV8GgET;O7Rx~3dn=g8x81kq zTBsYH(o>B~k(w6wdiUP<-~a4d_f^K|^b>jOg|*Ku{@y(>H?~&4sQTS6>xH+g>q>Tg S)BB(oTgzV+tiQ0S`YHfvkCqVt literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_27.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_27.png new file mode 100755 index 0000000000000000000000000000000000000000..8419ec2301e8c0278f9f86d97417d51d3df000bb GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^wIIyM3?#Su{YwKY3Z=Ttv zWf2y7&zVY?&I!gH*lL(C<3L-FqWk?PvhJVcioOWu?Vls-VEE&Jg0;|sb157vj!F0I zoFJt8?3CA*9ZT0UM?PxZcc8vtF);OXk;vd$@?2>|KWW^(`l literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_28.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_28.dat new file mode 100755 index 0000000000000000000000000000000000000000..8cbaa1961bed61c3d774192448857480eb49762f GIT binary patch literal 318 zcmb=p^>&UUU$cUMYi#vvHNCX5BIcc(ch)S(P&rt#xF_>o`BhIHdwqxJ`pXR0ab3O; zyhvzU>thM$uzdDevN_u7>@yw8*(S-Z(T=tZ`1|rey6L^W%k_%NF5F|Ui=6h%{9e%d zZ;qDSdF$l&FG(-^99&vHr#0ZpbjM5kK3J?R3cg=E!9=w8_VG%C;KB!IWDhW~88k5R zBz#a~TYLY*^54yi?c%-~`hWLu-)r%Km;K+Pv$J34CnoIU-@%{2z$^h(euDc6>nEnl zMr%QcZlKHrafo2K5)VwFf<8p>oeNCgzsZd&I##GMUwz`}E2+Yy_3mfghfV%>+;#2K w_7?4#@$=nu@tm|;Z8o*f=bqOl7=Ny{aυR-rn.ꯋ\T:*)|) , ,x_}:^RUoɢu~މX`XЏЏЏЏ_`X`XЏЏЏ_`X`XЏЏЏЏwbX`PU)D"c{z3<}^?bm잃a.] +{Q6uT,9 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_29.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_29.png new file mode 100755 index 0000000000000000000000000000000000000000..ffe072c868268ea77f05f71c17088021d549090d GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^tsuP;BJn$?U}wS}0TXykDcgTe~DWM4fn*mjQ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_3.dat new file mode 100755 index 0000000..188d531 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_3.dat @@ -0,0 +1 @@ +x E{v& &Y+bk'ya:TXl޶$W+ӏv9}gR@H0YPBEm?s"bt2cn:ﺭ;YzQ7 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_3.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_3.png new file mode 100755 index 0000000000000000000000000000000000000000..945ee7cb993022c3ba0081cdd6b833b92395b30c GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXJ3?y@6zxn_vwg8_HS0MfW|No^o=iddgJUm?- zLn`JZC;a)}-nj7F|NHzr>;C`eQV>iqJa$2VtqrL1f5H!Lr4wnjD-wRh|KHox`0@XB rt_3F@rfGYe5mn(<%W`B5%F}Pb9F^HI>YU!D_xBYq^}BRWJ#p5u$@O~+U60g$ z^ZZ%%C&E6_>--Dp^Lw@H{+B%qvQk^Qjp5k3r)$sId8T^L{8KD*Wwpx3yDA4+gnbMS zvP`Zw$-FB!Z`b@c+Rxs&eZ4X_H(t}zN!in)_Pe(B-kBwv{Vn`0k`1A%fm#-_F9E_Q zHV6?QtI7cc&w)*Z5ts^pmI@a>n)4-LQd5VAxSF@+|0}%z9_8)t4X9Z8-TGsS+L_O` o3*N2iKjl*T?_}Zp7w1|m>#S{6FV2w-Q4O5Cykv#>|8j$;0GhIr$^ZZW literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_30.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_30.png new file mode 100755 index 0000000000000000000000000000000000000000..75dbddd2416814ef91b71363c859c3dbe86f0802 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^ogmD}3?!9ab#?(Mwg8_HS0MfW|No^o=iddgws^WY zhE&XXJ8dKHAp-$deb!SFYn&!CY6Q4UH4Jk7sONJ?V2XzJ1%+7_{OTQ#YUCIa<5O*I z@1FcVdoow(KLw+VEhS36DYCp#b}QPnZQP#yZF5>L_wIw#N8!&ZL32x5J2SZFRNT#W zJ+d{@@YEHq?4aMP=C-7+TKmm!p0e&81)Cc7+)G|xes$W5z3%q9Wf`gZcFvkf-|8dM zyYV櫷:ñA8-+mTbllltM&]ll&]Ill&]y 6` 6`iuyXWi\tz>.zk t77wJϔ4w҈85 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_31.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_31.png new file mode 100755 index 0000000000000000000000000000000000000000..b14d1fa267f229a5b21beb06401aaea3c7ee4673 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^y&%lU3?w&9$bJT-*aCb)T!Hle|NocXoPQU{+Ue=y z7*a9k?X-=&hYSQ<^+j{d5~R!+0*%=60@{+AM5auc(!n|5PK2l6>q3RVA30i5E;U78 zzm!b-J6oUkrH>MO^Sih(w%FVJC(3=iBOLgbf7_Y;qQm^gYNmAkvubmKsBNb!r<>aC-Pn**9g*ߚ?aOkL_<[c>c˘uLI%#0#0#otѢ}4fv_)Eph5R881#0#0itZ#0#0#0itZ#0#0#0itZl0#09q"HܜHQ"L5}-Y׾k`>z鸳4&p!!`:5 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_32.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_32.png new file mode 100755 index 0000000000000000000000000000000000000000..58d42db3c5b755228c7565cdf8128438559cfe1b GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^6G51f8A$#VJCOjS*aCb)T!Hle|NocXoPQU{+U@D$ z7*a9k?X-=&hYSQ<^`{N~#na9iwuURu!V?k}}KG;`at7keZ6HBO!j zPFw%CYT8codjH_FpLqjK{?_pC(kM^0-qBFEG_3wrT<*O&_g>F?-&noh_CE9X8vcLx zZ-?L5c<5S4(d*MS%jL4aFL*KcmFQoSBb$x~rEe4WKl3d;RlhCaH-pl}T98i}JYD@< J);T3K0RZV1Z(9HW literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_33.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_33.dat new file mode 100755 index 0000000..a261375 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_33.dat @@ -0,0 +1,14 @@ +xA a޺@n7+*L++柮bb*LCc kHrjJ5Yi~0_TT}e>5b_w͟?\Rai+7W\wLUNL ++ ++jOkc\˩|%o} 8 ++ ++ ++ 3g ++ ++ ++3g@ ++ ++ ++:RXB9I=ko/Swؘٯ`gr_ٙYVSYzIefnmQoz > \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_33.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_33.png new file mode 100755 index 0000000000000000000000000000000000000000..924c728e0aa0b3c22b7537d833d53f072a923640 GIT binary patch literal 253 zcmV7LUZoG!D=_b+G>~XohCiGYUA3?`$qlQw=oFH)|?GM%W=ZP z?o-WP`{JCI-1j+kVd;lds9Q_l#)_e*e%!H*n2YxP(|eQ4yd?KKF7uLH<|VmLxpSZ$ z1MOt{Gd*JG7)eOIdQ#d>d~xt^_>>*JiBA`^i7E%w2i00000NkvXXu0mjf DAwYG& literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_34.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_34.dat new file mode 100755 index 0000000000000000000000000000000000000000..7ceb0259d4a6f14ad6d9e5d76eb87c07b034c711 GIT binary patch literal 331 zcmb=p_4bZoU$cP#>xCNzb)OE=JWTSu!=w6LqU*^gyy-W?Z;@;Fg>L`1=l-EkZ?iVvV?C0_X=i2_ zCW9G)ljhbgx7l(nwvgX`%e6^Q_5bh5(A^bzqxMK4)(Kt#i%i{@a^9b964fc@euQ;PW=~uiO$9&bgnPb zQZeW4^o^WMjsmX#U8f~jtBEBjv`tG?seT)Aq*3=qXXlI+_hnO3Z`!AqXdKG<^zh@1 z$2a89EJ`kxb5FQ`=(boyS7nhxxW0w*`IRj*&5GUQE?a*(lXrI>tApXq$M?>eXvpg? zJ7Dnt${M{rF8!;dRI6f&a!y#e`IJAq{!imf{LG6>4VD`%_D=Lmb(?#S3j3^P65% literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_35.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_35.dat new file mode 100755 index 0000000000000000000000000000000000000000..56bc3e28ee83b24767b00391773560ca842f0b44 GIT binary patch literal 342 zcmb=p_4e+@yk-Lt)(dC;l&Z2-bJsJ}Gu4L)&k?(_Yz24S#B<8tYk0!l*-FIIBjt?0 zZ`YVyJa2n|_x3Zdk9bXgHfz^qygTh2XweY|A-_q!&2k4t`5 zdHt-uf3>=7$NxRcHpcK?YhPbowodr?x--Th*X`3@Jbts=sCI7N@2dT+b7tjn%l`^M?L^?B>}TrgGEWxv+gtv>&1 z^SpAXK9B(~H-km1?tx8$7`Ys%2q^kG_8{C6zxh|wzed(x`wSQ9yIX(x>6}yP9JAN? zaAi*~^7>i6``g|}l``+#Pxx*7Q>a$?+fMp@&Wq;Q9mQL}|JJ)V^U3dOv#MPg=?~>E Qwf>fGyj#QM-^sTe06Gf6oB#j- literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_35.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_35.png new file mode 100755 index 0000000000000000000000000000000000000000..d29806c6037dea38b05d8211a0a45c2e0c1ff1d0 GIT binary patch literal 243 zcmV69g+8T9FaOlD5lXr@5A{4g21 z`3F-KR1%=7ED2boeU%@kIrD;Vui5n8>omRhI!*7rPSbn8llib6 tcmDZ{$vZ*}#x^0hn~*mYfxOG)^abWznpY06{Y3x(002ovPDHLkV1fp`ZrcC= literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_36.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_36.dat new file mode 100755 index 0000000000000000000000000000000000000000..282c60d23bca6a7c3ac2c3da0744992f3415d8d0 GIT binary patch literal 370 zcmb=p_4ck~UbBG!>xDHtOI5|b@#Qg?H_pDw$;Z^XB}m*L@cxD_oki=_lM}=$=E<9G z-R?29c-FLpVq^dBT+!v^g&NTH_@wd)yXEcGyBzK-j`OqvsA7=ytvYW@9>9b z_WqKQLf0xI)<4~MTkdf{-#UAXb5bv_XIHKgJ-y+Ial~c2Rr$$h4+rJ0P5XKC?x8T> z8}0rlCMY_$@kss?KYU%i=k@&DYZIUS(0u#r`Qg$fYBKRcefj5YDxU=N96s;-dSNve zNU2c@M9){5FJQQ)9U&%Zbfx$L7;cb*sRL;UIPVCC2diGpI|Q*2B5lhKfv>@?fNH7t zol$&B)74DpqnE3hkLL7O>+2T(ei-}yr{??h8{VJ({BR!k#40|+{iXYjd3MGhD3d#O cr#P`%x8CVcM|J%hp|(5rsloS;^$2?d0KeI-=l}o! literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_36.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_36.png new file mode 100755 index 0000000000000000000000000000000000000000..96ecb421354bec386b535fe1e2cf4fd753142013 GIT binary patch literal 272 zcmV+r0q_2aP)#C@Z9i(!~1M zrir*qV+k70-90^>68kqFj-O|}12;kA2%H6FtI=5KdLSEeASYjjHt&ri*^^Il@nz@$ zcM<0VP`V6=a&MyY!``k&|IeMgxU(i;@#22_fZ4~6ypj)cPBagDuD;9QQOl0fagwX_p(bdJihERcvP@-vOY{Y; W&Oa>B-?9<_0000W;+CoZ{7==byZrmTWaR#jx=*j}d9!=n z?jLue-7XczO-tXCTNhVr9_xF%CU42z`5zaC*qmOutsr!7Nc8d9(}S-rUG+8hGgqu? z>hF#zI+2@FPEJzwo~AQDvGQO3&(Hs_exLZN>iNf?wdd`Eg1#-+{C#?NzFg&`r^?Tk ze!Y~>4^#=)^407M7_OO)5CclC+`bSD6Zb-m25VS)uMGyjf-Qs@QzZ?7*Sz=JBAN4V zs?k%Ey^Est6oX4n+Z;cW+cNi&e)WmBGn&?4`2F$Yr!zA>_V(^buig{cW~=_xLjUnR b%i@}2^Cua-iuB0WJUmakbVYvd1M%+wXsyHf literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_37.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_37.png new file mode 100755 index 0000000000000000000000000000000000000000..fcc51627d75b1195d79e915e5ba5a26accff30b6 GIT binary patch literal 279 zcmV+y0qFjTP)Q+l9uWqZrGW15EmmL1Za)FnMD)vS~08#pCh dPbukz=wHCg@a-IQ|2+Tz002ovPDHLkV1gG4c{u<8 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_38.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_38.dat new file mode 100755 index 0000000..71cf53e --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_38.dat @@ -0,0 +1 @@ +xA0ЎuA2;Нk(gytp9$D\e^'t-aIFMSkIŤ:7|LkN8N7i}i,[WgӴ?31iN}}=OM:4)SL2eʔ)SL#$ JJM:}]L٧SQL2eʔ)SL2աPt(:)SL2eʔ)S:ECq2eʔ)SL2eʔECѡ8O2eʔ)SL2eTCѡPL2eʔ)SL2ݓsJCIKԂi93n_ +Ri4\g;% }an \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_38.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_38.png new file mode 100755 index 0000000000000000000000000000000000000000..89238f3c5bd6d3fa6aea44d2037dfd3bc0a34723 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^D?yl%8AxVH_vZj9wg8_HS0MfW|No^o=iddg&Um^w zhE&XXJKd1$kb{7$dT5{Gy(7n%mk6AeQJ$Kzej0N`L_}BkhKVNY?%zz+J@k*Y+f^`a z^_k}%XBzDPc}byOdLr}0>WR7QehE+CtzjSL!0mG&m*?>2?tA~Zcn+}6IBv0`eDmq~ zc}z}+JJ0WJ_POR~GP(Dkvz2Uh;m>QHUB{HvnxDHtOI5|b@#Qg?H_jFnQdbgP@~WvsW^bbC&dz=Fbh`ibKL2SI zT-|A9x%8!2QQou6xhFC&&-ym4$aD9pW82OKdqz6mnsRx4=J8U#egE%mowI%0@84xI zZ4W<8zrSnRI_rgRZWpP2x%=6e@AT!byU*{w{_FTmgQ=a_yU*CBT#j3w|M=bQ)LTYp z-zJx@O!B(5Z`GEZo10QkPt%RwHa}ta_dLm$f4^*>CH-=s6v(7v&e*fR{ ztx~zGZ*4yp{T!$et^>&Eoe;)fc50TK5C1au;(Jh&pbBm$WPVLpzUJk@F9}r!=o)#a zk*D#WWv<`r;O<;6&F5D_CzowJTRZ36gVgy2`}e(i{XD+qP1dt!Yu@B<2_N6LRd3?0 je}Av+{;~a+3#!$wOf&lxJI6os@crUlGxJ^MEBXTf`CjAm literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_39.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_39.png new file mode 100755 index 0000000000000000000000000000000000000000..1dc9cd1bc53a2e27ad5b61791c7a76cdab408123 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^YeATi8A$#}%mtDRYymzYu0Z<#|Nl#G&c6#}?e%nV z45^s&cKSvxCPM)i^QmwDPN{$JaQO_kPo;GYt#kKIo$zc&c3+{t4%5trR)KEM%_$W+ zC*PSQGk)DUdv52RwA;cz%>sV@oL27Om%5WD`n|Bh@=ZQB4@JyxmgML?8g}V+>Zb|( zXHzc5U$%Rcbzopr09yKW761SM literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_4.dat new file mode 100755 index 0000000..67b30e8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_4.dat @@ -0,0 +1 @@ +x E=u pجQCOM'ˏ$ @3eF\FNXRyؾC{a8R Ńa2@qkH1(`cj~0ܨعnXGĀ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_4.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_4.png new file mode 100755 index 0000000000000000000000000000000000000000..b72f9e70d374741d1d4ec4537b7a379088325669 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^iXhC$3?y^40(5{BTYyi9E0F&G|NqjP^X~##UY;(F zAr*6y6aM`F&%o^b_W%Fyk`gih|L^bcaylaE>?|uG@sHV&`Ea~}XRw*|gxLT4_cSuT v*!F>Kf^<]߳bZn^AQ}[9^]ynajM܇K̘1cƌ3f̘1{W5}{7lMޚxI<Kαyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘SʑӒ7HK޼g\u_r'4[-]qL8ƝY1q!/(% \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_40.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_40.png new file mode 100755 index 0000000000000000000000000000000000000000..8034d862d60aed55180914d323aa4557f39c036f GIT binary patch literal 267 zcmV+m0rdWfP)xUy&%?@Zqe$Lt^IHF*f5Ycy_0y589U#OP zDOgy2<>WYTpYrhA^tGLJe{+Ghzs|!@a34iK>1DI|zE}TO_YMEQ{K#kcE&Gwr@LTpH zpW(OcM?S;hKGje=R>w-jeWqvU%KmI=|;a=Y2bm$Ju*=arXY8`~`*2(t2@u R+XVms002ovPDHLkV1jNhe*XXf literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_5.dat new file mode 100755 index 0000000..d5dafe1 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/frame_5.dat @@ -0,0 +1 @@ +x1 Eu7ЛZ|ND B0@R$l,->VKZ[Io+o1yT37=P9COrj~W-G?9JF6VLpcd literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_6.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_6.png new file mode 100755 index 0000000000000000000000000000000000000000..05ca358b0ebc0c3a0b76df7bc0411af2d596f586 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^njp-`3?wJ5o3s^3u?6^qxB}__|Nk$&IsYz@<>Tq% z7*a7OIpGgbjFGJ^N}+Uq<3Ul6SeNAsih33jb6-tP*oFY|>b2SQ8z)uR?vtd#dj@Cr|apornv1)El=m yfE)D&wC=s-ob2oKGnB!6a?|8|>$jotR__k)Tfb?1CbP75iyKQ(;+|ur1|Lo4=9^M0XYLiuS90INiM|3P! zl1w_Dw_=lP*>oFG#pgDRUYDi$t)1S^DCLO~UG_j|*#gebx3BZ+nH+yL4#Xe`MZ5Oaleo}by@B3DZ#Iau!Ks7Twck}KFFz0sl!D6kkmQ`t zEwPxAt7e4vK(tICs>9R+3CvUzZbGE0t`1I&>PRt0PIx4!4(e4n`AHE@7YTQ-GD-FT zU5Un`f|ct4S(0g==b;u6VVT$-+hayNZ>kV6cem$hSdySrt`hAq)&LF)(-K_0ARP&tIq1zdFuig-v-KQf|`xVm{I3hDX Dr=(<@ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_8.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_8.png new file mode 100755 index 0000000000000000000000000000000000000000..db1f1877ab3aa0f221156a6c8ab461cf548b7c22 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzy3?w~+F2@5Ywg8_HS0MfW|No^o=iddg8a-Vc zLn`KMov@L&*+9hQeCRTV$kt=bOB^&Mo4IaE8~7hfU-_hp z>GjwD9k;ZU{x$DC`?c>k>SwyYUwnVQ%-n^a7#d|n|4z96z#8Zn22WQ%mvv4FO#qqh BQ^o)Q literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_9.dat b/lib/crowdfunding/lib/phpqrcode/cache/frame_9.dat new file mode 100755 index 0000000000000000000000000000000000000000..d79295ee0f93bf3b101c220b436cc0d302b3dd72 GIT binary patch literal 206 zcmV;<05Sh~+U=G>4ul{KMO}02Nm#TyxdGe+ZZ;LFff1oFD-%8|o4)*%Sp6YHdA;?7 z06sMb75pI)g+!%pq7Eks1(Ax~0~7*wDR<~T*G1Lma@N`!#dGl;n!P;E()p>G>kd7u z??pPBm5wsHKNm@}RC?UEAu(m9sO7c1-s)A`rDjb%?QOHhl&f?!YX5jm&9&Z*<@HW4 z${vU~>O~9yjCv75*xjqWU*~WAGqlU$A+xo=8}e*Zc!_gVK9@YR<##wsNwa7{iF0qJ IFSFt|>Yb-#$p8QV literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/frame_9.png b/lib/crowdfunding/lib/phpqrcode/cache/frame_9.png new file mode 100755 index 0000000000000000000000000000000000000000..74ddf08da2f671de67f1fed645afe705662e8424 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^rXbA73?y%B7#ag9wg8_HS0MfW|No^o=iddgYCK&W zLn`L%ov@L!AwagA1{7>@m-%iy`qAdx51;UBica)=ne)?S3j3^P6=xt5c>OY+~gW)7igeMcUJuTaR$o&p-O;5+hmJG|D H^z#4!b%aZc literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_105_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_105_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..97e9e5dfff667572d9451add45a3a5e05c157625 GIT binary patch literal 162 zcmb=p_4bw{SAzlr%YohNFaEDz7aTYx-~rdw7iUi!E!oMQ9qZ10=B~!Y1!Xh8FbC`Z zyZK8u`25eDzn4VhGJ|J-om&>Dy5;$~&1-gk)KCM0Wh*o*?Q>r*t&Z>8Q#|w7j5+Ec zQ8l$%fAdS<5uE#%zyDF50RnO9r|hm-%}`_g>f0!1_?Y+V!H}75vy!UUpR@9hH`4Vh H(~brJDN;^O literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_109_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_109_0.dat new file mode 100755 index 0000000..eadf83a --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_109_0.dat @@ -0,0 +1,2 @@ +x= +0 нi9'b$t^#ii?bK[AUF徝Ƶijx]m]2-ĖK~ Vw}X&Oɓ666666yR'%lllll/hlm dl3+mͫ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_113_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_113_0.dat new file mode 100755 index 0000000..5eb7f5d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_113_0.dat @@ -0,0 +1,2 @@ +x; +0>I9+Es=ϤL1̄[FZU4?i<;7;P#W-[ݯ6ddddddc",;"sk摑Q&erw######L.摑Иy1^˲\3 v \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_117_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_117_0.dat new file mode 100755 index 0000000..781c7f8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_117_0.dat @@ -0,0 +1,2 @@ +xA +0 }OrR,#3,o5Cq:;;wvNJZG=m} ѱ2iRkj_YYYYYYYYe_/WVVVVVVkd-Ϻ,#OZc]|{ž$ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_121_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_121_0.dat new file mode 100755 index 0000000..68810c3 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_121_0.dat @@ -0,0 +1 @@ +x1 О/w YMS8>2SFOEcW\ۼ{cpKGBКmxhfffffff/s22W|*d1*5̬RWas\xm~8߮r0wjsdm&y \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_125_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_125_0.dat new file mode 100755 index 0000000..2c73ef1 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_125_0.dat @@ -0,0 +1,2 @@ +xA + н_TH`3AOL4 k(ewGW. #2} \Ygggggggggg_d>j^s;;;;;;;;;;'q;;;;;;;;;'˰qu_PYw{e=dG/ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_129_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_129_0.dat new file mode 100755 index 0000000..812ee8a --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_129_0.dat @@ -0,0 +1,2 @@ +x1 + /*DE'hgt-}_pV \"b=s[J=8Dho۞' 0X ۴e0`  j" 0`Wf`^P0`2Ȁ  d07(Y/XLGby"pT \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_137_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_137_0.dat new file mode 100755 index 0000000..f6d993b --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_137_0.dat @@ -0,0 +1 @@ +x1 О/+FZ?J L7Ժ*Ba%L~˻ʓCJYIWJ .K]R0a„ $INTwlLaL0a„ &Ld@PO0a„ &L0e@P?a„ &L0aDe@ &L0aMIlL&)dlgacR<$v,ɺ?U2] \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_141_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_141_0.dat new file mode 100755 index 0000000..8c685c8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_141_0.dat @@ -0,0 +1,2 @@ +x= +0 нi9'EDx͘%I9+E{$m^&uS"D6ڟ]98UMbҾY[2拉Ĉ#F1bĈ%iRN潝ѳ#;#F1bĈN1i#F1bĈ#FtZ}Nk1bĈ#F1bktZ;#F1bFV-u"IoD-*7uj>bMV+ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_149_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_149_0.dat new file mode 100755 index 0000000..d258350 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_149_0.dat @@ -0,0 +1,3 @@ +xA + н_MEQXP৞.|94e{JLv#^n[ ?; +ZIV-*w˒1*+VXbŊXgwqX}JRYbŊ+VXbeΠwfeΠ^bŊ+VXbʜAʜAbŊ+VXbŊ9ٜAbŊ+VXbŊl0*0Tj`?Ϊ;X=zZr* \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_153_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_153_0.dat new file mode 100755 index 0000000..fc79e9e --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_153_0.dat @@ -0,0 +1 @@ +x1 Н/礑h&F`Ҽ@I;PZ^X͌mf.=5 [if-R+!wr˜g\j̘1cƌ3f̘1cfo.2?1z `ƌ3f̘1cƌzƌ3f̘1cƌ3fztf3f̘1cƌ3f̘kk030cƌ3f̘1c9;Ď`vf͚̆ZϘW9 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_157_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_157_0.dat new file mode 100755 index 0000000..ad749f3 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_157_0.dat @@ -0,0 +1,2 @@ +xA + н_QRY k*q͵=j7~nN.p%ڵsi.رcǎ;vر{.-W2={mgy+رcǎ;vɳ2;yּcǎ;vرcNɳ;vرcǎ;v2xI3`FaC~S7rJnYfY8T-%e~DHFIIc5zv^p@ZbtcP7qJ_1+9^La zKHT%7-Y-t#T{NC)k=gd2o zjNY~Ld^ftnUmGj|mU3?60jkj`HqbYoV)>#S!~tpmi%zkeFHURTr~Ks{-QatqS5&9ib(yR@{gMnQ+Lcye6Ty_ Q@^8h%UuzjeUK>3D05K(RC;$Ke literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_165_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_165_0.dat new file mode 100755 index 0000000..3a17a05 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_165_0.dat @@ -0,0 +1,2 @@ +x; +0>I9+DyI4ˠ5:Wvdqߜܴ<d2x%[U%2]&K,Ydɒ%ˡ,S՗r2yd=,k_{Xdɒ%K,Yd)0m,Ydɒ%K,Yd)0m,Ydɒ%K,Yme,e%K,Ydɒ%K,eq Ò%K,Ydɒe:I9EQ=Ls I{ZtR}Sn:|R[?_*SL2eʔ)SL&ϦI O2O2eʔ)SL2e*C1PPSL2eʔ)SLP22)SL2eʔ)SLe(}2)SL2eʔ)SLe(}2)SL2eʔ)Sic7;"ޙFͦސٙvL ^2}oO'r \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_173_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_173_0.dat new file mode 100755 index 0000000..5ef85e7 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_173_0.dat @@ -0,0 +1 @@ +x10ޯT [4v2ƽok݇;Ӳ]f֞dljlG0n+߻mG˖-[lٲe"Y}oV[lٲe˖-[lٲeհՃ[2lٲe˖-[lٲeհՃ[2lٲe˖-[lٲeհՃ[lٲe˖-[lٲeValٲe˖-[lٲef[BmаE;N-ۜT/rl?* \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_177_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_177_0.dat new file mode 100755 index 0000000..78a26a7 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_177_0.dat @@ -0,0 +1,2 @@ +x1 +0>I9+?߁iև d̹xֈxN/է|{ظ8d0h=cFf̘1cƌ3f̘qq=w6;l4cƕ<nj3f̘1cƌ3fXһ1ֻcƌ3f̘1cƌ3fXbwnj3f̘1cƌ3f̘M'X&1cƌ3f̘1cƌ3ֻnn1cƌ3f̘1cƌÍ3U< \7+(<OƌΊnj4@ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_21_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_21_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..368c9941fd09f695d58934eb0de062a54fd74c02 GIT binary patch literal 48 zcmb=pWo*#E=&aDfq?gm=vB)I2o5jQUx&ZeRqn1^Uf@;3Hn^Ft5vfXH5Z;oPEP!;?T E0GJaIuK)l5 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_25_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_25_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..e4a5b6d8afc4516779d7d246ebfcf7ced36029d4 GIT binary patch literal 57 zcmV-90LK4#+A}bK0YfN+0xnzV>=60G~7^dI6e8pX8D%7wG^1 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_33_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_33_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..2ec712a7adcd6edf1ce2c785adf00e3ca7c5b729 GIT binary patch literal 62 zcmV-E0Kxxw+A}bK0Yfwh1zdy_AgLHMX5awSafcxR$OTi6Q^}|q!_EwNn!%sOz-Hh| UV{|eD?iT|>N~mE50E^|%1m89on*aa+ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_37_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_37_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..1588cfce1318608538dbde89fa7f04d05ff574e4 GIT binary patch literal 65 zcmV-H0KWft+A}bK0YfYh3b=?-grsWFnuP~Y*IkB0KrWabyvjz+8Z~Q>n+4Agg!2&C XEPQ!r0L+5>(SR6b)HDkKY5W93c-0$f literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_41_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_41_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..e369027e3831ce2d9ac858eaa2cdfa5e5498df07 GIT binary patch literal 68 zcmV-K0K5Nq+A}bK0Ye-R3b=?>h@^7Jm`MQ8#+`;lLN1s-f=Wlt95r*)%t2))yeuHD a3;~--s0 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_53_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_53_0.dat new file mode 100755 index 0000000..572d279 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_53_0.dat @@ -0,0 +1,2 @@ +xK +@!йoQϺ:(m&s-6Z{m4YX.F٭XZij=:έ֋b忑VH 8 #[Y^Xe \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_57_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_57_0.dat new file mode 100755 index 0000000..ea81e6d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_57_0.dat @@ -0,0 +1,4 @@ +xA + {^s=YL՚ ( +ouj)  +Z7yv,ԴwVQ iGiҤDfەwo4ѤoLLȼ}4 h \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_61_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_61_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..93d2444d8249bf3c534223bc1bb339d54f7af957 GIT binary patch literal 119 zcmV--0Eqv1+U?dk3IHJt1<*dHN$!6+E5(hNrI=BE>;m7%=n!PCCC1eixx=ze|IFU^ z&9=7bWCto@OXj<~I62OGT~zl9#bLvS4O_9jbFKC1I6Jle?Kb{3*sx(Qw*P@W*om-i Z8|GT{jXc==mTf+B&fNDGb^()u!gb2GK0EGW|+U?gt4!|G?1i(A5f&YK5CmXS?mE~YV7mp;Hi4u*ftt_y*5-7lK6FzHr z>I4k)=)nLMYOw4+bP*CfgX@x(2S?CA0}V9%z<}J֞!Ŋ+V嬪.2XbŊ+VX.kBzwձ̀gkYZ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_89_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_89_0.dat new file mode 100755 index 0000000..aaa4c52 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_89_0.dat @@ -0,0 +1 @@ +x1 ὧi9'Hl?L^"&M?bq?˸,9!z]VScƌ3_c!`n3f̘1č 3f̘1/f>.Uc˻; 2;Y+7 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_93_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_93_0.dat new file mode 100755 index 0000000..e218fa0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_93_0.dat @@ -0,0 +1,3 @@ +xK + EyV,OmޠrPH0{2bc{tQ] +{Q{{弬֒ǎ;v_ڳ}L}l߱cǎ;v̑̑̑رcǎ.Legw3qeѾ@i \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_97_0.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_0/mask_97_0.dat new file mode 100755 index 0000000000000000000000000000000000000000..74ac719d06e7ba35f7b749e668c884f291daefb7 GIT binary patch literal 150 zcmb=p_4cMC*8v3{my5N2lkfa5ijADYwQUyT?SDJYDA|}8ET~@TVG}wt#i2yK=7z!b z>XaF;OL-RsNjlZ?U*+(wbH1LOIxmNXjYq;D;XuQ~?`*DdR@K|)ymqtY`Of=>87kg* z$16{D`=-laMU02Hv7J?~OBUdlkQVwh=~Mq+LyI<1=UdT5U+wnXEMO=-^wS0a*1ӘK}:!iY'*3]fsmb[JƶŖK9}cccccc'u.6Ʀs6666R[^g{/lٷ 7͂ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_113_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_113_1.dat new file mode 100755 index 0000000..1dd666d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_113_1.dat @@ -0,0 +1 @@ +x1  -8fL(pBlDM9";-;?1p{\%-3:@ad4*Nadddddd########c]751xYu \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_117_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_117_1.dat new file mode 100755 index 0000000..8921f64 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_117_1.dat @@ -0,0 +1,2 @@ +xֻ >ӘK$^ 8YQSV'z8jzʇ^]סekXYYYYYYYjݵ# ++yeeeeeeee#WVVVVVVVV;"+yeeeeeeel'e;b&^9{/J$p \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_121_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_121_1.dat new file mode 100755 index 0000000..64bd8ba --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_121_1.dat @@ -0,0 +1,2 @@ +x1 + н\CPbїE$DdƩYtڅλ0$ήꝝga7yٯ痽Y??{{D \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_129_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_129_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..62cd1c9a18c2367d1c2c4a125b0c7bfb7647cd07 GIT binary patch literal 164 zcmb=p_4c+Q*8v3{)(d-=d%mmRskg|fP}}X+^rc5NZJtc#aociguIS=*E7o0PY;Hez z>gn9i&b%cXe#-fTKV)dW7BEeenT946)3$`s uʮ>Wd )g'M{3\d6ubذaÆ 6lؼn]Nذ9FްaÆ 6lذa3a#oذaÆ 6lذذ5e16lذaÆ ]Sbk6lذaÆ mͤ;CcfIdsG \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_145_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_145_1.dat new file mode 100755 index 0000000..6a9950f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_145_1.dat @@ -0,0 +1 @@ +x!0@k 4a)q2i.YCUO{35UZFn]fN>bdwtzJF}F1bĈ#F(F6r1bĈ#F1E1ilF1bĈ#FtF#F1bĈ#FtZ}##F1bĈleHGܣ@ٝ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_149_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_149_1.dat new file mode 100755 index 0000000..02a3cdc --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_149_1.dat @@ -0,0 +1 @@ +x1 Ӕ_΅qH_Xci#Gd̘Ք՛gLU^ݮVR>dKVXbŊ+VXeoXJ_bŊ+VXb;ݙ+}Ŋ+VXbŊ+VAVngŊ+VXbŊ}+ +VXbŊVj>hewf*`uTq \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_153_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_153_1.dat new file mode 100755 index 0000000..2abfca2 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_153_1.dat @@ -0,0 +1,2 @@ +x1 +0\9btEc'HH9efߞmffM#.̘1cƌ3f̘1cf73f̘g̘1cƌ3f̘1co2c]?3f̘1cƌ3f5Mf3f̘1cƌ3f̘17utf3f̘1cƌ3f̘=lj3>V \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_157_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_157_1.dat new file mode 100755 index 0000000..17344b8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_157_1.dat @@ -0,0 +1,2 @@ +x1 + >94Sd/51V)SkJv7eGcǎ;vرc]Zٱc'رcǎ;vر+رg;vرcǎ;}V`N+رcǎ;v:;v;vرcǎ;;}Vޱcǎ;vص'vz#;]klwoA` \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_161_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_161_1.dat new file mode 100755 index 0000000..669ade1 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_161_1.dat @@ -0,0 +1 @@ +x10_΅Xš yi~Qbkvp7'M u=]([ 2dȐ +\' 2 2dȐ!C 2s0/3d() 2dȐ!C 241dh 2dȐ!C 2dhcȐSL2eʔ)SL2M SLSL2eʔ)SL2M}LSSL2eʔ)SLeSy)SŔ)SL2eʔ)S;ٔ)S;)SL2eʔ)Sv()Sv()SL2eʔ)SLdT6}a*3mljmzC' \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_173_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_173_1.dat new file mode 100755 index 0000000..436918c --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_173_1.dat @@ -0,0 +1 @@ +x1 Ӕ_Υ''@y]X1?"g:1犝fn˶˻mm.?lٲe˖-F>glٲ2lٲe˖-[lٲeO`˖e˖-[lٲe˖-[l lٲlٲe˖-[lٲeVO`˖e˖-[lٲe˖-[z0}[z0y˖-[lٲe˖-[Ee[hOVWö=t*| \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_177_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_177_1.dat new file mode 100755 index 0000000..12e2e52 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_177_1.dat @@ -0,0 +1 @@ +x1 Ep0X,a#r}6}nj~\8ƌ3f̘1cƌ7{3f,y3f̘1cƌ3fX_`X&3f̘1cƌ3f̘M_1cy̘1cƌ3f̘1cƌ+3f,y3f̘1cƌ3fX_bX&3f̘1cƌ3fx2dX'x[cy| 3 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_21_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_21_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..f87e0a11227bb4e1e6f46a1dbb133ca9b1cc8109 GIT binary patch literal 42 ycmb=pWo*#E^%B$z4|g)+XrS~G>tDQj I0gJJp;@7?u-2eap literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_33_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_33_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..318949df07745528a680a428ac74ea85f016c2aa GIT binary patch literal 53 zcmb=pWo*#E(KTk=YPW25x~DW1ZnK;yQ#k{?W*9i^mo(k2MWv7BXK JDEWV$2>`Yr5WxTd literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_37_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_37_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..5bd9e3aa0d08230508938e61404749c9ae72e32d GIT binary patch literal 56 zcmb=pWo*#Ec0ARA$6JzFue`IJvZq{C68loc~P O{VIfV)fhyX>>B}kGZlIO literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_45_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_45_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..b35c567dca6aa84fbd8758e1fba4ba2feb397de2 GIT binary patch literal 82 zcmV-Y0ImOc+A}bK0z+KD00FoRNC61dbTS*2PX)7SsT!xdk(^GV*-*`fM1fJW2ff*Z o(g~bDg3KOGC-gI$Q0Yx=v#FI%h$&--irG{SZ{o}b0N2uhd5F*?p8x;= literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_49_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_49_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..d20d71710eecee1842e3fc1535a09df5a9bc8761 GIT binary patch literal 84 zcmV-a0IUCa+A}bK0z-Vj00FoRNCgNTbhiUtgi3bMLkC`eAbEuhJD>&_5)DS}7`1~) qJBUfUaFG#i$7s45S#}Up3)038>ZV;{>!_h=2TkIGcsl^2!^he0dm&5! literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_53_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_53_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..a676d7dfa2092a94b7a81322980eb4def98fba74 GIT binary patch literal 87 zcmV-d0I2_X+A}bK0z*Q;00FoR$N>ml185hf7!~cJr!Ip2Lh>4!c0mm>Bngb#HEP!o tw~N^P1s5B&Ycw5>+BN9xBDS?bOS@>1zes5V31pqmJ6B4Gdk literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_57_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_57_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..896ed43575bbcdf0ad49fbfabe490f0645a69df4 GIT binary patch literal 92 zcmV-i0HgnS+A}bK0z+be0RnItkP8qx2Zf#3M5%1&K=cx?F0b9ifGvGnJH}m literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_61_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_61_1.dat new file mode 100755 index 0000000..4165a4b --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_61_1.dat @@ -0,0 +1 @@ +x30CbpPi`@&H^nadQG{nF3s~{gDf@VF{6Pqb^n%N<(VOM!% z$k4$xhh-EO4838Mg8>5u3?CSjTRkcmt{T`$3>YwEH7H+JtRd!Bt3S?PhR}V`4GpQu FA{XR~DnI}L literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_69_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_69_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..03bba657f6d0df2a65ab63bc13715660ffc4ba1b GIT binary patch literal 102 zcmV-s0Ga=I+U?gd3IHGoh2g!^*!?fpBGuB6Ru=tl734z%QACqxBP~f*q;+|~GOlg3 z+|*@yF5PGrS+r?(1q&7|Sg<^6vEHLv!?NAN?qb1$1ZaPm@r{VZ}QxyUc>an#ExUago&HU9mj+T)Arjuh3Vye^8R7`ZVIqZ Kep3TS=JO^`WH?p; literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_77_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_77_1.dat new file mode 100755 index 0000000000000000000000000000000000000000..0fe0b03e868a00c5cc8f97a40528a7873b189a78 GIT binary patch literal 110 zcmV-!0FnQA+U?je4ge4gh2h<4>i(Cr2nH6ODE>E!G+%@^VU`nTV>Q8)snssB^}WNL zdu^VpO`ltHbYfdB9wots4cnKt)&5pivAMDF7O-K%#>`?aFte~>!}hvu_4ni(Cr2nG^~hc@}&Xs9m@nlP)$C$XMn>hy{MjVt$j z{gE+3#iKqBt-N5Y8)R89V#J7X)2MhK+d4+qM(zwoj2JO8ubJ1(Ym68%VvJ~1{NnyH UdYUt;KT?e16B)r+06TKr<%ttFF8}}l literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_85_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_85_1.dat new file mode 100755 index 0000000..b8a20c7 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_85_1.dat @@ -0,0 +1,2 @@ +x1 + н\]4AA hM\QjsAkUjmun2RΚ5:k;jƲ[eo[o[kZ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_89_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_89_1.dat new file mode 100755 index 0000000..e9d226f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_89_1.dat @@ -0,0 +1 @@ +x1 Ӕ_΅Nh}%@ iDOH*c"_.4Iy킎`)-5*(of[sm}6YM ;;;;;G{zطz1vw}=wuL%?"=~ei \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_97_1.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_97_1.dat new file mode 100755 index 0000000..24fa60f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_1/mask_97_1.dat @@ -0,0 +1,2 @@ +x1 +0н1\tncKD"H$DH$D"Q&WerH$D"*x[(?/'nd \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_117_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_117_2.dat new file mode 100755 index 0000000..b4dcce4 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_117_2.dat @@ -0,0 +1,2 @@ +x1 + >94!m dOs\0X,la5#E>Z[ַRT*JR?Q-*T*JR?UW*JRTݟ+JRԤ~m5;S&+ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_121_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_121_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..a2a0097b1fd803424ccf0a741277066f44b04dae GIT binary patch literal 127 zcmb=p_4c+Q7lR@X%YlD!!vFtUN&Z3X+ Wr*l6!Q#;$o?ELu?!b)#0qyqpqZ94e? literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_125_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_125_2.dat new file mode 100755 index 0000000..0ea40fd --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_125_2.dat @@ -0,0 +1 @@ +x! PӔ_@ U(kp@^Mڮ5-:VF_\t:NtyNqt:NtG;Nt:.8:NtzA}yNq;+n& \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_129_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_129_2.dat new file mode 100755 index 0000000..bf04839 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_129_2.dat @@ -0,0 +1,2 @@ +x1 +0н_KVڡ'.!w]A0X~  !࣠fK# xFy4 vey@^+  ~  L#veI \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_133_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_133_2.dat new file mode 100755 index 0000000..9e78b6d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_133_2.dat @@ -0,0 +1,10 @@ +x1 + н&`LQ-g=Aqbʪl fƄȚ44& )OȚYF4444444444c4~9S:3ЌטpǮ> \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_145_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_145_2.dat new file mode 100755 index 0000000..9ff2bbf --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_145_2.dat @@ -0,0 +1,4 @@ +x1 + нr] +,tQ^&C~ +щj~mɾ.FgMDDDDDDDDDDDST׈DHdZL+ɴDDDDDDDDDDD2-'"""""""":BתEYDd \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_149_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_149_2.dat new file mode 100755 index 0000000..d52e048 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_149_2.dat @@ -0,0 +1 @@ +x;@/gcaGBXB'-ˆouէUQdRVOmT*ǫ;;j廝Ee2PQQQQQQQQQQQ TTTTTTTTTTTTr33R &Tskz_e2P=d \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_153_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_153_2.dat new file mode 100755 index 0000000..3b06041 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_153_2.dat @@ -0,0 +1,2 @@ +x1 +0 Ӥ8ZP!BZu賶"bu*)]MFFFFFFFFFFFF%= #ddddddddddddr ot2yFFFFFFFFFFFF& #k5L 2222222222(Y7"d@H \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_157_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_157_2.dat new file mode 100755 index 0000000..2baf535 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_157_2.dat @@ -0,0 +1,3 @@ +x1 +0>s6MqUH1X&U̘f/u-'.[KGGGGGGGGGGH|NG(ttttttttttNF;::::::::::}Nz$ +>n A#^AG(t =3{ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_161_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_161_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..d2df7594eafccef2dacee35dfd7b2fa20d22e1dc GIT binary patch literal 190 zcmb=p_4bY;UxNV;Yry%;UBBb`j2ojEHvT!3{p!RC?nRON7i3-Yc;zkY`Xf0}_x!$! zFE2cT6SG?D4qx=zQRnO+ECdE-0&RD4IXDluF5^{1fQ4roCj>lm@IU~K;tl%3r)17J zJ0ZZ#=G-X(&k}A4K#T&Dr(`%dQ~6pDpuA;fz2pBjgY@glDn4Sf%vz*>v-~PkmIDA9 Cq)A-> literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_165_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_165_2.dat new file mode 100755 index 0000000..2e6cd7c --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_165_2.dat @@ -0,0 +1,2 @@ +x1 +0 Ӥ?BVUG%*+_fs MIIIIIIIII2d;l4()))))))))))eqJنIDIIIIIIIIIII)۠mPRRRRRRRRRRR6l JJJJJJJJJJJJن}RaQRRRRRRRRRRNeK?R퐔͔&W3U \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_169_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_169_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..4052062b8db42699eecf910b9792afd64d0db84b GIT binary patch literal 196 zcmb=p_4ckI*8v3{)(d-=cYfa=BffC9bK#GR;+rC$JQO$)A7z^D@-5td;v_x$KZRRf zZ@YKti&y>Si-EiLS+DR!2HU-y%YuV0IWJizqKN=2d5((tdS!V{oP+?U0&*@cSz;s- xgbbohG*|MpPC)`8ZBAZV&W8R7OY$eT{eSz+A@fq6m)EU$prLMGxEX}SGyvz^RrCM= literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_173_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_173_2.dat new file mode 100755 index 0000000..0a30ba5 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_173_2.dat @@ -0,0 +1 @@ +x+@ Pift:>y &d U߬S[]5Z;a5V۞A[Z˴VՃI0ZZZZZZZZZZZZZZ=-Lhi`VFK?ݧhioJ0}o \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_177_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_177_2.dat new file mode 100755 index 0000000..d2c52f9 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_177_2.dat @@ -0,0 +1,2 @@ +x1 + E>Y4V$~ ,C&U;Ook5bϙGx9%&&&&&&&&&&&n$OL|v#&&&&&&&&&&&&&bbݍXw#&l7bbbbbbbbbbbbbbM"l7bbbbbbbbbbbbbbMa!&݈3)U0}qMK$nTp4?}1s?+4l5MclS literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_29_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_29_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..5112d11eff0ce0631ba1000e8823e0592ee3230e GIT binary patch literal 45 zcmb=pWo*#EnW&mR* B5Pkpv literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_33_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_33_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..5bac0c80d2fd997d753427178c6294dd3dd9184a GIT binary patch literal 47 zcmb=pWo*#E*F> \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_45_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_45_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..ad44ff1885f2c4e0d2158824e4d2b5537e0e8eb5 GIT binary patch literal 68 zcmV-K0K5Nq+A}bK0z=#g4!8^kw`w#Iid7Q>h%(!dOx19XArWX)^>9~>HN_4))uS;# aNK_M3B2!g0&U7-YR1co;#)SYYI)8L$SQ+gA literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_49_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_49_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..6e8edff24b9344b19623318f9e10802439cf2b40 GIT binary patch literal 70 zcmV-M0J;Bo+A}bK0zFeF c>OklqvR0#s4%}&Xxa%04@qrTo0MEO|#KK}86#xJL literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_53_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_53_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..682cae2aa6532baf02d2aa3e0c1dd2ab5227a34e GIT binary patch literal 73 zcmV-P0Ji^l+A}bK0z*Ow32+$&77oAwesj8DyK(d{NRL}|M7?Oxab&l#B)j2eE;wiyK ib&jT?QJteYsi%|F)*Fp=5-1Z!bq=xk#E$^gB4-2t4I$0| literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_61_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_61_2.dat new file mode 100755 index 0000000000000000000000000000000000000000..77d3815eb51a7feb77ebf8fa7001e8428c252db7 GIT binary patch literal 78 zcmb=pWo*#E&42|mGA0{eU)ahq{&Zsci5AoT|sbCRL;^iky?c_QPW#8n#wmU scCwG!AOHf}SdL4%7jXKBFflomDSq>=(yS;mZJM;_nealU{J-+60Ag+8uB49o zCeM)i$;BWcAt6nrP(L9Zkl0KlBqVyA9!Ek#%9h06kgHO>pO7@^?R^TT0-T8OPY@d{ Aga7~l literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_77_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_77_2.dat new file mode 100755 index 0000000..903cba4 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_77_2.dat @@ -0,0 +1 @@ +x1 н_CM>Gt ѫe+FWZEm&gއFѶhF+t/FYvFj[*7a \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_81_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_81_2.dat new file mode 100755 index 0000000..17a9ac2 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_81_2.dat @@ -0,0 +1,2 @@ +x1 +0н_KҩVi!O\"A]:xbW1uȦ&_T ΋6H$U^D~bׯb=gX \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_85_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_85_2.dat new file mode 100755 index 0000000..72c74ff --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_85_2.dat @@ -0,0 +1,2 @@ +x1 +0=1\B7O$A0$8Wwjguu槊RT*uS֧JRTJRRޢN浘V \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_89_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_89_2.dat new file mode 100755 index 0000000..06c9a4f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_89_2.dat @@ -0,0 +1 @@ +xٱ 0 >/&E*cQqŃ zf$rM6hu5#zF6@yLURBPN&o9dL&(sq|@niI{j|F;se@4&-NL5N8P;_ J=`Rs#W7tsZG`0W$ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_97_2.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_97_2.dat new file mode 100755 index 0000000..38842b9 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_2/mask_97_2.dat @@ -0,0 +1,2 @@ +x1 +0н_KivH4 )_%s_d3KO1^aL,$H"$KzRPt[I&X9$H"$I$ysI$DI$ɓI$I$Dɍ%es!=LAZ5'̓IVrn/2oƅ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_113_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_113_3.dat new file mode 100755 index 0000000..023b273 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_113_3.dat @@ -0,0 +1,2 @@ +xA +0 D}NrnDFj2KCt?WݲZi.qoP %Smj7ަ:*N:@:***fW9d2*j*}S@`*j৪6Jlѿ}}էTUa24hnt \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_117_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_117_3.dat new file mode 100755 index 0000000..79cc04d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_117_3.dat @@ -0,0 +1,4 @@ +x1 +0 ]Q.xIB$?~!-~Ih^HVEgKLuZlO;cUwJKHSx)|O2B zFzfxyYi|AgTNeL2=}VZ;Ev?R7P^rty{%*guOnUQ^gxskvcVQYX$3@&ONuIXHIa)Pv zd*)?`uy^M1DbmmD%Zo4AT@Sf`A^-TAmugk}r7i9rS@ZJQ!dsI6-_8j2Oj_vmiRt9J G3$_65-fl?% literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_125_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_125_3.dat new file mode 100755 index 0000000..e2febdb --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_125_3.dat @@ -0,0 +1,2 @@ +x1 + ~N3rۄ]BБ'?xFrjdA{$T!&?~Jee~GOn@z#E)RHZ@bl-)ݿ<ߧ*OUR"5&5*ie J]+ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_145_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_145_3.dat new file mode 100755 index 0000000..338b7e7 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_145_3.dat @@ -0,0 +1,3 @@ +x +@|:^ Jy̡yMj-' +9VS֦K9e)PyUwe-m jԨQF5jԨRi٫F4_wk}0+jRBRF5jԨQeOMBJHjԨQF5jwP״˪IH I5jԨQFͳc w5jԨQF:zS*2UZ_C*e_OZ%dIȯb \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_149_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_149_3.dat new file mode 100755 index 0000000..30bc5fa --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_149_3.dat @@ -0,0 +1 @@ +xA0}Oܠ⦐H頯'Z2{oV|Ι%>yR{!8ÂI+JpI|#f5κ[P A $H Q})&X{ט+Wb`I)5%d \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_153_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_153_3.dat new file mode 100755 index 0000000..89cdec0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_153_3.dat @@ -0,0 +1,2 @@ +xA +0}Ns˹)7mJ,}8X=cW^GeNE;R(13DFEx15%o)(+gL2|3uiEv#I;;|4`apdpkS*^~xvLf_IwePW`Q`R8jLgJQhVasX}og%bb( literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_161_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_161_3.dat new file mode 100755 index 0000000..72a26a4 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_161_3.dat @@ -0,0 +1,3 @@ +xA +0}NrnFTk,N Zђf7J:ƒ^`WٔUnXڤǧM-#V+ߡ+9zҖY l)SLocʱO_C?ߩ%;*KlM2eʔ)SL2Ye][bSL2eʔ)SLyVYlWG[bSL2eʔ)SL +]g+$eʔ)SL2eʔ/qBbKlʔ)SL2eqʙ]£{A/~V9\%[P#' \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_165_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_165_3.dat new file mode 100755 index 0000000..870af8f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_165_3.dat @@ -0,0 +1,2 @@ +xA +0}N3T #Z YuÏ:̛1ϱEUTT|S q)m-sG B.Cĉ'N8qğwv7['tg!.ե:qĉ'N8qv`_+.ե:qĉ'N8qv`R8qĉ'N8qΤ8"ե:qĉ'N8qĝIяہq&EKuĉ'N8q+9:}kFT?^ЏGo<0իCg/_ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_169_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_169_3.dat new file mode 100755 index 0000000..9431095 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_169_3.dat @@ -0,0 +1 @@ +xA0}O3rn񷾦 )}'31Eh]4P[ _]Kv<˙fp#y_l[geӧO>}o%uJV/{%O>}ӧO}K~O>}ӧO>Q=/ї>}ӧO>}u{ח>}ӧO>}u{蟪/%?}ӧO>}ׯ.N4჏VMmRt(1| \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_177_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_177_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..9586979a1f9d74c4e115757feeeabb74819df45b GIT binary patch literal 312 zcmb=p_4ckK*C7KDmJ79hlkfa5%Jb^v=;WB?Q=`hguxbC(hf6kRuDyQoTio}+UFQXv zzYC}H-0`hx>pHl#M}PCVx?h`vgGKGt$xx|wRV!3 zfoMp8BP)#fxJc>g$uD7oUs9|>H)gE5sHrt=^#lc>7A~z73z`r_mvKnO#w`)M&Z=su zbg*n(k1PjN^&?s|N=H{r^nS3Sqe@3D+;oUNM?Y$9iHOp<`z#Ekc_EUqAPXMxfb>qw zEAHgtRC0WyjcRYJR@RjRYnSlaR2M&;SL^DVy)i4Q+x2LaXy<=XYjqD_?+J5e|6#~G HtjGiaa;}E0 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_21_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_21_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..bcb4eec4919b60e2c25c4e18ebb9c34423536b63 GIT binary patch literal 60 zcmb=pWo*#EQOIfiJ63sVS+xNu1fplLAA habXVvLtL={H4TR*l1wwiWg5b#xHRE54FHDyc9;xW9FqV5 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_29_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_29_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..6150ac1289809bad7646c662dd9cf836311f47f8 GIT binary patch literal 75 zcmV-R0JQ&j+A}bK0z)JO16&9u7I`jwl1Q?&GZ`D8$YeOr5DVhME(}Fn_#_QSO-42g hU)nIl9)oZ$?ieJ~WF$A^k;Gv#QfT0j2LK0SpN7|C8+8Bx literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_33_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_33_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..6053b5e396ca957ae26193aceb85d08a43dacd9c GIT binary patch literal 79 zcmV-V0I>gf+A}bK0z(W00bB+MfK>sq3hWAyRM5v3T!1RJz`2Gv5EpJKDB>cdVAPhO lW(z#c;7?-^TkxkbL)`g=Dz?D=LP!BVTMUV{1pswi&V8ytAOipZ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_37_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_37_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..5dea5b9cbe14fcff482e0fe9a647359aca07547b GIT binary patch literal 83 zcmV-Z0IdIb+A}bK0z+&F3b+gq0H-2kRd@{JG8i};@d2vZ2XK(!(BO=uY7eM-(E6p3Zv0bsQxl5nw^V$$JC%}Bqlsj9DvDo{aE;P>E# hYO*WtyB%t`BNs_$5b6wWqgwwJ)C%Io3LZM{#-RD-KY#!L literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_53_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_53_3.dat new file mode 100755 index 0000000..8800bea --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_53_3.dat @@ -0,0 +1,2 @@ +xK +0Ds ! -(.Bp&|"-t&`qQ-"9_+)Be/H8D%a~}spKFN=,;;a^t4\FSN \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_57_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_57_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..4e1e5da386a57dacaf76f93d05473ff922574488 GIT binary patch literal 126 zcmV-^0D=E_+U=Gx3cxT719!hh{{QE?gyNwnmS{-_8xJAm$PtVPuqu0fSCq8`R#F2C z`Jye^+}fgNtCnh;u5A$xa)x*4$m(#xu^rp7Rcwt+;I=%SqH*TgTz7#%(6RO)$6#_BUJmZJUz-cM|kVFF3Ae8Lopr+yDRo literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_61_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_61_3.dat new file mode 100755 index 0000000..bf1a3cc --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_61_3.dat @@ -0,0 +1,2 @@ +xA +0fz4-%*dp!yZܫu(~=&ۓ)R2"/"<9FΊ=rb"/rw"2B#3-0-KW \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_65_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_65_3.dat new file mode 100755 index 0000000..8589208 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_65_3.dat @@ -0,0 +1,2 @@ +xQ + D4\?R ,!O-Nv1:cZu "UMÕF ~jK-la[^q^Q\=o-laZpUB @IKJzɢ|1Í  \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_69_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_69_3.dat new file mode 100755 index 0000000..55318a8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_69_3.dat @@ -0,0 +1,2 @@ +x +0 {&2'd l=,Fy;$쇤WE-R:%T,O2g"",Ȣ/DyĈɧ{O䮳",:NvEWN#(&,,]x؅ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_73_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_73_3.dat new file mode 100755 index 0000000..15be77f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_73_3.dat @@ -0,0 +1,2 @@ +xQ +0 C{g;JJ?dԬK=RasJhTJ6exka\$nIE,-/XB*х=wee4t̒tLщtt߫b gFf qoddn-? \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_77_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_77_3.dat new file mode 100755 index 0000000..ec78280 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_77_3.dat @@ -0,0 +1,2 @@ +xA +0 &BiRaK"t`I@|fXyilE:Sza18GifK*?:YC1쌞졘(ቷJ*jl*TRIKR^ؙks)c)c)JZa \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_81_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_81_3.dat new file mode 100755 index 0000000..47bc0f7 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_81_3.dat @@ -0,0 +1,2 @@ +x1 + F=\,JGAġhj>#3X:kԹ\FM Jhu3>TZ{PSgP'kVjժU_ۯUV=P oO:Wҝj[Wxm 5 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_85_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_85_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..02c4f8cdbbe43a99de71a77162d811d36ad4f51b GIT binary patch literal 160 zcmV;R0AK%j+U?m(3V<*SMbUXy^Sb}dIVrU|sn!>N+|q$Y2;pF8P^qqRd9N$FYg^Jj ztFhS7{Q{@rM+N5MyIOtAC{U6F+M{SU#kj+puI|W4iU0x#Ab>!sfcG@40`85I_KdmkG#TsrP@uMqv1rdge4##%ZWgv6J(FGUkB?1g^dV O%IE@ppbHjj!&bK*zf9i% literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_89_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_89_3.dat new file mode 100755 index 0000000..2b4cb59 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_89_3.dat @@ -0,0 +1,2 @@ +x1 ὧ) *.@U |eŵ6ۢw5*) oiK4nk>1}d>@ 4XYCo ۡ1<AhFt + 4@51Wr>7G}}x7|NgN \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_93_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_93_3.dat new file mode 100755 index 0000000..b4cc8a9 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_93_3.dat @@ -0,0 +1,2 @@ +xA +0 D}NrnJɪQ~B06na<<ׇe6MRCP L̓i9M 2 LkŮdDv*"aXjBdAddZTdAdqY0exqeN&WVQvc \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_97_3.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_3/mask_97_3.dat new file mode 100755 index 0000000000000000000000000000000000000000..7adc9ebaa77cfc3c6f7a54307a831fbeee0c87db GIT binary patch literal 175 zcmV;g08syU+U?rG3V&G`N=*G0-MD(Ga{FCK!(&5t$)O3EWmo!5xs*ixXZ zVA@1zxl+BnrYNa(r@cz9VNyyDD4l1cxytAa-_m)8y8uckp@b4jD53OrC10xSQX0*J zF=dt7h5IPcalDsMLJ1|5P(o>6B~s-^N^~6WC6rJ?2_=+%t0e0VeE$jDlr;7Ux}BHg dPL&$iL~p8;J5{b%n)WQo-EsPG#~oB@^PHSYS7`tM literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_101_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_101_4.dat new file mode 100755 index 0000000..1c97dc0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_101_4.dat @@ -0,0 +1,2 @@ +xA Fs^1bИ]4m+8+Ve^HR]\c +oWN#X+l HEcp \^.9qW9":.BB \0aPǨcp \ONqjpG}}$.˅ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_105_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_105_4.dat new file mode 100755 index 0000000..0211cdb --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_105_4.dat @@ -0,0 +1,2 @@ +xK +0 D=Mr˹A TeEFL2 #鹢_I!딤Ѻ-իkmO]sS T6*'8 N$'NZ^XXh%Zrr$W}rU*G9r|c[cN[_=׫5^J 1*qv \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_117_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_117_4.dat new file mode 100755 index 0000000..3867259 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_117_4.dat @@ -0,0 +1,2 @@ +x + н_s]4Dgn2Jj}ҾRsSWGRɧ)5Em#ܯk_"z3\rʕ+r Lk|/{;'jk^zGw=K_GJACF5KEX*@<$z}?p^YqOrD6l{pq{+`&l7JcHsOy z_GM@Ox_x?b=y>Jqe}Ao?uX%DM`IXJr{-ZaqKAvlH`*6wj&*7((AW$y+_m1`VYgIgEyrCkW+Vc literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_125_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_125_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..b98dc813afe773cdcd71a8779391ca295c0d3a51 GIT binary patch literal 213 zcmb=p_4c+S-ysD7)(f`F8-K^2;|+^RST%8G)>;-rsHGtPebu=wvE(Rqud?@Jdiv-z32@0r%Fa7(4|DUhVIr-8&`h2IF>D|wlymv&u|5gc>1uLtXBe(o`B(jjL zU;pLDUo3v_shtNkChn^3Ki;iZZS8BT4}Mgedi!xzR{!b=ahL8^+0UC-$jr|$aq=Dj DA0&Li literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_129_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_129_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..8ecfa250845e8ef1add89a66c88fc9f31250a436 GIT binary patch literal 220 zcmb=p_4c+kU$cP#%Y}Q(H@>gmX_E0-a3R;c&@UP>6Fhnzw0;$t`MGk<)@^G`dv2;9 zJa>BiGETqum$vWzzWVcDA(y^F$>O^;cE3bkZ7!_If6o7~R(2)#^;-&#|1=8@FtW=O zT)5zvG5y;kg&7OBX?Mm(S)NeKczodZftUvk%zPFg;tOl7WBdj2GpxmpM2j^4FA?}L o{bhTz9Ot|H{BduueXdPB_S/#\p\p># \p\p#>qp\p.$Iq dGR_4  \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_137_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_137_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..0c09c487c2e85488f8caf2dcc863e260cfd077d4 GIT binary patch literal 248 zcmb=p_4bYxEjs$#?!2-R}~*>9$YZ>m}P8_SPSlc>J(ZYVC8? zO1oo*K1q`<^UtZRwccRy_UiY^lc)4;t3SOfES@w`rW=l2^YbTRO$JKN#b*jQw`{%rV(;`b$vL{4 zXRQkQ#dOtY-ox+n-*;b@wS2d1)2vU1rN&=NV*fwfSo>q^jJZKc}*2a`@ScXA0|@PM!+Z)$&&j+uR`i+&96LlQothXU{Gd06E`pF literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_145_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_145_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..33fb211249fd13955f9481a5af91416b0850c79f GIT binary patch literal 255 zcmb=p_4bYjXH=f@| Kjo |SSWKZm׌j\Ъ2 W\qW\q"~ jvtv_\qW\qW\q%g3 }+++ r9ArW\qW\qŕA g3WA W\qW\qW]V~v{D3Ȝ!\W^Tڍ[S7vۜgq? +{peo383838{YXz,_OYfe3s38383\C!Ms38383r \C?37938383\C!07M8383q,mMrskWv3~W WB \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_157_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_157_4.dat new file mode 100755 index 0000000..ad5fcf6 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_157_4.dat @@ -0,0 +1 @@ +x10ޯs4"FP=iRX¢X0멪u 4ftl}m➭S|юS P5<]rwqwq^QN6ÏZsߙ,wqwqǝ>Μ5g;;Y}Vgw,wqwqw>9wqwq>3gY;[ww?P3Ƙggt퐮;].3w4A \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_161_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_161_4.dat new file mode 100755 index 0000000..7604c45 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_161_4.dat @@ -0,0 +1 @@ +xA@ fs!AL_|,4l)iml׉0' +E ]N\x#2/_{7g9쏼ٷ}2r!?}-#Te9C9C9~6Sʇ겺!r!r!ۘse9C9C94_Ɯ|.r!r!s/s0 2r!r8}DwrDXΡ|x|!2 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_165_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_165_4.dat new file mode 100755 index 0000000..d83d631 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_165_4.dat @@ -0,0 +1,3 @@ +xA +1 }Or."*?fPLHIkΫZQ8 +Gyqk-n5+?|֎kKnEŹK.K.?2.|EJ{2<:.Ku\K.K.ǝmu)_8\r%\r%\Џ;'2!_8\r%\r%\Џ;'2!_\r%\r%\rinC?nn9 RK.K.;.HqY'ݽNF?K㕢,R| My*3 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_169_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_169_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..4aac95c1e3fc9ba5257f331564b211fab568c376 GIT binary patch literal 297 zcmb=p_4bw{7n30m>xEkX%lG~l?V3;+6CwFBVc+Mpz`!LezkNJB-=9zK3Cy|6dc7)c z$=5@7j?a{Q`J_AleCn>hU3Whz>;A1NtE#vC#=Q1!Zp)m1?|$5V9DCCK-|1Vc*mtaT zocL^x-SRm_r!-;2ueFy?#eVr#8L;Ge>5J}i?kE{?B4PtL69K8~&|}TJq5E>1FRHmwz3+$1r7q GdJ_PDBBetB literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_173_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_173_4.dat new file mode 100755 index 0000000..9df4d86 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_173_4.dat @@ -0,0 +1,2 @@ +xK +1}Nrna ~ZY!Jt^5(/jkz[pj_?~v:|jwՖ_mXzo6?n%^4`7 P=;q=RrH8oyopw{-jJFsR literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_25_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_25_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..0c7c44bbb5bb50a1f060373ea3ca14d083fe686e GIT binary patch literal 76 zcmV-S0JHyi+A}af07FAV1c%Fjuna^PAxDf1Irg9fvh0EKpc;@!E_4AniAM&vX|%Qn i>NlJ|HN*%VIGY$5BJ4r(4;Eo;_F$1gmjnRDU3Su2%N^nX literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_29_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_29_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..c28dc20e8248d196503c88e3e58b9048de750a16 GIT binary patch literal 78 zcmV-U0I~mg+A}af07FAVI0*(^2E@r?NRc2*iM`kWMfO73Na9E&7dAmSNkA6A$s@yF k1DFWbSimBS8G{geiIFARUKIc0kiuy%rYtrE0Gke<<${17%K!iX literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_33_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_33_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..5834b6fb5672ddd54227a5229ad248efb56f9931 GIT binary patch literal 89 zcmV-f0H*(V+A}af07FAV1PK%5G9X?BinJkI0ZA&T;SOAYD(-+P$1ng+a^aGIlSHT> vY|E%S29rDBDF$Z>!lD9ODl{aRP7U#;Q^M{*2@gEd1l)nH0+%8HgW}HuoFyU1 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_37_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_37_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..4bf2e26ed0238cb7f0fa88b4a2e8d9f607c6c465 GIT binary patch literal 86 zcmV-c0IC0Y+A}af07FAVG!hE93`kRjsRW^pR8`b;7d}8$cR_hr3_>Eg@JYf+B2^J* sQ04GUMNxbc& v?i_XJs5{AZrvXfsV99_*CH~R|;!aXkQtVEY@FYSRQSQW4Nk}mOMgc#BT0kV* literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_45_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_45_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..1b921f3009656cf429e67486e59237b8dd15ff5f GIT binary patch literal 120 zcmV-;0Ehp0+U=A<3IHJpMfaXY?|-@3gj12@{}N1#TnN<@9`Z@`Ei+qoFVPwup|*kU zpmqSgF*>cacXR`pI4*58TFBT1fxMG6XL7wac>{^GqK!9Q$bqGK7QU=)P)>BL}k8 eRu0aQtjeU@>+_-I`CuK_9H00P-1Gn#s>kM_-9E?w literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_53_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_53_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..7e88826dd67c8eed58a77ecc7bd6326cd996537c GIT binary patch literal 128 zcmV-`0Du2@+U=H03cxT31^1pt?|->=VN(l5e9snI(1i&h1DSjzs%My4l0%60s2sV1 zUFvoM>Q$%8k$LTH-z$uZ_X`^svLKUJCMj-(<27Edc$MCl9xf#1?;NQB?uAn=uepcg i^-r(*&mns8lo?t9xVoWK-RMw{czy1?FmMC1XBA^pK|VMD literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_57_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_57_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..84669c7d65c97c0b040497b32d3d3037c70d826e GIT binary patch literal 130 zcmV-|0Db>>+U=H04uCKSME9Hq?teKq4gQfCYGNWRShRhHSItD#wao0Xdx_S`3}%zb z)6ua+cp@ZJk!QRPPwS|R$7C*c-vtG{7f62E_H57pdBSPpo*a39C`!$ZCqdRc`@3z= k_I%kB_3cxT31n<5^|NpsON^2;!>e@qKa}XLb#Yw^v)q9v(qB=lyhR&g$ zouh+=UGEBA9-;T^egK`j*5&+4Z}?KB16>uQvCipDZ+dUw-O4os=_q+W=RtbJoA;dF m^rrXIyZXXjy>U8x$cKrH<+(z6K0*KBy}^0+esBPHn8I@q@JM_B literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_65_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_65_4.dat new file mode 100755 index 0000000..c24343d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_65_4.dat @@ -0,0 +1,2 @@ +xK DtXЙ.4E1^hvOxW0 JHŻz[^܈[v +yyZk=`vcǃ<ȃaCe \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_81_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_81_4.dat new file mode 100755 index 0000000..dd65216 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_81_4.dat @@ -0,0 +1,3 @@ +xA +0 yMyXE m7"892ѸQ1ݳ+xx;t35DIY1x\:u}e/ #Th< +UBz<5G<5{G<5<饫>]Urxu \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_85_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_85_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..c8d5123e26909726dbd71694e1f6697cad51529e GIT binary patch literal 154 zcmV;L0A>Gp+U=P!3cw%?MR!k=-2ZZ2N*jmT*5nJN&mmxtH#~v~YIZJnPs9LfrlsbP zk*TK+4nE7TrIxLs*SC2W7zhg5zDpNC7h5Ilh$5=S0ABHmSG?ji)1NN$BI-+pH9Di \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_97_4.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_4/mask_97_4.dat new file mode 100755 index 0000000000000000000000000000000000000000..5d848caade31141b6a6d238828e0513940b9aec8 GIT binary patch literal 176 zcmb=p^>&scSAzi$%llg2U;ocnYTk;AQoMQf@D~ArLUH5VhzlL*U+;ClQn_{Ld4Rh8 z>uTAu_q(T_ELu@IVU2P7<-3>5gi15Bf~CWkN@uS0RjmncZrXE$dhO>e3gqq;cwFbMH2i4?0P>DhOaK4? literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_101_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_101_5.dat new file mode 100755 index 0000000..c21869e --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_101_5.dat @@ -0,0 +1,2 @@ +x + E+%=M3Cbv ѬNkûgqkqq{%Oo,iKee3[|iVh]` ` 0ʕz˴T0Gu/q8F13:W>#ȕ0c0Q8E=F#+a X͞+cV%9W>Q]TkY-gLqD艋 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_105_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_105_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..bc8798c64015b6595105a07645625a572c839c0c GIT binary patch literal 224 zcmV<603ZK&+U=S_3dA4~1n<6P`v0HHC0WDb$gbEE0yT;RFVdN!?Sm0#$x+d(-M&MH zb#RhAbEHXz@r$NR=-U3QPci-P|L%XEWG%ZUmG!BgbTK0LXu8R?&L*=*eAagQlk8Qg zsjyG52YayhPWDE5FUx?-`>CeAIbz1%-fVQSH_Cfi23+1R)r9Zid)&FO2Yavwd*nUx z9(fPn!}qvzVGs6T5BA7=v+3UUic`wTHUd>xK aP2TVA&wEd3Dq=6}&i9BW^E?1$d?(3j3x3!D literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_109_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_109_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..25a394402fb8b1d0ebf02b85473522a21235736d GIT binary patch literal 211 zcmb=p^>&scSAzi$%lk^-Pyf$XZV2j*s`A*zF?pKO&MOlNBNgB2F4Ef5es`YjsdLA3 z1GmLzcQ4u+7wuKIGk@pLkJ~=o2#t=t|EsmEP`E4gbGg?&F(KW|<)*sao-4A2zw@dk z3W3o7Ln%e~oL=noQ``Tq@Y3g3w~o|0t6%gi0ZRhqKTiJP`A5a7)9;Xq4;a-6*>}!& z0V-}7~CRaH?+kXgI=m1Q4e>}I|^`+f56tjphW?I(xcpB?4RQpn(Z H=>0 0 0 Ofz3=>0 0 0.3Z$׷8\pw4:Zp:qX 7 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_121_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_121_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..9bb5c4158981760f99c1831c03ccf11a664e6053 GIT binary patch literal 256 zcmb=p^>%h3*AWFCm;c4Hp8T7ByMNb~P0`w->X-Iu1WibCj$>!PxYtGF(Dx08H@Bz! ziL_Mtn}1F*CX2(7=TOEDEbWKm# z7n3IwXBH>TO_bgSLC0^-+rs}kq59sv;^g0Fytmmr`w)|MuCvr_`^DT6m?EIk`)9ws z`TOnWP2bl(=@oqXJ10zcK~pjRkXgEU#Yr9g&b-C9Uzp__hM;esZ;0LBZFwcK^7XPb o>!)^ZQ#aoWuYBxxGe&=>)49shxbEDe|L3eseDs4sW73s<0HpnlZvX%Q literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_125_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_125_5.dat new file mode 100755 index 0000000..2161c50 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_125_5.dat @@ -0,0 +1,2 @@ +xA + E&fc;S$?؏Q4YahûyJ}9g==li.;nh_wz.qCWȧy uPk;<<<|*q, mkWqNl% yyyy^2䰅sX|aaaa3ϙ9lH<<<<̿웁[n`Tq8^vy \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_129_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_129_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..f0c1d65020884c517fcba84b94191eaac350aaa5 GIT binary patch literal 259 zcmb=p^>(%)-(dqD=JNe+fBrw;rBWIY;l}PP(iGgY;6uuWT>&yOg;TY((|V7;4|rHz z$aHnxR5q=ee-{;mpS}6Fjz8)5|GBsR+cqxEkvegY{WD8>{;97#wkaFeC|)-I_*?FJ zdDOO73mlv68dxKM=*5vkTKXxHkABpxay&a{NAkk7uziscPg`}IW$x!MWZc)F|A2b~ z0~9@B{lrw+xCbP5#sezq5T~F&LHq>w52k$wdRTBP%uhX7dcHJE;G5lvJnQRETQ@vs deIFa2`wqnRlbR99G23{{r2|{+4tV*M007v5c@F>p literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_133_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_133_5.dat new file mode 100755 index 0000000..46be8b0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_133_5.dat @@ -0,0 +1,2 @@ +xA +0 DѽOcr]4%1mCTxΜ[Dv={FEϏq?ݿ9keѭ}'2^c4G:3=JK-F0`#Hw'#<{~Z4 :BG舻F0`G~:`#?#tw-`#?##t#F0r}Q}eR;M/k1mX=hsH"k M:3qOW}9ԖIH1G;- sڶ?[%M + v#;zg^3d}69Ψޙ@7҄#gv`;׳ީ\$wlv`v;ލ}7wߑa;vkA#gv`=N2wxgWӤ@n?c}SQ:Zd?+9vz)P \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_141_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_141_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..60c1a8e81acb9a104b1003fe8c362588b053abac GIT binary patch literal 297 zcmb=p_4dw1u0sYqtq*_O`hNbW|NLx;(ly@Fw~{rHnwy%g%&1?U=@uQmHZAgYPUWvV zSwa8P%uLts{p{|I6Ff?XUZ>?fOlh?Hu<*Lhj^j-g&%KHRklY zHSXJ%GR-^MUl+M`k&@0?^TfhtO`k-r;2DQRmi;?;$r6o)IJ{82> zzVP^R$E^#0m%8OX_%_jPZqDCVlYVV;i{Ag?{rvsKSBqQ(C$718!)g|LXx`R)LEA3< z-^TpyQqr?GFC*0AGYu!M2uzSo(E^bzLvI+;8@4U$WERT)%VrUu|y7`j4jj zp4qEF>;UTg{AOd_*}XaEC*vs]Ŝ_{W!zﶬ/)˙v V6V޻,f1Yb n^o>\O],,b,f1YyVgYYYb,f1+ʳ<˳<˳1YbŬ<+ʳ,,b,f1YyVgYYYb,fukys77}vmb=wsw)tW: \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_161_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_161_5.dat new file mode 100755 index 0000000..70d5fb0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_161_5.dat @@ -0,0 +1,2 @@ +xI +@нDp@ o|m rHk㨤~co^Jzװ#5l¦S_92 [}ZÊ=T2ƀP2[cV衆CYf'-X9>v~usK5`e,2,2,2-///o_q}K\reYfeYf峖o+/,\feYfeYfٳexB.e2,2,̲g+l\r16,2,xKGoxt!_!?`Z2*Db#6mYclucZ_V= zotdf6-&SvZv*GR8D7h;;_}1^MuiAF~^{4Rr^~KwcM;_~Y5%sO3bm!TkuUAgq{`4tJ z=-blf&CknX*3G+da{|L^pSsAbX|zx+~B?%Xj;& z;1;Iu;j^AJCF&Z`Lw*|;|Nba-v0r}8=>>Iv>dx&vf52z;Q-;T)bDuoUlH3!|5cNl~ F6aZ#Wx#j=> literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_169_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_169_5.dat new file mode 100755 index 0000000..921a770 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_169_5.dat @@ -0,0 +1 @@ +xj0|/niK'.r:T-m&Zx9yq3rOgvOO_zׯu`]ȷitاtiloc13j9%_g|ԧ)>>ϰ=te&_4=tU}/>>>Or5/u>/g}g}gOsvO}/g}g}ٷGo-w{r_{g}g}g_n=n]4Nkβ_M8m?SF< \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_173_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_173_5.dat new file mode 100755 index 0000000..f9a6741 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_173_5.dat @@ -0,0 +1,4 @@ +x[ +0&G1gD)[CzeDѷц=RN6FJm JqP}x s_}GFy; +[;]ek[QbTmy&0 L`̄Y?رw؛ fcVN9&0 L`ׄZ}0=F=F9ANL`&0 L`BzYfI=F9AN&0 L`&0 fIsr ' L`&0 L`<i͒"9AN&0 L`VaBX",Um> +=wZgBΜP !8 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_177_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_177_5.dat new file mode 100755 index 0000000..b07c636 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_177_5.dat @@ -0,0 +1,11 @@ +xъ0~ܾح uO,"% :$Xui=ѶՃgƸ?Ώq.So~z׉W:=h1cq]Ƕi!r8Ɓ`+X +V jj;8ƁX+ +oV`+X +V?[1^h-ֳ5Z;rmS+ +oV`+X +V;Z,YMB+ +V`+X +VZeڦ}r\!W`+X +V`+3Km>SB+ +V`+X +Vc㊛{g;^Qq5ZUݮQL0+*&YDq*6 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_21_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_21_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..04f97ea6983c85e1cf6e68150ea02bffa30a4f4b GIT binary patch literal 74 zcmV-Q0JZ;k+MSL;3IHGo1n<6P=l`E8qQc53Ts_3F*hoFpjJL@ppoFxt|L%<{=GZy:DR \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_33_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_33_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..726d7fd75da51d6bd7737a41e0120162ad66f42d GIT binary patch literal 106 zcmV-w0G0oE+U-+G4gettyYm|Q|Ibavg*ZYTH6AU510hWtK(zoJYG1SgT>VVIrQ<*s zI~>0{7>;PQoL380wan9y;(obh5mL~qPG^u~gT@LOIlD;&&=vfsD8 MtZP z6Mwy=xtNYJP8P5*q$8GTpmRmFxG+$uUgBJr@iKnar8ktiR$tD;xa+0O#TdC4Bt{5~ JuLf_z1Mr1%Fq8lQ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_41_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_41_5.dat new file mode 100755 index 0000000..e07c617 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_41_5.dat @@ -0,0 +1,2 @@ +xTA + 5?7XMtxҴx ?@7@~"N$Sɰ{+CA'r\Pp<ޏ- ͺ:S3sԉۻީz#qw > \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_45_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_45_5.dat new file mode 100755 index 0000000..5168a17 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_45_5.dat @@ -0,0 +1 @@ +xUA 5?U:N&Z":;4P1=bNvSGM1˛n'(κ J{Eѵs] ,sq \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_49_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_49_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..9f3f3cd7d60bcba44d9223f52747c1cc9a9feb52 GIT binary patch literal 146 zcmV;D0B!$x+U-_B3cw%?yZ1HC|3A0G94cx|E9_(x5y8cz*3P{E3|?W)+(E}-2WX#i zfHZ}}1&-ONsSXt<99&1;WS;^gJWwdf{AS1((&~d%`->c<{A($VpSL1s{ zRx%t39rs?{9Nck;b+FN)RKeb>Q2ppQ^!)JYKLg9b6OOo!Q?K^%$i!U415hQ$TboHr A)c^nh literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_53_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_53_5.dat new file mode 100755 index 0000000..449807b --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_53_5.dat @@ -0,0 +1 @@ +xVA " zYf5ƐJC A;l\,dR. \(e_ еaNi5\żaLP(;2שjN6O u+l{y6od^ C[%  \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_57_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_57_5.dat new file mode 100755 index 0000000..c7dd81f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_57_5.dat @@ -0,0 +1,2 @@ +xVA + 5?NlZHAbBZ0a Md`1z'"<Ր19nvͨ. )bݻ~;9Z#tB~ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_65_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_65_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..ecd9380682523494a1f5577c6e22eff92571b446 GIT binary patch literal 163 zcmV;U09^lg+U-|C3IHJpy!#sG|DW4SODL(th;FD_Ol!+`ptx^N zLEU#+P+TP~hiEM?kDlMYCn2{Nokr`dh z=(A4`MyHt}6_aUUXNJM(G}onKt|Qlx8JUq8UCD^KPfsl&$;;O(L#`i%q&M<+dnDc& Vax;Tki-1v3l_b|f_yg_whE8s3Pu>6k literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_73_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_73_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..00001176d018bd72f9f2128f2f0bf775aab99aa8 GIT binary patch literal 184 zcmV;p07w6L+U;0d4uBvG``>BS`(MrYR@be?`f zXg4__uzEOkK6dEjx2oLg#9{`gm`?j=wt4_|87ivOHqbF%PAmBX8kw9Db&_}T?ycUn z`rYuGA*p6w>oim|H}6{gZul*glk!e^C-3Cl6W;y1W(Io8^nRzjQ{KtDFL+1JRVtmB msmjs2lzG8{6JIm^VkS0TGiPwh(`lA>@p#INaS{u_o$71/34Ϊz^'[FyglgM>OTL4ϔ{&3Wy*ʧb*`<3;Vo0/s6n0ya[mcE \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_81_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_81_5.dat new file mode 100755 index 0000000..71215e9 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_81_5.dat @@ -0,0 +1,3 @@ +x + C~M?tzU4" }tMX2|.ɋ˙F\~m4Xu +ٔ, w:EƄ>X̯=_]g>>zמ/)5ךkkkZsXXY{ܮ}~mt:S#&;U#) \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_85_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_85_5.dat new file mode 100755 index 0000000000000000000000000000000000000000..09cf0e28127934862f45b0f155ede22e48833cd2 GIT binary patch literal 186 zcmV;r07d_J+U=P^3V<*S1n+rG^8e3yuu_X!YO*T`o0cLu)Fn>SVBDKU)x4XXo;}Lz zW!EUrTdh$X>snv=m*blAkGsN*t+gK4zOfzOFOb9L?@mq&=-FzkwKE)0V`(MDRSbv$ zF(3xMXCUdfAl$J#15Y(!+RxHTimUQ~@_-l+17bi7s2)%~pgf>FAO^&M82AqZz<$9g ouBdLo$N>Dm_MjDe$NHpal&=TaS~+q3j)5w#tg{8Q4HYg~22k``-v9sr literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_89_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_89_5.dat new file mode 100755 index 0000000..5fff530 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_89_5.dat @@ -0,0 +1,2 @@ +x + 45enpQ Gcfl^^;;b5;`kU͹߮j`NsO=\[a6~nLD? !6uF%w*Ȭkf77SĆbÆXodw_—mbClNۙ ck&YVoܡ׷BעبAl6 Jjx \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_93_5.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_93_5.dat new file mode 100755 index 0000000..ec4240b --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_5/mask_93_5.dat @@ -0,0 +1,2 @@ +xK +0 D>&&  fP^8BY5s(imҮ=f3/wۧEyYQwf[} [90303ef̙3'3=,ͼwxDַ.,;s%g,,,=Rὓ7uKKTD<(n lYhV۹sޕyPEtyY]ns ;ss,!LkԅcbL12cX91Z#XEn#;svT~L~LR11vs.1111J1&؍Ń111J1&ƞg KLƪjlk{gڞ5K1/ǐ~,ac$ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_105_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_105_6.dat new file mode 100755 index 0000000..a58fec7 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_105_6.dat @@ -0,0 +1,3 @@ +xQ +@ DskBZ#o)Sd}Gܷl쯯^)G]S4S?#BZ:+{sHKNiI!me1 +RWe9!``Uyˀu:檞U=w-oԺwB}cMK蹰{{=y蹰{{=y蹰{wScaoi'fyO=CyO=Cy[{S޻=;|v4}ϯ20 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_109_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_109_6.dat new file mode 100755 index 0000000..be7b474 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_109_6.dat @@ -0,0 +1 @@ +xA0 ~ρDBHCHV20nuol쯯˻=ۢs9[l'?7R" &2:7QqX_n ]$՚EIY*Lq0 0 0{LJз(s\ɳwX-7^ItIII$~?N0 0 0O'Itg7L$L-Iuzrfr M^'}(O~R]1YLĞu9Qӕ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_113_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_113_6.dat new file mode 100755 index 0000000..397f527 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_113_6.dat @@ -0,0 +1,3 @@ +x E5NՉbF6on,m>gS9RWcǕ9&%1_cx= GR^w-z?dzv=,}ԥ?ǹژ:9m==@U䲉UXUXVe~by4Wi:e=+3}u4V%s*ZZGM&;I{^hb=04yIS((dxvZSQzT-ftM{l(nX+lN_8ODT@5*n+ z7_UD(asGDJ=LTuwGLL68OD>x%-!8VhX~z9)s_}nsM7#IRuTu5NlE1M}DE!~LqHV#? z>Qf#_+}0{yXSc>}`Oi7KFW*{qHhjb7t7W#OJ7->RxEgr--0aihQri-x!RWX2w$z_x z-{(K`{`B@#S%`O<>9f@NPe0F}o}Zti{rTɼÆ$<>Ov'Cytaaaa~|'9liΣ<<<<Iæ<:<<<ٕWDzy:.z= ݓʯ sVöE=ll_k0_#vίmj \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_129_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_129_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..b4695c3ff0d8ebd6925d8af5e0b403d5974ed46b GIT binary patch literal 310 zcmV-60m=S&+U=Xs3d1l6Mc@4z{r{iaU`b3tw}-Y`#z{*Vj)K^nc<+O%V_D@=U$Xty z&tEmqAcJ?j?v86TK^YOR_hi^6CyeFRR#Fmw^kkN5f+OzB@3mz7YhU+_46fxbXrKqJ8dEWiRRzyf{&zkpxBFVGk0 z3uq)*fCX591z5l@;1}=<_yzg`eF2RG3$OqSumB7A1^fbj0lz?Bpf8}2U;!3j0T%w4 zg_beb0}DNqzB>!qv~!(b=$i3#ztA<~>3$)bcdqjbP4mv1Uw8})+SVD`X8*k}X!oJ` I0%mGk`PF`vEdT%j literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_133_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_133_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..40911dc575dbbb17a4a057a46521c47b159138ca GIT binary patch literal 296 zcmb=p^>&UUU$X%Z%lo?CzyHr~4f5p772*@!y+W#4z-aoFvniX|)r-4>+}{b_t=?z1 za^B%Uo6C=?Bf5p+A4mDPRY%qZb+7;LH~IgZx!WufT|#LdH+*}lvf|jbWz$U;MJdj?+L60%T4~Y&jvfg5!>uf4f9dJsH`X7Hoj9}k^e4rC zS0C4C)Ev*0lXY~zAowlHfJqsIn&c1mKXCt`{DQ-(sSmClB=SSBgaxSfM)pCdp>-_w zAk_;%Y9X4Lls֪r666rҟ=vڲWy -' +Ο;q tQE>U϶f곭xN]Tc(s❮7tAw`v`v`v`kvwfwt;];;;;;!ޙ;ao];l;;;÷| ʷ(3}l.?"މr};\}S-Aw<9;EV'ם \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_141_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_141_6.dat new file mode 100755 index 0000000..0340409 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_141_6.dat @@ -0,0 +1,10 @@ +xa F4/c]زȐ[=[E럓sm,fn/|kj\j?g[q(NOZc5SGGP[oMVָfvL<)r%zGej;*ZC7u5PHroFXT;2T zErAz-@(#{w+P}?wqtMJ3uDW8^Zp>M}^Fr0Lpp6sHMCtS0T=zSWcURlGh1q8m6XBZP z)<+zU-@Sal+U99%rKBCNUob7{wNzPiPzs9vGH3tDF8^{p;9$q2z5quaE#u5AU!HIYpjb0cSa)^E8M?_KmSO6tj)==bYa lKD}5p(yFJjBc0i__3AFOq}<9%1{c=3R{)onxM=_Y literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_149_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_149_6.dat new file mode 100755 index 0000000..69e9883 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_149_6.dat @@ -0,0 +1,2 @@ +x +0 E5f478UD62zmpߞk8}GӕN}?}W:guWAˌ7 ~;)Ø{̪ǿ+WPOۢrE\jwG)y˖wAAAAM%2`2dl|p}eqP : e j想=lT5ɠ : G{ddAtDaaaaa&أ&w : 1-MRb0Wf uz5&YiIѺNрAPQSL}4 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_153_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_153_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..3ab6130edd889298419b702ce1dcfddfda30cf2f GIT binary patch literal 367 zcmb=p_4ZC+-eCoSmWSnj%-{FNXq%daEZUK`+NjemCo*t?dCFURVYiCx+AY&AWaXz; z#Mw80;rtkb0d8YE*wD7uX)inq9ZVuZUFDP(T@8+N1 zd)6dxd%yYT`R@txHxIga-#%q{p=18$LjAv|)HMzi=qI9z_Q`c5T9@Wu3#VwUI?XqmF<#Ov^FVyZX znO%a=0o3e&KJ815aoXF1m16oYp6*fD?Jm?ru;I^wH)p;*n7!8a0qfl_O<0VW z=e+S-gZL9m5s=WóCaz6U~һ{`nݻdvVy~rZ"qk{>g$XKU}m\bjaGx,f1Yb]z̞^.5[?嬜r,f1YY>grVb,f1Y>g,rVmYb,f,|VY9Yb,f,|VY9+g1Ybً ̦M7>2{9z϶hm3l|9xټ#f#x6 -v%N' \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_161_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_161_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..ecec68b1ac0f7ae45685bed5d752ef54a48f0f3e GIT binary patch literal 399 zcmb=p_4aOH-eCm+*NgRG%)jr)tiI;gamK_~Was)*2d9a$rlzvVFd(`Vxt}K4Lw&$1iobzS93uRn)?%d|f?w*sGT%NE> z{5IRU4qg|XWXaPJc9Wm(u=|#>w)ceHw=b*9PWtu#%$j?0UgYIfVgE|yed#NsPfj0ye)_BM^UK-)PTmj)Dk+(%2Qn6>@Mqw( zr>Eaf(4VdSY0^ghT|OXlU~(X3o3@I6N-cI>vvvVU=j&u7z0uK%@n+#iZgHXOO4Lz* zS5klalWD4FYUNJv>X3bV?!C6tj6Zkhb=|q?)qi3p?yJdny>uh|S+%y9&hsv>7uDKn Qv3e2bEbSR&we7b907^~O^#A|> literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_165_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_165_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..d641dfa3dde2565c932c7234b4521d35c4a1af0d GIT binary patch literal 400 zcmb=p_4e+=tY!lV)(ihDXFd5FpVz$dq?^)Rf%2utrx}%SOWEwLn>i_J`_iSlTlG_a z?5xW@^>fafr_X<_`MyU#`bPG>>Gu53mUJ)QUoZ3jlYiaKTYL1ypC5hw`u4`@;aj#{ z65c&WV*jT2f7ha_kN&Vtzwen{t6%P~`!n?0+`iwtWbQAWZ<=}1xMrHJarBp;Hbut9$M7_G_mM zcbUq6j_Pl_yVJGrbfKl*aj-TBao%v9T>btkn@|5AAOFSPyYnPS{;9>|9^-RRg7etb z$M3`Xce6j+WoQnP+#v(96>7#EW6f8E-w#x%VH*A2r>p9Yt-(CciI0n7`gVuGb;wx~J!=SaTlS=q~KG>㵾+'{է_Vˊx-J<ӛܗr_>>i;rO}/g}g}ٿ}}xO}/g}g}ٷGo/{{r_>>o/z^#}g}ٿd'ʳ|QRNS3YڳZ'msEǷj5 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_173_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_173_6.dat new file mode 100755 index 0000000..95fa97c --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_173_6.dat @@ -0,0 +1 @@ +xa09MrM S*:a_-5hh_)uZ֭[loےsmKN{H?x`l#f9>ڟ[eЄώߓ ?^m*/Kmhy%v-nKlkKL`&& g5(gwxYܞa¬pVcZ[#O=SN9&0 L`DŽ 'tjj]QN9&0 L`sYRc@QN9 L`&0 L`"YRc\ ' r&0 L`EH9AN&0 L`& 7p6`|hms R5Ƙȉ k\X/ )g9 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_177_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_177_6.dat new file mode 100755 index 0000000..e9f0476 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_177_6.dat @@ -0,0 +1,14 @@ +xn {ڤ*4v۴u1{f{_,,K9o 4ǵ7lniJiggir<-MG + + + +xuV+zRCr9+Gq6QWb"Qe"WL+ + XXXXX/|~j,nmuMۤ+ + XXXXXYa,X;M+ + XXXXXe)oӘf|5H늚7/D \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_21_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_21_6.dat new file mode 100755 index 0000000..6bd505b --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_21_6.dat @@ -0,0 +1 @@ +xڝQ C9M{i]X1- C!D7 W ٜ&rD)~]<M 3(>{A aS \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_25_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_25_6.dat new file mode 100755 index 0000000..d45083a --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_25_6.dat @@ -0,0 +1 @@ +xڝQA 52)e+(XmZt*(ڹ;tJ<峂_ڤ3oڴ"̢azh}&qvSG֙,-J4}oS[}w \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_29_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_29_6.dat new file mode 100755 index 0000000..0408e22 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_29_6.dat @@ -0,0 +1,3 @@ +xRA +0 XcL(4EԈB +8Cܾ޳nM+lǝՆO1]&ڍ4UD-6-$:6dZ?ylf? 8?߲bTQ5IjGy*#_+5FlYF0i|O3{~#Ory&Utx49Pb}M!qqU eGB4z0Ua0$-m+;~$`<#o+3+E#9Qgs1fkI!%T**fq5 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_37_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_37_6.dat new file mode 100755 index 0000000..b37ff0a --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_37_6.dat @@ -0,0 +1 @@ +xA &T `jB{{Ok%tdtlP>c!Jq2?sR|6OyXBED_#CJGJ|{4?o|# zWi31{IkRWty7H{19EeICVF#bFBLK`Sqohq!P3c{Hxke=hL*^psZ< literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_45_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_45_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..a7da7ee0297b6371bd3ebf57467f009712e40cd6 GIT binary patch literal 189 zcmV;u07CzG+U-?A4#Xe`yz?6P|L3|%6(}8a+S4YxXiTkkisJyP!>lt6lk}|T(tQNG zKksqJ*w!?R9dPAm82jdF@w%LHYmk%ah`(8LQqB>(=edn(GCywV&RxRO?k3YHLkmWk z*aT+KWsqQ$<3Gg7PA4uT3C+}K0drYmWeGYb>)1(p7ta_qgP{3eCtn>q+w^_mWM3IF rC#dT5I$?6GuTnWSVh7coK6Z$@lVax;CrT-Ws>PubeR7!xL?VGyGa6i_ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_49_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_49_6.dat new file mode 100755 index 0000000..64ded70 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_49_6.dat @@ -0,0 +1,2 @@ +xVQ i{K&YX؁0̦!=tn&fpWL +`/<ϓKVrU\1bGp@ӑ&fN/+ƽq`AWSRGp_5||zxν:J+WEm4h43tܭ.Ag`\ʤ*F \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_53_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_53_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..9139e325901037a409a2a2d317141cbd9bb27807 GIT binary patch literal 195 zcmV;!06hPA+U=In4uBvCMc?@v`Tw7*ElsG)6&_ona}B4=6R_J_H(gnqCg!_cThR(n zojZKuSh^TEmcRQQKZxaCGEO}_fJWLvh7ncHkT}m%gO65*3_i=>Wv5I&JTu%XJ;$_U zq9afxnshi?de~<88-}PKQlCVXOM8jnene{dW{CPB^@+QK_CphY=i#p94>Qav8_#g2 xe}y4d8>?E5v<_ݏ`8G1`B`;+}&s]<iK'l'9%.7 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_65_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_65_6.dat new file mode 100755 index 0000000..550fc8f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_65_6.dat @@ -0,0 +1 @@ +xWQ i{KNLk?e$Qik41{`+!ڮM ? 1b8 .^wsnFj5EaQX|=w@2v<ŋŞ|4w\UXBQz+TTcBz/48,5`ȱ OV$ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_69_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_69_6.dat new file mode 100755 index 0000000..a3e4fa0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_69_6.dat @@ -0,0 +1 @@ +xK @dTh hLSSEq eY@<+*|窮 %>z*7e6QS`.>sE '%@[6@P0h aFxtpl2 Q-g1Nfeo^0FdT>N_OwG3ug {3<[Ժ b?'6^ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_73_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_73_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..ab71b70ae59ccfb23e9c4185b1e919d531fb040f GIT binary patch literal 230 zcmV6w!~0Dh_U!#`ksFaQ7m literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_77_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_77_6.dat new file mode 100755 index 0000000..ad5a660 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_77_6.dat @@ -0,0 +1 @@ +x E۲iVa.FpSTY4q~z=:͒ 6m8:#0PضiDy:2Š'Zs&}滜\r0\ŚXw;iPȔL)Seԕ{hDu9LbJSS))gZ{e)qJdLw+#3-V0շljڠS-S 9=ݯ5PPq1M?g \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_81_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_81_6.dat new file mode 100755 index 0000000..28a6d07 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_81_6.dat @@ -0,0 +1,3 @@ +xQ0D9 rRLvk`0 ;i6\|_cc1huio#2}x*.Yt& +ְq/K;3ve̢ȊAH?`]5Kw!}{Zû߲W +yⷾ^_ykk^Kתb-bYSڸ'֜Nu#MfHSQ?|]IAiMyyuW \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_85_6.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_6/mask_85_6.dat new file mode 100755 index 0000000000000000000000000000000000000000..d5403e49a80cd825886b9cf067587297c22542b2 GIT binary patch literal 229 zcmVz+U=Q93IibwME~bB$^9?aLbYnE?lu`e3KJJuW7jbno{1 z6z!*@KIP;y_0^MY?(1Uq+xo)SueFNlpSwk~3kHJTZW;Jhe~*j0f6i>Ev*&T`9<+0j zJ6S`Ia)zC1@aibjTa>+X>cWZvF(3xSz)1!u`9P<`={Ia;V3iYwbtJu->xkU@m%8GB z;(!ntduS+U=Q93dA4`ME`S|1p|)V-|IyeM8#yz&a$P<5H8u1j zJvs=^zR6hA`VPFkrR{fvn^+GR9ksLtHTXo64YENt$i~~)fawi)LW)84hWko>3Nllc zx#paEz7d+7rFOyurM|GlguB4YENtj{*X=Ev^DF}ptAKX6@RpX4vjZjklMsHWS3nR)a*F|K!unUJMmO!Vn} zoTXx;{$pvl+nqFvSzoF-QmYM8VkABAis-2UASHPxZ{Wiz40ft)3ZUf;xjbgSiRJfEh3YX28r%%+%_c*_vLo*0<$@ z23~1k)EU$n%uQeh%zzm%^YhH4w^!eo$?ptXW}>e4xt^)$QRDw9atl$NB&!*=1='#`+bl]Z \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_101_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_101_7.dat new file mode 100755 index 0000000..1f6bc51 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_101_7.dat @@ -0,0 +1 @@ +xQ C}rm`fjT#54'tfaЇo$cmOJ23c<6Xn0F ) \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_105_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_105_7.dat new file mode 100755 index 0000000..6b0cacf --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_105_7.dat @@ -0,0 +1,2 @@ +xA +0EFaMҙNPx)pQ_~|ñ(bF$.aoWGNPUǖM%{oHQUlִL^>+m#{{eo&Y2soM)gncO9sZ3wo+{=f.zޣ{{=zGcskCQϞp^&{^NʷU e5}EwGn+o \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_109_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_109_7.dat new file mode 100755 index 0000000..9875cbe --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_109_7.dat @@ -0,0 +1,2 @@ +xA +0 D9Mr}* _x-d:"NJ-k"⨚d{ջגɬ|'rQ5+ s)c7-1nn햺qɔJtg^ʉw̘Ň-?*&Mm@ee5^ +c + +,b\13j4TZfŢo* + + +:Ut* + + +Xů0"%6ed 8rS NsUnk5XejުuVXg,l`u!hXZ\VlM|[ͬ0 0 0 #hF'c]i>Hataaa~<ÆzyqkO0 0 0 㪞Faaa)2˰fÒ%z8tO=3=3:cw +V$ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_121_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_121_7.dat new file mode 100755 index 0000000..d5d577f --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_121_7.dat @@ -0,0 +1,2 @@ +x[ + Edi;^az,#6ƞ^rh&^amY9_غ5Cr6t^^WlEز~ɿ|MmmS}( ۰ ۰ ۰}mQ]ZVq]vѲ"M1fG, qBmtaaazeF3cxIDmtaaamný$n۰ ۰ ۰ ۏa[}`[yޖ޻)n<4K/Oslnlm/G \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_125_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_125_7.dat new file mode 100755 index 0000000000000000000000000000000000000000..f9ec0887b05d63190cd6ebe1bb181252db240a5b GIT binary patch literal 288 zcmb=p^>(%+-(dwFmiND<{`^0`b*j_CTqezxZ{^rj;wKcm=?PmSu=Glz<7VlslV=Y- zO8>Uu%kQn~TjKuaTl~3{$o%&7)#h8}=22b&;klFIREslqHa`A!?#mmI&via`Hb+0Y z@=dof=(6k43w+wj81s{h(%)-(dv-mfy8!@BX(Jcim*@*T8k(?P5abBdPTV55E<2nWM}-KktRmgh+FK z(J5XM>l-trubloFW*NMH^}mg5a-3Y>F9fC9#l&wam?F3O`BH_m{d}fVk6)~v_I&Hz zHJ=+cdHrqItm^WLCC8c$D{tL(Yf{g&%x7Q9 zubFPXVwyI0pF{it{Ra~h7{x%SagRfsg8l^Y7u;W1ZG?0VFoDnn@e|xnSU)k2i@PJtN|E!a-ww)M{dF^|hGkUkCJ!|~{M9*8VnoW7a`o8vg bU+c{{(Mi0VI}n?>ZnFz5Vih(RRyE z|8~uM{F%Y??j(=+_U|&*MxD6{EXooGIou3B+4rdIt<3u>@m`ky)yCCP{twlzB)65{ zxt83x+o|t_pyi`jZivc5?msx>A1W8Q07ZMC+7Tk}qrk>B3EF|xO$4cfDymCT`D{~t z*yCE}H)iGgttY-t-17O&+Wsls{yaWkCr)~=oXRV&$sJJi`D}ZpWzpFaOJp>)b53$^ I_LZ6o0K%<<o[l +Ο +07։Vl;b7fMS;1LCvR|KMH +#Н(Sqd \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_141_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_141_7.dat new file mode 100755 index 0000000..98dffab --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_141_7.dat @@ -0,0 +1 @@ +xA E= rITY@Ä0!|1tbG0ԗѤs2Z/oa\qzOnҋMntX"KmeM}CpPL^S0S0S0SL )ǔژY߾%b,Sl?zC)tLLLLI2zRXh@)tLLLLI1zbϷB)~0S0S0S07)|B)))3ՖL% tfwM*:~hZsnc$1UTtJg8OYE \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_145_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_145_7.dat new file mode 100755 index 0000000..4aa2bac --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_145_7.dat @@ -0,0 +1,2 @@ +x + E5?W6Z-^2qbGX6(Ɖu"LbbGuμGk:HwA[jmHݞ3OkQ{l|TEm JfL?2"&)kRfc̉F,z=5X5X5X7F\pUs#5X5X5XFdYk!a ` ` `o8ct ]CC gM5[N%khZp?Iܣϲ^n$Y7AZP[ fȓ0 \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_149_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_149_7.dat new file mode 100755 index 0000000..809f005 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_149_7.dat @@ -0,0 +1 @@ +xn {? uچ2G$ncFKb3֪tPc ̥7[?9:['9'*Ӗ Gah_/z+6XB>2qYJ0黏Bfa 1 9c7G Ol,^꽓3A:H  1A b0X4%٫#d>&C  1A b+g嬜,f1Yb|Y>+g嬜,f1Ylio.\Ɲo=gϙ-yk_TA \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_161_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_161_7.dat new file mode 100755 index 0000000..35ba8ff --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_161_7.dat @@ -0,0 +1 @@ +xю y/皨E)Ʈ1~493,˵+ZT=ZeC.~iߏ&>,6e~,lW] 2\;׵2j"e,rXݵV(c쵵ZӖ18ީ/,'t.ee,cX2߱,_|yt|]t.cX2e,cy/ɗys.eLe,cX2lo|Z{+2]bl,cX2e{+֊[A2]X2e,c9CXxJ+6rf>h5o6qcIQd2nm=Y_6}PsM~AQyzW1wahnqx4i9#trl79 zGTt{n-#Tkq_|`@8b@BO^-&#lQzJI&bdA?QLEw|ZnT7O=OKRfSrJL~d`Aw9u`O=epcc%X?f~g1U{2P4x`u+VC z_4Xxs=ND}`cY4xm literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_173_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_173_7.dat new file mode 100755 index 0000000..3b51371 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_173_7.dat @@ -0,0 +1 @@ +xj0 {=M/ RbHrj\=,mcoZ8;mm0b_ߚt$~Wu5ǚNn'?df2(oG,L6_{z? 9wq9 S!ƌ9o2 L`pOEnv8Lv8L UY"d} Kr ' L`&0 L`B'f:O8TcTc\kr ' L`&0 L`BYgIkr ' L`&0 L`"YRc\ ' r&0 L`EڳH9AN&0 L`&'!;q+Yl*ܳ=؀9j[2 Ms¤Ԅ* \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_177_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_177_7.dat new file mode 100755 index 0000000000000000000000000000000000000000..068477c92af080afb53465a651dd7d1815d562c2 GIT binary patch literal 407 zcmb=p_4e+?tY!lS)(hWjd_VoS4`&P8oD}qI!Lz*MP5ODNZExOG1+MwJb8D;p-LO8! z?c3h{D>>rL|Ffpgd7A6Xc6+Psn~m@D{rRxH?)O~%;+lWWo2OpY#{~EVH=u6 z*CeoNM;zn|YxyENS5&k1Xxh;g$7WrP-Y%=Xxj1^=`WtIKUTA-NKSlcq*G{K(1-ys2 zkTw0`)@J(M6-dz@>7=A*us5M&v*{}_V zikH1R`f1L}yvxPQidw;HV6KBY)F%BE(1c~reV&3`GXd;yxF5O}ivA8Q?Gyc+m*}Yd zYKdyZw)H0}-4ng5+!L?o?u!;XT{?T~wJmv{XFN90&I($0Ldf#T-Q#!vG0tQ&@c{s0 CYRvKg literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_21_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_21_7.dat new file mode 100755 index 0000000..4f9f138 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_21_7.dat @@ -0,0 +1,4 @@ +xڝQ +0 B=r]-?]Rl2nc +[nA".j+i +~x3;QIQH8R҈G"z,&;'o97%P8%6oǽ;]NWn[f7v \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_29_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_29_7.dat new file mode 100755 index 0000000..e3d7391 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_29_7.dat @@ -0,0 +1,2 @@ +xR9 QpX$lŲf!I2pgSMZj"te0#ԛ`_1-cha~/Eh4"~ \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_37_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_37_7.dat new file mode 100755 index 0000000000000000000000000000000000000000..87d9a1a9d2c57b346aa4a8a2e03754a7f7668ab3 GIT binary patch literal 122 zcmV-=0EPc}+U-<34nQFY+c^!r|K-dh{-xmXMloTrDOS>|wt{nN$p8UIKT#gc;o<{l zE|1OO;;@B_*1sBYail&HAVaMSznZ$V?+Zst%JX#@k^|V&_%v=tL+(dx9wGsNg^L)? cH0CK`8l%kV8sp6AdyF;KJ?hQK0&cYgLugGq!2kdN literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_41_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_41_7.dat new file mode 100755 index 0000000..8acec04 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_41_7.dat @@ -0,0 +1 @@ +xTA 5[fDY(O^bR3/~t/L"7SQQ5j\Sib#Նȏ+ǣw#zx?㽧A-wu曑Y7$b.%A;wRoxG}? \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_45_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_45_7.dat new file mode 100755 index 0000000000000000000000000000000000000000..dbba31d0bfddcbed98ea5d7a9f6ee59f976e0421 GIT binary patch literal 173 zcmV;e08;;W+U-@*3cw%;e7~=;|Npr$DAUrsy$v=4K{1olOOYWhIYuypTZ?rVorcG` ziBe#%j*Q*dv)kOh(x@276Nxd&JP9U=2L~+ngMKq>jn}9{jK*jHRSM|5x5n%q5&j`e zsyWelhq7a3OJw7iYkdjosJYWIS!tZw|D3#JI49hv+1NkUa3?Dz bQL;xvA(=V?*)bSkL5FpXakG_S`^qkH-^P*%H1XEuNsLnfvAu` z`*BEI8A_NDBQX*qG5P?bYCW1Y9JBiGIs;FK@Oe8gF(1@>hQVmp28DF`j`Xh+BQX-A zPcoX-fMZmg?C*@cp*&oVxZ$(2Gpy+uA|bgw1Aot87`^rkIYy2Bj`)lr?t+Z`0Y=4# E+IH1p%m4rY literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_73_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_73_7.dat new file mode 100755 index 0000000000000000000000000000000000000000..f414e4a5877861bd45e439125a47c52b70a0ca12 GIT binary patch literal 221 zcmV<303!c*+U;1;4#OY_e7~=O|NpsVOKWw-svJ$a1xQMLKjmF z$Fo{kZk}5~sTj*XCvO!sEAx=sT{$)7Ae9TQEOc4^f@wQ)ea)wu7H%}{#MK=l@)ASD zb^%LDMOj|2h)%FTj!en)$C=J-W^O$fr&vx@-|THnt7dOwYNfBvQ>ukv o40T%96U5*sI{`_>S?}(:yTl{G&E\6}"AX XϬQSkr0$!s zmX(et@ z$j}>#8;TpsDPluxhz+rk$AtTL3lG`X3UJ4`446UdL}WW&@+vhnbfN!;F1qj9*+b^XNIk3 z`ZsZ(ai8(tWM<5anK3hF=1a_o^~_APRcC!GK5O7o1G~?-&v25BNzV0+I1 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_97_7.dat b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_97_7.dat new file mode 100755 index 0000000..b277368 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/cache/mask_7/mask_97_7.dat @@ -0,0 +1,2 @@ +x0ܲD[V.KI`'sxy$xx"= O^&pbYʬ$Kݣ8K eÌ 3:$bI,%$Yb襶 +M)T %q綦EX}jlTTKbI,%,_e[%V]R];N,%$%V@`%pam(}_%%۸4='u)ai.;M> \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/index.php b/lib/crowdfunding/lib/phpqrcode/index.php new file mode 100755 index 0000000..4fa2c9c --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/index.php @@ -0,0 +1,94 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + echo "

    PHP QR Code


    "; + + //set it to writable location, a place for temp generated PNG files + $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR; + + //html PNG location prefix + $PNG_WEB_DIR = 'temp/'; + + include "qrlib.php"; + + //ofcourse we need rights to create temp dir + if (!file_exists($PNG_TEMP_DIR)) + mkdir($PNG_TEMP_DIR); + + + $filename = $PNG_TEMP_DIR.'test.png'; + + //processing form input + //remember to sanitize user input in real-life solution !!! + $errorCorrectionLevel = 'L'; + if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H'))) + $errorCorrectionLevel = $_REQUEST['level']; + + $matrixPointSize = 4; + if (isset($_REQUEST['size'])) + $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10); + + + if (isset($_REQUEST['data'])) { + + //it's very important! + if (trim($_REQUEST['data']) == '') + die('data cannot be empty! back'); + + // user data + $filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png'; + QRcode::png($_REQUEST['data'], $filename, $errorCorrectionLevel, $matrixPointSize, 2); + + } else { + + //default data + echo 'You can provide data in GET parameter: like that
    '; + QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2); + + } + + //display generated file + echo '
    '; + + //config form + echo '
    + Data:   + ECC:   + Size:   +

    '; + + // benchmark + QRtools::timeBenchmark(); + + \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/phpqrcode.php b/lib/crowdfunding/lib/phpqrcode/phpqrcode.php new file mode 100755 index 0000000..7f53c48 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/phpqrcode.php @@ -0,0 +1,3625 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + +/* + * Version: 1.1.4 + * Build: 2010100721 + */ + + + +//---- qrconst.php ----------------------------- + + + + + +/* + * PHP QR Code encoder + * + * Common constants + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + // Encoding modes + + define('QR_MODE_NUL', -1); + define('QR_MODE_NUM', 0); + define('QR_MODE_AN', 1); + define('QR_MODE_8', 2); + define('QR_MODE_KANJI', 3); + define('QR_MODE_STRUCTURE', 4); + + // Levels of error correction. + + define('QR_ECLEVEL_L', 0); + define('QR_ECLEVEL_M', 1); + define('QR_ECLEVEL_Q', 2); + define('QR_ECLEVEL_H', 3); + + // Supported output formats + + define('QR_FORMAT_TEXT', 0); + define('QR_FORMAT_PNG', 1); + + class qrstr { + public static function set(&$srctab, $x, $y, $repl, $replLen = false) { + $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); + } + } + + + +//---- merged_config.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Config file, tuned-up for merged verion + */ + + define('QR_CACHEABLE', false); // use cache - more disk reads but less CPU power, masks and format templates are stored there + define('QR_CACHE_DIR', false); // used when QR_CACHEABLE === true + define('QR_LOG_DIR', false); // default error logs dir + + define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code + define('QR_FIND_FROM_RANDOM', 2); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly + define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false + + define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images + + + + +//---- qrtools.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Toolset, handy and debug utilites. + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRtools { + + //---------------------------------------------------------------------- + public static function binarize($frame) + { + $len = count($frame); + foreach ($frame as &$frameLine) { + + for($i=0; $i<$len; $i++) { + $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; + } + } + + return $frame; + } + + //---------------------------------------------------------------------- + public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037') + { + $barcode_array = array(); + + if (!is_array($mode)) + $mode = explode(',', $mode); + + $eccLevel = 'L'; + + if (count($mode) > 1) { + $eccLevel = $mode[1]; + } + + $qrTab = QRcode::text($code, false, $eccLevel); + $size = count($qrTab); + + $barcode_array['num_rows'] = $size; + $barcode_array['num_cols'] = $size; + $barcode_array['bcode'] = array(); + + foreach ($qrTab as $line) { + $arrAdd = array(); + foreach(str_split($line) as $char) + $arrAdd[] = ($char=='1')?1:0; + $barcode_array['bcode'][] = $arrAdd; + } + + return $barcode_array; + } + + //---------------------------------------------------------------------- + public static function clearCache() + { + self::$frames = array(); + } + + //---------------------------------------------------------------------- + public static function buildCache() + { + QRtools::markTime('before_build_cache'); + + $mask = new QRmask(); + for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) { + $frame = QRspec::newFrame($a); + if (QR_IMAGE) { + $fileName = QR_CACHE_DIR.'frame_'.$a.'.png'; + QRimage::png(self::binarize($frame), $fileName, 1, 0); + } + + $width = count($frame); + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + for ($maskNo=0; $maskNo<8; $maskNo++) + $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true); + } + + QRtools::markTime('after_build_cache'); + } + + //---------------------------------------------------------------------- + public static function log($outfile, $err) + { + if (QR_LOG_DIR !== false) { + if ($err != '') { + if ($outfile !== false) { + file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); + } else { + file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); + } + } + } + } + + //---------------------------------------------------------------------- + public static function dumpMask($frame) + { + $width = count($frame); + for($y=0;$y<$width;$y++) { + for($x=0;$x<$width;$x++) { + echo ord($frame[$y][$x]).','; + } + } + } + + //---------------------------------------------------------------------- + public static function markTime($markerId) + { + list($usec, $sec) = explode(" ", microtime()); + $time = ((float)$usec + (float)$sec); + + if (!isset($GLOBALS['qr_time_bench'])) + $GLOBALS['qr_time_bench'] = array(); + + $GLOBALS['qr_time_bench'][$markerId] = $time; + } + + //---------------------------------------------------------------------- + public static function timeBenchmark() + { + self::markTime('finish'); + + $lastTime = 0; + $startTime = 0; + $p = 0; + + echo ' + + '; + + foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) { + if ($p > 0) { + echo ''; + } else { + $startTime = $thisTime; + } + + $p++; + $lastTime = $thisTime; + } + + echo ' + + +
    BENCHMARK
    till '.$markerId.': '.number_format($thisTime-$lastTime, 6).'s
    TOTAL: '.number_format($lastTime-$startTime, 6).'s
    '; + } + + public static function save($content, $filename_path) + { + try { + $handle = fopen($filename_path, "w"); + fwrite($handle, $content); + fclose($handle); + return true; + } catch (Exception $e) { + echo 'Exception reçue : ', $e->getMessage(), "\n"; + } + + } + + } + + //########################################################################## + + QRtools::markTime('start'); + + + + +//---- qrspec.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * QR Code specifications + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * The following data / specifications are taken from + * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) + * or + * "Automatic identification and data capture techniques -- + * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('QRSPEC_VERSION_MAX', 40); + define('QRSPEC_WIDTH_MAX', 177); + + define('QRCAP_WIDTH', 0); + define('QRCAP_WORDS', 1); + define('QRCAP_REMINDER', 2); + define('QRCAP_EC', 3); + + class QRspec { + + public static $capacity = array( + array( 0, 0, 0, array( 0, 0, 0, 0)), + array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 + array( 25, 44, 7, array( 10, 16, 22, 28)), + array( 29, 70, 7, array( 15, 26, 36, 44)), + array( 33, 100, 7, array( 20, 36, 52, 64)), + array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 + array( 41, 172, 7, array( 36, 64, 96, 112)), + array( 45, 196, 0, array( 40, 72, 108, 130)), + array( 49, 242, 0, array( 48, 88, 132, 156)), + array( 53, 292, 0, array( 60, 110, 160, 192)), + array( 57, 346, 0, array( 72, 130, 192, 224)), //10 + array( 61, 404, 0, array( 80, 150, 224, 264)), + array( 65, 466, 0, array( 96, 176, 260, 308)), + array( 69, 532, 0, array( 104, 198, 288, 352)), + array( 73, 581, 3, array( 120, 216, 320, 384)), + array( 77, 655, 3, array( 132, 240, 360, 432)), //15 + array( 81, 733, 3, array( 144, 280, 408, 480)), + array( 85, 815, 3, array( 168, 308, 448, 532)), + array( 89, 901, 3, array( 180, 338, 504, 588)), + array( 93, 991, 3, array( 196, 364, 546, 650)), + array( 97, 1085, 3, array( 224, 416, 600, 700)), //20 + array(101, 1156, 4, array( 224, 442, 644, 750)), + array(105, 1258, 4, array( 252, 476, 690, 816)), + array(109, 1364, 4, array( 270, 504, 750, 900)), + array(113, 1474, 4, array( 300, 560, 810, 960)), + array(117, 1588, 4, array( 312, 588, 870, 1050)), //25 + array(121, 1706, 4, array( 336, 644, 952, 1110)), + array(125, 1828, 4, array( 360, 700, 1020, 1200)), + array(129, 1921, 3, array( 390, 728, 1050, 1260)), + array(133, 2051, 3, array( 420, 784, 1140, 1350)), + array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30 + array(141, 2323, 3, array( 480, 868, 1290, 1530)), + array(145, 2465, 3, array( 510, 924, 1350, 1620)), + array(149, 2611, 3, array( 540, 980, 1440, 1710)), + array(153, 2761, 3, array( 570, 1036, 1530, 1800)), + array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35 + array(161, 3034, 0, array( 600, 1120, 1680, 1980)), + array(165, 3196, 0, array( 630, 1204, 1770, 2100)), + array(169, 3362, 0, array( 660, 1260, 1860, 2220)), + array(173, 3532, 0, array( 720, 1316, 1950, 2310)), + array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40 + ); + + //---------------------------------------------------------------------- + public static function getDataLength($version, $level) + { + return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level]; + } + + //---------------------------------------------------------------------- + public static function getECCLength($version, $level) + { + return self::$capacity[$version][QRCAP_EC][$level]; + } + + //---------------------------------------------------------------------- + public static function getWidth($version) + { + return self::$capacity[$version][QRCAP_WIDTH]; + } + + //---------------------------------------------------------------------- + public static function getRemainder($version) + { + return self::$capacity[$version][QRCAP_REMINDER]; + } + + //---------------------------------------------------------------------- + public static function getMinimumVersion($size, $level) + { + + for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) { + $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level]; + if($words >= $size) + return $i; + } + + return -1; + } + + //###################################################################### + + public static $lengthTableBits = array( + array(10, 12, 14), + array( 9, 11, 13), + array( 8, 16, 16), + array( 8, 10, 12) + ); + + //---------------------------------------------------------------------- + public static function lengthIndicator($mode, $version) + { + if ($mode == QR_MODE_STRUCTURE) + return 0; + + if ($version <= 9) { + $l = 0; + } else if ($version <= 26) { + $l = 1; + } else { + $l = 2; + } + + return self::$lengthTableBits[$mode][$l]; + } + + //---------------------------------------------------------------------- + public static function maximumWords($mode, $version) + { + if($mode == QR_MODE_STRUCTURE) + return 3; + + if($version <= 9) { + $l = 0; + } else if($version <= 26) { + $l = 1; + } else { + $l = 2; + } + + $bits = self::$lengthTableBits[$mode][$l]; + $words = (1 << $bits) - 1; + + if($mode == QR_MODE_KANJI) { + $words *= 2; // the number of bytes is required + } + + return $words; + } + + // Error correction code ----------------------------------------------- + // Table of the error correction code (Reed-Solomon block) + // See Table 12-16 (pp.30-36), JIS X0510:2004. + + public static $eccTable = array( + array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), + array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), + array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), + array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 + array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), + array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), + array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), + array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), + array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10 + array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), + array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), + array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), + array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), + array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15 + array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), + array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), + array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), + array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), + array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20 + array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), + array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), + array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), + array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), + array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25 + array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), + array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), + array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), + array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), + array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30 + array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), + array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), + array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), + array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), + array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35 + array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), + array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), + array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), + array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), + array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40 + ); + + //---------------------------------------------------------------------- + // CACHEABLE!!! + + public static function getEccSpec($version, $level, array &$spec) + { + if (count($spec) < 5) { + $spec = array(0,0,0,0,0); + } + + $b1 = self::$eccTable[$version][$level][0]; + $b2 = self::$eccTable[$version][$level][1]; + $data = self::getDataLength($version, $level); + $ecc = self::getECCLength($version, $level); + + if($b2 == 0) { + $spec[0] = $b1; + $spec[1] = (int)($data / $b1); + $spec[2] = (int)($ecc / $b1); + $spec[3] = 0; + $spec[4] = 0; + } else { + $spec[0] = $b1; + $spec[1] = (int)($data / ($b1 + $b2)); + $spec[2] = (int)($ecc / ($b1 + $b2)); + $spec[3] = $b2; + $spec[4] = $spec[1] + 1; + } + } + + // Alignment pattern --------------------------------------------------- + + // Positions of alignment patterns. + // This array includes only the second and the third position of the + // alignment patterns. Rest of them can be calculated from the distance + // between them. + + // See Table 1 in Appendix E (pp.71) of JIS X0510:2004. + + public static $alignmentPattern = array( + array( 0, 0), + array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 + array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 + array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15 + array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20 + array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25 + array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30 + array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35 + array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40 + ); + + + /** -------------------------------------------------------------------- + * Put an alignment marker. + * @param frame + * @param width + * @param ox,oy center coordinate of the pattern + */ + public static function putAlignmentMarker(array &$frame, $ox, $oy) + { + $finder = array( + "\xa1\xa1\xa1\xa1\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa0\xa1\xa0\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa1\xa1\xa1\xa1" + ); + + $yStart = $oy-2; + $xStart = $ox-2; + + for($y=0; $y<5; $y++) { + QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]); + } + } + + //---------------------------------------------------------------------- + public static function putAlignmentPattern($version, &$frame, $width) + { + if($version < 2) + return; + + $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0]; + if($d < 0) { + $w = 2; + } else { + $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2); + } + + if($w * $w - 3 == 1) { + $x = self::$alignmentPattern[$version][0]; + $y = self::$alignmentPattern[$version][0]; + self::putAlignmentMarker($frame, $x, $y); + return; + } + + $cx = self::$alignmentPattern[$version][0]; + for($x=1; $x<$w - 1; $x++) { + self::putAlignmentMarker($frame, 6, $cx); + self::putAlignmentMarker($frame, $cx, 6); + $cx += $d; + } + + $cy = self::$alignmentPattern[$version][0]; + for($y=0; $y<$w-1; $y++) { + $cx = self::$alignmentPattern[$version][0]; + for($x=0; $x<$w-1; $x++) { + self::putAlignmentMarker($frame, $cx, $cy); + $cx += $d; + } + $cy += $d; + } + } + + // Version information pattern ----------------------------------------- + + // Version information pattern (BCH coded). + // See Table 1 in Appendix D (pp.68) of JIS X0510:2004. + + // size: [QRSPEC_VERSION_MAX - 6] + + public static $versionPattern = array( + 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, + 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, + 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, + 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, + 0x27541, 0x28c69 + ); + + //---------------------------------------------------------------------- + public static function getVersionPattern($version) + { + if($version < 7 || $version > QRSPEC_VERSION_MAX) + return 0; + + return self::$versionPattern[$version -7]; + } + + // Format information -------------------------------------------------- + // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib) + + public static $formatInfo = array( + array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), + array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), + array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), + array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) + ); + + public static function getFormatInfo($mask, $level) + { + if($mask < 0 || $mask > 7) + return 0; + + if($level < 0 || $level > 3) + return 0; + + return self::$formatInfo[$level][$mask]; + } + + // Frame --------------------------------------------------------------- + // Cache of initial frames. + + public static $frames = array(); + + /** -------------------------------------------------------------------- + * Put a finder pattern. + * @param frame + * @param width + * @param ox,oy upper-left coordinate of the pattern + */ + public static function putFinderPattern(&$frame, $ox, $oy) + { + $finder = array( + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" + ); + + for($y=0; $y<7; $y++) { + QRstr::set($frame, $ox, $oy+$y, $finder[$y]); + } + } + + //---------------------------------------------------------------------- + public static function createFrame($version) + { + $width = self::$capacity[$version][QRCAP_WIDTH]; + $frameLine = str_repeat ("\0", $width); + $frame = array_fill(0, $width, $frameLine); + + // Finder pattern + self::putFinderPattern($frame, 0, 0); + self::putFinderPattern($frame, $width - 7, 0); + self::putFinderPattern($frame, 0, $width - 7); + + // Separator + $yOffset = $width - 7; + + for($y=0; $y<7; $y++) { + $frame[$y][7] = "\xc0"; + $frame[$y][$width - 8] = "\xc0"; + $frame[$yOffset][7] = "\xc0"; + $yOffset++; + } + + $setPattern = str_repeat("\xc0", 8); + + QRstr::set($frame, 0, 7, $setPattern); + QRstr::set($frame, $width-8, 7, $setPattern); + QRstr::set($frame, 0, $width - 8, $setPattern); + + // Format info + $setPattern = str_repeat("\x84", 9); + QRstr::set($frame, 0, 8, $setPattern); + QRstr::set($frame, $width - 8, 8, $setPattern, 8); + + $yOffset = $width - 8; + + for($y=0; $y<8; $y++,$yOffset++) { + $frame[$y][8] = "\x84"; + $frame[$yOffset][8] = "\x84"; + } + + // Timing pattern + + for($i=1; $i<$width-15; $i++) { + $frame[6][7+$i] = chr(0x90 | ($i & 1)); + $frame[7+$i][6] = chr(0x90 | ($i & 1)); + } + + // Alignment pattern + self::putAlignmentPattern($version, $frame, $width); + + // Version information + if($version >= 7) { + $vinf = self::getVersionPattern($version); + + $v = $vinf; + + for($x=0; $x<6; $x++) { + for($y=0; $y<3; $y++) { + $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + + $v = $vinf; + for($y=0; $y<6; $y++) { + for($x=0; $x<3; $x++) { + $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + } + + // and a little bit... + $frame[$width - 8][8] = "\x81"; + + return $frame; + } + + //---------------------------------------------------------------------- + public static function debug($frame, $binary_mode = false) + { + if ($binary_mode) { + + foreach ($frame as &$frameLine) { + $frameLine = join('  ', explode('0', $frameLine)); + $frameLine = join('██', explode('1', $frameLine)); + } + + ?> + +


            '; + echo join("
            ", $frame); + echo '






    '; + + } else { + + foreach ($frame as &$frameLine) { + $frameLine = join(' ', explode("\xc0", $frameLine)); + $frameLine = join('', explode("\xc1", $frameLine)); + $frameLine = join(' ', explode("\xa0", $frameLine)); + $frameLine = join('', explode("\xa1", $frameLine)); + $frameLine = join('', explode("\x84", $frameLine)); //format 0 + $frameLine = join('', explode("\x85", $frameLine)); //format 1 + $frameLine = join('', explode("\x81", $frameLine)); //special bit + $frameLine = join(' ', explode("\x90", $frameLine)); //clock 0 + $frameLine = join('', explode("\x91", $frameLine)); //clock 1 + $frameLine = join(' ', explode("\x88", $frameLine)); //version + $frameLine = join('', explode("\x89", $frameLine)); //version + $frameLine = join('♦', explode("\x01", $frameLine)); + $frameLine = join('⋅', explode("\0", $frameLine)); + } + + ?> + + "; + echo join("
    ", $frame); + echo "
    "; + + } + } + + //---------------------------------------------------------------------- + public static function serial($frame) + { + return gzcompress(join("\n", $frame), 9); + } + + //---------------------------------------------------------------------- + public static function unserial($code) + { + return explode("\n", gzuncompress($code)); + } + + //---------------------------------------------------------------------- + public static function newFrame($version) + { + if($version < 1 || $version > QRSPEC_VERSION_MAX) + return null; + + if(!isset(self::$frames[$version])) { + + $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat'; + + if (QR_CACHEABLE) { + if (file_exists($fileName)) { + self::$frames[$version] = self::unserial(file_get_contents($fileName)); + } else { + self::$frames[$version] = self::createFrame($version); + file_put_contents($fileName, self::serial(self::$frames[$version])); + } + } else { + self::$frames[$version] = self::createFrame($version); + } + } + + if(is_null(self::$frames[$version])) + return null; + + return self::$frames[$version]; + } + + //---------------------------------------------------------------------- + public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; } + public static function rsBlockNum1($spec) { return $spec[0]; } + public static function rsDataCodes1($spec) { return $spec[1]; } + public static function rsEccCodes1($spec) { return $spec[2]; } + public static function rsBlockNum2($spec) { return $spec[3]; } + public static function rsDataCodes2($spec) { return $spec[4]; } + public static function rsEccCodes2($spec) { return $spec[2]; } + public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); } + public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; } + + } + + + +//---- qrimage.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Image output of code using GD2 + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('QR_IMAGE', true); + + class QRimage { + + //---------------------------------------------------------------------- + public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $back_color, $fore_color) + { + $image = self::image($frame, $pixelPerPoint, $outerFrame, $back_color, $fore_color); + + if ($filename === false) { + Header("Content-type: image/png"); + ImagePng($image); + } else { + if($saveandprint===TRUE){ + ImagePng($image, $filename); + header("Content-type: image/png"); + ImagePng($image); + }else{ + ImagePng($image, $filename); + } + } + + ImageDestroy($image); + } + + //---------------------------------------------------------------------- + public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85) + { + $image = self::image($frame, $pixelPerPoint, $outerFrame); + + if ($filename === false) { + Header("Content-type: image/jpeg"); + ImageJpeg($image, null, $q); + } else { + ImageJpeg($image, $filename, $q); + } + + ImageDestroy($image); + } + + //---------------------------------------------------------------------- + private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $h = count($frame); + $w = strlen($frame[0]); + + $imgW = $w + 2*$outerFrame; + $imgH = $h + 2*$outerFrame; + + $base_image =ImageCreate($imgW, $imgH); + + // convert a hexadecimal color code into decimal format (red = 255 0 0, green = 0 255 0, blue = 0 0 255) + $r1 = round((($fore_color & 0xFF0000) >> 16), 5); + $g1 = round((($fore_color & 0x00FF00) >> 8), 5); + $b1 = round(($fore_color & 0x0000FF), 5); + + // convert a hexadecimal color code into decimal format (red = 255 0 0, green = 0 255 0, blue = 0 0 255) + $r2 = round((($back_color & 0xFF0000) >> 16), 5); + $g2 = round((($back_color & 0x00FF00) >> 8), 5); + $b2 = round(($back_color & 0x0000FF), 5); + + + + $col[0] = ImageColorAllocate($base_image, $r2, $g2, $b2); + $col[1] = ImageColorAllocate($base_image, $r1, $g1, $b1); + + imagefill($base_image, 0, 0, $col[0]); + + for($y=0; $y<$h; $y++) { + for($x=0; $x<$w; $x++) { + if ($frame[$y][$x] == '1') { + ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]); + } + } + } + + $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint); + ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH); + ImageDestroy($base_image); + + return $target_image; + } + } + + + + +//---- qrinput.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Input encoding class + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('STRUCTURE_HEADER_BITS', 20); + define('MAX_STRUCTURED_SYMBOLS', 16); + + class QRinputItem { + + public $mode; + public $size; + public $data; + public $bstream; + + public function __construct($mode, $size, $data, $bstream = null) + { + $setData = array_slice($data, 0, $size); + + if (count($setData) < $size) { + $setData = array_merge($setData, array_fill(0,$size-count($setData),0)); + } + + if(!QRinput::check($mode, $size, $setData)) { + throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData)); + } + + $this->mode = $mode; + $this->size = $size; + $this->data = $setData; + $this->bstream = $bstream; + } + + //---------------------------------------------------------------------- + public function encodeModeNum($version) + { + try { + + $words = (int)($this->size / 3); + $bs = new QRbitstream(); + + $val = 0x1; + $bs->appendNum(4, $val); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size); + + for($i=0; $i<$words; $i++) { + $val = (ord($this->data[$i*3 ]) - ord('0')) * 100; + $val += (ord($this->data[$i*3+1]) - ord('0')) * 10; + $val += (ord($this->data[$i*3+2]) - ord('0')); + $bs->appendNum(10, $val); + } + + if($this->size - $words * 3 == 1) { + $val = ord($this->data[$words*3]) - ord('0'); + $bs->appendNum(4, $val); + } else if($this->size - $words * 3 == 2) { + $val = (ord($this->data[$words*3 ]) - ord('0')) * 10; + $val += (ord($this->data[$words*3+1]) - ord('0')); + $bs->appendNum(7, $val); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeModeAn($version) + { + try { + $words = (int)($this->size / 2); + $bs = new QRbitstream(); + + $bs->appendNum(4, 0x02); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size); + + for($i=0; $i<$words; $i++) { + $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45; + $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1])); + + $bs->appendNum(11, $val); + } + + if($this->size & 1) { + $val = QRinput::lookAnTable(ord($this->data[$words * 2])); + $bs->appendNum(6, $val); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeMode8($version) + { + try { + $bs = new QRbitstream(); + + $bs->appendNum(4, 0x4); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size); + + for($i=0; $i<$this->size; $i++) { + $bs->appendNum(8, ord($this->data[$i])); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeModeKanji($version) + { + try { + + $bs = new QRbitrtream(); + + $bs->appendNum(4, 0x8); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2)); + + for($i=0; $i<$this->size; $i+=2) { + $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]); + if($val <= 0x9ffc) { + $val -= 0x8140; + } else { + $val -= 0xc140; + } + + $h = ($val >> 8) * 0xc0; + $val = ($val & 0xff) + $h; + + $bs->appendNum(13, $val); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeModeStructure() + { + try { + $bs = new QRbitstream(); + + $bs->appendNum(4, 0x03); + $bs->appendNum(4, ord($this->data[1]) - 1); + $bs->appendNum(4, ord($this->data[0]) - 1); + $bs->appendNum(8, ord($this->data[2])); + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function estimateBitStreamSizeOfEntry($version) + { + $bits = 0; + + if($version == 0) + $version = 1; + + switch($this->mode) { + case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break; + case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break; + case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break; + case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break; + case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS; + default: + return 0; + } + + $l = QRspec::lengthIndicator($this->mode, $version); + $m = 1 << $l; + $num = (int)(($this->size + $m - 1) / $m); + + $bits += $num * (4 + $l); + + return $bits; + } + + //---------------------------------------------------------------------- + public function encodeBitStream($version) + { + try { + + unset($this->bstream); + $words = QRspec::maximumWords($this->mode, $version); + + if($this->size > $words) { + + $st1 = new QRinputItem($this->mode, $words, $this->data); + $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words)); + + $st1->encodeBitStream($version); + $st2->encodeBitStream($version); + + $this->bstream = new QRbitstream(); + $this->bstream->append($st1->bstream); + $this->bstream->append($st2->bstream); + + unset($st1); + unset($st2); + + } else { + + $ret = 0; + + switch($this->mode) { + case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break; + case QR_MODE_AN: $ret = $this->encodeModeAn($version); break; + case QR_MODE_8: $ret = $this->encodeMode8($version); break; + case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break; + case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break; + + default: + break; + } + + if($ret < 0) + return -1; + } + + return $this->bstream->size(); + + } catch (Exception $e) { + return -1; + } + } + }; + + //########################################################################## + + class QRinput { + + public $items; + + private $version; + private $level; + + //---------------------------------------------------------------------- + public function __construct($version = 0, $level = QR_ECLEVEL_L) + { + if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) { + throw new Exception('Invalid version no'); + } + + $this->version = $version; + $this->level = $level; + } + + //---------------------------------------------------------------------- + public function getVersion() + { + return $this->version; + } + + //---------------------------------------------------------------------- + public function setVersion($version) + { + if($version < 0 || $version > QRSPEC_VERSION_MAX) { + throw new Exception('Invalid version no'); + return -1; + } + + $this->version = $version; + + return 0; + } + + //---------------------------------------------------------------------- + public function getErrorCorrectionLevel() + { + return $this->level; + } + + //---------------------------------------------------------------------- + public function setErrorCorrectionLevel($level) + { + if($level > QR_ECLEVEL_H) { + throw new Exception('Invalid ECLEVEL'); + return -1; + } + + $this->level = $level; + + return 0; + } + + //---------------------------------------------------------------------- + public function appendEntry(QRinputItem $entry) + { + $this->items[] = $entry; + } + + //---------------------------------------------------------------------- + public function append($mode, $size, $data) + { + try { + $entry = new QRinputItem($mode, $size, $data); + $this->items[] = $entry; + return 0; + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + + public function insertStructuredAppendHeader($size, $index, $parity) + { + if( $size > MAX_STRUCTURED_SYMBOLS ) { + throw new Exception('insertStructuredAppendHeader wrong size'); + } + + if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) { + throw new Exception('insertStructuredAppendHeader wrong index'); + } + + $buf = array($size, $index, $parity); + + try { + $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf); + array_unshift($this->items, $entry); + return 0; + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function calcParity() + { + $parity = 0; + + foreach($this->items as $item) { + if($item->mode != QR_MODE_STRUCTURE) { + for($i=$item->size-1; $i>=0; $i--) { + $parity ^= $item->data[$i]; + } + } + } + + return $parity; + } + + //---------------------------------------------------------------------- + public static function checkModeNum($size, $data) + { + for($i=0; $i<$size; $i++) { + if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){ + return false; + } + } + + return true; + } + + //---------------------------------------------------------------------- + public static function estimateBitsModeNum($size) + { + $w = (int)$size / 3; + $bits = $w * 10; + + switch($size - $w * 3) { + case 1: + $bits += 4; + break; + case 2: + $bits += 7; + break; + default: + break; + } + + return $bits; + } + + //---------------------------------------------------------------------- + public static $anTable = array( + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, + -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + ); + + //---------------------------------------------------------------------- + public static function lookAnTable($c) + { + return (($c > 127)?-1:self::$anTable[$c]); + } + + //---------------------------------------------------------------------- + public static function checkModeAn($size, $data) + { + for($i=0; $i<$size; $i++) { + if (self::lookAnTable(ord($data[$i])) == -1) { + return false; + } + } + + return true; + } + + //---------------------------------------------------------------------- + public static function estimateBitsModeAn($size) + { + $w = (int)($size / 2); + $bits = $w * 11; + + if($size & 1) { + $bits += 6; + } + + return $bits; + } + + //---------------------------------------------------------------------- + public static function estimateBitsMode8($size) + { + return $size * 8; + } + + //---------------------------------------------------------------------- + public function estimateBitsModeKanji($size) + { + return (int)(($size / 2) * 13); + } + + //---------------------------------------------------------------------- + public static function checkModeKanji($size, $data) + { + if($size & 1) + return false; + + for($i=0; $i<$size; $i+=2) { + $val = (ord($data[$i]) << 8) | ord($data[$i+1]); + if( $val < 0x8140 + || ($val > 0x9ffc && $val < 0xe040) + || $val > 0xebbf) { + return false; + } + } + + return true; + } + + /*********************************************************************** + * Validation + **********************************************************************/ + + public static function check($mode, $size, $data) + { + if($size <= 0) + return false; + + switch($mode) { + case QR_MODE_NUM: return self::checkModeNum($size, $data); break; + case QR_MODE_AN: return self::checkModeAn($size, $data); break; + case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break; + case QR_MODE_8: return true; break; + case QR_MODE_STRUCTURE: return true; break; + + default: + break; + } + + return false; + } + + + //---------------------------------------------------------------------- + public function estimateBitStreamSize($version) + { + $bits = 0; + + foreach($this->items as $item) { + $bits += $item->estimateBitStreamSizeOfEntry($version); + } + + return $bits; + } + + //---------------------------------------------------------------------- + public function estimateVersion() + { + $version = 0; + $prev = 0; + do { + $prev = $version; + $bits = $this->estimateBitStreamSize($prev); + $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if ($version < 0) { + return -1; + } + } while ($version > $prev); + + return $version; + } + + //---------------------------------------------------------------------- + public static function lengthOfCode($mode, $version, $bits) + { + $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version); + switch($mode) { + case QR_MODE_NUM: + $chunks = (int)($payload / 10); + $remain = $payload - $chunks * 10; + $size = $chunks * 3; + if($remain >= 7) { + $size += 2; + } else if($remain >= 4) { + $size += 1; + } + break; + case QR_MODE_AN: + $chunks = (int)($payload / 11); + $remain = $payload - $chunks * 11; + $size = $chunks * 2; + if($remain >= 6) + $size++; + break; + case QR_MODE_8: + $size = (int)($payload / 8); + break; + case QR_MODE_KANJI: + $size = (int)(($payload / 13) * 2); + break; + case QR_MODE_STRUCTURE: + $size = (int)($payload / 8); + break; + default: + $size = 0; + break; + } + + $maxsize = QRspec::maximumWords($mode, $version); + if($size < 0) $size = 0; + if($size > $maxsize) $size = $maxsize; + + return $size; + } + + //---------------------------------------------------------------------- + public function createBitStream() + { + $total = 0; + + foreach($this->items as $item) { + $bits = $item->encodeBitStream($this->version); + + if($bits < 0) + return -1; + + $total += $bits; + } + + return $total; + } + + //---------------------------------------------------------------------- + public function convertData() + { + $ver = $this->estimateVersion(); + if($ver > $this->getVersion()) { + $this->setVersion($ver); + } + + for(;;) { + $bits = $this->createBitStream(); + + if($bits < 0) + return -1; + + $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if($ver < 0) { + throw new Exception('WRONG VERSION'); + } else if($ver > $this->getVersion()) { + $this->setVersion($ver); + } else { + break; + } + } + + return 0; + } + + //---------------------------------------------------------------------- + public function appendPaddingBit(&$bstream) + { + $bits = $bstream->size(); + $maxwords = QRspec::getDataLength($this->version, $this->level); + $maxbits = $maxwords * 8; + + if ($maxbits == $bits) { + return 0; + } + + if ($maxbits - $bits < 5) { + return $bstream->appendNum($maxbits - $bits, 0); + } + + $bits += 4; + $words = (int)(($bits + 7) / 8); + + $padding = new QRbitstream(); + $ret = $padding->appendNum($words * 8 - $bits + 4, 0); + + if($ret < 0) + return $ret; + + $padlen = $maxwords - $words; + + if($padlen > 0) { + + $padbuf = array(); + for($i=0; $i<$padlen; $i++) { + $padbuf[$i] = ($i&1)?0x11:0xec; + } + + $ret = $padding->appendBytes($padlen, $padbuf); + + if($ret < 0) + return $ret; + + } + + $ret = $bstream->append($padding); + + return $ret; + } + + //---------------------------------------------------------------------- + public function mergeBitStream() + { + if($this->convertData() < 0) { + return null; + } + + $bstream = new QRbitstream(); + + foreach($this->items as $item) { + $ret = $bstream->append($item->bstream); + if($ret < 0) { + return null; + } + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public function getBitStream() + { + + $bstream = $this->mergeBitStream(); + + if($bstream == null) { + return null; + } + + $ret = $this->appendPaddingBit($bstream); + if($ret < 0) { + return null; + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public function getByteStream() + { + $bstream = $this->getBitStream(); + if($bstream == null) { + return null; + } + + return $bstream->toByte(); + } + } + + + + + + +//---- qrbitstream.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Bitstream class + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRbitstream { + + public $data = array(); + + //---------------------------------------------------------------------- + public function size() + { + return count($this->data); + } + + //---------------------------------------------------------------------- + public function allocate($setLength) + { + $this->data = array_fill(0, $setLength, 0); + return 0; + } + + //---------------------------------------------------------------------- + public static function newFromNum($bits, $num) + { + $bstream = new QRbitstream(); + $bstream->allocate($bits); + + $mask = 1 << ($bits - 1); + for($i=0; $i<$bits; $i++) { + if($num & $mask) { + $bstream->data[$i] = 1; + } else { + $bstream->data[$i] = 0; + } + $mask = $mask >> 1; + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public static function newFromBytes($size, $data) + { + $bstream = new QRbitstream(); + $bstream->allocate($size * 8); + $p=0; + + for($i=0; $i<$size; $i++) { + $mask = 0x80; + for($j=0; $j<8; $j++) { + if($data[$i] & $mask) { + $bstream->data[$p] = 1; + } else { + $bstream->data[$p] = 0; + } + $p++; + $mask = $mask >> 1; + } + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public function append(QRbitstream $arg) + { + if (is_null($arg)) { + return -1; + } + + if($arg->size() == 0) { + return 0; + } + + if($this->size() == 0) { + $this->data = $arg->data; + return 0; + } + + $this->data = array_values(array_merge($this->data, $arg->data)); + + return 0; + } + + //---------------------------------------------------------------------- + public function appendNum($bits, $num) + { + if ($bits == 0) + return 0; + + $b = QRbitstream::newFromNum($bits, $num); + + if(is_null($b)) + return -1; + + $ret = $this->append($b); + unset($b); + + return $ret; + } + + //---------------------------------------------------------------------- + public function appendBytes($size, $data) + { + if ($size == 0) + return 0; + + $b = QRbitstream::newFromBytes($size, $data); + + if(is_null($b)) + return -1; + + $ret = $this->append($b); + unset($b); + + return $ret; + } + + //---------------------------------------------------------------------- + public function toByte() + { + + $size = $this->size(); + + if($size == 0) { + return array(); + } + + $data = array_fill(0, (int)(($size + 7) / 8), 0); + $bytes = (int)($size / 8); + + $p = 0; + + for($i=0; $i<$bytes; $i++) { + $v = 0; + for($j=0; $j<8; $j++) { + $v = $v << 1; + $v |= $this->data[$p]; + $p++; + } + $data[$i] = $v; + } + + if($size & 7) { + $v = 0; + for($j=0; $j<($size & 7); $j++) { + $v = $v << 1; + $v |= $this->data[$p]; + $p++; + } + $data[$bytes] = $v; + } + + return $data; + } + + } + + + + +//---- qrsplit.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Input splitting classes + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * The following data / specifications are taken from + * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) + * or + * "Automatic identification and data capture techniques -- + * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + class QRsplit { + + public $dataStr = ''; + public $input; + public $modeHint; + + //---------------------------------------------------------------------- + public function __construct($dataStr, $input, $modeHint) + { + $this->dataStr = $dataStr; + $this->input = $input; + $this->modeHint = $modeHint; + } + + //---------------------------------------------------------------------- + public static function isdigitat($str, $pos) + { + if ($pos >= strlen($str)) + return false; + + return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); + } + + //---------------------------------------------------------------------- + public static function isalnumat($str, $pos) + { + if ($pos >= strlen($str)) + return false; + + return (QRinput::lookAnTable(ord($str[$pos])) >= 0); + } + + //---------------------------------------------------------------------- + public function identifyMode($pos) + { + if ($pos >= strlen($this->dataStr)) + return QR_MODE_NUL; + + $c = $this->dataStr[$pos]; + + if(self::isdigitat($this->dataStr, $pos)) { + return QR_MODE_NUM; + } else if(self::isalnumat($this->dataStr, $pos)) { + return QR_MODE_AN; + } else if($this->modeHint == QR_MODE_KANJI) { + + if ($pos+1 < strlen($this->dataStr)) + { + $d = $this->dataStr[$pos+1]; + $word = (ord($c) << 8) | ord($d); + if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) { + return QR_MODE_KANJI; + } + } + } + + return QR_MODE_8; + } + + //---------------------------------------------------------------------- + public function eatNum() + { + $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); + + $p = 0; + while(self::isdigitat($this->dataStr, $p)) { + $p++; + } + + $run = $p; + $mode = $this->identifyMode($p); + + if($mode == QR_MODE_8) { + $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln + + QRinput::estimateBitsMode8(1) // + 4 + l8 + - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 + if($dif > 0) { + return $this->eat8(); + } + } + if($mode == QR_MODE_AN) { + $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln + + QRinput::estimateBitsModeAn(1) // + 4 + la + - QRinput::estimateBitsModeAn($run + 1);// - 4 - la + if($dif > 0) { + return $this->eatAn(); + } + } + + $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr)); + if($ret < 0) + return -1; + + return $run; + } + + //---------------------------------------------------------------------- + public function eatAn() + { + $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); + $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); + + $p = 0; + + while(self::isalnumat($this->dataStr, $p)) { + if(self::isdigitat($this->dataStr, $p)) { + $q = $p; + while(self::isdigitat($this->dataStr, $q)) { + $q++; + } + + $dif = QRinput::estimateBitsModeAn($p) // + 4 + la + + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln + - QRinput::estimateBitsModeAn($q); // - 4 - la + + if($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + + $run = $p; + + if(!self::isalnumat($this->dataStr, $p)) { + $dif = QRinput::estimateBitsModeAn($run) + 4 + $la + + QRinput::estimateBitsMode8(1) // + 4 + l8 + - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 + if($dif > 0) { + return $this->eat8(); + } + } + + $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr)); + if($ret < 0) + return -1; + + return $run; + } + + //---------------------------------------------------------------------- + public function eatKanji() + { + $p = 0; + + while($this->identifyMode($p) == QR_MODE_KANJI) { + $p += 2; + } + + $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr)); + if($ret < 0) + return -1; + + return $ret; + } + + //---------------------------------------------------------------------- + public function eat8() + { + $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); + $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); + + $p = 1; + $dataStrLen = strlen($this->dataStr); + + while($p < $dataStrLen) { + + $mode = $this->identifyMode($p); + if($mode == QR_MODE_KANJI) { + break; + } + if($mode == QR_MODE_NUM) { + $q = $p; + while(self::isdigitat($this->dataStr, $q)) { + $q++; + } + $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 + + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln + - QRinput::estimateBitsMode8($q); // - 4 - l8 + if($dif < 0) { + break; + } else { + $p = $q; + } + } else if($mode == QR_MODE_AN) { + $q = $p; + while(self::isalnumat($this->dataStr, $q)) { + $q++; + } + $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 + + QRinput::estimateBitsModeAn($q - $p) + 4 + $la + - QRinput::estimateBitsMode8($q); // - 4 - l8 + if($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + + $run = $p; + $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr)); + + if($ret < 0) + return -1; + + return $run; + } + + //---------------------------------------------------------------------- + public function splitString() + { + while (strlen($this->dataStr) > 0) + { + if($this->dataStr == '') + return 0; + + $mode = $this->identifyMode(0); + + switch ($mode) { + case QR_MODE_NUM: $length = $this->eatNum(); break; + case QR_MODE_AN: $length = $this->eatAn(); break; + case QR_MODE_KANJI: + if ($mode == QR_MODE_KANJI) + $length = $this->eatKanji(); + else $length = $this->eat8(); + break; + default: $length = $this->eat8(); break; + + } + + if($length == 0) return 0; + if($length < 0) return -1; + + $this->dataStr = substr($this->dataStr, $length); + } + } + + //---------------------------------------------------------------------- + public function toUpper() + { + $stringLen = strlen($this->dataStr); + $p = 0; + + while ($p<$stringLen) { + $mode = self::identifyMode(substr($this->dataStr, $p)); + if($mode == QR_MODE_KANJI) { + $p += 2; + } else { + if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) { + $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); + } + $p++; + } + } + + return $this->dataStr; + } + + //---------------------------------------------------------------------- + public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true) + { + if(is_null($string) || $string == '\0' || $string == '') { + throw new Exception('empty string!!!'); + } + + $split = new QRsplit($string, $input, $modeHint); + + if(!$casesensitive) + $split->toUpper(); + + return $split->splitString(); + } + } + + + +//---- qrrscode.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Reed-Solomon error correction support + * + * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q + * (libfec is released under the GNU Lesser General Public License.) + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRrsItem { + + public $mm; // Bits per symbol + public $nn; // Symbols per block (= (1<= $this->nn) { + $x -= $this->nn; + $x = ($x >> $this->mm) + ($x & $this->nn); + } + + return $x; + } + + //---------------------------------------------------------------------- + public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) + { + // Common code for intializing a Reed-Solomon control block (char or int symbols) + // Copyright 2004 Phil Karn, KA9Q + // May be used under the terms of the GNU Lesser General Public License (LGPL) + + $rs = null; + + // Check parameter ranges + if($symsize < 0 || $symsize > 8) return $rs; + if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs; + if($prim <= 0 || $prim >= (1<<$symsize)) return $rs; + if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values! + if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding + + $rs = new QRrsItem(); + $rs->mm = $symsize; + $rs->nn = (1<<$symsize)-1; + $rs->pad = $pad; + + $rs->alpha_to = array_fill(0, $rs->nn+1, 0); + $rs->index_of = array_fill(0, $rs->nn+1, 0); + + // PHP style macro replacement ;) + $NN =& $rs->nn; + $A0 =& $NN; + + // Generate Galois field lookup tables + $rs->index_of[0] = $A0; // log(zero) = -inf + $rs->alpha_to[$A0] = 0; // alpha**-inf = 0 + $sr = 1; + + for($i=0; $i<$rs->nn; $i++) { + $rs->index_of[$sr] = $i; + $rs->alpha_to[$i] = $sr; + $sr <<= 1; + if($sr & (1<<$symsize)) { + $sr ^= $gfpoly; + } + $sr &= $rs->nn; + } + + if($sr != 1){ + // field generator polynomial is not primitive! + $rs = NULL; + return $rs; + } + + /* Form RS code generator polynomial from its roots */ + $rs->genpoly = array_fill(0, $nroots+1, 0); + + $rs->fcr = $fcr; + $rs->prim = $prim; + $rs->nroots = $nroots; + $rs->gfpoly = $gfpoly; + + /* Find prim-th root of 1, used in decoding */ + for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn) + ; // intentional empty-body loop! + + $rs->iprim = (int)($iprim / $prim); + $rs->genpoly[0] = 1; + + for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { + $rs->genpoly[$i+1] = 1; + + // Multiply rs->genpoly[] by @**(root + x) + for ($j = $i; $j > 0; $j--) { + if ($rs->genpoly[$j] != 0) { + $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)]; + } else { + $rs->genpoly[$j] = $rs->genpoly[$j-1]; + } + } + // rs->genpoly[0] can never be zero + $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)]; + } + + // convert rs->genpoly[] to index form for quicker encoding + for ($i = 0; $i <= $nroots; $i++) + $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]]; + + return $rs; + } + + //---------------------------------------------------------------------- + public function encode_rs_char($data, &$parity) + { + $MM =& $this->mm; + $NN =& $this->nn; + $ALPHA_TO =& $this->alpha_to; + $INDEX_OF =& $this->index_of; + $GENPOLY =& $this->genpoly; + $NROOTS =& $this->nroots; + $FCR =& $this->fcr; + $PRIM =& $this->prim; + $IPRIM =& $this->iprim; + $PAD =& $this->pad; + $A0 =& $NN; + + $parity = array_fill(0, $NROOTS, 0); + + for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) { + + $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; + if($feedback != $A0) { + // feedback term is non-zero + + // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must + // always be for the polynomials constructed by init_rs() + $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback); + + for($j=1;$j<$NROOTS;$j++) { + $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])]; + } + } + + // Shift + array_shift($parity); + if($feedback != $A0) { + array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]); + } else { + array_push($parity, 0); + } + } + } + } + + //########################################################################## + + class QRrs { + + public static $items = array(); + + //---------------------------------------------------------------------- + public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) + { + foreach(self::$items as $rs) { + if($rs->pad != $pad) continue; + if($rs->nroots != $nroots) continue; + if($rs->mm != $symsize) continue; + if($rs->gfpoly != $gfpoly) continue; + if($rs->fcr != $fcr) continue; + if($rs->prim != $prim) continue; + + return $rs; + } + + $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); + array_unshift(self::$items, $rs); + + return $rs; + } + } + + + +//---- qrmask.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Masking + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('N1', 3); + define('N2', 3); + define('N3', 40); + define('N4', 10); + + class QRmask { + + public $runLength = array(); + + //---------------------------------------------------------------------- + public function __construct() + { + $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); + } + + //---------------------------------------------------------------------- + public function writeFormatInformation($width, &$frame, $mask, $level) + { + $blacks = 0; + $format = QRspec::getFormatInfo($mask, $level); + + for($i=0; $i<8; $i++) { + if($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + + $frame[8][$width - 1 - $i] = chr($v); + if($i < 6) { + $frame[$i][8] = chr($v); + } else { + $frame[$i + 1][8] = chr($v); + } + $format = $format >> 1; + } + + for($i=0; $i<7; $i++) { + if($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + + $frame[$width - 7 + $i][8] = chr($v); + if($i == 0) { + $frame[8][7] = chr($v); + } else { + $frame[8][6 - $i] = chr($v); + } + + $format = $format >> 1; + } + + return $blacks; + } + + //---------------------------------------------------------------------- + public function mask0($x, $y) { return ($x+$y)&1; } + public function mask1($x, $y) { return ($y&1); } + public function mask2($x, $y) { return ($x%3); } + public function mask3($x, $y) { return ($x+$y)%3; } + public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; } + public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; } + public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; } + public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; } + + //---------------------------------------------------------------------- + private function generateMaskNo($maskNo, $width, $frame) + { + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + + for($y=0; $y<$width; $y++) { + for($x=0; $x<$width; $x++) { + if(ord($frame[$y][$x]) & 0x80) { + $bitMask[$y][$x] = 0; + } else { + $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); + $bitMask[$y][$x] = ($maskFunc == 0)?1:0; + } + + } + } + + return $bitMask; + } + + //---------------------------------------------------------------------- + public static function serial($bitFrame) + { + $codeArr = array(); + + foreach ($bitFrame as $line) + $codeArr[] = join('', $line); + + return gzcompress(join("\n", $codeArr), 9); + } + + //---------------------------------------------------------------------- + public static function unserial($code) + { + $codeArr = array(); + + $codeLines = explode("\n", gzuncompress($code)); + foreach ($codeLines as $line) + $codeArr[] = str_split($line); + + return $codeArr; + } + + //---------------------------------------------------------------------- + public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false) + { + $b = 0; + $bitMask = array(); + + $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat'; + + if (QR_CACHEABLE) { + if (file_exists($fileName)) { + $bitMask = self::unserial(file_get_contents($fileName)); + } else { + $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); + if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo)) + mkdir(QR_CACHE_DIR.'mask_'.$maskNo); + file_put_contents($fileName, self::serial($bitMask)); + } + } else { + $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); + } + + if ($maskGenOnly) + return; + + $d = $s; + + for($y=0; $y<$width; $y++) { + for($x=0; $x<$width; $x++) { + if($bitMask[$y][$x] == 1) { + $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); + } + $b += (int)(ord($d[$y][$x]) & 1); + } + } + + return $b; + } + + //---------------------------------------------------------------------- + public function makeMask($width, $frame, $maskNo, $level) + { + $masked = array_fill(0, $width, str_repeat("\0", $width)); + $this->makeMaskNo($maskNo, $width, $frame, $masked); + $this->writeFormatInformation($width, $masked, $maskNo, $level); + + return $masked; + } + + //---------------------------------------------------------------------- + public function calcN1N3($length) + { + $demerit = 0; + + for($i=0; $i<$length; $i++) { + + if($this->runLength[$i] >= 5) { + $demerit += (N1 + ($this->runLength[$i] - 5)); + } + if($i & 1) { + if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) { + $fact = (int)($this->runLength[$i] / 3); + if(($this->runLength[$i-2] == $fact) && + ($this->runLength[$i-1] == $fact) && + ($this->runLength[$i+1] == $fact) && + ($this->runLength[$i+2] == $fact)) { + if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) { + $demerit += N3; + } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) { + $demerit += N3; + } + } + } + } + } + return $demerit; + } + + //---------------------------------------------------------------------- + public function evaluateSymbol($width, $frame) + { + $head = 0; + $demerit = 0; + + for($y=0; $y<$width; $y++) { + $head = 0; + $this->runLength[0] = 1; + + $frameY = $frame[$y]; + + if ($y>0) + $frameYM = $frame[$y-1]; + + for($x=0; $x<$width; $x++) { + if(($x > 0) && ($y > 0)) { + $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); + $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); + + if(($b22 | ($w22 ^ 1))&1) { + $demerit += N2; + } + } + if(($x == 0) && (ord($frameY[$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } else if($x > 0) { + if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + + $demerit += $this->calcN1N3($head+1); + } + + for($x=0; $x<$width; $x++) { + $head = 0; + $this->runLength[0] = 1; + + for($y=0; $y<$width; $y++) { + if($y == 0 && (ord($frame[$y][$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } else if($y > 0) { + if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + + $demerit += $this->calcN1N3($head+1); + } + + return $demerit; + } + + + //---------------------------------------------------------------------- + public function mask($width, $frame, $level) + { + $minDemerit = PHP_INT_MAX; + $bestMaskNum = 0; + $bestMask = array(); + + $checked_masks = array(0,1,2,3,4,5,6,7); + + if (QR_FIND_FROM_RANDOM !== false) { + + $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9); + for ($i = 0; $i < $howManuOut; $i++) { + $remPos = rand (0, count($checked_masks)-1); + unset($checked_masks[$remPos]); + $checked_masks = array_values($checked_masks); + } + + } + + $bestMask = $frame; + + foreach($checked_masks as $i) { + $mask = array_fill(0, $width, str_repeat("\0", $width)); + + $demerit = 0; + $blacks = 0; + $blacks = $this->makeMaskNo($i, $width, $frame, $mask); + $blacks += $this->writeFormatInformation($width, $mask, $i, $level); + $blacks = (int)(100 * $blacks / ($width * $width)); + $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); + $demerit += $this->evaluateSymbol($width, $mask); + + if($demerit < $minDemerit) { + $minDemerit = $demerit; + $bestMask = $mask; + $bestMaskNum = $i; + } + } + + return $bestMask; + } + + //---------------------------------------------------------------------- + } + + + + +//---- qrencode.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Main encoder classes. + * + * Based on libqrencode C library distributed under LGPL 2.1 + * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRrsblock { + public $dataLength; + public $data = array(); + public $eccLength; + public $ecc = array(); + + public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs) + { + $rs->encode_rs_char($data, $ecc); + + $this->dataLength = $dl; + $this->data = $data; + $this->eccLength = $el; + $this->ecc = $ecc; + } + }; + + //########################################################################## + + class QRrawcode { + public $version; + public $datacode = array(); + public $ecccode = array(); + public $blocks; + public $rsblocks = array(); //of RSblock + public $count; + public $dataLength; + public $eccLength; + public $b1; + + //---------------------------------------------------------------------- + public function __construct(QRinput $input) + { + $spec = array(0,0,0,0,0); + + $this->datacode = $input->getByteStream(); + if(is_null($this->datacode)) { + throw new Exception('null imput string'); + } + + QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec); + + $this->version = $input->getVersion(); + $this->b1 = QRspec::rsBlockNum1($spec); + $this->dataLength = QRspec::rsDataLength($spec); + $this->eccLength = QRspec::rsEccLength($spec); + $this->ecccode = array_fill(0, $this->eccLength, 0); + $this->blocks = QRspec::rsBlockNum($spec); + + $ret = $this->init($spec); + if($ret < 0) { + throw new Exception('block alloc error'); + return null; + } + + $this->count = 0; + } + + //---------------------------------------------------------------------- + public function init(array $spec) + { + $dl = QRspec::rsDataCodes1($spec); + $el = QRspec::rsEccCodes1($spec); + $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + + + $blockNo = 0; + $dataPos = 0; + $eccPos = 0; + for($i=0; $iecccode,$eccPos); + $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); + $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); + + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + + if(QRspec::rsBlockNum2($spec) == 0) + return 0; + + $dl = QRspec::rsDataCodes2($spec); + $el = QRspec::rsEccCodes2($spec); + $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + + if($rs == NULL) return -1; + + for($i=0; $iecccode,$eccPos); + $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); + $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); + + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + + return 0; + } + + //---------------------------------------------------------------------- + public function getCode() + { + $ret; + + if($this->count < $this->dataLength) { + $row = $this->count % $this->blocks; + $col = $this->count / $this->blocks; + if($col >= $this->rsblocks[0]->dataLength) { + $row += $this->b1; + } + $ret = $this->rsblocks[$row]->data[$col]; + } else if($this->count < $this->dataLength + $this->eccLength) { + $row = ($this->count - $this->dataLength) % $this->blocks; + $col = ($this->count - $this->dataLength) / $this->blocks; + $ret = $this->rsblocks[$row]->ecc[$col]; + } else { + return 0; + } + $this->count++; + + return $ret; + } + } + + //########################################################################## + + class QRcode { + + public $version; + public $width; + public $data; + + //---------------------------------------------------------------------- + public function encodeMask(QRinput $input, $mask) + { + if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) { + throw new Exception('wrong version'); + } + if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) { + throw new Exception('wrong level'); + } + + $raw = new QRrawcode($input); + + QRtools::markTime('after_raw'); + + $version = $raw->version; + $width = QRspec::getWidth($version); + $frame = QRspec::newFrame($version); + + $filler = new FrameFiller($width, $frame); + if(is_null($filler)) { + return NULL; + } + + // inteleaved data and ecc codes + for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) { + $code = $raw->getCode(); + $bit = 0x80; + for($j=0; $j<8; $j++) { + $addr = $filler->next(); + $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); + $bit = $bit >> 1; + } + } + + QRtools::markTime('after_filler'); + + unset($raw); + + // remainder bits + $j = QRspec::getRemainder($version); + for($i=0; $i<$j; $i++) { + $addr = $filler->next(); + $filler->setFrameAt($addr, 0x02); + } + + $frame = $filler->frame; + unset($filler); + + + // masking + $maskObj = new QRmask(); + if($mask < 0) { + + if (QR_FIND_BEST_MASK) { + $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel()); + } else { + $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel()); + } + } else { + $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel()); + } + + if($masked == NULL) { + return NULL; + } + + QRtools::markTime('after_mask'); + + $this->version = $version; + $this->width = $width; + $this->data = $masked; + + return $this; + } + + //---------------------------------------------------------------------- + public function encodeInput(QRinput $input) + { + return $this->encodeMask($input, -1); + } + + //---------------------------------------------------------------------- + public function encodeString8bit($string, $version, $level) + { + if($string == NULL) { + throw new Exception('empty string!'); + return NULL; + } + + $input = new QRinput($version, $level); + if($input == NULL) return NULL; + + $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string)); + if($ret < 0) { + unset($input); + return NULL; + } + return $this->encodeInput($input); + } + + //---------------------------------------------------------------------- + public function encodeString($string, $version, $level, $hint, $casesensitive) + { + + if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) { + throw new Exception('bad hint'); + return NULL; + } + + $input = new QRinput($version, $level); + if($input == NULL) return NULL; + + $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive); + if($ret < 0) { + return NULL; + } + + return $this->encodeInput($input); + } + + //---------------------------------------------------------------------- + public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color); + return $enc->encodePNG($text, $outfile, $saveandprint=false); + } + + //---------------------------------------------------------------------- + public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) + { + $enc = QRencode::factory($level, $size, $margin); + return $enc->encode($text, $outfile); + } + + //---------------------------------------------------------------------- + public static function eps($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color, $cmyk); + return $enc->encodeEPS($text, $outfile, $saveandprint=false); + } + + //---------------------------------------------------------------------- + public static function svg($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color); + return $enc->encodeSVG($text, $outfile, $saveandprint=false); + } + + //---------------------------------------------------------------------- + public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) + { + $enc = QRencode::factory($level, $size, $margin); + return $enc->encodeRAW($text, $outfile); + } + } + + //########################################################################## + + class FrameFiller { + + public $width; + public $frame; + public $x; + public $y; + public $dir; + public $bit; + + //---------------------------------------------------------------------- + public function __construct($width, &$frame) + { + $this->width = $width; + $this->frame = $frame; + $this->x = $width - 1; + $this->y = $width - 1; + $this->dir = -1; + $this->bit = -1; + } + + //---------------------------------------------------------------------- + public function setFrameAt($at, $val) + { + $this->frame[$at['y']][$at['x']] = chr($val); + } + + //---------------------------------------------------------------------- + public function getFrameAt($at) + { + return ord($this->frame[$at['y']][$at['x']]); + } + + //---------------------------------------------------------------------- + public function next() + { + do { + + if($this->bit == -1) { + $this->bit = 0; + return array('x'=>$this->x, 'y'=>$this->y); + } + + $x = $this->x; + $y = $this->y; + $w = $this->width; + + if($this->bit == 0) { + $x--; + $this->bit++; + } else { + $x++; + $y += $this->dir; + $this->bit--; + } + + if($this->dir < 0) { + if($y < 0) { + $y = 0; + $x -= 2; + $this->dir = 1; + if($x == 6) { + $x--; + $y = 9; + } + } + } else { + if($y == $w) { + $y = $w - 1; + $x -= 2; + $this->dir = -1; + if($x == 6) { + $x--; + $y -= 8; + } + } + } + if($x < 0 || $y < 0) return null; + + $this->x = $x; + $this->y = $y; + + } while(ord($this->frame[$y][$x]) & 0x80); + + return array('x'=>$x, 'y'=>$y); + } + + } ; + + //########################################################################## + + class QRencode { + + public $casesensitive = true; + public $eightbit = false; + + public $version = 0; + public $size = 3; + public $margin = 4; + public $back_color = 0xFFFFFF; + public $fore_color = 0x000000; + + public $structured = 0; // not supported yet + + public $level = QR_ECLEVEL_L; + public $hint = QR_MODE_8; + + //---------------------------------------------------------------------- + public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $enc = new QRencode(); + $enc->size = $size; + $enc->margin = $margin; + $enc->fore_color = $fore_color; + $enc->back_color = $back_color; + $enc->cmyk = $cmyk; + + switch ($level.'') { + case '0': + case '1': + case '2': + case '3': + $enc->level = $level; + break; + case 'l': + case 'L': + $enc->level = QR_ECLEVEL_L; + break; + case 'm': + case 'M': + $enc->level = QR_ECLEVEL_M; + break; + case 'q': + case 'Q': + $enc->level = QR_ECLEVEL_Q; + break; + case 'h': + case 'H': + $enc->level = QR_ECLEVEL_H; + break; + } + + return $enc; + } + + //---------------------------------------------------------------------- + public function encodeRAW($intext, $outfile = false) + { + $code = new QRcode(); + + if($this->eightbit) { + $code->encodeString8bit($intext, $this->version, $this->level); + } else { + $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); + } + + return $code->data; + } + + //---------------------------------------------------------------------- + public function encode($intext, $outfile = false) + { + $code = new QRcode(); + + if($this->eightbit) { + $code->encodeString8bit($intext, $this->version, $this->level); + } else { + $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); + } + + QRtools::markTime('after_encode'); + + if ($outfile!== false) { + file_put_contents($outfile, join("\n", QRtools::binarize($code->data))); + } else { + return QRtools::binarize($code->data); + } + } + + //---------------------------------------------------------------------- + public function encodePNG($intext, $outfile = false,$saveandprint=false) + { + try { + + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, $err); + + $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $this->back_color, $this->fore_color); + + } catch (Exception $e) { + + QRtools::log($outfile, $e->getMessage()); + + } + } + + //---------------------------------------------------------------------- + public function encodeEPS($intext, $outfile = false,$saveandprint=false) + { + try { + + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, $err); + + $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRvect::eps($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $this->back_color, $this->fore_color, $this->cmyk); + + } catch (Exception $e) { + + QRtools::log($outfile, $e->getMessage()); + + } + } + + //---------------------------------------------------------------------- + public function encodeSVG($intext, $outfile = false,$saveandprint=false) + { + try { + + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, $err); + + $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRvect::svg($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $this->back_color, $this->fore_color); + + } catch (Exception $e) { + + QRtools::log($outfile, $e->getMessage()); + + } + } + } + + + + +//---- qrvect.php ----------------------------- + + + + +/* + * PHP QR Code encoder + * + * Image output of code using GD2 + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('QR_VECT', true); + + class QRvect { + + //---------------------------------------------------------------------- + public static function eps($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $vect = self::vectEPS($frame, $pixelPerPoint, $outerFrame, $back_color, $fore_color, $cmyk); + + if ($filename === false) { + header("Content-Type: application/postscript"); + header('Content-Disposition: filename="qrcode.eps"'); + echo $vect; + } else { + if($saveandprint===TRUE){ + QRtools::save($vect, $filename); + header("Content-Type: application/postscript"); + header('Content-Disposition: filename="qrcode.eps"'); + echo $vect; + }else{ + QRtools::save($vect, $filename); + } + } + } + + + //---------------------------------------------------------------------- + private static function vectEPS($frame, $pixelPerPoint = 4, $outerFrame = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $h = count($frame); + $w = strlen($frame[0]); + + $imgW = $w + 2*$outerFrame; + $imgH = $h + 2*$outerFrame; + + if ($cmyk) + { + // convert color value into decimal eps format + $c = round((($fore_color & 0xFF000000) >> 16) / 255, 5); + $m = round((($fore_color & 0x00FF0000) >> 16) / 255, 5); + $y = round((($fore_color & 0x0000FF00) >> 8) / 255, 5); + $k = round(($fore_color & 0x000000FF) / 255, 5); + $fore_color_string = $c.' '.$m.' '.$y.' '.$k.' setcmykcolor'."\n"; + + // convert color value into decimal eps format + $c = round((($back_color & 0xFF000000) >> 16) / 255, 5); + $m = round((($back_color & 0x00FF0000) >> 16) / 255, 5); + $y = round((($back_color & 0x0000FF00) >> 8) / 255, 5); + $k = round(($back_color & 0x000000FF) / 255, 5); + $back_color_string = $c.' '.$m.' '.$y.' '.$k.' setcmykcolor'."\n"; + } + else + { + // convert a hexadecimal color code into decimal eps format (green = 0 1 0, blue = 0 0 1, ...) + $r = round((($fore_color & 0xFF0000) >> 16) / 255, 5); + $b = round((($fore_color & 0x00FF00) >> 8) / 255, 5); + $g = round(($fore_color & 0x0000FF) / 255, 5); + $fore_color_string = $r.' '.$b.' '.$g.' setrgbcolor'."\n"; + + // convert a hexadecimal color code into decimal eps format (green = 0 1 0, blue = 0 0 1, ...) + $r = round((($back_color & 0xFF0000) >> 16) / 255, 5); + $b = round((($back_color & 0x00FF00) >> 8) / 255, 5); + $g = round(($back_color & 0x0000FF) / 255, 5); + $back_color_string = $r.' '.$b.' '.$g.' setrgbcolor'."\n"; + } + + $output = + '%!PS-Adobe EPSF-3.0'."\n". + '%%Creator: PHPQrcodeLib'."\n". + '%%Title: QRcode'."\n". + '%%CreationDate: '.date('Y-m-d')."\n". + '%%DocumentData: Clean7Bit'."\n". + '%%LanguageLevel: 2'."\n". + '%%Pages: 1'."\n". + '%%BoundingBox: 0 0 '.$imgW * $pixelPerPoint.' '.$imgH * $pixelPerPoint."\n"; + + // set the scale + $output .= $pixelPerPoint.' '.$pixelPerPoint.' scale'."\n"; + // position the center of the coordinate system + + $output .= $outerFrame.' '.$outerFrame.' translate'."\n"; + + + + + // redefine the 'rectfill' operator to shorten the syntax + $output .= '/F { rectfill } def'."\n"; + + // set the symbol color + $output .= $back_color_string; + $output .= '-'.$outerFrame.' -'.$outerFrame.' '.($w + 2*$outerFrame).' '.($h + 2*$outerFrame).' F'."\n"; + + + // set the symbol color + $output .= $fore_color_string; + + // Convert the matrix into pixels + + for($i=0; $i<$h; $i++) { + for($j=0; $j<$w; $j++) { + if( $frame[$i][$j] == '1') { + $y = $h - 1 - $i; + $x = $j; + $output .= $x.' '.$y.' 1 1 F'."\n"; + } + } + } + + + $output .='%%EOF'; + + return $output; + } + + //---------------------------------------------------------------------- + public static function svg($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $back_color, $fore_color) + { + $vect = self::vectSVG($frame, $pixelPerPoint, $outerFrame, $back_color, $fore_color); + + if ($filename === false) { + header("Content-Type: image/svg+xml"); + //header('Content-Disposition: attachment, filename="qrcode.svg"'); + echo $vect; + } else { + if($saveandprint===TRUE){ + QRtools::save($vect, $filename); + header("Content-Type: image/svg+xml"); + //header('Content-Disposition: filename="'.$filename.'"'); + echo $vect; + }else{ + QRtools::save($vect, $filename); + } + } + } + + + //---------------------------------------------------------------------- + private static function vectSVG($frame, $pixelPerPoint = 4, $outerFrame = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $h = count($frame); + $w = strlen($frame[0]); + + $imgW = $w + 2*$outerFrame; + $imgH = $h + 2*$outerFrame; + + + $output = + ''."\n". + ''."\n". + ''."\n"; + + $output = + ''."\n". + ''."\n". + ''."\n". + ''."\n"; + + if(!empty($back_color)) { + $backgroundcolor = str_pad(dechex($back_color), 6, "0", STR_PAD_LEFT); + $output .= ''."\n"; + } + + $output .= + ''."\n". + ''."\n". + ''."\n". + ''."\n"; + + + // Convert the matrix into pixels + + for($i=0; $i<$h; $i++) { + for($j=0; $j<$w; $j++) { + if( $frame[$i][$j] == '1') { + $y = ($i + $outerFrame) * $pixelPerPoint; + $x = ($j + $outerFrame) * $pixelPerPoint; + $output .= ''."\n"; + } + } + } + $output .= + ''."\n". + ''; + + return $output; + } + } + + + + diff --git a/lib/crowdfunding/lib/phpqrcode/qrbitstream.php b/lib/crowdfunding/lib/phpqrcode/qrbitstream.php new file mode 100755 index 0000000..c8d1166 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrbitstream.php @@ -0,0 +1,180 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRbitstream { + + public $data = array(); + + //---------------------------------------------------------------------- + public function size() + { + return count($this->data); + } + + //---------------------------------------------------------------------- + public function allocate($setLength) + { + $this->data = array_fill(0, $setLength, 0); + return 0; + } + + //---------------------------------------------------------------------- + public static function newFromNum($bits, $num) + { + $bstream = new QRbitstream(); + $bstream->allocate($bits); + + $mask = 1 << ($bits - 1); + for($i=0; $i<$bits; $i++) { + if($num & $mask) { + $bstream->data[$i] = 1; + } else { + $bstream->data[$i] = 0; + } + $mask = $mask >> 1; + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public static function newFromBytes($size, $data) + { + $bstream = new QRbitstream(); + $bstream->allocate($size * 8); + $p=0; + + for($i=0; $i<$size; $i++) { + $mask = 0x80; + for($j=0; $j<8; $j++) { + if($data[$i] & $mask) { + $bstream->data[$p] = 1; + } else { + $bstream->data[$p] = 0; + } + $p++; + $mask = $mask >> 1; + } + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public function append(QRbitstream $arg) + { + if (is_null($arg)) { + return -1; + } + + if($arg->size() == 0) { + return 0; + } + + if($this->size() == 0) { + $this->data = $arg->data; + return 0; + } + + $this->data = array_values(array_merge($this->data, $arg->data)); + + return 0; + } + + //---------------------------------------------------------------------- + public function appendNum($bits, $num) + { + if ($bits == 0) + return 0; + + $b = QRbitstream::newFromNum($bits, $num); + + if(is_null($b)) + return -1; + + $ret = $this->append($b); + unset($b); + + return $ret; + } + + //---------------------------------------------------------------------- + public function appendBytes($size, $data) + { + if ($size == 0) + return 0; + + $b = QRbitstream::newFromBytes($size, $data); + + if(is_null($b)) + return -1; + + $ret = $this->append($b); + unset($b); + + return $ret; + } + + //---------------------------------------------------------------------- + public function toByte() + { + + $size = $this->size(); + + if($size == 0) { + return array(); + } + + $data = array_fill(0, (int)(($size + 7) / 8), 0); + $bytes = (int)($size / 8); + + $p = 0; + + for($i=0; $i<$bytes; $i++) { + $v = 0; + for($j=0; $j<8; $j++) { + $v = $v << 1; + $v |= $this->data[$p]; + $p++; + } + $data[$i] = $v; + } + + if($size & 7) { + $v = 0; + for($j=0; $j<($size & 7); $j++) { + $v = $v << 1; + $v |= $this->data[$p]; + $p++; + } + $data[$bytes] = $v; + } + + return $data; + } + + } diff --git a/lib/crowdfunding/lib/phpqrcode/qrconfig.php b/lib/crowdfunding/lib/phpqrcode/qrconfig.php new file mode 100755 index 0000000..62e7f97 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrconfig.php @@ -0,0 +1,17 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + // Encoding modes + + define('QR_MODE_NUL', -1); + define('QR_MODE_NUM', 0); + define('QR_MODE_AN', 1); + define('QR_MODE_8', 2); + define('QR_MODE_KANJI', 3); + define('QR_MODE_STRUCTURE', 4); + + // Levels of error correction. + + define('QR_ECLEVEL_L', 0); + define('QR_ECLEVEL_M', 1); + define('QR_ECLEVEL_Q', 2); + define('QR_ECLEVEL_H', 3); + + // Supported output formats + + define('QR_FORMAT_TEXT', 0); + define('QR_FORMAT_PNG', 1); + + class qrstr { + public static function set(&$srctab, $x, $y, $repl, $replLen = false) { + $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); + } + } \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/qrencode.php b/lib/crowdfunding/lib/phpqrcode/qrencode.php new file mode 100755 index 0000000..6c210e8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrencode.php @@ -0,0 +1,569 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRrsblock { + public $dataLength; + public $data = array(); + public $eccLength; + public $ecc = array(); + + public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs) + { + $rs->encode_rs_char($data, $ecc); + + $this->dataLength = $dl; + $this->data = $data; + $this->eccLength = $el; + $this->ecc = $ecc; + } + }; + + //########################################################################## + + class QRrawcode { + public $version; + public $datacode = array(); + public $ecccode = array(); + public $blocks; + public $rsblocks = array(); //of RSblock + public $count; + public $dataLength; + public $eccLength; + public $b1; + + //---------------------------------------------------------------------- + public function __construct(QRinput $input) + { + $spec = array(0,0,0,0,0); + + $this->datacode = $input->getByteStream(); + if(is_null($this->datacode)) { + throw new Exception('null imput string'); + } + + QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec); + + $this->version = $input->getVersion(); + $this->b1 = QRspec::rsBlockNum1($spec); + $this->dataLength = QRspec::rsDataLength($spec); + $this->eccLength = QRspec::rsEccLength($spec); + $this->ecccode = array_fill(0, $this->eccLength, 0); + $this->blocks = QRspec::rsBlockNum($spec); + + $ret = $this->init($spec); + if($ret < 0) { + throw new Exception('block alloc error'); + return null; + } + + $this->count = 0; + } + + //---------------------------------------------------------------------- + public function init(array $spec) + { + $dl = QRspec::rsDataCodes1($spec); + $el = QRspec::rsEccCodes1($spec); + $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + + + $blockNo = 0; + $dataPos = 0; + $eccPos = 0; + for($i=0; $iecccode,$eccPos); + $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); + $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); + + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + + if(QRspec::rsBlockNum2($spec) == 0) + return 0; + + $dl = QRspec::rsDataCodes2($spec); + $el = QRspec::rsEccCodes2($spec); + $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + + if($rs == NULL) return -1; + + for($i=0; $iecccode,$eccPos); + $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); + $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); + + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + + return 0; + } + + //---------------------------------------------------------------------- + public function getCode() + { + $ret = NULL; + + if($this->count < $this->dataLength) { + $row = $this->count % $this->blocks; + $col = $this->count / $this->blocks; + if($col >= $this->rsblocks[0]->dataLength) { + $row += $this->b1; + } + $ret = $this->rsblocks[$row]->data[$col]; + } else if($this->count < $this->dataLength + $this->eccLength) { + $row = ($this->count - $this->dataLength) % $this->blocks; + $col = ($this->count - $this->dataLength) / $this->blocks; + $ret = $this->rsblocks[$row]->ecc[$col]; + } else { + return 0; + } + $this->count++; + + return $ret; + } + } + + //########################################################################## + + class QRcode { + + public $version; + public $width; + public $data; + + //---------------------------------------------------------------------- + public function encodeMask(QRinput $input, $mask) + { + if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) { + throw new Exception('wrong version'); + } + if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) { + throw new Exception('wrong level'); + } + + $raw = new QRrawcode($input); + + QRtools::markTime('after_raw'); + + $version = $raw->version; + $width = QRspec::getWidth($version); + $frame = QRspec::newFrame($version); + + $filler = new FrameFiller($width, $frame); + if(is_null($filler)) { + return NULL; + } + + // inteleaved data and ecc codes + for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) { + $code = $raw->getCode(); + $bit = 0x80; + for($j=0; $j<8; $j++) { + $addr = $filler->next(); + $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); + $bit = $bit >> 1; + } + } + + QRtools::markTime('after_filler'); + + unset($raw); + + // remainder bits + $j = QRspec::getRemainder($version); + for($i=0; $i<$j; $i++) { + $addr = $filler->next(); + $filler->setFrameAt($addr, 0x02); + } + + $frame = $filler->frame; + unset($filler); + + + // masking + $maskObj = new QRmask(); + if($mask < 0) { + + if (QR_FIND_BEST_MASK) { + $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel()); + } else { + $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel()); + } + } else { + $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel()); + } + + if($masked == NULL) { + return NULL; + } + + QRtools::markTime('after_mask'); + + $this->version = $version; + $this->width = $width; + $this->data = $masked; + + return $this; + } + + //---------------------------------------------------------------------- + public function encodeInput(QRinput $input) + { + return $this->encodeMask($input, -1); + } + + //---------------------------------------------------------------------- + public function encodeString8bit($string, $version, $level) + { + if($string == NULL) { + throw new Exception('empty string!'); + return NULL; + } + + $input = new QRinput($version, $level); + if($input == NULL) return NULL; + + $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string)); + if($ret < 0) { + unset($input); + return NULL; + } + return $this->encodeInput($input); + } + + //---------------------------------------------------------------------- + public function encodeString($string, $version, $level, $hint, $casesensitive) + { + + if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) { + throw new Exception('bad hint'); + return NULL; + } + + $input = new QRinput($version, $level); + if($input == NULL) return NULL; + + $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive); + if($ret < 0) { + return NULL; + } + + return $this->encodeInput($input); + } + + //---------------------------------------------------------------------- + public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color); + return $enc->encodePNG($text, $outfile, $saveandprint=false); + } + + //---------------------------------------------------------------------- + public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) + { + $enc = QRencode::factory($level, $size, $margin); + return $enc->encode($text, $outfile); + } + + //---------------------------------------------------------------------- + public static function eps($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color, $cmyk); + return $enc->encodeEPS($text, $outfile, $saveandprint=false); + } + + //---------------------------------------------------------------------- + public static function svg($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $enc = QRencode::factory($level, $size, $margin, $back_color, $fore_color); + return $enc->encodeSVG($text, $outfile, $saveandprint=false); + } + + //---------------------------------------------------------------------- + public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) + { + $enc = QRencode::factory($level, $size, $margin); + return $enc->encodeRAW($text, $outfile); + } + } + + //########################################################################## + + class FrameFiller { + + public $width; + public $frame; + public $x; + public $y; + public $dir; + public $bit; + + //---------------------------------------------------------------------- + public function __construct($width, &$frame) + { + $this->width = $width; + $this->frame = $frame; + $this->x = $width - 1; + $this->y = $width - 1; + $this->dir = -1; + $this->bit = -1; + } + + //---------------------------------------------------------------------- + public function setFrameAt($at, $val) + { + $this->frame[$at['y']][$at['x']] = chr($val); + } + + //---------------------------------------------------------------------- + public function getFrameAt($at) + { + return ord($this->frame[$at['y']][$at['x']]); + } + + //---------------------------------------------------------------------- + public function next() + { + do { + + if($this->bit == -1) { + $this->bit = 0; + return array('x'=>$this->x, 'y'=>$this->y); + } + + $x = $this->x; + $y = $this->y; + $w = $this->width; + + if($this->bit == 0) { + $x--; + $this->bit++; + } else { + $x++; + $y += $this->dir; + $this->bit--; + } + + if($this->dir < 0) { + if($y < 0) { + $y = 0; + $x -= 2; + $this->dir = 1; + if($x == 6) { + $x--; + $y = 9; + } + } + } else { + if($y == $w) { + $y = $w - 1; + $x -= 2; + $this->dir = -1; + if($x == 6) { + $x--; + $y -= 8; + } + } + } + if($x < 0 || $y < 0) return null; + + $this->x = $x; + $this->y = $y; + + } while(ord($this->frame[$y][$x]) & 0x80); + + return array('x'=>$x, 'y'=>$y); + } + + } ; + + //########################################################################## + + class QRencode { + + public $casesensitive = true; + public $eightbit = false; + + public $version = 0; + public $size = 3; + public $margin = 4; + public $back_color = 0xFFFFFF; + public $fore_color = 0x000000; + + public $structured = 0; // not supported yet + + public $level = QR_ECLEVEL_L; + public $hint = QR_MODE_8; + + //---------------------------------------------------------------------- + public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $enc = new QRencode(); + $enc->size = $size; + $enc->margin = $margin; + $enc->fore_color = $fore_color; + $enc->back_color = $back_color; + $enc->cmyk = $cmyk; + + switch ($level.'') { + case '0': + case '1': + case '2': + case '3': + $enc->level = $level; + break; + case 'l': + case 'L': + $enc->level = QR_ECLEVEL_L; + break; + case 'm': + case 'M': + $enc->level = QR_ECLEVEL_M; + break; + case 'q': + case 'Q': + $enc->level = QR_ECLEVEL_Q; + break; + case 'h': + case 'H': + $enc->level = QR_ECLEVEL_H; + break; + } + + return $enc; + } + + //---------------------------------------------------------------------- + public function encodeRAW($intext, $outfile = false) + { + $code = new QRcode(); + + if($this->eightbit) { + $code->encodeString8bit($intext, $this->version, $this->level); + } else { + $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); + } + + return $code->data; + } + + //---------------------------------------------------------------------- + public function encode($intext, $outfile = false) + { + $code = new QRcode(); + + if($this->eightbit) { + $code->encodeString8bit($intext, $this->version, $this->level); + } else { + $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); + } + + QRtools::markTime('after_encode'); + + if ($outfile!== false) { + file_put_contents($outfile, join("\n", QRtools::binarize($code->data))); + } else { + return QRtools::binarize($code->data); + } + } + + //---------------------------------------------------------------------- + public function encodePNG($intext, $outfile = false,$saveandprint=false) + { + try { + + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, $err); + + $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $this->back_color, $this->fore_color); + + } catch (Exception $e) { + + QRtools::log($outfile, $e->getMessage()); + + } + } + + //---------------------------------------------------------------------- + public function encodeEPS($intext, $outfile = false,$saveandprint=false) + { + try { + + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, $err); + + $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRvect::eps($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $this->back_color, $this->fore_color, $this->cmyk); + + } catch (Exception $e) { + + QRtools::log($outfile, $e->getMessage()); + + } + } + + //---------------------------------------------------------------------- + public function encodeSVG($intext, $outfile = false,$saveandprint=false) + { + try { + + ob_start(); + $tab = $this->encode($intext); + $err = ob_get_contents(); + ob_end_clean(); + + if ($err != '') + QRtools::log($outfile, $err); + + $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); + + QRvect::svg($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $this->back_color, $this->fore_color); + + } catch (Exception $e) { + + QRtools::log($outfile, $e->getMessage()); + + } + } + } diff --git a/lib/crowdfunding/lib/phpqrcode/qrimage.php b/lib/crowdfunding/lib/phpqrcode/qrimage.php new file mode 100755 index 0000000..48048e8 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrimage.php @@ -0,0 +1,107 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('QR_IMAGE', true); + + class QRimage { + + //---------------------------------------------------------------------- + public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $back_color, $fore_color) + { + $image = self::image($frame, $pixelPerPoint, $outerFrame, $back_color, $fore_color); + + if ($filename === false) { + Header("Content-type: image/png"); + ImagePng($image); + } else { + if($saveandprint===TRUE){ + ImagePng($image, $filename); + header("Content-type: image/png"); + ImagePng($image); + }else{ + ImagePng($image, $filename); + } + } + + ImageDestroy($image); + } + + //---------------------------------------------------------------------- + public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85) + { + $image = self::image($frame, $pixelPerPoint, $outerFrame); + + if ($filename === false) { + Header("Content-type: image/jpeg"); + ImageJpeg($image, null, $q); + } else { + ImageJpeg($image, $filename, $q); + } + + ImageDestroy($image); + } + + //---------------------------------------------------------------------- + private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $h = count($frame); + $w = strlen($frame[0]); + + $imgW = $w + 2*$outerFrame; + $imgH = $h + 2*$outerFrame; + + $base_image =ImageCreate($imgW, $imgH); + + // convert a hexadecimal color code into decimal format (red = 255 0 0, green = 0 255 0, blue = 0 0 255) + $r1 = round((($fore_color & 0xFF0000) >> 16), 5); + $g1 = round((($fore_color & 0x00FF00) >> 8), 5); + $b1 = round(($fore_color & 0x0000FF), 5); + + // convert a hexadecimal color code into decimal format (red = 255 0 0, green = 0 255 0, blue = 0 0 255) + $r2 = round((($back_color & 0xFF0000) >> 16), 5); + $g2 = round((($back_color & 0x00FF00) >> 8), 5); + $b2 = round(($back_color & 0x0000FF), 5); + + + + $col[0] = ImageColorAllocate($base_image, $r2, $g2, $b2); + $col[1] = ImageColorAllocate($base_image, $r1, $g1, $b1); + + imagefill($base_image, 0, 0, $col[0]); + + for($y=0; $y<$h; $y++) { + for($x=0; $x<$w; $x++) { + if ($frame[$y][$x] == '1') { + ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]); + } + } + } + + $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint); + ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH); + ImageDestroy($base_image); + + return $target_image; + } + } diff --git a/lib/crowdfunding/lib/phpqrcode/qrinput.php b/lib/crowdfunding/lib/phpqrcode/qrinput.php new file mode 100755 index 0000000..11f8e1c --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrinput.php @@ -0,0 +1,726 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('STRUCTURE_HEADER_BITS', 20); + define('MAX_STRUCTURED_SYMBOLS', 16); + + class QRinputItem { + + public $mode; + public $size; + public $data; + public $bstream; + + public function __construct($mode, $size, $data, $bstream = null) + { + $setData = array_slice($data, 0, $size); + + if (count($setData) < $size) { + $setData = array_merge($setData, array_fill(0,$size-count($setData),0)); + } + + if(!QRinput::check($mode, $size, $setData)) { + throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData)); + } + + $this->mode = $mode; + $this->size = $size; + $this->data = $setData; + $this->bstream = $bstream; + } + + //---------------------------------------------------------------------- + public function encodeModeNum($version) + { + try { + + $words = (int)($this->size / 3); + $bs = new QRbitstream(); + + $val = 0x1; + $bs->appendNum(4, $val); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size); + + for($i=0; $i<$words; $i++) { + $val = (ord($this->data[$i*3 ]) - ord('0')) * 100; + $val += (ord($this->data[$i*3+1]) - ord('0')) * 10; + $val += (ord($this->data[$i*3+2]) - ord('0')); + $bs->appendNum(10, $val); + } + + if($this->size - $words * 3 == 1) { + $val = ord($this->data[$words*3]) - ord('0'); + $bs->appendNum(4, $val); + } else if($this->size - $words * 3 == 2) { + $val = (ord($this->data[$words*3 ]) - ord('0')) * 10; + $val += (ord($this->data[$words*3+1]) - ord('0')); + $bs->appendNum(7, $val); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeModeAn($version) + { + try { + $words = (int)($this->size / 2); + $bs = new QRbitstream(); + + $bs->appendNum(4, 0x02); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size); + + for($i=0; $i<$words; $i++) { + $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45; + $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1])); + + $bs->appendNum(11, $val); + } + + if($this->size & 1) { + $val = QRinput::lookAnTable(ord($this->data[$words * 2])); + $bs->appendNum(6, $val); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeMode8($version) + { + try { + $bs = new QRbitstream(); + + $bs->appendNum(4, 0x4); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size); + + for($i=0; $i<$this->size; $i++) { + $bs->appendNum(8, ord($this->data[$i])); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeModeKanji($version) + { + try { + + $bs = new QRbitrtream(); + + $bs->appendNum(4, 0x8); + $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2)); + + for($i=0; $i<$this->size; $i+=2) { + $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]); + if($val <= 0x9ffc) { + $val -= 0x8140; + } else { + $val -= 0xc140; + } + + $h = ($val >> 8) * 0xc0; + $val = ($val & 0xff) + $h; + + $bs->appendNum(13, $val); + } + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function encodeModeStructure() + { + try { + $bs = new QRbitstream(); + + $bs->appendNum(4, 0x03); + $bs->appendNum(4, ord($this->data[1]) - 1); + $bs->appendNum(4, ord($this->data[0]) - 1); + $bs->appendNum(8, ord($this->data[2])); + + $this->bstream = $bs; + return 0; + + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function estimateBitStreamSizeOfEntry($version) + { + $bits = 0; + + if($version == 0) + $version = 1; + + switch($this->mode) { + case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break; + case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break; + case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break; + case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break; + case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS; + default: + return 0; + } + + $l = QRspec::lengthIndicator($this->mode, $version); + $m = 1 << $l; + $num = (int)(($this->size + $m - 1) / $m); + + $bits += $num * (4 + $l); + + return $bits; + } + + //---------------------------------------------------------------------- + public function encodeBitStream($version) + { + try { + + unset($this->bstream); + $words = QRspec::maximumWords($this->mode, $version); + + if($this->size > $words) { + + $st1 = new QRinputItem($this->mode, $words, $this->data); + $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words)); + + $st1->encodeBitStream($version); + $st2->encodeBitStream($version); + + $this->bstream = new QRbitstream(); + $this->bstream->append($st1->bstream); + $this->bstream->append($st2->bstream); + + unset($st1); + unset($st2); + + } else { + + $ret = 0; + + switch($this->mode) { + case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break; + case QR_MODE_AN: $ret = $this->encodeModeAn($version); break; + case QR_MODE_8: $ret = $this->encodeMode8($version); break; + case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break; + case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break; + + default: + break; + } + + if($ret < 0) + return -1; + } + + return $this->bstream->size(); + + } catch (Exception $e) { + return -1; + } + } + }; + + //########################################################################## + + class QRinput { + + public $items; + + private $version; + private $level; + + //---------------------------------------------------------------------- + public function __construct($version = 0, $level = QR_ECLEVEL_L) + { + if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) { + throw new Exception('Invalid version no'); + } + + $this->version = $version; + $this->level = $level; + } + + //---------------------------------------------------------------------- + public function getVersion() + { + return $this->version; + } + + //---------------------------------------------------------------------- + public function setVersion($version) + { + if($version < 0 || $version > QRSPEC_VERSION_MAX) { + throw new Exception('Invalid version no'); + return -1; + } + + $this->version = $version; + + return 0; + } + + //---------------------------------------------------------------------- + public function getErrorCorrectionLevel() + { + return $this->level; + } + + //---------------------------------------------------------------------- + public function setErrorCorrectionLevel($level) + { + if($level > QR_ECLEVEL_H) { + throw new Exception('Invalid ECLEVEL'); + return -1; + } + + $this->level = $level; + + return 0; + } + + //---------------------------------------------------------------------- + public function appendEntry(QRinputItem $entry) + { + $this->items[] = $entry; + } + + //---------------------------------------------------------------------- + public function append($mode, $size, $data) + { + try { + $entry = new QRinputItem($mode, $size, $data); + $this->items[] = $entry; + return 0; + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + + public function insertStructuredAppendHeader($size, $index, $parity) + { + if( $size > MAX_STRUCTURED_SYMBOLS ) { + throw new Exception('insertStructuredAppendHeader wrong size'); + } + + if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) { + throw new Exception('insertStructuredAppendHeader wrong index'); + } + + $buf = array($size, $index, $parity); + + try { + $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf); + array_unshift($this->items, $entry); + return 0; + } catch (Exception $e) { + return -1; + } + } + + //---------------------------------------------------------------------- + public function calcParity() + { + $parity = 0; + + foreach($this->items as $item) { + if($item->mode != QR_MODE_STRUCTURE) { + for($i=$item->size-1; $i>=0; $i--) { + $parity ^= $item->data[$i]; + } + } + } + + return $parity; + } + + //---------------------------------------------------------------------- + public static function checkModeNum($size, $data) + { + for($i=0; $i<$size; $i++) { + if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){ + return false; + } + } + + return true; + } + + //---------------------------------------------------------------------- + public static function estimateBitsModeNum($size) + { + $w = (int)$size / 3; + $bits = $w * 10; + + switch($size - $w * 3) { + case 1: + $bits += 4; + break; + case 2: + $bits += 7; + break; + default: + break; + } + + return $bits; + } + + //---------------------------------------------------------------------- + public static $anTable = array( + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, + -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + ); + + //---------------------------------------------------------------------- + public static function lookAnTable($c) + { + return (($c > 127)?-1:self::$anTable[$c]); + } + + //---------------------------------------------------------------------- + public static function checkModeAn($size, $data) + { + for($i=0; $i<$size; $i++) { + if (self::lookAnTable(ord($data[$i])) == -1) { + return false; + } + } + + return true; + } + + //---------------------------------------------------------------------- + public static function estimateBitsModeAn($size) + { + $w = (int)($size / 2); + $bits = $w * 11; + + if($size & 1) { + $bits += 6; + } + + return $bits; + } + + //---------------------------------------------------------------------- + public static function estimateBitsMode8($size) + { + return $size * 8; + } + + //---------------------------------------------------------------------- + public function estimateBitsModeKanji($size) + { + return (int)(($size / 2) * 13); + } + + //---------------------------------------------------------------------- + public static function checkModeKanji($size, $data) + { + if($size & 1) + return false; + + for($i=0; $i<$size; $i+=2) { + $val = (ord($data[$i]) << 8) | ord($data[$i+1]); + if( $val < 0x8140 + || ($val > 0x9ffc && $val < 0xe040) + || $val > 0xebbf) { + return false; + } + } + + return true; + } + + /*********************************************************************** + * Validation + **********************************************************************/ + + public static function check($mode, $size, $data) + { + if($size <= 0) + return false; + + switch($mode) { + case QR_MODE_NUM: return self::checkModeNum($size, $data); break; + case QR_MODE_AN: return self::checkModeAn($size, $data); break; + case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break; + case QR_MODE_8: return true; break; + case QR_MODE_STRUCTURE: return true; break; + + default: + break; + } + + return false; + } + + + //---------------------------------------------------------------------- + public function estimateBitStreamSize($version) + { + $bits = 0; + + foreach($this->items as $item) { + $bits += $item->estimateBitStreamSizeOfEntry($version); + } + + return $bits; + } + + //---------------------------------------------------------------------- + public function estimateVersion() + { + $version = 0; + $prev = 0; + do { + $prev = $version; + $bits = $this->estimateBitStreamSize($prev); + $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if ($version < 0) { + return -1; + } + } while ($version > $prev); + + return $version; + } + + //---------------------------------------------------------------------- + public static function lengthOfCode($mode, $version, $bits) + { + $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version); + switch($mode) { + case QR_MODE_NUM: + $chunks = (int)($payload / 10); + $remain = $payload - $chunks * 10; + $size = $chunks * 3; + if($remain >= 7) { + $size += 2; + } else if($remain >= 4) { + $size += 1; + } + break; + case QR_MODE_AN: + $chunks = (int)($payload / 11); + $remain = $payload - $chunks * 11; + $size = $chunks * 2; + if($remain >= 6) + $size++; + break; + case QR_MODE_8: + $size = (int)($payload / 8); + break; + case QR_MODE_KANJI: + $size = (int)(($payload / 13) * 2); + break; + case QR_MODE_STRUCTURE: + $size = (int)($payload / 8); + break; + default: + $size = 0; + break; + } + + $maxsize = QRspec::maximumWords($mode, $version); + if($size < 0) $size = 0; + if($size > $maxsize) $size = $maxsize; + + return $size; + } + + //---------------------------------------------------------------------- + public function createBitStream() + { + $total = 0; + + foreach($this->items as $item) { + $bits = $item->encodeBitStream($this->version); + + if($bits < 0) + return -1; + + $total += $bits; + } + + return $total; + } + + //---------------------------------------------------------------------- + public function convertData() + { + $ver = $this->estimateVersion(); + if($ver > $this->getVersion()) { + $this->setVersion($ver); + } + + for(;;) { + $bits = $this->createBitStream(); + + if($bits < 0) + return -1; + + $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if($ver < 0) { + throw new Exception('WRONG VERSION'); + } else if($ver > $this->getVersion()) { + $this->setVersion($ver); + } else { + break; + } + } + + return 0; + } + + //---------------------------------------------------------------------- + public function appendPaddingBit(&$bstream) + { + $bits = $bstream->size(); + $maxwords = QRspec::getDataLength($this->version, $this->level); + $maxbits = $maxwords * 8; + + if ($maxbits == $bits) { + return 0; + } + + if ($maxbits - $bits < 5) { + return $bstream->appendNum($maxbits - $bits, 0); + } + + $bits += 4; + $words = (int)(($bits + 7) / 8); + + $padding = new QRbitstream(); + $ret = $padding->appendNum($words * 8 - $bits + 4, 0); + + if($ret < 0) + return $ret; + + $padlen = $maxwords - $words; + + if($padlen > 0) { + + $padbuf = array(); + for($i=0; $i<$padlen; $i++) { + $padbuf[$i] = ($i&1)?0x11:0xec; + } + + $ret = $padding->appendBytes($padlen, $padbuf); + + if($ret < 0) + return $ret; + + } + + $ret = $bstream->append($padding); + + return $ret; + } + + //---------------------------------------------------------------------- + public function mergeBitStream() + { + if($this->convertData() < 0) { + return null; + } + + $bstream = new QRbitstream(); + + foreach($this->items as $item) { + $ret = $bstream->append($item->bstream); + if($ret < 0) { + return null; + } + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public function getBitStream() + { + + $bstream = $this->mergeBitStream(); + + if($bstream == null) { + return null; + } + + $ret = $this->appendPaddingBit($bstream); + if($ret < 0) { + return null; + } + + return $bstream; + } + + //---------------------------------------------------------------------- + public function getByteStream() + { + $bstream = $this->getBitStream(); + if($bstream == null) { + return null; + } + + return $bstream->toByte(); + } + } + + + \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/qrlib.php b/lib/crowdfunding/lib/phpqrcode/qrlib.php new file mode 100755 index 0000000..768d534 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrlib.php @@ -0,0 +1,44 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; + + // Required libs + + include $QR_BASEDIR."qrconst.php"; + include $QR_BASEDIR."qrconfig.php"; + include $QR_BASEDIR."qrtools.php"; + include $QR_BASEDIR."qrspec.php"; + include $QR_BASEDIR."qrimage.php"; + include $QR_BASEDIR."qrvect.php"; + include $QR_BASEDIR."qrinput.php"; + include $QR_BASEDIR."qrbitstream.php"; + include $QR_BASEDIR."qrsplit.php"; + include $QR_BASEDIR."qrrscode.php"; + include $QR_BASEDIR."qrmask.php"; + include $QR_BASEDIR."qrencode.php"; + diff --git a/lib/crowdfunding/lib/phpqrcode/qrmask.php b/lib/crowdfunding/lib/phpqrcode/qrmask.php new file mode 100755 index 0000000..955aaf0 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrmask.php @@ -0,0 +1,328 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('N1', 3); + define('N2', 3); + define('N3', 40); + define('N4', 10); + + class QRmask { + + public $runLength = array(); + + //---------------------------------------------------------------------- + public function __construct() + { + $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); + } + + //---------------------------------------------------------------------- + public function writeFormatInformation($width, &$frame, $mask, $level) + { + $blacks = 0; + $format = QRspec::getFormatInfo($mask, $level); + + for($i=0; $i<8; $i++) { + if($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + + $frame[8][$width - 1 - $i] = chr($v); + if($i < 6) { + $frame[$i][8] = chr($v); + } else { + $frame[$i + 1][8] = chr($v); + } + $format = $format >> 1; + } + + for($i=0; $i<7; $i++) { + if($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + + $frame[$width - 7 + $i][8] = chr($v); + if($i == 0) { + $frame[8][7] = chr($v); + } else { + $frame[8][6 - $i] = chr($v); + } + + $format = $format >> 1; + } + + return $blacks; + } + + //---------------------------------------------------------------------- + public function mask0($x, $y) { return ($x+$y)&1; } + public function mask1($x, $y) { return ($y&1); } + public function mask2($x, $y) { return ($x%3); } + public function mask3($x, $y) { return ($x+$y)%3; } + public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; } + public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; } + public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; } + public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; } + + //---------------------------------------------------------------------- + private function generateMaskNo($maskNo, $width, $frame) + { + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + + for($y=0; $y<$width; $y++) { + for($x=0; $x<$width; $x++) { + if(ord($frame[$y][$x]) & 0x80) { + $bitMask[$y][$x] = 0; + } else { + $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); + $bitMask[$y][$x] = ($maskFunc == 0)?1:0; + } + + } + } + + return $bitMask; + } + + //---------------------------------------------------------------------- + public static function serial($bitFrame) + { + $codeArr = array(); + + foreach ($bitFrame as $line) + $codeArr[] = join('', $line); + + return gzcompress(join("\n", $codeArr), 9); + } + + //---------------------------------------------------------------------- + public static function unserial($code) + { + $codeArr = array(); + + $codeLines = explode("\n", gzuncompress($code)); + foreach ($codeLines as $line) + $codeArr[] = str_split($line); + + return $codeArr; + } + + //---------------------------------------------------------------------- + public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false) + { + $b = 0; + $bitMask = array(); + + $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat'; + + if (QR_CACHEABLE) { + if (file_exists($fileName)) { + $bitMask = self::unserial(file_get_contents($fileName)); + } else { + $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); + if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo)) + mkdir(QR_CACHE_DIR.'mask_'.$maskNo); + file_put_contents($fileName, self::serial($bitMask)); + } + } else { + $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); + } + + if ($maskGenOnly) + return; + + $d = $s; + + for($y=0; $y<$width; $y++) { + for($x=0; $x<$width; $x++) { + if($bitMask[$y][$x] == 1) { + $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); + } + $b += (int)(ord($d[$y][$x]) & 1); + } + } + + return $b; + } + + //---------------------------------------------------------------------- + public function makeMask($width, $frame, $maskNo, $level) + { + $masked = array_fill(0, $width, str_repeat("\0", $width)); + $this->makeMaskNo($maskNo, $width, $frame, $masked); + $this->writeFormatInformation($width, $masked, $maskNo, $level); + + return $masked; + } + + //---------------------------------------------------------------------- + public function calcN1N3($length) + { + $demerit = 0; + + for($i=0; $i<$length; $i++) { + + if($this->runLength[$i] >= 5) { + $demerit += (N1 + ($this->runLength[$i] - 5)); + } + if($i & 1) { + if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) { + $fact = (int)($this->runLength[$i] / 3); + if(($this->runLength[$i-2] == $fact) && + ($this->runLength[$i-1] == $fact) && + ($this->runLength[$i+1] == $fact) && + ($this->runLength[$i+2] == $fact)) { + if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) { + $demerit += N3; + } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) { + $demerit += N3; + } + } + } + } + } + return $demerit; + } + + //---------------------------------------------------------------------- + public function evaluateSymbol($width, $frame) + { + $head = 0; + $demerit = 0; + + for($y=0; $y<$width; $y++) { + $head = 0; + $this->runLength[0] = 1; + + $frameY = $frame[$y]; + + if ($y>0) + $frameYM = $frame[$y-1]; + + for($x=0; $x<$width; $x++) { + if(($x > 0) && ($y > 0)) { + $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); + $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); + + if(($b22 | ($w22 ^ 1))&1) { + $demerit += N2; + } + } + if(($x == 0) && (ord($frameY[$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } else if($x > 0) { + if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + + $demerit += $this->calcN1N3($head+1); + } + + for($x=0; $x<$width; $x++) { + $head = 0; + $this->runLength[0] = 1; + + for($y=0; $y<$width; $y++) { + if($y == 0 && (ord($frame[$y][$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } else if($y > 0) { + if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + + $demerit += $this->calcN1N3($head+1); + } + + return $demerit; + } + + + //---------------------------------------------------------------------- + public function mask($width, $frame, $level) + { + $minDemerit = PHP_INT_MAX; + $bestMaskNum = 0; + $bestMask = array(); + + $checked_masks = array(0,1,2,3,4,5,6,7); + + if (QR_FIND_FROM_RANDOM !== false) { + + $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9); + for ($i = 0; $i < $howManuOut; $i++) { + $remPos = rand (0, count($checked_masks)-1); + unset($checked_masks[$remPos]); + $checked_masks = array_values($checked_masks); + } + + } + + $bestMask = $frame; + + foreach($checked_masks as $i) { + $mask = array_fill(0, $width, str_repeat("\0", $width)); + + $demerit = 0; + $blacks = 0; + $blacks = $this->makeMaskNo($i, $width, $frame, $mask); + $blacks += $this->writeFormatInformation($width, $mask, $i, $level); + $blacks = (int)(100 * $blacks / ($width * $width)); + $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); + $demerit += $this->evaluateSymbol($width, $mask); + + if($demerit < $minDemerit) { + $minDemerit = $demerit; + $bestMask = $mask; + $bestMaskNum = $i; + } + } + + return $bestMask; + } + + //---------------------------------------------------------------------- + } diff --git a/lib/crowdfunding/lib/phpqrcode/qrrscode.php b/lib/crowdfunding/lib/phpqrcode/qrrscode.php new file mode 100755 index 0000000..d7a97d9 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrrscode.php @@ -0,0 +1,210 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRrsItem { + + public $mm; // Bits per symbol + public $nn; // Symbols per block (= (1<= $this->nn) { + $x -= $this->nn; + $x = ($x >> $this->mm) + ($x & $this->nn); + } + + return $x; + } + + //---------------------------------------------------------------------- + public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) + { + // Common code for intializing a Reed-Solomon control block (char or int symbols) + // Copyright 2004 Phil Karn, KA9Q + // May be used under the terms of the GNU Lesser General Public License (LGPL) + + $rs = null; + + // Check parameter ranges + if($symsize < 0 || $symsize > 8) return $rs; + if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs; + if($prim <= 0 || $prim >= (1<<$symsize)) return $rs; + if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values! + if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding + + $rs = new QRrsItem(); + $rs->mm = $symsize; + $rs->nn = (1<<$symsize)-1; + $rs->pad = $pad; + + $rs->alpha_to = array_fill(0, $rs->nn+1, 0); + $rs->index_of = array_fill(0, $rs->nn+1, 0); + + // PHP style macro replacement ;) + $NN =& $rs->nn; + $A0 =& $NN; + + // Generate Galois field lookup tables + $rs->index_of[0] = $A0; // log(zero) = -inf + $rs->alpha_to[$A0] = 0; // alpha**-inf = 0 + $sr = 1; + + for($i=0; $i<$rs->nn; $i++) { + $rs->index_of[$sr] = $i; + $rs->alpha_to[$i] = $sr; + $sr <<= 1; + if($sr & (1<<$symsize)) { + $sr ^= $gfpoly; + } + $sr &= $rs->nn; + } + + if($sr != 1){ + // field generator polynomial is not primitive! + $rs = NULL; + return $rs; + } + + /* Form RS code generator polynomial from its roots */ + $rs->genpoly = array_fill(0, $nroots+1, 0); + + $rs->fcr = $fcr; + $rs->prim = $prim; + $rs->nroots = $nroots; + $rs->gfpoly = $gfpoly; + + /* Find prim-th root of 1, used in decoding */ + for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn) + ; // intentional empty-body loop! + + $rs->iprim = (int)($iprim / $prim); + $rs->genpoly[0] = 1; + + for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { + $rs->genpoly[$i+1] = 1; + + // Multiply rs->genpoly[] by @**(root + x) + for ($j = $i; $j > 0; $j--) { + if ($rs->genpoly[$j] != 0) { + $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)]; + } else { + $rs->genpoly[$j] = $rs->genpoly[$j-1]; + } + } + // rs->genpoly[0] can never be zero + $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)]; + } + + // convert rs->genpoly[] to index form for quicker encoding + for ($i = 0; $i <= $nroots; $i++) + $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]]; + + return $rs; + } + + //---------------------------------------------------------------------- + public function encode_rs_char($data, &$parity) + { + $MM =& $this->mm; + $NN =& $this->nn; + $ALPHA_TO =& $this->alpha_to; + $INDEX_OF =& $this->index_of; + $GENPOLY =& $this->genpoly; + $NROOTS =& $this->nroots; + $FCR =& $this->fcr; + $PRIM =& $this->prim; + $IPRIM =& $this->iprim; + $PAD =& $this->pad; + $A0 =& $NN; + + $parity = array_fill(0, $NROOTS, 0); + + for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) { + + $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; + if($feedback != $A0) { + // feedback term is non-zero + + // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must + // always be for the polynomials constructed by init_rs() + $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback); + + for($j=1;$j<$NROOTS;$j++) { + $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])]; + } + } + + // Shift + array_shift($parity); + if($feedback != $A0) { + array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]); + } else { + array_push($parity, 0); + } + } + } + } + + //########################################################################## + + class QRrs { + + public static $items = array(); + + //---------------------------------------------------------------------- + public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) + { + foreach(self::$items as $rs) { + if($rs->pad != $pad) continue; + if($rs->nroots != $nroots) continue; + if($rs->mm != $symsize) continue; + if($rs->gfpoly != $gfpoly) continue; + if($rs->fcr != $fcr) continue; + if($rs->prim != $prim) continue; + + return $rs; + } + + $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); + array_unshift(self::$items, $rs); + + return $rs; + } + } \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/qrspec.php b/lib/crowdfunding/lib/phpqrcode/qrspec.php new file mode 100755 index 0000000..5a0c4b3 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrspec.php @@ -0,0 +1,592 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * The following data / specifications are taken from + * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) + * or + * "Automatic identification and data capture techniques -- + * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('QRSPEC_VERSION_MAX', 40); + define('QRSPEC_WIDTH_MAX', 177); + + define('QRCAP_WIDTH', 0); + define('QRCAP_WORDS', 1); + define('QRCAP_REMINDER', 2); + define('QRCAP_EC', 3); + + class QRspec { + + public static $capacity = array( + array( 0, 0, 0, array( 0, 0, 0, 0)), + array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 + array( 25, 44, 7, array( 10, 16, 22, 28)), + array( 29, 70, 7, array( 15, 26, 36, 44)), + array( 33, 100, 7, array( 20, 36, 52, 64)), + array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 + array( 41, 172, 7, array( 36, 64, 96, 112)), + array( 45, 196, 0, array( 40, 72, 108, 130)), + array( 49, 242, 0, array( 48, 88, 132, 156)), + array( 53, 292, 0, array( 60, 110, 160, 192)), + array( 57, 346, 0, array( 72, 130, 192, 224)), //10 + array( 61, 404, 0, array( 80, 150, 224, 264)), + array( 65, 466, 0, array( 96, 176, 260, 308)), + array( 69, 532, 0, array( 104, 198, 288, 352)), + array( 73, 581, 3, array( 120, 216, 320, 384)), + array( 77, 655, 3, array( 132, 240, 360, 432)), //15 + array( 81, 733, 3, array( 144, 280, 408, 480)), + array( 85, 815, 3, array( 168, 308, 448, 532)), + array( 89, 901, 3, array( 180, 338, 504, 588)), + array( 93, 991, 3, array( 196, 364, 546, 650)), + array( 97, 1085, 3, array( 224, 416, 600, 700)), //20 + array(101, 1156, 4, array( 224, 442, 644, 750)), + array(105, 1258, 4, array( 252, 476, 690, 816)), + array(109, 1364, 4, array( 270, 504, 750, 900)), + array(113, 1474, 4, array( 300, 560, 810, 960)), + array(117, 1588, 4, array( 312, 588, 870, 1050)), //25 + array(121, 1706, 4, array( 336, 644, 952, 1110)), + array(125, 1828, 4, array( 360, 700, 1020, 1200)), + array(129, 1921, 3, array( 390, 728, 1050, 1260)), + array(133, 2051, 3, array( 420, 784, 1140, 1350)), + array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30 + array(141, 2323, 3, array( 480, 868, 1290, 1530)), + array(145, 2465, 3, array( 510, 924, 1350, 1620)), + array(149, 2611, 3, array( 540, 980, 1440, 1710)), + array(153, 2761, 3, array( 570, 1036, 1530, 1800)), + array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35 + array(161, 3034, 0, array( 600, 1120, 1680, 1980)), + array(165, 3196, 0, array( 630, 1204, 1770, 2100)), + array(169, 3362, 0, array( 660, 1260, 1860, 2220)), + array(173, 3532, 0, array( 720, 1316, 1950, 2310)), + array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40 + ); + + //---------------------------------------------------------------------- + public static function getDataLength($version, $level) + { + return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level]; + } + + //---------------------------------------------------------------------- + public static function getECCLength($version, $level) + { + return self::$capacity[$version][QRCAP_EC][$level]; + } + + //---------------------------------------------------------------------- + public static function getWidth($version) + { + return self::$capacity[$version][QRCAP_WIDTH]; + } + + //---------------------------------------------------------------------- + public static function getRemainder($version) + { + return self::$capacity[$version][QRCAP_REMINDER]; + } + + //---------------------------------------------------------------------- + public static function getMinimumVersion($size, $level) + { + + for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) { + $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level]; + if($words >= $size) + return $i; + } + + return -1; + } + + //###################################################################### + + public static $lengthTableBits = array( + array(10, 12, 14), + array( 9, 11, 13), + array( 8, 16, 16), + array( 8, 10, 12) + ); + + //---------------------------------------------------------------------- + public static function lengthIndicator($mode, $version) + { + if ($mode == QR_MODE_STRUCTURE) + return 0; + + if ($version <= 9) { + $l = 0; + } else if ($version <= 26) { + $l = 1; + } else { + $l = 2; + } + + return self::$lengthTableBits[$mode][$l]; + } + + //---------------------------------------------------------------------- + public static function maximumWords($mode, $version) + { + if($mode == QR_MODE_STRUCTURE) + return 3; + + if($version <= 9) { + $l = 0; + } else if($version <= 26) { + $l = 1; + } else { + $l = 2; + } + + $bits = self::$lengthTableBits[$mode][$l]; + $words = (1 << $bits) - 1; + + if($mode == QR_MODE_KANJI) { + $words *= 2; // the number of bytes is required + } + + return $words; + } + + // Error correction code ----------------------------------------------- + // Table of the error correction code (Reed-Solomon block) + // See Table 12-16 (pp.30-36), JIS X0510:2004. + + public static $eccTable = array( + array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), + array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), + array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), + array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 + array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), + array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), + array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), + array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), + array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10 + array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), + array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), + array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), + array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), + array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15 + array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), + array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), + array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), + array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), + array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20 + array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), + array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), + array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), + array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), + array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25 + array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), + array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), + array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), + array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), + array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30 + array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), + array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), + array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), + array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), + array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35 + array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), + array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), + array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), + array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), + array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40 + ); + + //---------------------------------------------------------------------- + // CACHEABLE!!! + + public static function getEccSpec($version, $level, array &$spec) + { + if (count($spec) < 5) { + $spec = array(0,0,0,0,0); + } + + $b1 = self::$eccTable[$version][$level][0]; + $b2 = self::$eccTable[$version][$level][1]; + $data = self::getDataLength($version, $level); + $ecc = self::getECCLength($version, $level); + + if($b2 == 0) { + $spec[0] = $b1; + $spec[1] = (int)($data / $b1); + $spec[2] = (int)($ecc / $b1); + $spec[3] = 0; + $spec[4] = 0; + } else { + $spec[0] = $b1; + $spec[1] = (int)($data / ($b1 + $b2)); + $spec[2] = (int)($ecc / ($b1 + $b2)); + $spec[3] = $b2; + $spec[4] = $spec[1] + 1; + } + } + + // Alignment pattern --------------------------------------------------- + + // Positions of alignment patterns. + // This array includes only the second and the third position of the + // alignment patterns. Rest of them can be calculated from the distance + // between them. + + // See Table 1 in Appendix E (pp.71) of JIS X0510:2004. + + public static $alignmentPattern = array( + array( 0, 0), + array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 + array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 + array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15 + array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20 + array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25 + array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30 + array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35 + array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40 + ); + + + /** -------------------------------------------------------------------- + * Put an alignment marker. + * @param frame + * @param width + * @param ox,oy center coordinate of the pattern + */ + public static function putAlignmentMarker(array &$frame, $ox, $oy) + { + $finder = array( + "\xa1\xa1\xa1\xa1\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa0\xa1\xa0\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa1\xa1\xa1\xa1" + ); + + $yStart = $oy-2; + $xStart = $ox-2; + + for($y=0; $y<5; $y++) { + QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]); + } + } + + //---------------------------------------------------------------------- + public static function putAlignmentPattern($version, &$frame, $width) + { + if($version < 2) + return; + + $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0]; + if($d < 0) { + $w = 2; + } else { + $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2); + } + + if($w * $w - 3 == 1) { + $x = self::$alignmentPattern[$version][0]; + $y = self::$alignmentPattern[$version][0]; + self::putAlignmentMarker($frame, $x, $y); + return; + } + + $cx = self::$alignmentPattern[$version][0]; + for($x=1; $x<$w - 1; $x++) { + self::putAlignmentMarker($frame, 6, $cx); + self::putAlignmentMarker($frame, $cx, 6); + $cx += $d; + } + + $cy = self::$alignmentPattern[$version][0]; + for($y=0; $y<$w-1; $y++) { + $cx = self::$alignmentPattern[$version][0]; + for($x=0; $x<$w-1; $x++) { + self::putAlignmentMarker($frame, $cx, $cy); + $cx += $d; + } + $cy += $d; + } + } + + // Version information pattern ----------------------------------------- + + // Version information pattern (BCH coded). + // See Table 1 in Appendix D (pp.68) of JIS X0510:2004. + + // size: [QRSPEC_VERSION_MAX - 6] + + public static $versionPattern = array( + 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, + 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, + 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, + 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, + 0x27541, 0x28c69 + ); + + //---------------------------------------------------------------------- + public static function getVersionPattern($version) + { + if($version < 7 || $version > QRSPEC_VERSION_MAX) + return 0; + + return self::$versionPattern[$version -7]; + } + + // Format information -------------------------------------------------- + // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib) + + public static $formatInfo = array( + array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), + array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), + array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), + array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) + ); + + public static function getFormatInfo($mask, $level) + { + if($mask < 0 || $mask > 7) + return 0; + + if($level < 0 || $level > 3) + return 0; + + return self::$formatInfo[$level][$mask]; + } + + // Frame --------------------------------------------------------------- + // Cache of initial frames. + + public static $frames = array(); + + /** -------------------------------------------------------------------- + * Put a finder pattern. + * @param frame + * @param width + * @param ox,oy upper-left coordinate of the pattern + */ + public static function putFinderPattern(&$frame, $ox, $oy) + { + $finder = array( + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" + ); + + for($y=0; $y<7; $y++) { + QRstr::set($frame, $ox, $oy+$y, $finder[$y]); + } + } + + //---------------------------------------------------------------------- + public static function createFrame($version) + { + $width = self::$capacity[$version][QRCAP_WIDTH]; + $frameLine = str_repeat ("\0", $width); + $frame = array_fill(0, $width, $frameLine); + + // Finder pattern + self::putFinderPattern($frame, 0, 0); + self::putFinderPattern($frame, $width - 7, 0); + self::putFinderPattern($frame, 0, $width - 7); + + // Separator + $yOffset = $width - 7; + + for($y=0; $y<7; $y++) { + $frame[$y][7] = "\xc0"; + $frame[$y][$width - 8] = "\xc0"; + $frame[$yOffset][7] = "\xc0"; + $yOffset++; + } + + $setPattern = str_repeat("\xc0", 8); + + QRstr::set($frame, 0, 7, $setPattern); + QRstr::set($frame, $width-8, 7, $setPattern); + QRstr::set($frame, 0, $width - 8, $setPattern); + + // Format info + $setPattern = str_repeat("\x84", 9); + QRstr::set($frame, 0, 8, $setPattern); + QRstr::set($frame, $width - 8, 8, $setPattern, 8); + + $yOffset = $width - 8; + + for($y=0; $y<8; $y++,$yOffset++) { + $frame[$y][8] = "\x84"; + $frame[$yOffset][8] = "\x84"; + } + + // Timing pattern + + for($i=1; $i<$width-15; $i++) { + $frame[6][7+$i] = chr(0x90 | ($i & 1)); + $frame[7+$i][6] = chr(0x90 | ($i & 1)); + } + + // Alignment pattern + self::putAlignmentPattern($version, $frame, $width); + + // Version information + if($version >= 7) { + $vinf = self::getVersionPattern($version); + + $v = $vinf; + + for($x=0; $x<6; $x++) { + for($y=0; $y<3; $y++) { + $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + + $v = $vinf; + for($y=0; $y<6; $y++) { + for($x=0; $x<3; $x++) { + $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + } + + // and a little bit... + $frame[$width - 8][8] = "\x81"; + + return $frame; + } + + //---------------------------------------------------------------------- + public static function debug($frame, $binary_mode = false) + { + if ($binary_mode) { + + foreach ($frame as &$frameLine) { + $frameLine = join('  ', explode('0', $frameLine)); + $frameLine = join('██', explode('1', $frameLine)); + } + + ?> + +


            '; + echo join("
            ", $frame); + echo '






    '; + + } else { + + foreach ($frame as &$frameLine) { + $frameLine = join(' ', explode("\xc0", $frameLine)); + $frameLine = join('', explode("\xc1", $frameLine)); + $frameLine = join(' ', explode("\xa0", $frameLine)); + $frameLine = join('', explode("\xa1", $frameLine)); + $frameLine = join('', explode("\x84", $frameLine)); //format 0 + $frameLine = join('', explode("\x85", $frameLine)); //format 1 + $frameLine = join('', explode("\x81", $frameLine)); //special bit + $frameLine = join(' ', explode("\x90", $frameLine)); //clock 0 + $frameLine = join('', explode("\x91", $frameLine)); //clock 1 + $frameLine = join(' ', explode("\x88", $frameLine)); //version + $frameLine = join('', explode("\x89", $frameLine)); //version + $frameLine = join('♦', explode("\x01", $frameLine)); + $frameLine = join('⋅', explode("\0", $frameLine)); + } + + ?> + + "; + echo join("
    ", $frame); + echo "
    "; + + } + } + + //---------------------------------------------------------------------- + public static function serial($frame) + { + return gzcompress(join("\n", $frame), 9); + } + + //---------------------------------------------------------------------- + public static function unserial($code) + { + return explode("\n", gzuncompress($code)); + } + + //---------------------------------------------------------------------- + public static function newFrame($version) + { + if($version < 1 || $version > QRSPEC_VERSION_MAX) + return null; + + if(!isset(self::$frames[$version])) { + + $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat'; + + if (QR_CACHEABLE) { + if (file_exists($fileName)) { + self::$frames[$version] = self::unserial(file_get_contents($fileName)); + } else { + self::$frames[$version] = self::createFrame($version); + file_put_contents($fileName, self::serial(self::$frames[$version])); + } + } else { + self::$frames[$version] = self::createFrame($version); + } + } + + if(is_null(self::$frames[$version])) + return null; + + return self::$frames[$version]; + } + + //---------------------------------------------------------------------- + public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; } + public static function rsBlockNum1($spec) { return $spec[0]; } + public static function rsDataCodes1($spec) { return $spec[1]; } + public static function rsEccCodes1($spec) { return $spec[2]; } + public static function rsBlockNum2($spec) { return $spec[3]; } + public static function rsDataCodes2($spec) { return $spec[4]; } + public static function rsEccCodes2($spec) { return $spec[2]; } + public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); } + public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; } + + } \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/qrsplit.php b/lib/crowdfunding/lib/phpqrcode/qrsplit.php new file mode 100755 index 0000000..815f86e --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrsplit.php @@ -0,0 +1,311 @@ + + * + * PHP QR Code is distributed under LGPL 3 + * Copyright (C) 2010 Dominik Dzienia + * + * The following data / specifications are taken from + * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) + * or + * "Automatic identification and data capture techniques -- + * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + class QRsplit { + + public $dataStr = ''; + public $input; + public $modeHint; + + //---------------------------------------------------------------------- + public function __construct($dataStr, $input, $modeHint) + { + $this->dataStr = $dataStr; + $this->input = $input; + $this->modeHint = $modeHint; + } + + //---------------------------------------------------------------------- + public static function isdigitat($str, $pos) + { + if ($pos >= strlen($str)) + return false; + + return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); + } + + //---------------------------------------------------------------------- + public static function isalnumat($str, $pos) + { + if ($pos >= strlen($str)) + return false; + + return (QRinput::lookAnTable(ord($str[$pos])) >= 0); + } + + //---------------------------------------------------------------------- + public function identifyMode($pos) + { + if ($pos >= strlen($this->dataStr)) + return QR_MODE_NUL; + + $c = $this->dataStr[$pos]; + + if(self::isdigitat($this->dataStr, $pos)) { + return QR_MODE_NUM; + } else if(self::isalnumat($this->dataStr, $pos)) { + return QR_MODE_AN; + } else if($this->modeHint == QR_MODE_KANJI) { + + if ($pos+1 < strlen($this->dataStr)) + { + $d = $this->dataStr[$pos+1]; + $word = (ord($c) << 8) | ord($d); + if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) { + return QR_MODE_KANJI; + } + } + } + + return QR_MODE_8; + } + + //---------------------------------------------------------------------- + public function eatNum() + { + $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); + + $p = 0; + while(self::isdigitat($this->dataStr, $p)) { + $p++; + } + + $run = $p; + $mode = $this->identifyMode($p); + + if($mode == QR_MODE_8) { + $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln + + QRinput::estimateBitsMode8(1) // + 4 + l8 + - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 + if($dif > 0) { + return $this->eat8(); + } + } + if($mode == QR_MODE_AN) { + $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln + + QRinput::estimateBitsModeAn(1) // + 4 + la + - QRinput::estimateBitsModeAn($run + 1);// - 4 - la + if($dif > 0) { + return $this->eatAn(); + } + } + + $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr)); + if($ret < 0) + return -1; + + return $run; + } + + //---------------------------------------------------------------------- + public function eatAn() + { + $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); + $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); + + $p = 0; + + while(self::isalnumat($this->dataStr, $p)) { + if(self::isdigitat($this->dataStr, $p)) { + $q = $p; + while(self::isdigitat($this->dataStr, $q)) { + $q++; + } + + $dif = QRinput::estimateBitsModeAn($p) // + 4 + la + + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln + - QRinput::estimateBitsModeAn($q); // - 4 - la + + if($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + + $run = $p; + + if(!self::isalnumat($this->dataStr, $p)) { + $dif = QRinput::estimateBitsModeAn($run) + 4 + $la + + QRinput::estimateBitsMode8(1) // + 4 + l8 + - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 + if($dif > 0) { + return $this->eat8(); + } + } + + $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr)); + if($ret < 0) + return -1; + + return $run; + } + + //---------------------------------------------------------------------- + public function eatKanji() + { + $p = 0; + + while($this->identifyMode($p) == QR_MODE_KANJI) { + $p += 2; + } + + $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr)); + if($ret < 0) + return -1; + + return $ret; + } + + //---------------------------------------------------------------------- + public function eat8() + { + $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); + $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); + + $p = 1; + $dataStrLen = strlen($this->dataStr); + + while($p < $dataStrLen) { + + $mode = $this->identifyMode($p); + if($mode == QR_MODE_KANJI) { + break; + } + if($mode == QR_MODE_NUM) { + $q = $p; + while(self::isdigitat($this->dataStr, $q)) { + $q++; + } + $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 + + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln + - QRinput::estimateBitsMode8($q); // - 4 - l8 + if($dif < 0) { + break; + } else { + $p = $q; + } + } else if($mode == QR_MODE_AN) { + $q = $p; + while(self::isalnumat($this->dataStr, $q)) { + $q++; + } + $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 + + QRinput::estimateBitsModeAn($q - $p) + 4 + $la + - QRinput::estimateBitsMode8($q); // - 4 - l8 + if($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + + $run = $p; + $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr)); + + if($ret < 0) + return -1; + + return $run; + } + + //---------------------------------------------------------------------- + public function splitString() + { + while (strlen($this->dataStr) > 0) + { + if($this->dataStr == '') + return 0; + + $mode = $this->identifyMode(0); + + switch ($mode) { + case QR_MODE_NUM: $length = $this->eatNum(); break; + case QR_MODE_AN: $length = $this->eatAn(); break; + case QR_MODE_KANJI: + if ($mode == QR_MODE_KANJI) + $length = $this->eatKanji(); + else $length = $this->eat8(); + break; + default: $length = $this->eat8(); break; + + } + + if($length == 0) return 0; + if($length < 0) return -1; + + $this->dataStr = substr($this->dataStr, $length); + } + } + + //---------------------------------------------------------------------- + public function toUpper() + { + $stringLen = strlen($this->dataStr); + $p = 0; + + while ($p<$stringLen) { + $mode = self::identifyMode(substr($this->dataStr, $p)); + if($mode == QR_MODE_KANJI) { + $p += 2; + } else { + if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) { + $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); + } + $p++; + } + } + + return $this->dataStr; + } + + //---------------------------------------------------------------------- + public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true) + { + if(is_null($string) || $string == '\0' || $string == '') { + throw new Exception('empty string!!!'); + } + + $split = new QRsplit($string, $input, $modeHint); + + if(!$casesensitive) + $split->toUpper(); + + return $split->splitString(); + } + } \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/qrtools.php b/lib/crowdfunding/lib/phpqrcode/qrtools.php new file mode 100755 index 0000000..bb29528 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrtools.php @@ -0,0 +1,185 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + class QRtools { + + //---------------------------------------------------------------------- + public static function binarize($frame) + { + $len = count($frame); + foreach ($frame as &$frameLine) { + + for($i=0; $i<$len; $i++) { + $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; + } + } + + return $frame; + } + + //---------------------------------------------------------------------- + public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037') + { + $barcode_array = array(); + + if (!is_array($mode)) + $mode = explode(',', $mode); + + $eccLevel = 'L'; + + if (count($mode) > 1) { + $eccLevel = $mode[1]; + } + + $qrTab = QRcode::text($code, false, $eccLevel); + $size = count($qrTab); + + $barcode_array['num_rows'] = $size; + $barcode_array['num_cols'] = $size; + $barcode_array['bcode'] = array(); + + foreach ($qrTab as $line) { + $arrAdd = array(); + foreach(str_split($line) as $char) + $arrAdd[] = ($char=='1')?1:0; + $barcode_array['bcode'][] = $arrAdd; + } + + return $barcode_array; + } + + //---------------------------------------------------------------------- + public static function clearCache() + { + self::$frames = array(); + } + + //---------------------------------------------------------------------- + public static function buildCache() + { + QRtools::markTime('before_build_cache'); + + $mask = new QRmask(); + for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) { + $frame = QRspec::newFrame($a); + if (QR_IMAGE) { + $fileName = QR_CACHE_DIR.'frame_'.$a.'.png'; + QRimage::png(self::binarize($frame), $fileName, 1, 0); + } + + $width = count($frame); + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + for ($maskNo=0; $maskNo<8; $maskNo++) + $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true); + } + + QRtools::markTime('after_build_cache'); + } + + //---------------------------------------------------------------------- + public static function log($outfile, $err) + { + if (QR_LOG_DIR !== false) { + if ($err != '') { + if ($outfile !== false) { + file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); + } else { + file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); + } + } + } + } + + //---------------------------------------------------------------------- + public static function dumpMask($frame) + { + $width = count($frame); + for($y=0;$y<$width;$y++) { + for($x=0;$x<$width;$x++) { + echo ord($frame[$y][$x]).','; + } + } + } + + //---------------------------------------------------------------------- + public static function markTime($markerId) + { + list($usec, $sec) = explode(" ", microtime()); + $time = ((float)$usec + (float)$sec); + + if (!isset($GLOBALS['qr_time_bench'])) + $GLOBALS['qr_time_bench'] = array(); + + $GLOBALS['qr_time_bench'][$markerId] = $time; + } + + //---------------------------------------------------------------------- + public static function timeBenchmark() + { + self::markTime('finish'); + + $lastTime = 0; + $startTime = 0; + $p = 0; + + echo ' + + '; + + foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) { + if ($p > 0) { + echo ''; + } else { + $startTime = $thisTime; + } + + $p++; + $lastTime = $thisTime; + } + + echo ' + + +
    BENCHMARK
    till '.$markerId.': '.number_format($thisTime-$lastTime, 6).'s
    TOTAL: '.number_format($lastTime-$startTime, 6).'s
    '; + } + + public static function save($content, $filename_path) + { + try { + $handle = fopen($filename_path, "w"); + fwrite($handle, $content); + fclose($handle); + return true; + } catch (Exception $e) { + echo 'Exception reçue : ', $e->getMessage(), "\n"; + } + + } + + } + + //########################################################################## + + QRtools::markTime('start'); + \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/qrvect.php b/lib/crowdfunding/lib/phpqrcode/qrvect.php new file mode 100755 index 0000000..113fd12 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/qrvect.php @@ -0,0 +1,214 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + define('QR_VECT', true); + + class QRvect { + + //---------------------------------------------------------------------- + public static function eps($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $vect = self::vectEPS($frame, $pixelPerPoint, $outerFrame, $back_color, $fore_color, $cmyk); + + if ($filename === false) { + header("Content-Type: application/postscript"); + header('Content-Disposition: filename="qrcode.eps"'); + echo $vect; + } else { + if($saveandprint===TRUE){ + QRtools::save($vect, $filename); + header("Content-Type: application/postscript"); + header('Content-Disposition: filename="qrcode.eps"'); + echo $vect; + }else{ + QRtools::save($vect, $filename); + } + } + } + + + //---------------------------------------------------------------------- + private static function vectEPS($frame, $pixelPerPoint = 4, $outerFrame = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000, $cmyk = false) + { + $h = count($frame); + $w = strlen($frame[0]); + + $imgW = $w + 2*$outerFrame; + $imgH = $h + 2*$outerFrame; + + if ($cmyk) + { + // convert color value into decimal eps format + $c = round((($fore_color & 0xFF000000) >> 16) / 255, 5); + $m = round((($fore_color & 0x00FF0000) >> 16) / 255, 5); + $y = round((($fore_color & 0x0000FF00) >> 8) / 255, 5); + $k = round(($fore_color & 0x000000FF) / 255, 5); + $fore_color_string = $c.' '.$m.' '.$y.' '.$k.' setcmykcolor'."\n"; + + // convert color value into decimal eps format + $c = round((($back_color & 0xFF000000) >> 16) / 255, 5); + $m = round((($back_color & 0x00FF0000) >> 16) / 255, 5); + $y = round((($back_color & 0x0000FF00) >> 8) / 255, 5); + $k = round(($back_color & 0x000000FF) / 255, 5); + $back_color_string = $c.' '.$m.' '.$y.' '.$k.' setcmykcolor'."\n"; + } + else + { + // convert a hexadecimal color code into decimal eps format (green = 0 1 0, blue = 0 0 1, ...) + $r = round((($fore_color & 0xFF0000) >> 16) / 255, 5); + $b = round((($fore_color & 0x00FF00) >> 8) / 255, 5); + $g = round(($fore_color & 0x0000FF) / 255, 5); + $fore_color_string = $r.' '.$b.' '.$g.' setrgbcolor'."\n"; + + // convert a hexadecimal color code into decimal eps format (green = 0 1 0, blue = 0 0 1, ...) + $r = round((($back_color & 0xFF0000) >> 16) / 255, 5); + $b = round((($back_color & 0x00FF00) >> 8) / 255, 5); + $g = round(($back_color & 0x0000FF) / 255, 5); + $back_color_string = $r.' '.$b.' '.$g.' setrgbcolor'."\n"; + } + + $output = + '%!PS-Adobe EPSF-3.0'."\n". + '%%Creator: PHPQrcodeLib'."\n". + '%%Title: QRcode'."\n". + '%%CreationDate: '.date('Y-m-d')."\n". + '%%DocumentData: Clean7Bit'."\n". + '%%LanguageLevel: 2'."\n". + '%%Pages: 1'."\n". + '%%BoundingBox: 0 0 '.$imgW * $pixelPerPoint.' '.$imgH * $pixelPerPoint."\n"; + + // set the scale + $output .= $pixelPerPoint.' '.$pixelPerPoint.' scale'."\n"; + // position the center of the coordinate system + + $output .= $outerFrame.' '.$outerFrame.' translate'."\n"; + + + + + // redefine the 'rectfill' operator to shorten the syntax + $output .= '/F { rectfill } def'."\n"; + + // set the symbol color + $output .= $back_color_string; + $output .= '-'.$outerFrame.' -'.$outerFrame.' '.($w + 2*$outerFrame).' '.($h + 2*$outerFrame).' F'."\n"; + + + // set the symbol color + $output .= $fore_color_string; + + // Convert the matrix into pixels + + for($i=0; $i<$h; $i++) { + for($j=0; $j<$w; $j++) { + if( $frame[$i][$j] == '1') { + $y = $h - 1 - $i; + $x = $j; + $output .= $x.' '.$y.' 1 1 F'."\n"; + } + } + } + + + $output .='%%EOF'; + + return $output; + } + + //---------------------------------------------------------------------- + public static function svg($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $back_color, $fore_color) + { + $vect = self::vectSVG($frame, $pixelPerPoint, $outerFrame, $back_color, $fore_color); + + if ($filename === false) { + header("Content-Type: image/svg+xml"); + //header('Content-Disposition: attachment, filename="qrcode.svg"'); + echo $vect; + } else { + if($saveandprint===TRUE){ + QRtools::save($vect, $filename); + header("Content-Type: image/svg+xml"); + //header('Content-Disposition: filename="'.$filename.'"'); + echo $vect; + }else{ + QRtools::save($vect, $filename); + } + } + } + + + //---------------------------------------------------------------------- + private static function vectSVG($frame, $pixelPerPoint = 4, $outerFrame = 4, $back_color = 0xFFFFFF, $fore_color = 0x000000) + { + $h = count($frame); + $w = strlen($frame[0]); + + $imgW = $w + 2*$outerFrame; + $imgH = $h + 2*$outerFrame; + + + $output = + ''."\n". + ''."\n". + ''."\n"; + + $output = + ''."\n". + ''."\n". + ''."\n". + ''."\n"; + + if(!empty($back_color)) { + $backgroundcolor = str_pad(dechex($back_color), 6, "0", STR_PAD_LEFT); + $output .= ''."\n"; + } + + $output .= + ''."\n". + ''."\n". + ''."\n". + ''."\n"; + + + // Convert the matrix into pixels + + for($i=0; $i<$h; $i++) { + for($j=0; $j<$w; $j++) { + if( $frame[$i][$j] == '1') { + $y = ($i + $outerFrame) * $pixelPerPoint; + $x = ($j + $outerFrame) * $pixelPerPoint; + $output .= ''."\n"; + } + } + } + $output .= + ''."\n". + ''; + + return $output; + } + } + + diff --git a/lib/crowdfunding/lib/phpqrcode/tools/merge.bat b/lib/crowdfunding/lib/phpqrcode/tools/merge.bat new file mode 100755 index 0000000..2b5eebb --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/tools/merge.bat @@ -0,0 +1,2 @@ +php ./merge.php +pause \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/tools/merge.php b/lib/crowdfunding/lib/phpqrcode/tools/merge.php new file mode 100755 index 0000000..2a5d7c1 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/tools/merge.php @@ -0,0 +1,71 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR; + $QR_TOOLSDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; + + $outputFile = $QR_BASEDIR.'phpqrcode.php'; + + // Required libs + + $fileList = array( + $QR_BASEDIR.'qrconst.php', + $QR_TOOLSDIR.'merged_config.php', + $QR_BASEDIR.'qrtools.php', + $QR_BASEDIR.'qrspec.php', + $QR_BASEDIR.'qrimage.php', + $QR_BASEDIR.'qrinput.php', + $QR_BASEDIR.'qrbitstream.php', + $QR_BASEDIR.'qrsplit.php', + $QR_BASEDIR.'qrrscode.php', + $QR_BASEDIR.'qrmask.php', + $QR_BASEDIR.'qrencode.php', + $QR_BASEDIR.'qrvect.php' + ); + + $headerFile = $QR_TOOLSDIR.'merged_header.php'; + $versionFile = $QR_BASEDIR.'VERSION'; + + $outputCode = ''; + + foreach($fileList as $fileName) { + $outputCode .= "\n\n".'//---- '.basename($fileName).' -----------------------------'."\n\n"; + $anotherCode = file_get_contents($fileName); + $anotherCode = preg_replace ('/^<\?php/', '', $anotherCode); + $anotherCode = preg_replace ('/\?>\*$/', '', $anotherCode); + $outputCode .= "\n\n".$anotherCode."\n\n"; + } + + $versionDataEx = explode("\n", file_get_contents($versionFile)); + + $outputContents = file_get_contents($headerFile); + $outputContents .= "\n\n/*\n * Version: ".trim($versionDataEx[0])."\n * Build: ".trim($versionDataEx[1])."\n */\n\n"; + $outputContents .= $outputCode; + + file_put_contents($outputFile, $outputContents); + + \ No newline at end of file diff --git a/lib/crowdfunding/lib/phpqrcode/tools/merge.sh b/lib/crowdfunding/lib/phpqrcode/tools/merge.sh new file mode 100755 index 0000000..f7d3168 --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/tools/merge.sh @@ -0,0 +1,2 @@ +#!/bin/sh +php ./merge.php diff --git a/lib/crowdfunding/lib/phpqrcode/tools/merged_config.php b/lib/crowdfunding/lib/phpqrcode/tools/merged_config.php new file mode 100755 index 0000000..8cd917d --- /dev/null +++ b/lib/crowdfunding/lib/phpqrcode/tools/merged_config.php @@ -0,0 +1,17 @@ + + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + \ No newline at end of file diff --git a/lib/crowdfunding/lib/webfonts/LiberationSans-Regular.ttf b/lib/crowdfunding/lib/webfonts/LiberationSans-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..626dd9364f12c6036ec8eae38c4fc73735b9ed23 GIT binary patch literal 350200 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�BewIm~1i1qDi>|wQD|Q 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≦`0o(@JB0sERu3zfUsRNu(xa|rA`ieJ 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 Y&|?BN{_*!W3tm6{caJds=Lh%wJ%~ewUjP6A literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.eot b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.eot new file mode 100755 index 0000000000000000000000000000000000000000..4f991ad37a9fa5b8c837c22074a802c917386463 GIT binary patch literal 129648 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 X;h(-E@rAdnIq~tY+kZYe{^$P-$I9!` literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.svg b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.svg new file mode 100755 index 0000000..c5f544c --- /dev/null +++ b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.svg @@ -0,0 +1,3452 @@ + + + + + +Created by FontForge 20190112 at Tue May 7 11:33:44 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.ttf b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-brands-400.ttf new file mode 100755 index 0000000000000000000000000000000000000000..8836d9ff640f68dbec3382859658289281634e50 GIT binary patch literal 129344 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�>JI&Z1^neD&JEaF_A^2cqd%zf7XH<#M2 zflDEY0Qek|ZpNH5K*N^Kek9$R9zgSXa)FG|w0PM|xDbQC1HeGN(}=$q&y;F&@zo5W zuUHB_E1d^}dWR|??9l^Jt|FbH$KsU~z0g2OSc}y?o4{w$*3GHQEv=5=-)>~Ex6uYT zY_U26lD(g?gJEegZfpvhDi^F*i4ErVk3-zm%doBX0j+f-jj^*aiRRD-tu3mLWzvYY z8(BoP5lf59ZAUgFZ~$mC^NX}JDt3!~AjAE@cHmmM1zps=*-q>$dw9&ykwec8I z28;6Y5k{gIc(+j**2ravKOe4EGM7;o0hhzBaU7@7uD3GO0vsXGs9g67)T>gYFDK9b zZ43@1NBeW&#f0~&6OdZ=L;cA?S;CD{jr zFx$B3<}FH2Mn3kL$Ixkh46A?_xdTRzyf;2E>hBdI7ygqQ?gl$SH zrOm2!vFu@{Lt%*?-9X|KjBpBJrYD!G?@dfiP4r*Ct9jnq2(v*Un=o>vM4@iha=FCF z`l069!w+2b8^7_HS1eFLQ8$7hZPRuEo)bKBIUlL5-egdu~3L4LDRY`kO-K zCl@@qP{xL*_eb!tv;7eXC#({n7ZQx;1*8Uc-R@OyIDIhhyN@_6=k+Hpx%f~%m%44c zZ*2Xq=P5Ok{dg+%``2DOn!Znt4+wYW``|v$rzO}R8)>|*5F~C;PimaeXdcgdr{n-h z=>t=WNAH;N=|nm;>i(9s;heL>UHZClD)xK%$^4vmS>oN*O(4z) z0z< z{BQ4FTFR(&y*oX;a`*yuPt9G8F@az|WJlxO2`w``xj0_$kA&5<+eJ1sh5V+UQEOj) zS@E;ad9ksW?6-P50mCm}T|KdNtY%JFFzKz7-gVO@-JXrFbjH?<1+6@`qcJn)jAVtT zn{rmYjDV-K4W7!6z=306oI?_ap5GQ>%Ng zx#odu8lQZ|q4RD!Pt{-Fz4q1DUc0|PQ9n<7FF7R*SLWO5bNID~h2scf^;9sGyB9?| zxvkPiDYinXqwTjO1IdDD_`&+1FV{4Y+eT@E1IS;y-?PZm6uTAh%ZU+L*+0Y{py%ML>1x2Mx)s#-SFCtwYw zb~H{9Mdp4QXTGIAjSVAp@`n1*0V1Il8jmpAx)ekh5LZZ3f^ghx37I2LSc$?wxS=w| zY^*vj|IqW|dz>aAvWXWy@cv$PdbF=pEj3+M>5N^^jxHRF zl~&jZ)0!j$F%j^}K!XQ5_}pi$eBhOpvH|wvVB=8Th1%txkRYP{g+=KZ>rJ+OWz4?V zO51xa8y)2LFW9p9?N;mx+qw$1@f~PK%*E{A9k*g%j>mp$%(C7k_~PR@XqNSQ%Q|RT zN3Eo_8;K&*`khNHYuK{hW+RqtUBTkMWm!GTdN;ehg95Y|Q~1yl7qN#L#QM-_7?Owx ztr+0B&27h}*9cvOOCk25WN}$CHzS+P^@^8yc8(T^h4<>!!}IO-{INaL&(vp|ZY7`A zSFR4L2h`?teX;g0!)41Zd6{(AqpV!6Q~u`(%AWg^^@bXe-GFLed;y*2P5Mu3iGca(q)_-50@Y_KhGhF)2XQR1qXz0K33;->K`U=w=dv{f)K4Cmc z?I-b8c?sx7oTf;bDv0ZxFp4X(PBbsMnM|JB27>XWH}JABH2{-i`bJ) zo^RiF0;aILxvL0{~!(uamzL4POImnwR^SmjsX*7Qrz^vOoq%U7Mqx z8+1R?1?W3CVQ{5V^hu%i#d4lq1o|b*2^t*!754%ki>w9$mR0e`G%_Y|323Pi`4Tse zHRGMCUrmG1=_>1M_;4`h0jM#1qH25M3gQG}J_5AT1le1NjB*$@G(E4lwrEv$`0;|K z)h3deY9_@z9BrpeY)s_O@qS4z$M5{<`N

    I|vwwU(ot6AtgVZlnSAWY4K7q-pJ@~ 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

    VN2<Xke^_}?R=yfr)!8DNv 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�r0cx^+IVXfw~N;CnEIa21HuCd0*+5 zOuHV2K0Sk6$J96$hH>2dRB-0k83qhh0KPLMV=l>7O;`_~lfdm2dJG|0*~o+BYmCWg z?FrXev?G;e2awYoZ3F!$yi4K7BIQJWxbP(m3y}S#X(CWXN7E=Lft%+NIC6!~x6dBP47S{hHVP;^#?x*MUe$=~YF0b@L$+47?G zCm?`i61ql?A^J$=G_9KmOhkIMqP?;M3k0cjem?x{OG*Nf97HjgKJWHry?4(zkjhnb z)Yi^fm~KHd<}U23V~;3=HX?~T4j=;W1jKC1-KE<3{~3RA)wyr%B|_{}h^)DLL*;A~ z=T{;?k_O>!)7P-Ey{N|~EJAc&GP-9Dj2@F2as`6W@a!q~%V{h0%pK3%XA*M?nwfVA zdFbo&LoLJIE&=9*uS|FXBm^@cjVMe3{N#T$TOY^BDpb$vX z5>#Ym&QS++BvgRNDI#Ve6ogWgDR>zhsDwz=g^B?Q;OwL=g`i31RMA7R-tc#9btk2+9N!Q-(-f;ZZ9SU~%<< z&`*~%h6i#XM4Nqu{DVIaT>lY_5_x%w8_YBP0$eFmNNFT$K_7Dgnb3JfXn+YArYMq7 z0Uvva3hU;d3lGpEPBtRp@CzHZRHB|BM3Db_p=op!gdZb*4MGyZl0+}Ts;c3}6|XRl z{V=`gl7pVl#!a(=x;*@rV16L=Q%_i(wbu2%w~U}6>eI`IB^6ePsQiWtNGBuf!;R4R zksPYRgn&oaqb)jY1;|`J?ueS~j<{j0f#opSpyxvFFXh%kYc^G7wzYN()~beWhp7sg zJ@gO=0dfkestu14)Jmu*b%=I3JJAk zROJcU=P8#Zmunsa9ZY`RmG3VZa5z6MXsAgry>Z00g2)e(<{XAzHCUPkYJRZoIFtV`5?wZA0Vi8 zRL8BfVOlXFRso9_RB$}jyK~F)OYDNMJLo3rNN=D}=OD5ZIgC`x`^17OVU_5lR8N49 zD<0~^yyB%xGzr~_?@YtPH0s!=vz?tijSvEud)xKshl%0WXP8VtGpnJdTvJ$Y?k?n~opGA=OInWKTL5f!^NyN6dBM#bYYVsL4AeyxB--V8 zc%#Ne?8Z%z;J)aqw?nZ1!}%eQTGvL6by3R_)V;JgRLbpW#{2&hk6$tWefIL1@@sHKEX3A2Oxe%RdEK?GhkGO%BKjO#H8b=1a)*v;wRQT znf6}qKAc4vj6IO80tD4r-&#Pz_*QHHT+!_*00+_7gPv1&RWb#19im#-hkHFN$4z;O zl+WTvh%lmvYLJj7k+>2eQi@&4s69 zJ)S^9{PccQ#It4*hRAglO999M4P7#*`14%R(!_V)&8oGB2d5J&G7W2B;=(5`w= z91DtJ(g*Vr!@byjuK~3pO5NiP5j?pO=w*>&eMgQXJmlyF0RO&4Ns+BB+hQP!f-hXh zJlIFh&w%7aG)-%818UybWMH+-^tiK#n2@F>AKt`dDY&uzZH0!Y)+h zQp%^mAj`);CNikn(daLPx^F{cdE3TJRl_MydWEC!Ta~{{YpaX@cSxtkK|}$rI9$v= zpY`FV*5u2$?|L)K-JMBh{ddL-I!JXdkqmHMG12l>MXe>Duhp@Vhhg? z7B3V;Mc`1mKkP5}g}xvZ`^1!i-7sL&bb_?jNotn;AIDfX^h z7FfD5XS>;)?6;cF@R&>r5_05cElgY3m+~*o=3?i5hUemg%Z|-hZeu6XnW){-_fR5B zUaU-_s!RCZE+>?SYNv<&v0@rm^ps0-h9N9J@oIi#%>clRE3*VH_3vG2%L5QA7*uDL zmj?SUM$G_X(=@LAQ|^CgjZ*XmV~mXN5Q!lzS>BWhAux3O`4{xRYRR= zx)}XswzE$*v!Uu)83M;xbyAQ2F?$X22lB#pmm9v)dmtwVep9!!h?_Szx4f9w_%X>N zG6p~$F}{UD;!wev0$i|<1^k{z{G!1B%ggrDV8v~waOpWO>=)F$h?)OHJkFU+qIkW3 z;x!MmgASSI5Ef<^vKwQW!wCh=S@Cf9#hLVeF$r(+MAoo)$~vYgS^&?gOGj-=VHp2j zTov}-Pn^Gx&1=0nG?J!_k%xq&ZK&rp;AH#rE6y>(sz&$@k?T-}`9NI!E+VqL&hDpc zlccVw!L?=c<`(M4!MN7D=_%OclwYm}M*WwZ;iWCE7It*(&w>Inlb_0WjsCR)WPVrn zF3->PS4#36iz_)f<#Jw3^!t<)3JcRd)%90$id)Hh*YW{3a^TpK!TLg%mMvRaraAp` zq(?3+P$+<|4!Mb)9J&8-BK>=b&Ke2rx#@}xg`r^=JW*-(e~N)$@!H^2RDwqsDs_&|iux-m zI=`>hH-p#InUP7oSP1@2hq+wqmWR0k@Y{CQrS zz3!~JwmVGLB`9Tu%A3-Vloa?`8LW1%*9ayk9LuMle!jbp_*(zLu&+hYvZG zTbO9_c7{osn-gKv(#$rLU9FL8Z^-3EXz$xhwl19n2y<#7N;}ocU`r9vg}=1ckWkKl z&iwNi$SR5s_Sli1b8{|*{j9ei2l;>N;;p27G#y0@&qjk~fQ`4J3m@WG4~Yk90UB>( zOI4TrLsiCBCW<_rVbd5})6FJ{+4#*Cs*#&-=;RF;ojAUXIH+^xV8)nqHoy=k0I48E zrlgy)OpaYx#Fj#DMJb%ZLSG9NR{s>hBg)8Uac4-LybFBKB=r4B^Fd1zGq6gc%WMex zY58Py^(?>{|J=vX;Hty9nw1wo%-o1;28-5H8>mx&IcHZz8rbr@Qk&c z(8599sVnHe!rI$q9u(1|FAfSxlww*`yNH#JlSv-EYIfxowznH?PJXcQfuU|w+2GHM z36zA;FaV&(cO1TX!;>X4a^1Rw&6_XJh|moHDyM&xe>3U$=L|U0JQca&I`j_=K40cvjlX%@@SYhq2;)(wowAkC5Py%Q$?WoVhw{HKofh;ru{=NbP`%og9J z-qT7$=8Y!Nb-Nm#s}YDP11iHRnbn(7>FegFqXFpI4Yi}$uuUJUy3w#Ym>x1dFTQk| z_fn^gm_OYFER>~Ji>Rpb)Vy8m{_x4LWS)EAm3a_mx9X1YTg!2iWT}#r^|r+cV?vC2 znoffXiPE%yk?u7O5<4OSICVBr00@9YtCu zV&T{~TR4~ToUpkBV+aN29Lo9KZLUdtyyd0qs~#zMC`Jo%hoss~ZHbZ%yFfO8?cG%% zK`hD!-0^JCr`-gpE1=iP?1l}X*XSfhTf=C@a-@j+)u!g(+Vh@g1yqLL8LTN=TypsX zY2S3mHQz31=2#w_%LsXJX!4(o6bzlD5H(@3kDrD%LDC?VJqx>99AiSz6_fI4`>L9_ zN0Q`&gLfjTTxR{z4zkxk)?lQ#P?<{nkZR@-C@YJ8P04m~!w^*d+LTbrOkpt6eVnuZ zRK*W2E7Ej>ub?|sCU5eMvIYApczc1HM^p*2uduBb)iHBm*}>`WA0rDd%v`rq{)D+tU8?$iV39fI{V4`Ao!t3qJk^HbFGsi~r#*Z#e#JY7edDAX zM~&^*mM6OFOgsk(^dy13hj(3N*8-q^cU4gw{#O=+?AL5^eg{T8h zmXy!FRb2k{3Qx$TC%?jSEk`yU+tyv0S=zAe*#FKK7Bv;$n%z`#Qf4-3t^~%ptu6jT zD3lJN^KWQOUcoZqAI0n9+(BXA4DtNh+tMChk+_)j^{vc5!W^%{3;ZXk84X^S5v)Ct z%a*1LDxW{{YRI4#-YH0fXY%s=^v%4N5u|;K>~hZ(L{?pG+5A-E&#oMgXrjkPz3`%lOmPxF2zZr4c5hVx`(FhP&R?WM075Zppt~>>!15m7U9fOby)_66vv4 zJ6wz|0~;Ewz%#)MCVYOjo>x;k4}xaij*7qq16V<}eieD^j1eX98F^-qtzOdzXw_J(yej(g4OL24_epw`TebGu#(e~oi!9pl0HWaRz*lEjYbh#wOjLTca{ z2F=z>Uo@jDe#GkFB~xd0rpEat^>|(jtzu?;y!kzL{HGtq*@uYQX-ZR!XTV?|xHxxi zSqYRp2QB!SccA$14CM3S!PjTjEVLItT{DdCIZD=UWtkjusTg;IW=qW!%NYng)7dh< zGg=RO2ai!^8gAN!5z}JrA&=&jYLU~yRI15AA8A{>^I^r!Z2Zu)s@yvhkcM9VfnF^o zhW&oN1$AL~EG#@8(b!^;F!eOSf_t-FLAtZbwvPp*v&d_-Eyy?xIXSYKt1?A|Mo^ps zunnw)SYB`ZD#we#9aOLIw zp+bkuG0SD0K;~=oh z5{n|a9C4ceR?0XrZ!>s0nP~-7J}&&ll^q%F2g2vkla6XqL03!;YJbs zanDtA1x+o=DBu#6{_IVLT`QlmnWLN@tBbXVV{tpsG|q*}WPp1@zU&bA^Q@fcGW!aX zL1O!(7;8NChMo14`qU;tKv{yl3dC(o8>`|s+Q8>+4nG}kUtl0ck&J04;+g4~ z$oe=nHQpG$-cPu)+YPleH+N?^+x(>;Z<58J4dC@q>aS{>M06S9CoGlK?FxmULvA*E{1|Z z({1;h{YdX1tlb#Wz<($+Ag3pwdZ-;#{bRSsJ<5mTRV=fXb#Ik_0XBiYb!g%OJq#W0 zdwKT#^#`%w?b$NTx-2L7Q~ z`zivWiF^^`p?aXTrf z5vR6--@on*sG3~zGoSeYj!0cN9*A!x5L|e%@rAzk0fqY6Tj|zo2u*hIh@O#E15YTv zQ}C8Tfd3q=)vL8PtPCSE>I+?z^J&RZ@X8C0+jTxW}X zTUrzz&YjM|w<|?5uwJ()MpRdu8LET<5z4wsv&lzYqe1>MG+Y50zs!)&v13HGimDL| zGI55Ud2DDu!>f+Uf{>karfm3wL3h}30ZO@)Nx?m&F=QL;bM zcY*`A8`+H$6J4^d*85@xs`ARP`|tr7XZqXCuhr6vO9Xk7p3=rHP6POI zTf(9%>8x|RPw3UV=p%kXEMns(9fBv8(Ci?=N-pygoiW}$-bIqct}J^9m&(X>Cz?!* z13c{v0qPerg6JY0(9_}cIc)|igoq3SG5a&} zEW8S=L6FPQ3+QRZg=bKTu9o_NVfn)38ozpWhB6q=>ugp)_%2pHU;%42IH`+Fa;oal z$uO57p{*dt>%`d5V1R1Us>IBK_T=veC7ZmLV|3cf zbnI^h?+libiQHhoTU=&d2<=+YuN-NGy`X2<)YjR+1HCLQY>4Wa{<@nS<~?0yNu5&5 z2pSIgEnAP@%N0Jc?P|CmmW(`#u@0=F)CStljP}p#wTn$WI54-~&)kBNm@ZKV-OMtH zAM?Eq!;^mv61Z?IESX2zYH|{CJevHWt*qAgia*w+I5tSum>wxlT*q01XH_dmw?!

    fBvA&WLOZ7q(= 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 OeR{T~XC>bN0002Wa^SE4 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.eot b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.eot new file mode 100755 index 0000000000000000000000000000000000000000..12be17b5fe6d32498b37fd3baf18a2d50a85fccb GIT binary patch literal 34388 zcmdtLd3+pKoiAFa_NuO~-WN$NsnxCS*1op7ZOfMBCAO0|wn&^{5=bOl@{-7w&=Myh z5Dl12fWSDxlL@)Z#ca8}5N2}OZV1aY3@_*p34_9buu7;aQY{>uOFSh_sDdE(kKWpl@z~VFWa#fUwc+0P z@hu!fhI~kR1?mgqy7kzJg?j>bpo0bWEJp0W^vvOjpIq~|4+(;X`dHz_#67dZPldlk zdIQQQPfnbe>g>yZRuE48ND!2pXJ_UYe!G9$rv>5loAJztscr1qd!r*C56<1;+x(K? zad6?g_l@qx^8(I$FaPZFr^G*Ie}hZiMHM`R&v{`~=nIR)5fo(aWk+zm+daP|)Cs4n@e%h}1qE?2cI28#VQE=@>3Mek z@_C_$AX%c?so*B|L7b8Tb6SElhD#JK|A#m#_)wAn(dixsXvsN?TPyi=Pe)ln#673{ z<=^u1P8mTQz5H927ksGmcf1^x6;SrFQ=Xow{_=a{Yw~mkj46M`QRhCryZkKAqcZ2K zzDr2c_k#0v-y5Scm1oOku5zZbfd4XEzWlG^D7E$SZ=5`*EtKch$=}D{a~|y#a3A-| z*XaNMpyz5}Jik(g?(y$Z`5EUPZ#U(QI{8!|eW^bFUgT3dE68 z_enc##`CD-isgUl+!NOSBN|EHgoAJ5w{b<7mk?wTa}wCLB&b5iva+l#$Cgvet;;>j zBg;FNU$uO4d3Jezd2#vv<)!5Zm*28{cKOej&n^GA<-cBje)+=kzbwDF{Hx{C#lXe- zi;0Va7k6IVb@953`!3#i@zocnERGuDx`_ zrQ0sO=F-BY`!2oh(%Ub6^3ta+efrX8FMZ+CH!pqv(!ahazS#ESZ7+WC#c%w=|BH|O z;(IUM^3u_l?tAIsm)`x-2VeU5OV7Uag_oWOH4>KPRj|IY0_*E)VEq7K{c;Vg@hVtv zxHxw4wu_S&-+b{A!20=Buso) ztPHE~vajU(H{U<`e&qWBzQ=uk>O13mhwrrSe&2n*Q@&e$ zukvm8ZSeK`x_xcFsL${7*}t~`+5UEL&1?z*>QP1Cc z-s5TYggugZ+5C6&-^?GF|7d>4{Dy-Yz=r=%{4o_6??TGSCQYyEzw*uMy#N2EM}_-^ zFABe6C)wxN55x}fwD@&NmJUfz%k}d6`^|ccBuQ*uWI$$A?*kHA^iu&?Z&gF zZEi9jGJoRP;MTvARROFq|Pwp`b8rsWH%BdMRK_odIb`dja8{Z4Bs6U~fe zw`ZTsnYpptgSpS-F159_O}Bluy|w*~?f=lRuj5Odh0Zs0mb$L%da^s%{X~!6bEH@A zeWye{=aCMHPHE zD6|5TnwaWiYO0s@utKpAjg7EaA)m`4GuOj3HQdaiMfR1}c(ma!{ayaQY>38NI~O}T z7Q>CLP5Tq+bYg!~YvVJL#Fm&Z}E1Nzl z%k+N1clkN7pM7443n~77AB#oRUc4*2mF2R9tzu!ISuFN4`*!}mju$Z-vJ{pP{J9nD#(4$A~tQb8V44!`9q3|2t z5I*#_?b`*s`|^2)e<6hTc0gPeG6T^@7FN?Osq7Y(FANSu2MV#Fd^Vj@({Ei{8O}{?K4r+St^zQA!W~?4AP$?m2L5Y{Q1J4QKWj z>%)mexW2gG?>|?c9`ySM)Ai5b{(*bmjr$wMz=!n9&$C}aGSmd0&@2c+yhg?Af_M$R zPRS8e!)%}t{evNT*Vi9;C&vq z4&d>p)mO(YOwj{XM}t4QSasyMg)v53zX0_E5;YqDLSuwAXE?P;SVfz%LxJp2z7T6- zv2Y};(XfYx$|dM(aDa_BMFeW}<$%-fl}a-lQ3Z#vZd1kpyG$fF$XfFL_y5P9~E-i6^-r1RPuf4w}G1r~h*r z?|Qf6i)<{MIDa1PPpYM#sb?6HrM}r&>eA8yb~k$Ctp^B~sWQl1G^S}NPFEev^2o%7 ziiKuI-^hAHv@sQnrDA%UuD9Kz>j&8qUVVX&VG=KYM#WSin0|#qvDAO>E0-ICZa{NO z+=e-wz|87}Dko%|uIH1BBUj4+A#o=Qv<&5o&SYnp=qwu6az0iJ<+7OX#R7XYDVr4} z2r9Ci6s1dS{5_>#-x^McCes3a!OpPs5n<|OoHT7^ZudoN=3>vt zh_1(UV`Rj@Nw2x8ot%%XSHyjQhO`!@Dw@#hk{^xwkVC^Ei8*kv>p4-_Y#2`)`fY{* zScc!B8}7R&9J*lWA2y8JID}i?t{WJ$>h^CCM%U?quq_gSq)7uxFd`O5Bu*Y}r%#GB zTgpVBrb`CF6g8zs(e$8c>AE4+`8)y3(2RtkW=6AHx7DTU>Qc3x^VV3>_Uo#mX^LTm z{hF%aamDg$mdDT{npwzynjWg-{e*)!3j7ZM`+GU|6Ac1pVfGe=^0|Tnys}w3)dQB2 zFOGoJX#<5~4@;?9lgN_2+qS)Co9wk?Et-#YOH#+zQ`6Juzho56XA!#h1fjQ993c*s$hZ-ipnWfDM?;tI=% z#H!NT71GsZidBqgm<>66Z?JqGh)RJLaHW=kvu&2uW{u-}rPF!$UYUsW;d%+*zHp+i zbdEU6Ij4k0Rk)vr%85$O_le0nd?;^OdHN1c06+Ha#~!=0w`bdRe#;bnF>Qzmx7>H%)AzN7P2Fm02*RK2(+K*ep!YgG7E8`nT3YZkmu5Y zY9jwmuTebzWgH%6qls{ZtQ*DB@&z0&fc8-3doZUWkdM$RNJoUa5RRORV?f(RmWg22 zgM@doTsp;yEt=?0Bz$9bLur<}>)a@Mtu(gPZeVfsFGe3!*_pA@n{T+#A76?QQwt~X z_P#s+`BE*}@w#ny-0{Xc zn&LiLjz-u$O{4v+_r`(#8|&iXKqM;5z7e~@%RGskR_GF?T*4DhcNVwbUg$DjwYk_Y ztJ`0_eS1&3F`m>k&F*bXw+?%BvF(~JWk8iZHZqeKKSnY=OLE#LWFl3P{9uHnc$Tad z-NPibZ!PXLV&O+1sY{X5!JQYnuQ&s?fwh#iO>GRW-E-{D);n z)F||nSRsoWSzC_cMilwcff0temn~$GgMPB1&mbED#ou*!yt1gvW^QEXh7D~QJz7|k zGh}uJ0)vIkyLKiem3eUG>u4Js7;a3_^*PZr+Q${<4M6-@DC+D}9fhc#Y1^=2=SbEg z>!R%StjReZ>@+=0m6AJmZ7vK3aAnA<){;o^%Yc_DtV$pEGF^;P-li6lWE&c62_SC-PCE!h{J`}3IfgitZ`QAc6 zzr|<$nPFK*!|W{4i5sYd`ypE8(%%8$X5lrQ3SxGMolMoD792?;2Y$0?m6aR&d9CJ_WCH^S(navdx>z&?`d_r{t6t)eQ2*-%d;b(1L>-cfHT zgo7a&k$@owt$KgQfOv}?iP-OH=#ovp;t3}k0v#Qp$QIKwbeoyKvBS0js-e_zDD4MVFN zmboPo-y3d7hCPbkl)D<m9QXil<8dIj#pRyxn z*6T}ZTe9Laa%(iGHwV(;E=@7LkMb_WT%qEdMn6No;bfZ>evw%aa=u<+i)77XKoa>W9D-cMkg32$8See z;nQItCV@zzPw2o+8nu_9p*%DxJjp(4C&FW{P=xc-VS7Ox4=1hz-8`TkH0?W8^?PEU z2<7t)cDVEl$dOz!9OVhSG@^FkVYT#CbzJ?5Z62f)6HF10jJk9kFrS025)nF~7Yvu7 zF3VORoG~pO84QvArMKLaGT3G9oy<>U7vkW$WZMec`<9mOQ^kF@`HX3IsOp1z^7%da z-CUJtBM!KZ6l9IHth7X;v2c?(I4~j(6^csB5U^2B^++H} z)lw`wR~k=GCTytLF*`AtE{(Hu>0M%-T_2Cv)!B98u5_*0qOU!%kHv_O#Mr*XFP}>k zS=97tn%|7DVq#@3jYD?vfwKXlLS)YZxdcYhd@4vom=N4_0iimJyWk(-7-`bZh>P%| zL_Z?w9x+ExJVTOTeHJr(L)$qit{D3aB`%F!d$h}L*80RyXY%@?{N7||NbFNWVZCdL z&7y3!o*rx4PB^>aHrFXCmT@VG|n$IrXVp@=qeY#~b$rst|*e}YK<{gl^=^h z_!(wg(Ls|O>P9R*FgTE@Xp4cgOARoEifPhSAT_1&4G&{-;h`;T5Z^p$h4?(ob-xAY zVlTgVxHO8XWgfK6SmcmI2QBwBUOh4UXyOxTd!ed?b@1$pC`gK~V|XQ+P;Dn#Vg5A!{S>NoZ;+mxWXxiwwrlr(GZz8h&W{N->=V`A zv%RY53#%90Bf)eWjmE}L?+i?x8w zbHHZa(5{M_4$Qa__yHK#gRGmwccNbltD2}cH**jH+B$uc>Go$Aud(@Uq#97&$k4fsdDIfhB}t>j$qP&e%g@b0H?X zDxd7ij%>lQo-zEMxW)3-E~;;832jQ2yv7T*twpQ6T3oJm=%0uCs)S+{?Y|nmo3^Z< zSl0BqRPF;Hg!p`QeezcIP9JIP2(QAsd4ED;wOJU{1|C?>!#V$sNyS_wWy_IptcQ&##TdD3 zNz*Bdk(g#A>VrmM+L6H9LQGB^uqDQ%JORw>Ay+T{|30ojKFex49!58qs9k zU*Fu`USH=iRjb^Cr!74kl%!iYpI|Aw4RzEd3vwtKPqqi@uJ0ahYYF(Ijmdbl^tm%< zj!Al;uDyO+E}BV1eWoU|&q%7QX`N+UvSdTjO_6h+dbHe;a?Q-Y?wen;0vc<$!pj}KeF=WT z0O&^};d`}$0R(Plxro#faI`iy2gS^BL4GxC_w0RvC6Af*Id(hLnvZkL03_Fhb;Q=0}EFHa=>2N zD-$5kbJ~2sA?BZ{0_lLgxeQZj9JubZ8wdD*5eJP zWHmN)4;roUw&?Xf=Fxmn|FK4<7$IA?{aPa0V0!9KWHY0tWtKk8<$(9LG_^J-I_kn< z(++u;y&)}`Hsnpc`Jq^>E*Gue=W93PwjB>{44Iywsq4G_TBb4nTz0#by18tus&0FM zY!zHT>BPvBmIe15K54GI6B9v$V5);HaT7#zNPk*XE{8)Pm$a=yHb)-}q6(FnTxa-@ z+L+G{v2WS~t*ypjcSEBkdHPJv3_6B7%kcPmc6Xy&Hf&%~#b0_22ag>xgU|*&%%`K( zqnYf9I**lV)BUy{i0ESDKgR1*`B)5wf=#k#tKsLJpohbQUCpgc$9Nw#dxC}?H`{&w zl(s$lT)Lq9ck5=@_J%eF;bSGgI0L>@Ji@53$K{x47w8OR+)C6745$cwA?G}%0O-0; zEar+@PRqqK3W6!dvMv>@SOI<>3~sh%pD(hz&D&|U?T$3b_GX^fgeDw%oGi6+JC2JuN@5I<5BI5udN}WOP@%lSh>W0(b!`dtj*Y_^YX!U!sC7 zw;V<5)xU{U|TAxq#zfwEOsZnVewcb zYJ{3I6C(&ZX+1U!f7mU3H#Z(QJ0NyS=9g9-rKvqmp#Ot@*m_ZDTa(*7#^Hho%7tjRo0Wq&-yBa%L}kpVQx6o zt433_gC#0G{;*e-S|!D_>IOfh`SkjIB9o-1ZZl|k z?@?gt4~bV~MWtn!t);-ufaZP%7c+LEX%0aFaIIBfr>7-NXGyJEXvkTp4b$S@i^1G=%tFg(Q#wrZH; z5|dP9PtbXS$EB@qYsHpZCC=7J1JH3H+s2~AE68=q#atej<2Da%8@xi}zO89;+S3Dx zv{9491}h*Tp~*c?j%*_qbefnRkXvt7?k?e@U{uCeY_mJmAJ7o8@d9RNeT)(sO#}Bwj~m6i7Uf)X0%*# zX&D6*ZHR~~_oF0ef(JCU1@Wo<;F^1dG0?xkNV*tF4{12#GgMqHImWaV=?(YOfnqF5 z0YJbI7;py%RFa_(|3gfPDq2b=M-i8Y!#As?%qA|{^(Dt14NBg6e_gW@N=D7@23S0U zwlSJy$t0enzor@~G+P$<{QlDTmtN^_4Cdk!$>f86kLK0z@q99wtn~ePSN`naUFCrKh3Sv}(!* zS#MQU{Z(36GaFPhvMJ)x<5je&3_GloSI3%|qn%dyGs*_rDETgA`fCA%RSexBDlON>JZvES|G~DoQIr@ zAzVDBssTioOB*$9qoxK_wdHqfk>}j|;)YZd4SsCF6DkUq%O6%X=+y;PEofShscPdt ztdB;e@!x2o@fky+qrM+cX?jvWO7HER?Hw8zcq5lX-rCqW6p8qptpAH&Y~W(bPM*G*%P+C&+iqFl zh;+Gh`E#NIdqxB?3@yMA2!9eNHN_)A3WQ+;;y%RLTr8x-fXqI|o~<8{H_KslllAM()jeZJQ4k2_MF|)RJuRrQKg>YfSiaP=<{s$eQ&_m%HFix{V5}4 zeFd);RIGe^9#ysLzCN5EiuPVtx-fEGEVDI#Z79^Y z1+!n^#t?CoEy4Okaf6+(k(1PSlW+&1ClRgM!UN4n3X>m`tWsgE+CB#Dbx5m{603bH zjuF<89wSv{L~ax=`C~1%*{Rg|M*V(v0Zz3o6dz(ukKIG3hY&Dw%v$wfOAz2-O>T)X zKZLnp=~-R>)n$PtOFxn2dtgk(XRNL5VIH!L*lm2?&5xV;5r}&E*L^5R)3ko~6hAF}a-{SV zI|xsfZukwO$GAV$m~GC&6a z|0&d1r?2?7irL;+6ppRZc%~uH6u{W6*h5JN$glMwD1>_O$wQeXQH+|GrFawQMF>bK z5WYpiH7=CF_N`m?w~n?AXJs*{c@i!0)?i0#YZKx>A$HX`Sp4m;*qj^9q-8~t8a+ld zl8L4U8e}Fn$XICs`HGY?;1${L2Zig`U{g)Jf048_fJ(A62NV9!D6#$Z^J6t$SvSW2 z^O9VDm)HCt4*U@nict*lGNbjv7oFpkB&4!)?F%FQz#&CC9?b$SxzX0-k!Wv z2RU1n@7vc}`N>FexSE+2J0(vfn@=&%S>=$G#+GCZ@Qt?t;hWZNi_x{y;{PvJs2}?(~M!h;q8pLuH>T zHL#MVR!jIQcnGnkkr=;&pi|H#-W7xJ_aHyxW>vqC(kMPi_vu+NPi@&_UEqyBxY7kH z85hv<(s^qB1uDxAOG&nY>!x_%Am!z8|H8SI$I-vISeuc=dJGiBcnHblcP*5_-#P0n zYDdy}KRt_4<3*}$46e;GL({mdq;Mr#DyBm%0kjGd8arq9ZQdC*N=7RpiboAVvh8TpiPbkP+A6=1j>x zRDPa}qey&Dy%0_yD1@CwfW}vGKJVPDj$bJu?ynNQ!t%Ue1txAw&44HM115MXp=|QO z#2fh>f++_s3O*mu6F{qU3psxP6UDEx*@52P0U22TxMj(1nt_#+zIy$g*W<&^Y@Kgv zn&0a1hwAj+>FK?taXJz#qC3yu3!CmNAmNfFM!`{?vO}AdY#!P#k9dkfG%i5iiNb7` zEtdeWSww_YmNKk!K_UuOz;A)!#@M0UhO~HXYjiXk-?XQ` z-q1A7SbM@M2Bp3}HWB{5-l?$H`n%fZ;*m+Ch2kV+T>-&{Rgm4B%5O|}>FsUd7}gg2 z-JIX+_3_Y=fY<5dDJxY@lu>K)np7QI_ z#+Jcka4g)MZwMlETGfnD5WS+B!Jw(4b3(zW)*xG^CeMEb%xS;U-gG(^eUr!b{vXkz zKVrS1rA==YGkSZ=H%^0fd-qanpRhcp^ibR+3$EbC zlaTpd!|jhiNvujBGh__X<_K%1WjowcMiVzj0n~_oqu?*PreW9A7_nlvL)0kDC2KDb z=M!Z@s?GEVq=U_!oz1uJZ;VGbG(OVVe<;-$JEiHnc8TICpK-`%Miotxo{X8EkR-m_ zG_+6pZQK7zYDEHVv=Wp;B3Ve9>2T-fP9x;mup#c*FqFVTsISE`N`u(P8YJJ>JW5fw z8dNrFgd-Lchh>kYnss%&XDi+9_5soS1mdP)VMn;jP!84v5U1# zKld89dDQ#AkL5tkl0PCgNM5)S#H^^A9#ia)yk4)=ErkP82NPlM(!ElX6!DAckUpet z4{ZpC#~T_or71L+e6y-%0{**9ukl&Sr!I~gX2$Y7=&=>+wNQ8; z*DUDkPg&MqTZ--ZgsiEO^&ll56UA#hx;6mAjec(R6dROG?4zmh z2~Hbw#av4)(p~yBmT;*jRO6#QseuJUvZj(VtDR~jZHDi{tQCOE~c~KluIQe!f=P>F+c}S+fEUEp{;xxK!j?WfS^0 z=fv0jo?NGlpIjrT3=X?9(pJZN?`yeGF)_5k6HkOQ&05F+g$SqnD)XI_S0VzIM;=xa zA$63g4VGS1JYS>UWrAj>qq}$?r4IFXKGL|sqbYTv{kIdOL6b9MAO;+m(cA!;-XP7?s5%8v zQl(B!>Pu=$PS$mK|B*IvQ&I`~8)_AuG=P!RTMv*u>sN|)^I%kJZ!x|4DA9k%zlc$S zmNN{Q_xFyOTN54whhuq_85^@8PUGvIW+6Ah*9@Tw?hJC0K!S1?lR>Mk6tnhzXvJFu z!M1kQST(F3$W()%dKE!CoUV3QT@AMT`7-MJuME*WjyUz*tAeslzd1fhpf&j-K`h7- z3FL&Sq{f+cHQ3mOfT0%(x)IRnq}N=L)^~+Yymr0v?$f2;w;dD%MOMkxHWQaVaU}(G zsvHG%wV0mrFgsCE&F?Vu>-nPf$pIHZxQz;8^9V!74{{%{5{Ly@aWJ4M0WBR6`&3ggmB(S@FrR)(l4`C>A6qKD z@BoDM3lA`M4y)LnRI$czNRqZ}Wmu4Y>&n%p(hquAQ|ZUOtf{NST6#-ApgBbH^?9y; zL;+p72Rq@R<~kju2zQNo7IK3Mixk*NWGjps1$MqZo2@_ddP%m%DaFp z(+qY#TVJ|RpS@kQ4&ZLGK8s+fB;CgBa(8)0cIlL=g$gxeeGpXGi75{N?K! z%F=E6MCJW}&d_QP)EBij9jw6?R)w`;nN{r!+MIT$KljW*{lJ2Rz z2{n=r=CZg1+e{jCV6Sil+pr02kYZ1U(vV?ntUsbfg3xKwoU8^QcY~J3gmN%M!Lg@; z|7?XisHSQ8KrG7FnbPt=_&m~F{sVd;kPP|dnT&v1$0jUl_aZi8lcd*M=|HF{8j20a zZZ;5yK6-bbKlZ~|p!5oxF4<#>I&B2I8;!6S&23~78|g?)SS_YMV;D_wRXN?gMUoEq ztZllcMzo^k@pvrnQCU9eJPx}?$m=zeK0}N917c_|)hYDBO|lG0$nb);zfucGJ|j9D zNsA*(2Tj=Y|Rh;>c0(gnf_MByCy6Kw@SD74IgTOFe@ESW<5iHv6pG4^i(kgV}= zBG`6^6tp6NC@qY!g3_cSz9P>W?3h1>g|5A~K#V=BCUvvucZ$Jdj3o)oUo>?@(--|z zR9C&0&*PQ+MMJ0S(r2tB%(8pyprSm1@R`Z$hhX0%6Y}4fKGsv$nO*9 zD@PS;T=N4Nf{~JrBsr(q$HQR@J|uk6Dd#!xqexm~rSs3_vrxdFFuXY!?|r^{Ig#@k zEIA5BNngj@P$B)L7ibyB3wR=%f6}9e;wfEE#Y4JB&?f0e{pt0yr-$DvAMgBWikjc$+VA3nbwRn z$`0~fXAW{->$hEk)t41bljU0Tqc<%s-ZYxen{dJsZ932GJ~RfzQ?d8pdi@_F6`M2z zAO}{;II;WdV$K*LOL;4i(uHv%y!;Sd7jMW&g-Hif8BnIwN65m)K{fDMr=N)qknit; zNcyi2UNG|f?IEA>dQcCNMqI&c2&cafrj(nv8e>}63c|CEwP*sYDe>m5!Ixy|f*f>^ zJ}8f^hbH43omOlc)GkCAt!WQz)WbjV>k*e$5ctXvBgY*`}=g}BbG4RRSL1lCnOix~t3nD8H_hWZ`C zgOM<_8&hiBnnZA?ocd_+;h-qpE`6bN0m>T+C*3t0V|+J<(lea=I2RiYTlJ_L8yg!X z5TdctGks23%nzcK4&8}^?&Q&q-CX~yve{!TwIgk8VIgjF!+b?Mhia9SK_^tOFrX3o z(Kphp2^bibh9T6&nDIW^@s?&0e;`ze&>n6B?BT}b*l-~vUX|3XzwHb$pk zsF+!okqMHD;~ji)=tJeFKqws@dI{q}k@#fmuLW-yLN{{2e)!UkP#{kf0QMg8MK~)B zXy2+bksky3D)0c?d(;j%sK^5W8dK5#C|aJBg*cC(Elp#sS*vBW(&B*C@^?yDvtF#| zAPEQ!Ck+(mRxSL02m;3rY$G(O>ywJA@2Hjfzl=~upL5T*&btbni>awrH=>$vuK-fR z$q8B12M2V{JXtRf;Ot(hZNYj~mAL=?S|B(rt=4hSuGM-4_uYdGag|$z`2_o`)TkCU zFRM{5R==%QhrzqbQ6Zu`f|{$>IeG!qnMl|T266V6`*?i&`u<7%OVUGoOpf1I(7`myk$opRF|vlO;#%n zIGgXCRj0RXfiXfiaMGg&omQ?^%L?w=&wpL7totNrUu6#@C;qvU;vUQE5m%qNJnL?I zbLAb9-o%$rRv({x**%k%9bu*F_*XB#i4xK66&ajlT&$a3ZP9G4S%q3GWL+7zNb3@a zA`mvweoverls9H9)T~KuQU9E`X(^nMm=ErQtYtuI5JUB~WT~}keQHkM##_@K4`Lf3 z1Ao{~$O=O==lo^`?j$UT(C}8n4d-XgI@PV9z2pZfy3R0aRv`)~5PCv4;8Gb8F+r=F z@yg7OVVG*b95YNw`KW3d2?d!!MT8GT8C$iew4vQu*cy%Ug{`lp zDMI_eVb2UH4i`&cG!&3@1FoTvH=r0$@F||Zc3e8aP4}Fcj&t{oj!0hYMusVI( z74Lcc%F1}s`sf^NgGKDniD;eGp^2ooTsvI7mzqEF-@L%zgui$EA7iZrwUfWVt&Kr3?1vb=Srw!mmj+7%-gpB1El})pdFNPjs+|FbEiy=n6?5|584~ ziUN@@3ocuYd(~^%x!87|B&axSm+`n}9P8`ro5lB78!nJl+r;YC?de1~Nl)T19@jOa zEpBLfTRdL*#Pzt*j2rP)f;nc2)bU+rS1itdzK+y}r;UiI&#> z#?!p-odx=}Ag3f#PxXYeQQefh`}pWM+d0+Xi5I+&Y@(pYMcM)YF@HqQVrs1BYQ;X{ z;JgDfkMab>&npp9&3w-3wKZ2?suI#%=x@A1;jljsmY7O`Ij%Z>kGI&}U)O0yPl{Tx zra$u}b*#pp)%}TODkCza*A*s$P+Z!eawX%cUHn%XW4g!oX`!^pyjYWw#Wqw=XiQ9J zt1_HDO_#7_sxEPj$8$}huJm*4s7Hh4l{{Li z=P604ZgE$p?I`W4oJs_fB+%c~(kwasQPo4$bj%AHMta^(=y|;9Wt=0+1KJK=#KRWQ z$RhDr>KLFfsjE1OtMQf{;!Q1M;Os8Httj<2OapP-A3((CCluSiOBcg(z;6UC37WiZ znU|_?_)qw>a`15^C^!1NRLb^?Qav8r>1&jOqQ1*tFEQ0NG(;V#<}=m!Tp8=~KGa>p zrkBTIGOPdrAW4JmLJOx*3^L3Bg|CXcpYdufEt;*5sp{B|=wKj32sz%Xplh#BZ)?+i zN}ps)ef)rZVR;sGj}mkb5iw65=&ckteH~(-j)8VyY+&aH<$@s}2#6slV&J?U@0Q&4+W>d7A2zX#loVZF)QTnP5DFZ z4dLcQanI4sLz>cCxM@>Qn7yts+#26_?a{$LO>OVKX;Z&{$4dFq&#{n7G?>YhyeXQu z<_$?f2CT9CI@=SHeR3$g=|Ho}wCpI;lp90-RIfi&P_>l< z+DIr79`1X~ft6zOrgkf8&nsA~6^lyB%GGRd20B^uflZMxUJuo0_)ST zGOi=0qr6Q!bqc3j;MUw&N0vI0y~zCL7Gmq5L>c2ht=3DDlJ<$%5;cvmxO$c8a&xn+ zGm2`)6+#5~WmUQLaK)JbyVG&mU`n%s4>RO=T2Vy5UsU$-3rS&&u9THhplTZ8kekj zCzYYql=83FBZ}u&(8EF68wnrBlD>iA;Q?Q=e|Y#KOdmNiJbYxU!S;-g|H|o8PB-tb zC7Y?M(nt+hM3ER(GOPkKD^Wv;T z3Rl^wRUXLl!2Thf_PDnmt8Td_jqOT&Ov=1}jW+Wh&K`e%L}8X0#wO)l)m9BX7|*X! zaz4k0@2Z- zI>S%iB&~+FtgHSP4&;Z@>2~Y~ATl)&i3DVsjw<{m{)V8(87%i#Ej-R-^>bKX8@25y zLcvs3f*%F4i$_GLwXTaAq&>s(u?!y+7ykG2XVAMV^OQWuX~?dar?BzGxE0s6*~n!a zEdSU>=4BcP+^w#l@F57_mSkE)XuXc`>96j5;VMm5Ag8Z9E3&qV9dJGotjc%D)gV#`6fKvHO9@Wya2 zD*UI}G*}^bP1Bkt)_0YL@A70h?uwQ_Y&sUPU-4mMw`zeP_SKC^TF?q4WJ&ioztM}2nG*8mq8R(6%K0%y_zfE0U8lgwqAqdi@c*VCNj`UKIp75s7Rnl&~H!BID(<=BJD+{M~- zCvXjUaJk^wNc z3G$nxM)Is1R+_M?4GHiJ#ObYWL&%|uL{~@xcLYe%Fs=su$I99SZ1XRc`5yS-*{i}W zSM&+Rrys(%qF~%ufx5QeiO;PAb8t1!gNWlqLR_WCAFHqMFxMJ9{qoqsT3479w+9b! zbXh?Zd5vwW(!*sUS7yNFvm<9XwD+zmG_4h|9m-m<)o82UL%d?gdUo0}4*>f|_?2sH z&KDu=l`WQ&O-eD+o_TvSl*}CLe9#gmp-( zSbdENnmx1u1Y!eT+I^%O$B+3`!*VHPsNM?#IlGGIkMM1K+~K*nX^aHdu}yQ-tUs%( z`!hNZxGdiwmq9$(QSC$s?sN^$6fd)4cWy#tN6&g5kYdG?!0CO~MeQ>BXwY*U7lO0B zpX&m7VRII=Sr4i4ECAZZ@oJtQAH)U&_yLz%^h)<&r%X5-8qouz9H*VFF~@YhKNN_^ z1Nfn&>hYl8%39yfwrbzd9N!V9+SFDv9MHmQtjlcmexmPRYgh7S&sE#l$S_sgnEINX zM&HgYYgLw{Xr{uexy@~Tev@0FjcaCZt*yLz0{;c~OgN&GV-a$MZeGLd zh%Vz-v&wY2{O;CjJq6C771FG_vI0!?Fn-nc<_@ldI6BEYR#cKPanBBgnOb@d>oAnn zmisSMQR2Qqn0qRu`MN@m8}dcjRM9^|g55&VO#H7NHVY@sAo0D$O^eV}KH;V%p#`fV zoHDY|z;1KXijZM{<)&33E;hJnQ|J=k;ih2~5dXzZ`-PCy>81mMChd3AL7_qV6E__} znQyu2D9Zd2o?Rw`kppWf;(*c&5Wm7ri}=Oe54vdy`%iz?P0K=orQNh5T*pqiX;tWB z|Lmqs;h>mz(;ob~@2B0gU&u<5n+^!JwAD=qg@W`-HyuHl54-6o%KYD;ax+*{bT59I z`8ZY#ALBm^-G_|VJz zzI1gZ$)V(~xv8n-jZ;S#rzh~^)2n`qx|08g{gyQ;WaVF;7OwK%?xCJy58`6}u(w>T zW&!Nwf7>r-4-RbX$rlHcZ8c4~dund}_{_;oN#2O|l~&aL>h};@=ltS#_v&7z>fBKs zqT%SSbo&9|3H?Mk{e1W#crWLXJ^?(M=h!pLF{=E-;Yr{X?H+s*W#&nmUx5PoBW9U?*p1W@-GB#}Ch(OwLa&BqvTzCKqOArtdnw zfYOAl3qam^7_WQre}ung0o7Oku6YlC{RtFbSeTvP)Z2Rm?V50~wde2*Zv1}ZyWV*I z@5apa-mx+Z{@;KT)Jf#@RJiuSo zfCX8Ig|Q<7_M&8QR>$gD1503CDY-$CtOe@?)2x+cSeE5j8*67BSR2;Gx?vmaWqqul z4X{C$XG2(gU1S^BM*K?nFx!kxhG})oDBH%ivmI=--F z?qqkdX?B90WHW4*y_U_fdA7h7+1>0EyNBJ&?qjcG_p{ftH!xag^GEEB>`m-6doz2G z{V{upy@kD%y^TH0-p<~^{)C-jkFZDCJK0(Gr&vCLUxlArkmnaB=H$issX65^eh2<8 zefs$PLifb}k1tpY$4^YncOO1JcX)crI(%&E z@LleO@3o6l^9z{L?zJ>^@05XW_x$w4{4wkB#Prn3$%#3tT?1O5m^!(j9+{b*oSO4E zr|y~AsguUxV}Pss(8QeX7MeE*$nIkk(?^u)sS`6NJ%{HAlJ3J3bCc4s$w~h)OuO#c znd2uHx;fGJRb@<19a->JT`$g7-<_N}by7YIW+Bf{+&!hvzjkqAZc3jzdH2*bfH9_t zg&bO(J|rKSnx58=&CJgpUznKo%uX-PcRPhurze#86UV2glp}MfP&zSnOuuXD-a|70 zP%pO|4^7-#?za=iPgZJhJJG4mnn&}|WgHOdrrC-4`2bovwcuuU6U@GvoWr9B$rOp<0p?g zwarc*F?hA7X67bMo|?Mn@YJ-ACue6)P0jJKaBgwTu^cew4j(&y_mq=Au{e2r#!23N zd~#~Wsq*m5

    `S$P@0C(r7 zCV>#MgnxL_nmKgm)ZvBhqjNKhv$lJ&c#>awfTV}-y0`n}%)%65{mCig*v#VGQDEu3 z!7*hHGr@Flh5&HTXa4Z<`T3c-c@Muaef&NQu2X1!7UiuK9GjYRAD)^xJmoEqKbo;P zZ&$832CQ82S+#P>=aqC~V%FnM0vbbWb^?2O&JSwnCS$n%7=a4I6QrPmQRDo#2lsu-E!Z`(Rghxp z9Ge0v)8yqHryZR`0}fBgIG@z%Ks6gYacFAdgs+n7oYQHECSzwgi`Wdz)FJ--5fBUq8r^D z8fAK7@#ry=A9(@GNjmkq`MgHZtnNdYXm|N3H8(RojcL>k@;$H3PXI6G?$zl`;JW=t z@6+cO=Vs@Q&rc}}$3c{dJG0A|!Lb=qv;jyIU%HZnci{|cP??+a62f=K+hGS5gzw%r Ky4yYP{eJ*Ku%6NY literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.svg b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.svg new file mode 100755 index 0000000..5c2d926 --- /dev/null +++ b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.svg @@ -0,0 +1,169 @@ + + + + + +Created by FontForge 20190112 at Fri Feb 1 12:28:28 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.ttf b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.ttf new file mode 100755 index 0000000000000000000000000000000000000000..abf3f48a49f6c3244fc303be959195cde599229a GIT binary patch literal 34092 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 ZnVa(x!uQ78VFwn3@7+JT+r94nzW@i@d6fVF literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.woff b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.woff new file mode 100755 index 0000000000000000000000000000000000000000..257b31563b36c4e1c29990103a81816a7a7ed693 GIT binary patch literal 16812 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

    ILEf#R0b&9xTP3o5(1pS`k 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 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.woff2 b/lib/crowdfunding/lib/webfonts/fontawesome/400/fa-regular-400.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..0f55b069863cc6e34d318e31d5b9ff710d9308a8 GIT binary patch literal 13608 zcmV+@HP^~_Pew8T0RR9105vE84FCWD0EH|705r@2NqH6k00000000000000000000 z0000#Mn+Uk92y=5U;u|&5eN!_-9&+{Q2{mrBm;z03xYNP1Rw>9RR@nN8yagh<5-J; z^B{!K#GfFFdO1iHX8->=M`hfIp1GU3$ z^PyAY0(1m)1at(nSwX^SdTTsP;z4x3t5&1Q8mtNsWcYIWJS_B%!o~VnEOXArKH1tOUyemP3S-=*wBpcFGBO zZ!M^2X;}I-^jgJ2w>rteuZT2#dk&I@_OL4ai&9TtZ&5=A?ElYsdLk=?cf zVJM-c8OA9%XO)cG*d3i4WI!n%{A&8Tdt$qHsW>!aW`NSM-KBHszri#>^yoe+OMs;T zRAB%tZFo?H%iy4JaO%K3bDqFUm@lV(GuzutdlNWG;e#c8vL=XYP} zs=1PFwQO6q6(}X_xD0}ia5-)RWXJ^1e}RAqKp4Y00qf~>D>Z9SQq%Rj?%})~9+ow2 zX{*&6^Yi2Th!7=bAY1}n{DbZOF52|wMkFcqDP2s~H2~Th-T7B%)xyk%n6#J5RBueL zzt?Y3>i;hZe|-roux!gR;{hgNoJ5!bvz~{9>;cTo!#GUXkQ2e4XFL&mLr(3bl!|`e zwbwOQw5h$KZBEA&iFVJf5WrR0(cbT;GO~uL`x&YTj#Do{NcP81JH)mAA5pv7tE_0F zDAzcLxs7pb|11j#;KyD#(j6CWNh0aeN>LyafFV4bQ{olw4tVw5x{*Nha{x@ymHz2i z0Wf?X5S&EGYux2!LIr4l`Rn`1fU?}M9z&dZk0F3!LG*+|zT9UY2>Ji_@*&zWfG664 zsKo&Z7#>pOD49(>`Funj4K%Wdc2?2JMn1*EPR?S-Z zD%bnDm%QeEU;3@T`Q=PXGE$i0II}QovM$3J$ymP1>DVoTflNq6*%n$Q0`n(=)7)km+s@aSzlxBm3zn|A;BiiWwU=Ia=xayp(QUDX>Nwb0nHj)zB0udv+P}1KX>VwEX?JM*Y5Qn^I7L$_vU<%3aFM`{M5+ZHX*Dn5-;&iuASr z@DN}<2aM4qalT3W>UjuMytb(O^{HM)?49HGFzS`VC5c$9GUO!QPoyYw!nxnD;~CN* z#T~DN0bm%@MNGN6WQ_uw;=`1bal#Rj-5h5so=%Q_5(^~<%Ls6%rc4-dyhqcagxHuy z%pPy*cmznr8FI0XGO)rBw0C{C6>9|Bk^-`QPFZPss>yB`9;KjM2Hs07iWnp)u!9&P zvQf14OFRfoJecVKk*pMOzpoEEz{4KyCNn zrk1!#d#i;5pD7Nd)BKRU)=rne*v&;Xh8_qyq_pit%Rr0@-=JxzVA(1e)_g9`uexXG*g!D@P z%OR9>LR1+Y9pMLa_?k7h!Awa;j-#X$;Q<#CFs>MmoJ{Q6S(d2jLN0e%TUCz9Rdju_ zKB*OB#oIMCfud;Fi&$Ehkmnhlk}?UU5Y-)%34fzBQG5y)<$9BrsbFz?X^Cd6wLcTwC&@e-6o>?Aa@WA~-~ zioS7vAUG`V@*Pbae`pU`qMZeg2{O5oXC>MKqd!f90550)1W*x@t->a89dP$n@W6Mk1JYrqr1g*h2lXW(EL zS=R}wzi4Z?t|ojmsT)ZwV1n6z8?O+v{Z z9guEnDjqr7rBOR}B=+eS`tf7?3`q6p@%jR9hW}`Sqo(0IxMDEPQUV0VFdcTYRs#;u zDm-86GKhm{pr|ngyz>s`tI&FAGa-b|F}o0&9OAYTT1peYFC0Dbu-~8wiGd3lBT@7j z2NZ>wqJ1q|Xmp9G4n>}5iNQ9lONpD_XII4qk^owoZ*bTC_5hOH9|a_VuRixd5cWhhA`b#64+Qs zl~eveE;H`^gZ52usz*;k3+)(6&*{~aQLe^2eHR9u2Gzqwfo#_T{~-(ai!Q&Y#7^#m z1o4nuY*Pl3k>wj(8k2a=TU_O36o+ak;*~;sYJwW9ntwD`60L|L;B=;rjjr$lRS7ZKB@brH=nNEy?;04uj+-17gFU;PEL-~2QLP?$>mFz;|f!5go_z#2>o)h zTYf|9m7VuqfSfch5o$&*uFrO=S)_dNL}?T{k^XwDx_Zi3)SZM`{vvKb!{j>1phIM|zq( zuZ50qnawH08|)**3(Qt!MCAq8!tN7+Bh*-E$PE+C>!s~wLYqsQ?fUyRoK;yxy?~ub z4mMV{dquU10vG{HFp}STR-`kytidhiE8bLWzL8o9=6<1B%=40Gg66ZQzDF+63O^9tGG@ zqIvmY^JAvWrA@T9it9<8`}#eoh~Dv{h}TDHxfN7gtkc_lk^FKQ>z+C@F5K}XcpZtDZZ+I(O33M_q7wzz-hZpn@<}? zSADrqrcJxW>zKX_;IH+k7U@TWHJenO+h~Zk7Oxwm+-4}|0OksG2cLj0wz9nV>a>+& zkVe23b|r-z{rdJXh}bF$thn_a2g^9x)}Y&*6gkFjDnyNRDM&)RyCDK7E91{1)8A70 zsYS^Mq)`0a%;(NS?+F(K+Z4)+~E3Bcl-8`#_s=g;C`mU*ka3p?>8;O<9=JYUP>T=NYpjV%QFg2_h;;Nwp zgVX>m?Tp)s!Nj`{zWN&+)P(-35G)(JgfvVe%$Q|BzUeb%qN%{YDdavjA4B~%W%pE` z_Rqu+o5%J~5{M^-6T|{><27b#7&urx=W&&5G&z|wrLG2{YA8xA{mB-qfr^rBRUf>D zwRIx(h>r8MzVB5x!BlXDDvQnV6j6vg&a-NA*4icl@fgA_+tQ~IC$e~$X@P@94fW{8 zr=mfpaGP>&)D3}&W2awgrp2}HXmZ{_F0e=D-9 zz)V(!F+{SyQ35^won|6=KZ^g1fW_aj<+h4w$DVWNok8xIc7nz``O#ke94{!lUV z^s_yoYW+Kdx87TIu1}8l@WqwP1H+b{-XyMFQKe(d>W$trrfj5nT?ZD|VsZ{%V*qNZ zF70J}_#=r+JdgcxQz%J zfeuh+U$X1U7$?ERH7sOl*{PGe0Ai6{bPx-wz;w+4I_B4!I%PRKJzzmRZoo9_|=iOpi2iZ04*tnjMd7l#6 zvDq7J+G*#?npUW(W&|9c#d*Qxy-u!7|JtF@*Z(%Rjyp9?*B^VhFJYty*rDc_v+~H* z)z*x==IE2X#<0EO__Ys8{HWwT!%%O-O?!3U<$bp?#Yom}-np>CylFPO1fzk-j7vBtDLnKjw zXAC?99t{i~$)lDjq13>X+|ZP!!S+Rs^&bPS*;bNT$Xt_mB85H0a&$Q*qz<-#YYQ#v zEb;}CvJPSf7hAd%4Cw?NAqjl?FQ5sr8%&&mDFD2{vc%%GZqMZ??qnlHag->i!@)t& z@xnAF8+iEqd zdN~(-RK)F?8B139&%n$z(ZaR4#Y-d@vsDvU&vbA1iP1jf&O2S)T8(ShpJdECd(CN( zJ)AZe>M(U8p+d6+ujy$uQsoR+O|IvbE2|EPK48Rt(E=gu1OkobwEVhs&4m>vIulv1(Q&V{6#em$nkXx+Yh$2OT+jLAtsc{=&+z?evVsk? zG#RmEtGh7|lerC#3`oL!{sGqTLli08y}i`Cp>TM?1Cw3#E$*#OY%eIX9c3*RxOavD5a(7-lY+{w)nT zVnlilkA7T({HzZoRE{Fvsa6o(GfTr32#22ut*P69)Pi$4EIcqjMz~*95JP zDuqK=Oy>^OZc0;-u&KBpQf*PGy6njX;It+dzwCs^aSInJ_Fw9|8oGbnZH_2m z8E&2nV;YJO!QkTDas@1kn+J&BPkjZW2He621m-N!q^+MaSNm_+df-dc;wuApXdhR@ zv~XK)g8o;w)r3H1uQU{e0jkO|^<_bs1PUA8`09NLV;<&y4hijm72VRZTDI0xEN+R; z&|L!YQyIgKPXA*e(Y;y5D}k+qPWNzZh7G$!q07L}w1R|gTvX&q9bzE#tf+c^7nZ3g z<)l(p(j0{PqE|@iVw_9$%+>ny%oUD4&@UWG)xvY%s~G!7}brJZhKWq zDNE?m^Q6S=v|HO-byF!uUemf)vH!TE5Jakx+_I%3pX6gt9*bIvW^xwLYB=V>a_TXn z#&(Ea`gWB7bjj*H||Q0&^K>7drWRC z%opsvbvI>zL2DJ?Cm|3(O;qj7sKa=*HXpzN-;UPKysOCkc(B zw)Z3Uf70G?X;3JD5R`d6Fm$R}t+MP(KjHC6)8Q zj``Rk10(#+* z*&mJrQ)z@FkvZSVW`*N=bg6O$)G*VAf8aqB*li@SXfee9#Up?-Bmjo&6%$Xxb}~57 ztn+cZN!(a((;ceJvjGxXJzw`*G#OSm&Z<+0>f<9|xj>`lL9)e;um}?VGVGBcwZU&1 z1r~hIh!bY|q1v*+aFq?|MMlRUx#UQ0Krzs(5)CkF7&547!oX<)-;>F&*$`R&EVW&) z0ngu8WZ13fr0??38#47Cg^;QtSOaCw>HokE`z>RFw`OFkgADqpoJ{ev!&!z@Z%KRO zOqq($E&H)V$Z}OTktqFY5|*u#p2Js~gEx|Ymv+Iqj)|k{9&c>w~&vb7lE{FEEnJ3h+q66FURRs z4~(^;n6PE9;Dey}g2CS*;>Lb&hTSmJj{Rh@ulFMi^fLb@pu+tq=+3G(O?`kxGyUd> z{36HS>C-pSz<7c)#<_8#*6|Iki)e2X1aYKk>N11zwkuIw?P+3Sj3yf$-;Cd-j>ByD zV7TjRtlV4^=y6PGHb6Zsh4ycMUZhCPlq39Px7QQ4UV)%|vU-e7&W9in&fEjk4XVD8 z5eUPezsP%<9Fu*M4(LXQbx%w*yBw~LW$j3B4(Kx+CDk5%+}*KvkGr{`;0Iz}wtef? zy4=8vPVeN|zOo?@$w5-u50;EJh(0;$bgl{{pC30S~OY*gw#gaVOD zg<-|VhofZ9K2PTX9(~@cPu)S7uDP&16KKTW1CNtee>y7-OWy=hIs z3Z$TgYk?tczYc*k)?2$#i0ihYVc2Znyan!pwHt(QUdCzjYt4IJyoCwGl_CngSYfX{ z$Y{(5HVi6I^q6C#UY0{`fo4`6k?AMmYBh zZ6p`zjV*Fr>s|4D5Ng&`ag_!&d7p}9+HcULG}A@G#v{eV1kim>0DIQ_;C*1r7$bK0 zt{>*mwLZV~SsY_*ivd5Xk83H;!76pFsYpd$wEjrArqL(1B(_MFW%pSrd+d525s{PO zQa+Z+|DwQng)%-XgoDfWY1B|Ma-K`R2cp^fWd`Io8NXY2Z9Bb(Q_qPPS>I{k`mw&D zb9#vSa0Z#o zf%X+PTQYJ9Hvl^t8XR?iF-R*qN3$aUx_%o31wVsojUC(UdA28{vs{6q$!MlaIzcsw z+tj(V_LSAejZHQs3Z@R-xmWX zS)W0}qlQ8W%-(#6yzUHp)1m324>4VP`$x^CQvPY|gHbVNf%852k7aZYJ$`fFc8o)d zCpai)jAIJ#Lp$b++sBz`I0Zq$c=4gB5Tu15bLizf$^<2^`g8OLQ(Jh}l*3anaA+0? z(Qa3Pawak)?WXn?1_TlDtc;9`H29!KszgKpT6rN^bC46$q{*_NYcMOch5P}NIVKsD z#vfF9fbh|pOkAkt>j0PJOvDKon2Ou zM|nhU<)F2o&XAzpP-nyVcS88sh)N(Bu#=wRfNfliqIr2^7GrG%wheYPoJ2L>Vort* z1$2kXE6V8JzLx#JHid<`>hIY(?>4^6VSlgAg&f(otPd^!(Yz(?IqW%2>fEi_Tl46v zeIRfVWrBl;z^MlejN0&7m$ybSf;4@b% zVLB@UU2U{tD3hH*U5pE?ZvtqzIqW-ppknz?`^Y!wi-$GdkUENThYD)`*Zbt1GxVA( zpT>;ZXzQ|b;LIOKT#w_LX1CQ1)RGCsL|2z%mpFp3UF(*~pE$!xyZQo=bhC_;2*$NaTlI!(85<*T*)*v8* z!dXW(g|S_!JGx@Mx*3J2J}uIG9;Oyp^!_|jVks+gx#GNAN>baJIv}nq=5cpE-Q+;g z7OxXN`GnUD!9^DoPjJ%tTIs8tiLeD}Y3buevABv`#(99~f-j2hLjUYtDAnviCm(w( zT~D)lqHSh+I>Bh(FAuosvHxo*q0UtV5SWCpc=k(H5RHn_q_hwAD_-8zwtcf~11KT>m#x~|80f`y^4s%&<-l&>qK@~@jYhLQ%em0Zm&%D+?M)L z1U+Q>TX;7z+14{mj>Y@~=K1@KQc*dINoihE*8!jr^8#^{|Jj zObNPhW2!f8x~=j4!rc;<;G1OP77!Y85)kd)3)UDWQPA3WrAWd(vL}s)4Np! zaPM!}KN-DSSw7ERm;wx*Vc&#%f6p4vR;r~LegFSB;8+2!;@RTO8DHS(1b=_&w2qTK zzQd#0Eun)d9Uj018|Kl)DxDWtAVG%{$8Jr(*3>JHM+2j+kJFP16OK# z3#PiH@?9vJ;47a-RTu49`Kspw!oaJhil3`|R8_{OUguq-@&Po9YOx73_ztw6d9N5d z%mi&BF{PL`9Z%U-EdR}E`J~*T>T1H7Vy4N{bB>jxy4u6^d6VR2PhOcz30)~vQQ@_3 zyzZ`rsWC@yds`o=%S^hG#~8H z)=~A927hD>sj|oQ2b;>QIXEeiAYD0U&PvC*j&W8i`p-n$%6UB7{%l&Rh#2E9J1IPI zX8PP5$95Uu(9_NsC5G?ozK`c{mRe|NluqvTy6f?=vGm8Gb&u)6R~URb@+ouH%;gbL zLnvigZP=b0%m3zD7N|yNZr%AHHuJVDYT4lXn$TOvcEz=>xddLKqSE4FyQnbGxV)I3 z{!(095|oq?`OArv6naJCG$HD^=10SsZ&LsJ&bzbd3-iWxcmGQ*5`E4~N#s`04He1j zf3h7n?gN2sH0b}p13aca)sT#(jF=>ZiTuHQI<@2B6A95S6t&N;fD>0^RG1X5HT)pb zq!Uz=RQZ;zLI;e4MuQcF(2;@u{t@e~&5xw5X80+e?nOg80js(5&(2Q%EyU3JN_x8J zU9Q3!(BIh~z*SY1utC8n^)#|*H&#o2M`5^QW@Vb917m(s%*@u12wuL`yN*iuS`Js* zBbPtabZes6MB+-)5C5c9rs>Zj{;E=9nk>9q>P6F;@BJe6KmTpK?xsK{+Z(+vewxnk zw#?m!79IHc4F%|g6ujo3*iX_3NKMw0V!O+?#X$EQ=-I_PAx$k88?+YfoAD*DuDi~5 zpl(Jwil*~{<|*pQJLTCvho5Km>S5#4K{0tzbsAzsXZ~J1l+Je?@Tl3<*t2`^SEqhzN;9 zAmDHSfTdI$DQgYnCkJYBu$;vMN!RO{0|N}$4a0wG1+12tLUS7h^V77TNUJjlGR!d` zLCIghNWXHsC0syx409F)m!|<|=GpsxD|iXhmIc$$C#->{UB5Qj&Qh010)J;4aoV>t zB!U|&P@f=LdLF&!U{kF@3 zrf@Ljq>Y1r;$?ZFJ<)qa#Ym>tWmm52a<_g5wKT#j@EY%IMU$WuNl+!?nfH_Qf^m(y zqBP=de?bCF5D&#vZP*baX7xvHprTMGJj}d*pE(S7mKEWP_N+&Jt5gwP-vdGiLgkB| zC71iFi7U895xGWQFFGrklpwxw0s^tdkJ7yl^*pbp1t0{_eed02mz1{6nBbA?Sq>J0 zte~AO3%Ct4_<$2TohS1$V16ARm3|h|Zp-n;YM}z%V2LBr`6x4;#C~!Z|zn5FMk@^WYXmLn&y&;Vpf$A4=4hleY0jgQj^;Ky1(xWvGu2DkCP96L!6+mfyvAx>$6w3O&(Yt4h3AcsPBmLUK{8T7hkf;AjwBW=EfmI;3dv-4>mJm_YVh?J&Y+~3Aw`{o}wb0dR0KXs2vE7GVo&@Zs6+kg9V4n1vj|y!W{J#PU^y8}R+sZ6yWb(TEWDGP- zO|h3e#(oC9ljf$oX`AqgmYSSZ%+uH1I)SAu5+}h;1h@Ozb4LgRKN(kbeqC=#Sf1P- zc1=RCFh;SNjhxCHY);weUiKKd;>gx$=Bt22fJp(32g&9q6z2NXm844jMlxV4$I6?1 z%uiaLNsRjs&oaf%z!ERTARxaLZU|_;ZgBMl?U^TjBBljd)zlfzKpQ> zrM|>o2BVkgTgqo6m&t&!^047E%hU7z%sz4;19|$tT#!0vNVPFOHyF?Ty-!ZdRm^iD zzV5|Uf3Dov)_C)Q-?VQ|u9C|Pm>Hd;nK8q1jF2KvAz;tdQavh9sA$|H_SkIej>PVa ztoMPYU5)seSVHhhbpE{vGmNc~|FxBrkY&%_J*4&|xRtOQV#01%*|}%WUJYH- zZ%GQ`n7lvBdRbcFz08q)I$c42RyB7vcgSS)P6~3mB-4;Tq&kc5xVIRn!YwE@rjrhB z3oQfdcr?YSfGS!*BYa0*WBk=eW||Nto0vC0%xr$%VzdJJ^`VY`$k%tRuNR?&aB9#b zHl?Xj1IS@!2Hb92K^JB?1%iH&#W{zPZ**Sh62tFuv1C`ty0;SE;rgnrtc>}Rl1yS? z6pkB;C6l1mt4cF#tG^ zGu4GYin-Bi%j=;zQ88xbT{kV$Rb-GaZf(J)@c0QxTfQMNhi#FevaHQX{3{@b(^Zig zTRdVz&1uzMo_*+wF7I*;8U{7?pS+eiIHI(Gr!whdiv%|nI_5ADgqepRblCjO^j{qC z;@PH?sSly$#gN~p7NHXDlT|T1!gyg)+OYj%PgiWs_gAmFJFLxa^X$#m4tKx}mc3tG z&b!RZ8^Mv&&qK57Rua->tL3wy+yM;uce6GHCrJXowQSxMaLjFa3kzj^0A{ThRP$HP zxA&jz?+U16`Y9qw$ChK{0dEVN+)niO6 zi)Ce=hPol`PW{s5yvY<;89F_omuH%Uu~+=gsV6KSB>{(kj%FS<ab|k|ty1o+wwphZW7rA2BZkb!KPRvj@cQdz4Ed*a@2?cxQqzs2 zeLo&}qLrjO#u-yyuY}>sCr+a(o1UHGE4OJyPG!`e+I8TJ!5lt`)5gk|-wZ?eBPf`=LL?0~i zJJ4PdRUcKf&r?|(KWE+p4SGeDx+rdmxof1|HMv?!<4n?L8?Bi zC+HVfkb|({B(5M94F0KpbDvDe!EdWwo2~C)Nz!(W$XnW5zp9M~XsC)IqwbxxwDz}% zBwyCte0^qO7|Ko^Wyo6?@qatmS;q|v<1$y@z(L-mY$(|$8B$Z#P_iHi&Vsn654(i> zx5{&nDccPN>`)Kdh$xj<(FVdWmQP$J0RRth-T-aQI#c8EiC2zNL} zvEY|UPxwymD{bW~t~}jTrINZGnfL8hG0#d5!=Z*$WfRWP={)cj-wJKZhMP%6@iUcl zWuC_(QZt;=*`;dU)`#WJ^-@PrL_n4qndj*_BI&V zVRpxd78C2Jrk46gf!>Rbi@oQt!|Hcd_c1C3iWa63$c)+`#R!bwML1f?EQ6AyCE4cc zTXI|)U0lg-Y?S0I3dl1r7V}pXKI>K*b92MltPW`hi=9V4q0e8W7-aie!FaZF0fTax z48^E9VDjft>R3L;!qJhr_{+zgx-QxVtebAo`$fj3B**Czk^VAey;9wfLP`uf{=SB= zwX*90-n9eZ(h0&1VYs>aI0ZNa^ycmxyHj^^-63c*U6Hl>>zm&?h zLtq@W@ap_U#mV}NRm|2T+@-#8$1YHaA@nlYoy3L@c6?5>V%w8dssSrDCHN-znlQOz zaG;szw$G`rJVtaE6%PX4A8Na%Vw|u`072@$`~tngL|J6W;@namM&&EYOQ$l*$E><2Kh1tag;_~jDnespR5AfWpi-cF zVyILiCKqS04fk3zpNzK*@~UF}d8^qX0)=t~u|#r}w6VS@EPm>p$QWk-ew~*HMR_4k z)D;o?Wzb2}LIquasz>2V$wsr}(D6(UUsmYEiJn9@=X7-5G_%PT!8qE6j*>piUOnbN z!A7UlE7isn)0i%jl9s-J_BJ_!(u4~&Se4{GCWrk~4gxfbRBH7av0||JCi<}IdW$b0 zC1`H2aNMvTYQxU>+hXHJwOA%)bt%1Usla?bJ&?M)iR&W(a}C1=paGS|N?k_aB(5Cx z{bZvSutd1nXAPLI5K$*P*imCB(jb|zgQZMjb0CiUg}>aOg?{qnxU$bQ8yb?OrETj;+^s`oCWGEB>MTyBro z=LZmBLKzoQX=9xa!YEGCEHBEcZrZLN#%W&GZ9mTIe%|i~06|~~6b45i8!0pfi^CI$ z{-)u74+@pmLT4~pYz~*l7YIdSiBu+6C{&b&KNAt9vE`~1zzpZOG=pQVHFOjQ?f=U1@q`5 zXmtzdpy9M}f)lt1y!MPq^5hl8)SL$m&oPAe2syYSl&gE&r@sBVDC1gRW&>JLJm4Ug z+<7Ut&fts(`){B)U_K*D!I6RP^3r(e7GxfxSfL6$6>jDfz?HmPENTYeDu*vKX@z+DKEt?88&BRv^6TZ-?bu`CK3i1a&Jh4iR*= zcC4|b#q`7}hke|VXKT4jA{iXIYxXHfMS99%X~co@2IMPY9kakiG@RyPc=gC{3ZGn1 zEz2BGj%diNg@gJ?XMAac7D#^D&JJP*7cA$aq*=U4+Ms7YpN0 z{lSn`r4P?y7@UVvNphw&%(DEUuWnOm<<;kEc~^Y0N`Ak&EERjbe8w?K(~ZGwB#VHG z-%n>$3WGZzZJx|TZSpYPq2){@E=f~nf|5~Fb|QFuA$f=~j@JM}e!?CxRDy=y+n*DZ zi2@+{BIW|kutz`(WGNR^+J>*SqeW3gO zc3inxL_CI+i=Y;J+>{b{>|AFaz7hK%uX902Z)T{o3qqZONSF$CIeGhUls|_I?ek&eQ^)gSwr}#&4!lNQa?JO+tHyw#Ac!?h5k{1CotG uz@&tCYZ<`5pC_lnOnGy7LpvG-=k+$Yu&Qhq!n`ILtZ7j)>?@3r?{d+oK?Ui);7uS9>IV5}j?r0e!>x#;{&fnU!dbYB5vvW@_}vJ zlUGaMhyO5R#{R9BUwFQ=S=+-{*%tT@e&GD={Z5S?LpHg;#n|U6!jjy;iJaKsMuJg=!Cz#h7|D)HXmLosI`}B!p6Aw$D z;m^XWfH0^xkO{vGOR;9@?g`W;eZ~$Kk@RpJpb*Cc>`yEz0;ymwQl*5SF()5)>|!ni zujUscY`OhD!AjV!LK>u;d9s72_u{3SSbB(^Y~h)S3~MG#(o{MnoWsA0SCnz9C2&7L zWlj7;AOK2*J1eD_iCl2M6L=p=K{^{`Db0$J&WAjdUXfB0Z;5>5SC}l^4Cyn%uaF;= zbDoAjWrs7XJn2TuFX9j;(q<5rW(rTSu#}?si8raNLa@?V;gm-B)8ei0KD-x-^eGA# zaZeQFM_WW#hNV#UNz_xu7qT*h5w52KO0VSWe}cK-cG+c2$17l$!O$<+T$|BnQb4NaG;9MO-SE#(v+3@uIx#7^gJC^6?XIqnx*MxKX$$pW?|qfw5&) z8I(`toz_PFH@gl&6V_PLSPPsfFXhWjoB)nf+M2JE(nwZ4lWnu}Q{IJ4Mjy-UB^F_r zb)wBFrXx&8oG$z)^Wj##c0chxtIm8IGE}ZT?kHP?QymB|fMU3dQ9cvE;3gnH^)KF5 zo2>X;+4fuELkPEl=u@PZK^JMtN8^Auv-^p{7}DRtidhDZ4CV!1c}O9yPvo;{7-L9% zJ8cZ4g%({(J&3f-hEze^Z{UtvAmYHdkNnEz(6P{luG+oeyDx_lf>Pn3Y!alfnsahOiqaPT1w5 zEwqMUT%SN3@wRlXe)1zN%^?aSH+v^gd7{jW_0IXNFnfI(5OIR{BAnhnK5pj&jfgxc z^3(WOz$U;~P^JJ#D&n2C^T1E#OabJlG@>j@N034o@o#`|r{V9TFgu>;3t=J;)ltL=x+nh{M>tCB`u&c!gV(leW_i*!k`Lrn30oCdOz?bNwr&?DEriFGM`v z`7$yHO99e$c*gcq7_;2DwA1s7@{tey__m-^r00Wny&@cO^cHggeT_cI<3xR*vdWjL z^69L#Cry1QXj1TkeE$%y%av!n-{ev7)!f__VMs%LK>)w#XFGh-4LlGp{FIIX7Fy}8 z@(bLE6Fk-~BUdKnJr(5gi?XTQ6u^FSv`d6jf26HAF&3FzeRls)oDEhvkU5YhHx9Ws z+HLh$3USQNQ}`zL7Mg$7+{pDK{1bvM5ii=7vfD!CrLA(r+D&ex$wSJP+X};wM$qg8 z(xq%*2uoWa`nA9>a7Q}vMz{pGn1?Cglv_g~SLEEMd}Hm;g%fV%7UOB>&&7#86XjDK zfT;bZu=HdZ#2@l`ayTGfO4&fP$}o1h@+pp4AnKsD3%@|WHLtFD@q7QRri}6Bw z(Iz{s$ZO*v=s0Eb@btt;zHZ`a4EYA^@-x(z2t!)HM4r!}>|9;qy)frTniSk(ZM4JS zx7JAbDIWo|f!xSTyu>O8?U{f-V*$~r1$KIYgVi@ySt4G{HOddZ5yiM*KZbIifS<~m zu=)%1H7?TR=EU7BD*O`@f6w<<27NMNw}Eg&ITpZuBg#UU=u^}s>d4@oLYVy)ZGhh@ zw=k_$mz^g%r4N{uA20fI*ibH*AoDm8LhP`dIn_5%@`q5i!ag)44Y`Jlp}gJM_V!9Yg7%j|_cm=#xXY4Si;4-_VzazC85M&^Lyj8~WMMt3!iB zzaRR`(CAQh*gI?t`-jViD~IF5&BL>XJBH^BFBo1jyli;Y@S5Qb!{-iPG<@^$?%_Lz zKQnyi@aKlVIQ-D?q2X^1e`okd!_N&L9sbqutHXa7J~liyoE_mK@`!h&c%*V<=1Awr z?2#2CYewEbvUTK|k?Tf2G4jcg+ebb#^7)Z3jqD#eF!IRAqa)uL`R>S5BhQWeeB_mp z*GK+1^5>Dij*N_qjr@Hid)#$gJ6?Ib{&@HCbB@3Nc;E30j^A|rtH+->{^arRAOF$u zXOI8v_^*!-9)JD#Uyr|e{O#itqwZ1PX!~gA=$z4cqYFn*8(loQbaeUXs?jy0y`yK2 zt{;8>=y{_Tj9xtYfzc~Rw~byqdgJI#qaPjp#OS9+_m18<`lZnaN547x*y#60Gow$9 z9vOXZ^uI=59{tVe?@y>FZaeYC6Zf3B@5I+nJbdEtiSM5H{)wNQc<#i{PrP*ES0`RM z@tYIBJ@ML!Kc4u@iT^(F_Ly%hFjg{FH5MC7j&+UA8#`@m$=LF-m1Aqi&KNsuZ2j1| zV;78FJa*aG2gWWR+cx&0v1`Y6jNLf4YwTlVpB?+c*q6ud8@qq(!Le_TeP`@@W0|od zV?Q1H+1P)L{bKB;v0sk8I`;dqKa9OG_SdnIu{X!w8fW9$xG^3YkBnE2$H!-kw~Wsp zPmM1gUp{{N_?hEpkDoJs-uNZsmyKUFe*O5)@m=G)$8R0qJO0`6yT%8`?-{>${6EGY z8h>Q`vGMPYXU3lz|Ni)o$DbR2e*EX-zZ(C;__6W7jgO3<7#|=1$4U95?_|-*@X6wn z4JTWmsbWKH$T=hr`9OCOL3gpC(}sG6dO>%6L;aw;n{B$g19W%S(7@1Fh7Jv7hMpgK z5p?&vp+61{4V@fj!}_pqxEOR79j+cu4z~?=4bLA=f$mlgpFZ3>e9my+@J++F4Buwc z-Ce`~0lNFf@ZsUi@Uw#MUKt)7{xj(A-R%V3eea*rT^s0b z_PfyCM$p~)pt~)j{h+&RMz0^;Il2pU_sP*cqo1|u?(pb$ZMu6Fbob)utE0agee*=* z#2qK@KC%DA11G+D;*k@Nop|EJ4^KRM;(43yUM--zw+iU48FV*y3f-Lvx_dw9ZqwK$ zdAi#^_F>T7&asbz?)Hrh*mU=ZO?Uq}h3Y z(B1pS&lPlc<@k>A^!Ux=9|7InA?WUI(B1y=`^O&~|JL}Upt~nPcSpv5H2#dByO+ja zn?iT4lP2gc1iG6+bmw#UBp-Bs=7gCw-!lJU{@olmN6q8rusLM@%{*rQ*?hx%-Ta;T zTk|*OE9T4QugqVX&zL_ke`x-|{J!~=`91SH=40lg=3(<2=GVYb<^$&a z<^l7o=6>@l<~`<@&0EY}<_`12=5^+^<~8P}<|XD9bCcO;zTaGDo@u_vJi}aLE;W~! zi_O!_g=V|iX3jF3%to`ujGIxj$TUpdc-wf(c+)s(j2a`xu<mSu`(Qnds>S_IYeTV*G{W^V{ezAVO{(k)&{eAideZAhRuhv)UJ^C^|sVDTf z9@C?GrCyt%YWUZNN45j~*$b)Sx=>6-4*W!RS?!0~5iO&A zPkUT@OnXH8miDmr4ecTAKePw51KNGsz1lt6m$d=yZtaWOUE1fhPiddjKBn!`Zr0M; zcI|5ID(yCmo8G^Bk9+^({gd|%?;pLdd0+MZ+I!UdqW2fx7ra0B{>=Lm z?~lAc^!~v6eeV(PlirN?3Ges3k9oiDJ?MSFd%%0I_p9D}yr1*l?!C?XY44}JH+ZkJ z)?ZqZ|KH#L>w*6-dw{zk5!w}sV+#@|3;%MFg<=1HaIZ!qp+Tp^A39It4?`Z-ATr}D z&8a|zn`X>S@C;*e3h)|4bE6hZqa@0-k3q(g%18YIekzR0CdPtQ2LJ^#BlF zevq*WKqcz0LY}Gvj73pL6zQW#7h?dF7aL_Pj`;X~z){8$-GF|;5ghkb1GWO5W~?R% zK%F%i#%htb7UkByz*rsP>t1239^o^PX2x~^{0;K}1B^8~0l=ea9pGWWF`WC|1$c|G z=EID&BmsLFOGW_*o3#b-22M*)GS&v1+K|3|AK*2{I*_(w6vvV~0La?~{JMcl_X~{8 zMjPhhJ#Qlb>E{Ol&oj0l&Dg>wz%Is8J^=EjPBM1dZpIcB1AyD&e#Vy6172Zl>0ZW` z^#C5nfnX8<9D0zh2lcPm#MsKM0OVO!4S0sJ)u`+AT>#`=gM4d-7+Z_-dVPRf0Y?}+ zV>M&%K^bT6XKdY8#?FHKEZ}u^IpAr=-rEa68Sgy|IL6p|gs(>#>ydZ;C}SI{0nae@ zK9v7H_|HLk8xgkg4aVNTo3V4z*7Fp=AY*-q>qFY}k@kXhj9u8x#L4!i9gJNR1sr7T zV!SUtz}V(?K!&j`O8|QSM;W^We-5XTT%AbA;vzi4S@Ft zk>-Pl?}z^if;Skuau;J)6$91-kY*doy&C0ws2f0Ugl%^+c5M*Q&)9V-z#wBE22MLr z$Bq{myB;`PkGgJX0^ABfo*R$g$bU89Va9eM|IT%c-NXP0y9wpq>;v2divZNS3u$jb zS+{HlpuCUlW$dHyfAlD0yEg&eV(eq+laKEM9AoSgdl{BT3(@DnmR5Ny4 zG2j)(Zr{(?9YFxn>_yz(U4S9RK68k%&uV}k#_se1;NREF*yo&pyBPa?J7Zs1&)8ka z_rf*8pQLpsW{A_6viI{Q_aXK)M(2 zV(g`Uz!6vrG%@x|9&?A7j690(LVt*b6}V z-vX!K9%JlxX~uq!u;0JM*lT#dhV-wm13U~s*dO`{+luOH~5G4Gd8@3v5_N;9lwjQQTR^)x3MT-h_UhYfRl`!Jj&SLZ)NPw6kwFG ze;i=!E%eLVs56WDCXO)9f`HY4r*Xhv%(&ADSjV^vZ`TgS-Ae#NjLX{@SFl_uy8tH{ zSD#_rvlZ|b@$f#zBlQ5JEA|1l1Kwb~WRUUFEdb;xL-}P0E8hb+$#`Wq z;2FlFs{v0l9_t4TF&;n2c%p~#>T|wqPZ3&=3O zbSvY_5Vsuu9+cNJ03(=VjIVr!@l}Xh-2_MjMj1c-Rsh~>Q1)7syB78IE&-stGf>uh zdH_cmU)K(JhViqI|LkG_@Oy7J0BP250if&+C}YD(#?Jvh8&?AmcP;~`7%_%+>(ZwId15q~ZG*CPJ9EsTG-9DsB?e1L};zy4OnZ>R?hKnafb&W()U6b0PH z_|0j+5aYXEVf>a&jDKV`;~#yV@!crrV}Oqr1AzM{b~An}-k(I7pWMs%r!)Z4eHvx& z2{Mi~f!}tF@!OBU5CLhi9`L=W?=z_5v-N<-8Naia@qKWA4t0DU?=PUNFChLd;Br@n z@h@!!3^IOqKVS$7@E*p$jIetSGX9mLjPF0h_*a_%FED=Zt&HE7X8gbsz#EJ|paGEQ zAj*Bv$@oKnuK}m8q5X#rF#h%ZjDMq-@oy@Ceu%B`KT^*4w;2HL!zk-fqIPru zgN*UtqFnHF{yX6C`yR%@micRld+j9SuMaT(hatw_*uwaq9%lT{I~YGU%J^SV#($&i zzeNEr;9v#mN9q|r9%Ov99f11BdKe!^*f`2PSqX%%3N#;H# z`Fa6wG0BheincQ;aF|KKJ|=~dfFn!_cQYwc%%tLa0Lm^wT**l$l^$SH8T{q@m{j2d z9A;7_>aD6~QVjlh6O$6CFYyMGs{5H#i?nqpqdo|Do=GzvW>N#<8&?BfVNz3)Ni&ge z=4(u9Uc#gnq-(jANy)8%{Y+|&0^VX$doPnZ6u=%PbppDa0EEw;$D}#PGZ*cfcZ5j` zHsLVlX(mA?mrg^vMO&D(cs-MrAZ#hhg&Zy|N8aU!n6#oDfHtjsoJp&FfI%jmzMV;H z;9fJzq_w-5bVfIm-a~-8)**b|UM8J|bY~xC(t9-~tw)*bk1=V(YQPYa-iP-&2-}FV zHzMu(f!F&FFzMW_Ogb+JILf3x;Br3VE?5sZ$fOIAXA{z2gz_&!Jr|>F@IGk^;L<)O zUA71C29ve|pAR6<2a)cBXy4_4{$juu0LrPvjh7p7NFQf$Tt8O-*Nw^U+m*wjA6Yk%e7+1Fin@VX|S zM}G6tRjV#tuWd}sZR#-}}=ryFO@8~_Oi8I4Z-sAU_;khpO4A~8==B+PT0ccvgI&gK95}nljob+r_ly< zFov{|ceH~%DtOF(qw_obR9h%Gm$%O6G5eiMXN6jMrn_Bs8Pmff?-Gt?iMlC0f5T%K z9!0CyvKc&-oR6m{D2>OoANOfbYx!UQv{-m~+VEr#d5oZ@1qlof@168zpAjW)EqEU3 z)3iSAVe!1RAlym=)egpK5dAs8Ojd zGt^LeEXz4O#Z~}?^7?!zA22)v!lWhIS%oNK+Enw3!QQlc!~M)ZJR*DD7n2*0 z=wxuzDJ!mA_;YqzgZe6$k>8vT%>{t~o)ra&2j7kHH$3!s6O~vltItG)OLaT#z}@y6 z;fHg1JOzOmi(FY-^6@m?-0z@~wU~9RYg&&_@2|iljnG_g3t0U{%v$gO3d^~{4>}^# z;tTq(z!A{EixXUK;h#DCL5YfO}hDke3HYHp=dwW z4D3N6Vq;Iry6S4%7ZS7NUGxYCW$^fi?vv#jIi&OtDIqxI>@Vf8daoRos}%}Us^QH3 z3folh?g>~~pUtWwyv2kS+p*1|TV zx7Nyc@gJ2{RZh~QH}B%YFCK^Tfs?KQRnAZ_9(}6ZM@~F4s+=7pH;;<&Y+88mM4~Lh z5Hl##x-K!_#FKmowng*U5|W=}w+vatEkkN@*I_NHt)q7xM3dTf%)>57JXO52tE0WE zGXkCxj?g<2HaT+UM65rm4u7p%X)KGYU7enIS%d1X^*huChoeEns0|d;rB24U-LEcc zX<5{=%jxNuAv;SV+ANQxX_9A_7AbMcGdfgPiND%kBBEWz?}+v|OA?8hD4+%U5D5lP zgVJeOUn{9if^kgp&1PDn+>?uK4Fp6;a|sd}<2gr%&2NObOQXz-or?3YD)-AO94YES zIQc71M~Tzra{L8>e{ne7&Ju_7Z6mI~Pj+>?WZoo6`}WJK$K8i`jEvi(%KK*_nWM_( zcuJC)ncwkFjeu{kVx!Z1g z?lwNl1EEz-X-Un+4NHyhr>+ z@~ukX0*A{{3AiAjJm`cxTkn=R-t}@9n(tQK%>cM&`YJAPBfxnI7 zDT=E}KIBqdNw=c7lW+)GDI?_j5NpI0xw()!gsg-IaHK&4<`^cyH}WEGB;2}?WGc7K zKP}lm+bCz)_rL=z-HyXSY`Z)~BLoXMI-C$Z0t-KMJ+!kr;YO9mF6^P!^ zV7YRsQ}@YS^G4j+7tZ={v_Jacv!2n+og{+qG_|{39=EPErc&r+4R>REms*x^-+ zyDvy!IC;iOba^@cD(nh<{8yv64Tk5Q_6BD}i_j7@DD*CF{(QENhL>aKRi1q?9*Io- zoy>1X@{TA{i#)Vj<6A_A6$Q_`qZ(G)bp=o2Bf0$`wS-|cDj-N})=*Fa%PKKMs2+h6 zm0un#-f+W)-iCP%gXO^t`SIvkxM9P>o}S8vhRPnILq+WApF|IV4zW_BY(a2|IMxmt zRdg4quQO7~BSEYt*opIVlS|D?WA4K0Eu{d$}<-lo!Vslg|@-kV(@FdnlF3Er+GIRo;@BzjLDmPC*Os< zkVfB`8{HMe65Nb6wzD15&I10Dx3bb}m-j-bq$H#SRhJqH;SuE9rj@|;Gxe+DgF)AS;rQz-c!|EGg?6V=bk#XQ@tauzuzYH2^NJ1}aRmBA_}wL1o7I)7vtwuWqfo;Zrx% zxm~`XD?EQ?-P|oPSJ3Brs_)Daw@Xn2Zmqhhxv5%n2mCH~N#`jV4*6zc5c-e-NV+of zLUIdWJx!nw8gX{d+d_4rwvMj0P@=0N5#k+|zXpDI6Y$c%L>(ZLPNg$=Wa+`9(Y|P^ zFBOgAH%K9=R0e=Z;Z8^UGSPH28f8Lxg0(9>rT#L^MGJ=(@RlyDXxRVH^0)n8{VP({ zBDGpAD=Jgzue7MFi2l@~G72c->1_J{25ep;)?q(1ZRkD0v1yBvTZL^tSRQ;PXuMz; z&lvT1?W!*?uP;CHOt2iDdIaM2JVMIrL6_DZDUCIR%A7G(dnd||1cVLzgzA=ZC6aJx;&#g94f?#!}U;N@*YSF8TSkB{O@gt zBl~+j5YX3avbWu+)ccs>|(yMyj!;yJ;h(LiZH@VgAB{=o($lwW)5uoOgt z<(U-DG>Bm*`*ZCO<3qHSq;}W~D(yOL<)6)>+Q5~ujG-Sxj*eKUrbC1$Le8B0o++!r zJ|v)LGkPE?t2Jc-odjD0i@HjpX}=! zL`ZU=2g!_}80$gcH^53Eg*E^?tf8cmw3LM4FC+j|O_A9w<#4OS(8xY&>Uzzo7kO?l zi{0A#VEOK4o0cuxRNLOu-rmEL*+EJ{9TQUx#c#yQU!>?|cTqI->3Lqzhz}*?)W>gUu^2rcYpsk{mp^`bNqLD8ndu9}E6zG2_>8x^u4%DX z5g74>NGq$*CRA6o?YyF@v|5+5KXu1L74e<4zJ-BX18|FqJuYTAbqaPLb9sRF=E5c9 z??&!;R`y74NxxfBxh(1R3*s&X(wL+VSOGH@L^V086Y!Kvby?1A27N$d@=IwkzYn^H zSFao#49dNlmUCdA`S*!m^BGHg`T>>%EvG1)#@^@(8N z6%RYz-g*kB$47GxIXh&9Q1H`}PSA`KG;<1^Cp#H9Pt$4IbDWwZc)E>qE=wElQ{_Rb z8jtKDa!lf!bNAWt@K56V#3W`DY|=di;Zxunu-LDK3^<^z)6U~J9ba1qo{t{@5{&Sn z4%~BUd?&{MiMQr^_+yh;7Gj*93`Q59s*nBCaGtI={-1Ep_2V=;Aa7w*&i(J9OuF(R ztSx);bS!k`)BAZk&hJ7evJiJgZu*GT zC>%QxV1=HAvoARa4gJ4EbsN0iKCtBsxH7fp9drEM+moLa)7vwB*3{Vi77VtqJ=T0@ z(;HMcf3iRM-!$p+DNUla&ejc?BtL`3NQsaWfZANSU1SIE6+)dQ&AjT1C(IA>Gz6f$ zcvI{32Pat2?_KpJ6bTuc7E@slAD_4wFw+KYXP*7Hf`e z;pz2?vb$SRdMqi*s*?90F4p|V{#+zgNBi(6gj@>kWTe>*N<(vk1_|j0i|3cdy}F}+ zpx>c;pqw@lFX3deKr4FCi;=p#{L1!Lz>3rWo{B zv6&q{d1i!0Io6^Y>LUI?`+1!!YFBRAva+_P``q?$Hih68AwD%PLK|ssl95u7y){Uz zkk4>NZ%WvfFO)jF#HPnuv|A$%QWfW!d9Le)%;b;pJKiVDFK={v-Q4rCe81OQEz1b0 z_C~c`&U%-LULFu~Yo+3L*E?K);3@tA%HrY3v+-rw2dz#*t=e~sfls3%Jz~@yGtDC3GC_$-I}IlsK}K4zRy$X8ORkjQ0TGg@GyUpKaIUT zS$@baw;=rpKTuqp9f-_o3;oIHG@dug%K1QLiGeHvkKaP(`Lb9mScHg0m?>BjvL>gw zvJ{e`J?P}}AU(MKCQntNGA@}LjB=b*ias0^ItLS;X|udg!^Q{lV~-N2_m5@AVzovV zQbXo`f((V(ULPzI1NO-1=C-z&Qf%#-*A|BN0DpH)&10yZ5caA9Emfcr4q@vvX zkWQt!g7R}kqg0+QBs#t~yWXZco~JsD$;3GJ8$W^^ZIaze%`_PloE$TZwyW+0&tO-Y zrtK!jGuvNP5;|lw7>7b7RjCvO)1z&6B;)gCA~;V3j%5?C^BVpII!CsOu?=o8L+SLO zJ@FLGe!?=BzwiY-!tgw${Ol=NxDZ5fGLlR$t45sJ(q2fI>{#d0yy6sveeG0*74kml z0rO`(q%pR&#tBP{Y-=6bTJ7_m-P%SR0&mppmwo1Qb3u@{aVl>OOqL&skpctD4kR3_ zylq?oV>zkW<$T&YV+K7=oF}3P2KPi@oU57O-ta(4X%!`+{#mno&a*@5|u-6;$ zQaHV~fWJ8k+C*nb`I61 z9Nel>Zd=m~*0Ss(ZzX)*itu!>X1&YeXzBb`ygw! zvc=Y}N{B_6CxZTKXze8FPt2P{ydy$$fjSVpgAS(KWQrn{p2*kM8ZtaPG;JNon@6=B z9s`bb+Fs2LJ(dsRdDkf-^Fi-|r+pe_R|$+P!N$f3!4T(cj4jN|h>efh}Q{fy)ZzEFX)*G%EqE^VCEUV-;h`BUXQ6MX^sKg?8HNpuD;h<7Ra#AD|_D zPXIUg1A8W&L(>DSIGQ_b54hS8_k2i4-DQy zHo1h?LXw!U8sP8gaw3nlESUR7PLfGenc!odx1t=Hg=PbfizxYSR5 zYBEap%2VU6bOqG7>T<8U$7>kgd)C1iDUPGEHEZ(W$Wj;qd<)kxljc}%g_P{|qAo&< zS4Wp+uwgG+>%`LZJ_Q1qBD+$sPO%rt7sW!9+3of2#-TY%qy6_F_5lO1Le%kj;n_s_ zZ8#9a2)XdWzBOQL32c5emt)HXlkRXt9P{I}H`YeB2(T^@hFi2L!#WYoU=TQi42J== z43PqQlc&A9vbn6Rxw5+5lYQ;%M6AeL<{aRFVJF+15B*wI0Nol;DiF5aFGdJbP>*2 zTcvpAomY3CQ`Ql1l@xnjYBY7m^~&Q@C)cvJ*cIT9ELwB(qcC8pX=>KIo)Rt8 zvLG49j&Ysg?(J`xf%_P=U&Q|Fh}e||^V?GEVB9iZYj&c(@X^GqSqU6HcX=yoO3P{k zr4<2psMHhZ2g+NUT2F7GBj+`eaGjmTep4Px_LOQ zT07gR`GV!D_EXs>_ntpNzIO(aXxS(eg5V$mljA)2EtJoJ8sIVhLtyn047nX*+8zNxd{jY?Jl`FpH>H$WQfg+WKXbJd*L^)MRQjBN$Ek2&Eu=ATsE;%$SJbUHYg5E&` zWK;HKW}wZmM!+E-+G7t(&|Nd#te=ibL$K*Fgk@KIegw%NiZbrsr-ksHp^(hq>u@{v zp)T_6hhxpQ4{uv5yWnb_*D6B*>NP_lv)3hSNGQ96Z-?w^QhT<|ox82al_cY=_L=SY zxoBwupLMahkS&+eem)>%OIob0HChPc!|&W~^ZBRPmQO3ol7ne=2amQ#F#gkbmbLhl zMPa|}z*qXNhh0yMR?Dfo101lE1Ywc6Ez?`)mn0ZY-ALH>6gWMUK6DYr`XU(uKuE5C zTvdD^jZu$L53d(TWK+CISD1FoCc4KIL^`?g5!vUhG(4|1Qc1yZp$BOulUZw+w1{W0 z=Cc~GJZK9bdIdy>tH zE~)%un&G%35H0eSn2AU%7Af}mis>Eo^Y;p4Ft0MR2&z1i_KSe22wPO2ZahQ8Z1vC8|7Uh^x;t&2ds}^-6XfsQ9%vF5YyU$L_ow9T$;Z^j+xnh z!;s0r_ZUWY9i$F*X?buUH4rSnYlj{v*67gv|>c8=0E z&7YT;>~>9$k4$eb=@9wpWE)#c53FalEBjd9IT`qCVrJPSiC0lsO)IXCP$Kd81G&Uw z8M(yc2js#7nhGR`R!vA)+2^O+KPktmKzA5Ux6bGb4=y6YlG<7X5-wUIYOzL`V3ruP zwj$f0#M0~6wu3!@SJ*Nb^z%t!0BIX{$f|pr+s#vMReswcRes#;B+&5kmq9+Q*E zeT_%Hr>s1AM$2ZGFiZlOxN)EId(ut(Ke47PX1B20*t6^xAoaX)JrpivT|XCge|anW zNZz&{#0tARUb_)3@=e2Sv%IEVYb=+WO=kBMv<+RP;V6)?k|9F zOd@h6?{wv}{qGTi?$G5aG8C8Mar?aZiUjxi+#Yz1B9BY)`Tl8aX;H1J12)I~vKrI< zmBp2sQd_HftBNc9dekHPV{Uh>Nby9qqKcAAuUcE{l-&*_vtr}!5Br_rL^3R%5QqNn zQQ_QB9kM2?hGu$;0v=N{RktQPRny@xRi|5bs|fN0io7N^yoiAjm}7yV;kKKWc*ySw zl-8Rbf5;nGFjz7-l(;wK_n38M0gpdgh4`{M)8h+y;;N2#7fj>h-k{Ixt1U-@s*Z3n z5q9~-^WJHQ=!Pn5?mQxdqMkzpF;fr$s}l0UBJAq|WC4j?V_sf>$PSwCYz^QlM?Tcv zIFRiT@Knz$`jFvCQZybyHq1yV)IAGQ z@@YUu@M^j-BQ8jTUs)vwe+nD!T6A`^guQO<0(Tfa2$gg*Md4D46lul92j~=!##L33WXV&vXxW^( zGaGfY@f{(Lx@Ct~Zod?I8ka+oG^giW{#d-x)Ej5cowICFod@|9ReeXug_2jt6uz__ z(yEhdP3HnP4qP*kSB}uhCW%W-$b0BkY7pLC0VIjyI z@?T{`W94QvThQvDlmef!_N3rd;{Ld`2`|`lV!g9O56B!mL>o(*?-JxQx>%FZc5C>h zVVsGd#NI}=d@xw#&tl~ zVzU;y*MJon45uK>k*?{et?l@QxX0(dW}RF0$lLbcX?cILhrDNh@v3EWDN)VkvPX5V zy9N>ucAxV8ZRFka6U*yZe&rXfz5pSR&c}qNyH-f%1v8Y|TNjJVbaVx06|c=5Rlxv4 z+)v5%hSm0DHtI9a&tEt?-)s{HCRd5){-n}kUFjvlEKyM-JN!A&eu?o@CYtUeKf3MCcw`Ml~`i_R){mSRC&6;w*3 zIKJypmO+^6_4!h*n2%}_>cn}hX175qv#8ZoIzuO z&rz<hD?cNBUecBJU*q7KEXgD0%g1rb{OdXh^^tgL90&Wk*n;q)a+q0&w) zFH*Gfs-<|8mU~?4XNt;h?_Xawe1 z#Kg^8EMatQv$LIV7DxCmul_cT^tV?F#f7{}#xDpRMz=Wk=RHDa&?B@V@-2wDh0?+N zXt@dfqyH#o*3cXuD(6?Z4H+cwmlUu)wN{0b*0=LEFU?hPPf;M-g4cf!nNM{$`HEm&B z7UjK%yvaGq2OW<&9FOruTg^nrnb|*A8(YI?^2=29N{8cZ$CdQ17wPtjnC#sm9gi+q zx9&(PiaS{Y8(V#=&S~A)w(3h!{KXc;Qk8K$V>cqnN(#S$Qc(Ya4?H2c`1kQ$qH17I zUmD=pH-ko@0>GU&S`(nwZyy9<;Z@@x)6i-9Ve{U^^9Qi@#+jw{6k6yIu?cJ@FQ{dg)<5yTp8ZKLZ|a0&x9Y_aGB zA$LMR*FUfj^1iiTUu)64wu>sXwX(cctGKAmr^9)w;BY>L<`pS4eQL%j!JsqRM@VV( zk8Dekb3kdV)8@r_o}61DuyyThYd`}?Z)bngVscA}uSa2Np^paGBFA;@wfIa4|Gaob zOKSuAB1bS943yr!anYiUixSDjkjEi+FHWklWwDnk>s^cVKy7KNbP(Bczh$+hI1`RE z#JmCIS+wzj#mNfVB2*+7`+T}@P6B7frPz8{bC&wNhHhnBCoN*aV(}K=p)eqKh*gC4 z-yPKR;ZEy3#?pt8(u_7qkX0k$5Qxo z4O8<@cmLW|-C5bOYTdk+ zm8Q$F=-j4iUw1tzQKX4c$Uo0uzLlXDbElgNLAd!bwPl5nj3Y;JM@i=23fDJepKGWO zU#-xp{5(CBM-C?4DR)z1#frpt?-c8?c-(o(8pSg(;8Co($-fWUs}p($lF!9Vk*&i7 zYDT0>oLX5{)vj;WE&z>HG8Mn z##lR+%)P2oQgT&^zeuFvu^1Qmiu?#HQPgE3S@y5?&W6sjX@5(1Q4^$FijnL@y)Dd@ z{4iq(5F@cqM6FN~aB)$%HNv6V$PQ7D^u!_ugzm=j9=Mi1`XNKj18q(}v^hs3F}@z} zlev%;kQe)8i#MX3j&50D+77eNg zYaU>1$UgWTT986D$5eHOz#0EbDbD1q^O=8pW%Y@Lae$tMw_OU||MNO%@n7qH67k=N z*mW#ttjN|Zxb5{joLk5L&Go-eEVT9Fq(L~#_XxcE1l|Js$$Lt z+zrj$J394}jNapyzPOmzY1$Ia>B3Z%O&?ugb-LY}Q_(eTj^_3oW=V0- zr~E73+OE|@V}^niCFq6;9IE_csKP{%id&YIKrrYl)*YJa_1+F;k3%6vr6TKGq9CLR zIs;k}Rt>)Te;y3tSuaBVxDQm-%vOVw3yCMEY{n+G4NTT>PO|k%PWvBhy7SeVMJ0!?Ud?*_gBs7TUs~`4w!xhyH;RPF2d8SKtCMyy%*6h^REe_47Df6jv zv)dD|EU&2m&4^rh_`(&T+RBKbbS4AhgGo|2Tu~DLP;qR2%54;t`YNe-Ne@Pf!=*yc zY4P4xhPyXiME{dG=a!;i8$LpG$_S8B%#vMlQp(`+vnt#kkNe~Fs90SbFTy91RQY4V zTfZz@aKUrlniUUDBL3i7e|6cx0)KK@43ciHU4^!B*4HHHYYy+=Ndbs}^i2tu{VqJQ zJ~S{ez|-^?$g@Q-zHGX$Zy@)>JcIt%*4O8F2DG4o78oE_VM}7Yp`^9l5Yz123|+Kt z$X#{vpf3t7TQoXQ*3nT0;7e`C1z0He;=6WdsVd)!_uTikoz441TA!~^q%AA^mi->b zSMZQpJqvH7R-Zb%?Y+z?a7$yYwAS=_puC*yC`<(s*3()%NiRvf01H(G&#mgYcUK3F zL!^EhoFta#G{7g;f>f})DQIjmvQ2_d@r~k@-qh45MgwblJpon?q{MkVk_NZ-TkKCf zAJ#U}cM%}_Lf}aY{b>*@R}6Y8^dxo}QVHDH|eTqjw9E52nf>WZ}jxdoQ02 zk8M3-PO7e*mfT*CLLcH(*7C2+!pD}q*@KIBow{U*$95(?0bZXU~KCo}a; z%|q);hHnt{Sog&y|Q##;(H2*v1D=44zuep^KHV&1ffyBa!rqU8DtYd{;35USDR+ij zRj*RZ@Rbqqa-UJ}0zDw=dc49oKfi+fe+OJIBN(>=DN7j=Ba3(;3)bR@98h-HDUgM5 z6?)+%=qKxjuI#|c271Q&Sz6Pi7Jjx-$?}4|0M~k)W^IDPi zl%mN)ZjUSAy$St4$uCXV(JW7T%s_W zl!Q)K_|wFq1h?u*M$8}AlUIb*|JaNqGs&KOJSQV+D`{Wutp|FObIb_LtVI!cq$1{= zWHQ-188Yc2(igU?WG^;T*t~_w^aLVcye`=c{eWiE8WfjS z5^*`bvU;C_uOR9Pn7Bd6^J*|Qsf)w(t=cG;J<5gGd5WmHMV{-n8^%qsmWpD%7#}~u z*9)z&!5)Fm#Vf4u{{%u9b!&qM+OxVp?(Vd8{SmT%rxCDHKw6@)6U$qA3vKGoC|X%` zhR4_)i8Tmq-~bNt#ny1QaV6~q7s*_C1G~Xqe3m#$8^&veLh#Q|iydJS76=}r7F)ta zph%0?KEeC2FVq=*f0;!{w*}S+6d)?&yU;=d0CtiLCE90!$ynE?g&aq6UT5Ec%kS|o z@T*0xzD=uEZf>eE2h5tLL$u~LFQQw|?%G<9Qi|ggg-4fPvU$a#*2W~~$;Q^(5xc0F z62@9=Tr4?_WD-zu?hE5?p((=6Z6RNZZ8OnhS4i0Z6Be~~9T?|U;6{PqEm+3Da_DQ8 z#5L_}gyKY?&i*#}NzpAo?p#?K$bLRhno9a3FenTcY2NZV5F~hcwNa(utpt+EfN(_h z>T>H7=5LFhzgt?4~pk^+(`tlW7kZAGjzPy0BIHs?5arBg=`gE-c}G=RaO zR0U!uHY!)*ULo2>(;z2a@F$8Y{n5=UmT#82R(O?#9-ripylU0#`nv8aj~7^hg)CIO zE4rl0wucTyw_h*R8w@t(hJX9;@vR&3#u+@$mv4~?hn^@&#Al4Ey3gV zIJqwA>KA6O*UFkp=QmzaR9jlpivm=-2u(a`5Nj8mvFliIW8&60I1mX&4k#%jkR2L1 zeT0W(af{f~;>bRe#z8tAm}mRw)I6As+I#SRo{mO)@oj=~-dCP|9P1XG)Q5tvK8ZQz zq7^8N;@W~;r2m1uPIt9neMHwR>8r99kAPVZ9Us2gUYovCEi$rc)r57sWcq_W-QWQ= zb7DciDUmF8g-3&ZpQ&gb?l6lNH_bWQ8=|=$lA9LQHZ3kTu}N~^`xut~lXMq#;J%am zlNt#;0;Gq<;unZvEyNBr)`}VB&d`^+`0kEXt2(0H^=MpaZEZNqVjB9~A@!I}SE-Wf zu7AU0;KTX#-8`CxIy0M&7Rx+Rp`vC6sV}EjDnrfm{ZjgVKCJ6qWUl~ylHmHe^EsN! z=yI6Xf^IMtm_^tnLDhDgSYHH*lvsDDeINi)~&-w z??n)dlJFkQXBK6kFEF97r%8hjXy333{jmPu-#LIr-t~rbZgTyryNV1B5t0D=b=SYX z$9Sb6o6@D;3!k*bOTqLZSMri<5&;iTiweHEn;dcd5^zG$;<=Qg82mP220Uc$3ig(dlBdkgY9wiCAo2 zD{F~AIG0Dag}OTNsX$B=*borQEpYRGe1{*cs0xaAI=38&m? z6k(dX?_y~_`=Mh&+vPcTT|t{8g~I=jZ<)>fQuAlB+x$?Nj^K)%&7WtJRCt z-P&7Qw=|nH@+`8)Go!I*voW^tHiI_?W3bICLx2GsG6v!pLShjJnIt3(gn%Id#1@>5 z3_tmS1d@pVhdfShZel_f@+Y+K`<+wO-O^|Voa8?Dxnry9)T!#Kv!8E$KhRC^T=F<2 z5GGKWVkZ=2yw3G1#In*2LG4%8&k8zyd0CZZl^meY>Yvnc;MDu_vT%z2>RCaW<0&Vo zfV#*1ZvHH%>G2q+`B8T&$9a?^&bgZw10i%e{M(IAK7;3znmW}ki1_3s#ZUm9DSx?2hYFh5d)K^p z*Oo23MPn|vYTSC2pfTsMFA_4WKYxc9@g8Cx)8;{pJCR|N46+r8ulj3Yz8`y>3O_;g3s&Nw9ts!?FTg58NH`h^aj8$(RCc3Y`wFmps)9u_w2BdlnUlMGlOy4}C z!;PXD$dpa}AL7BCZj^n#8Nj<&;SvL?$JE21k1}E1gn4@iE7t{%W!3z)knni4H0QNQ z3*y()SF*LdMLO4{_j8RNug@~C9lq5ha8$BJ84I1%Fb2gWWlMwtf{%5hNU|>)gCNC{h$4x3zyEseq<<(1aNIrMP^6(O3 z2nDdlY>-bAQaV|%w0+S%Z5G)OkVQ@2({}k3qqBd0r6t*Yaa6yzOC%8S@W9%3oUBAVT??=1?ODWw~QlREhMjrJH$Wnah3Uk_@ zgWy7y)WJaUBLL>)5|9`8Ko~{e%`>vK7Tg*k|DOol27c{Tfj0-<8F=zi zd_7R?XcfV(ao*&4q&wrB{UpEbe7^rO-<85-`;Jw49mnQPf+O=7vn@}}3s-o?zX@*d z8Pe8!Z@}yMN64&)iJxEYcvP^2mmDw6$N2DL3h1Evr-(a@K@5<94Q_+W)-MxZK!Ujl zmYK;39rmz^dOsbt%5=GsD2tp%qMk~?f)}DX$QU$zy8Z)mB830{D$Ju1ytu0!jlfMq z#H%76L8kWIVztB$R!XI^vkREZjnQniV9%9H{r&mDZYD_)c@O?R>qRXnCO1Saa8qv3 zc1r(yQ4Z}3zIA^@Thz=wQhblC?q`X85oMpOi_1kNy)Ulq$K)XTk>nJFRn~|7XDcd4 z6$Ala?+cI?Fp2z;K^ea1J%V8Vyv`m3uXE9tCT@W~_8Gc|Fh~^FNQMpKr=>T+cHYLA z2lt>t{t+W<6G*=+E&D+zW6;Q|xaQgddV-~PI?7qup`-E|!#rnM=S*YBG+*!nC>OJ> zUbw|djIp{oK8gB;VuK}UFv9x5EW33c2aEGQM+T+`pkG~8AMo2z^hD7pX z0({gp2x-v2+)Qvv_f73UPbbFX5XRv~;bUEf>)d#qbrj$~Pw2@W4<0Cdv!1r?w0?6~fC7=N;-}%u{QFoV zNaLf+ge=1M;Ch37Iy>fk*2w2l7rMGFgu`^kAS8>pS|)m-f5fKch4|_g6A~9_s-?*95`+J52#!iex6M{S@G}VFy4RTvv9M0=C!)B0dHrMn09b2iY|Z8Mlw zllds}2$r86ey3p$Z=tX0U?Go*dln%kTQ(yP@rz*tfNRn zwt(9)s5gXdC-hRJcdwb|2w4q|5b}mGk{H~P7%_}+b*t?Eg}K_?FD5F2+~|V_ehXv3 z5!2+q-7!eN{WhRHF3oPf55A+H6q6nA0G9{e7k&0h(7yxZsT9L<5O+JxInXm4D4v7w zkTVS2FY5lb{s#;9W%~Ow5a(HLus0U#P7Zg)dg381W(*m!Hn(qEwYsg!)^427k9Wrt zwnhWVN*22vJCq0|v%y#dj}`Fv3z}~mm>n1Z$?VbO&_AznZzX75H)^!N(U5q?C!77U z#N%rcHiF4%e87=+OQ#V%V5T)?+@oGjl{%Zrtn zkiAKD0fTC6;k0Yf`s`W@2;C&q_xr6-h|Kl?(APm{Zx7swY3i3#7YZQ$Dhz`P$u|7b zgD0zav^SUojGh$f0wz`ex7-hE7dCB})de=b-NjmQ`RXEqm@~~>o z({*Ncn%l_iHI=F&$?||=vOcov|F1tN@^-^oUES?D{JXZ1=+7i0p^$F5QO8J_!DM!Hu&*baiVMuvbddoG?6_~29H7AmV&kRrZ?Ym5OOebtC9n3Toh9uFgPkxh3X=X4j zPVAncDX>b1ncXKKaL~<#@mY-a<(cX#*#oUsPeZo5a2r6>=q5iD%@^hNZpwh~Zbsh7UgW|$2j#PJgikHA+{X^|h>~Y_`z`(jnB>{e= zC!|+8X54aq^jrM&TQk+na7N8Q&5WYNuk9@Ql-4`et-BM^uw@0i9Fu*SpWZrBoxyKb z-EcgeK{-*E!7>JBXI1op%y18Ou!<%X{dT7HHb~T4tU$~6VR9X{ur>7=Y9-;ooc&{d9HEI$4QI`7n(cn0IdPjn6sW& z-0?Sy>pSlh_umXy(M|97H(gNr+>D%1d|U2to>=6rOJ47Z5PpL9`@V08YU{nWRgrR0 zxV&xg7UAv2F8%N&?c@8o0T0;o9Bfr2IpMjtZSesg?(ou<<9*=SvV2bH`Jo}^O98nv zg9QZ|?xp+(ui<%PIB_atyl-B%7pA6Dq5TdZ#EheM5%_{~11b zQ;=b?ZLN#rHomwxW)znX^L@#g#m>mxay0WyYl+!25{DTK9B@DbVcj8pDp# zv0m3(GV2s{y%2lwet?Z0$Mf8jGuhcW!bmf|saZIt_ii?lD78iHEL$Nm- zUUHFFR#&foISjf>wsLF-WRb7=sJM8?o%V(`11`0#HDebPmssUV$(n3f|GnLnz(Wf&!|1hN57jJxTuW zzZW#e<_MjepvnP=(SA$zJDX6$^AKq*(@>^oZheY#(2wuq4DxAW+(~ERe=AEG&&^+x zLky(XB-Q{l50pW)w1OqT_0)zBfBYz&`e!3=tom%oQC_A$6nz0`HoUw)_Np&2}@*DqQQ#Eo4MV*AkC3F_1w~JP)vc2jA z_4MI^!CmE~xd_`_>>FRj&dd~u4Q}A{16nnzhLT>K3Tnr;j2qsYq>80!DtRk_S|5c` zJMGETc8zZef%$&!3(a1k=&pIrRu{CmgVP^#K{`|UY9Sk8c)6+eIVY~+v}t^RUf-;v z2Ld0yPzE=rZB)fK-}`FAcs17Re=)QT3iwr?&p|>v#~$9z6?295WbUUpDN_)mMW8$g~%WRJ(e0>PKI zFuu!inkOfr0)!{St$~pSz6bHbJe8AaOhKq3*}2|>XJR?n2}2Z_#Ho;c$zoTxqDst> zp$Dw)3cnS+t|nRUl%zL_)cr=fw+wl#QyjKs)sm_8 zSh19;WzASV8Pvdt@;Nw<@)J%oITvBk5c{&fKNA~7!N_^ZU4;l;Jmz`bPBLu1Kv{D7 zvW}BIyt6T8>OH!d>oy~Mc8^P!-g3-u1domsDqe*6oa(CJdaOt=spYJx;`n~S zK(zDCu-wsxKyLxOJGzuN5PWC^b_<3Vnv|A^ItB!9U78}43BwjzqNlDlRfrC!)oW*e z4#8-ySLI*ER&%tsqCV+3?}!f^!zf@tH(w4#&|Wk9q_=4y`Q5TQt?K!1WE z62qE$ANq3}%0ffSD-5xQqTA4QD1+a-7^}QMyfG(wrAaPtVYleIytEBr590SY&OO*0 z=!9UA&bB34*LNFoqg!%94cTC;j`lbL>hyQxz$0kn9RP3ToyP&%_R_`v(o1!kCt?n+ zpj-n)H#NvM&?^pgaJxLbIJ{qpLu>_TESLV_ruR9{`*buDk$Y1JOg-hifBwjk_a5x4 zR!b{+)E=}S*Hq;l_*DIgb9m**w;mrT72#PKfX@o_05s0`LJoUf;Kso1@U%m3`5tq$ zazp4KkY_3KuxJ(k?4t#9Oc0<33v3Xtb=5|RqHOMhg=#6a9pe(ZH~8F^z{QSJdzMnt z)SQl;@7SPZ&6?6sL!1XNJ@y&99H$n=hBIhMk$dBkIc!Ps`w*IY6f-+kbD9r1WrR9{ zlS0loqP;!?D@jL^A8{&Pm=knwoEKIWt! z$>&WQcG|D2*X^{E{F!`S?0swn^DaU%m@RyAeQWG>fW1Kxa)HE_Pp_`P^7>Yt&A|2c zDJ~I*g5;Ij3i7a(qrKO>clMyqr#X(zCEmWV4viZc99@7xfsXIU1}e2@3%=p&^Uir^ z)Bnp`6{z_ri8`HY`4R1nvtLF9ewTm7ehp)y47&090DyZ*N`w-4YYzC;T76tB;WT?m z&KhDha0h(N#G66r9bIP9b<@C7yKp#cW?HXtYSL99uQ$yNwYA-S3pA|`GJmz znS3o`Rdll|_nDG8WJqS8rc1LjMBsAS)e}JT?IGqSsmQkgOpK=!io7gu2YNA&V9B_c zv$?h^Yl>`Uv!Au0Z-lJ-JCTS-}Wqi;S^3TUY+*<*Ukm9*E4%HImi9$Oe^b-gnu`f9uk^s?@Js#!5QBslcAVQLH#z zTHM)R*my5-eQoU~VhAAEyx;Hskl1kjJAS-VzrG{9%mF%5yiHyOewe2$epsOt4$~X^ zEY8GE#ot7Ri#%ceTPyYERtnvTXdviM)RFqLRYy=VAdfe7YKLJqb!-W;^9^h$$Kba8UvV_uk$7+X6QEauQLO+;lX)bv2u=L24VEY!ilhITC%cv+ETw# zo&SQ*)Bnagi)de)hQ@!U&dp!=uU7iIex>~(fjSfavc_eIBoWwyxw^4uCw&P9hA*~j zh~)K>hvEiRDwbR#sc8(5OBC=cA!wE$L3FJpI^+a?(8)ZzqpK8Sh7!~)M{}&fLXTWq zEJeVd$EU-t?Z)jyR|tE|v-B$*gtH8LxNAdKpeG- zW~#8Gh7|@ERfF#*;9T;hUxW-3lv(n<+~P z*|(3We%5Uer5!lH^4xJ5O7zP=DSjNbZvQNoza2o+fR^tD4fPEAB8>%~d-V`2#u+2> zk%OfK6qnt5U$OV`yV5B`*2fy}cpVhf|dhUH_^mrsE%zC=33J?u!CRo)g>I3n**!JES*~IC%C#m*u(uFCqM+k2J|RLx z>s7cp3C2h&PV8rEkE9fb=B%X1Ihk6ykwj9s*EQI)uB>Rgos72YQ70Ia{7Q9UXs}TX$Fq6-gR@bwF*vkP{R+sb z+}>%xsDzAXlT*pG1+_+BDY>%J-#wqMro;FH;K9mD61j$EovBuhdBdB_p6t7yV+9f$ z($ZAI@)H~31W;_r39t;g4kXM;73N1uaa6`GM15aC6Lt!SU(X^&$O;(|c1=~d_f%Or zc{K~0;Sl~q{?$;pk;BhMx!7Mr9jUACbRKZuuGN({Bh$>$Oho~zJDZNYopNd1%djt5 z2iD;#cKUv@2*(JdRe?*LII|7X} zv-*sh2JCgSW&q54p8oYY&1I*L&4;ltf$s~e(n-cnO3gpSwgH8n-(*^_v)}}^3DD4KYiZPQKsibsYG}`=|RO*W{DePtd zkUs<0%8VO^DM2*KQmK^nn2YGm?qdb0n2Xvm!`R`btVq~;neI6H%dBwJ%p^kM&c6=7 zlwf;bI?US(Te4^0tHL^N4`dg2fIdo<=2((u4Dam-NczndzM77u0APhcOn^`t?TKM;9ZqcRQ0bC1uLy4*a1cU}w#|DgSA? zTu7{l@x|sJ3Ud%y91=;(hH1B=<3*+kg|MyLZqUI2Z?{UNdmw69L;r&OF?)N#-u@~D zH^)@lT^0-*{ zUyGLoo4?TF1>0QV!&~G%xQut6qj`sB@@xwt@X056%uaYw9t*q(`hgWR#=r|dF!;XM$4dKI)5S3>|>5_lqCoK<~n3it^Xm*!_@;gthDl4i9F3s z_B0=XGwfabXZP^qs(5A<0-d8D>c|&&QD071a`}^v+6JPYT9Km`dP9P`OtAUWkv6&U z5LYw)Va&V*$TY!Nm>+K;YT@{u$1Qdv*Gn$p^5*70Q=gnU!+XZQnMjBeCtwBx3i{u{ zo2#&~jiRlq*gfW8tHbDF0cdaYIez-ky#}N5aSiR8sh#QhGIRzhU@l%^fh z(xLCQ8YZ#_2_UdUpQK64lWTb#|l2W}h`2Ub=c5|agk9@C(Oj1CaZ23K983Sx5u{UYLF(la23 ziSEHr6!*DggEUfjHuXsu+Egd4XbkgYs;_QFCkIT~z7KoqtIa+$s@X+Lk7n=64pz;m z+$GuCeYR{?e0b6Z?d4e1>eekh`6(-?bsY&8FnMabi$^kQ0>9Dqt3#n4OG|22 z&&bF^mlm|{({-s!PNq|3q3Y z*+ir*zQR5i;HPjhZps>{w;d5J(VdU16la}C^V@`xpmw<{Zr7|7)NDLhukQP zJ5ymbgW0ywVs%n*37|BchoB92cr`c!ARu82+@McQi$S3 z*=RV02sN?<`Zb_n?5=ZuisF}WJPSlSy+R8>9YCCOO9)2{bPKu5Yl;?7C;Lh=i`5@R z^J<*WCX@P5x6LtV?Cv4G`SaYUWtt@;%u?V9z=AyED@rL<>x&Jvt2Pkrucb=LvF;+T zX};L~1+E8v;Z+DC^ikiRh-~pc%if4_&3)9-od|n@BU$3mK1aws{6K;@(lcW!lIny% z#9nDRp||AVSi5YRO71No$6D$QIp*P>kfvFX;cA+EA0kVIdJdaTsCS>;ogOzrA!9t< zZQq!&UjXlpmm_e9{Bk?!zQ6{{C1~6=&%d#Ydvant5qJ;=6A5~_u$s2tWS;PEM2fAw z;e|U-?GT4gy@z`yj+s)G;jpL)xeY>9Y!jqRq7v? zBuUfUgfkgDtn?y$q$dATTd9I5>8=COQc}{~RJ5n;7;abJu1H@tZdu{OI%zo4TK~|R zo{CiKnUEAuAGdp~kf}1}w6!pheS9d|HwG1~VS)0?yXCO8D=x>1X6Rc0R$9@UPwKFT zYPIhQWDF7TID5C!{={Htod7k7K>z~>ksyi^^A|M)%s8d6SdFsM)~cFWizTJ3WcFA% zvY2Fbfe`GMtbS8Y!>S=6n`KKXGfc3uq-ma4 zbmdK+zKP2aJ$=&@@j_c@vAA7Ahym)AmK!qB^Xed~fHimP^6yY|y`;$jt9Vo09=kcsc_6OJ`(AU?ED}f z36FGY@0wpL3`?>q0i#S;XC=*!bYYCp8YjwWKtEW7)B#+Zr<2n!nF!!wxTrG)8BPeq z4fu7oBKq}g$2h;MlFe3nR^gU$3T_%zwvRVUZNnH2bCaq+J%a~M(?f7r0zcF$OB^;s zqclHh%i;4&5=52|Z(P!H#6m(1J`G12Y(fHdW153(5E57dZbJM|*Vx0n9iNPZ%vg8K zgzs0Y;HUHREBUU8UL`77N#f$Ye=(Jv5Hsr&dQeBW63|MFIt^yF1Bx`qJ@Bd!rWx5D^;@sEIqOVl>lg6K{x<@LrwTdLYk-RBooxr-lla znFe)jXTZrFwz>i4)@@s9dtiR68Q8q%tf6Ur5UTWP+Kipi%*6J%4ency-DlyHJ(RUG zsyX=bCtG8?Js)YzkX=M;#9Y!ZF{;-kOcrW5?GK#Qjvjb=IcH;ppCPUQ2ZVg~#tzv3 z_ULI6!hNIcJ>**D2CSFBJE`3%Ga>8LfgSlr+6OQ_#kW|+BVWbNQ1jE`YLT% zWPiCrJDz8zU4cbIy@8BIxq<{PJxj$8#xrx-$m86fAfJiPN3!?woWJL3Pj=bGFW$%H z;9u{!EgnU`K%e;Bmtkl6F}}yc!cKT&fY_)&QYk!DxwMi*ekA2&`KWW`#S8aeb?Pzp z;v;q}y6sxnuU@+?%H9q2L*k9cue$%LbEl5KDFL-aB&vpQoxAp)d#;_kHLOPQIgU&C zJ7~5q1(LWBK8HNy?M@b}mvt3ed4qjB*d;AW3F|fUR{s04p)|j9mn#L?r}apviI~Fb z)WM(~Il}s(%>U7_mIEKd<+@)6F62{?Lh=l2-I8N|);hW!}49`uRD+fMaqabq_Jh958_jaB~m9SuE! z$C+A1J4{UKaZ`WHHuQFnY?7-(PUrC}w6!mTgPMUGI}jup_7m(pL_m?21uNnu zd2J6$|7k3y=ppe7$W|Cs-u?X~FkYoY`H#x2^p@G|jBYkNL?bI55)n4v7L2s=X`F;0 zKfD0>VICKLIa)%VQj51IBjri<1T6qnu9eF3E;E>XX1iCbCExDk+MZnv|N}n!u*~{u6Cq5l9$P*Il}iPP~W5{LLIrZ zbIK1afF)4Gw?sb1xDJVFs?L_-F|;%z-I*zp>rgRsr$lp}Cy+^4#4}afnol5+n73^H zG!jW<33z{m?Q$482-9Szv0V*r~!Lws$171QN$E~ zL1ClQPn{au}bUk*EsSH$(mz{v4e z;x*BTu6Iwtlza!hBt2wC@k{(g_`9NAcn#heT>}PeiAh8 zZp>)VfMPwws0Y{V%U^eb=;?>vti3dXSw@&ES~uwzlQHOi*y=L3plYrHFc(6R43BbnaW0Ys&tjMY`s zeGvYDcMDxO*Z(z7Zd@YoKa$i?IXW#8bkxHGDB!C+a0KX~1dMMpG5Vw)zPd5r zxH?S9GxNw~H7+JTBi7^mwv+a4x7jDR<;6P8?{PUO2#9&M0@*```xos3J}Ox~ZPr^* zn@AAG0}{VOB+q?5Fut+iOja(F&!2}@jh>-Mx$s1&rV4zItcJr-jX&W4l#-ujIxmpj zq+2Uc+B_Z47E+`FG_Z+YFn;($gRCn3|Cd`SB)p+X@>0U#c!YfzGVu(>f)P=MD&;)4 z%OlgBr0=dEAg$r<;oYiFNUu^=_|e|i{Q7;iT~yT*-~H}$+z5o({Knk*Ig$Si>sMg1 zZQHlsP8qIpWOlasx7_~ZVY216ta{zDa6`S;(;IoRrC#t|w4UEWIHH@{8^dp-#s{6w zMF?m_k|5N7oQ7!g{RrMC)UiSX%XmO63~WTfTJj>%mnn+8e?ZK6KiN)g$ZY;OJ7~pz`fCp_p$z+m=rUMggDDg)_m>%{6|8gb)Dp|WXda%+y)2U zGvh%4KWiV~#?fb)iuJJ)e0b`}>|m5RBaSPjW!1^#?>a=xN`1tLLR6`kJFhwQ*keZ${n1FO zFV3EN_3d*<;fUl!lC$Fr$CFOPc{mtm@-Vmne4$J=s8eCza&n< zgV~qS{d|6Aq?;|zEYSmTJb?%J2@ml0!JUXQle z1zEwboMij9&Cg3t(6wb-$*{YUdH2}TsO8L?4B>0ymHxS0^ljJZ(#-tHt0aJ7YStdM zEt`yWKlvhgIu8&z|G|vhj<{B8!ySZZ_FpPHaAlIZFc-dmiC~fy=;}ilq_i zc_Psw{WJ~>)7Tv_Z?QWy(?o=@X~mXqY_6P;gUYdaB2s9}YW~r>BCEf9`Z1NM_f!9o zj_xy30prF%6hn+05ESI12RSbnvSM}uIUkw}%7jdTc!rKzu5`VA}1 zzkaXEv>gYQ&&l$GH|qAPtzW;*vVU>6Zmna+t-R;GYDgJk>@CYT{j>wy4_b%3I>k5n z2zyosu-ot!rB(Dz|=f^`Y_)@S*`R3jrhsP)-7cvRW>Wq7+^J<8oE_fYccJY-t) z-s&WH#O6f;Eq(=LUm%6dYeu=VykJrQ*49%Z1I$3EjLuG)dhvAJh*en_o*0Dc7W{<`LI5Mhp`mNngBXCEcg}s5miJ zu&fbTh5{fckHi@pW`Tp#)7RkbQ#0lC+w8&mf%?<|qXy#^gj>+VX%0$Zzs9(xoP0$l z+2vdE7O9A(!Xt(-hk2TJm!6hLtCYXw%cJ6v-vf z5@JL2Hg7);YXe$WB5i!q#8*oSXe>Z^X-2fkFH;rZ8p_c!>6ZC8gah0W_J@Vk8L%oq)3MIaEb-J+y16t1Ar`+l zlY+e^OQ#A=E_)-%7jDux1)7%L{N~IO*<{i6I*500`FyToeO$o)G6_V+Kz{*Niy#HO zO%7_y5+%{H6+$QjfW9y3%V9OV3SE!UKI za5|0P4ZR5)&|2&Smx8LMIuf-n#-1PnhF;~b=t%Nq4}Ia+7xd77w!Ww?uPqi347}%E zy@!V&h8b#sQ~ad$TG`<^JA6+dgCNr5AO=@bBxGfEQtAh4p{HO z*kHtPns0dpqO8B-KyiTg!1hcb)E(I_WYWcb!IJ7e8jOL*1a}z=KI*Ea;D=9^C8-Py zN>8V_h8Q3d@I2neeeZ-aAFB^9H5C~i)YF*CP%{$&K+O$RZHlO_I5~oZSYr&)jBuI) z1SN!!i5mPT$bt$rMx2=(*;KKWo{|W6(x2;6EMr@AexKW|C#@_zDXgU4?e3e8ZZ|CX znS6TUt%DQkYqa61iBTf36*nH&B%t;6BsJsF=+2UeeA2foy2EgL3&B`CI9^25Ls!>b zRW*y_WPx7jb&bEpn!UD`uYMG=98H64rwbzZNJP^TA=uy2SR{T}>~V{jd-sa9EvZ## zBSS1;IE46H9ID=^L)6Nb1>Se5jXRuhMHQ<^s;+L_>iWqDxnqaJw z7|XzyDP$eRK3B)aw+N>=C!C+5UYpt5`=0m$O{XPSPnLCigmSOTCz?MiHavYmMHHJc z_I>P5hB5AKbs##6y+bT;V5)vCwz}<=L}*|nZG{Hw2kVoI5)^1%0KIdoAXG57o${c; z#qkaOVs|3#9AMbx>`8B@ZQEc&fKI*YRQIo;aB9(9v z;sgXQR;0>wy-W%K&^EfiY9UgNKSjLVaGIUjefaS|ef;ol!zfHSLsADQAH59Wc^i8-MFcM$m0*3EF1QpL3MmD}2jN$(n zVc!y_(>m;=-UkWh07{&i`%r<(fra974&fY*2NCCef2I7~cpu#RL1oiveD3H&N7sd0LU{6! zP58jx?J4`v#9H7;u;+p&%9bH&~vCBs$?x4EY_HR4*U5mC}CI*uS4=)^m2 zt2PDY0^2^U*BkoovSkBaDbePfm%*8qacWxN+RH0+8^=1-w3S|FSp_sB0 zm5Cik=h&6z+_yU?qaM%nrZGX%`L5ohJ0=fd4QQ{Q6tfdKqE}&&dD$uHX*T^wNUVn% z!PbGVv#|K86~}4q<(ltxfR|immSrhm{418mns2v!mGtZWn9 zkanZgMU{ohU@02n)5DE)F1BcHnsIoV=AawpU9tnuC!?-`7a)r|r*r*XX9e~}NXcO7 z)8L9?BHG%<0m5_?rQ&|1-ad@klJwmw|78#*8q8JWWO)`(x0-E9vbX1GaRTb9TJbZUHmd*evLQT7~c~DHTFHW1pE6M_FXJOv>rj@B<3e1KAb?n z9x&ekBAXNa~(RDC&a$$j|RVPdDM+C*#bTubXjQVr^K%xrG`4n z!n_*8RAVc79!r`O{$ik0*`@FK-YsL!J4AS;N#^9}Z9kv`TzPH6W`Dl{5 z$8vei0^j6`h6ubYq;m5_JBwuVdt6XfZX6caUxyo!(zT^$x$v&zF_ElsIoREY8-pZw z7;GF4b9ug4zu%0qcB8ZqwgGPn!x{^Kx8;(B0a1^bX8IM&cnDxYDcc?$we6JSjBL1S zzGthFUfk+Y?}xj#C@#i51}f2hI%!dXRm-XIR_hW~?wi#3Qc;NR(8QBp^+rDeX_D}> z8Q>>=SO=sAAJ9h@M%Souxq??`%ap!&4nhsyMqH;yF`Kava4QmUQ^Z!zG4KkWWJTYk zgVVgR&ejf1%_*|hyr{{_+|;4N<7*R#Afjud|GygsBBKSi{9K?iI{`I~JTY5gNY8%w z4Dm;FsFM*1+z5Sp!!`67m51iq{wtRW%Tvn}4GIoVxFSRDOes{wmmPbT>f)3AM==x%b1UapQPt5`<1P~f!A|;vCptQpaXzz*56aUgj3jJ@K$|~!7A|f{1nha_1{12?-vrWd^IJxWzwfh* ze5@AnauRJ}h49I2&z_D`q^{JGbhSzEDMSb-FA?}Z! z(HtQ5{9M2cNwOlhZ?H#Iy>l+)-H5118qb$B(LHV(;IgwxD%r9kPm5 z&_pw0&U-}%XMlx|Qz77vU{fi$BvRTDx5T*!HI5YW@l=94_i~8^_sT>J8d8BZS8yQr zNSv5RBkMdtVzGJWC?XK>lyJ869^;xak^Y$DoJH)Jv(BRBPQm?I$Ooi(ly?YrRRLf@ z_$37CwnYhjeh2p&9qEpmK_}@8f@u}QI?<}$yf%d(sEB1c1y-n?UgJ5BJDGO%<(8R!~|{|_6tl1qSi=Ngwmh4?(8*NF9wzczxG@vTN|GiU)%=YT~G z8c|=BP#fcBiae8|{&-P;DS5GgO$+-5#Di;GzMFvbWC}aSZJ1MB*i|EO7ng66q%#q( z=#wfeEHDM8`K?_F$&b8yla<(JA|>MEQ$p^62V3hl!dgLSch>;1ml?=Yi02q zd#bp-G>uGEwGCVKZajT%5wbhqcH%wlFNmvBqn8payz}@@w#J3mSKS?r-hCBM z`q$3P;Srv0&Tl_<3?RdT&LFyx%2Iz`r5VK*ugB`srFiPfWm1C^J0^mkvM<^{Ny%3F zhKKuDAXh8`0(Ns-{rE-_G`|bcISR&3U#^{&&{}_SeCI{Ba;0YCZFTP0cC-|lrla3D z2lQjQ%i}(-T!x?E`~J883iI`SLVxIcFJqMzCO}x)Ag;oZL^H7RBLb8XoD$ubn5wg{ z!V(FwQ=qPW7N|pK@;&ib*4TVtXWV4)jq&IM(U`2;nhS?n_x7Hlg?P3nUef_b)D!Qm z(QypZ9cdoVn*sL=R3i2|SQB|5eB>jHRk(}-!a5EL8qVO0!V#;VlQxx;z1xaeYPZ}S z{yi(Dy#~pGnMYP64GE-Wgl)}8g>jK)^LEsJJe7E9IN=x{atkpvIQ)0WN=H8YO`J44 zY<%M*P_jiXoQR}(|E;49KS0PBNi+~~^IVnWp8;saH8lJn)Hr-?Eq*f<$rEOI{vu!h zKI(*J#psKDrpxRJA~H?HJ*%io5wn;w0Df+O-gNh>@h+hC=m&ZoRi9Vm*0XL>&SMCP zakMVc9#zHyNuD=cDMFox?GpMe?%*dn6Jsb9LsPL8`;6nh({lT}Uu{I?B%;*+HQ76| zLsnXQe<;7x)%WYzWdK=fOqyW`^bxrSMqsJz1KdYs4W?M1CtfSS(Pc4iyj~#yT2e~E z%Z-9Hp?fAFk|h^@q|grZI8Z{_SMyPb>XnSz75=lB`$mT)3(n4pBpX2^oK;FzO^Jq~ z#+0T)HKivXQHJeah23Uk!|%53K{t3qC>DIJT}U%~cInrRaL|4T72=@0M8%SrcQ z+*uLhh&rg_@40|soaFysTvnB{ZX|p`j3XAO4u85z$7-66ba>G+{X-wZCdV&h0O0ZM z1|4N6B07=7A)pO06E_x+y}6j;WqMX~9eG|?o!$d_xWCWX>tf*WvOSZEEb+oXFL@@| zV|INe))xv#KPpC_7>N;D8$k;{0$R9>Q)VC!g}*wdvS`l`Uss2m<{t;`H`a^sW4eB|5MYAJ$9dyY`!* zkeRaF%&_jJUHAJvGfssggf~|YOX-OlTO5}rtxjQzi|3wV|-oEf)M`^v+XYs zoG#+=b(d%j_`g<30@PfgWU>_-Rc+K?@=9(2J`C!Qsa5GvG1Ks zo;cV#u3U#3P=UKfx$OHo)A$+lisfF0i2bfHD1uGnsA0SvB3Bfx#SfAc7m2Sk`b|5sg~#B40d-j6Lo8=P@r#c<;lOuL1dEg6o%k zQ~Jil6gS%ipmO~TtfZ5Qqa?FjG>l+c<$AjM23h`vf~pqSpK}?pk*=4a6%_Iw*nU%7 z#Wh&$_i+s+t$x0J#s*80luT?CUm0V364GN>&(W~lI+gvq;|w8k;OnSj=Q&mXZr6NP z$VU0P(tMq34)KTHJ_rkOfjuxo&vDa|xj=48vLu@ywz zW}n5@tTjK#Z$NrU{YE%1Yb4V^KT*HI_L%DuJXVsybE=#<_Zls@ObNDzfZpqw^36aE zIEu@B2Gq)iwVEV>EsJqboMmh%trdE+%ug7KKf`UjgrQeE=^2H8VwDi%rIkOnflW}Pt4OV_fhfqJD@VPV3ehGVAJ+MHUOVBmc4G{cb zr{TbdVngr=FQ142O~XqBG6RL8wiPW6RF00c1hXb1BLx#q^Ig$yIl~1BSKV!7l8UkP zcT0wn%oulH1!orl3G1E_rCS%LXFxK3!iG6W^b?%zd8e&}Gxojr+L^FoztjB`=5gCy zeRGQU6L|e~_BqhCSMlAAYKE4KN_FwlaijM${!~&)E4+YoUUT^U%Y8y;iiR~xa|4$9qH3~nAkQS z)19IVAICHLI-Xj%>1HmZ{$fX(eIVmt1%+MHMJu3gppnRTb3dBgD~BJv2!y7fn7sVd zE)e%vM+sVi49>885Uv7AT>y82V1TegmZt0MID9le^vdS%b28~Xw}<|dTq2Q6TnEe{ zTVK3(QMZ9MG~EL$f8e3iBu~@gTC=(bq;`zdynjF)CnMI;iP`!L4rP!+_NtIq>sIO(;pHuC0m)fWFWiox4 zmuQj!ySqD?q_ExvCEewyb%^aPcc%_gNS|ZMS7iMne*A^^I9-4SJjr(8SDC&q7;z0h zeFPW;ta8t9JC2zS{_LZ1Ebgv-%VBt%s(cazu-a-^!*k%a&_}>HL~|!0<|R=i*7CMo zjntC}w1(k=DUy>g{O3Hf7N&BDBj354zTeE40NgpB>>6{w1o7K4QJicQwBbAOOk$ zkl+C4N$AkIQqRvI?`o~%ffvn>jLyNS#9(;^_IvPinE?Qhl4r)es_KuK013l*fwPc; z@nYXHGGbV;XYB7cOw}rPcN>6H)Z=j-h>hFlfBo0zEu*ShvV6qWZoE;mk07X}T9w)R z!o@IR$3O`WLp|uU6?VM-XdMVV2+8{ZV(MyUqja)_Yu(5!WDH#cr9*UP0DQq}YyOiK zPUyWnEwj&^Xx^;zv2WX}f|!kdKFl-t?DX&Z`Tn(k_VZV`HC~k)psU=P?`u3QSPPNE z#6@RT=R+d@Tl~js{DQrVzxC(&#ZNzVpTlgW2#H4oBtml|PB`o&bE)p+zT5ZV*7dxJ?&U|s08WS5k$KyaCBt;oBX_dq zyNgT3-=*KsPEBXb-VdI-x_c-CyR4Bp{2-U?>W`JXCid-{p!-+9k=OfPe*6>4fd|)~ zmn4;ht(ppxx*t6*|2AHVc2N*7{r3WGE%pUSwku-Ynv=ME zh1_+Jz`{(+vR+3;@eqds@Ie0SlVuouNO+J>Jvge9dk+VPCv$cX38`cQt9u>JP`H?c zc^Xtva5n{TZ<4olnU(T|ooPMnf&#UNGB;lZ71gj2+BRVAGZ6d2hzE;RJBq0Gj-E=4 z3|YFWCi<;pC~k$#q@_n9?98U8O?ZHGK5ce>AbS&i;FJ89I=v>r>%YeT|d>oC*1(Uj;-+G{x;IwJt1(D#c*E&GKf8BdJtVhMc8v_--eBb-yl~X4(h_(c%9Z+!=jUA~A(5E2SS&ZZ>4gOzF3%2YJFc z#aJX2?QWZXfx@#AHs)X9&I+lG2Llj^3BUD(Co&D0Kv>lVZvem zMk|0?MbnT}UHAR1>M7q5wmuD_M4Hw0@e@NT$wcGYf5fAoiAIvifd|9E*SvH`DAc|+ zT^+pPXU`UwW-{s6U^&`l$DL@Gt46d_m*j1~9*KRldS^P_ zzO`tb_?^lm+-I`EcvsYkIbG4rPB7$RZT=DVtrc)LdDx86o^^saJ`hTvnHoUx1GSN$ zbp*Z!a4=0x5**I-HpC(%vQ`zEKcB)?N&HJ&I^WkRQNoY5(w1|*SkHM1n!DcI~rWB$2-_lf})SP#bL`Rl;x*bZK(lpVziC$z|Q z>kacjdq{{E_7y%tJ0-$ERqSmjDD|?;+;c@1HcO#6Db{)iCqXH zOL$ooDIf^0=)kM9ZptuHZuZp!(FI`U?Wb!!90^7xM1xaIN$%SxC0zhOBvNit+Seyb zVNR&&X*Yjk!nAEOabw<1FK9~lBrY}EblGILqPY?Ryk{n)2#`$yTpE!kG6=1WO0;E$ zM1Sl-Pl7r1YzO>vt8PHT=Avf0@AshK%fSN>3MsLVATuE(BK0}{L)9R!6mrVA^Yy7R zxY}AJtHuUnD$w(T=Euw+%ah8T{%StiDFQ<0d3e09h06Da2`^5;|vu9%I?X zsj0=Ok9>62oyyBfqKY6_`6<^EN{r*y)ME47d%6ou*I5Bh!wQXA&IgeXF}IA{+-6vC zL=VCcTf0L0F)pJPl>RbFRrn#fRV#6kb&H+Ii>XSojq;S}SkW?Q2ffv=CU(_c-m`Ov zK}S8y%|7ar2n*yfIFM{yq3=YW`eRf8Sd#CfHx7WafO+$yHH_cti6Ht2HlTfc!^CkBZ(EHT<9+bc|S+Vc4J=XdhjJ zoz5DtJ&5NC#1cfxmVk=~Y8FBlkhU^Wu%ntUbwM~Y0z&XeU-1Zn6RhVCOta~0C|=4k z++8IN@mdj*yqaZ*ZX#>Ix9d;r1|d#rf;?OP!~Pn4bEj*4e+b8%=IOD5=3s3w6_fo1 z4eq~SSmv-)*g7oDmk3n9Kl(SMcleuVN0~!Fv_zRV7o~AY6%z3G+*AQt6DYb3FHgQ* z`0&<6XN57uaiC)SDiz~bqqWWoRAKpY`SQamq}|T{pOpE{aY=f5AM5F`-Fu{H#;fn(aL|hY+uL~S6B0#RL7Cc{GyJp#`WCcUS~Al{0f`ceto}TM|tide}AguIKb2V1w19L zJD+H5{j@2b6i4gq;n#xZ=dfbE)%l0e;GJ*|jlN7)--&@x48E4QsrO{fovLWQ~MuIXyLjf>*fz90eaDc07eE za`J!pF26$irv($Ir8eO}l7fMtfZ-*>2+LL{K)bxrNg>xaX#7S#p^ak$*M znY-d`EsC~T=8d(A;~@ut_BBnr^D<`#_kj4VY0H;SPvJ*0qyYFo(+jR1Hr!%H*PuSI^?md6`*a&2?KM49bPe$;SkQzN#D|Z~ z)fL6DZ9v%4yA&5%YX$E@L@B&W(&$}!aLad{l7nhD(3~se{b{*W{S6j!f%%(d;fM84jXThq_>BgUn?EIcA+e68p0OVJF;2& zH}*-g;Uhao3~D%Ll1`J0UK@21EO-^5EfAt3766v>W2bJ}Z<$rYsLkzr5o34kU8oHL z{^(7Xo3s1&v!@nb1|;Zt15fCKx9;748{l>Z?VM}930O#ddr8NHcB1`@;vN!)=w8VC zT3i>30c9k<2i6K(@|NjMt8)uaF7HFcAfyN<1_Xfu3`&0G1!d-pqz^I|W=qWrSV35P zotVta9e$OMe|{kNInm#~%~zI3c;|dG?`;xf!@HV8Ws3}zE0H14CdoHVa||{@>gA5v zb@sCHg>5fDobg#Gf+KIa@wUZ2zrC8@pjI0kUnuXXnVTM9+eh}#n5KH-WqbSl_J25M z4~`UO`!{6M*bJl1KaMspavw}j&p~dXXlWEk>;*{_ny4EoNj_Pg@(y>|1*k{wH~=U0 zhhUL1Gu+MXhk97?0{6avROKA-ZI2&(xl=?M{};`^Zf;zJedg9DD9rW~LLG&^{}0&7 z{SXX2B9jbTCI~<+h`K!CF$41pEGZJ9m~Srn5Qwyxx4;IZ8+nM-hCA zc%q}uhtH!amR)Pva+lF^=k@rnIWyI@>I_O13$6uYt#bSm_Usi%DNv4r-wb@*q28iV zuox3PMQeV`5>XU0#W>j@KFN!4Lf1P=*7{ggeEj!8=WZ+*rW|nA$!74Au;{`3>l`mw ze=22yz#?orG>HfP#{#$SZ;gz>+QQyD7<a3Ic<5h`o2`G0fG)(TUV3yR8&9Wy)n zdCp;_+Ko*=*IiYTrQBewCsQ6PbS0#jYA909^uz{pr5A7&)B>ovnlZS|O4m49AEI{slu;bB&ue z>|x8WvptKIk38r=rv*51w&bU?@jcvBV!3w4dydu##Akw>o?-35D z#mJ+jmki(#EpWP|Bb*ld$5GRGiD`}^>hKQtyFA_eKd(es(Bw^V>pd3!`e6Jx&n8Aq z^CbqJ!(&zGW{__FpQIFZUYYlvJ6)THX(C^@TIJEvVgZ&CU&h3PNg-`fthCbn+xwj` z3$pLI?(E7ezRqq#9wIe4_pYm3wT%S9Xf!hiQ6Eh9t?>+lBhnx z{?UKq?;N}SOU3)g@ENsHd?Ixx2h)4dF0fbl@2?)k6Acv~9lO8yMDk8}$lA^;`1}RF z*>ist_yPJHOEH1T2(pZ@Lb!*>LrBbO% zB~@uxNhPV&o4Q)Px>vcoZMT=Ug>CHi8W|g7c43oX0}h=r0S`$WK|*3@LShUdgs_OP z1eh>?Kadc@Ha+)dm`^X&_m^S+r= zn}1s5{GQQMnbTbo5RGg?!1ZhBE528atag@IR)QTcomWf8+ zbr;bSI7@+^(=llG<=fA^gnK%_>)8TUuohDAlJsOHe_?Jz@31s6o4!^Rntu!ex=1vr zEgmgGvx_zN5q4QSV0_rXAE-FV0ZFlx%#-V1ewsbPZiT-~63Tp@Z@_6C_&&g_OdG3j znEbkUjX%8q+&&QLPFUJ7A^seG3Ul~rdN!P7)Y}OG1^5n-7*mFYse!lxPJD zuQahJegwpV!UX?J%Vfm~KNBo~T1faC#3UncY3rw8HpSB`w4DCg#LY?bN3@Vy7u`^l z_)Uh?0&Z=sopnrtBkJ3E;3U##l+m}%Is=||E+9*l3Yk;cSYhE5Ez;s=Y`fR8KZ7Kr z;SEI<`jNKuGq%-h(=}e*-f#X0{J`T_k0bEd1tzQGEtw6&J2N(`=n_kC-HmlTiNKvR zh2WxTE&{p+!+jh zTkoGO%p5woed1t5R~K#^?T^k4#_uqbZO(#|w3VaQ&!e9GR<`_Uhc=D#>23HW$5*j8&ky5ly@g z+0F@*5!A@};Rqx@`*0&h)E$?Ix<_fu&(r1>mIltcUvTla(X`tl>s}&vt(ZfO=`Vnq zNyNDVIj#qKgemrJ+ye^?^tS*BJRKv1frDNH@XPgT@moDq&VqW>#_)+czy^uBXUcxx z^cg6{As!=Ye91zIcPmQC2rNa5Ku=_eC`o?LLz+ZQ;^shi_dxS|Jc?o&hs}Xij0gT2 zLS?TAN3%|y?<^zTdbWFDb)frVfPJNJ#uLuN8cDFmIsV@y{uHtT26F)J!?N#KD;f4= zF{*;rO9r0Btf~RIhIl62NMiBTznsvz^aQAY_;p=@`pHAt7e8D(?UA@Uc~2}P}a3uKjdY6`1T_M(F54sb zVjd8k7X07&*>?NO8SKHgUHlg4)B6KO@W#gB^% zfY}_aap+vh=M$!raTVU4Dh7Niqe6F66<-NQ3*$Ssp!n?Yk!DrZk#>9ySSo(#7UfxS zx84=mdH;#sL#Wdm+kMl+`;DMunaZN3we}6X@9u-%c&=TtHrnIq!yncL+5n{BKE&B| zWc3@oIL@KKC}PbH{H*0c>%;S73BjAYf~esInVp)gKu{}`pzxcS9^mr6P*0(ZUSoE0 zT=>b#WJpyz1!gNM!fXSKWbUgc3#`)%1cWyUt5r z`uoo4j%6tD#QLZ*kc~wmv7W>mBe<@7N2&y9oH40Q;02ZKB7p?*DR~%l?OCE0R6$)7*B%(mFVW>C zs0ic%XKX!3w=nHk1N^RGCLkU3d;b5I%T^_}b1YbN<`8}o4>~l{Kw7F*4h4JQ&{JH&WJD4qQMz_u7In(Z2K?_U4Y8ak9k}(@1I1)d zEI&J&kM<;r2flEinCOY-XB*wI*2QeLH=X)1DyOH?C#${t_Vrf7rTm`XgXdACQov~? zTR={e$DEDXzCyO zTOB~NF@Tz8xPwsepDV*hXYLr^B2MgVz3*t_h$FU-KQ*o0{I2mi<-|^LBQ>=?%S|7n zTg69?G>(pbX?)+!+H~L1VP)^T$Di7HLK)rEApR%aMxd&-`{~E(w4>7e)iq11a45z7 zbLpXV7cUyA3G))Yf0VCOc_m!Om!I`k1@V&>X!E}V9!v1FIfP7e_XmC+QY%Y7zB1Sk z<@J=ptX;_BYd<8kKhs25`#tT)s_{35 znl_#@GP&3rV#qmj*7(6qhEqTR=)8fyj8Slmo30niK27WGm7jg^ww<4z*-=JZiEY1D zC}mA6DQM`UArDeA~gnPh8+_$q{8ML-;wFWDd8;-Q@;X-tPog!dI;ut9-M4(H`0M02I zyb4I4fG1c3zB4;9@HyH`-gk5y({&Y}Dn9f(RkWd6 z7bKXOdItBI_^dUXqS$9!GsumHY7h7FoRaWyl<60r43cR{?;cBxhwK`=OQ${~N##FwGW?IZe zyFx$uQKGNrHDgy}yt@YeY!x}+ICJp;^x4xeG|wa777VAXlVs)>;717^ctNHUtmBk0 z>F2BzORcr8Q=3%9MeV#1{b;AxV)h&7I8Dz`jz%4#PtFu;XYR?&ujk5_mXeY0`goElIdPH zNO_A!SmzWw84VR-SW4$6_f6)~urU=25yU9Be(Ji&2|v&rz%M#O+4AIMIXmRwWZS7o zLG}VugmE%3NB_oiln692Oa6icvhpLeQGW)kG$d&$DUcDAqS)pstc}xC^Fo(K8N{e# zI8f{6>l3BYL{VsihPb13{tkh()J8fT4y&jktf@nm8r~CDEo5gG!DJ?7G-aQZK#3v< zUz5~KMQvR~;G1GmbshmB zr!%El~?j- z{Qv?`j<&;!e5?8yVx?+MxXZG-!j1xA3_G0j2AU_{udFxWP%ME`3yzi`5krh-ODXoK zPm}9Ue`{<8mgWzK6KS(2X&p%G!AuCj3W+A4jwiDN3feteGNx5DrL>lH#Zo>q)y}SIGI`i0%sa9$3k=k>_k)lcIwk0G^AL zlt2sb4{`@w0(qKzUe>@3_fqbIfeP4QGWsEMkHSVOl)~2Yfq^Sv!;knB7i#zQ{rTL^ z=XOqX{gV+K>gm7Mh#516d3(9XPKkLQv?q(n3EZ=D;!TgG<2^Y&-+wzou5sVB<(@11 zev>K=FMC7gp8Gd74GE;1F&I@ z0NDX$ztHh!Y1?PA~MBT7tlBqPo3MpWY-tz0CUA9$3xsA zw_-67dN!RzCbFbVL{|DCt+ppE>!Y;)sAWCrogWCb{$GBgbnbnu<5;=@OLt%C229J( z#HR>4u>?CYai;`(6xW3uA)XF+hN&1Kl^A6x@-2Xd7a?-Vd2R_QK9nZe`j%SfMPMIW z17#YBdpnLP=|>BBKt!ODTgz2gtOpnPJ-+ieZ}06mMn9R}0$-4SQXI9S0-}}yk4l+K z!L!az(qcDDz#Jf}l^M|z|M++?9#+5kkH7)h=q-Mz6+&Xx;M-bSGoOsa&tD)Ff&c6# zo}GmCa~|t&gYFt*k!oaSP*{+lMV>(X0st9hPiH`AcKxCPJ*?-nv{)>*&e0hTpzrlk zh_F8sT2_&+nHsTKN~M;N?ZrFd19{qR^ZOY9UC%cP%9RTKkc~1nga?WI<$hZbJ$wW zek<&?0;L%!4ba!xRd?O>J9phVdUAGYNvs`t|JEBHeDKDt?{7UmGdy?49dpAxx964p zc&{FCQ{Y4gC=&xS$fQb?LyHlI)ISRsEF(6zA3Kp>9>;Cx#~0>DOUcyaJC^D7mdCc9PTTGf z{4d)4owSJ~N5>^&&E^Jw1!Oj8cG8VbEh|~ZXBqfk#@<)!d6L+Aj&cE4E!X&S+|qiA_3~#rwv3w~KNDP$?xoI^YYss^Zfol*p4JYD zE&vt{)G8#{Fw#V$q(d$U6{J}rQNDAOKU?kZdaD>HgH~@{{DcwjuX21{>o?;_p%;vI zHLgCmeXm}e2gYH%I8;kRWkzK&+&K{x)G~w zILT};%CnW#bSR9N>u%(rC?u}GK2b3AULFdG^bG#u7uTH|G5;Fz2=FKQG`v`ML1S8YpCJk z!r0hC5wekE7NOBl#2hx^BFcO!PGR`SHL>T4o}MfAOr*>pN?l`+6-Te{Q+)Dw%cK{bqI5=$U4KPFn1%?%Ha24j`z`P=tL#4CuUM4}# zlIcvlG9yTVFtqv7j?xa55_D{bJNA1sEo}cn>>2AB(XG)NuBFLZ&X~83<-caQO6w2V zUF>&OHOmyqTave=gh2M{KS095nb;5#*6bghv-HtI148G>v5_m|lNeG;5x$hg1mzKZq3wT3Utkh~YVBvKt3}$JQ1N5x=Xra= zD+ah^+AAn$7{IPr#L-0@fr#+^gk&tsHvPR=_Aa!}cHlY-mKMs@3*tt^6%G<<7=zbs za@#}#nBoO!%8Yn5<$yLDoETcF`d?^mB1AKsFXI`>JjOlkfFj6x%)7S5_QlOZqw*I(eK_ z^v6N!!p;}|GxwTPTyvkEhCcEYNUvtoeozDF_B|(j2lrdbq34w*Xq62)bO@NKgIgkh zX^v0zVpQ2*r(?W43n#cK&{9y;6#@0trU6={8L9~oq!tKpO{}$=8%ge(G?4={GEG2V z$S;62O*>#?eL3RWUXL;Jz>Juojhul$dmi`O#`T?EU7hp*v8Nqxz%-)$b}vLj6bOX2 z`TThk)}|Hq@4Xm+NZI~dZ6DzvYUH5Ag?d=-&URiCOEAzf(2Hfn=M$sbZ2c}j>FvCI zpyT)>9ZxZGt#5T)^4Da5=}9@z*5iYh;1Ph)sXY>aF@8fSfFe&x&0508+le)9|LY6L z?Rv_x<|)aj7QSlgW&6Z~6K3NiHs)8L9`Nxd@k}N1 z*-FfmJk$+{me~$~(|O+HUe+a%*d5KY^&*ubr~1SXS=K||2MD@tTMaa+wmF~xkQDEu3Vc1#KMJRQkqWxu@D*eCP8OB!PNz1mDmI(`}z zRF=4JpW6UNzRa`&zNsv0%WRPCNMOXe->loLdgd?E62b8ofJL`eSqGzde5VqM2t8v)pB(tLcFm+|?9@l|TcpcN2 zuCDEqzA;lRr(}_)8gxS| z_&jM@=NQw;ZR-N)CPbD%GC!IO-x_X>GQ%Wp;N8ltqf5+MkeZG@^lF>_K>9%1@YUqq z%gi&$GCCi2Z(XMMmHu@E$3e^**~yMVqtodnJidV zp|X%n49r{Be6aOHU=7+D11T=SM)e;TKaLQ)&qDJ8 ztwW*#QzdEofD*_mL=L4;W%{~mSi+&#Ca-YbtK@Lht3U?EKJ%sKqaW$6G#6M+z1!5f zb91brZj8zO^HQ}uc7*{7q{kjbsa@J{8Iu}p5!?0XALMm&H{Z6$IQ4_en7h7^NH+%A4^nLGY0MWOIWz3;1+aPN3>;Iz_=%a99DJ z3A7O(UWReu?5z)7ZzDFjbxzf7F@eqX+Y621ypFOly(bwF0x$0SDkDdnqEh@;F!buy zTktuO>YwaEtn*!r3kfyiM&L&}C3qr#r8W4Oe}=rbI2xi%K7ug4%>Wm746#4d*dxyH z+vR-g)@#jV*t~WOCO?eERL7oPyFT81MEq{)c>eio&2ZAZ_T}Ss9>A$f_IbcG=KJ}J z|Bv_^@nPuf+3QlyC+SXQVt1NR3QQH>(P?;tKQ4?+^mZGCe?oXB&aHjN-YJl;P+saU z9xwb5o$Ax|AM8E$PCTD&0xWlsHm}OoMfZ}6*YFVwbmIZ#TbC2Ave^sy+twgx>a5#a3f{4O1 ztb?ILx7TFv-{uxu&sf$^iNxV);+mp+p9bW+u6v}+zT~04nX{u%eO7n*)S=4J``px+ z9T$iogqjn1k5_1$%iZ_XeYsoTeB+I8zHt=}1*l%yryvML6)U)fZxqd3WvqVezWa{V z$1VnN-;HnH+7%_|15|r80D1&Z>+?-Il3rj+aQ@PcQkhPBbSkk4BW{{^h(?E*aFp+*10kD`1%IN(Oi zC1Rt#qdY9$2gvJ#77bKoC%osNQ~+uvS6(tO6XtDjd^s?|EX=mBCi3Nm_#M-DEbRPM zB>HtH{Fq_p!_8*+f@WBsca0nV&DEd(zV80p4Tk%9%h1-8>T|)EicsxYH5PoXs$}lE zE3=H8%yU}s$s&>li{g_(ZB7XjlA?ID^U!avLI+LNyWxPu@fyGlzz-mCD53!^0gt#R zLx7p|ypN0|$s~8q)ps2RIZ@15-q>Ibhq-Jq1Y+y`jcDxKc0y_~cT#`&f#_ErYz*L6)D4Q^4kZg6zH zcnp(HxvBlAS@U<|;)LnnbNc;3e#exK4soB6L27j?WENa?Pbm zu0Qc=0@-Mkwy#d~=PIaJ4#|nSwT=VKz`nqlbv+~uV_5v`@XM?u0EzOvp$*D7_<~b5 zj|wQd*F&IqvY^Ru34C?a@U3doK&x7 zquVA2ph(?2cc{6#aO0e%9WbLxe>8UGnH>$=*?UUgjx6eoHP9879d`v*pdBHb0;UFZ zgT)X(EjX+PpeQo;8K!1RnStT<-SKqmR|p0g6UE`xNJ3GP?om2_FcUj%cRl13>{o|5 z^;spC3A+*eT=*b_RlqO!j9nOuILZIeT+&E@q9dOwsiZ-wUs5MT;+~9}%j`%6gX!&= zZnf(kBP{YiyJMe!Mb`lYYNuT{ttZn5x?W)%c%iO(eJz2rssR>xjuY?TdTE0h=##`I)3bRizrgcdU_-6-0|R50O+ z^(#7G&`Y-Q*N$-B5lgjxAI^Zr%t&wb-Qk2P?67%|8kSShQ+8U^^lYqaK#9`~#T6Td z`k0|16}O0};Y9GVSDx88E|v?As?Iqi9Mnhp5%7l~gS4=#w1}}J*<8#zNHY1rp6nOt z@f7U1g&e(jzJV1$OJ=6Oyd`IwZ+2DHyu$&)y-o}3A;+p%YC0!=F_&=eFjdukvuWqH zAf>*F3rD;MMlAFex@<0w^c`_1 ztA0Ib!)g2OcZL|1g5Ugv@(AE@Akf4dOHRP6+)FP7(+J)HE0cmSn1$IPc%3kM@|Z=M zXj(4mjF(Rd9wL?8W48x$=AvN+7khUNZyy$;bXdxK6wFMd6pi0bmqmcp0?kk&SJ{s1 zZwuy(@mhbP`WlKTpBtdle5Q1Y*qS%Q?UX||q2oTkzQ+0k3cEFF7I>-B6f}_05h2V< z!$_4g=-W)0wN|77$~4N;@F4+0g4^3;3TAaBlu#bCVa(9RcMr|yA23C2`N|uwT&@Z8 zf&Bc=Q-t@PG?W$G3T35YJn5MIyGFx%?tWNVIS${d73JZ(_oPnJc*iii zX^+qHBQ_Jh?Q*Arlns;s6s|WILW=z*3}lvR%vp>hV}{v>cbQN~hy$mQM(P>gcg$Vl3Ab(p{6sGfVg0N<)~4RLa0rt$l<#35nt81_)+mE&_h`iVGRyba+H!RRn>76VkIykuOH$j04kuP73BVW z<+1C-@jbRG{@7IPz46e$B3-qvj2cegUA>Mm8Z%RU$ELN?btUcLQ@2IkJb=PV8+nBA zCnDwUZd<*=h3})`UXgERD%Wf?;&8X}WiZl*Q~b#`%mR5mke&`T93)#$fGx95&`6>~ z%=*`T*HkzmaVzD}X_In}J!^fxJM~>=73lrP#xR1lt}bRCWCHcpL);Q9&YWNll$1=R zUSLM-n??Fk*J3`8a}mHMk^6vba4T1L4IbbYreEioUyeZEKpu`Bo(6(|K5qb?a3(yL z)aL0&SZp}`2;7MuxGFjl8JgNAmL55MmS*zoBd42Juh=^#a>E6#dj^=KF(DsqA73KG zSi)n6O|HF2p<_)+n{VqZ|4xkogb$%jMdo2LzxgJNjyqaw=g<4|u$}|9kGvmzU${7_ zi^1W82EkaMV)Oy>0Ff!P0-p!8&sLzu;JAVY56TA}OpPk@0GFFqMOG&iZTVZjgp65aT}Eikeot`TC=lm(nX;($?u*AFTNTup{po)(g;8T znj9KwVx;5}GyP!8&$EV8oTCwFEuVhmk&ivH`*Sh?PwFy1#_x~jM^4|k(8OHB@r>lL zPqNM;E%`?%w0wIn3OLG@faqCPWkU|q4Pej40Bl-*P}bC>0?)l8+4<}d)kKN8Dd5>RsW zvBoXsMzJT9fc=fWAmwa17BZV8*C-$G0FD*`0M4`DdZH3XRF-I@K$3jTs=r7EQgt}4 z_}EIh2d1*P0{x2eo61CKu&ZmZG?9SKCX}e;5-k}%@&r$rsNFE48!8`vHIcj8v@MGi zE*Ad5-MNSaDT}=963;U{Na60wwGmy0Y0m%E3aXRF7#aMZ37&Tq^q=4k@|I+$fhja4@_RSx_Ix8S@m(U3KD_&9vrbVzDBlR@$x`7mYJ(hu*36&D3 zn|c%>YUd3*syC;jnHYlkGOu*6X*{PJu+%@-xW;|uhWE=5)NYhl;Uh-BM#Zk`8BY@M zUd@lne2aTzYWvAVDZN(vY3t!+{+N6#KN|Cni5(}mch@Rz9cEakaZKu}*;ZWu9-Z}k z57%u}^pjwod0YvNgn^x^uzY}a$$VPGB4;M>+930g5+oLr;vqy{5Iy2K8|f*(js+@T zka>F=Vytb3^HyK`Z%+#JdAN6I(sPaAZRV=y@>-LZU+&qnB@xiLudxT2~yDn zC|j@`Ng^Y*5UHOtv?tYn+Q%GzKNIi}?hwBCEz+QWDJr>OWXM4dUnH$oTDdu=3#Uti z#FR8jB_kQj=~@OUu93wviz^vT&-qufy4K|gJ*T~u(dK{Qm%T!9BNU+T4Fb@rsyVJD zgylM#n|EW5ZRv+1s!_~pN+fI+kl7HGs|sc~qG;Kop;B>`7rR4j!1rh=Jm_4H0Bo@`2I<9HsT2{^Ed#JWuPd++BnbYSr zL$mdH3uV5x`Ml~1)(`nskS`!*RN64H_1gNn^*9tDR>qxd^7N1<7%JqRZQ8BB^CvkL zwniATk@N|u?L2LYWb6P1U0IDq{IwjeF-YEpqO5caHZ>x>wHlq(eB4KUj4;mG>_bcm zA&6f}UT*fKxpj?j_^)thHetaF%s5HzQFfyf|4F>dG$_iRp_k5PbsEa!sm#0zIt1Pg zB*pea7!Dx3ph|bIm6_&i@iv;tZ;I$aX81#}SIczpw$Uf^BW-}&&3E;HljRmmprI@Q` zDEG$W`To9GFgUXqzdslZmbPh2-{g@gHb!ly0|Oy(iuj-z?{7|25U8i6?mrqg$29GK zMUHN*#CWXk-*Zn{^N|RdO*(j>%kc=D^%K004nCxTh_uSgCKlldwLDjvIaI5(e%w>< z6}_$Z`Mi(MCA^|I+lzr&2>o7h%YgA6@-bhhNmPk+g!D0tggC5&NIc20CPLd#pN-|L zY9B}JkcT@kLIygx%_EgjUS&Hsfa+ZzkB5(S$8SK{b<|UbGsf4-+xia8(B@EnYb4V# zT(Q&%eBrc>?{psn=+}Msim+@a=4L`dxy`tU)Y21nsf?In)RO}_6=jF0X)r2&To}|BNET@3?s`$m z`I6`=`;_ck7$@)dERsIJT%GL`f8scfq!-Blh=1`S=&Sv^(XC}5LoUzi!EeCBZxpxe zV>q8?)P4CTAw9(~YG7ueneq1}Qri)z*Gr~eua?DX_khg5GSGcL3pEEU>#6wLE$hwk zS6J2^v5NuwcA^&ITFmBD?;$Wmnd+&v&;>&4?RLNxu)62~z#S5^R0tRMI`^h@uB zEvXN(yjM{eJQtP~OvVUWA_)f!7a#-DWG1Z?!pT_Z?ZhAOm*LhMsSp)axt*QH?j*41N%m4`=Hp)QiNypk5OAITyao`$aYcz?f%lJ$F?gKn$eoP;9WS5WV zBe?-%_fo?6p0qC$y%!$ph~Bdlj^6vDko}wt*_$;KokRAdEr;lNh~&tGtP25=o+?Bn zh@I&0X`_hxrDi53F2pj;MIz&#k3@7$th83eL!{wuJqk;;)CVyoZ#D^LxMm5{OyX^( zVR2x!8Zj?GSP(~8&*MuZ^z+0XR;m>EUyqeiGF{5KiCvth2~|&3)B{o_b12<1|HUpG zUV-CYZwcv87A6uz-xPW?jhg7wz~D zmZ%KO(huVHp1NdvXi#f>SpO?KrcSKc=9{e4t){)^`->57qB`Hb@baNNx`CN=5rQ`O zu9<*0e$WPR^tfytn4wV9u;R;xI$17pX@@X&z(GU2s4$)-f`ju>Vuq!rAEkiqlT_bih5`2Q9Ll^A6j6N_DFEB1$ z*ZFb&GPd=jm#DB;rzBTCE+vkUI7gXR6zpc29)s0BXV0E0&G=1Z3f^sq}ub_{93w5yE@goRWq z^7v)1j`X zGzRn9fnc|BJdUIIaUgae|1E)S}xDk;Kcfy5KFWx>vl5-y;dr=i7aH z!QOQK>J$7+8-L@XG6UbLQBqH?(lIK{K@w(E`)`9XKPZbKO*8OtO*6BOxfBH}x!^gykO`^yz zJRAvkQ!%W2DV*Xrp@f#WOa9#1rR8M)dy#DGSwg^zs3gJoNFvykW>2#9LGdXq8Euth z(>=ks`VR~{1S5FI0D_yuB6}`gB1^y)xq-tXbBI4|qGJfpt`FPV`XQbTqbqQ?4nMX& zoRBw09Xw+_tdN=&1hv6ABH;1@As)0N_h>g`)bt?Fd1*V2py^7s|1n+`rV^T4ptH#S-#M==Gy#^;qL@F-OsqZ}oq zJp;>1V@j-B74D!=fPnInEsyt;!cuDdcfl`B9@E4g>vxZB2J26q}9)JO-b-t2=Yo66lX~C2E3bGWT zl+CZMc0lb_iSGYi98uNLo_s8`ES89^TAS|Y>Rj(tdsFijS^Va=Nb2LYkFkFmTK2`j zY00zFn8U+@kldeA$lU! z_R$Q}j=jgt<=pqgY!iM?2Ac8E&_Jd2!=X@UAl1{I83=`j65Y(lQ|{pB#hb(sj{)R;mxY_B+tl<7SQ9ZbMrSt^v#$ zN1em^{Sb3T$hn4eoOqH>Ah7-en-O8dbabJ(s6ZsfGnv*`!`*PB4~3rnGzS?i(^i~R ztzgI~ASeGrW+s|3AA)CeA=IVqIo}y+M0Vpf_^Fcr!YJo#=$lYE6dFcMUo`OpzW}DZ z`jFnNK8{2%kg417T$(~6m|E1idbKEQYtYh1&M`uhzV6SSegw+i*PG?(kLyMWoIf+0 z`$CyuGjxCRZp$^cHrK(m`N-)|;^VLDoi4X7!hx&6SJLFtM6l`Q+K9nU0qGV?hB;l* z#xmnQYfe!KLUt!Dp-3=nfPl5M_{)8_+_LY=efX36Z%^P~vILvyVK*HQnRiQeqe&-MX*T)yJ-qaLkTH2(LxWDfM-xyh!pUUa=LV-$MpT6PNd*av z1nmedapq;wL!<)FAg*3%x{Bgx2VM8@;h6O53oBi4O9fv(I-T#Y`(wDLJ|-rE_BI;JNny;={$Tdn>7hN9yrU#)<2w!kA!vrJJHLHP%w}Bv zym-WeVK2CUfC&>^|DmuWb%40XgWA@Y0nDQA1M_tr(7t06Fk?^@&f9I8(mI&+31`=k{K(o2|c-J-cjoT5H^e_3>K) zPh`WFNJgsf4+JLLk)XguOkT16z*2Bz55NOwIKegP3lEG9+R|=kxGB*RQQ*h_{2KiE zp%Y?d05%q)fR?S+iY00Y2RcWQ$M_>xz~?d7ly3+y{_P^oIc?q;C3p5yygkEP7zx?W zkNU5ZOo6pZvhg8g>AVHmIWLhb5}0kQOYjru6MD&kW#A^f@ac_F0?cE;!obngGcfYw zMdizN9%BIHOJe|(C0dm9nkYC5w=FXs9FM>WFYnn zCCl+8oHX`kM(Gq=NaRz;K!S!d&cjrh&Kg1IW|s`(JcIxSmy|V4-$^dI|p%TDzn0p z>cBT4voSc(JXh|G0TT-2ZN&;OM9_O4AqI1x#}H#kEWxz zhC<3%v~WmlU0~HX%FQ)-(pqc9;zRgGrtcj^{F8^1JSA&fljO^YSNITl4uGix@DVG1L7suJl|oAdn08s(7azmL zMs|pDQ_|=H#aEGfSyHym`_-ouj<}jb$i4Rw579`rnu_u3L)N&45pZ0WtP--=Kv#AiBp1wzpq{~gZ4EY^SnF+P2{oS;uZ%f&>H5F3$q3JE zUBEM&9q?t7B#-ccvI#{}W5y&C5g2baIW*wpzBGTrj0R7vrRPV|uM8G~Gr=HQS5Ba+ z)rt8(OpnZ?6^(_U#DN%x&oKTk5mrtR0l@Goye;?9+d*SsQ1sIb*GWxq6%K%ObzDKN zaJVV5lD~K!#`$8m7`@`Q14qWD%VS&fBauYyD@P7Y9i5n~B_bpFtz+f7D1tt$wEh;G zwW;ySLd?;WP;@0|yG4AqdF zsbFFO{^Y8^aDwJSB3Qg``t&E*%!d>^_}grIq`Zt1$UqtZ8;4;e-xA-lC#D*L!o(XH zWM)KWM92*0x?6A+xe{QC#A~4YNRuFtCIP?)F=)v)(@PJU_AIBv6@eX7t$*pi?{&p` zzW=^sJEmUu2tiGGv7L-HxU4P#CTE7TR?KpNH zu<*~(zW;R`6tmXbg-X+k5sZYhQ5A^?B9QI=8Tjl0jD3zcI>N>z;vhpW{n6}0bwuK6 zMnxb3nN5MmNbLuOClbR#giR~gp;oAAj`kEz74X+HhEz6{+%7vV-icTo^cn$I2;_z* zGEPDVYf2fWC!bGampi zfu#7{0pMKZyq8HQ{O-l*8U_|wMuCnfyG>L4yAw}5zm|vxud-v}T`_wA+&=iG<|y}a4*nv(awz&WY2@mq*%fcN|56s=I=NSNvuz%EiwEI+GFxIy?vYfQpw9s@_+GZPokUu zfX^O${s13wA1|!`q#Ek~|DBgZ<&>{9KCBUm%Um#kB@&Ld1DvxkxblTsXf zAytErYfPqoz(weB(3Ykn@e@itSOm56w&QlF&i+{Skp0-o+6pc8P{O}TcmBN{I>8G< z#@k0vgzRyft>BBc-E6{JgqGsc`YqrON#{#`^jPz3(_#HRh_c_YX#!D?XQT?q4dqpa zrfxya`z=;PF8+wM1#V4SkktD#k)4NkM#PdDGF}1yraZi)TJ)1G+eS?j9gQJ%DV58m zu;h6BJ|TAFw@px@D?p1_R7xj-qPZ7-L}!?SJLzvH=oBTMW<=STHz4O?u{Ee336X2I zj{FU~){nckn{_i8TaS$ewX_<_Wz@J9+@7%_ITz*Zy1Gz(FWRT2%$OYxo8>vz{&Lb9 z4D0qbCzr6NkXWA_83sRSWN~NE&Bpdl1*6x7GDawLFyby``?d$QU>HO;>xPSAkUW%W z62pBx|9RRO?Q`wzb^{gkv2h-`(i zoL5*1u_6}($viH?x}Q(tQrJExMPKGWd_S0e#LgUJ3NPa{$c}`_@~vVLfR=rq5;QeK;Fh2n)K&Ucm`DeY?V8dA{Pa-<8H^=CEs>=iiqz(MXY2|L%~)b1 zPhOW{tgEKYVm$WHR-%9h?J3bBXeev4%qWLoK1(e{us2AKLV7VA@&+0>&<@yb)-d|y zEtLiZEd!z{Z+c(=6_=o@sZ`Td#4MHP0l{W@7AfEB=?2&?ByY;VbOIMff5ov+2BG4-HfB|o!yr|z6*DVf<<)<)qWGsGZ7y*%YeK^e@6aZ7?^Am|U`jV?#EM7-ialDC}vru$W1Rs-wEs zM%JT)bx?pW;2HFIF7a;Les>}#3iIf&#M8kd2J-{fK%*Q+>@C~qfWSB1g>%pz#8Z@Eu)xA0l8Dk$ zo9}|y$8tDCL}NBK72GnssG>NeL$8=Dngi|23SNSn7KgV4r((0lRc4W@YRJ?pq_ve) zF_f4)5O%9OYsa#7#4#XLrQ_dQzbK;Il08=2S#`q)kk918`bCM0#GfJ-eUg0eba3;e zv_@e~$|7(o7I}#LlzfR&nTeSw$1%^^834IMS z4Kgt->1}AirOJr#ed@gQ8e!K!uUUhJZ75-pY0-N4;}5siq!nWaE1Optrq1$q`F?If zwH9a53IA3wf-mA3atl))H`h?qq^~x|8pPJKOoC5$z!M;Z9zx?S^KU?zMETa)F&#-P zfGk-8L{fFB9FYPc1uDXf%pUFy%I*h10>=pQQNtl2OPruMXbQG4x&RERz^MHb+unYK zZM(W^Qn96hK}h6-15|Gbs0)d~uh?$e#nJpoP_<2zf9pF@Dy1zgu4#5E8Y-RW3nI%E zeK9zaA3LQd^xibQA#~w(Lz~jf2L&pC#?rmG5VK2HmxGXPDVzCFP8BoDgCP`9ijLRz zl~j=%aulH(cCdVPsZFOTpV6ne76jzpwhA1p0J%WveUNgVbwHk4SgKz*|J*lFJ@L0J ztKUpn%NMMa+4|~hb$uAl6nlS7kLbg?{^vRh^Wi2~T&&;5e!w*E`=Mn$@j7{V@2}GB z5&bJbQG`EH!%QKbAw&2R(qu=ZG(`iHs0KQvkRlvZCHe+i0pN?!mKa3j^aVst&pi`# zW8&VJ8+>MM`^l5r2h075Bv}h`qoL`@K`)Z}_0PD4g8R(t#W{qtruvD?$fZYS2v-pE z0vw)YuLWp-N|!|yoB0({JbrJhdGB$?3`@j*M9+2wi`oyp7q%>6Fgov3_cHNi1w~b(6BZ$CX;-Roo$dVj)n)l{hAj>Hc;!QP&| zkv@ysj9zN`1h1XPdHV!!Y1rgD=-@%h9ED7Ai!b&L;3ewGw9i>z@&*@;MA^9f8&rnH z!I^`tzq+LRYr~Zn>;5#pb>C(CzOK*iqO4xf14`=1_>UB{o|mA2!Ub6O(%cvln+>wp z!|Hip+w-&?BxEKVm-rGlhyzO`oQVUikK({f8$?&ww&D5BM1cFN&_(Tp4fguL?TnK* zSjv2LAR*oAI_6DfUcxc-b-=_PW`^MC=LM&)cA8#c6g_X@?|Y=VmCE-^c7wLbkdBRi zJLNI=RZF1+a=z2Q1D*v{K5Bg{)63MbSYFNdZIF{nScTA5`&vbS{XEtJxKbpUgo>vU zraS^h0ZMDnd{1=~z){p*L`-|Q~H0W&bKuOa-$@UV9=`5msh&5Mc8$^u)fHuTxo^v@y;dl1Xy50>b7pBP;-@k<#ojQqqnLPY z2H|+x*4O3xpbLmvp;Y|Av`meVzP3Mf>H)Vg5i%oM=)>(bFW1d(=+wu^dlEgvx-kJ= z1Y3rGzzG1UMd}5SwhC5hIOdVe3sHl_4tnijFf@2A@ukMjCVpY-K5X`F#iseps|Ks@ z4dz0I+q!Ve&ONY!rGp&>Ji z@FWs)Aojqir4LLqCLzO~5O|AB8r7%q_hl$D=JxE{mfF6(*XT=yvvKY9#byy8GEv!D z+B27n0DM*t&8$(>@!HIZp6*enf>L8nG^-}FC@c4PNQG9UQn|-WSIl3Y;XlAwdeTw)UC0KMX>f?Zc3@ zj}Zqr4s9#@{t~W{nloCBnW;%+X8>oxx-^jR1jd>RaKPvBQ9u3q7knR%Me^kMG(^LZ za2S$zT&4VVw&{j58uE<>1uEOCVb$%Ppw=rkRkxsu8wVJ9$?e5}5vQ6*u~`eMnP|8d z>LkSR8C^Jom5Hi#5G^C!xBu={#8+MBy%V!Qp=~@0$OUqmYFz$R4qH}m7i%PT1ubhy z59=SeOg~%iH5{pT5N!P`3*&Xf+>P1lnj0{^R;1b8_%sHZoE0jtD-Mm(#ui`n<>)WT@L9|5aH|;6 zK}NH(ObbII-ZzY-i`C{8F#;}FFBn&*tJ!B+ezihU8+Zw+dhB_1qN@z&s5RjavfQ>k+d~-UwjfOp^1z zlV8lgGM~TcYS!LeeVh_jO#a5UZFaod-gaeJSN;wy-^t^iMcl-?J=|os{=P;xb;s>( z$3y!1cqmQu!GRW?q!MyYfbc=V#_LWHFV-O?K&qf3VDxAAYvpvAbVJc**Bf724-K|Y z3GpYeOOJs|zXAC{e0eR#nPI``h|z-MH5I|bu%ECcHn zeS6n>lx;gV88W*OG?S3S`!owQmA=drxwj`Q$HE*Y55M^(1UpjmU5D9FQM}0X&|8 zY##vQT)&)(%PeI|;>TZ`^YvL@LmdS1@l5Ps>(QF%62I`ZHJJ=>?Q7BDVFRow;VS>V z?p%K-ag@Tk1 z8zx8SJ1t8OA<3DFQuSIwMVd1N(aSjh{ieP3xSfKj&qZlzB)T?jJk^FhJF38b6HGU8h}JOniDI3Nw1 zd_{~95gTs6F`99IEZgbX!cD{qdV4{?lJM5ap#D2Oz=tVDv~M z3u6*P2n`R7qrAu?o8j?BgM>P4@wH9>m0zio`dl93YjXVlAqIqu+LRWMrdsdqJ@HC) z-qaJSrDQY*fr2O#V!&2sKdZYia>F_Y6E!S*s5PQ0NX1??2!t>aX;lqch(3v!$Ybn{ z9fniYtfP)*Afn3{Mu?7#MM=+WE=1b(tEnnuj!qn@UI*K)q3D+EqmO83GT) z)3D4z4cFIWn0@idOL+)1Qu-s6p9254Va3M+Bx5$TNEF-GaRyt{W%@CP@VSVQf^C9! z@857Xa@meW)1|(YZC|o&o!ijMjWmXGaiXq=-_L#+Dw1gcGlBIijO-iF$F+{mf+h0C z?0RJMc2&o%glrYLv%Z$-JQY?j9LctO48r7(q!=o|vIKi}3?`=n+z8gs5Jl;lt?zjq z2c-fXWL?h}#7|)d3PRUI+#IrgAdd{?=K3YS4*`Mr)?j{E zv6SJO9Zb^O-F|T1nmGJ_@O~0hn)yVgp{k8cV!K+a-%k9%P&`~3x7sghXq~T&vyHDT zA!_4XWx)+dk6V666jsJ0VXgpDz~R_zoSXsA2M5do*i_uwkkfUY9**v_l%y7mhP&X- z5YFAPadyJdu&#yS52|Qg;b=@tBBiJ#cD<3j7FVo&k#0qeg)Bu2wf?dO&aS0Qi2a}I#V8yD|RSCNWM&`O;~!<+jyXcnxu_-gw*L zdvhK59~3pf>I5A&4KO2ExU9sS1>cc|ydW2@i9$f|OEA))r92-K3Wl78S<>=jniTSm zA|)vPfCgs8dw`6C(eQ9jIM(`kc|24I$HW^;T|>!NKfNE>FrmIr}Od?Yl-Ajh0zFn?|GYF7J-lacu0^5JxeNZL*L_LP$t~2uMQ$ z1VW%BK!LdwcxfA`S>6JL!n`bPfi7;#*50=;pHeRLQx=!Dw6sKizrW`kX*6DPlY8$! zZ{j)UIg6xop5?dyzCUk{I*6r97QrHeK|zs4k5)oQuSU7K3ve%9BU-WvY` zyNG^sv-(`=0mN8^0MP%EP=Jwqdu29&x{eCk-~&{U5Fe@WByxzVn*_{{yE7o z8F9|n^r6}*M+Jjs3=R3&UYB%LglZ9WB&mXkANk!P@oRUWr%V6dRbP4uoNjeF1@jT^ z6}7L~draec_vfGG?dMn5UC<}Fr}VLFbR=GW6)mJJQSh`YYD8TA?rK>9wV)*r_OPl- z#AmO3D}-V*^*AkGNE8!Kt*R5DD!SHJCPKfN1f<#7ih|4?_;Hbo;L9VPw8e3JCg7bv z=(~y2FsRL>XLAoHDc8?-TO<1>HM?f9+du0x2uxA(Pxg8e;bU9r@ z!=W=@{j0ab76L=<14rjtNL)rs#ACJXFzz6L6986X%g-?1lP_5y57ENW2XM37e2Hs6 z=RP?ar=57#m8XCy2v5aLqhuCxr)S@Tx+h7etRs#MRAgoP&Mx73xnKuSD8T^27^nnMC;uZ0U z?sFF)ABu>ag=H+-h^yV|z!d~!)@Oj%4k^4b8;ft>R!k0mr0B#(Ypt3su*HB7_?_SW zV`tRK@7z{oPVplnLDj}Jln!y8#_2!)?cc#IG?s4Oun+dPFr@wUkg*P9?cV0Q2eK$6 z3J4wO7&7K`v1+e8=gm-Cgxbhz(zd>o% z>obbUTjSfvBZu!mf4z?Is^P?i{nDK$J)c@{hEZxM%oDw2F`2ufyCw@hzq*zovi>MA zQ?5FWufDYw2YCCSQtJKC>bvn2{L{jun_c6^)?MTij88Lx!tgp@)#S1ad*iB2d*!&+ zyI3PQ4>)jF-^vdGaSIdWDa8drj}#Z|SvO*lRtt@|A5wC9d4E(xSP_ zV=oX(zJ!RB9Q=OUeTQh4qDL`D@wQ-g*rMZbMuzPkF+{U&@Qr&8cHfnoMaax_3;BMh z3*9jzlrZ)=s_2&eIcR zP!xiP2$5LFU0!5OC9`!51@Sz2$JKFMnf1fPVsJ33h)OUT4azcYaWF7!a*5VcV_ezv z_W(E=Gs1AK*szu+p^}>dY7zoQ+Ruda?{fKd)icKNg#CJ1Y_`5i>v**?#i0(OAAoQ+=1cN5O09E z%NeI#ITaeZ5@Y|S21ADpF)pehE0~c)%^CRJ_{0o1;{;7DdL$lPSUQGT0S*!dj%t6|lhVIb&F$HFt2vz*;O7`76j_xGLQ_CysYL0ncI(rFy>o^y7^ikKS?6(TE#+`<+r+~+>}>Suo* zcB!jA^EK^KAZk~8%3x35y3#WB(e49YHm-y`icrArxUTA7TD7EC5mAa?ty3+x_?)F< z=^%^Fj+9RDDg4J*eZ0D+qy8LbnXXw8BSCfl!l?)Qo@<5n>yT8o`1X-4w$YV1fS(A_ z5>XtnZZYN2m5Mb**G3DgEf#EFkTPx#A`Z;Mu8a~!6OR_s3a&nK^VG zo(MjlzaWq-VIsP|==C=x*udmdpHUkSn+c$Z#0GB9k5=ljcnP7RV0C^7fWaT1+jBQ! z=k9*09Mf3Md)!!EoA^V?-We9UDk7>YpZTGptmVd;M*A(1%bO?e1j5gqA%ndDAU}6bY~EpnzV^h~ zvrn95aGj|$2`t;h3|wtxomtAngkmwBZ8S#Trv)7+sJ(C0xW`$<-DjVem2IX0YGFdd zCrdNXl#(z-s(`29I#Ab7Nihe#72O@f?!I4W_{5dMf$M`>P5X&PAkwi*BjQ95;Ns2YhT#;3R`b!`+#|={cTT%ML)xK*P9cle21zhJlzQ{@UD0X^Q5Opk(nQ6 z$*w}cesTKAKh+T<5R`chYiHYR1hv=@B#H8Ck=bnyf40}X_?-YE8hV^R%!Zqz>AY%L zYCavkc>_Pydj=ooWq=}dSF+-{(h=?1699&a*YE1%C^*2C-Pt;&7j{6;kb=>I+caI8 ztMa2Johqf#X1v+rloDBU)ww*^zxf9DhwaPqiwQTMyk~@k4E;Mi+W<$XA+j50*-FjN zDiEqDryDhA6_`&}r*n`*MMDK|@T@0Yfg%>muU*M4Rs#s=2tXI+3B@5wF}{@^uEP~N z#(Qp=x^F$tE&gpvKW0uZwOAd=Md`H3K5hoB0Z#yaD7jpL`*_`iHt=i9fLju2-5;NElk^<#9G zB5(TB)A+~<9iIa1hky@-=tKBSHHQy{1;@M%VMTPuEf0^;J&LkvrQh0!!wW!4yn-5V zoL8a+14vhN_p~q(xmGGyTx@d}NLZ1?GLKk{1it|9Y z9z_BIN*PO_|Dm?*N4!TB&}6&My$6L)w@64(`R^|t9UV_3<71t_^E0CBDK#V&1o8T5#Cl9shGK75-TC!5?Deo?6221E+v1vz$1f}0>f3HmII(|}58 zRsV6Zzr-?@mlsz+zAM69Ba)>2pypiiiW8UZq9>LWBnq z)Hu)nni596=betz)uh}AlE3SP2)vzWP3j}O*mEBJ4Ew!@ZJGr)rSzlzI1BZjw?3{a5&UvCr)o-*~7rh3U*`;4%!nT0{y%7hTfg!fl zkEl0Tdddx~Ua(WFqB5p1>^RiSA%={U_8bzhkP!!XhfRWTr)og_^$!nLjcvuzcv9Z~ zuwjQC`IMUUuS1eoNV6N6b>*-JaqC(6Uo9A3Tn9cOJ3l+i0zs;)eskRHS5UE%e2$scT%zM5o~6kMo`RZV+h%X z-MXp~RK6L5JTU`r+y=7vd-Mx*i7aYl@CP(dIK+dEVF#|ygf|J4nk=Innb;_*KokMe zS)~Z%vx-P{-_Fyj0b2$Un{0ozp$GJ5zUU7(nC{ouUs<8f9~y5mzGU7Sey!08KJv8r zj!zqBgFEjI--`a{paB?!e4c%<^M?W!aM%{vRwO_Lrdq8_zJ-OwR%>zLao$GP69xt5 z_ZId6aO*LeIaKk9dU#x{&+yXBu{bisL==B2Q-}qO-IzE?uS33U@PNfPd;PUTE4yKZ@i3UpRHzyArN^V|X0-keVC|#MGtE7hl@}1du zGJNMoRo!@JI2FSj{?|+2hTiah!E-`2Ix$rVwFa}5CN1UxTEvggieVRL-zh1Bn=%OS z+nt+D=69BBPR0(Eqr;Wmh3I&4pYEswzp}Q45Gk{1Fcq(c)qp-Tur`&L$*u*&Pi!I; zC~Qodu1x0TCI$H_pW+hPb!0=O3g!x}z=c434?hoF4^X20e0xvdmSOxrG+d-yd#<`n6a-&#$;SZ^fwD+9 z*ZB4xzNPP3sm9~V;XdRDh@=U`fe#_N;%-+PAmb0_Er+}Sk0n?GQU+>ypd`}65>C}z zb(;l9`|WG8qrhH?2CZhZ$$WFwJUvamIv2E96}cm0>rgHro6n348CH=SUe&iG zufIEK)?#PE5~6U*{5 z_Js9>ROM1j5c8h*tIOFrU0{5AnMtb_ru-!RA7h;)t$w^V^FBfC&gBzRt|n zgB0mkL29SV_|O}`Z13ZG#QE6wXhw9tfwbE{*sSZ{V0$5uKDG8B=208@U$^oY{W;7Y ztcf=CCy{;jow(zh2*PFBUc*?^X%p)sTw~qexrql4{0{DJHu0>`YkBVbIe0IRAe#gg z3Lt8OI#9y1M>mLCfdOK`u$Oy^T?HrUpGTz0k;f}g^0-hOtn6#u5~-h8_3frJU!6J~ zj%kD8)2b4>D;+l`jbzrzCXGqd&7 z9CK~fh)Dovkz!1;=LLk00`4r&CsLmO$D1KP6)bT7T71289cUSRe-Yz!Yj2$JTF>JR zOXwg7i-@f2Q+v5fmsH;?&yp}vFSb ziH9Q*P$Uk*dp)W3n#SvoUB6#uvMvq3c31^~i?@oOEvmA;X^mpah`keSV-5O+UHUhy z?XR=1@|<8EL`VG9_4AQuijK(3$DP}-5OQS(JvKp6W8eksbAeJ$(GYAJG*n9$2BlaA z(^hn%L4=uVN)G&edN5x+4M9=2vj&?S9-L;aO;govhu03GYK@`3(GG>|HyXBW4z4}C ztvbDNu%_wZrX zY&7@XBn6*%;Wx%!yIa%6(v5p^opr)AEkhe+2U?Amez>A>rG^#-@* zHcA*!WTi*&fgh7ibXtk5dYu?FHz*wAOxd7emVA+O9U(b9oMc0m-*KvQz&`_Go28|C ze22>h2)kQ?917_VwzxhlAA*SFf;7&OB_b+9bp8(Voh|^sr#jP=9q25}itfnGnY-1G zs~%?0z1FeD$7L7+)Q>lgS@*I<@KN#7udoIl!tW5SHAkGmD7n3jct^Y^@q38uTwUTD zNbDejpcp*NqwClSBcX!*8VbX_VSy%7hnvwB-hf=DlT)Ul-mO42Q|?v`bLyyTBwJp7 z(1?P>wdi(i@=@dFu>NY3%uo^2e6=24g18PY_X^M~(6C=!`U3kho^z1=+-}kkg}stG z2VO=yg50D3A(LZUp^M#9wEn3-Nj!p~|Rmmh@zFD#rnfXIQVcG}6PTZ$o z`Z4?B9c@Z9sk}N^(@W676k}oO>9-lxwkc+tq9Gc!k zK$R!F3f_lyQ1fs*e>XK&!8sspajdPbkj>uH$YqZWy>jSSHrH5bc5YKkk_gRoOr*TA z0acBePv%2TDCA7LyOtqAHya^4d|SmuJrZHRSww7bL|>Wfz~%5Tdytu3 zLj0vyC?3g`Gf;91gMNV=Ly;Tkj+In2Ak^)Zm2iSS<&@QC?*Bo|`gs9dPPV7f06N6iZN zb!js5bFc=tAPUUQZ&GY^=PS)X$a;ir&`@#7eB}<=P?YWL5nj{xpC#=VswNc`7BIgD z50$2&j??!LSF8?F*4{5PY1p#~H}M?PzH{IkuJq!nFqmu*@v){Ww1Ll)EMputhi__= z(^H!Sm~;rlj}{oQMvwy-KeHYtd8{r>QRlS-Vj|W3ZASbEml0Ry9F7P)0osrx>`Ek4CAgLk{xA&w=vW7gsQks7* z6pRx;1qE4VZH!ADG1JE}>-ZQ@TB6IM3cVJmf18C(BJrpJR#FQXIozbE>u?e#MK|3y zR^SFsgbhR^IdL6hp9+DF5Q#yVR!(W+AuFQ54HIk+uC*eazlktkL{9qK{^VN0hAmnZ z2mQPb7dt=_tsZw^tTGk*$7&%mnFyhvqsx}U_G~CI87Zil=|DPUl=IW6>1jI{{5{~g zD^j32^E`xPj{Td#k##X@dz1kEm zPEBo^Ez^UM5{$>=guKnS0IlM2ajM zTli;%hhUo@@tyHK;CsaPF6cF&gQ{l%;c&@4L&zrh7q~ryY$b4@0u7nxkdlp>?ySHg z!sR)nS#lTx=tsbi^8P0y3jQAuuqlz_V2nL;B3;Lse1XziVs&-zb+J*++1S!G-WrJ~1Ot7fJ zL_PLv$lr`B`KNEs3?naC6HzBopu3s${c$Ipz2bRRKkJ+-j{4Q1_e=yWNrVsCL0PA` zo!dr_s3}oJoss2Ga6D%L&3F{pPsnhU8Iuc=?njZ(dd>=kPYX!pR1x|OU}LZhtU&*8 za#mHNazQY)(eZ;?0(tEU_zw~w=vHzW`6yPy)z^kRt0AIv_*A^ooJ^7k!S}f6yzc4O}0UrGzm8H*zEoLPe-^P(Vvv2YgCg^6F_LL^+JCU#H1QAcJoG6ZKjSv& zEdBxD*P+l2Olvb546udHd2T%H{J+cxP-v_>*yaC_$L;v>ZirS0cV`!$Z54OYVWPp^ z3}Y2-XcqRJuq^8zQG4?ru`^BICBDPK`u}DntoP$3a2AK_-cN^YOvxy>3c{_l1Lae) zGIqDhStWIyEMNC7_cUGQ$Mk$;C**6Oz$4?k@n&AI1X!y}C;F_a=y{T>xC?|LF33Sz z=VDZ;S4${TTqMTI%Xv@(Q6E)=l?-vFe3f__Ag_BGoa zOJ7A!-mQC^cOAU0kq4v2Ki;?4d@QD86BCj-G0fHgjtO{^`!rB>T6RVU8w; zk}MB~5fa638DV?E5<=EZFo&|_B;JC*3elhBmd)Cx8;w!N*%S{YlRoGTUY}z=K!RK8 zO)kH>$~m5soTIezA)EGX*_TqqkzD8T+(t)3G7X(@_FB z^4xcT804{leAD3pBYWBRJ|7P2HyLH)COzEd15cY8zj|BVS#Pu+JO{<+z=6K=D3T$rT=D!!ZQd_gp3A=r`H3&~-Q{}_ zFR@w%t%dsnt=!awm7ps?UJy6rewY7K*GNp5t9F{S1rKauEpc&xHxV^8uj+;I0{-#l z6(=C%uKoyH!nZBaw=sNYhw3Qd7T7Z0PMZiF-o@wtT)a?t%MIAXZ@9*}S6t<@G|vn^ z-&gnNG2bo7CwYzUExbp`UfreSHR`pMK14Rnb3F2FcB{T;rT6K3p4$=iF!FAE6c^S+ z=ej-H>(Oqb-MvKj(Rh^7t#0S`y1m!v^*i-4DznPy8t}|`Sp}ePi|n> zZcMOR5H+}4Smm~y$q0;eJjfJ2#Mo>jR-#A)zc4P)>TJv+YGalxJ;=O-zJZW8=;Nf3 zPznlJd}d>Rq2)u&pT1GrS+-NESUkQ*$xETo*?WhEQcgaJdJrNzef%{7>bN->frZB4 z<9?q71vsxBzIn^RS;Qe^qwjviyIne^eE#`x<7#qUBC_ddjeV_zRNBTg>9CNXUm z^K58)`4iEKu~w0g&o4(2>o#h@7cPbY0IaJ4WdPW!_9usT7tAfK;ZH+V?_8dJn<1_#3W&KK>}bERfxi2m`4e@!PFemh^@?jm=$%x5JcL0c+E zOKD|n?b(JUPEtC<&~T?k!P(11HVIG8EWUxzqxiZkL6WD_(#Vibix<$}A$kxL*%N7`puv zi*xrx06J{9lTalN6oE1;{||q$>+1^oE0d}6w%FF#wtd@TL0U!*AW_5iUC^}-@1cqb z57iE_N#Y~0uVKf-q9wzPh6DVYdn^OJ3ZH$p8y@6?x5#5ap6$Np_(jWH0g7at!CY=| zFvpKT@LP7+Z=6FkLaW(XCT0dQ@O+-~ieI1SlV%3rkJyzfzDbgwdxyB+7yV-U!k=JPh1m+PGXyAWSiCfTM&4(vBhP*MPUS!k5TIgZK=DLy_$F-cac6 z+^hZw@rX`~wqMtDVHPl5DVTlH(6yi?YCB;w`8*dlEsKP{08k_$d!Db?9qwlTb9{Q4 zKFz>2P;^LpH=m8~1{Pa1YC4#kx;i8QD^F2$dL@b*Xo5cQJdNHM^_F#SE%)3hV9&_m zj1w3(<2ax#zmYfmE%Gv~Debv^Pie~h;#^k1!_VP!2xL7?-j}GlsYFYyRSAP|z&IK4-_)t$$ z5A>Qp>3pB+GM%`h?$XP#s21qfh5k=3HawpVFNU-8;jI3t z_UqMf=kLPVCB&NH&Lj74wTxNA*k>%|aeXqJ&4wql;VIV2=a&O(f1PHy^zWt^S#seLEp!&kal}qpx@%UqAK>=Ua@>3ZgmYOD{bBvS2^E* z|8uzqa`#ogUpQv~4UY=QqW}Y67EO2SHy$_qokgo^UG}ei*)a~Ua@VR;RJx(_AH-@I zer}#-#k{-SO_Te>-{3!Td*AkxeQo#rkt@!0e%yD8lNYiv`d}xDKyq{AgkT+lzy{k8 z?6+8fGT~7%s7>`56x!i+FUcR*TLFFnPAQm&xf7Nbwj@ijw`A&6)A821+LnD9(k8RY zT9$}sftVMZR`fiR;eA5-B?ql?R6PKg9Pg5{`U+bF1VFf^iJ}yqj;-Bu^pip<5ljMQ zO$C}2zQYoAfoFV#SSaIM^$K6}%feQ?YY501XYuyj66U_^EZ2*tMb~!E(X0jj&fKQT z-m*9~iD} zJxN6{9N<@LyRm84FN^w zDmJXiLo!_%sQKaE!*F@0_Zt+S;q}|)ztQ_4*BJl_tzYc8;&*rRcim0D-fLd@46Cox ztz<9$&r6@aU%%p^lP4cKc|Mf9oX~;#!9fPF-!(w3m4#Jg zk)@oo+YYS-M(qYG@|#}^R4Rct;9E{U^u$$A`?>Aba==Z9=Al5T&_@huxL54aw}AS* zqDOV$$3?6n86!;p{CczR4-*Uj{$r94zZ(>ZS=d(f#dfRJUYzG&=(hRk1r8>H zEk1w`uHG)-$02Q==f0~?HR*D*uYaZxt+osO1Ky5d1ucdQK(VjhySlv6eeeEuZ5le$ zW;QO6KNw~kPhVlri29kikI$XaMJ?J)9xoOh;@b^gl$g-VE1m|viE9Z4cb-603|O=m zL|$*G2od5=A2JD3!T{$PjoDa0K(=#3t*Di_8ds?fc!gcGW$V;l-EZG6p>&C|eY>J* zrgXa?ScbOu6r9R09g!o}$w4V44W6_j^2o%{L_M;`an?lY6GJmXp&q?qA=j@=m;Wpd8ZG#%L&%LUe)TXnwT6S7XR;}5Q5u^-aslwN@ zB;>(AA-|N6_K6TD%KwCHGSjG0)&<0TSj{LGqPbY?BMjzka)l(QUjpmzeO%5qvL)iouO#O>?wF-?|U5FefZRORj)q+>hQM?-dS_{;{; zuO(BvMp3`7)X2^hl`SEFEEIH*C%u3|uThpq0gvSMjZgt5^CC(>TnK)5FCU!3HY2X)S=brj0V#u z$_@zOq?0i6fwTYgEho*=kF6r$y+sd5x0bn&Bkd}k;oph|Np9}I+Y;b1H> zAQg4Mp9=vI;GGga1+8~MlJ3+I3kT?Rgj~Rff~Qdn(m*5@4Cg|DU>>o`g3$RNt|sf+ z2)}?_BJv9nCh11lHV|t>m1jz26-pi!B*Onx6dpoXyTpegz=(9>2s&R3H#B-j$VqF= zLg@e}q5v#VDnfngI}%1>oqvzVJO6I$KlbPSV}3si`OTjjG2`c^zpY5XV8q|!iqt|6 z3oYfmGLMK1{5`I;(7+$NU5!u8tLpre5fl%~@*R?N{SQziYE}?t5y$$2K?=o+F(@P0 z32U$uQaD0TM@k67;2eV&FR0)Sc_^sh5^zWx28(N4oIsr3@}epKjn$+ys6Da zjpW1z?JN?V9X(aq%a5a|seJ(oeiEDW@T$cSQWNhEi)^Qvwb)rsoP*lc77 zMM(p-fm|&BgK51ETV$Y?8>j_Px^yTq8{3K7B*OE5Sw0dhm#y&NVAv{`gAt;kEBrr* z=m_`;Y1VZGR-Td_S0Mr*6OaE9?=GMl*E5-#y&Gq1>=&rJ+o8w$CwR}l4%29>2^QNS zYk-@XM;8Hxa9T1;)F_$K2|@V$BK_yac7b*CTd?8rK1%}G#VA%}E!G4o4Xp!p;h~7! zUIQ(Lo&n)kgP=|z{Nn;;W2|64!Z|?UXq1Iij8bhXGz;_*2$gRf8O_7yPZ4I#{E{73 z<730ZAg~f5YFfm71P?T!lzRG8eYXeeG9ag=kv-p69$n zF+Cdpx$4q+njf7OZO<=Jlon2-Q~4g9NwG+e<7cnj=7F-Gx2$o#Z2p&9f9-yEbq>FS zU*?pFGU=ntaa;d-x3K1KUDtZYHpwi@QC6Rgp zbJuP0GoA`B<|KCtG}_!=AZ+WrD|^F^QB51&aRbdHsyon3Kst2Nl+}(|h8!?aiv|4< z{_?EZq51Y_nSpI{qjkfmkIroy*ub;InsjG#cXUWaVfS)$w|nd+kTp?4Dq0BT^O;Gw zk3ko>Y~@3ZSwEuJ9s*r(?F!%`T>OpE^d#|d9F!RIhuA+c8?Oo>%}aibt{^m$r}d9A zyfR0#p%4}Xuj2?bmx?;a5OIM3OZrYf(v`<$&~JQfmc0bH0x?ykt*EKjuU}tESHcDm zpNkVPr{|DFHXIA>t&eOO3Yv%*G@Zg!o&tmly5vZx^-KzC&^C;ef_RNs36}gIVmBah zhD0P_mSWC8ENbJEO4yYAp!3;*LVfSR z-3 zVid4&`2Q^TPf0XWAgxka z>`jC~4d*exitoU%xtx)L;4wzHg&e1(r$BV0tOD28M*{|?DDZ4{?+5YaWWj@VD2Fc= zp~3L*wqCH?*|4UD!m)uUz~Btvn2VW$o(~g8j8~I>*>-H%pRC5|L^!V(GB8*w(ST`1 z2V&unNN`a=1q^ChEKEgWg>c+SSqNXJ``wlrA4vw2MFh5);qy6rwgt4@3}aj;aGl&dR3L04%#At3Yk-{=@nr|3w!+$qySWp-=WQQ)QIzipFQv zx*BUlXB#5f72;my19tw{me<6;bG&>{t^Cf>9o0B+-gye#*==Xd51k!;`0ibUFS%PE zWSh0xfw76JUQV;#KMV-?6X-LoB(%JijE5#q44nlMSdp%6wIX4_FQtY(Y`EoO`un_BgjfEz%Y`e3xRkuG(aau%+=^ zSqtvD^KByLe6vg~zG+g6HW(+O@yn~97r1a;n;3}`QCRReH|Z%Mhq$kw7n@&d}%nE zx)6-VgD+Z>kA$W|L7}-^LQ9+V&;}eFMESS3u z2$cL8U{m`da6hicGq|h*zk+E-a)djzCTp7zG*8Z15d9eMGTGxP9HBsq?)pK$JFYSOS2bw8DTVh_X|N0L5Ko&a;iv420}(2bKLnv zaXyhfgm>b+-_xb1dt1NkuLf@jinU&;JY?LvfOfFOW~y zu_;jLnPT~x`taM#B$V3_r75vkjA18*pkgLXCas^?zI`GZMvX5Ie*TDv6qQH{nfP836CFkq@fJ zO%TomTNlB|LcoqRTn&qR!ZvzY6mB76DojN@2$7<2qY=z5L?p}uo^DR&8um++x>O_T zX?1Ql0IZ*WV9Y^!)}{N8RJK+&9Qj>845qM<27zs0K^;{yh^JWN4_RUB^0P9&1Vt}T ztA;a%uX*6;ZiIXt*-+V5K63vKIS~k@T&IvJtEhA(X|f^OIE~8C+*j0h8bj{Md)rnv0t4B$uncR_I#-J@2yumLQ(Q?Bae*5e+#4I; zuEt`~R6aRwhl06di;GxAf}%mpT!J*Zl#AYjYisD*qq&pA!7!@6?2c_Yzqm}uViOwZ@iiCvgiX}2%Q3Ws?>7D>!4GSP7k1QC%x8wu7TY5FJ|+qFHz zs};sP64pcNALp1+FAB>tO5%RQ1vETj3NQA4AC@TNRGI@|DK~^|w?}YM^w2B#7I$lc2=xh9s){22o~j zFr+IeWeHcZBij~xhUYbBChrpgz`U4zO?GS+lS$l|hlm zAOTF%TmUW?I+QyR@$CG$kljFjLdbssR*b6^0@y*$unN0rtrBk(VO3@CsGG6qZFA;` zId@w$X4Y39ZmmZ0^@VzUVJ<%Y=}4qnjXV|~f4mx5IvyT6848^o3Lo#aSfO#l4L2}< zd9F}6Uw9C^?iy<&*Pe9b3S}nnM+#zMHVPp9MHfB;Iu)HN!}3GtNK}af#G*WkNrQA4 zbU)EtsH!~39~^ln@-EA5Rk&Mim(lzmZL75=7tghpm3f5KhyNwZ zqn(R?Pbs~B&zw6 zTZxdu-b!W;i1}0ey-AuP0fiW<2nfA6jIa$f>BSF-;{iXCX22vNPjihx@t(^tH< zj{mxHs}FP6#R`C=$jv`Im4J&1eOVF(yfw);8&_z9i-ZaNi4X(gumQ3AbMq-sqe)`v zlUzRZz;)d-pi-&%oYq=w5oBcxrXhaMMY{c>yX7aE{9>y~|6z@Z9EXo&t|t5|yNN%N z$#Ug^uF`^Phb0HQBxWwQAjVu4LIf}v3XD~?x?HFigjWDQTWjziUF_R7==AZ1uHTnN z1 z>WICGO1m7kbmM4 z1sc+!tMdyBnD2-A2~TzUAtc3c>JFpi(}O1lrt9?`V-hTf!U4~6d5w3h@s%d8#jEXY;` z;_6Oer&o;@W=#sfWk<6Wztn0zOnDIxH|M*i4A?X{=Ef4o+=!D0p@;m2X9SBT zs4s*I)Zy(>Rsh0Q$Td%Of+8JXnA}@$*7r_Ufni={2V_(ipojM;v=dPbEzWL@YpmIB zQ!ZP(Js$tcg$rMacYYN}FVIsjxLddcW3k?NZsl?svW4BuFW!yt1I>^D9bFrzO*8`C zQiY9=s$f8NL&Locq6`TGlbszK7?~(stj-N(*<3X}W`|O#@;4P#svilKa3+ixBgBsd z0VypPhwr#a7#}E10Gn5C}&`@NHIqXgp;d2-uuSmf)cR{TVFI@oJz-swnN*3 zDaruv{5;Q5lVNF&W93yqiPk~x+l#nFUn5?j`Jr&T0jLaI@o;P^6_`dzH?w_jC-G>C>NuWb* zyyGUk?@g~l043Y!%nO1lK8f;yxamvedcOBo=*Jh5r%#{$$Ir(!X%6S#56Fb^9|}rr zE1a9`_!LU-of38Vogdb;55r_e*To0YZ;@0%I3-A|^GzU*P=)BN-}_BTi+$z%c|P8M z2>SbVUZ)WhhuhZOHygmq;f-i`5r#x?!gy^E)jIo-B>mAJNz#Y%`A=m9iA0`&Yy6MO;TvVcSiS?!?w2hahJ0hVjA_PycL{poZ^0UvAMg)xlfZP_*k>P*NM5mUJ%u4&a}f2*lyr z%n(r?*202LmxjjQfsm0j47ZbW&rR(4AuWY{m(VNA|wh8{0jN#&zf5LRcr8{=!8u>OJ5 zi!Vb47gTdd{iKnR!-&iU4TZ=M)LR~D1_cNJsM9g_7d2sEcPhtn*#Q&^ss?naI30>> zgRzj4fjAWlR5$yF$HUp3?9H|7f_gG{L%|sK$4o0(48;aDBqZ5+U(2`PYx^DtlE!cOo<{Ezg(Nlv2?x-oEDrL7`N{j1jC0c-Af`K2 zKy~8XY2_;GwJ`qzvi;!mlwgWiH0fHaHy?q1f}-b#sUG_X zQeFQIh0kOe$9{YVpz}u%HFB8WA`c-acI3L%ALrk;h{ORB$*c&r?FiYVo>6Vv@5iHz zk0KiR5x}^dGtF~~Eg*u2uMfUyuQXZ4(oh^ntx0}mC?U$~xBPzF#-XH)j;qFRDSoMj zG&x1HP9PmB@xzr*_I=4u5o7YVn)Xb{>ij^{SlS9bqiHnOGU=r}wwdJngYfU&1+Gnn zy;gy}h&zLBZ$o4^4|9Mgs{-o6{YXWd0jEkm?g_8c5U|O1H^;#|T3x4J+$JEV}+5uh!cIy`!y}vsK~&)kD@h@N)3EcHI%m6*Ec43 zu)79)P$^XqM!YI;)UY(6p%tLC0pbX!c=}MoWyL(ohO~2J3wYf^as+*ljGNu>klhJQ zr-|+sYnL4}-=yX~e%rBzF8P4jfy_<-SmuF=kdCGiRRjLCOhGHw3l-zB!< z{e%1teeDZ^Yfr3@7VbU*BqMqfa0VU&4`UWoGEf&-zTkc?#mIJeg4+zu>`-bdd}89E zi8U!bi@xss$CRZ0G&EC+_%6vE6Sq;l7AvFUwp4h{1nwKk0<1!tlH^N~(oE>5D%O|N zv-=PhdmORi71-SF@ZIlw9jNKMeINFH!uNUKSAE|?uhn4vhLBwJ_LvgL$==!Cb>y;Kd9v^0{Wq@2 zVie~@$VQiIo$whI!D}}|Dj?!g+>F5V0BfiNI0cyJi}a`+zP`^pkKd^d1U@$>DMv3j z&1OE|Z08XNj6Y5k_@e8GgpV-NZ6;xJ2+ z#T~I#a2v1PDr! zhUjL&RGY}2Whrf4K~;qx(#v3eOxi{)!X{{CAJbV{&PNi#iK4E)h$oRI-cY~Aw3%Qz zf2ODaD^fJ+)WD!7n967u_UNJ>pU3A@hsok`_^4q^(ruAsa01^=00Wd!O1i$AAM56p zd*FI23hGJ=l2}jdC0z<(mz<(!QQ(`RDmDpSQCZj#Oa};s1q0$T;@Sf>PJN<@m;jPxb@`l6!A5`5=aNdfbQztpf9eS zVhd!oy|5d)Them-A^v>!RXpgV?z@Xn2<>Uc`MFh;}4{d8Ra> zi4tE0)ENjn;3!R1e>jms`s-FpObSwJfWfSQzML7#jxO%4-;WqiDTI2?yWCg0XFt{a zvSr;Yt7q7n!pG@t-VtxUM6;~Zh=4J-XNO^L2O2tEm>ZfwL?J3HhEc7YgHgevK(zdq z@Llafu1y@aHy>F?$tMLvcY~tPxzQXlNSDUDl)h0S3f~(ZmjCZ?fx_@nJ@@tv=Ssf; z8;rz$VVP0W`hjWwz%n2bBey?i-NN6I?f-w6@EKKaG#|aMd7Z9)Mqs;5p!}F$GmNkC z#@`#p2~@$-)knDe4s#vsHpm$%6<3TjJmM4-o3vBtAEcmTjZhp;!?pCI%llenZ@_h8 zlNcrtVLr8ZJQSA=*uv?-hv_H(G>iD5BRare!*FT}nw2db3>UL{IzB>|pXIL1wBNny zf-4=QaleHsZi1H3U{pz%acA5$hF|@9D&bwmus|pKXAI77ur|hpD!4&+B##&QEAagE z9(YRn}++XQ4@Ym zmh|v5OBx~rWR^Dujr5sv^92D-*HmCKBj!hAOM$??_m!Jnn_Qc(uY*`&$1uV)^}0OQ zrFpb&2#2`Kk-IXS>vh250yc5?T=$+R_;<8~1R4=0F~TkuKqk)35t)KnH*C*!F7zFo zqk(0K-E?J%HoF;+M>_3xyV+t(txp4tjtB4YO|`$xm*?se_XAz4iU0T*(%Pc;BieU> z#?Vu=;O^@-D=Sl)47ixl2tuPb$3!N1o~H3Ea$sR7pz9zURFe}9!-mkJLI?2|H8Ny% zoZtH!P1-Nh%YeCt?b~ycvYM+d%+I|ufN)zlWY%)R;RH}MPa%rj`KSmj(R=8-kX+2p-M(dt|~Ce{g7?QTdK9%r=3K^dUC4{?U} z=T^$l?EHS}n{6yhyV;x_$#3#o@_?EE)}tk6UJwl!rGRZ!jg%vrmD1R*kw}WQI5+!c zCZI&K=$VxZajpsPb6XKxj73_HeI}gJBCs(p;Ar&L{A1Dj? z_ejPdd*2uFyTz`(8%7+m(U5=Kqk+7)$j-y91Vlq|24tN-MmLbDG3(7cGIG-VV<^3g z(uTJD+0P=`&5vNiH^2FcGjGcy^y5f5uK;WE)tVu=aK)}WMTSbB!6#0fz-Kd1|99-T z;>_EE>jugAJh(2HG6DhPNpyMlAN4Eh33(X$@czmS_Nv)9_XP=upZSEPM+{5YPrHrm zkKrY-^v+t^5nXlp-522{zLVl@;cRe4C@RVT8ir0N%C1IJq!1`~F+$R!p&^O9vBLNv zdKJA83M^9&M@n-}s3D3I7%~va+$o6Zh_ZRpagX!l$aD&WnNWlc=E*eVGQm6ekI=ZjA?)F8dE*3(dA6<37{LQO3>BUbRG*&SIAjQFATyK+ zsDd%Hahjj4tHzE4LF1kTf|DE+7e)Gqm`;(oh7k^^EFZv6%J}KsRb<+H#1D&%z58ZO zKR^`Zy8Ci=b>qgWKYJfHz8uiCn|Ir|#edMBko0+e_rA!C;=}`ixTDNO_VKIpx|Hxg zy<0&-5QF{q019EMvpN!SFlH+E-!?HPGh7CrK|Lbw?F$zuKpWB(*c(_%W0OjRudBjd zYmaG4BQn#y-e#FlIzS42yz@gOiirfb3*#|DtSBP%x+}IH=BUkwJry{-ZqM-3$*EK- zW@~!N4x0hXuRT4#u*}I{FQ&BD_%?i)3yY5lZ$Bit4ve9eOs^k01eqD;F$G{zAw~8FY<*0(1AbWvsRN3FD=Ma5_ZEL36Zv&L z1$uC$9-|=B2~8E#TW{c5k3Ks0a&%?V7FEtV!kCUw7p%+Sc158PsKX zU3Gj&krRdyjDdvlx*>nrYGJ-```HraivsEyK~!8GaUFz5s}{Mjw%CZdOOi4Mvaa}7sevi6=!xqC&1(8ZXSXJ2Z`~{WO6XklJEz+7lStL}Q2?kt za#!OZLM@z$!p;%3xUa}QxqWDCemeSRd+Q*=a2wUZgX( z@W4^#?b`5AFJV}N*2ZjhV=(IG%v|KN5fhTnN$~1RewpzODf2*Fm8?AAjG2sIsVe%qHIuX3ZFOQ`bhjT_nuCUf ztb2^Y%gpT3#L(E5u|d^D##~6Z+`@>i@QlS7j~Q?%B`ZO*njYVkKhnsJE5>LA6DomG zL19@}e^cRSPQx|?>p$o)kQYFUyQ>Sp(gi`!62Xw%-Y4-W#rmPlUto%^WBq z@EWG5&aWOg@c_GzxAzqf;09c;bj`AC$@D0XE3jv*!fP2`UX0^$giIp5p;KnFSi?C0}8pl%A_j zWt~uV?0W#n9Ni%zc|;6n!_KI9WSwoxf}9!v%>T#zFmmgXOaIkPj4hHAncy%l8~M(s1xru{F_i{C#9MaEj&$2N z>yI*uU$}h0e*r{~>0mUQjXE_#_m~cnf2(&u7wlvn)5524p6|oFu(1kIiu{*SrRLM&j}{R>;RKQEbuxqyL-Y9jlH$vFeCDw(9Wks-yMS z=(M`c{CL<^A2z%3!j zgKHo$j9jc-eFAsnN_`w?@kMT-anlhfWgK~8b&8pNUgu@lJi59^*G4M5O1Dv{RMaq~ zVP6qDi?e0J2Et}QGxsuNKLL?SR!2vGKw?ROLq9HWi*``-M2s5<#xP?j1AugKF%l7F zsr|f8cm9N83SggH5*L_HWD@H+tatny!((2=fbujO0bR#1r=B9kk_d;xV%zXZ$U zF!~s=_b{?@%QbOm5q%mZ#fw+!h{a*?>B3faMV*+Znz4V<{bDvxl~W`$Rap~d!rJ%W zy;cymKY^r2<;101_X14Y)xg}BW?w)txSLNvN%gDI@#ZFcf~~##{cD-9b)TfDLNMPs z$?>=E<<@}x{8fn0@OeSHrH+{UjgUW%qdp1hhq~76!7_9&&tinwUsCHSX%lMwWVuc@ z7djBQiGBd)RoIwtd!tTC#^5e=y-cDS(O9}ET7-tNGTD}zd>b5t!YWaZ+4ccYT!(#k}+h(6)+FONHo`}Tv1@lY-P67;%t zUQiN(R)dQXRN{hs=b%#{aFCIseUc|+eP~dtK-<}js!BItU{w}hk9F?|#&)zruN)Yi zDCB^;U?*YHNX520Nzs`sOpFd7aE$=nb%g-kQ{@Fqc}mfhn=$L|H*{soojjD!AB)A3 z(ZQH=zc5i47#Eyis@%hPM`$0-Ptt3a!6!cmpZErjB?WO}#ZrT$PAYHFC7#HPc7xVD zE$7Ost3S*WAc@Gsy*4w;tix|U%m?Sr!)Ko2jd$OE?6thHb!zPq-ni*NuI{QO7&(4s zl)X>c`{<#^Y0*A%^w&-M;ahn7;g@~%g!Qtcy#0pS0ZG|E$J>wYx%-$BpUm=u$7xu3 z>rF+hJ#Jh0E^G^nnA?Mp4UhQRSdp-6^Z6PB$C(h|5)n$4{zPmUo}UP_8$QevtQNh8A0wh=9ujy%uv7`$e@5)q`S z{OAG=kPC5np0~l{JXyRATH@x;?&52Q(+tR(ybIj!>dg`t?!uKt`E^87_Gvm$+^9pL z?s;*{+(?g~@9wYYKZF#>wc(ZcYwCusEsb;r(xLx<^6X*v*UTi$U{}I?R5ATDz~iKRMLLPN&&Pi5^Tn~4riNif%8*k3s;*z; z)o<~7+r8dnTfI88iMj+EnyrApnHe^N$>Lfx@LaEc*z3L7t9N+4Pv5En)aYFwgB-mD z@eo(KeufeP15kE=CTN8@-641<5RuXo&ukNzJ2%yf%l}<9FeJul{)8C8TNSOxG23Q8>{!?Q5ad(9=m0rjpaBsg3MqEI zg%J`GtIV&<6F7~NkRHN0b(Z0iqbzV7xHN3|d% z?aAKOtwAlC2yPvo8{QgZ2?e~?9~lnxA+B=9-|62wF|ijvGhwf z^*49<5?z|n-PzgQn7dE1=40U3aVN8Nw6%{wh`81OU@=_0hE`02vKpf)$dfTNNt$e; z0beK7B%}EF3rmkRjcvzNcr`pbc4kLEUQqU(*C+8C?rc7jtzv;AcY=;H*M>dtz|?HN z&+{~;gJ%x!@oeuRw8jh=M!=*}q%SV_9G>YIs^6_7lfwR~A81{>cOy^l$AC1q054s@ z=ui`u{KQNJ_{;i`Kx6^A&TzMB)Ey=8#t_00;~om64bs$VbdXMa=rwraie*Njkadq5 zs3!;yEu!KUC_e}!EigZ{0}x5qyI_g-u9z|W)L|pm^^(CI!f%>E&!p#zyFDQUzlj}N zB8yWoVai}=`|Nnf_E1dM_fNIQV(n9B0fY%{?--xm9tuj6w@kJ5`nIB=pEuq&ozUS9 zZuRwkS(%{hQeU{exw$>;tG~DN(w#y(cUyb=wsSSH^U}`9j}!Zm5G!nSbY3~vVMyTA zW+K$y9!i)fYTk~yD?2;9Sa8C#KN0kFcb>fqllo(ki3|Gn^hfaV+Sp8Ix92V>0gC-0 z`SMP{i>J_@yH#Ad0{GA#q$6ph8v+Enh-R`=lqV<#FtcNNAg7cvMPR*cI!1OnD!z5! z!GLk*)Q9 z#rr%;TE`a&3Qu_441VA9zzH38XzFI8_as;>yMaQ#~7l5+={(CXB08En87=!+6Z#F}mSJ z-}}biGkf2Hf0qS~q|e-TO6SN66Y#5?&Ej!1k*Nb+Hf{2YTc zySeFkh>3j*p;@H2IpL-t3qsftU;}55_^M&ZIzc$C7?RvX*2n-yEZd;;fniJo-FRRa zAvXw5X>b9ZnrL0GPn^+$;YbccG7X{ra6=|Kz= z4Z^Cl_7bk{J*{%&doe#I4B1LDVqlnpTH_uh6vVvxfk_1OLo{IZ%{7~1eZYJjDg{Nl z+GV&;=VPgkv?<$|QGev7j-PhiR6p%CSerD{9qhx@HPE)CF6yV$PppfM#Q=gymRL1s zz2>U=&-5aD0jK~qPdeS^Y)`5~%H2}24X5FwzZ%}UfpOnK%rU)$))xoVh*=nzm^rQO zRAIW~o?T-UDgqfcwDwJEb&Pdqd&5^a*uUe0#apLZNm>rWEK##1vE1)#yW96?o^?|P z>qA2acpI{>GSCsN436@ z=0<+(q1s?1}31?C>$+2}lF8CwsbM#@5)WlgNY#SP$SH65NJR zipi10bRVp`5&55!Eyz!3h|d|O+14^C>&VO3;y>Mt*l5BO;|S&m7_GgyJpz3^Q&ULq zi=22Kti!-P0W206k95}`m|cxVS5ccK;61KV$uzrm96r3G%O4mE8GfwzfUIPpF^<@& zKVi+!TVW$pp3rj|<08~%3LFJZs~C0)$x~rbsui({Iq8_SATvZRPQ_`wy%qoX%|d?- zrk@8w@nMsVoQ;L({b!Fbb2uIfU~2knbm8d<$A<@Falm8#N(K4ju87A5hvVU%`pcuo zwtTw0%bE^eD-G8{zR!d=KVlF!Uh!(yINmsA3Gh2@;yA#6{`O-+|?}h zAd-Q-y#Cx?wwIlZ2kS2nw+DmmVP*y6Gp9gz5;j>Qk3t$N0=^J_or}I8>zp(F(9waI zI7|2t208Jka-O@|P)WOSQjw0o<|zOM;n*|h8OvrU+D87 zwhJ$y%l7&w#Ga(q>>Kp!9f6Lvc(B>;1J4uo-82i?lTZlK<58GK?poIdLRQ^hklrTZdMqMwau|K*hqtmGW*6|9TgYrScnCd^=76OVJ8fqW#UtSn! zN17g7-_GJwfL>6c{wCME!%Km0z6ZW}9kQ~L`{owe_cc#Q z`&yseBKqfsx@Yemo9!P;^|PhH+{m{y?OP+cK{23rT`_a_>P)s%AHer(uwg%-;#Zxy zT{E=4V*?o(SHm+HnQ@U4n#t?53pwFbLRc-_YXp^03z369g%Vx{tPLK6dk!IihC}Z8 z{$UJzOr8mM9L~5BT!7G9(>0fedC%}=emsf+hTga(<_ZT1NyFglru%R+!GC4 zcJ|y;&WIeAzNs!5?~74x&>%8nGd1^|=4T^wJ`+HOFr~`VJ3rrN7nVx$P4k&j+4?AlFE!qZREy3}m|p5$hpD z5mG+rF~lg*2nt0V0YanMiLC=r>+u#OCU-^*kzK=CEOHWB9}WuiJ^*kvX%LBjem#8C zMWHXv_OJuxvmaPJ&~sA04zmLiT0VH=S|lbwX59&1Kq2SHO)qXv(dNh8JV30Ucw*yJ^c8OvCrZ?k)`x;$nk`Vgy|!y zCIe-Pm6ez}r9_rBqBUPo|J+z`rfLOxTACA%S5B_^KlM+>u6TH#)j6|owO!>RC*4GN z-6_OCkGOapSOiQ0^+Fuv5Cxp=p<&F5-*gZhM54_RZ{%%EXarutU%XjH20WO%-5lgH z-s_Z#bPTxa#$&IdF^w>?Pa{7{fRzb^3A54m=)f-BAMB0y?!XW2VO0TlmxdT926Z7v_W$UkLU7*8B4L`|@v5Fz2a(=()(EyzPKa>*$>eGZXnc1D+M1eqb96!gHeok1B(p z{(W46KLwD|H)u`Jb+G%K@tCc!{@|fDWHBbVDrp=gL9#w>sGPNFgxkhjLC5PuLV2TUK2ENUU#En-~e))@2Q$}Zp7UR+uKA}*!A6OTRm*hA`D+Ch5k<*ghnT4)qjp&IJI`qHrQ|j!0$#WU*qHMjk{7_J2-Rn7_zVN zGfht;psTNCP+?e`o;!1LCV?Ti8K?xOh-7h1i1gU>DyL><5?C7H7fw|wK51rVmae0I z(`cTG!kTqhS0fl#L6)Az_$@^`Io+bro~hk^P}~4TmGuSE1J_X`066n(=ynGY3IS%@ zG;tVa8oNXM@#ewWBY^X z^h;vAr3Fwn-J^~n7i34E7$${L27?EYiSD3$$nfIoXov4BxL{ZGD6WiMMK?NnNo-G~ zndr0b>LMLd9Jo(ozE^}k2xK|vjBSCtrrjAjaHwI@skl3&iGWqti|BOXN&;12;0&{m ztIvvHLD|7rbN#sCK|Zigjvj8+7Duo;*RDI-V|x8%9Y{AM2K+5&9qAs^n|GUr*>3KO zc=Uw5Gur0P_^RI?jA6j^b25tQ67z=+xAsnsm;=F!&huk|qEstF5a6=;+jCoJgG9d6J5dB7DdYitr?LW(8wm2+ty20&~4>x6RXoM~??qrUW&vEa6zI@YEQ`nFGTEIKga%v;+Lh{ih3^96t2-k8=l z?D6bwJIjp3w|}XoU=M1%IMSoBAv_H(xpgc#r5Vc z&)(Iwv@GihS_t;`Va0jrg98ocTxCJR@7Q0c>n>v|xTd%4qGe3)-H@N9HQelXv$l9? zoONIT&7Jjn5AKn2&%uqETsG9CHgouvt1(|%VRwzPb(#%NJaC7Y%G{jvCz_qpjW3advx4$q%R}?7#oaNa!it^JXLta~!RApWQPY?U@gG z`T-u$4ZPZIW*k#JX>-vVC%-88PjVef|!=*WBIW4If1ktw1sv3%6@skbOQ{ zxWkFn=7`m%T#gycb*N&5<#uQf0t;jD7>(;HRSQZ06JzXmXmSkftP(rW7Qa1Al)6<2pQUTi8V+7&|)QJaBqJav`#^m+WDijr3LCN#=ZJ1^Pdu6ve z!A3l$n8t!qJP__rj$YPodRxvNIeSMqU``_o5E3c@%j}k#hFFSG##%#WXCE2y{T*hg zm9bIc>uy3nx2dPpf1-Y-H*BBWie52*D|yD%(I#E_Evv2_O8H){X_}>3CJnpziGGoV zM!_dg5eRN0-Kh)*_%;}DLPM(!*=%Z%mT(luej^TMEv*y7QEF*i1H^5jsQlcg|Jj!5 zTQn_>(UHNe+x-VdA8Q&t5bln`x#^1CoiLxQ&1@aS$+)I%X~hij69@N^=ku7FaCU)m zhAIE}=D&f)72EbjTieNRijVXd*TlNuHFdwo3`|7#ZEHL#Is5cPR`E zYbvZlu0;u>qLeqt8s#R6ALs{>0SCh|d>EBk)im!k_u!w&vZh(T55EcQ|IozW9&;7{ z@JGB){h(~8K{q;hKn0S4<>3R6<*(@d@necuR85IP8vbiUps{i|v2!F2KmJrWD&r$N z6CgrBaAb|tzu`rCrZMkS^~jOx5q9@0!qM@|JI)VvbcD|DxO_YseuX=>hD+Mi@Y=(W z?9mS88-5t`Pd@=PcPG3Rg;cu)0N7`E0NI+sb8+N6gyTiFJ7HG}pjI4Ff2^n!WzTvu0;j7h_}1y94GCwypERL0xDU`41k}5IGd;j2S#A4;Dsph=&~Qcfjd67NkPTa6oFq;oKSD$2f~a*YbwIw!;1pS`lR&6rrOvX zJ;MZ;zRK%wa7=3qBdAWm`;krH*swuGe`^6i@bp@z08Im5&@qxltGQw%>)`GSZhhaa z$1dEvt<$$93K6{TX?kZ@Vo|^c<#tr z9n2_fZZ#vQ<}q3meX-`rfpQ>X0@UjpAPcL7wO-`MJiXzrUcb-hF$TLLy02q!s3jVS z_C3<55sFL=V>Kn`yu_e?)E{-K^u-NNtZ$7c(b~v;PBB=(Jbs}6 z375jCKkVHDM%?3de}3^qD_y)`LnSYAojdDVFeSHV@NR??V`4lBU^j4PvKeq55MNLL1=09uEr7N=6UX78~NK=!VD5C^A ztcaGrL99;5;ccm)fgM-fP;Wv2pLz16y2(lHmaD&^Q+ufxiF2U8!=RW8@LmuCg#0-S z1Un6@wNWNH2rB~rASP*TWF^2bUj#Y?X3BLv(#k^H+oJLk0l@I6Orgpps@m5-!CO<3jhXR6UkRivF@2=fCw#jD2 zt2j36U;BtPQxgg4$k1f7n_ty695MbUU^wo(@TtX3Z{@V%hZT+(0lL>ka#0!?0LqxFs-*Aqla?-+b#) zRE!3D{h^BtEW&oN*ZX3e!76RcW9nEj_tTh5-yQoT(kc2w6rPXdVdI9t;Hv5z(99}q z5{&ZL-2u!M>eHk2&k>>*^bk1|qpy6T=uwYiwhG z;aL4ff0Q>r+&mHWziO?--h|u?VLjOA!(D?r`-1(rs}T(5w17{;Qar>+=20{7(Vo^A>4!9gbSw!X$KoxEab$=pgg;(~5E#0{z)r z)2t~io5Rg4;aHenF9r2udE|F|@r%0O@8TU~pVKNhTgmR4Cd-lxYzR&m*PATRK}1i2 z5c|gC0wp)9r_t+YxM60~KW!)-C7f8I-UM1a8S6rtB^tB^LjmeD^k2pT`-2g7dZU{1 z?s>5OAcZe>)xXV}FxaxrPkyWlPwz{O0$L0KwHR=tR0yk9+Js&%O1K|*CO+YWrV;2z zB~)+@1KMDxh)ErYarRQ8#fP0aB`2L64NhtXidH66l2W}R{P0$7qJEpe@IR|4BlBFfy+Li+DdX7vS9wEz9=`Sk zm-4;3>A9X=blX#N3`&7ttnAF&)b@roo73@4$PO}KbK><|MW1j4B2rS53dhF5oM@g! zKZbEPNp+QNi!xeIwy@O}))oDIwCj-W_3u@pWiKG5tD%X$MZHW4-q4R5dZ-e@x~c4F z{cX{Xj*od;%1R!!c%QCmuV0r)6vNZ-oi@JTdJOUZ==~CG6^aGydCh<4?T|vM{va6P zBY*wvT+CA8&YemF0<(mkqfVu4Wbm61(9{Y!K~0LmTEsnXFpI$J8%!n&9;KEBZMt?9 z3Eb9wy1{!)-|DK*?7@;t+7V1|+5t--Oun)6GlB^J(A44nw)#8U`VUVXI|&p(oVlfU z>#nh}U0Zv%oQc`bUYSTdvf&yner1UF@l34XFP*fbThF z29CeYEpt%#Timh$)%@Bm%cgdA$SrG4gRD`<(}dw@_qeZV2QRy2WJKd%aLZVQNCez+ zbCV{LZaLD_E*9K!3+lYdEyq#kGw`gLr05ciX1Zl$^#Qu(9Osyu@G7?~5Y6^>w=A2+ zS+iT#nl56;+_I->2m7*H_BCC}<8ImCG|FG$mcva${6}uNxydK`+;XI8Tuiv-mZl+b zi(8JP&If_hmyol3rKy7TloycKy4pmUdD4*i31qq}VNG#5at^W=ScrWpVScvN)O2pC zyi&<6WUGmh^wz|ArD8R4&a!2f3OM&f7bP$tL$|Ep1{O+3akD%gn!zO-ZjhKvoL8}| z#L-edhf^DBxkvuz_oso{QLw-$iQy-FR&sK5dXy?W!AJl9y+7u{0Jazf8B9YdQPV#0 z{g==#6*O{Ay}>@zUVrbcO-&Qydq;OqPb5Y*eZrDev2&&3zJz*xRBPOSbC*r7wS018 zo6@b^o|~j*Pr8kKIVgcTiF$nwHnfd$0k35%YAB;rMqaFZQwlGfzze6}sN1D%bLhT3suU5Ef0%c18#0=f7X{u6J;LDs}E8z12i3=@5sj%mMuJ(!=FEC7Q# zgdD-mEW)CMnX))*Wo@jTbs%mZt^hpqUY1~ete*|AEo_htv0*mCwz6%|BRg0Uh~Z8) z#&)rBHo;iTnyNDfT7qcg^ zOW2dyrR*|xgdJs~?ksdk%Xpdmg)!J)gaR-No)^FJv!bFJ||!m#}-;OWA$we)clafIZ0G&fdZPp1qU3i@lq@hdspJ%ihP{ z&pyCD$UekA4Bh+@_EAI$eVl!QeUg2OeVToSeU^QWeV%=ReUW{MJrzm(s{@8>V$ zFXw;5U%_9=U&T-ISM%5K*Yel#*Ym&SZ{Tm_Z{ly}Z{cs{Z{vT*AK(x2xAS-Kzvu7d z@8a*~@8J*e_wx7g_wx_%5AqN35A##}BmATMWBlX%6a16>Q~cBXGyJpsbNuuC3;c`x zOZ;K}W&RcZRsJ>p5Bwkb*ZCv-8~mI6Tm0MnJN&!+d;B#2KL02F1O7w)BmQIl6aG{F zGyc!~U--}YFZjRmU-Dn^U-RGa-|~OszvI8>f8dYuf9L_Sf*exc-l$aKK#9pyaoFUE>`vn%}5;IK?iF3pO zgnAzohs1f}d~t!eP+ZjXB5_z;ES@AT5ltHjmf8u2u7 zt$4aPCT2xS%!#zf2usY11(6jwah+Hcc~KBWQ4(cwy{HIVR7FiJiDhwItcVlh263Z! zhPX-GELO!W;+f)B@howhc(%A*+##MLo-3Xw?i9}#FA#T$yTuE|i^Pk?J>n(eUhz_K zpSWMVOuStDjd+E4rFfM%DPE0Lj9x2VCtff9R=h#HQM^gKS-eHORlH67op?YzDBdpK zA^u*xQ@l&OTf9d+B;G6DC*ChUAU-HQBt9%oiI0enijRqpi%*D8icg78i_eJ9iqDD9 zi!X>TiZ6+W#h1lb#8<`F#6O6C6kivQh;N8*if@T;i|>fS67rzkyDt;+`C4Mb_BYrFXP5e&$Ui?8kD*j#khxnuTPw^*F7mvv% zERD>utS?d$A(@8`)7+3g>Bs7y0r*NGq=Raf5gEnOhb@3RTV1g@5ue~ zEO~ZQM9#=_)|SH4unxFUBxrJgX zFVZD^BTR2CoiC*qWu=tLcr&HtVjcx8SDY&ymlZ2hlJ-h5?WN}=Q~9b?b?5V`1s`57 zQ_hx(mhD?At&Xr1wUfQ4m7PWFE zSFC!{se)BWNixQ8KA-XAs;PV~?XOzLtI4cI?t@R2mvfnF)`xQo#bn-^ubNIVZ569l z#qaDWZzJH8udCVB-2959Z_!J&Y6cZOxgz~&OSz0y(sG5=g5@iu%G4o?R>hOb&_xn` zQ-Yb>$`BH_do2q(aN8QQY z(X8vNbk#&ZE>%j-#{?QX>I?kTpUHHtlFnPE>d(fG>h;EsA_R9QbbZaj_u_WWW&T`o zzT}pD=}O7Av#DIg7IUehFIB0OmQ@@2ouYcE*D2S^?s@7{4Odkxk9E8Zi`xq$xm>Yq zJ7OJA=Tn8$hR4Z;+&rkoO3j0AE0(ZUECc_NHt0PY+gQI^$)$=5c}qjH6)iKJ%3H-u zszTJ}so*K4f{y1DsI$;LMXTy-G)=9%)@1Z7OfQtuCVF5=y|q5%$Llj^7BSDTPw^}(eWPCEN53d zwX$NAyj3U_HN^*}+9vJmYt%$FFj9Kap9T-*s`MrqQL$~2&1AfDwR}EXsucZc3v551 zOQ)(Xh_098}=qV0j$0Y4dYm7F!7PT7`24L0?UMsmppLlqZEiqtY1B!j&u(zPlY zvbCe8&!@oHU|j=JCtF2F&gs+!$wJ1D zqt$H5#&=s@yOyg`Tgf?G;z>g=T9y|l%OuN;Q~?*JifPMJurlyi{quA)+~qn8BG0la z-mFVS4&OV?)~vV$Z(T!!xLr(q(>UUG@y0{c#T)mjp?uB})jm#9UFdbn#O&@BV5p2` zFG7HM@~JZYsICAPmeBT=@A_J)>b!^FDLU;md)^N=q^QLwW50vN6g zO#@z=D}gD3q)U=Ya9Lm#FPZ`JEtLoTWGtg%mGdj0w0scEtcC`riqH%J%1T>}N$=}NAQUa!qLB@cKWy=IncCr+RN%Q-6zv7e)xl0plw7ae&8 z;&OyiGs&_f6cMCLEoW!(ofUAoRgE@e(gqHUJ?@xlpXSFMtd$>sDRq*EzNu94IYNY3 zO$iMf64VEZ%9ZV$oy@Kmmwb>d>ok*EX=nsTS2zSj!ZN++*789Px zc6i6RQn5;C(~(*^vT0v^oMF`}r6k!GzH$kSq>BDb32akw4p-0}Py(poU7;7Csue}h z>ew>W6&1+VvAndQZx1OZP36nklzNlEhW%PO?CcfrK!>M;8xMd5)NT<5N+p+ezGTyp zTG9Q?RGP>+rK}>;=?v%Vo#UxmCRcKb%6xKesrWXZo426GiVLR8 z55-b7o%Jhq0NWILUeCe`D^*r>G9yvZuz}m+1skFYt%uK0_l2fG zmsXQYIcwQaPQsj(f(dKE%m=kXw}RBuwaSVgUs|*mU`|<;(1tScl&PxYS;TyPy2>s4 zoD+1!IgF>37OjA);*^t1oA$DvqE&<3_Bl_=!ytqUQvoR(>I2Aj^{J9FR>ho^p+3kJ zJrKytsTFfBRmJ5i$$8jC@x~4;0Z0n6rEtz(t3$?Es8Po~8))oXg>rQz07+m&sFNuL zRhmnpDZub%X^xESp)&iL!+!2*K?_b(1slwT2Rk|v*6f;T}hV8CsXM(=s}wUw`7`?#7M%bQ2H4B;F`>i zqo_lb!>F@5p?)A7APbdyYZ2EZ?G@Np1$%((br{T!nt&_p$i<}UYxp9hm}LfDM}R(S z?Yu7!zFNxBh==MF2o{j^n*1fFz)WQ_QX)1nog9!*_?-44=PT%D}L!hL+Ku_@)9R zd?9zjTH6PTK>I=WJiZ8G!!ndb1AS38>|$vdHWxl0JX^GLkVIuDHm|#9d&vMM5-^mU zq>`5)0Ck86VL1g+ZmQ;m6HSNxYA07zbqO<|g1}upN_E&|YozfYb<`^AWO|?+&6m)z zj?BZZl6#LoMp`xYxO$Eq^|*u3^Nv&M+)%kE26-OJ$~4te)WKwSub3T9C;Wq zZqJdjGF1yC!AHfM9fB0g!>eh0m4Sj)S;$#7kRjN@sa!??RMYU!vYXf3=_GtW2sC(` zwF-H$WxECq8d@V=$2SVD?~~(fWO9H)U|HBAQ%q@OVXp+#HVNLYLc==tntSiCGTz)B z>J^x36$12f8MEP)(qZU1$3=y>Ex^X|yF!l61xPspsdV1fQ>L%0YGnv)J4zr>L!?7~ zl5yMm7mm?wd}ZiED^tT2z-e+0PD8+$ZWl__i@J>v0dRxvP?rspd`-a0rCcfxtS*(e z4IpY3G_4J^LScg1@nj{n0xwbg#Puz!Cc10cRSAYIa7WI<`{fuvo1;p-q8ussb*697PixH_KM34CaE4sI2(P zxrGHl7OCQ*r;?kS17ZX#qzatCvNA;Jk|d~4`N~P~$s#QGvK3HpN0Q_Ks+i7Rp|pe@ zzcRQTd)9{wtfaC|f(>SK&bYf|v=vjes$+wJ8DNj7ieSa`qQjtoy&PkW&?-}%od@7U zAE|a+f5dVs(RI!(l-1!Bp{B1(xhAWU5zb-N=LmkMNd=NFYYkE|ELd}wsS8?rS5&C{@%AT7v=g|U~(*=fQGmNnWG zB{onzJI5f z^6q)~2~ZcQyvK$Lfy{vl70LZuC?kYbsTJ85D#M@!*%F7ql*nVRGr=hG?lO^qrO>sNNtfUpedM zoOL3HeuERS1UL^C3#bu(q7LVd9tw$FET*8BTy({8sDL1+7pt&lg9uPb<9cX!7Yc-s zvtVh{4>}n#fKVs8QzVmHAb2pTbSWCOoYgY96DL-}nM!J&3|neS!e(TqQY!>#lY~(W z>60q@UFxG71(dYMgQ2$5?j9L6BuD@?LMXvff>L+NxdN3Pb&)GBmB1WPRmt6fjY04Y zkS|=gQK$#i5fWUfD#W>SH^)jL_$E(q04x+BZ#V^kUQzvsQ)s+-xP(~?&;xO$;`!!H z17Y+Troy6=DafI8D(LPw*1zp@ckNtCU#P&!Oj{DaMK5jWVnY?+7Z*ZnrKG(K9`vhy zCDv`H422E?YgWgdG6|Im9zr)GhtDmlqs}!|5JJrYBcp~>CWr#J32!_^qTG2CD$$#i zlk4;!Q2Pz?4-ycf>@G!D3Kv0SlRpb)K*n6ouc!y?s2Ma0zO#)W0S&yW!SJAGwUX#viUrYHL1Z20FVtp zH#r9%Y%xrw3J8U$6v&G0g@6I#R;Y2ZFQv1AC14d$Hs~kV zIYGz7!AMkb0rw&2&eiye-+?hE=V4G~EdcLEs!VnVUQz=1Dv-#s{7SV#I6}=rd;xmV z(altchDabw75-vSIZfag4W*zvz*~1_WS1Eke>$$u=RDmhnmXm4#B#?+g(@ zLS-zJS0FJJvf`lXYEVQk!39KnO0+^5J}oR93{g|7mgeCl&10wss8$wZyVxq35P&{a zO0z%%Q80&6^B62cU5u8v#u3O2BCz5bM`gGjwK7j-Bxo|L&E;TP1R$uB3kX$&f`r9buv4CFYGo0&{&g_3g4exO5UT;9 zL91c7Xc3@Zu~bQAG5i9euz0Buq>-r9e2T_Tb9O;16G9XQd%(OwlLFf%0~^haAt>4; zvyx~!KpW~(Wy5OMJqCDcGk5P=nM$31Siyju!`3TFK>-3+PeLQVxxqY6J@u$P~saC09V-0oNQ%Dp}|l zg#dKm=z$A~rivM0+Z6NwviCW@F(LDC_AvmN1W@nTYnkyeUDP*t!x!65)`wFS6CRdg9Ku@|jXTg>4zvZ*R;bOP)=*&JCD z8o4ng2<3_mPeOr@84QNQg~?V{mWsI)Kv{bc5)lIwV7&l_u+cY*xCwDTyd_BX3TOtm zf(=BnF|2GIv@7V4_!oF;nb2{w3Lb)Atsrh)sdoUI%0P$l4Plrum%ze!HDx9P1TSX% zN?15f8N5hpqXM`}`Q7WSN1qJmSe>R~)NM_LJdul&S_0cNT3FTgW?+LtTvWYk2(Jd} zCIA301T)dbKn{dXHH)|tj0mCYVItzb@a%oS5dbBqUB9f%-LK_bN zxbrSS-6dD7lm^kNaIm?Rz+7sMq%(8^8rqo4m9i=75;>PI0SJKIs$vL$;|JDu5F4-v zDk^4_Sho;p0=T`3^EPyswSbPdDp4}AK+e#?gvC219)N-}oeVSz@E$6b7h(#44$Mdj zb%2Er>k$qOhJ7lw8`cBP2C%W>S~4^^R<_8hC=)7V+0pf4vS9{zFs=xhXet8*LlS`A zivS|v-$OBwE2+qgIwYg#(m9Ou*jf(OP{~usfs%@Pp$5(_RSgUv<&?+{td)psz4$n? zj|+y4#)QJITEVpv`Ab>dc92c4ohv9>((Oguh=_ABho6A+1F*aT{_@y)a=(RLfG`KN zs0a_WblNGTieCDKN?nF@2djA;3MQSGM<^8pBUleZs(3REHa8GqrK((%!H*$#C~^!9 zVXT~5*0u-;DMAUjH5#(JvF}M&YS7-oT37(ki*a^X-WA8AF95)SVsva#uyZ8?2?+Ks zRUsY>@(CfwQb5+!V0Yt&81Ba%;Q7!%5jCv844WLodGt=Ck`(bMAEbHH9(|JQ7-Rea x6C9e5>F_a{Y=#o$P>ACn?Fq~PLB46VhYkLt8cmPPZbe=T{GOOO-~D~k{{s(fLtg*@ literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.svg b/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.svg new file mode 100755 index 0000000..df5f626 --- /dev/null +++ b/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.svg @@ -0,0 +1,953 @@ + + + + + +Created by FontForge 20190112 at Fri Feb 1 12:28:29 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.ttf b/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.ttf new file mode 100755 index 0000000000000000000000000000000000000000..6c9fe78959c8db055a153d3824197853d5ea361a GIT binary patch literal 186228 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 z
    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 literal 0 HcmV?d00001 diff --git a/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.woff b/lib/crowdfunding/lib/webfonts/fontawesome/900/fa-solid-900.woff new file mode 100755 index 0000000000000000000000000000000000000000..bf52883deb1094f4846ccfaa47590b8ff93695d1 GIT binary patch literal 96248 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

    uDAqb;X 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�iUxym!ViBypa|wya2= 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

    &keBnxcI~aPd4jHJ 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 'Invalid bar color. Please check your syntax.', + 'error_border_color_invalid' => 'Invalid border color. Please check your syntax.', + 'error_connect_node' => 'The connection to the duniter node failed. Change the used node.', + 'error_date_start_invalid' => 'Invalid start date. Please check your syntax.', + 'error_date_start_missing' => 'Missing start date. Please check your syntax.', + 'error_date_end_invalid' => 'Invalid end date. Please check your syntax.', + 'error_date_end_anterior' => 'End date is anterior to start date. Please check your syntax.', + 'error_font_color_invalid' => 'Invalid font color. Please check your syntax.', + 'error_pubkey_invalid' => 'Invalid pubkey. Please check your syntax.', + 'error_pubkey_missing' => 'Missing pubkey. Please check your syntax.', + 'error_target_not_int' => 'Target is not integer. Please check your syntax.', + 'error_target_negative' => 'Target is negative or null. Please check your syntax.', + 'error_target_missing' => 'Missing target. Please check your syntax.', + 'title_default' => 'Crowdfunding in libre currency', + 'label_pubkey' => 'Account pubkey:', + 'label_qrcode' => 'QRcode', + 'label_reached' => 'reached', + 'label_donators' => 'Donators', + 'ud' => 'UD', + 'label_ontotal' => 'Over a total of {{total}} {{unit}}', + 'label_ontotal_short' => 'Over {{total}} {{unit}}', + 'label_remaining_d' => 'days remaining', + 'label_contribute' => 'Contribute now !', + 'graph_title' => 'Evolution of the funding', + 'graph_target' => 'Target', + 'graph_delta' => 'Daily income' +); +?> diff --git a/lib/crowdfunding/locales/eo.tr.php b/lib/crowdfunding/locales/eo.tr.php new file mode 100755 index 0000000..fc530de --- /dev/null +++ b/lib/crowdfunding/locales/eo.tr.php @@ -0,0 +1,30 @@ + 'Nevalida trinkeja koloro. Bonvolu kontroli vian sintakson.', + 'error_border_color_invalid' => 'Nevalida bordkoloro. Bonvolu kontroli vian sintakson.', + 'error_connect_node' => 'La rilato al la nodo Duniter malsukcesis. Modifu la uzatan nodon.', + 'error_date_start_invalid' => 'Erara dato de komenciĝo. Kontrolu vian sintakson.', + 'error_date_start_missing' => 'Mankanta dato de komenciĝo. Kontrolu vian sintakson.', + 'error_date_end_invalid' => 'Erara fin-dato. Kontrolu vian sintakson.', + 'error_date_end_anterior' => 'Fin-dato antaŭanta la daton de komenciĝon. Kontrolu vian sintakson.', + 'error_font_color_invalid' => 'Nevalida tiparo koloro. Bonvolu kontroli vian sintakson.', + 'error_pubkey_invalid' => 'Erara publik-ŝlosilo. Kontrolu vian sintakson.', + 'error_pubkey_missing' => 'Mankanta publik-ŝlosilo. Kontrolu vian sintakson.', + 'error_target_not_int' => 'Neentjera celo. Kontrolu vian sintakson.', + 'error_target_negative' => 'Negativa aŭ nula celo. Kontrolu vian sintakson.', + 'error_target_missing' => 'Mankanta celo. Kontrolu vian sintakson.', + 'title_default' => 'Liber-mona amasfinancado', + 'label_pubkey' => 'Publik-ŝlosilo de la konto:', + 'label_qrcode' => 'QRcode', + 'label_reached' => 'atingitaj', + 'label_donators' => 'Donantoj', + 'ud' => 'UD', + 'label_ontotal' => 'Celo: {{total}} {{unit}}', + 'label_ontotal_short' => 'Celo: {{total}} {{unit}}', + 'label_remaining_d' => 'tagoj restas', + 'label_contribute' => 'Kontribuu nun !', + 'graph_title' => 'Evoluo de la financado', + 'graph_target' => 'Celo', + 'graph_delta' => 'Taga enspezo' +); +?> diff --git a/lib/crowdfunding/locales/fr.tr.php b/lib/crowdfunding/locales/fr.tr.php new file mode 100755 index 0000000..f6d795b --- /dev/null +++ b/lib/crowdfunding/locales/fr.tr.php @@ -0,0 +1,30 @@ + 'Couleur de barre invalide. Vérifiez votre syntaxe.', + 'error_border_color_invalid' => 'Couleur de bordure invalide. Vérifiez votre syntaxe.', + 'error_connect_node' => 'La connexion au noeud duniter a échoué. Modifiez le noeud utilisé.', + 'error_date_start_invalid' => 'La date de début est incorrecte. Vérifiez votre syntaxe.', + 'error_date_start_missing' => 'Il manque la date de début. Vérifiez votre syntaxe.', + 'error_date_end_invalid' => 'La date de fin est incorrecte. Vérifiez votre syntaxe.', + 'error_date_end_anterior' => 'La date de fin est antérieure à la date de début. Vérifiez votre syntaxe.', + 'error_font_color_invalid' => 'Couleur de police invalide. Vérifiez votre syntaxe.', + 'error_pubkey_invalid' => 'La clé publique n\'a pas le format attendu. Vérifiez votre syntaxe.', + 'error_pubkey_missing' => 'Il manque la clé publique du compte à vérifier. Vérifiez votre syntaxe.', + 'error_target_not_int' => 'La cible n\'est pas un entier. Vérifiez votre syntaxe.', + 'error_target_negative' => 'La cible est un entier négatif ou nul. Vérifiez votre syntaxe.', + 'error_target_missing' => 'Il manque le montant à atteindre. Vérifiez votre syntaxe.', + 'title_default' => 'Financement participatif en monnaie libre', + 'label_pubkey' => 'Clé publique du compte :', + 'label_qrcode' => 'QRcode', + 'label_reached' => 'atteints', + 'label_donators' => 'Donateurs', + 'ud' => 'DU', + 'label_ontotal' => 'Sur un total de {{total}} {{unit}}', + 'label_ontotal_short' => 'Sur {{total}} {{unit}}', + 'label_remaining_d' => 'jours restants', + 'label_contribute' => 'Contribuez maintenant !', + 'graph_title' => 'Montant récolté', + 'graph_target' => 'Objectif', + 'graph_delta' => 'Contributions du jour' +); +?> diff --git a/lib/crowdfunding/locales/moment.js/eo.js b/lib/crowdfunding/locales/moment.js/eo.js new file mode 100755 index 0000000..403ecb1 --- /dev/null +++ b/lib/crowdfunding/locales/moment.js/eo.js @@ -0,0 +1,70 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var eo = moment.defineLocale('eo', { + months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'), + monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'), + weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), + weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), + weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'D[-a de] MMMM, YYYY', + LLL : 'D[-a de] MMMM, YYYY HH:mm', + LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar : { + sameDay : '[Hodiaŭ je] LT', + nextDay : '[Morgaŭ je] LT', + nextWeek : 'dddd [je] LT', + lastDay : '[Hieraŭ je] LT', + lastWeek : '[pasinta] dddd [je] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'post %s', + past : 'antaŭ %s', + s : 'sekundoj', + ss : '%d sekundoj', + m : 'minuto', + mm : '%d minutoj', + h : 'horo', + hh : '%d horoj', + d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo + dd : '%d tagoj', + M : 'monato', + MM : '%d monatoj', + y : 'jaro', + yy : '%d jaroj' + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal : '%da', + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 7th is the first week of the year. + } + }); + + return eo; + +}))); \ No newline at end of file diff --git a/lib/crowdfunding/locales/moment.js/fr.js b/lib/crowdfunding/locales/moment.js/fr.js new file mode 100755 index 0000000..df8b758 --- /dev/null +++ b/lib/crowdfunding/locales/moment.js/fr.js @@ -0,0 +1,82 @@ +//! moment.js locale configuration + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + + var fr = moment.defineLocale('fr', { + months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), + monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), + monthsParseExact : true, + weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY HH:mm', + LLLL : 'dddd D MMMM YYYY HH:mm' + }, + calendar : { + sameDay : '[Aujourd’hui à] LT', + nextDay : '[Demain à] LT', + nextWeek : 'dddd [à] LT', + lastDay : '[Hier à] LT', + lastWeek : 'dddd [dernier à] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'dans %s', + past : 'il y a %s', + s : 'quelques secondes', + ss : '%d secondes', + m : 'une minute', + mm : '%d minutes', + h : 'une heure', + hh : '%d heures', + d : 'un jour', + dd : '%d jours', + M : 'un mois', + MM : '%d mois', + y : 'un an', + yy : '%d ans' + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal : function (number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return fr; + +}))); \ No newline at end of file diff --git a/lib/crowdfunding/svg.php b/lib/crowdfunding/svg.php new file mode 100755 index 0000000..9b6e230 --- /dev/null +++ b/lib/crowdfunding/svg.php @@ -0,0 +1,79 @@ +setTarget($_GET['target']); +} + +if (isset($_GET['title'])) { + + $myCrowdfunding->setTitle($_GET['title']); +} + +if (isset($_GET['hide_title'])) { + + $myCrowdfunding->setMustHideTitle($_GET['hide_title']); + +} + +if (isset($_GET['display_pubkey'])) { + + $myCrowdfunding->setMustDisplayPubkey($_GET['display_pubkey']); +} + +if (isset($_GET['display_qrcode'])) { + + $myCrowdfunding->setMustDisplayQRCode(true); +} + +/* +if (isset($_GET['node'])) { + + $myCrowdfunding->addNodes(explode(' ', $_GET['node'])); +} +*/ + +if (isset($_GET['logo'])) { + + $myCrowdfunding->setLogo($_GET['logo']); +} + + +$theme = isset($_GET['theme']) ? $_GET['theme'] : DEFAULT_THEME; + +if (!file_exists($tplPath = THEMES_PATH . '/' . $theme . '.svg.php')) { + + $tplPath = THEMES_PATH . '/' . DEFAULT_THEME . '.svg.php'; + +} + +if (file_exists($confPath = THEMES_PATH . '/' . $theme . '.conf.php')) { + + require_once($confPath); +} + +ob_clean();// Without this line, encoding problems (UTF-8 php files instead of ANSI) can cause image to not generate) + +header('Content-type: image/svg+xml'); + +include($tplPath); + diff --git a/lib/crowdfunding/themes/chart.html.php b/lib/crowdfunding/themes/chart.html.php new file mode 100755 index 0000000..019cf56 --- /dev/null +++ b/lib/crowdfunding/themes/chart.html.php @@ -0,0 +1,40 @@ +

    +getTargetLinePoints(), _('Objectif')); + $targetGraph->setStyle('type', 'line'); + $targetGraph->setStyle('borderColor', 'green'); + $targetGraph->setStyle('borderDash', [5, 5]); + $targetGraph->setStyle('radius', 0); + $targetGraph->setStyle('fill', false); + $chart->addGraph($targetGraph); + + $amountCumulativeGraph = new Graph($chart->getAmountCollectedByDayCumulativePoints(), _('Montant total récolté')); + $amountCumulativeGraph->setStyle('type', 'line'); + $amountCumulativeGraph->setStyle('borderColor', '#301873'); + $amountCumulativeGraph->setStyle('backgroundColor', '#301873'); + $amountCumulativeGraph->setStyle('lineTension', 0); + $amountCumulativeGraph->setStyle('pointRadius', 1); + $amountCumulativeGraph->setStyle('borderWidth', 2); + $amountCumulativeGraph->setStyle('steppedLine', false); + $chart->addGraph($amountCumulativeGraph); + + + echo $chart->getScripts($lang, '#chart'); +} +?> + + + + + diff --git a/lib/crowdfunding/themes/cloud.css b/lib/crowdfunding/themes/cloud.css new file mode 100644 index 0000000..099eff9 --- /dev/null +++ b/lib/crowdfunding/themes/cloud.css @@ -0,0 +1,93 @@ + +body, p { + + margin: 0; + padding: 0; + /*overflow: hidden;*/ +} + +p { + + text-align: center; +} + +.donorsList { + + list-style-type: none; + margin: 0 auto; + padding: 0; + max-width: 500px; + text-align: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; +} + +.donorsList > li { + + padding: 0.10rem 0.5rem; + flex-shrink: 1; + box-sizing: border-box; +} + +.donorsList > li span { + + border-radius: 1em; + padding: 0 0.25em; + color: white; +} + +.donorsList > li:nth-child(5n) span{ + + background: hsl(194, 100%, 70%); + color: black; +} + +.donorsList > li:nth-child(5n+1) span{ + + background: hsl(185, 62%, 53%); +} + +.donorsList > li:nth-child(5n+2) span{ + + background: hsl(210, 100%, 25%); +} + +.donorsList > li:nth-child(5n+3) span{ + + background: hsl(194, 100%, 80%); + color: hsl(233, 88%, 9%); +} + +.donorsList > li:nth-child(5n+4) span{ + + background: hsl(194, 100%, 60%); + color: hsl(233, 88%, 9%); +} + +.donorsList > :nth-child(1) { + + width: 100%; +} + +.donorsList > :nth-child(2), +.donorsList > :nth-child(3) { + + width: 50%; +} + +.donorsList > :nth-child(2) { + + text-align: right; +} + +.donorsList > :nth-child(3) { + + text-align: left; +} + +.donorsList > :last-child { + + width: 100%; +} diff --git a/lib/crowdfunding/themes/cloud.html.php b/lib/crowdfunding/themes/cloud.html.php new file mode 100755 index 0000000..bfcf903 --- /dev/null +++ b/lib/crowdfunding/themes/cloud.html.php @@ -0,0 +1,33 @@ +getDonationsList(true); + +$min = $myCrowdfunding->getMinDonation(); +$max = $myCrowdfunding->getMaxDonation(); + +if (empty($donationsList)) { + + echo _('Pas encore de donateurs'); + +} else { + + echo ''; +} + diff --git a/lib/crowdfunding/themes/kickstarter.css b/lib/crowdfunding/themes/kickstarter.css new file mode 100755 index 0000000..d9bc53a --- /dev/null +++ b/lib/crowdfunding/themes/kickstarter.css @@ -0,0 +1,165 @@ +/* ================ General ================ */ + +@font-face { + + font-family:"Font Awesome 5 Free"; + font-style:normal; + font-weight:400; + font-display:auto; + src:url(../lib/webfonts/fontawesome/400/fa-regular-400.eot); + src:url(../lib/webfonts/fontawesome/400/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../lib/webfonts/fontawesome/400/fa-regular-400.woff2) format("woff2"),url(../lib/webfonts/fontawesome/400/fa-regular-400.woff) format("woff"),url(../lib/webfonts/fontawesome/400/fa-regular-400.ttf) format("truetype"),url(../lib/webfonts/fontawesome/400/fa-regular-400.svg#fontawesome) format("svg") +} + + @font-face { + + font-family:"Font Awesome 5 Free"; + font-style:normal; + font-weight:900; + font-display:auto; + src:url(../lib/webfonts/fontawesome/900/fa-solid-900.eot); + src:url(../lib/webfonts/fontawesome/900/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../lib/webfonts/fontawesome/900/fa-solid-900.woff2) format("woff2"),url(../lib/webfonts/fontawesome/900/fa-solid-900.woff) format("woff"),url(../lib/webfonts/fontawesome/900/fa-solid-900.ttf) format("truetype"),url(../lib/webfonts/fontawesome/900/fa-solid-900.svg#fontawesome) format("svg") +} + +body { + + + margin: 0; + padding: 0; + overflow: hidden; + + color: hsl(0, 0.0%, 13.3%); + background: transparent; + + line-height: 1.5; + + font-weight: 400; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; +} + +p { + + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +.sr-only{ + + border: 0; + clip: rect(0,0,0,0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + white-space: nowrap; +} + +/* ================ Progress bar ================ */ + +.progress-container { + + background-color: hsl(210, 15.8%, 92.5%); + border: 0; + height: 0.5rem; + + display: -ms-flexbox; + display: flex; + overflow: hidden; + font-size: .75rem; +} + +@keyframes progress-bar-stripes { + + from { background-position: 1rem 0; } + to { background-position: 0 0; } +} + + .progress-bar { + + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: hsl(153, 98.8%, 31.4%); + transition: width .6s ease; + + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +/* ================ Stats ================ */ + +section.stats { + + display: flex; + flex-wrap: wrap; + flex-direction: column; + justify-content: space-around; + + font-size: 2rem; +} + +section.stats .label { + + display: block; + font-size: 1rem; + font-weight: 400; +} + +/* ================ Button ================ */ + +.CTA-button a, +.CTA-button a:visited { + + background-color: hsl(153, 98.8%, 31.4%); + color: white; + text-decoration: none; + font-weight: 400; + + display: block; + border-radius: .25rem; + border: 1px solid transparent; + padding: .375rem .75rem; + width: calc(100% - 1.5rem - 2px); + font-size: 1rem; + line-height: 1.5; + + text-align: center; + vertical-align: middle; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + transition: + color .15s ease-in-out, + background-color .15s ease-in-out, + border-color .15s ease-in-out, + box-shadow .15s ease-in-out; + + margin-bottom: 0; + +} + +.CTA-button a:hover { + + background-color: hsl(153, 98.8%, 36.4%); + +} + +.CTA-button a:before { + + font-family: "Font Awesome 5 Free"; + font-weight: bold; + content: "\f1d8"; /* fa-paper-place */ + margin-right: 0.5rem; +} + + diff --git a/lib/crowdfunding/themes/kickstarter.html.php b/lib/crowdfunding/themes/kickstarter.html.php new file mode 100755 index 0000000..2ab9e45 --- /dev/null +++ b/lib/crowdfunding/themes/kickstarter.html.php @@ -0,0 +1,124 @@ +
    + +
    + + + getPercentage(); ?> + + +
    + +
    + + +
    + +
    +

    + + getAmountCollected()); ?> + + + printUnit(); ?> + + + getTarget(), $myCrowdfunding->printUnit()); + ?> + +

    +
    + +
    +

    + + getDonorsNb(); ?> + + + + + +

    +
    + + getDaysLeft()) !== NULL) { + ?> +
    +

    + + + + + + + + + + + + + + + + + +

    +
    + + +
    + +getMustDisplayButton()) { + ?> +

    + + + getTitle()); ?> + +

    + + + + + + diff --git a/lib/crowdfunding/themes/paidge.conf.php b/lib/crowdfunding/themes/paidge.conf.php new file mode 100755 index 0000000..dbc918c --- /dev/null +++ b/lib/crowdfunding/themes/paidge.conf.php @@ -0,0 +1,92 @@ + '#ffffff', + 'border_color' => '#343a40', + 'font_color' => '#212529', + 'progress_color' => '#ffc107' +]; + + +function computeStyle ($paramName, $value) { + + switch ($paramName) { + + case 'font_color': return ' + + body { + + color: '. $value .'; + } + '; + + case 'background_color': return ' + + body { + + background-color: '. $value .'; + } + '; + + case 'border_color': return ' + + .progress-container { + + border-color: '. $value .'; + } + '; + + case 'progress_color' : return ' + + .progress-bar { + + background-color: '. $value .'; + } + '; + } +} + + + +function getComputedStyles () { + + $CSS = ''; + + global $defaultColors; + + + foreach ($defaultColors as $paramName => $defaultColor) { + + if (!isset($_GET[$paramName])) { + + $c = new Color($defaultColor); + + } else { + + try { + + $c = new Color($_GET[$paramName]); + + } catch (Exception $e) { + + $myCrowdfunding->decease(sprintf($e->getMessage(), $paramName)); + } + + } + + $CSS .= computeStyle($paramName, '#' . $c->getHex()); + } + /* + if (!$myCrowdfunding->hasTarget()) { + + $out = []; + $out[] = _('Il manque le montant à atteindre. Vérifiez votre syntaxe.'); + $out[] = _('Vérifiez votre syntaxe.'); + $myCrowdfunding->decease($out); + }*/ + + return $CSS; +} + + diff --git a/lib/crowdfunding/themes/paidge.css b/lib/crowdfunding/themes/paidge.css new file mode 100755 index 0000000..fc1f6f4 --- /dev/null +++ b/lib/crowdfunding/themes/paidge.css @@ -0,0 +1,224 @@ +/* ================ General ================ */ + +@font-face { + + font-family:"Font Awesome 5 Free"; + font-style:normal; + font-weight:400; + font-display:auto; + src:url(../lib/webfonts/fontawesome/400/fa-regular-400.eot); + src:url(../lib/webfonts/fontawesome/400/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../lib/webfonts/fontawesome/400/fa-regular-400.woff2) format("woff2"),url(../lib/webfonts/fontawesome/400/fa-regular-400.woff) format("woff"),url(../lib/webfonts/fontawesome/400/fa-regular-400.ttf) format("truetype"),url(../lib/webfonts/fontawesome/400/fa-regular-400.svg#fontawesome) format("svg") +} + + @font-face { + + font-family:"Font Awesome 5 Free"; + font-style:normal; + font-weight:900; + font-display:auto; + src:url(../lib/webfonts/fontawesome/900/fa-solid-900.eot); + src:url(../lib/webfonts/fontawesome/900/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../lib/webfonts/fontawesome/900/fa-solid-900.woff2) format("woff2"),url(../lib/webfonts/fontawesome/900/fa-solid-900.woff) format("woff"),url(../lib/webfonts/fontawesome/900/fa-solid-900.ttf) format("truetype"),url(../lib/webfonts/fontawesome/900/fa-solid-900.svg#fontawesome) format("svg") +} + +body { + + margin: 0 auto; + padding: 0; + text-align: center; + color: hsl(210, 10.8%, 14.5%); + background-color: white; + line-height: 1.5; + font-weight:400; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; +} + +@media (min-width: 576px) { body { max-width: 540px; } } +@media (min-width: 768px) { body { max-width: 720px; } } +@media (min-width: 992px) { body { max-width: 960px; } } +@media (min-width: 1200px) { body { max-width: 1140px; } } + +.sr-only{ + + border: 0; + clip: rect(0,0,0,0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + white-space: nowrap; +} + +/* ================ Header ================ */ + +h1 { + + margin-top: 0; + font-size: 2.5rem; +} + +.pubkey { + + font-weight: 500; +} + +/* ================ Progress bar ================ */ + +.progress-container { + + background-color: hsl(210, 15.8%, 92.5%); + border: 1px solid hsl(210, 10.3%, 32.7%); + height: 2rem; + border-radius: 0; + + display: -ms-flexbox; + display: flex; + overflow: hidden; + font-size: .75rem; +} +@keyframes progress-bar-stripes { + + from { background-position: 1rem 0; } + to { background-position: 0 0; } +} + + .progress-bar { + + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: hsl(45, 100.0%, 51.4%); + transition: width .6s ease; + + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +/* ================ Stats ================ */ + +section.stats { + + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: space-around; + + margin-top: 2rem; + margin-bottom: 2rem; + font-size: 2rem; +} + +section.stats .label { + + display: block; + font-size: 1rem; + font-weight: 500; +} + +.reached > :first-child:before, +.donorsNb > :first-child:before, +.amountCollected > :first-child:before, +.daysLeft > :first-child:before { + + font-family: "Font Awesome 5 Free"; + display: block; + margin-bottom: 1rem; +} + + +.reached > :first-child:before { + + content: "\f200"; /* Chart pie */ + font-weight:900; +} + +.donorsNb > :first-child:before { + + content: "\f007"; /* user */ +} + +.amountCollected > :first-child:before { + + content: "\f3d1"; /* fa-money-bill-alt */ +} + +.daysLeft > :first-child:before { + + content: "\f073"; /* fa-calendar-alt */ +} + +/* ================ Button ================ */ + +.CTA-button { + + margin-bottom: 0; +} + +.CTA-button a { + + display: block; + width: calc(100% - 1.5rem - 2px); + text-decoration: none; + margin-bottom: 0; +} + +.CTA-button a:before { + + font-family: "Font Awesome 5 Free"; + font-weight: bold; + content: "\f1d8"; /* fa-paper-place */ + margin-right: 0.5rem; +} + +.btn { + + transition: + color .15s ease-in-out, + background-color .15s ease-in-out, + border-color .15s ease-in-out, + box-shadow .15s ease-in-out; + padding: .375rem .75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: .25rem; + border: 1px solid transparent; + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; +} + +.btn-success{ + + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn:hover { + + color: #212529; + text-decoration: none; +} + +.btn-success:hover { + + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + + diff --git a/lib/crowdfunding/themes/paidge.html.php b/lib/crowdfunding/themes/paidge.html.php new file mode 100755 index 0000000..bb66067 --- /dev/null +++ b/lib/crowdfunding/themes/paidge.html.php @@ -0,0 +1,256 @@ +
    + getMustHideTitle()) { + + echo ' + +

    + ' . $myCrowdfunding->getTitle() . ' +

    '; + } + ?> + + getMustDisplayPubkey()) { + + echo ' + +

    + ' . sprintf(_('Clef publique du compte : %s'), $myCrowdfunding->getPubkey()) . ' +

    '; + + } + + if ($qrCodePath = $myCrowdfunding->getQRCodePath()) { + + echo '

    '. _('QRcode du portefeuille') .'

    '; + + } ?> +
    + +
    + +
    + +
    + + + getPercentage(); ?>% + + +
    + +
    + + +
    + +
    +

    + + getPercentage();?> +  % + + + + +

    +
    + +
    +

    + + getDonorsNb(); ?> + + + + + +

    +
    + +
    +

    + + getAmountCollected()); ?> + + + printUnit(); ?> + + + hasTarget()) { + + echo sprintf(_('sur un total de %s %s'), $myCrowdfunding->getTarget(), $myCrowdfunding->printUnit()); + } + ?> + +

    +
    + + hasStartedYet()) { + + ?> +
    +

    + + ? + + + + getStartDate()->getTimestamp() + ) + ); + ?> + +

    +
    + isEvergreen() != 'forever') { + + $daysLeft = $myCrowdfunding->getDaysLeft(); + + ?> +
    +

    + isOver()) { + + $daysPassed = abs($daysLeft) + 1; + + ?> + + + + + + + + + + + + + + + + +

    +
    + + +
    + +getMustDisplayButton()) { + ?> +

    + + + + +

    + + +
    + + +getTargetLinePoints(), _('Objectif')); + $targetGraph->setStyle('type', 'line'); + $targetGraph->setStyle('borderColor', '#FF3E3D'); + $targetGraph->setStyle('borderDash', [5, 5]); + $targetGraph->setStyle('radius', 0); + $targetGraph->setStyle('fill', false); + $chart->addGraph($targetGraph); + + $amountDailyGraph = new Graph($chart->getAmountCollectedByDayPoints(), _('Contributions du jour')); + $amountDailyGraph->setStyle('type', 'bar'); + $amountDailyGraph->setStyle('borderColor', 'rgba(0,200,100,0.7)'); + $amountDailyGraph->setStyle('backgroundColor', 'rgba(96,200,120,0.7)'); + $amountDailyGraph->setStyle('borderWidth', 2); + $chart->addGraph($amountDailyGraph); + + $amountCumulativeGraph = new Graph($chart->getAmountCollectedByDayCumulativePoints(), _('Montant total récolté')); + $amountCumulativeGraph->setStyle('type', 'line'); + $amountCumulativeGraph->setStyle('borderColor', '#0099FF'); + $amountCumulativeGraph->setStyle('backgroundColor', '#80CCFF'); + $amountCumulativeGraph->setStyle('lineTension', 0); + $amountCumulativeGraph->setStyle('pointRadius', 1); + $amountCumulativeGraph->setStyle('borderWidth', 2); + $amountCumulativeGraph->setStyle('steppedLine', true); + $chart->addGraph($amountCumulativeGraph); + + + echo $chart->getScripts($lang, '#main'); +} +?> + + + + + diff --git a/lib/crowdfunding/themes/paidge.image.php b/lib/crowdfunding/themes/paidge.image.php new file mode 100755 index 0000000..96f6b39 --- /dev/null +++ b/lib/crowdfunding/themes/paidge.image.php @@ -0,0 +1,410 @@ +hasLogo()) { + + $logoRessource = imageCreateFromPNG($myCrowdfunding->getLogoPath()); + + $logoSize = imagesX($logoRessource); + + $imgWidth += $logoSize + $gutter; + + $content_x += $logoSize + $gutter; +} + +if ($myCrowdfunding->getMustDisplayQrCode()) { + + $qrCodeRessource = imageCreateFromPNG($myCrowdfunding->getQrCodePath()); + + $qrCodeSize = imagesX($qrCodeRessource); + + $qrCodePosX = $imgWidth; + $qrCodePosY = 42; + + $imgWidth += $qrCodeSize + $gutter; +} + + + +/* ===== Create image ====================================== */ + +$imgRessource = imageCreateTrueColor($imgWidth, $imgHeight); +imageAlphaBlending($imgRessource, false); + + + +/* ===== Set colors ====================================== */ + +$transparent = imageColorAllocateAlpha($imgRessource, + 255, 255, 255, + 127); + +$colorsAllocs = []; +$colorsAllocs['progressbarContainerBg'] = imageColorAllocate($imgRessource, 233, 236, 239); // #e9ecef + +foreach ($defaultColors as $paramName => $defaultColor) { + + if (!isset($_GET[$paramName])) { + + $c = new Color($defaultColor); + + } else { + + try { + + $c = new Color($_GET[$paramName]); + + } catch (Exception $e) { + + $myCrowdfunding->decease(sprintf($e->getMessage(), $paramName)); + } + + } + + $colorsAllocs[$paramName] = $c->getColorAllocation($imgRessource); +} + + + + + +/* ===== Create background ====================================== */ + +imageFill( + $imgRessource, + 0, 0, + $colorsAllocs['background_color'] + ); + +imageFilledRectangle( + $imgRessource, + 0, 0, + $imgWidth, $imgHeight, + $transparent + ); + +imageAlphaBlending($imgRessource, true); + +imageSaveAlpha($imgRessource, true); + +imageFill( + $imgRessource, + 0, 0, + $colorsAllocs['background_color'] + ); + + + + + +/* ===== Create borders ====================================== */ + +ImageRectangle( + $imgRessource, + 0, 0, + ($imgWidth-1), ($imgHeight-1), + $colorsAllocs['border_color'] + ); + +ImageRectangle( + $imgRessource, + 2, 2, + ($imgWidth-3), ($imgHeight-3), + $colorsAllocs['border_color'] + ); + + + +/* ===== Create logo ====================================== */ + +if ($myCrowdfunding->hasLogo()) { + + imagecopy( + $imgRessource, + $logoRessource, + $gutter, $verticalSpacing, + 0, 0, 150, 150 + ); + + imagedestroy($logoRessource); +} + + + + + +/* ===== Create QR Code ====================================== */ + + +if ($myCrowdfunding->getMustDisplayQrCode()) { + + imagecopymerge( + $imgRessource, + $qrCodeRessource, + $qrCodePosX, + $qrCodePosY, + 0, 0, + $qrCodeSize, $qrCodeSize, + 100 + ); + + imagedestroy($qrCodeRessource); +} + + + +/* ===== Create title ====================================== */ + +if (!$myCrowdfunding->getMustHideTitle()) { + + $title_y = ($myCrowdfunding->getMustDisplayPubkey()) ? 23 : $content_y; + + $title = $myCrowdfunding->getTitle(); + + imagettftext( + $imgRessource, + $font_size, + 0, + ($imgWidth - computeTextWidth($font_size, $fonts['sans'], $title)) / 2, + $title_y, + $colorsAllocs['font_color'], + $fonts['sans'], + $title + ); +} + + +/* ==== Create pubkey ====================================== */ + +if ($myCrowdfunding->getMustDisplayPubkey()) { + + imagettftext( + $imgRessource, + $font_size - 5, + 0, + $content_x, + $content_y + 15, + $colorsAllocs['font_color'], + $fonts['sans'], + sprintf(_('Clef publique : %s'), $myCrowdfunding->getPubkey()) + ); +} + + + + +/* ===== Create progress bar ====================================== */ + +$progressbarWidth = $progressbarContainerWidth * min(100, $myCrowdfunding->getPercentage()) / 100; + +ImageFilledRectangle( + $imgRessource, + $content_x + 1, + $content_y + $verticalSpacing+1, + $content_x + $progressbarContainerWidth, + $content_y + $verticalSpacing + $progressbarContainerHeight, + $colorsAllocs['progressbarContainerBg'] + ); + +ImageFilledRectangle( + $imgRessource, + $content_x + 1, + $content_y + $verticalSpacing + 1 , + $content_x + $progressbarWidth, + $content_y + $verticalSpacing + $progressbarContainerHeight, + $colorsAllocs['progress_color'] + ); + +ImageRectangle( + $imgRessource, + $content_x, + $content_y + $verticalSpacing, + $content_x + $progressbarContainerWidth + 1, + $content_y + $verticalSpacing + $progressbarContainerHeight + 1, + $colorsAllocs['border_color']); + +imagettftext( + $imgRessource, + $font_size, + 0, + $content_x + $progressbarWidth/2, + $content_y + $verticalSpacing + $progressbarContainerHeight/2 + 9, + $colorsAllocs['font_color'], + $fonts['sans'], + $myCrowdfunding->getPercentage() . '%' + ); + + + +/* ===== Create stats ====================================== */ + +$iconFontSize = 20; +$statFontSize = 15; +$labelFontSize = 10; +$iconBottomMargin = 12; +$statBottomMargin = 3; + +$columns = []; + +$columns[0] = [ + + [ + 'text' => '""', + 'fontFile' => $fonts['faSolid'], + 'fontSize' => $iconFontSize, + 'bottomMargin' => $iconBottomMargin + + ], [ + + 'text' => $myCrowdfunding->getPercentage() . '%', + 'fontFile' => $fonts['sans'], + 'fontSize' => $statFontSize, + 'bottomMargin' => $statBottomMargin + + ], [ + + 'text' => utf8_decode(_('atteints')), + 'fontFile' => $fonts['sans'], + 'fontSize' => $labelFontSize, + 'bottomMargin' => 0 + ] +]; + +$columns[1] = [ + + [ + 'text' => '""', + 'fontFile' => $fonts['faRegular'], + 'fontSize' => $iconFontSize, + 'bottomMargin' => $iconBottomMargin + + ], [ + + 'text' => $myCrowdfunding->getDonorsNb(), + 'fontFile' => $fonts['sans'], + 'fontSize' => $statFontSize, + 'bottomMargin' => $statBottomMargin + + ], [ + + 'text' => utf8_decode(_('donateurs')), + 'fontFile' => $fonts['sans'], + 'fontSize' => $labelFontSize, + 'bottomMargin' => 0 + ] +]; + +$columns[2] = [ + + [ + 'text' => '""', + 'fontFile' => $fonts['faRegular'], + 'fontSize' => $iconFontSize, + 'bottomMargin' => $iconBottomMargin + + ], [ + + 'text' => round($myCrowdfunding->getAmountCollected()) . ' ' . $myCrowdfunding->printUnit(), + 'fontFile' => $fonts['sans'], + 'fontSize' => $statFontSize, + 'bottomMargin' => $statBottomMargin + + ], [ + + 'text' => sprintf(_('sur %s %s'), $myCrowdfunding->getTarget(), $myCrowdfunding->printUnit()), + 'fontFile' => $fonts['sans'], + 'fontSize' => $labelFontSize, + 'bottomMargin' => 0 + ] +]; + +if (($daysLeft = $myCrowdfunding->getDaysLeft()) > 0) { + + $columns[3] = [ + + [ + 'text' => '""', + 'fontFile' => $fonts['faRegular'], + 'fontSize' => $iconFontSize, + 'bottomMargin' => $iconBottomMargin + + ], [ + + 'text' => $daysLeft, + 'fontFile' => $fonts['sans'], + 'fontSize' => $statFontSize, + 'bottomMargin' => $statBottomMargin + + ], [ + + 'text' => _('jours restants'), + 'fontFile' => $fonts['sans'], + 'fontSize' => $labelFontSize, + 'bottomMargin' => 0 + ] + ]; + +} + +$columnWidth = $progressbarContainerWidth / count($columns); +$columnMid = $columnWidth / 2; +$icone_pos_y = $content_y + $verticalSpacing + $progressbarContainerHeight + $verticalSpacing + $iconFontSize; + +foreach ($columns as $colNum => $cells) { + + $x = $content_x + $colNum * $columnWidth + $columnMid; + $y = $icone_pos_y; + $angle = 0; + + foreach ($cells as $cell) { + + imageTTFtext( + $imgRessource, + $cell['fontSize'], + $angle, + $x - (computeTextWidth($cell['fontSize'], $cell['fontFile'], $cell['text']) / 2), + $y, + $colorsAllocs['font_color'], + $cell['fontFile'], + $cell['text'] + ); + + $y += $cell['fontSize'] + $cell['bottomMargin']; + } +} + +imagepng($imgRessource); +imagedestroy($imgRessource); + diff --git a/lib/crowdfunding/themes/paidge.svg.php b/lib/crowdfunding/themes/paidge.svg.php new file mode 100755 index 0000000..2b69ee5 --- /dev/null +++ b/lib/crowdfunding/themes/paidge.svg.php @@ -0,0 +1,414 @@ + $defaultColor) { + + if (!isset($_GET[$paramName])) { + + $c = new Color($defaultColor); + + } else { + + try { + + $c = new Color($_GET[$paramName]); + + } catch (Exception $e) { + + $myCrowdfunding->decease(sprintf($e->getMessage(), $paramName)); + } + + } + + $colorsHex[$paramName] = '#' . $c->getHex(); +} + + +/* ===== Set dimensions ================================================== */ + +$iconSize = 25; +$qrCodeSize = 111; +$qrCodeSpaceAround = 32; +$logoSize = 150; +$progressbarBorderSize = 1; +$svgBorderSize = 1; + + + +/* ===== Set dimensions : height and Y positionning ======================= */ + +$verticalSpacing = 20; +$progressbarHeight = 25; +$progressbarContainerHeight = $progressbarHeight + 2*$progressbarBorderSize; + +$originY = 4*$svgBorderSize + $verticalSpacing; + + $titlePosY = $originY; + + $pubkeyPosY = $titlePosY; + $pubkeyPosY += $myCrowdfunding->getMustHideTitle() ? 0 : (27 + $verticalSpacing); + +$progressbarContainerPosY = $pubkeyPosY; +$progressbarContainerPosY += $myCrowdfunding->getMustDisplayPubkey() ? (15 + $verticalSpacing) : 0; + + + $progressbarPosY = $progressbarContainerPosY + $progressbarBorderSize; + $statsPosY = $progressbarPosY + $progressbarHeight + $verticalSpacing; + + $statNumberPosY = 0 + $iconSize + $verticalSpacing; + $statLabelPosY = $statNumberPosY + 21; + +$qrCodePosY = $progressbarPosY + $progressbarBorderSize + $progressbarHeight/2- $qrCodeSpaceAround/2; + +$svgHeight = $statsPosY + $statLabelPosY + 21 + $verticalSpacing; + +$statsHeight = $svgHeight - $progressbarPosY - $progressbarHeight - $verticalSpacing; + + +if ($myCrowdfunding->getMustDisplayPubkey()){ + + $svgHeight += 10 + $verticalSpacing; +} + +if (($daysLeft = $myCrowdfunding->getDaysLeft()) AND isset($daysLeft) AND ($daysLeft > 0)) { + + $colNb = 4; + +} else { + + $colNb = 3; +} + + + +/* ===== Set dimensions : width and X positionning ======================= */ + +$guttersWidth = 40; +$originX = $guttersWidth; +$progressbarContainerWidth = 500; + +$svgWidth = $progressbarContainerWidth + (2 * $guttersWidth); + +$colWidth = $progressbarContainerWidth / $colNb; +$iconX = $colWidth/2 - $iconSize/2; + +$progressbarWidth = $progressbarContainerWidth * min(1, $myCrowdfunding->getPercentage()/100) - 2*$progressbarBorderSize; + +if ($myCrowdfunding->getMustDisplayQRCode()) { + + $svgWidth += $qrCodeSize + $guttersWidth; + $qrCodePosX = $originX + $logoSize + $guttersWidth + $progressbarContainerWidth + $guttersWidth; +} + +if ($myCrowdfunding->hasLogo()) { + + $svgWidth += $logoSize + $guttersWidth; + + $originX += $logoSize + $guttersWidth; +} + + + +/* ===== SVG ====================================================== */ + +echo ''; // We must display this that way because + + + + + + + hasLogo()) { + + ?> + + + + + + + + + getMustHideTitle()) { + ?> + + + + getTitle(); ?> + + + + + + getMustDisplayPubkey()) { + + ?> + + + Pubkey : getPubkey(); ?> + + + + + + + + + + + + + + getPercentage() > 7) { + + ?> + + + + getPercentage() . '%'; ?> + + + + + + + + + + + + + + + + + + + + + + getPercentage() . '%'; ?> + + + + + + + + + + + + + + + + + + + + + + + getDonorsNb(); ?> + + + + + + + + + + + + + + + + + + + + + + + getAmountCollected()) . ' ' . $myCrowdfunding->printUnit(); + + ?> + + + + + + getTarget(), $myCrowdfunding->printUnit()); + ?> + + + + + + + + + + + + + + + + + + getDaysLeft(); ?> + + + + + + + + + + + + + + + + getMustDisplayQRCode()) { + + ?> + + + + + + \ No newline at end of file diff --git a/lib/crowdfunding/themes/quotes.css b/lib/crowdfunding/themes/quotes.css new file mode 100644 index 0000000..7741817 --- /dev/null +++ b/lib/crowdfunding/themes/quotes.css @@ -0,0 +1,36 @@ +body, p { + + margin: 0; + padding: 0; + /*overflow: hidden;*/ +} + +blockquote { + + background: hsl(50, 91%, 85%); + padding: 1em; + margin: 2em auto; + max-width: 500px; +} + +cite { + + text-align: right; + display: block; + margin-top: 0.666em; +} + +cite:before { + + content: "― "; +} + +body > :first-child { + + margin-top: 0; +} + +body > :last-child { + + margin-bottom: 0; +} diff --git a/lib/crowdfunding/themes/quotes.html.php b/lib/crowdfunding/themes/quotes.html.php new file mode 100755 index 0000000..861c20e --- /dev/null +++ b/lib/crowdfunding/themes/quotes.html.php @@ -0,0 +1,57 @@ +getUdAmount($myCrowdfunding->getStartDate()))); + +if (isset($_GET['min_comment_length'])) { + + $myCrowdfunding->setFilterMinCommentLength($_GET['min_comment_length']); + +} else { + + $myCrowdfunding->setFilterMinCommentLength(DEFAULT_FILTER_MIN_COMMENT_LENGTH); +} + +if (isset($_GET['min_donation_amount'])) { + + $myCrowdfunding->setFilterMinDonation($_GET['min_donation_amount']); + +} else { + + $myCrowdfunding->setFilterMinDonation(DEFAULT_FILTER_MIN_DONATION); +} + + + + + +$donationsList = array_reverse($myCrowdfunding->getDonationsList()); + + +if (empty($donationsList)) { + + echo '

    ' . _('Pas encore de citation.') . '

    '; + +} else { + + + foreach ($donationsList as $t) { + + echo ' + +
    '; + + echo $t->getComment(); + + echo ' + + '. $myCrowdfunding->getDonorCesiumPlusProfile($t->getDonorPubkey())->getName() .' + + + +
    '; + } + +} + + diff --git a/lib/crowdfunding/themes/tipeee.css b/lib/crowdfunding/themes/tipeee.css new file mode 100755 index 0000000..67bf1b2 --- /dev/null +++ b/lib/crowdfunding/themes/tipeee.css @@ -0,0 +1,216 @@ +@import url('https://fonts.googleapis.com/css?family=Bitter&display=swap'); + +@font-face { + + font-family:"Font Awesome 5 Free"; + font-style:normal; + font-weight:400; + font-display:auto; + src:url(../lib/webfonts/fontawesome/400/fa-regular-400.eot); + src:url(../lib/webfonts/fontawesome/400/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../lib/webfonts/fontawesome/400/fa-regular-400.woff2) format("woff2"),url(../lib/webfonts/fontawesome/400/fa-regular-400.woff) format("woff"),url(../lib/webfonts/fontawesome/400/fa-regular-400.ttf) format("truetype"),url(../lib/webfonts/fontawesome/400/fa-regular-400.svg#fontawesome) format("svg") +} + + @font-face { + + font-family:"Font Awesome 5 Free"; + font-style:normal; + font-weight:900; + font-display:auto; + src:url(../lib/webfonts/fontawesome/900/fa-solid-900.eot); + src:url(../lib/webfonts/fontawesome/900/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../lib/webfonts/fontawesome/900/fa-solid-900.woff2) format("woff2"),url(../lib/webfonts/fontawesome/900/fa-solid-900.woff) format("woff"),url(../lib/webfonts/fontawesome/900/fa-solid-900.ttf) format("truetype"),url(../lib/webfonts/fontawesome/900/fa-solid-900.svg#fontawesome) format("svg") +} + +/* ================ General ================ */ + +body { + + + margin: 0; + padding: 0; + overflow: hidden; + + color: hsl(0, 0.0%, 13.3%); + background: transparent; + + line-height: 1.5; + + font-weight: 400; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; + + display:flex; + flex-direction:column; + align-items:center; +} + +p { + + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +/* ================ Stats ================ */ + + +.count, +.unit, +.CTA-button * { + + font-family: 'Bitter', sans; + font-weight: bold; + font-size: 2rem; +} + +.label { + + display: block; + font-size: 1rem; + font-weight: 400; +} + +/* ================ Button ================ */ + + +#copyButton +{ + margin-bottom: 0.5rem; +} + +.CTA-button button, +.CTA-button a, +.CTA-button a:visited { + + cursor: pointer; + background-color: hsl(355, 65%, 55%); + color: white; + text-decoration: none; + + display: inline-block; + border-radius: .25rem; + border: 1px solid transparent; + padding: .375rem .75rem; + width: auto; + font-size: 1.5rem; + line-height: 1.5; + + text-align: center; + vertical-align: middle; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + transition: + color .15s ease-in-out, + background-color .15s ease-in-out, + border-color .15s ease-in-out, + box-shadow .15s ease-in-out; + + margin-bottom: 0; + +} + +.CTA-button button:hover, +.CTA-button a:hover { + + background-color: hsl(355, 70%, 60%); + +} + +.CTA-button button:before, +.CTA-button a:before { + + font-family: "Font Awesome 5 Free"; + font-weight: bold; + margin-right: 0.5rem; +} + +.CTA-button button#supportButton:before { + + content: "\f004"; /* fa-heart */ + +} +.CTA-button button#copyButton:before { + + content: "\f328"; /* fa-clipboard */ +} + +.CTA-button a.api:before { + + content: "\f1d8"; /* fa-paper-place */ +} + +#supportButtonContainer, +.stat +{ + height: 100%; + overflow: hidden; + transition-property: opacity, height; + transition-delay: 0s, 0.50s; + transition-duration: 0.49s, 0s; +} + +#pubkey-and-copy-button +{ + opacity: 0; + height: 0; + transition-property: opacity, height; + transition-delay: 0.51s, 0.51s; + transition-duration: 0.50s, 0s; +} + +#pubkey +{ + border: transparent; + background: transparent; + font-family: inherit; + font-size: inherit; +} + +#pubkey:focus +{ + outline: 0; +} + +#pubkey::selection +{ + background: transparent; + border: 0; +} + + +.countup > * +{ + margin-bottom: 1rem; +} + + +.countup +{ + margin-bottom: 1.5rem; +} + +#successMsg +{ + opacity: 0; + /*height: 0;*/ + line-height: 1.5em; + transition-property: opacity, height; + transition-duration: 1.5s, 0.5s; +} + + +/* ================ iframe autoHeight handling ================ */ + +body > :first-child { + + margin-top: 0; +} + +body > :last-child { + + margin-bottom: 0; +} + + + diff --git a/lib/crowdfunding/themes/tipeee.html.php b/lib/crowdfunding/themes/tipeee.html.php new file mode 100755 index 0000000..059e8c4 --- /dev/null +++ b/lib/crowdfunding/themes/tipeee.html.php @@ -0,0 +1,145 @@ +
    + +
    +

    + getMonthlyAmountCollectedMean($myCrowdfunding->getMonthsToConsider())); + + ?>printUnit(); + + ?> + + + getMonthsToConsider()); + ?> + +

    +
    + +
    +

    + + getPeriodDonorsMean($myCrowdfunding->getMonthsToConsider()); ?> + + + + getMonthsToConsider()); + ?> + +

    +
    + +
    +

    + + getPeriodDonorsNb($myCrowdfunding->getMonthsToConsider()); + ?> + + + + getMonthsToConsider()); + ?> + +

    +
    +
    + +getMustDisplayButton()) { + + if ($myCrowdfunding->getButtonType() == 'api') { + + ?> +

    + + + getTitle()); ?> + +

    + + getButtonType() == 'copy') { + + } else { + + ?> +

    + +

    + +
    +

    + Pour faire un don copiez la clef suivante : + + ... +

    + +

    + +

    + +

    + Clef copiée dans le presse-papier ! Collez-la maintenant dans Cesium afin de faire votre don 😉
    +

    +
    + + + + + + + diff --git a/lib/crowdfunding/themes/tipeeers.css b/lib/crowdfunding/themes/tipeeers.css new file mode 100755 index 0000000..aa19ed4 --- /dev/null +++ b/lib/crowdfunding/themes/tipeeers.css @@ -0,0 +1,175 @@ +.donorsList { + list-style: none; + font-family: sans-serif; + margin: 0; + padding: 0; + /* + display: flex; + flex-wrap: wrap; + */ + justify-content: center; + display: grid; + grid-row-gap: 1rem; +} + +@media screen and (min-width: 448px) { + .donorsList { + grid-template-columns: repeat(2, 200px); + grid-column-gap: 20px; + } + + .donorsList > li:nth-of-type(2n+1) { + grid-column: 1; + } + + .donorsList > li:nth-of-type(2n+2) { + grid-column: 2; + } +} + +@media screen and (min-width: 672px) { + .donorsList { + grid-template-columns: repeat(3, 204px); + grid-column-gap: 20px; + } + + .donorsList > li:nth-of-type(3n+1) { + grid-column: 1; + } + + .donorsList > li:nth-of-type(3n+2) { + grid-column: 2; + } + + .donorsList > li:nth-of-type(3n+3) { + grid-column: 3; + } +} + +@media screen and (min-width: 896px) { + .donorsList { + grid-template-columns: repeat(4, 204px); + grid-column-gap: 20px; + } + + .donorsList > li:nth-of-type(4n+1) { + grid-column: 1; + } + + .donorsList > li:nth-of-type(4n+2) { + grid-column: 2; + } + + .donorsList > li:nth-of-type(4n+3) { + grid-column: 3; + } + + .donorsList > li:nth-of-type(4n+4) { + grid-column: 4; + } +} + +@media screen and (min-width: 1120px) { + .donorsList { + grid-template-columns: repeat(5, 204px); + grid-column-gap: 20px; + } + + .donorsList > li:nth-of-type(5n+1) { + grid-column: 1; + } + + .donorsList > li:nth-of-type(5n+2) { + grid-column: 2; + } + + .donorsList > li:nth-of-type(5n+3) { + grid-column: 3; + } + + .donorsList > li:nth-of-type(5n+4) { + grid-column: 4; + } + + .donorsList > li:nth-of-type(5n+5) { + grid-column: 5; + } +} + +@media screen and (min-width: 1344px) { + .donorsList { + grid-template-columns: repeat(6, 204px); + grid-column-gap: 20px; + } + + .donorsList > li:nth-of-type(6n+1) { + grid-column: 1; + } + + .donorsList > li:nth-of-type(6n+2) { + grid-column: 2; + } + + .donorsList > li:nth-of-type(6n+3) { + grid-column: 3; + } + + .donorsList > li:nth-of-type(6n+4) { + grid-column: 4; + } + + .donorsList > li:nth-of-type(6n+5) { + grid-column: 5; + } + + .donorsList > li:nth-of-type(6n) { + grid-column: 6; + } +} + +.donorsList li { + /* + flex-basis: var(--base-width); + flex-grow: 0; + + display: flex; + align-items: center; + */ + background-color: white; + overflow: hidden; + border: 2px solid hsl(0, 0%, 90%); + box-shadow: -1px 1px 10px hsla(0, 0%, 0%, 0.2); + margin: 0; + text-align: center; + border-radius: 1em; +} + +.donorsList li a { + width: 100%; + color: hsl(0, 0%, 10%); + text-decoration: none; + font-size: 0.9em; +} + +.donorsList li a img { + background-color: #1a237e; + width: 100%; +} + +.donorsList li a img, +.donorsList li a .name { + width: 100%; +} + +.donorsList li a .name { + display: block; + padding: 1rem 0; + font-weight: bold; + text-align: center; +} + +.donorsList li a .name span { + display: inline-block; + padding: 0 1em; + text-align: left; +} diff --git a/lib/crowdfunding/themes/tipeeers.html.php b/lib/crowdfunding/themes/tipeeers.html.php new file mode 100755 index 0000000..9c9bcd3 --- /dev/null +++ b/lib/crowdfunding/themes/tipeeers.html.php @@ -0,0 +1,48 @@ +getDonors(); + +if (empty($donors)) { + + echo _('Pas encore de donateurs'); + +} else { + + echo ''; +} +