br_danfe 0.0.9 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +26 -3
- data/br_danfe.gemspec +1 -0
- data/config/locales/pt-BR.yml +14 -0
- data/lib/br_danfe/cce.rb +28 -0
- data/lib/br_danfe/cce_lib/barcode.rb +24 -0
- data/lib/br_danfe/cce_lib/correction.rb +22 -0
- data/lib/br_danfe/cce_lib/document.rb +44 -0
- data/lib/br_danfe/cce_lib/footer.rb +15 -0
- data/lib/br_danfe/cce_lib/header.rb +15 -0
- data/lib/br_danfe/cce_lib/nfe_key.rb +23 -0
- data/lib/br_danfe/cce_lib/protocol.rb +23 -0
- data/lib/br_danfe/danfe.rb +16 -16
- data/lib/br_danfe/danfe_lib/cep.rb +9 -0
- data/lib/br_danfe/danfe_lib/consts.rb +6 -0
- data/lib/br_danfe/danfe_lib/cst.rb +30 -0
- data/lib/br_danfe/danfe_lib/dest.rb +86 -0
- data/lib/br_danfe/danfe_lib/det_body.rb +75 -0
- data/lib/br_danfe/danfe_lib/det_header.rb +40 -0
- data/lib/br_danfe/danfe_lib/document.rb +135 -0
- data/lib/br_danfe/danfe_lib/dup.rb +52 -0
- data/lib/br_danfe/danfe_lib/emit.rb +23 -0
- data/lib/br_danfe/danfe_lib/emit_header.rb +82 -0
- data/lib/br_danfe/danfe_lib/helper.rb +64 -0
- data/lib/br_danfe/danfe_lib/icmstot.rb +33 -0
- data/lib/br_danfe/danfe_lib/infadic.rb +80 -0
- data/lib/br_danfe/danfe_lib/issqn.rb +24 -0
- data/lib/br_danfe/danfe_lib/options.rb +24 -0
- data/lib/br_danfe/danfe_lib/phone.rb +13 -0
- data/lib/br_danfe/danfe_lib/plate.rb +9 -0
- data/lib/br_danfe/danfe_lib/ticket.rb +17 -0
- data/lib/br_danfe/danfe_lib/transp.rb +51 -0
- data/lib/br_danfe/danfe_lib/vol.rb +41 -0
- data/lib/br_danfe/danfe_lib/xml.rb +38 -0
- data/lib/br_danfe/danfe_lib/xprod.rb +48 -0
- data/lib/br_danfe/version.rb +1 -1
- data/lib/br_danfe.rb +1 -1
- data/spec/features/cce_spec.rb +28 -0
- data/spec/features/danfe_spec.rb +3 -3
- data/spec/fixtures/cce/lib/barcode#render.pdf +511 -0
- data/spec/fixtures/cce/lib/correction#render.pdf +100 -0
- data/spec/fixtures/cce/lib/document#box.pdf +55 -0
- data/spec/fixtures/cce/lib/document#box.with.block.pdf +72 -0
- data/spec/fixtures/cce/lib/document#text.align.pdf +70 -0
- data/spec/fixtures/cce/lib/document#text.pad.pdf +70 -0
- data/spec/fixtures/cce/lib/document#text.simple.pdf +70 -0
- data/spec/fixtures/cce/lib/document#text.size.pdf +70 -0
- data/spec/fixtures/cce/lib/document#text.style.pdf +70 -0
- data/spec/fixtures/cce/lib/footer#render.pdf +114 -0
- data/spec/fixtures/cce/lib/header#render.pdf +72 -0
- data/spec/fixtures/cce/lib/nfe_key#render.pdf +88 -0
- data/spec/fixtures/cce/lib/protocol#render.pdf +88 -0
- data/spec/fixtures/cce/v1.00/cce.fixture.pdf +659 -0
- data/spec/fixtures/cce/v1.00/cce.xml +1 -0
- data/spec/fixtures/{lib → nfe/lib}/dest#render-v2.00.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/dest#render-v3.10.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/dest#render-with_cnpj.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/dest#render-with_cpf.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/dest#render-with_ie.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/det_body#render-csosn.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/det_body#render-cst.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/det_body#render-fci.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/det_body#render-icms_st.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/det_header#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/document#lcnpj-blank.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/document#lcnpj-invalid.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/document#lcnpj-valid.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/document#lie-blank.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/document#lie-invalid.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/document#lie-valid.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/dup#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/emit#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/emit_header#render-with_logo.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/emit_header#render-without_logo.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/icmstot#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/infadic#render-extra_volume.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/infadic#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/issqn#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/ticket#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/transp#render-modfrete_0.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/transp#render-modfrete_1.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/transp#render-modfrete_2.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/transp#render-modfrete_9.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/transp#render.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/vol#render-blank-boxes.pdf +0 -0
- data/spec/fixtures/{lib → nfe/lib}/vol#render.pdf +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_simples_nacional.xml +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_simples_nacional.xml.fixture.pdf +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_extra_volumes.xml +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_extra_volumes.xml.fixture.pdf +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_fci.xml +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_fci.xml.fixture.pdf +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_logo.xml +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_ns.xml +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_with_ns.xml.fixture.pdf +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_without_ns.xml +0 -0
- data/spec/fixtures/{v2.00 → nfe/v2.00}/nfe_without_ns.xml.fixture.pdf +0 -0
- data/spec/fixtures/{v3.10 → nfe/v3.10}/nfe_simples_nacional.xml +0 -0
- data/spec/fixtures/{v3.10 → nfe/v3.10}/nfe_simples_nacional.xml.fixture.pdf +0 -0
- data/spec/lib/cce_lib/barcode_spec.rb +26 -0
- data/spec/lib/cce_lib/correction_spec.rb +26 -0
- data/spec/lib/cce_lib/document_spec.rb +115 -0
- data/spec/lib/cce_lib/footer_spec.rb +25 -0
- data/spec/lib/cce_lib/header_spec.rb +25 -0
- data/spec/lib/cce_lib/nfe_key_spec.rb +26 -0
- data/spec/lib/cce_lib/protocol_spec.rb +26 -0
- data/spec/lib/{cep_spec.rb → danfe_lib/cep_spec.rb} +2 -2
- data/spec/lib/{cst_spec.rb → danfe_lib/cst_spec.rb} +3 -3
- data/spec/lib/{dest_spec.rb → danfe_lib/dest_spec.rb} +4 -4
- data/spec/lib/{det_body_spec.rb → danfe_lib/det_body_spec.rb} +4 -4
- data/spec/lib/{det_header_spec.rb → danfe_lib/det_header_spec.rb} +4 -4
- data/spec/lib/{document_spec.rb → danfe_lib/document_spec.rb} +3 -3
- data/spec/lib/{dup_spec.rb → danfe_lib/dup_spec.rb} +4 -4
- data/spec/lib/{emit_header_spec.rb → danfe_lib/emit_header_spec.rb} +4 -4
- data/spec/lib/{emit_spec.rb → danfe_lib/emit_spec.rb} +4 -4
- data/spec/lib/{helper_spec.rb → danfe_lib/helper_spec.rb} +11 -11
- data/spec/lib/{icmstot_spec.rb → danfe_lib/icmstot_spec.rb} +4 -4
- data/spec/lib/{infadic_spec.rb → danfe_lib/infadic_spec.rb} +4 -4
- data/spec/lib/{issqn_spec.rb → danfe_lib/issqn_spec.rb} +4 -4
- data/spec/lib/{options_spec.rb → danfe_lib/options_spec.rb} +3 -3
- data/spec/lib/{phone_spec.rb → danfe_lib/phone_spec.rb} +3 -3
- data/spec/lib/{plate_spec.rb → danfe_lib/plate_spec.rb} +2 -2
- data/spec/lib/{ticket_spec.rb → danfe_lib/ticket_spec.rb} +4 -4
- data/spec/lib/{transp_spec.rb → danfe_lib/transp_spec.rb} +4 -4
- data/spec/lib/{vol_spec.rb → danfe_lib/vol_spec.rb} +4 -4
- data/spec/lib/{xml_spec.rb → danfe_lib/xml_spec.rb} +2 -2
- data/spec/lib/{xprod_spec.rb → danfe_lib/xprod_spec.rb} +5 -5
- metadata +242 -174
- data/lib/br_danfe/cep.rb +0 -7
- data/lib/br_danfe/consts.rb +0 -4
- data/lib/br_danfe/cst.rb +0 -28
- data/lib/br_danfe/dest.rb +0 -84
- data/lib/br_danfe/det_body.rb +0 -73
- data/lib/br_danfe/det_header.rb +0 -38
- data/lib/br_danfe/document.rb +0 -133
- data/lib/br_danfe/dup.rb +0 -50
- data/lib/br_danfe/emit.rb +0 -21
- data/lib/br_danfe/emit_header.rb +0 -80
- data/lib/br_danfe/helper.rb +0 -62
- data/lib/br_danfe/icmstot.rb +0 -31
- data/lib/br_danfe/infadic.rb +0 -78
- data/lib/br_danfe/issqn.rb +0 -22
- data/lib/br_danfe/options.rb +0 -22
- data/lib/br_danfe/phone.rb +0 -11
- data/lib/br_danfe/plate.rb +0 -7
- data/lib/br_danfe/ticket.rb +0 -15
- data/lib/br_danfe/transp.rb +0 -49
- data/lib/br_danfe/vol.rb +0 -39
- data/lib/br_danfe/xml.rb +0 -36
- data/lib/br_danfe/xprod.rb +0 -46
@@ -0,0 +1,38 @@
|
|
1
|
+
module BrDanfe
|
2
|
+
module DanfeLib
|
3
|
+
class XML
|
4
|
+
def css(xpath)
|
5
|
+
@xml.css(xpath)
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(xml)
|
9
|
+
@xml = Nokogiri::XML(xml)
|
10
|
+
end
|
11
|
+
|
12
|
+
def [](xpath)
|
13
|
+
node = @xml.css(xpath)
|
14
|
+
return node ? node.text : ""
|
15
|
+
end
|
16
|
+
|
17
|
+
def collect(ns, tag, &block)
|
18
|
+
result = []
|
19
|
+
# Tenta primeiro com uso de namespace
|
20
|
+
begin
|
21
|
+
@xml.xpath("//#{ns}:#{tag}").each do |det|
|
22
|
+
result << yield(det)
|
23
|
+
end
|
24
|
+
rescue
|
25
|
+
# Caso dê erro, tenta sem
|
26
|
+
@xml.xpath("//#{tag}").each do |det|
|
27
|
+
result << yield(det)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
result
|
31
|
+
end
|
32
|
+
|
33
|
+
def version_310?
|
34
|
+
@xml.css("infNFe").attr("versao").to_s == "3.10"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module BrDanfe
|
2
|
+
module DanfeLib
|
3
|
+
class Xprod
|
4
|
+
def initialize(det)
|
5
|
+
@det = det
|
6
|
+
end
|
7
|
+
|
8
|
+
def render
|
9
|
+
xprod = "#{@det.css('prod/xProd').text}"
|
10
|
+
|
11
|
+
xprod += infAdProd if has_infAdProd?
|
12
|
+
xprod += fci if has_fci?
|
13
|
+
xprod += st if has_st?
|
14
|
+
|
15
|
+
xprod
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def has_infAdProd?
|
20
|
+
!@det.css("infAdProd").text.empty?
|
21
|
+
end
|
22
|
+
|
23
|
+
def has_fci?
|
24
|
+
!@det.css("prod/nFCI").text.empty?
|
25
|
+
end
|
26
|
+
|
27
|
+
def has_st?
|
28
|
+
@det.css("ICMS/*/vBCST").text.to_i > 0
|
29
|
+
end
|
30
|
+
|
31
|
+
def infAdProd
|
32
|
+
"\n" + @det.css("infAdProd").text
|
33
|
+
end
|
34
|
+
|
35
|
+
def fci
|
36
|
+
"\n" + I18n.t("danfe.det.prod.xProdFCI", nFCI: @det.css('prod/nFCI').text)
|
37
|
+
end
|
38
|
+
|
39
|
+
def st
|
40
|
+
"\n" + I18n.t("danfe.det.prod.xProdST",
|
41
|
+
pMVAST: Helper.numerify(@det.css('ICMS/*/pMVAST').text, 2),
|
42
|
+
pICMSST: Helper.numerify(@det.css('ICMS/*/pICMSST').text, 2),
|
43
|
+
vBCST: Helper.numerify(@det.css('ICMS/*/vBCST').text, 2),
|
44
|
+
vICMSST: Helper.numerify(@det.css('ICMS/*/vICMSST').text, 2))
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/br_danfe/version.rb
CHANGED
data/lib/br_danfe.rb
CHANGED
@@ -9,7 +9,7 @@ require "yaml"
|
|
9
9
|
require "ostruct"
|
10
10
|
require "i18n"
|
11
11
|
require "br_documents"
|
12
|
-
require "br_danfe/consts"
|
12
|
+
require "br_danfe/danfe_lib/consts"
|
13
13
|
|
14
14
|
Dir[File.dirname(__FILE__) + "/**/*.rb"].each { |f| require f }
|
15
15
|
I18n.load_path << File.expand_path("../../config/locales/pt-BR.yml", __FILE__)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe BrDanfe::Cce do
|
4
|
+
let(:base_dir) { "./spec/fixtures/cce/v1.00/"}
|
5
|
+
let(:output_pdf) { "#{base_dir}output.pdf" }
|
6
|
+
let(:xml) { File.read("#{base_dir}cce.xml") }
|
7
|
+
subject { described_class.new(xml) }
|
8
|
+
|
9
|
+
describe "#render_pdf" do
|
10
|
+
it "renders the correction letter" do
|
11
|
+
expected = IO.binread("#{base_dir}cce.fixture.pdf")
|
12
|
+
|
13
|
+
expect(subject.render_pdf).to eq expected
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#save_pdf" do
|
18
|
+
before { File.delete(output_pdf) if File.exist?(output_pdf) }
|
19
|
+
|
20
|
+
it "saves the pdf" do
|
21
|
+
expect(File.exist?(output_pdf)).to be_falsey
|
22
|
+
|
23
|
+
subject.save_pdf output_pdf
|
24
|
+
|
25
|
+
expect("#{base_dir}cce.fixture.pdf").to have_same_content_of file: output_pdf
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/spec/features/danfe_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe BrDanfe::Danfe do
|
|
4
4
|
let(:output_pdf) { "#{base_dir}output.pdf" }
|
5
5
|
|
6
6
|
describe "#render_pdf" do
|
7
|
-
let(:base_dir) { "./spec/fixtures/v3.10/"}
|
7
|
+
let(:base_dir) { "./spec/fixtures/nfe/v3.10/"}
|
8
8
|
|
9
9
|
it "renders a Simples Nacional NF-e using CSOSN" do
|
10
10
|
danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
|
@@ -17,7 +17,7 @@ describe BrDanfe::Danfe do
|
|
17
17
|
|
18
18
|
describe "#save_pdf" do
|
19
19
|
context "when xml's version is v2.00" do
|
20
|
-
let(:base_dir) { "./spec/fixtures/v2.00/"}
|
20
|
+
let(:base_dir) { "./spec/fixtures/nfe/v2.00/"}
|
21
21
|
|
22
22
|
before { File.delete(output_pdf) if File.exist?(output_pdf) }
|
23
23
|
|
@@ -68,7 +68,7 @@ describe BrDanfe::Danfe do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
context "when xml's version is v3.10" do
|
71
|
-
let(:base_dir) { "./spec/fixtures/v3.10/"}
|
71
|
+
let(:base_dir) { "./spec/fixtures/nfe/v3.10/"}
|
72
72
|
|
73
73
|
before { File.delete(output_pdf) if File.exist?(output_pdf) }
|
74
74
|
|
@@ -0,0 +1,511 @@
|
|
1
|
+
%PDF-1.3
|
2
|
+
%����
|
3
|
+
1 0 obj
|
4
|
+
<< /Creator <feff0050007200610077006e>
|
5
|
+
/Producer <feff0050007200610077006e>
|
6
|
+
>>
|
7
|
+
endobj
|
8
|
+
2 0 obj
|
9
|
+
<< /Type /Catalog
|
10
|
+
/Pages 3 0 R
|
11
|
+
>>
|
12
|
+
endobj
|
13
|
+
3 0 obj
|
14
|
+
<< /Type /Pages
|
15
|
+
/Count 1
|
16
|
+
/Kids [5 0 R]
|
17
|
+
>>
|
18
|
+
endobj
|
19
|
+
4 0 obj
|
20
|
+
<< /Length 6957
|
21
|
+
>>
|
22
|
+
stream
|
23
|
+
q
|
24
|
+
0.3 w
|
25
|
+
40.000 766.890 m
|
26
|
+
40.000 806.890 l
|
27
|
+
42.000 806.890 l
|
28
|
+
42.000 766.890 l
|
29
|
+
40.000 766.890 l
|
30
|
+
f
|
31
|
+
43.000 766.890 m
|
32
|
+
43.000 806.890 l
|
33
|
+
44.000 806.890 l
|
34
|
+
44.000 766.890 l
|
35
|
+
43.000 766.890 l
|
36
|
+
f
|
37
|
+
46.000 766.890 m
|
38
|
+
46.000 806.890 l
|
39
|
+
49.000 806.890 l
|
40
|
+
49.000 766.890 l
|
41
|
+
46.000 766.890 l
|
42
|
+
f
|
43
|
+
51.000 766.890 m
|
44
|
+
51.000 806.890 l
|
45
|
+
52.000 806.890 l
|
46
|
+
52.000 766.890 l
|
47
|
+
51.000 766.890 l
|
48
|
+
f
|
49
|
+
53.000 766.890 m
|
50
|
+
53.000 806.890 l
|
51
|
+
55.000 806.890 l
|
52
|
+
55.000 766.890 l
|
53
|
+
53.000 766.890 l
|
54
|
+
f
|
55
|
+
56.000 766.890 m
|
56
|
+
56.000 806.890 l
|
57
|
+
59.000 806.890 l
|
58
|
+
59.000 766.890 l
|
59
|
+
56.000 766.890 l
|
60
|
+
f
|
61
|
+
62.000 766.890 m
|
62
|
+
62.000 806.890 l
|
63
|
+
63.000 806.890 l
|
64
|
+
63.000 766.890 l
|
65
|
+
62.000 766.890 l
|
66
|
+
f
|
67
|
+
64.000 766.890 m
|
68
|
+
64.000 806.890 l
|
69
|
+
67.000 806.890 l
|
70
|
+
67.000 766.890 l
|
71
|
+
64.000 766.890 l
|
72
|
+
f
|
73
|
+
69.000 766.890 m
|
74
|
+
69.000 806.890 l
|
75
|
+
71.000 806.890 l
|
76
|
+
71.000 766.890 l
|
77
|
+
69.000 766.890 l
|
78
|
+
f
|
79
|
+
73.000 766.890 m
|
80
|
+
73.000 806.890 l
|
81
|
+
74.000 806.890 l
|
82
|
+
74.000 766.890 l
|
83
|
+
73.000 766.890 l
|
84
|
+
f
|
85
|
+
76.000 766.890 m
|
86
|
+
76.000 806.890 l
|
87
|
+
77.000 806.890 l
|
88
|
+
77.000 766.890 l
|
89
|
+
76.000 766.890 l
|
90
|
+
f
|
91
|
+
79.000 766.890 m
|
92
|
+
79.000 806.890 l
|
93
|
+
81.000 806.890 l
|
94
|
+
81.000 766.890 l
|
95
|
+
79.000 766.890 l
|
96
|
+
f
|
97
|
+
84.000 766.890 m
|
98
|
+
84.000 806.890 l
|
99
|
+
85.000 806.890 l
|
100
|
+
85.000 766.890 l
|
101
|
+
84.000 766.890 l
|
102
|
+
f
|
103
|
+
87.000 766.890 m
|
104
|
+
87.000 806.890 l
|
105
|
+
88.000 806.890 l
|
106
|
+
88.000 766.890 l
|
107
|
+
87.000 766.890 l
|
108
|
+
f
|
109
|
+
90.000 766.890 m
|
110
|
+
90.000 806.890 l
|
111
|
+
92.000 806.890 l
|
112
|
+
92.000 766.890 l
|
113
|
+
90.000 766.890 l
|
114
|
+
f
|
115
|
+
95.000 766.890 m
|
116
|
+
95.000 806.890 l
|
117
|
+
99.000 806.890 l
|
118
|
+
99.000 766.890 l
|
119
|
+
95.000 766.890 l
|
120
|
+
f
|
121
|
+
101.000 766.890 m
|
122
|
+
101.000 806.890 l
|
123
|
+
102.000 806.890 l
|
124
|
+
102.000 766.890 l
|
125
|
+
101.000 766.890 l
|
126
|
+
f
|
127
|
+
104.000 766.890 m
|
128
|
+
104.000 806.890 l
|
129
|
+
105.000 806.890 l
|
130
|
+
105.000 766.890 l
|
131
|
+
104.000 766.890 l
|
132
|
+
f
|
133
|
+
106.000 766.890 m
|
134
|
+
106.000 806.890 l
|
135
|
+
107.000 806.890 l
|
136
|
+
107.000 766.890 l
|
137
|
+
106.000 766.890 l
|
138
|
+
f
|
139
|
+
108.000 766.890 m
|
140
|
+
108.000 806.890 l
|
141
|
+
109.000 806.890 l
|
142
|
+
109.000 766.890 l
|
143
|
+
108.000 766.890 l
|
144
|
+
f
|
145
|
+
112.000 766.890 m
|
146
|
+
112.000 806.890 l
|
147
|
+
114.000 806.890 l
|
148
|
+
114.000 766.890 l
|
149
|
+
112.000 766.890 l
|
150
|
+
f
|
151
|
+
117.000 766.890 m
|
152
|
+
117.000 806.890 l
|
153
|
+
118.000 806.890 l
|
154
|
+
118.000 766.890 l
|
155
|
+
117.000 766.890 l
|
156
|
+
f
|
157
|
+
119.000 766.890 m
|
158
|
+
119.000 806.890 l
|
159
|
+
121.000 806.890 l
|
160
|
+
121.000 766.890 l
|
161
|
+
119.000 766.890 l
|
162
|
+
f
|
163
|
+
123.000 766.890 m
|
164
|
+
123.000 806.890 l
|
165
|
+
124.000 806.890 l
|
166
|
+
124.000 766.890 l
|
167
|
+
123.000 766.890 l
|
168
|
+
f
|
169
|
+
128.000 766.890 m
|
170
|
+
128.000 806.890 l
|
171
|
+
130.000 806.890 l
|
172
|
+
130.000 766.890 l
|
173
|
+
128.000 766.890 l
|
174
|
+
f
|
175
|
+
131.000 766.890 m
|
176
|
+
131.000 806.890 l
|
177
|
+
133.000 806.890 l
|
178
|
+
133.000 766.890 l
|
179
|
+
131.000 766.890 l
|
180
|
+
f
|
181
|
+
135.000 766.890 m
|
182
|
+
135.000 806.890 l
|
183
|
+
137.000 806.890 l
|
184
|
+
137.000 766.890 l
|
185
|
+
135.000 766.890 l
|
186
|
+
f
|
187
|
+
139.000 766.890 m
|
188
|
+
139.000 806.890 l
|
189
|
+
141.000 806.890 l
|
190
|
+
141.000 766.890 l
|
191
|
+
139.000 766.890 l
|
192
|
+
f
|
193
|
+
143.000 766.890 m
|
194
|
+
143.000 806.890 l
|
195
|
+
145.000 806.890 l
|
196
|
+
145.000 766.890 l
|
197
|
+
143.000 766.890 l
|
198
|
+
f
|
199
|
+
146.000 766.890 m
|
200
|
+
146.000 806.890 l
|
201
|
+
148.000 806.890 l
|
202
|
+
148.000 766.890 l
|
203
|
+
146.000 766.890 l
|
204
|
+
f
|
205
|
+
150.000 766.890 m
|
206
|
+
150.000 806.890 l
|
207
|
+
154.000 806.890 l
|
208
|
+
154.000 766.890 l
|
209
|
+
150.000 766.890 l
|
210
|
+
f
|
211
|
+
156.000 766.890 m
|
212
|
+
156.000 806.890 l
|
213
|
+
157.000 806.890 l
|
214
|
+
157.000 766.890 l
|
215
|
+
156.000 766.890 l
|
216
|
+
f
|
217
|
+
159.000 766.890 m
|
218
|
+
159.000 806.890 l
|
219
|
+
160.000 806.890 l
|
220
|
+
160.000 766.890 l
|
221
|
+
159.000 766.890 l
|
222
|
+
f
|
223
|
+
161.000 766.890 m
|
224
|
+
161.000 806.890 l
|
225
|
+
164.000 806.890 l
|
226
|
+
164.000 766.890 l
|
227
|
+
161.000 766.890 l
|
228
|
+
f
|
229
|
+
165.000 766.890 m
|
230
|
+
165.000 806.890 l
|
231
|
+
166.000 806.890 l
|
232
|
+
166.000 766.890 l
|
233
|
+
165.000 766.890 l
|
234
|
+
f
|
235
|
+
169.000 766.890 m
|
236
|
+
169.000 806.890 l
|
237
|
+
171.000 806.890 l
|
238
|
+
171.000 766.890 l
|
239
|
+
169.000 766.890 l
|
240
|
+
f
|
241
|
+
172.000 766.890 m
|
242
|
+
172.000 806.890 l
|
243
|
+
174.000 806.890 l
|
244
|
+
174.000 766.890 l
|
245
|
+
172.000 766.890 l
|
246
|
+
f
|
247
|
+
175.000 766.890 m
|
248
|
+
175.000 806.890 l
|
249
|
+
177.000 806.890 l
|
250
|
+
177.000 766.890 l
|
251
|
+
175.000 766.890 l
|
252
|
+
f
|
253
|
+
179.000 766.890 m
|
254
|
+
179.000 806.890 l
|
255
|
+
181.000 806.890 l
|
256
|
+
181.000 766.890 l
|
257
|
+
179.000 766.890 l
|
258
|
+
f
|
259
|
+
183.000 766.890 m
|
260
|
+
183.000 806.890 l
|
261
|
+
185.000 806.890 l
|
262
|
+
185.000 766.890 l
|
263
|
+
183.000 766.890 l
|
264
|
+
f
|
265
|
+
187.000 766.890 m
|
266
|
+
187.000 806.890 l
|
267
|
+
188.000 806.890 l
|
268
|
+
188.000 766.890 l
|
269
|
+
187.000 766.890 l
|
270
|
+
f
|
271
|
+
191.000 766.890 m
|
272
|
+
191.000 806.890 l
|
273
|
+
192.000 806.890 l
|
274
|
+
192.000 766.890 l
|
275
|
+
191.000 766.890 l
|
276
|
+
f
|
277
|
+
194.000 766.890 m
|
278
|
+
194.000 806.890 l
|
279
|
+
196.000 806.890 l
|
280
|
+
196.000 766.890 l
|
281
|
+
194.000 766.890 l
|
282
|
+
f
|
283
|
+
197.000 766.890 m
|
284
|
+
197.000 806.890 l
|
285
|
+
199.000 806.890 l
|
286
|
+
199.000 766.890 l
|
287
|
+
197.000 766.890 l
|
288
|
+
f
|
289
|
+
201.000 766.890 m
|
290
|
+
201.000 806.890 l
|
291
|
+
203.000 806.890 l
|
292
|
+
203.000 766.890 l
|
293
|
+
201.000 766.890 l
|
294
|
+
f
|
295
|
+
205.000 766.890 m
|
296
|
+
205.000 806.890 l
|
297
|
+
207.000 806.890 l
|
298
|
+
207.000 766.890 l
|
299
|
+
205.000 766.890 l
|
300
|
+
f
|
301
|
+
208.000 766.890 m
|
302
|
+
208.000 806.890 l
|
303
|
+
210.000 806.890 l
|
304
|
+
210.000 766.890 l
|
305
|
+
208.000 766.890 l
|
306
|
+
f
|
307
|
+
212.000 766.890 m
|
308
|
+
212.000 806.890 l
|
309
|
+
214.000 806.890 l
|
310
|
+
214.000 766.890 l
|
311
|
+
212.000 766.890 l
|
312
|
+
f
|
313
|
+
216.000 766.890 m
|
314
|
+
216.000 806.890 l
|
315
|
+
218.000 806.890 l
|
316
|
+
218.000 766.890 l
|
317
|
+
216.000 766.890 l
|
318
|
+
f
|
319
|
+
219.000 766.890 m
|
320
|
+
219.000 806.890 l
|
321
|
+
221.000 806.890 l
|
322
|
+
221.000 766.890 l
|
323
|
+
219.000 766.890 l
|
324
|
+
f
|
325
|
+
223.000 766.890 m
|
326
|
+
223.000 806.890 l
|
327
|
+
225.000 806.890 l
|
328
|
+
225.000 766.890 l
|
329
|
+
223.000 766.890 l
|
330
|
+
f
|
331
|
+
227.000 766.890 m
|
332
|
+
227.000 806.890 l
|
333
|
+
228.000 806.890 l
|
334
|
+
228.000 766.890 l
|
335
|
+
227.000 766.890 l
|
336
|
+
f
|
337
|
+
231.000 766.890 m
|
338
|
+
231.000 806.890 l
|
339
|
+
233.000 806.890 l
|
340
|
+
233.000 766.890 l
|
341
|
+
231.000 766.890 l
|
342
|
+
f
|
343
|
+
236.000 766.890 m
|
344
|
+
236.000 806.890 l
|
345
|
+
237.000 806.890 l
|
346
|
+
237.000 766.890 l
|
347
|
+
236.000 766.890 l
|
348
|
+
f
|
349
|
+
238.000 766.890 m
|
350
|
+
238.000 806.890 l
|
351
|
+
240.000 806.890 l
|
352
|
+
240.000 766.890 l
|
353
|
+
238.000 766.890 l
|
354
|
+
f
|
355
|
+
242.000 766.890 m
|
356
|
+
242.000 806.890 l
|
357
|
+
243.000 806.890 l
|
358
|
+
243.000 766.890 l
|
359
|
+
242.000 766.890 l
|
360
|
+
f
|
361
|
+
246.000 766.890 m
|
362
|
+
246.000 806.890 l
|
363
|
+
247.000 806.890 l
|
364
|
+
247.000 766.890 l
|
365
|
+
246.000 766.890 l
|
366
|
+
f
|
367
|
+
249.000 766.890 m
|
368
|
+
249.000 806.890 l
|
369
|
+
251.000 806.890 l
|
370
|
+
251.000 766.890 l
|
371
|
+
249.000 766.890 l
|
372
|
+
f
|
373
|
+
252.000 766.890 m
|
374
|
+
252.000 806.890 l
|
375
|
+
254.000 806.890 l
|
376
|
+
254.000 766.890 l
|
377
|
+
252.000 766.890 l
|
378
|
+
f
|
379
|
+
256.000 766.890 m
|
380
|
+
256.000 806.890 l
|
381
|
+
258.000 806.890 l
|
382
|
+
258.000 766.890 l
|
383
|
+
256.000 766.890 l
|
384
|
+
f
|
385
|
+
260.000 766.890 m
|
386
|
+
260.000 806.890 l
|
387
|
+
262.000 806.890 l
|
388
|
+
262.000 766.890 l
|
389
|
+
260.000 766.890 l
|
390
|
+
f
|
391
|
+
263.000 766.890 m
|
392
|
+
263.000 806.890 l
|
393
|
+
265.000 806.890 l
|
394
|
+
265.000 766.890 l
|
395
|
+
263.000 766.890 l
|
396
|
+
f
|
397
|
+
267.000 766.890 m
|
398
|
+
267.000 806.890 l
|
399
|
+
269.000 806.890 l
|
400
|
+
269.000 766.890 l
|
401
|
+
267.000 766.890 l
|
402
|
+
f
|
403
|
+
271.000 766.890 m
|
404
|
+
271.000 806.890 l
|
405
|
+
272.000 806.890 l
|
406
|
+
272.000 766.890 l
|
407
|
+
271.000 766.890 l
|
408
|
+
f
|
409
|
+
274.000 766.890 m
|
410
|
+
274.000 806.890 l
|
411
|
+
275.000 806.890 l
|
412
|
+
275.000 766.890 l
|
413
|
+
274.000 766.890 l
|
414
|
+
f
|
415
|
+
277.000 766.890 m
|
416
|
+
277.000 806.890 l
|
417
|
+
279.000 806.890 l
|
418
|
+
279.000 766.890 l
|
419
|
+
277.000 766.890 l
|
420
|
+
f
|
421
|
+
282.000 766.890 m
|
422
|
+
282.000 806.890 l
|
423
|
+
283.000 806.890 l
|
424
|
+
283.000 766.890 l
|
425
|
+
282.000 766.890 l
|
426
|
+
f
|
427
|
+
285.000 766.890 m
|
428
|
+
285.000 806.890 l
|
429
|
+
286.000 806.890 l
|
430
|
+
286.000 766.890 l
|
431
|
+
285.000 766.890 l
|
432
|
+
f
|
433
|
+
287.000 766.890 m
|
434
|
+
287.000 806.890 l
|
435
|
+
291.000 806.890 l
|
436
|
+
291.000 766.890 l
|
437
|
+
287.000 766.890 l
|
438
|
+
f
|
439
|
+
293.000 766.890 m
|
440
|
+
293.000 806.890 l
|
441
|
+
295.000 806.890 l
|
442
|
+
295.000 766.890 l
|
443
|
+
293.000 766.890 l
|
444
|
+
f
|
445
|
+
296.000 766.890 m
|
446
|
+
296.000 806.890 l
|
447
|
+
299.000 806.890 l
|
448
|
+
299.000 766.890 l
|
449
|
+
296.000 766.890 l
|
450
|
+
f
|
451
|
+
302.000 766.890 m
|
452
|
+
302.000 806.890 l
|
453
|
+
303.000 806.890 l
|
454
|
+
303.000 766.890 l
|
455
|
+
302.000 766.890 l
|
456
|
+
f
|
457
|
+
304.000 766.890 m
|
458
|
+
304.000 806.890 l
|
459
|
+
306.000 806.890 l
|
460
|
+
306.000 766.890 l
|
461
|
+
304.000 766.890 l
|
462
|
+
f
|
463
|
+
309.000 766.890 m
|
464
|
+
309.000 806.890 l
|
465
|
+
312.000 806.890 l
|
466
|
+
312.000 766.890 l
|
467
|
+
309.000 766.890 l
|
468
|
+
f
|
469
|
+
313.000 766.890 m
|
470
|
+
313.000 806.890 l
|
471
|
+
314.000 806.890 l
|
472
|
+
314.000 766.890 l
|
473
|
+
313.000 766.890 l
|
474
|
+
f
|
475
|
+
315.000 766.890 m
|
476
|
+
315.000 806.890 l
|
477
|
+
317.000 806.890 l
|
478
|
+
317.000 766.890 l
|
479
|
+
315.000 766.890 l
|
480
|
+
f
|
481
|
+
30.000 761.890 535.280 50.000 re
|
482
|
+
S
|
483
|
+
Q
|
484
|
+
|
485
|
+
endstream
|
486
|
+
endobj
|
487
|
+
5 0 obj
|
488
|
+
<< /Type /Page
|
489
|
+
/Parent 3 0 R
|
490
|
+
/MediaBox [0 0 595.28 841.89]
|
491
|
+
/Contents 4 0 R
|
492
|
+
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
493
|
+
>>
|
494
|
+
>>
|
495
|
+
endobj
|
496
|
+
xref
|
497
|
+
0 6
|
498
|
+
0000000000 65535 f
|
499
|
+
0000000015 00000 n
|
500
|
+
0000000109 00000 n
|
501
|
+
0000000158 00000 n
|
502
|
+
0000000215 00000 n
|
503
|
+
0000007224 00000 n
|
504
|
+
trailer
|
505
|
+
<< /Size 6
|
506
|
+
/Root 2 0 R
|
507
|
+
/Info 1 0 R
|
508
|
+
>>
|
509
|
+
startxref
|
510
|
+
7380
|
511
|
+
%%EOF
|