summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjelemux <jeremias.weber@protonmail.com>2020-10-21 22:01:59 +0200
committerjelemux <jeremias.weber@protonmail.com>2020-10-21 22:01:59 +0200
commit10eb0e8cff7f0bc6b61a77a179fec55ee1dfe929 (patch)
tree7c3c3b4ed11e723fb5c55091af7d33440783f52b
parentf267433455dbc69e771b06dd7c433c90ad978d33 (diff)
downloadwasm-card-10eb0e8cff7f0bc6b61a77a179fec55ee1dfe929.tar.gz
wasm-card-10eb0e8cff7f0bc6b61a77a179fec55ee1dfe929.tar.bz2
basic prototype with vcard and pdf generation
-rw-r--r--Cargo.toml19
-rw-r--r--demo.pdf2948
-rw-r--r--excluded/validation.rs37
-rw-r--r--src/view.rs110
-rw-r--r--static/index.html6
5 files changed, 119 insertions, 3001 deletions
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<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding/WinAnsiEncoding>>endobj
-2 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding/WinAnsiEncoding>>endobj
-3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Oblique/Encoding/WinAnsiEncoding>>endobj
-4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-BoldOblique/Encoding/WinAnsiEncoding>>endobj
-5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding/WinAnsiEncoding>>endobj
-6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-Bold/Encoding/WinAnsiEncoding>>endobj
-7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-Oblique/Encoding/WinAnsiEncoding>>endobj
-8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-BoldOblique/Encoding/WinAnsiEncoding>>endobj
-9 0 obj<</Type/Pages/Count 3/Kids[19 0 R 22 0 R 25 0 R]>>endobj
-10 0 obj<</Trapped/False/CreationDate(D:20201018111052+00'00')/ModDate(D:20201018111052+00'00')/GTS_PDFXVersion()/Title(genpdf Demo Document)>>endobj
-11 0 obj<</Type/OCG/CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>endobj
-12 0 obj[/View/Design]endobj
-13 0 obj<</Type/OCG/Name(Layer 1)/Intent 12 0 R/Usage 11 0 R>>endobj
-14 0 obj<</Type/OCG/Name(Layer 1)/Intent 12 0 R/Usage 11 0 R>>endobj
-15 0 obj<</Type/OCG/Name(Layer 1)/Intent 12 0 R/Usage 11 0 R>>endobj
-16 0 obj<</Courier 5 0 R/Helvetica-BoldOblique 4 0 R/Helvetica-Bold 2 0 R/Courier-Oblique 7 0 R/Helvetica-Oblique 3 0 R/Courier-Bold 6 0 R/Courier-BoldOblique 8 0 R/Helvetica 1 0 R>>endobj
-17 0 obj<</Properties<</MC0 13 0 R>>/Font 16 0 R>>endobj
-18 0 obj<</Length 14074>>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<</Type/Page/Rotate 0/MediaBox[0 0 595.28 841.89]/TrimBox[0 0 595.28 841.89]/CropBox[0 0 595.28 841.89]/Parent 9 0 R/Resources 17 0 R/Contents 18 0 R>>endobj
-20 0 obj<</Properties<</MC0 14 0 R>>/Font 16 0 R>>endobj
-21 0 obj<</Length 21787>>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<</Type/Page/Rotate 0/MediaBox[0 0 595.28 841.89]/TrimBox[0 0 595.28 841.89]/CropBox[0 0 595.28 841.89]/Parent 9 0 R/Resources 20 0 R/Contents 21 0 R>>endobj
-23 0 obj<</Properties<</MC0 15 0 R>>/Font 16 0 R>>endobj
-24 0 obj<</Length 6987>>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<</Type/Page/Rotate 0/MediaBox[0 0 595.28 841.89]/TrimBox[0 0 595.28 841.89]/CropBox[0 0 595.28 841.89]/Parent 9 0 R/Resources 23 0 R/Contents 24 0 R>>endobj
-26 0 obj<</Type/Catalog/PageLayout/OneColumn/PageMode/Use0/Pages 9 0 R/OCProperties<</OCGs[13 0 R 14 0 R 15 0 R]/D<</Order[13 0 R 14 0 R 15 0 R]/RBGroups[]/ON[13 0 R 14 0 R 15 0 R]>>>>>>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
-<</Root 26 0 R/Info 10 0 R/ID[(HEIGIDGCBAAHFGBHAEFHCBHGAJHCJDHF)(HAGDGDAHDEGHBCFAHHDBHFHBEGCFIFGC)]/Size 27>>
-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<String>,
-}
-
-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<Self>,
+ error: Option<String>,
+ formatted_name: String,
+ generated_vcard: Option<String>,
+}
+
+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 {
- Self { }
+ fn create(_props: Self::Properties, link: ComponentLink<Self>) -> 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!{
+ <div id="form" >
+ { self.render_error() }
+ <label for="formatted_name">{ "Formatted Name" }</label>
+ <input type="text" id="formatted_name" onchange=formatted_name_input/>
+ <input id="prefix"/>
+ <input id="first_name"/>
+ <input id="middle_name"/>
+ <input id="last_name"/>
+ <input id="suffix"/>
+ <button id="generate-vcard" class="button primary small" onclick=self.link.callback(|_| Msg::GenerateVCard)>{ "Generate VCard" }</button>
+
+ { self.render_pdf() } { self.render_vcard() }
+ </div>
+ }
+ }
+}
+
+impl Form {
+ fn generate_vcard(&self) -> Result<VCard, VCardError> {
+ 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!{
+ <div class="alert danger">
+ <p>{ self.error.as_ref().unwrap() }</p>
+ </div>
+ }
+ } 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!{
- <a href=href download="demo.pdf" >
+ <a href=href download="demo.pdf" class="button success small" >
{ "Download PDF" }
</a>
}
}
+ 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!{
+ <a href=href download=format!("{}.vcs",self.formatted_name) class="button success small">
+ { "Download vCard" }
+ </a>
+ }
+ } else {
+ html!{}
+ }
+ }
}
+
#[wasm_bindgen(start)]
pub fn run_app() {
+ init();
App::<Form>::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 @@
<html lang="en">
<head>
<meta charset="utf-8">
+ <style type="text/css">@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700);a{font-size:.95em;text-decoration:none;color:#5f90b0}a:hover{color:#406882}*{margin:0;padding:0;font-family:"Source Sans Pro",sans-serif}.container{width:1000px;margin:0 auto}.pull-left{float:left}.pull-right{float:right}.row{min-height:2em;line-height:2em;width:100%}.span{float:left;display:inline;min-height:1em;margin:0 2% 20px 2%}.span:first-child{margin-left:0}.span:last-child{margin-right:0}.one{width:8%}.two{width:16%}.three{width:24%}.four{width:32%}.five{width:40%}.six{width:48%}.seven{width:56%}.eight{width:64%}.nine{width:72%}.ten{width:80%}.eleven{width:88%}.twelve{width:100%}.container:after{content:"\0020";display:block;height:0;clear:both;visibility:hidden}.row:before,.row:after{content:'\0020';display:block;overflow:hidden;visibility:hidden;width:0;height:0}.row:after{clear:both}.row{zoom:1}h1,h2,h3,h4,h5,h6{font-weight:500}h1{font-size:3.5em}h2{font-size:2.5em}h3{font-size:2em}h4{font-size:1.5em}h5{font-size:1em}h6{font-size:.8em}.table{width:100%;border-spacing:0;border-collapse:collapse;text-align:left}.table th,.table td{border-bottom:2px #d1d1d1 solid;padding:8px 12px}.table td{border-bottom:1px #d4d4d4 solid}.table.table-striped tbody tr:nth-child(2n+1){background-color:#f3f3f3}.table.table-bordered{border:1px #CCC solid}.table.table-bordered td,.table.table-bordered th{border:1px #CCC solid}.button{border:0;border-radius:4px;outline:0;cursor:pointer;}.button.small{padding:7px 20px;font-size:.95em}.button.large{padding:15px 45px;font-size:1.1em}.button.primary{color:#FFF;background:#5f90b0}.button.primary:hover{background:#5589ab}.button.success{color:#FFF;background:#4daf7c}.button.success:hover{background:#48a474}.button.danger{color:#FFF;background:#e6623c}.button.danger:hover{background:#e4572e}.navbar{background:#FFF;padding:10px;margin-bottom:10px;border-bottom:1px #DDD solid;height:30px}.navbar h4{color:#191919;font-weight:200}.navbar li{display:inline-block;padding:.3em 15px 0 0}.navbar li:last-child{padding-right:0}.navbar.fixed{position:fixed;left:0;right:0;top:0}.alert{padding:15px;margin:10px 0;border-radius:3px}.alert.primary{background:#e8eff3;border:1px #c5d7e3 solid}.alert.success{background:#daeee4;border:1px #b6dfca solid}.alert.danger{background:#fdf4f1;border:1px #f7cfc4 solid}@media only screen and (min-width: 768px) and (max-width: 999px){.container{width:768px}}@media only screen and (max-width: 767px){.container{width:300px}.container .table{width:100%;display:block;overflow:auto}}@media only screen and (min-width: 480px) and (max-width: 767px){.container{width:420px}.container .table{display:table}}</style>
<title>BCard Wasm Web App</title>
<script type="module">
- import init from "../pkg/bcard_wasm_webapp.js"
- init()
+ Error.stackTraceLimit = Infinity;
+ import init from "../pkg/bcard_wasm_webapp.js";
+ init();
</script>
</head>
<body>