From 10eb0e8cff7f0bc6b61a77a179fec55ee1dfe929 Mon Sep 17 00:00:00 2001 From: jelemux Date: Wed, 21 Oct 2020 22:01:59 +0200 Subject: basic prototype with vcard and pdf generation --- Cargo.toml | 19 +- demo.pdf | 2948 ------------------------------------------------ excluded/validation.rs | 37 - src/view.rs | 110 +- static/index.html | 6 +- 5 files changed, 119 insertions(+), 3001 deletions(-) delete mode 100644 demo.pdf delete mode 100644 excluded/validation.rs diff --git a/Cargo.toml b/Cargo.toml index e22fc82..bda1251 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,11 +10,16 @@ edition = "2018" crate-type = ["cdylib", "rlib"] [dependencies] -yew = "0.17.4" # react-like frontend framework -wasm-bindgen = "0.2.68" # enables interaction with js -chrono = "0.4.19" # date & time -genpdf = { path = "../genpdf-rs" } # pdf generation -js-sys = "0.3.45" # raw bindings to js global apis +yew = "0.17.4" +wasm-bindgen = "0.2.68" +genpdf = { path = "../genpdf-rs" } +js-sys = "0.3.45" printpdf = "0.3.3" -web-sys = "0.3.45" -base64 = "0.13.0" \ No newline at end of file +base64 = "0.13.0" +vcard = "0.4.7" +console_error_panic_hook = "0.1.6" + +[dependencies.chrono] +version = "0.4.19" +default-features = false +features = ["wasmbind", "js-sys"] \ No newline at end of file diff --git a/demo.pdf b/demo.pdf deleted file mode 100644 index 1b6a4ad..0000000 --- a/demo.pdf +++ /dev/null @@ -1,2948 +0,0 @@ -%PDF-1.3 -1 0 obj<>endobj -2 0 obj<>endobj -3 0 obj<>endobj -4 0 obj<>endobj -5 0 obj<>endobj -6 0 obj<>endobj -7 0 obj<>endobj -8 0 obj<>endobj -9 0 obj<>endobj -10 0 obj<>endobj -11 0 obj<>>>endobj -12 0 obj[/View/Design]endobj -13 0 obj<>endobj -14 0 obj<>endobj -15 0 obj<>endobj -16 0 obj<>endobj -17 0 obj<>/Font 16 0 R>>endobj -18 0 obj<>stream -/OC /MC0 BDC -q -BT -10 TL -182.08 791.20 Td -/Helvetica-Bold 20 Tf -<67656E70646620> Tj -/Helvetica-Bold 20 Tf -<44656D6F20> Tj -/Helvetica-Bold 20 Tf -<446F63756D656E74> Tj -ET -BT -6 TL -28.35 745.52 Td -/Helvetica 12 Tf -<5468697320> Tj -/Helvetica 12 Tf -<646F63756D656E7420> Tj -/Helvetica 12 Tf -<64656D6F6E7374726174657320> Tj -/Helvetica 12 Tf -<686F7720> Tj -/Helvetica 12 Tf -<74686520> Tj -/Helvetica 12 Tf -<67656E70646620> Tj -/Helvetica 12 Tf -<637261746520> Tj -/Helvetica 12 Tf -<67656E65726174657320> Tj -/Helvetica 12 Tf -<50444620> Tj -/Helvetica 12 Tf -<646F63756D656E74732E20> Tj -/Helvetica 12 Tf -<43757272656E746C792C20> Tj -/Helvetica 12 Tf -<67656E70646620> Tj -ET -BT -6 TL -28.35 728.27 Td -/Helvetica 12 Tf -<737570706F72747320> Tj -/Helvetica 12 Tf -<746865736520> Tj -/Helvetica 12 Tf -<656C656D656E74733A> Tj -ET -BT -6 TL -56.69 711.02 Td -/Courier-Bold 12 Tf -<54657874> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<73696E676C6520> Tj -/Helvetica 12 Tf -<6C696E6520> Tj -/Helvetica 12 Tf -<6F6620> Tj -/Helvetica 12 Tf -<666F726D617474656420> Tj -/Helvetica 12 Tf -<7465787420> Tj -/Helvetica 12 Tf -<776974686F757420> Tj -/Helvetica 12 Tf -<7772617070696E672E> Tj -ET -BT -6 TL -44.35 711.02 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 693.77 Td -/Courier-Bold 12 Tf -<506172616772617068> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<6F6E6520> Tj -/Helvetica 12 Tf -<6F7220> Tj -/Helvetica 12 Tf -<6D6F726520> Tj -/Helvetica 12 Tf -<6C696E657320> Tj -/Helvetica 12 Tf -<6F6620> Tj -/Helvetica 12 Tf -<666F726D617474656420> Tj -/Helvetica 12 Tf -<7465787420> Tj -/Helvetica 12 Tf -<7769746820> Tj -/Helvetica 12 Tf -<7772617070696E6720> Tj -/Helvetica 12 Tf -<616E6420> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<616C69676E6D656E7420> Tj -/Helvetica 12 Tf -<286C6566742C20> Tj -/Helvetica 12 Tf -<63656E7465722C20> Tj -ET -BT -6 TL -56.69 676.52 Td -/Helvetica 12 Tf -<7269676874292E> Tj -ET -BT -6 TL -44.35 693.77 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 659.27 Td -/Courier-Bold 12 Tf -<4672616D6564456C656D656E74> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<6672616D6520> Tj -/Helvetica 12 Tf -<647261776E20> Tj -/Helvetica 12 Tf -<61726F756E6420> Tj -/Helvetica 12 Tf -<6F7468657220> Tj -/Helvetica 12 Tf -<656C656D656E74732E> Tj -ET -BT -6 TL -44.35 659.27 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 642.03 Td -/Courier-Bold 12 Tf -<506164646564456C656D656E74> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<656C656D656E7420> Tj -/Helvetica 12 Tf -<7769746820> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<6164646974696F6E616C20> Tj -/Helvetica 12 Tf -<70616464696E672E> Tj -ET -BT -6 TL -44.35 642.03 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 624.78 Td -/Courier-Bold 12 Tf -<5374796C6564456C656D656E74> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<656C656D656E7420> Tj -/Helvetica 12 Tf -<7769746820> Tj -/Helvetica 12 Tf -<6E657720> Tj -/Helvetica 12 Tf -<64656661756C7420> Tj -/Helvetica 12 Tf -<7374796C652E> Tj -ET -BT -6 TL -44.35 624.78 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 607.53 Td -/Courier-Bold 12 Tf -<556E6F7264657265644C697374> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<756E6F72646572656420> Tj -/Helvetica 12 Tf -<6C69737420> Tj -/Helvetica 12 Tf -<6F6620> Tj -/Helvetica 12 Tf -<62756C6C657420> Tj -/Helvetica 12 Tf -<706F696E74732E> Tj -ET -BT -6 TL -44.35 607.53 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 590.28 Td -/Courier-Bold 12 Tf -<4F7264657265644C697374> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<6F72646572656420> Tj -/Helvetica 12 Tf -<6C69737420> Tj -/Helvetica 12 Tf -<6F6620> Tj -/Helvetica 12 Tf -<62756C6C657420> Tj -/Helvetica 12 Tf -<706F696E74732E> Tj -ET -BT -6 TL -85.04 573.03 Td -/Helvetica 12 Tf -<4A75737420> Tj -/Helvetica 12 Tf -<6C696B6520> Tj -/Helvetica 12 Tf -<746869732E> Tj -ET -BT -6 TL -69.36 573.03 Td -/Helvetica 12 Tf -<312E> Tj -ET -BT -6 TL -85.04 555.78 Td -/Helvetica 12 Tf -<416E6420> Tj -/Helvetica 12 Tf -<746869732E> Tj -ET -BT -6 TL -69.36 555.78 Td -/Helvetica 12 Tf -<322E> Tj -ET -BT -6 TL -44.35 590.28 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 538.53 Td -/Courier-Bold 12 Tf -<42756C6C6574506F696E74> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<656C656D656E7420> Tj -/Helvetica 12 Tf -<7769746820> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<62756C6C657420> Tj -/Helvetica 12 Tf -<706F696E742C20> Tj -/Helvetica 12 Tf -<6A75737420> Tj -/Helvetica 12 Tf -<6C696B6520> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<7468697320> Tj -/Helvetica 12 Tf -<6C6973742E> Tj -ET -BT -6 TL -85.04 521.29 Td -/Helvetica 12 Tf -<4F6620> Tj -/Helvetica 12 Tf -<636F757273652C20> Tj -/Helvetica 12 Tf -<6C6973747320> Tj -/Helvetica 12 Tf -<63616E20> Tj -/Helvetica 12 Tf -<616C736F20> Tj -/Helvetica 12 Tf -<626520> Tj -/Helvetica 12 Tf -<6E65737465642E> Tj -ET -BT -6 TL -72.70 521.29 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -85.04 504.04 Td -/Helvetica 12 Tf -<416E6420> Tj -/Helvetica 12 Tf -<796F7520> Tj -/Helvetica 12 Tf -<63616E20> Tj -/Helvetica 12 Tf -<6368616E676520> Tj -/Helvetica 12 Tf -<74686520> Tj -/Helvetica 12 Tf -<62756C6C657420> Tj -/Helvetica 12 Tf -<73796D626F6C2E> Tj -ET -BT -6 TL -75.17 504.04 Td -/Helvetica 12 Tf -<7F> Tj -ET -BT -6 TL -44.35 538.53 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 486.79 Td -/Courier-Bold 12 Tf -<4C696E6561724C61796F7574> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<636F6E7461696E657220> Tj -/Helvetica 12 Tf -<7468617420> Tj -/Helvetica 12 Tf -<766572746963616C6C7920> Tj -/Helvetica 12 Tf -<737461636B7320> Tj -/Helvetica 12 Tf -<69747320> Tj -/Helvetica 12 Tf -<656C656D656E74732E20> Tj -/Helvetica 12 Tf -<54686520> Tj -/Helvetica 12 Tf -<726F6F7420> Tj -/Helvetica 12 Tf -<656C656D656E7420> Tj -/Helvetica 12 Tf -<6F6620> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<646F63752D> Tj -ET -BT -6 TL -56.69 469.54 Td -/Helvetica 12 Tf -<6D656E7420> Tj -/Helvetica 12 Tf -<697320> Tj -/Helvetica 12 Tf -<616C7761797320> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<4C696E6561724C61796F75742E> Tj -ET -BT -6 TL -44.35 486.79 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 452.29 Td -/Courier-Bold 12 Tf -<5461626C654C61796F7574> Tj -/Helvetica 12 Tf -<2C20> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<636F6E7461696E657220> Tj -/Helvetica 12 Tf -<7468617420> Tj -/Helvetica 12 Tf -<617272616E67657320> Tj -/Helvetica 12 Tf -<69747320> Tj -/Helvetica 12 Tf -<656C656D656E747320> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726F777320> Tj -/Helvetica 12 Tf -<616E6420> Tj -/Helvetica 12 Tf -<636F6C756D6E732E> Tj -ET -BT -6 TL -44.35 452.29 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -56.69 435.04 Td -/Helvetica 12 Tf -<416E6420> Tj -/Helvetica 12 Tf -<736F6D6520> Tj -/Helvetica 12 Tf -<6D6F726520> Tj -/Helvetica 12 Tf -<7574696C69747920> Tj -/Helvetica 12 Tf -<656C656D656E747320> Tj -/Helvetica 12 Tf -<85> Tj -ET -BT -6 TL -44.35 435.04 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -28.35 391.92 Td -/Helvetica 12 Tf -<596F7520> Tj -/Helvetica 12 Tf -<616C726561647920> Tj -/Helvetica 12 Tf -<73617720> Tj -/Helvetica 12 Tf -<6C6973747320> Tj -/Helvetica 12 Tf -<616E6420> Tj -/Helvetica 12 Tf -<666F726D617474656420> Tj -/Helvetica 12 Tf -<63656E746572656420> Tj -/Helvetica 12 Tf -<746578742E20> Tj -/Helvetica 12 Tf -<4865726520> Tj -/Helvetica 12 Tf -<61726520> Tj -/Helvetica 12 Tf -<736F6D6520> Tj -/Helvetica 12 Tf -<6F7468657220> Tj -/Helvetica 12 Tf -<6578616D706C65733A> Tj -ET -BT -6 TL -436.87 374.67 Td -/Helvetica 12 Tf -<5468697320> Tj -/Helvetica 12 Tf -<697320> Tj -/Helvetica 12 Tf -<72696768742D616C69676E656420> Tj -/Helvetica 12 Tf -<746578742E> Tj -ET -BT -6 TL -31.18 357.42 Td -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<416E6420> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<7468697320> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<70617261677261706820> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<68617320> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<6120> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<6672616D6520> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<647261776E20> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<61726F756E6420> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<697420> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<616E6420> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<697320> Tj -1.00 0.00 0.00 rg -/Helvetica 12 Tf -<636F6C6F7265642E> Tj -0.00 0.00 0.00 rg -ET -1.00 0.00 0.00 RG -28.35 370.83 m -28.35 353.58 l -S -0.00 0.00 0.00 RG -1.00 0.00 0.00 RG -566.93 370.83 m -566.93 353.58 l -S -0.00 0.00 0.00 RG -1.00 0.00 0.00 RG -28.35 370.83 m -566.93 370.83 l -S -0.00 0.00 0.00 RG -1.00 0.00 0.00 RG -28.35 353.58 m -566.93 353.58 l -S -0.00 0.00 0.00 RG -BT -5 TL -28.35 339.99 Td -/Courier 12 Tf -<596F7520> Tj -/Courier 12 Tf -<63616E20> Tj -/Courier 12 Tf -<616C736F20> Tj -/Courier 12 Tf -<75736520> Tj -/Courier 12 Tf -<6F7468657220> Tj -/Courier 12 Tf -<666F6E747320> Tj -/Courier 12 Tf -<696620> Tj -/Courier 12 Tf -<796F7520> Tj -/Courier 12 Tf -<77616E7420> Tj -/Courier 12 Tf -<746F2E> Tj -ET -BT -8 TL -28.35 318.71 Td -/Helvetica 16 Tf -<596F7520> Tj -/Helvetica 16 Tf -<63616E20> Tj -/Helvetica 16 Tf -<616C736F20> Tj -1.00 0.00 0.00 rg -/Helvetica 16 Tf -<636F6D62696E6520> Tj -0.00 0.00 1.00 rg -/Helvetica-Oblique 16 Tf -<6D756C7469706C6520> Tj -0.00 0.00 0.00 rg -/Courier-Bold 16 Tf -<666F726D617473> Tj -/Helvetica 16 Tf -<20> Tj -/Helvetica 16 Tf -<696E20> Tj -/Helvetica 16 Tf -<6F6E6520> Tj -/Helvetica 16 Tf -<7061726167726170682E> Tj -ET -BT -6 TL -28.35 274.31 Td -/Helvetica 12 Tf -<4865726520> Tj -/Helvetica 12 Tf -<697320> Tj -/Helvetica 12 Tf -<616E20> Tj -/Helvetica 12 Tf -<6578616D706C6520> Tj -/Helvetica 12 Tf -<7461626C653A> Tj -ET -BT -6 TL -31.18 254.23 Td -/Helvetica-Bold 12 Tf -<48656164657220> Tj -/Helvetica-Bold 12 Tf -<31> Tj -ET -BT -6 TL -210.71 254.23 Td -/Helvetica 12 Tf -<56616C756520> Tj -/Helvetica 12 Tf -<32> Tj -ET -207.87 270.47 m -207.87 247.55 l -S -28.35 247.55 m -207.87 247.55 l -S -207.87 270.47 m -207.87 247.55 l -S -207.87 247.55 m -566.93 247.55 l -S -BT -6 TL -31.18 231.31 Td -/Helvetica-Bold 12 Tf -<48656164657220> Tj -/Helvetica-Bold 12 Tf -<32> Tj -ET -BT -6 TL -210.71 231.31 Td -/Helvetica 12 Tf -<4120> Tj -/Helvetica 12 Tf -<6C6F6E6720> Tj -/Helvetica 12 Tf -<70617261677261706820> Tj -/Helvetica 12 Tf -<746F20> Tj -/Helvetica 12 Tf -<64656D6F6E73747261746520> Tj -/Helvetica 12 Tf -<686F7720> Tj -/Helvetica 12 Tf -<7772617070696E6720> Tj -/Helvetica 12 Tf -<776F726B7320> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<7461626C65732E20> Tj -/Helvetica 12 Tf -<20> Tj -ET -BT -6 TL -210.71 214.06 Td -/Helvetica 12 Tf -<4E6963652C20> Tj -/Helvetica 12 Tf -<72696768743F> Tj -ET -207.87 247.55 m -207.87 207.39 l -S -28.35 247.55 m -207.87 247.55 l -S -28.35 207.39 m -207.87 207.39 l -S -207.87 247.55 m -207.87 207.39 l -S -207.87 247.55 m -566.93 247.55 l -S -207.87 207.39 m -566.93 207.39 l -S -BT -6 TL -31.18 191.15 Td -/Helvetica-Bold 12 Tf -<48656164657220> Tj -/Helvetica-Bold 12 Tf -<33> Tj -ET -BT -6 TL -210.71 191.15 Td -/Helvetica 12 Tf -<4F6620> Tj -/Helvetica 12 Tf -<636F757273652C20> Tj -/Helvetica 12 Tf -<796F7520> Tj -/Helvetica 12 Tf -<63616E20> Tj -/Helvetica 12 Tf -<75736520> Tj -/Helvetica 12 Tf -<616C6C20> Tj -/Helvetica 12 Tf -<6F7468657220> Tj -/Helvetica 12 Tf -<656C656D656E747320> Tj -/Helvetica 12 Tf -<696E7369646520> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<7461626C652E> Tj -ET -BT -6 TL -239.06 173.90 Td -/Helvetica 12 Tf -<4576656E20> Tj -/Helvetica 12 Tf -<6C6973747321> Tj -ET -BT -6 TL -226.71 173.90 Td -/Helvetica 12 Tf -<96> Tj -ET -BT -6 TL -241.89 156.65 Td -/Helvetica 12 Tf -<416E6420> Tj -/Helvetica 12 Tf -<6672616D657321> Tj -ET -239.06 170.05 m -239.06 152.81 l -S -564.09 170.05 m -564.09 152.81 l -S -239.06 170.05 m -564.09 170.05 l -S -239.06 152.81 m -564.09 152.81 l -S -BT -6 TL -226.71 156.65 Td -/Helvetica 12 Tf -<96> Tj -ET -207.87 207.39 m -207.87 149.97 l -S -28.35 207.39 m -207.87 207.39 l -S -207.87 207.39 m -207.87 149.97 l -S -207.87 207.39 m -566.93 207.39 l -S -BT -6 TL -28.35 110.69 Td -/Helvetica 12 Tf -<4E6F7720> Tj -/Helvetica 12 Tf -<6C6574927320> Tj -/Helvetica 12 Tf -<7072696E7420> Tj -/Helvetica 12 Tf -<6120> Tj -/Helvetica 12 Tf -<6C6F6E6720> Tj -/Helvetica 12 Tf -<7461626C6520> Tj -/Helvetica 12 Tf -<746F20> Tj -/Helvetica 12 Tf -<64656D6F6E73747261746520> Tj -/Helvetica 12 Tf -<686F7720> Tj -/Helvetica 12 Tf -<7061676520> Tj -/Helvetica 12 Tf -<7772617070696E6720> Tj -/Helvetica 12 Tf -<776F726B733A> Tj -ET -BT -6 TL -31.18 90.61 Td -/Helvetica-Bold 12 Tf -<496E646578> Tj -ET -BT -6 TL -120.94 90.61 Td -/Helvetica-Bold 12 Tf -<54657874> Tj -ET -28.35 106.85 m -28.35 83.93 l -S -118.11 106.85 m -118.11 83.93 l -S -28.35 106.85 m -118.11 106.85 l -S -28.35 83.93 m -118.11 83.93 l -S -118.11 106.85 m -118.11 83.93 l -S -566.93 106.85 m -566.93 83.93 l -S -118.11 106.85 m -566.93 106.85 l -S -118.11 83.93 m -566.93 83.93 l -S -BT -6 TL -31.18 67.69 Td -/Helvetica 12 Tf -<2330> Tj -ET -BT -6 TL -120.94 67.69 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 50.44 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 33.19 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -28.35 83.93 m -28.35 26.52 l -S -118.11 83.93 m -118.11 26.52 l -S -28.35 83.93 m -118.11 83.93 l -S -118.11 83.93 m -118.11 26.52 l -S -566.93 83.93 m -566.93 26.52 l -S -118.11 83.93 m -566.93 83.93 l -S -Q -EMC -endstream endobj -19 0 obj<>endobj -20 0 obj<>/Font 16 0 R>>endobj -21 0 obj<>stream -/OC /MC0 BDC -q -BT -6 TL -120.94 797.30 Td -/Helvetica 12 Tf -<746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 780.05 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 762.81 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 813.54 m -28.35 756.13 l -S -118.11 813.54 m -118.11 756.13 l -S -28.35 756.13 m -118.11 756.13 l -S -118.11 813.54 m -118.11 756.13 l -S -566.93 813.54 m -566.93 756.13 l -S -118.11 756.13 m -566.93 756.13 l -S -BT -6 TL -31.18 739.89 Td -/Helvetica 12 Tf -<2331> Tj -ET -BT -6 TL -120.94 739.89 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 722.64 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 705.39 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 688.14 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 670.89 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 653.64 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 756.13 m -28.35 646.97 l -S -118.11 756.13 m -118.11 646.97 l -S -28.35 756.13 m -118.11 756.13 l -S -28.35 646.97 m -118.11 646.97 l -S -118.11 756.13 m -118.11 646.97 l -S -566.93 756.13 m -566.93 646.97 l -S -118.11 756.13 m -566.93 756.13 l -S -118.11 646.97 m -566.93 646.97 l -S -BT -6 TL -31.18 630.73 Td -/Helvetica 12 Tf -<2332> Tj -ET -BT -6 TL -120.94 630.73 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 613.48 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 596.23 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 578.98 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 561.73 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 544.48 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 646.97 m -28.35 537.81 l -S -118.11 646.97 m -118.11 537.81 l -S -28.35 646.97 m -118.11 646.97 l -S -28.35 537.81 m -118.11 537.81 l -S -118.11 646.97 m -118.11 537.81 l -S -566.93 646.97 m -566.93 537.81 l -S -118.11 646.97 m -566.93 646.97 l -S -118.11 537.81 m -566.93 537.81 l -S -BT -6 TL -31.18 521.57 Td -/Helvetica 12 Tf -<2333> Tj -ET -BT -6 TL -120.94 521.57 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 504.32 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 487.07 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 469.82 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 452.57 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 435.32 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 537.81 m -28.35 428.65 l -S -118.11 537.81 m -118.11 428.65 l -S -28.35 537.81 m -118.11 537.81 l -S -28.35 428.65 m -118.11 428.65 l -S -118.11 537.81 m -118.11 428.65 l -S -566.93 537.81 m -566.93 428.65 l -S -118.11 537.81 m -566.93 537.81 l -S -118.11 428.65 m -566.93 428.65 l -S -BT -6 TL -31.18 412.41 Td -/Helvetica 12 Tf -<2334> Tj -ET -BT -6 TL -120.94 412.41 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 395.16 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 377.91 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 360.66 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 343.41 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 326.16 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 428.65 m -28.35 319.49 l -S -118.11 428.65 m -118.11 319.49 l -S -28.35 428.65 m -118.11 428.65 l -S -28.35 319.49 m -118.11 319.49 l -S -118.11 428.65 m -118.11 319.49 l -S -566.93 428.65 m -566.93 319.49 l -S -118.11 428.65 m -566.93 428.65 l -S -118.11 319.49 m -566.93 319.49 l -S -BT -6 TL -31.18 303.25 Td -/Helvetica 12 Tf -<2335> Tj -ET -BT -6 TL -120.94 303.25 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 286.00 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 268.75 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 251.50 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 234.25 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 217.00 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 319.49 m -28.35 210.33 l -S -118.11 319.49 m -118.11 210.33 l -S -28.35 319.49 m -118.11 319.49 l -S -28.35 210.33 m -118.11 210.33 l -S -118.11 319.49 m -118.11 210.33 l -S -566.93 319.49 m -566.93 210.33 l -S -118.11 319.49 m -566.93 319.49 l -S -118.11 210.33 m -566.93 210.33 l -S -BT -6 TL -31.18 194.08 Td -/Helvetica 12 Tf -<2336> Tj -ET -BT -6 TL -120.94 194.08 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 176.84 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 159.59 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 142.34 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 125.09 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 107.84 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 210.33 m -28.35 101.16 l -S -118.11 210.33 m -118.11 101.16 l -S -28.35 210.33 m -118.11 210.33 l -S -28.35 101.16 m -118.11 101.16 l -S -118.11 210.33 m -118.11 101.16 l -S -566.93 210.33 m -566.93 101.16 l -S -118.11 210.33 m -566.93 210.33 l -S -118.11 101.16 m -566.93 101.16 l -S -BT -6 TL -31.18 84.92 Td -/Helvetica 12 Tf -<2337> Tj -ET -BT -6 TL -120.94 84.92 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 67.68 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 50.43 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 33.18 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -28.35 101.16 m -28.35 26.50 l -S -118.11 101.16 m -118.11 26.50 l -S -28.35 101.16 m -118.11 101.16 l -S -118.11 101.16 m -118.11 26.50 l -S -566.93 101.16 m -566.93 26.50 l -S -118.11 101.16 m -566.93 101.16 l -S -Q -EMC -endstream endobj -22 0 obj<>endobj -23 0 obj<>/Font 16 0 R>>endobj -24 0 obj<>stream -/OC /MC0 BDC -q -BT -6 TL -120.94 797.30 Td -/Helvetica 12 Tf -<7269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -/Helvetica 12 Tf -<64652D> Tj -ET -BT -6 TL -120.94 780.05 Td -/Helvetica 12 Tf -<736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 813.54 m -28.35 773.38 l -S -118.11 813.54 m -118.11 773.38 l -S -28.35 773.38 m -118.11 773.38 l -S -118.11 813.54 m -118.11 773.38 l -S -566.93 813.54 m -566.93 773.38 l -S -118.11 773.38 m -566.93 773.38 l -S -BT -6 TL -31.18 757.14 Td -/Helvetica 12 Tf -<2338> Tj -ET -BT -6 TL -120.94 757.14 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 739.89 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 722.64 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 705.39 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 688.14 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 670.89 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 773.38 m -28.35 664.22 l -S -118.11 773.38 m -118.11 664.22 l -S -28.35 773.38 m -118.11 773.38 l -S -28.35 664.22 m -118.11 664.22 l -S -118.11 773.38 m -118.11 664.22 l -S -566.93 773.38 m -566.93 664.22 l -S -118.11 773.38 m -566.93 773.38 l -S -118.11 664.22 m -566.93 664.22 l -S -BT -6 TL -31.18 647.98 Td -/Helvetica 12 Tf -<2339> Tj -ET -BT -6 TL -120.94 647.98 Td -/Helvetica 12 Tf -<4C6F72656D20> Tj -/Helvetica 12 Tf -<697073756D20> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<73697420> Tj -/Helvetica 12 Tf -<616D65742C20> Tj -/Helvetica 12 Tf -<636F6E736563746574757220> Tj -/Helvetica 12 Tf -<61646970697363696E6720> Tj -/Helvetica 12 Tf -<656C69742C20> Tj -/Helvetica 12 Tf -<73656420> Tj -/Helvetica 12 Tf -<646F20> Tj -/Helvetica 12 Tf -<656975736D6F6420> Tj -/Helvetica 12 Tf -<74656D706F7220> Tj -/Helvetica 12 Tf -<696E2D> Tj -ET -BT -6 TL -120.94 630.73 Td -/Helvetica 12 Tf -<6369646964756E7420> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<6C61626F726520> Tj -/Helvetica 12 Tf -<657420> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<6D61676E6120> Tj -/Helvetica 12 Tf -<616C697175612E20> Tj -/Helvetica 12 Tf -<557420> Tj -/Helvetica 12 Tf -<656E696D20> Tj -/Helvetica 12 Tf -<616420> Tj -/Helvetica 12 Tf -<6D696E696D20> Tj -/Helvetica 12 Tf -<76656E69616D2C20> Tj -/Helvetica 12 Tf -<7175697320> Tj -/Helvetica 12 Tf -<6E6F732D> Tj -ET -BT -6 TL -120.94 613.48 Td -/Helvetica 12 Tf -<7472756420> Tj -/Helvetica 12 Tf -<657865726369746174696F6E20> Tj -/Helvetica 12 Tf -<756C6C616D636F20> Tj -/Helvetica 12 Tf -<6C61626F72697320> Tj -/Helvetica 12 Tf -<6E69736920> Tj -/Helvetica 12 Tf -<757420> Tj -/Helvetica 12 Tf -<616C697175697020> Tj -/Helvetica 12 Tf -<657820> Tj -/Helvetica 12 Tf -<656120> Tj -/Helvetica 12 Tf -<636F6D6D6F646F20> Tj -/Helvetica 12 Tf -<636F6E7365717561742E20> Tj -/Helvetica 12 Tf -<4475697320> Tj -ET -BT -6 TL -120.94 596.23 Td -/Helvetica 12 Tf -<6175746520> Tj -/Helvetica 12 Tf -<697275726520> Tj -/Helvetica 12 Tf -<646F6C6F7220> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<726570726568656E646572697420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<766F6C75707461746520> Tj -/Helvetica 12 Tf -<76656C697420> Tj -/Helvetica 12 Tf -<6573736520> Tj -/Helvetica 12 Tf -<63696C6C756D20> Tj -/Helvetica 12 Tf -<646F6C6F726520> Tj -/Helvetica 12 Tf -<657520> Tj -/Helvetica 12 Tf -<66756769617420> Tj -/Helvetica 12 Tf -<6E756C6C6120> Tj -ET -BT -6 TL -120.94 578.98 Td -/Helvetica 12 Tf -<70617269617475722E20> Tj -/Helvetica 12 Tf -<45786365707465757220> Tj -/Helvetica 12 Tf -<73696E7420> Tj -/Helvetica 12 Tf -<6F6363616563617420> Tj -/Helvetica 12 Tf -<63757069646174617420> Tj -/Helvetica 12 Tf -<6E6F6E20> Tj -/Helvetica 12 Tf -<70726F6964656E742C20> Tj -/Helvetica 12 Tf -<73756E7420> Tj -/Helvetica 12 Tf -<696E20> Tj -/Helvetica 12 Tf -<63756C706120> Tj -/Helvetica 12 Tf -<71756920> Tj -/Helvetica 12 Tf -<6F66666963696120> Tj -ET -BT -6 TL -120.94 561.73 Td -/Helvetica 12 Tf -<6465736572756E7420> Tj -/Helvetica 12 Tf -<6D6F6C6C697420> Tj -/Helvetica 12 Tf -<616E696D20> Tj -/Helvetica 12 Tf -<696420> Tj -/Helvetica 12 Tf -<65737420> Tj -/Helvetica 12 Tf -<6C61626F72756D2E> Tj -ET -28.35 664.22 m -28.35 555.06 l -S -118.11 664.22 m -118.11 555.06 l -S -28.35 664.22 m -118.11 664.22 l -S -28.35 555.06 m -118.11 555.06 l -S -118.11 664.22 m -118.11 555.06 l -S -566.93 664.22 m -566.93 555.06 l -S -118.11 664.22 m -566.93 664.22 l -S -118.11 555.06 m -566.93 555.06 l -S -Q -EMC -endstream endobj -25 0 obj<>endobj -26 0 obj<>>>>>endobj -xref -0 27 -0000000000 65535 f -0000000009 00000 n -0000000095 00000 n -0000000186 00000 n -0000000280 00000 n -0000000378 00000 n -0000000462 00000 n -0000000551 00000 n -0000000643 00000 n -0000000739 00000 n -0000000803 00000 n -0000000953 00000 n -0000001045 00000 n -0000001074 00000 n -0000001143 00000 n -0000001212 00000 n -0000001281 00000 n -0000001470 00000 n -0000001527 00000 n -0000015650 00000 n -0000015816 00000 n -0000015873 00000 n -0000037709 00000 n -0000037875 00000 n -0000037932 00000 n -0000044967 00000 n -0000045133 00000 n -trailer -<> -startxref -45326 -%%EOF \ No newline at end of file diff --git a/excluded/validation.rs b/excluded/validation.rs deleted file mode 100644 index 6258dcf..0000000 --- a/excluded/validation.rs +++ /dev/null @@ -1,37 +0,0 @@ - - -pub trait Validation { - fn validate(&self) -> Result<(), ValidationError>; -} - -#[derive(Debug)] -pub struct ValidationError { - pub messages: Vec, -} - -impl std::fmt::Display for ValidationError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - for msg in &self.messages { - write!(f, "{}\n", msg)?; - } - Ok(()) - } -} - -impl std::error::Error for ValidationError { } - -pub fn add_results(first: Result<(), ValidationError>, second: Result<(), ValidationError>) -> Result<(), ValidationError> { - if first.is_ok() && second.is_ok() { - Ok(()) - } else if first.is_ok() && second.is_err() { - second - } else if first.is_err() && second.is_ok() { - first - } else { - let mut first = first.err().unwrap(); - let mut second = second.err().unwrap(); - first.messages.append(&mut second.messages); - - Err( ValidationError{ messages: first.messages } ) - } -} \ No newline at end of file diff --git a/src/view.rs b/src/view.rs index 38cfa58..6953496 100644 --- a/src/view.rs +++ b/src/view.rs @@ -1,21 +1,49 @@ +extern crate console_error_panic_hook; use crate::pdfgen; use wasm_bindgen::prelude::*; use js_sys; use yew::prelude::*; +use vcard::{VCard, VCardError}; +use std::panic; -struct Form { +fn init() { + panic::set_hook(Box::new(console_error_panic_hook::hook)); +} + +pub struct Form { + link: ComponentLink, + error: Option, + formatted_name: String, + generated_vcard: Option, +} + +pub enum Msg { + UpdateFormattedName(String), + GenerateVCard, + Nope, } impl Component for Form { - type Message = (); + type Message = Msg; type Properties = (); - fn create(_props: Self::Properties, _link: ComponentLink) -> Self { - Self { } + fn create(_props: Self::Properties, link: ComponentLink) -> Self { + Self { link, error: None, formatted_name: String::new(), generated_vcard: None } } - fn update(&mut self, _msg: Self::Message) -> ShouldRender { - false + fn update(&mut self, msg: Self::Message) -> ShouldRender { + match msg { + Msg::UpdateFormattedName(value) => self.formatted_name = String::from(value), + Msg::GenerateVCard => { + match self.generate_vcard() { + Ok(vcard) => self.generated_vcard = Some(vcard.to_string()), + Err(VCardError::FormatError(err)) => self.error = Some(err.to_string()), + Err(VCardError::EmptyFormatName) => self.error = Some(String::from("A VCard should have at least one formatted name.")), + }; + } + Msg::Nope => (), + }; + true } fn change(&mut self, _props: Self::Properties) -> ShouldRender { @@ -23,19 +51,87 @@ impl Component for Form { } fn view(&self) -> Html { + + let raw = pdfgen::genpdf(); + let data = base64::encode(&raw); + let uri_component: String = js_sys::encode_uri_component(&data).into(); + let href = format!{"data:application/pdf;base64,{}", uri_component }; + + let formatted_name_input = self.link.callback(|e: ChangeData| + match e { + ChangeData::Value(v) => Msg::UpdateFormattedName(v), + _ => Msg::Nope, + } + ); + + html!{ +
+ { self.render_error() } + + + + + + + + + + { self.render_pdf() } { self.render_vcard() } +
+ } + } +} + +impl Form { + fn generate_vcard(&self) -> Result { + match VCard::from_formatted_name_str(&self.formatted_name) { + Ok(vcard) => Ok(vcard), + Err(err) => Err(err), + } + } + fn render_error(&self) -> Html { + if self.error.is_some() { + html!{ +
+

{ self.error.as_ref().unwrap() }

+
+ } + } else { + html!{} + } + } + fn render_pdf(&self) -> Html { let raw = pdfgen::genpdf(); let data = base64::encode(&raw); let uri_component: String = js_sys::encode_uri_component(&data).into(); let href = format!{"data:application/pdf;base64,{}", uri_component }; + html!{ - + { "Download PDF" } } } + fn render_vcard(&self) -> Html { + if self.generated_vcard.is_some() { + let data = base64::encode(self.generated_vcard.as_ref().unwrap()); + let uri_component: String = js_sys::encode_uri_component(&data).into(); + let href = format!("data:text/vcard;base64,{}", uri_component); + + html!{ + + { "Download vCard" } + + } + } else { + html!{} + } + } } + #[wasm_bindgen(start)] pub fn run_app() { + init(); App::
::new().mount_to_body(); } \ No newline at end of file diff --git a/static/index.html b/static/index.html index b0f1634..e9d3a0e 100644 --- a/static/index.html +++ b/static/index.html @@ -2,10 +2,12 @@ + BCard Wasm Web App -- cgit v1.2.3