@gitpagedocs/cli 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builders/route-builders.mjs +65 -74
- package/builders/version-config-builder.mjs +57 -16
- package/content/assets/gitpagedocs-project-guide.pdf +245 -0
- package/content/docs-en.mjs +652 -99
- package/content/docs-es.mjs +656 -78
- package/content/docs-pt.mjs +656 -78
- package/contracts/doc-versions.mjs +1 -1
- package/contracts/index.mjs +1 -0
- package/data/default-site-config.mjs +39 -0
- package/data/i18n-langmenu.mjs +81 -0
- package/data/path-mappings.mjs +13 -0
- package/data/route-metas.mjs +60 -1
- package/package.json +3 -3
- package/runtime/doc-path-resolver.mjs +22 -13
- package/runtime/output.mjs +16 -1
|
@@ -1,21 +1,49 @@
|
|
|
1
1
|
/** Build route objects for md, html, and video content types */
|
|
2
2
|
|
|
3
|
+
/** Title/description styling every content route starts from (key order is part of the output). */
|
|
4
|
+
const ROUTE_TEXT_DEFAULTS = {
|
|
5
|
+
titleCss: "font-size: 1.85rem; font-weight: 700;",
|
|
6
|
+
titleDarkCss: "font-size: 1.85rem; font-weight: 700; color: var(--text);",
|
|
7
|
+
titleLightCss: "font-size: 1.85rem; font-weight: 700; color: var(--text);",
|
|
8
|
+
titlePosition: "center",
|
|
9
|
+
titleIsVisible: true,
|
|
10
|
+
descriptionCss: "font-size: 1.2rem; font-weight: 500;",
|
|
11
|
+
descriptionDarkCss: "font-size: 1.2rem; font-weight: 500; color: var(--text-secondary);",
|
|
12
|
+
descriptionLightCss: "font-size: 1.2rem; font-weight: 500; color: var(--text-secondary);",
|
|
13
|
+
descriptionPosition: "center",
|
|
14
|
+
descriptionIsVisible: true,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/** Container frame settings every content route starts from. */
|
|
18
|
+
const ROUTE_FRAME_DEFAULTS = {
|
|
19
|
+
fullscreenEnabled: true,
|
|
20
|
+
marginTop: "",
|
|
21
|
+
marginBottom: "",
|
|
22
|
+
blockLink: true,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/** Each default key, taking the option value when it is set. */
|
|
26
|
+
function withDefaults(defaults, options) {
|
|
27
|
+
return Object.fromEntries(
|
|
28
|
+
Object.entries(defaults).map(([key, value]) => [key, options[key] === undefined ? value : options[key]]),
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** A single value becomes the same value for every language. */
|
|
33
|
+
function perLanguage(value) {
|
|
34
|
+
return typeof value === "string" ? { pt: value, en: value, es: value } : value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Copies only the fields that are set. */
|
|
38
|
+
function assignDefined(target, fields) {
|
|
39
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
40
|
+
if (value !== undefined) target[key] = value;
|
|
41
|
+
}
|
|
42
|
+
return target;
|
|
43
|
+
}
|
|
44
|
+
|
|
3
45
|
export function buildMdRoute(versionId, routeId, pathByLang, titles, descriptions, options = {}) {
|
|
4
46
|
const {
|
|
5
|
-
titleCss = "font-size: 1.85rem; font-weight: 700;",
|
|
6
|
-
titleDarkCss = "font-size: 1.85rem; font-weight: 700; color: var(--text);",
|
|
7
|
-
titleLightCss = "font-size: 1.85rem; font-weight: 700; color: var(--text);",
|
|
8
|
-
titlePosition = "center",
|
|
9
|
-
titleIsVisible = true,
|
|
10
|
-
descriptionCss = "font-size: 1.2rem; font-weight: 500;",
|
|
11
|
-
descriptionDarkCss = "font-size: 1.2rem; font-weight: 500; color: var(--text-secondary);",
|
|
12
|
-
descriptionLightCss = "font-size: 1.2rem; font-weight: 500; color: var(--text-secondary);",
|
|
13
|
-
descriptionPosition = "center",
|
|
14
|
-
descriptionIsVisible = true,
|
|
15
|
-
fullscreenEnabled = true,
|
|
16
|
-
marginTop = "",
|
|
17
|
-
marginBottom = "",
|
|
18
|
-
blockLink = true,
|
|
19
47
|
container,
|
|
20
48
|
browseAll = false,
|
|
21
49
|
RouteguideBrand = true,
|
|
@@ -24,26 +52,15 @@ export function buildMdRoute(versionId, routeId, pathByLang, titles, description
|
|
|
24
52
|
RouteguideBrandContainerTop = false,
|
|
25
53
|
audio,
|
|
26
54
|
authorization,
|
|
55
|
+
hierarchyPage,
|
|
27
56
|
} = options;
|
|
28
57
|
const out = {
|
|
29
58
|
id: routeId,
|
|
30
59
|
title: titles ?? { pt: "Documentação", en: "Documentation", es: "Documentación" },
|
|
31
60
|
description: descriptions ?? { pt: "Descrição da página", en: "Page description", es: "Descripción de la página" },
|
|
32
|
-
|
|
33
|
-
titleDarkCss,
|
|
34
|
-
titleLightCss,
|
|
35
|
-
titlePosition,
|
|
36
|
-
titleIsVisible,
|
|
37
|
-
descriptionCss,
|
|
38
|
-
descriptionDarkCss,
|
|
39
|
-
descriptionLightCss,
|
|
40
|
-
descriptionPosition,
|
|
41
|
-
descriptionIsVisible,
|
|
61
|
+
...withDefaults(ROUTE_TEXT_DEFAULTS, options),
|
|
42
62
|
path: pathByLang,
|
|
43
|
-
|
|
44
|
-
marginTop,
|
|
45
|
-
marginBottom,
|
|
46
|
-
blockLink,
|
|
63
|
+
...withDefaults(ROUTE_FRAME_DEFAULTS, options),
|
|
47
64
|
container,
|
|
48
65
|
browseAll,
|
|
49
66
|
RouteguideBrand,
|
|
@@ -51,10 +68,7 @@ export function buildMdRoute(versionId, routeId, pathByLang, titles, description
|
|
|
51
68
|
RouteguideBrandPosition,
|
|
52
69
|
RouteguideBrandContainerTop,
|
|
53
70
|
};
|
|
54
|
-
|
|
55
|
-
if (audio !== undefined) out.audio = audio;
|
|
56
|
-
if (authorization !== undefined) out.authorization = authorization;
|
|
57
|
-
return out;
|
|
71
|
+
return assignDefined(out, { container, audio, authorization, hierarchyPage });
|
|
58
72
|
}
|
|
59
73
|
|
|
60
74
|
export function buildHtmlRoute(versionId, routeId, pathByLang, titles, descriptions, options = {}) {
|
|
@@ -63,62 +77,39 @@ export function buildHtmlRoute(versionId, routeId, pathByLang, titles, descripti
|
|
|
63
77
|
}
|
|
64
78
|
|
|
65
79
|
export function buildVideoRoute(versionId, routeId, videoType, pathVideo, titles, descriptions, options = {}) {
|
|
66
|
-
const {
|
|
67
|
-
titleCss = "font-size: 1.85rem; font-weight: 700;",
|
|
68
|
-
titleDarkCss = "font-size: 1.85rem; font-weight: 700; color: var(--text);",
|
|
69
|
-
titleLightCss = "font-size: 1.85rem; font-weight: 700; color: var(--text);",
|
|
70
|
-
titlePosition = "center",
|
|
71
|
-
titleIsVisible = true,
|
|
72
|
-
descriptionCss = "font-size: 1.2rem; font-weight: 500;",
|
|
73
|
-
descriptionDarkCss = "font-size: 1.2rem; font-weight: 500; color: var(--text-secondary);",
|
|
74
|
-
descriptionLightCss = "font-size: 1.2rem; font-weight: 500; color: var(--text-secondary);",
|
|
75
|
-
descriptionPosition = "center",
|
|
76
|
-
descriptionIsVisible = true,
|
|
77
|
-
fullscreenEnabled = true,
|
|
78
|
-
marginTop = "",
|
|
79
|
-
marginBottom = "",
|
|
80
|
-
blockLink = true,
|
|
81
|
-
container,
|
|
82
|
-
browseAll = false,
|
|
83
|
-
authorization,
|
|
84
|
-
} = options;
|
|
85
|
-
const videoTypeByLang = typeof videoType === "string" ? { pt: videoType, en: videoType, es: videoType } : videoType;
|
|
86
|
-
const pathVideoByLang = typeof pathVideo === "string" ? { pt: pathVideo, en: pathVideo, es: pathVideo } : pathVideo;
|
|
80
|
+
const { container, browseAll = false, authorization } = options;
|
|
87
81
|
const obj = {
|
|
88
82
|
id: routeId,
|
|
89
83
|
title: titles ?? { pt: "Vídeo", en: "Video", es: "Vídeo" },
|
|
90
84
|
description: descriptions ?? { pt: "Descrição do vídeo", en: "Video description", es: "Descripción del vídeo" },
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
titleLightCss,
|
|
94
|
-
titlePosition,
|
|
95
|
-
titleIsVisible,
|
|
96
|
-
descriptionCss,
|
|
97
|
-
descriptionDarkCss,
|
|
98
|
-
descriptionLightCss,
|
|
99
|
-
descriptionPosition,
|
|
100
|
-
descriptionIsVisible,
|
|
101
|
-
fullscreenEnabled,
|
|
102
|
-
marginTop,
|
|
103
|
-
marginBottom,
|
|
104
|
-
blockLink,
|
|
85
|
+
...withDefaults(ROUTE_TEXT_DEFAULTS, options),
|
|
86
|
+
...withDefaults(ROUTE_FRAME_DEFAULTS, options),
|
|
105
87
|
browseAll,
|
|
106
|
-
video: { videoType:
|
|
88
|
+
video: { videoType: perLanguage(videoType), pathVideo: perLanguage(pathVideo) },
|
|
107
89
|
};
|
|
108
|
-
|
|
109
|
-
if (authorization !== undefined) obj.authorization = authorization;
|
|
110
|
-
return obj;
|
|
90
|
+
return assignDefined(obj, { container, authorization });
|
|
111
91
|
}
|
|
112
92
|
|
|
113
93
|
export function buildAudioRoute(versionId, routeId, audioType, pathAudio, titles, descriptions, options = {}) {
|
|
114
94
|
const base = buildVideoRoute(versionId, routeId, audioType, pathAudio, titles, descriptions, options);
|
|
115
|
-
const audioTypeByLang = typeof audioType === "string" ? { pt: audioType, en: audioType, es: audioType } : audioType;
|
|
116
|
-
const pathAudioByLang = typeof pathAudio === "string" ? { pt: pathAudio, en: pathAudio, es: pathAudio } : pathAudio;
|
|
117
95
|
const { video, ...rest } = base;
|
|
118
96
|
return {
|
|
119
97
|
...rest,
|
|
120
|
-
audio: { audioType:
|
|
98
|
+
audio: { audioType: perLanguage(audioType), pathAudio: perLanguage(pathAudio) },
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export function buildPdfRoute(meta, pathPdf, options = {}) {
|
|
103
|
+
const { container, authorization, pdf } = options;
|
|
104
|
+
const route = {
|
|
105
|
+
id: meta.id,
|
|
106
|
+
title: meta.titles,
|
|
107
|
+
description: meta.descriptions,
|
|
108
|
+
...withDefaults(ROUTE_TEXT_DEFAULTS, options),
|
|
109
|
+
...withDefaults(ROUTE_FRAME_DEFAULTS, options),
|
|
110
|
+
pdf: { pathPdf: perLanguage(pathPdf), ...pdf },
|
|
121
111
|
};
|
|
112
|
+
return assignDefined(route, { container, authorization });
|
|
122
113
|
}
|
|
123
114
|
|
|
124
115
|
export function buildSourceViewerRoute(routeId, sourceViewerPath, titles, descriptions, options = {}) {
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
VIDEO_IDS,
|
|
6
6
|
AUDIO_IDS,
|
|
7
7
|
PAGE2_AUDIO,
|
|
8
|
+
PDF_GUIDE_FILENAME,
|
|
8
9
|
} from "../data/path-mappings.mjs";
|
|
9
10
|
import {
|
|
10
11
|
ROUTE_META_ID1,
|
|
@@ -13,15 +14,18 @@ import {
|
|
|
13
14
|
ROUTE_META_ID4,
|
|
14
15
|
ROUTE_META_ID5,
|
|
15
16
|
ROUTE_META_ID6,
|
|
17
|
+
REFERENCE_ROUTE_METAS,
|
|
16
18
|
VIDEO_META_ID1,
|
|
17
19
|
VIDEO_META_ID2,
|
|
18
20
|
VIDEO_META_ID3,
|
|
19
21
|
VIDEO_META_ID4,
|
|
20
22
|
AUDIO_META_ID12,
|
|
23
|
+
PDF_GUIDE_META,
|
|
21
24
|
SOURCE_VIEWER_META,
|
|
22
25
|
DEFAULT_HIERARCHY,
|
|
26
|
+
VIDEO_FIRST_HIERARCHY,
|
|
23
27
|
} from "../data/route-metas.mjs";
|
|
24
|
-
import { buildAudioRoute, buildMdRoute, buildSourceViewerRoute, buildVideoRoute } from "./route-builders.mjs";
|
|
28
|
+
import { buildAudioRoute, buildMdRoute, buildPdfRoute, buildSourceViewerRoute, buildVideoRoute } from "./route-builders.mjs";
|
|
25
29
|
import { resolveSourceViewerPath } from "./project-links.mjs";
|
|
26
30
|
|
|
27
31
|
/** Demo route protections showcasing the "Authorized Routes" feature. They are
|
|
@@ -35,6 +39,14 @@ const VIDEO_ROUTE_AUTHORIZATION = {
|
|
|
35
39
|
requireExternalAuth: true,
|
|
36
40
|
allowedProviders: EXTERNAL_AUTH_PROVIDERS,
|
|
37
41
|
};
|
|
42
|
+
/** Video route left open so the scaffold always shows a playable video (GitHub's introduction to Git). */
|
|
43
|
+
const PUBLIC_VIDEO_ROUTE_ID = 11;
|
|
44
|
+
/** Video routes follow the six markdown pages and the source viewer (ids 8-11). */
|
|
45
|
+
const VIDEO_ROUTE_ID_OFFSET = 7;
|
|
46
|
+
/** Markdown page that also shows the public video, in a video container above its text. */
|
|
47
|
+
const VIDEO_PAGE_ROUTE_ID = 5;
|
|
48
|
+
/** VIDEO_IDS / VIDEO_METAS entry of the public video (GitHub's introduction to Git). */
|
|
49
|
+
const PUBLIC_VIDEO_INDEX = PUBLIC_VIDEO_ROUTE_ID - VIDEO_ROUTE_ID_OFFSET;
|
|
38
50
|
|
|
39
51
|
const ROUTE_METAS = {
|
|
40
52
|
1: ROUTE_META_ID1,
|
|
@@ -43,12 +55,14 @@ const ROUTE_METAS = {
|
|
|
43
55
|
4: ROUTE_META_ID4,
|
|
44
56
|
5: ROUTE_META_ID5,
|
|
45
57
|
6: ROUTE_META_ID6,
|
|
58
|
+
...REFERENCE_ROUTE_METAS,
|
|
46
59
|
};
|
|
60
|
+
const MARKDOWN_ROUTE_IDS = Object.keys(ROUTE_PATHS).map(Number);
|
|
47
61
|
const VIDEO_METAS = { 1: VIDEO_META_ID1, 2: VIDEO_META_ID2, 3: VIDEO_META_ID3, 4: VIDEO_META_ID4 };
|
|
48
62
|
|
|
49
63
|
function buildVersionMdRoutes(versionId, includeDemoAuthorization) {
|
|
50
64
|
const base = `gitpagedocs/docs/versions/${versionId}`;
|
|
51
|
-
return
|
|
65
|
+
return MARKDOWN_ROUTE_IDS.map((id) => {
|
|
52
66
|
const paths = ROUTE_PATHS[id];
|
|
53
67
|
const meta = ROUTE_METAS[id];
|
|
54
68
|
const pathByLang = {
|
|
@@ -58,6 +72,7 @@ function buildVersionMdRoutes(versionId, includeDemoAuthorization) {
|
|
|
58
72
|
};
|
|
59
73
|
const routeOptions = {
|
|
60
74
|
...(id === 2 ? { audio: PAGE2_AUDIO } : {}),
|
|
75
|
+
...(id === VIDEO_PAGE_ROUTE_ID ? { hierarchyPage: VIDEO_FIRST_HIERARCHY } : {}),
|
|
61
76
|
...(includeDemoAuthorization && id === 3
|
|
62
77
|
? { authorization: { requiredRoles: [MAINTAINER_ROLE] } }
|
|
63
78
|
: {}),
|
|
@@ -76,18 +91,33 @@ function buildVersionMdRoutes(versionId, includeDemoAuthorization) {
|
|
|
76
91
|
});
|
|
77
92
|
}
|
|
78
93
|
|
|
94
|
+
/** Video container shown on the markdown page VIDEO_PAGE_ROUTE_ID (no menu entry of its own). */
|
|
95
|
+
function buildPageVideoRoute(versionId) {
|
|
96
|
+
return buildVideoRoute(
|
|
97
|
+
versionId,
|
|
98
|
+
VIDEO_PAGE_ROUTE_ID,
|
|
99
|
+
"youtube",
|
|
100
|
+
VIDEO_IDS[PUBLIC_VIDEO_INDEX - 1],
|
|
101
|
+
VIDEO_METAS[PUBLIC_VIDEO_INDEX].title,
|
|
102
|
+
VIDEO_METAS[PUBLIC_VIDEO_INDEX].description,
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
79
106
|
function buildVersionVideoRoutes(versionId, includeDemoAuthorization) {
|
|
80
|
-
|
|
81
|
-
|
|
107
|
+
const menuVideoRoutes = [1, 2, 3, 4].map((id) => {
|
|
108
|
+
const routeId = id + VIDEO_ROUTE_ID_OFFSET;
|
|
109
|
+
const isGuarded = includeDemoAuthorization && routeId !== PUBLIC_VIDEO_ROUTE_ID;
|
|
110
|
+
return buildVideoRoute(
|
|
82
111
|
versionId,
|
|
83
|
-
|
|
112
|
+
routeId,
|
|
84
113
|
"youtube",
|
|
85
114
|
VIDEO_IDS[id - 1],
|
|
86
115
|
VIDEO_METAS[id].title,
|
|
87
116
|
VIDEO_METAS[id].description,
|
|
88
|
-
|
|
89
|
-
)
|
|
90
|
-
);
|
|
117
|
+
isGuarded ? { authorization: VIDEO_ROUTE_AUTHORIZATION } : {},
|
|
118
|
+
);
|
|
119
|
+
});
|
|
120
|
+
return [buildPageVideoRoute(versionId), ...menuVideoRoutes];
|
|
91
121
|
}
|
|
92
122
|
|
|
93
123
|
function buildVersionAudioRoutes(versionId) {
|
|
@@ -116,18 +146,21 @@ function buildVersionSourceViewerRoutes(options = {}) {
|
|
|
116
146
|
|
|
117
147
|
function buildVersionMenus(versionId) {
|
|
118
148
|
const base = `gitpagedocs/docs/versions/${versionId}`;
|
|
119
|
-
const menuMd =
|
|
149
|
+
const menuMd = MARKDOWN_ROUTE_IDS.map((id) => ({
|
|
120
150
|
id,
|
|
121
151
|
pt: { title: ROUTE_METAS[id].titles.pt, "path-click": `${base}/pt/${ROUTE_PATHS[id].pt}` },
|
|
122
152
|
en: { title: ROUTE_METAS[id].titles.en, "path-click": `${base}/en/${ROUTE_PATHS[id].en}` },
|
|
123
153
|
es: { title: ROUTE_METAS[id].titles.es, "path-click": `${base}/es/${ROUTE_PATHS[id].es}` },
|
|
124
154
|
}));
|
|
125
|
-
const menuVideo = [1, 2, 3, 4].map((id) =>
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
155
|
+
const menuVideo = [1, 2, 3, 4].map((id) => {
|
|
156
|
+
const routeId = id + VIDEO_ROUTE_ID_OFFSET;
|
|
157
|
+
return {
|
|
158
|
+
id: routeId,
|
|
159
|
+
pt: { title: `${VIDEO_METAS[id].title.pt.slice(0, 40)}...`, "path-click": `page:${routeId}` },
|
|
160
|
+
en: { title: `${VIDEO_METAS[id].title.en.slice(0, 40)}...`, "path-click": `page:${routeId}` },
|
|
161
|
+
es: { title: `${VIDEO_METAS[id].title.es.slice(0, 40)}...`, "path-click": `page:${routeId}` },
|
|
162
|
+
};
|
|
163
|
+
});
|
|
131
164
|
const menuAudio = [
|
|
132
165
|
{
|
|
133
166
|
id: AUDIO_META_ID12.id,
|
|
@@ -144,7 +177,13 @@ function buildVersionMenus(versionId) {
|
|
|
144
177
|
es: { title: SOURCE_VIEWER_META.titles.es, "path-click": `page:${SOURCE_VIEWER_META.id}` },
|
|
145
178
|
},
|
|
146
179
|
];
|
|
147
|
-
|
|
180
|
+
const menuPdf = [{
|
|
181
|
+
id: PDF_GUIDE_META.id,
|
|
182
|
+
pt: { title: PDF_GUIDE_META.titles.pt, "path-click": `page:${PDF_GUIDE_META.id}` },
|
|
183
|
+
en: { title: PDF_GUIDE_META.titles.en, "path-click": `page:${PDF_GUIDE_META.id}` },
|
|
184
|
+
es: { title: PDF_GUIDE_META.titles.es, "path-click": `page:${PDF_GUIDE_META.id}` },
|
|
185
|
+
}];
|
|
186
|
+
return { md: menuMd, sourceViewer: menuSourceViewer, html: [], video: menuVideo, audio: menuAudio, pdf: menuPdf };
|
|
148
187
|
}
|
|
149
188
|
|
|
150
189
|
/**
|
|
@@ -175,11 +214,13 @@ export function buildVersionConfig(versionId, options = {}) {
|
|
|
175
214
|
"routes-html": [],
|
|
176
215
|
"routes-video": buildVersionVideoRoutes(versionId, includeDemoAuthorization),
|
|
177
216
|
"routes-audio": buildVersionAudioRoutes(versionId),
|
|
217
|
+
"routes-pdf": [buildPdfRoute(PDF_GUIDE_META, `gitpagedocs/docs/versions/${versionId}/en/${PDF_GUIDE_FILENAME}`)],
|
|
178
218
|
"menus-header-md": menus.md,
|
|
179
219
|
"menus-header-source-viewer": menus.sourceViewer,
|
|
180
220
|
"menus-header-html": menus.html,
|
|
181
221
|
"menus-header-video": menus.video,
|
|
182
222
|
"menus-header-audio": menus.audio,
|
|
223
|
+
"menus-header-pdf": menus.pdf,
|
|
183
224
|
hierarchyPage: DEFAULT_HIERARCHY,
|
|
184
225
|
hierarchyMenu: DEFAULT_HIERARCHY,
|
|
185
226
|
};
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
%PDF-1.4
|
|
2
|
+
%���� ReportLab Generated PDF document (opensource)
|
|
3
|
+
1 0 obj
|
|
4
|
+
<<
|
|
5
|
+
/F1 2 0 R /F2 3 0 R /F3 5 0 R
|
|
6
|
+
>>
|
|
7
|
+
endobj
|
|
8
|
+
2 0 obj
|
|
9
|
+
<<
|
|
10
|
+
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
|
11
|
+
>>
|
|
12
|
+
endobj
|
|
13
|
+
3 0 obj
|
|
14
|
+
<<
|
|
15
|
+
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
|
16
|
+
>>
|
|
17
|
+
endobj
|
|
18
|
+
4 0 obj
|
|
19
|
+
<<
|
|
20
|
+
/Contents 20 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
21
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
22
|
+
>> /Rotate 0 /Trans <<
|
|
23
|
+
|
|
24
|
+
>>
|
|
25
|
+
/Type /Page
|
|
26
|
+
>>
|
|
27
|
+
endobj
|
|
28
|
+
5 0 obj
|
|
29
|
+
<<
|
|
30
|
+
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
|
31
|
+
>>
|
|
32
|
+
endobj
|
|
33
|
+
6 0 obj
|
|
34
|
+
<<
|
|
35
|
+
/Contents 21 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
36
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
37
|
+
>> /Rotate 0 /Trans <<
|
|
38
|
+
|
|
39
|
+
>>
|
|
40
|
+
/Type /Page
|
|
41
|
+
>>
|
|
42
|
+
endobj
|
|
43
|
+
7 0 obj
|
|
44
|
+
<<
|
|
45
|
+
/Contents 22 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
46
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
47
|
+
>> /Rotate 0 /Trans <<
|
|
48
|
+
|
|
49
|
+
>>
|
|
50
|
+
/Type /Page
|
|
51
|
+
>>
|
|
52
|
+
endobj
|
|
53
|
+
8 0 obj
|
|
54
|
+
<<
|
|
55
|
+
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
56
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
57
|
+
>> /Rotate 0 /Trans <<
|
|
58
|
+
|
|
59
|
+
>>
|
|
60
|
+
/Type /Page
|
|
61
|
+
>>
|
|
62
|
+
endobj
|
|
63
|
+
9 0 obj
|
|
64
|
+
<<
|
|
65
|
+
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
66
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
67
|
+
>> /Rotate 0 /Trans <<
|
|
68
|
+
|
|
69
|
+
>>
|
|
70
|
+
/Type /Page
|
|
71
|
+
>>
|
|
72
|
+
endobj
|
|
73
|
+
10 0 obj
|
|
74
|
+
<<
|
|
75
|
+
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
76
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
77
|
+
>> /Rotate 0 /Trans <<
|
|
78
|
+
|
|
79
|
+
>>
|
|
80
|
+
/Type /Page
|
|
81
|
+
>>
|
|
82
|
+
endobj
|
|
83
|
+
11 0 obj
|
|
84
|
+
<<
|
|
85
|
+
/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
86
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
87
|
+
>> /Rotate 0 /Trans <<
|
|
88
|
+
|
|
89
|
+
>>
|
|
90
|
+
/Type /Page
|
|
91
|
+
>>
|
|
92
|
+
endobj
|
|
93
|
+
12 0 obj
|
|
94
|
+
<<
|
|
95
|
+
/A <<
|
|
96
|
+
/S /URI /Type /Action /URI (https://github.com/Vidigal-code/git-page-docs)
|
|
97
|
+
>> /Border [ 0 0 0 ] /Rect [ 64 189.7898 206.82 201.7898 ] /Subtype /Link /Type /Annot
|
|
98
|
+
>>
|
|
99
|
+
endobj
|
|
100
|
+
13 0 obj
|
|
101
|
+
<<
|
|
102
|
+
/A <<
|
|
103
|
+
/S /URI /Type /Action /URI (https://vidigal-code.github.io/git-page-docs/)
|
|
104
|
+
>> /Border [ 0 0 0 ] /Rect [ 64 175.7898 201.27 187.7898 ] /Subtype /Link /Type /Annot
|
|
105
|
+
>>
|
|
106
|
+
endobj
|
|
107
|
+
14 0 obj
|
|
108
|
+
<<
|
|
109
|
+
/A <<
|
|
110
|
+
/S /URI /Type /Action /URI (https://github.com/Vidigal-code/git-page-docs/tree/main/gitpagedocs/docs/versions/0.0.9/en)
|
|
111
|
+
>> /Border [ 0 0 0 ] /Rect [ 64 161.7898 226.83 173.7898 ] /Subtype /Link /Type /Annot
|
|
112
|
+
>>
|
|
113
|
+
endobj
|
|
114
|
+
15 0 obj
|
|
115
|
+
<<
|
|
116
|
+
/A <<
|
|
117
|
+
/S /URI /Type /Action /URI (https://github.com/Vidigal-code/git-page-docs/blob/main/mcp/README.md)
|
|
118
|
+
>> /Border [ 0 0 0 ] /Rect [ 64 147.7898 236.84 159.7898 ] /Subtype /Link /Type /Annot
|
|
119
|
+
>>
|
|
120
|
+
endobj
|
|
121
|
+
16 0 obj
|
|
122
|
+
<<
|
|
123
|
+
/Annots [ 12 0 R 13 0 R 14 0 R 15 0 R ] /Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 19 0 R /Resources <<
|
|
124
|
+
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
125
|
+
>> /Rotate 0
|
|
126
|
+
/Trans <<
|
|
127
|
+
|
|
128
|
+
>> /Type /Page
|
|
129
|
+
>>
|
|
130
|
+
endobj
|
|
131
|
+
17 0 obj
|
|
132
|
+
<<
|
|
133
|
+
/PageMode /UseNone /Pages 19 0 R /Type /Catalog
|
|
134
|
+
>>
|
|
135
|
+
endobj
|
|
136
|
+
18 0 obj
|
|
137
|
+
<<
|
|
138
|
+
/Author (GitPageDocs) /CreationDate (D:20261017071740-03'00') /Creator (GitPageDocs) /Keywords () /ModDate (D:20261017071740-03'00') /Producer (ReportLab PDF Library - \(opensource\))
|
|
139
|
+
/Subject (English project guide and PDF container example, version 0.0.9) /Title (GitPageDocs Project Guide) /Trapped /False
|
|
140
|
+
>>
|
|
141
|
+
endobj
|
|
142
|
+
19 0 obj
|
|
143
|
+
<<
|
|
144
|
+
/Count 8 /Kids [ 4 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 16 0 R ] /Type /Pages
|
|
145
|
+
>>
|
|
146
|
+
endobj
|
|
147
|
+
20 0 obj
|
|
148
|
+
<<
|
|
149
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2001
|
|
150
|
+
>>
|
|
151
|
+
stream
|
|
152
|
+
Gatm<939k;']/F3maB3sKI#m:Y#5<H3KOg3VOMDAdb#>V)L!Gmkin/sGP/78N@9eEJ4?<%qtTT#`Zc)2<qS]2&H+Mbj"lTES*!AL*5eKG"eEr"r]Dr0ch8BG%*K#4,/\SOdg\mPN\YD\XO%6)0H`;r%GQ(iZ>J$QQEQ?C17U$PB-A.q2=k[ohW"aP9b'2.C*R\gd'Un#RQY)mkP?0FgjgB"2WW0]RL.hKqKgYI*O+%eiAEq@1YZq5ODmGjiY[]2+.q4rK@Qn1RPU/i)k*9E`KaQIG:Lalr[.IgFe1!pB:).jc(&CH1s+@QBRW>?f?C!cBP&37m<^EFX1.F'&8]sD%f*hA.irQsi?1BK_C!&!_;d>@_TFJe<cE)%rV>L<adgY+s7#H@Nlg'hpkYa_#!J9!e7ThdT34jQRFiR%H.q2'86%d?l/YI;)]9B4?7)os'ZG-#UqPMtD`O*Z@AQ/TQQ)>-U0noTCJdp%`LT\D\ke2@4fD8rVm\'N$Dei'6&B2S:Em]FnIIH7rP7CT+htj#:^`#&1$a(`"FEdG/YXGG6qSuLJdOr/b*L/Le4I*;67NRW5U),#>;"R)piTN47?V+Z@V<?O?DUL0ohM!uI%B>?p$Re.&8A:tKVWskDjd?t+ZA'hEM[b7T7P^eXHl5H66quKP[oJKE>ck86b;SFr@ho^4b=ROW!ipa[Z11BGmD^e+kEf+rXX?9hEcM]_`jDkTg^-r8,1-!&@Br%6V3Eh>pAa62J<T*:G+h-"G?9:f#[M*[P"<`,/8<`@SK)/+,+\:F)AB8]VJ`4AJPCD$Aj2^WIc@k%o^=^U:r8s`8]oYfi5"m[B=\PjYDZ*O`mgL^>B7pQL_H10Qa!&iaaR6>EGSlghrB0C@8/7MpC?U(!Dh:=G\+'+i"I#WKb+m/l/Xa^Zmf?;T!>USRiT'79IVPK%pub81G[PG]gT,@_"BWIRnBh6!$GK[l.pGJ9G"c>#tCuDg7s_Zu4:;Y1JKW-P`qK(G4Bh@Ckq=n[TA12HKS*Phs_>0;c\%YGNSf35Hh0&rS"e[(=T<N3O243QJ5D\pQTmG94]2e4UCqVi:es6?`RJ5)Hm^KeO>H/[3:2m".SKq$VW[:!9%?C/cBo+giJ`j@\Z)@WoS52U^]!JX9U:YY[[,aFTVH9n`KR[l+9LK8@);#`,%9H(d.C@h:E&3+G3#:_+/s9k8/ZT.6e%71siDj\Zpf!FT@[Vdl.(DDXc_M+VTEpatC@XXP]ecun%]KFKsAk@)!&/*7sfh?]L^5mcT_pG?SF_)Dfo.6MN%c4I1Do.\lod>KbOj(S[C>?Nr#:0ZDrML(hPGnJISA_TqKQk0&O8,V0O[E4.rpN7C^\6%f\as6><Gnpj(4c)HdLHJee@F3;fc'2AUHo[;:rE]AOr5k@dcl.;Qnu@&r%VPH>;e^ON$OVj]ecge>H$Os\?g(f$h&+-nVQY^#`Gh4_Kc-O7cp]e:b,'M4;*Eiu0eJSgG);pE0pBu33[rF>Q$Trh=?&C$!6D5C7$eY+@8KF%Gg2'T#qqKfZ)]1aWmS7oF]5b7,L*3.\2%1K.*gcO$SM'G#="0e-nJ.44e$uflCe1dPpgc\?q;+`_RH4;Q,RqK@j'_3M<k#R1u)8n_<n>(EuVL";eeD#[d6_47BSp":'B?>Bup!qm2IEeGX1<\[Yij+1e-HD7fbeG/lT-L;i9Zp<=cK9nB&'u4mYqJKDLXm,CJ\c:X+ud#5''l)jfSq5BEj97?Ve'?=sP2A!?!"2iXRl5QCd:dJ@q]5@t:FOP;_$fl=&RiZBU'?Ro-`7hI>>&gu;pd@'YTgD7884a>Jb,8O<;ZP[hkB"-@HXnCGFrbc:;Zq%GIfq\=YgLIe#VqN38%f8E1J%C)>I1<Xh5N#u)G>(clK]2j*\W!NU)k&:u.:(oN?EQnBl'3^3DFK<U?.R_cX;$''YO>ETRfs,-62*FZf@kphc\Tdfl0_h(mA1Hch*>!='[B0qQ*=U3X+]-TWQ1=&UON9QR\RI~>endstream
|
|
153
|
+
endobj
|
|
154
|
+
21 0 obj
|
|
155
|
+
<<
|
|
156
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2056
|
|
157
|
+
>>
|
|
158
|
+
stream
|
|
159
|
+
Gatm;mrRNt&cM.4@_[$)bubZOOWo)LdPU.!?KP-IZCI>1lG+YjiJo*a!jp7@rpbCErfH3IPtN?9,Z,\8[s7cc],QimGMp4,/^ZeK1jp0:&CPSf60(JAr(,G_MuR%,r]ElKR(QguiekB&9)LZDApmNbEZ/IpRV""f=mUi64Jsm/7agS6$_P'[9Dr!_?6%1P0^e'kl+s0OUAej[NMF].a\2Lk=Z:!`*cp>*U565lc]Sb@s%9l7kfllUlHGal7XMHqM!%ka_EorsMro71%$(]\^NHV<o4bb3bP009MR@i4F$oS,U0hG@PfE,RhojfrFgWieg&.,$T4n$@@iR*X$b\Ajk/25u_.,]^_;VqM6qQB^)pc"'nKL7($i;%O$VoT5PW?M&G_;?lMjkflIot.rq[[VKBhJ@Zi,csn4+KHPbp2.k!"S1N4:</"HYLT(d9'PAJt/a\+_3:e(SL[ONVN5oDr?h&Qr'L6WR,)1)bL(XL%IPH$@U>3<H9H+O$6MsV(B`+,lR6&"0'FK2R:n'=ku3fDPJqsd!<6gPnfU5qP7?LM9;"3PW)KBkn3hhap^ACXJ@CXJ_@?'>]7*o>#h[B\S`Kk#5IpOT(LA&TgL`f)U*GN,10T-`M*O@U'qoRgY+_\<h+JE:Y&lj)nFB+(;L9dU(Q;L08/])UMn^P6P+L5>,llVC-&@A'-eR[Ul^Z0pU.:a9E[FhR[7d(qt^[@gr#XS:K1n:,BBh+,mO"EOq%A9F2.MErS@,J,><DBYdhE\\biVD=oA,B'[6Mhh"%r?@hueWO!T1fQ7tkFkHo#h"mt<;f1dku.pWoeNQ!J3;/&,?,1t._.4pc2^K=O*W9[@Ch.1>.Za<2Z&-6Q7_Hppt/``[i4"%g1X]?]J+:M'<Q9d6,,Y]k3"i.$2>:daq_!:\khARe4r<DB],b!$_3$.UoY?Y-Z[;Hprd7HL?8UNekmiO8oUbeWN2&f\(WDYLUA^@!#S7T#oIqFWAa_#U-FcKi,NQ-V`i1Q$lN$`@6T-sEiflc60E(iP"'Q+%no#F]C%AGjD6&".-\tK,_Fs`TbJO8G`8GIe:s#eY*/3B[n_n%nB`Np]E+l)jS@tgC&>2__`iDm3_2W%&a.+j/kWX94?AIoSQpg]Xuc0I].CA`/Ji/jC*^rYbS<mCdC;<OZqZ0VtGQ,l7JD4%(W,V/&J/#o_`E9'RMY"o[nT#4u(D=akb5oK@9Z?YpQl?u[j3'?heq\jQ1Fd:PM%5k`)X;[Va/Uko5Y[#s3'lkVSddH]`o>\fa:3e*t!1[R1($#,B@jSP8$?8t[fLZEI4Iq$i5*;[?9eVk7Ri\A&Kljlgn]8>&*DS6KW5g'jN)X)s_^SrL/_4\_B;;0Oja'O.]r,kV-g@1o031_sb\2JR:sX]:;fai3-$>$a8bQnt._$0lG(V9BH`W9u(TdKGT22@'))%jmQNZ=Kh$g2I^>_o-NM>(n7r^DHqW"p]rn7+K+2l,P#*<^2(W2Wt&,C,(k80;*\hD'phho`W9"]k88mQZ;<*[&-W[5M5oTDFE%S*K7^K_79A!E=kP-hL&2K,HkN,72Q%jg0+(KIEA-mq%O%3D.G*%-,5H2'=Q9O?)nc2A*2RS`(;&ZF]_g_YqBE=op"oP_%(+=]TsNHP.9MY#FMkAZ`Im$snm53S;I(eD?:`4NhYIM*C0d;8?Zr;k+XZ9u16G5[ObNnfB6_0Y.EN"f"#nVA-p@>Ac3aCf/7SP7@eodtB7FGC5#p1CQLqDqbBW^^&"eWnI(Dpk4Ch/Fl73mZPaal6j-*;\=hRK'J'^W5J5"Q`n_S3dUXj8eRLXfcg4]].Ld?@(G>F9r+jhCH/nEpq[SDFBJZB'<d>YA7<\!c>*eV4`uql!sNgbIbDa[Cnop>`3?q<]%9La>/b#V(nKu=lt'DU+>6>SLVtfm41A*_(j(^fbJj^k(YBjaMO_/c=(XXkW$>c*MAJ7A7eY<\(''c]s*IG\hq_Ll9isq4u6=3ltkjp1J]Dh[gqG#J>HSQr+iNR?@Qgur5'b/8,3-2C@Rrh8&i8Ugn9O-DbpWR8jAXg?2P5R.k*a~>endstream
|
|
160
|
+
endobj
|
|
161
|
+
22 0 obj
|
|
162
|
+
<<
|
|
163
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1826
|
|
164
|
+
>>
|
|
165
|
+
stream
|
|
166
|
+
Gatm:D/\/e&H88.EA0'hh&KS$[aYchRO/NU-#4F2qm,Vl/^Y289%6DS=gn"<mmpTem%nU/ecu%=h(.s)kKX/Ghk'd?97ZU[9]dC@4tP=DKh_osCUdW@r-mY8;h#QPi-<]fIt?X81H.okjsLlna'RcDE=tX'7#jKiVVq=o.BL9IEPVsFfF8I4+to>Z;6(AM"/QRGXgAa3@H..A`*8e.e[`:YSLB4HKG("eeiLWs*#9pVY[\>hi_6gI4+Zih;`#)\+UlBtVtc\upSd"e;b*=.$d0/XYF*$M3P?!'!r*_m(Fg.5R%<7uM*8DNEm@YS"IALaq5s0A1_f^[m*DQ"\R6QR)K2jDRt`Vd\S^>?M%:Z@TRgMf0*_q]jut'!/qHU`o_._'O-_McE:rAT`?e3nh04,-dSC'"O&U2HER[#BVoEf9=jII-RoD=K0N)IY9<)[%M8m.g(;Y).$mY6Co0Udk/.Tr!A&WF2nCnKcP\pk$)o?[;7,!lr?eB11<=f=kejL-F6&J.@0qr%XWSj;D7U3c58>%4[n?C>S"nY/VT0es*]+e#*BOj`]2N6Kk3JKkeHjgs[;)&:'A5'A`B57`lTd?Jt\KI&83=r,$8FZ0O;GpX6P-%D/A]$C+3UPVqc;n2Gn!*tYUQW^*GVD[AN+sh8<hX55:p<8/A4G[eS`GdPm6K+^Rq)G?/++B/9GmaV2"mRr[D7YF[N[%,e`TS-"f7;t,jLck./!o&pL-9DT%](j&Fa]#_!)e,5rC1Y'F?(&&/?/,+$^4HLn%H2:V;%m7P8Mn9Ed5P1oi0dYQ3"]`t((pJntjIJ<mTlkc7\s?(@a]V=,G7(+J3UFpg(:KgKtiRVBM'P@!Jk1`3-i'>ZRN*-cC3bu!+b>(i'qish.>1N?b2UNPMg@_RP?`^gJ]"CY6\6>?nEVq/ZJp[&d?g@$*nEaBLq/&`3%_Sj-"3VIXIql[#>I[8A"j5R.NqC%rPl)pc<ge*HlPXK;Uh-sT;2YD=_(2#qVl^m:H]Jm.H4Y%pH@%W_;kUHH+=!'!/Lm]L6ou=m:>2eF:%*ra,n9B'*?sB\Z(e2+]RIegN?_N,'U!%k"$`]]m5SXc'k=h?H+cE=VrR`lmRb2U9U"(Edg>9Hi7,mSoR-L9f&&/SQIcu:MNrM7e6Jqeb*:1Y*E\QV^MJ;>mJC)LQ^h#r8*-$r9[O)tkDIErh:A!D9E8YB7@<kN&#/VW[WPZ(m..SK'i&L2:AB2ceUke?+@:O"e!MSC.++!BZWi*b0O:@B2.o>076qjJ`.9FSA.tPpl[I$iK@J'6TU92J,+TdR9]Fe)'Fsq#q(l-WD?K%@2+>RKZbtZ)u(pK5oM.o6;Z?1-7MQ26PB91G<4)4MkkQ5P6+hXLfc]C,0(+eM(GYj3gR\joGdK/h/3`t:rO]B\do!pTr7^=5M6*K!;Z!]AUU+jVj#\)Uk!"<5-N<$Du(2fYbZd4G3TI<E:1L^Xr83bimH.Nk_F`LIPGh3\EJ?o3LP`^J-STJ)l0982k%c@OsXWO0`K%.O!6GrOrNDLZNW45`s=lq&aVBSncftK6-YQ=jJVBMENu6nAe5jABA5CIMl)pf<?,21j)V)96q0CPi?k$QS?#Ue*"YIMrA]RYERIqQMu315PLQrHi`WA>@FEM%37_8>"iIQmloRt]+-O(eKk]iRg)P?;Rj-ieTof2lB'0p"!dh^ZA=oDU]k2P`ET*QQ6f)[E(1kOQ"t+8O^<i$mpCf0f\5B&]L:='6ap\e7S<B\O(2ogQ-maV"rO>.>0l-sd"g*kSeA.]9c4IS?\[M4(>KUSJUI&S5-b+l_+X&d(mLD8]:At:"`$?f~>endstream
|
|
167
|
+
endobj
|
|
168
|
+
23 0 obj
|
|
169
|
+
<<
|
|
170
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1859
|
|
171
|
+
>>
|
|
172
|
+
stream
|
|
173
|
+
GatU3;01G\&:XAWfO:X5Ugjm+80F(n-H<#H8OI@CQb!]_FPog1SU,L3\7tqhG>Aj-e7RJ=Ns/($]6iH0mHtQQJ:F9-AfH8e$Q*3)&4Wm+5o?pF(2mTh3;`$#"lj8/-c!T=MP#DfnK^Z&@+Jrt(T65VV<KgjA=B`9P)LQA^^+'@GSU:;VeIiR!_^DX,YI>ZES=P06ekeM1l8+r">"E@9^=RfYAm:"66*lIP0p'8K&6pF3G[&<.I/E%2bC>Q'II=3&YgRELW*bN9di+V#b.rkcVX\#%J4"#2s4srTed)G&&@YN=K-:a/7;D+B;X76[!0i(nGsCi;N.cR;8gmr12bpe*OFW7_:EKD_djD0)p^G;i'DlSNWTCh*=a_IR!N(.[))b>qV<g2<ss9Orp!qs6O8\SIN:24G!_d.o-eS+#*-\;Gng+rn#ZS6-S<Oq/qI6b@!(MKWUSqidL@:Yk_3Gt8K-(T6d4J<>/s-%#.5Y'r5G3,nVM2,![T)];TPuU1`WTn/!7[g.3/3-[cYpH4c)P"L)lIDC%MXm\\Yk?\R9!_@R.XZhs<9X^kM;<RUY=uoG[i+NFuM4P%(JQ,);H2)rO/9^_e4[.OWGtBDA!tFbKk`$Rg,:$i)_bj*D(PISUGi<L/?WRoYd/E$pNiej^/ul@X=.l2OZ.Sk+GEJXh$/Dkn&!*UXqgZ/SdBlmWF.1grZ`o7sjg.r@3"3K_WBmAESaF]^"IWXC]n=Y8hY'$tt8TA(@^!'R%NZ4K%QG,>o8h++:R>:Fa%a";>F;haB0#npSOFesO%]*2O_S*d>l4C6'"HpHb><K0<QUUV&m]Q0qrJVBso7fnE;jhcO:`_]o16I3#BaYis'[Armml<FY`.Vu(hjWL+2ABD13)94*6Zq"$[0CN*o0Xt#kgrd:hL%jeHgj7Xh/1X)n_%`U%_+.[0c=+c#_E"UHQCX7=3:;=kXV,N@F:CQjog@W*mVjZR#TI7Fh.dEIdA(`b!?9Ogro6Q#P#N3VNhkm7.g5+/<0-L]H/5%,G:0of,71j*HLU%+$N<s[FHa>Kq#_/#FoB"%Z?PC'.&3\>k*'QOC"8'f&!d"S@=<&=<+Q;YJn*IrR0/Mqk5uN]E,],N4NIktI3^U8l?P5O*@:<%hnZSA?@,K:)l)W5C%t_r[:l!tVMdbt23&nPqZ>RpQ,j?S2(7k]]N#_(TIOM@JR^'G.\+=NH/=rh*fG(^4SP>?=sjHWM)Z_op0(9Zj<Cchcrqi+][(aro>2UbpR"r]<&q*p7d2qW[;ja.U@cRp:!$DuN7C-ddO*PeV@pl.%^P!G<9CT=c_4@<cg4D2l>!66LM?Yq`5^gBM/BQ6<ph_Rf5jO(STEF-2*%RP9WakSZ^#<KB_Wm_Q:UP,?5@hnN>0_DO%QW5H=q5dOF(D<pT,$_$(^a.'O8"l2kmTA]LIdEpPt7hn$"Q]%OoWJnKh#.eer3If2CSOG^o[H_+Tb3kt[$tU*Q)cfom:jm@[brV(`j&]l%ccYMNRBgchdb=Q1"ZJc+O48D+D``b8j:bmh^I>A<3)W,_<2(:sTY=H>YMNo/TDNji7/e5mJl84t&uaWb1R#n\En5OshR(7\"A+#tk5A-%%9n1a3u!>`IBIDfPq+&D`a&n&=Z8ZRr;5-Ff:1m/,=H;(5"*d%:j+7cpIr(?'R<_H*t8/\@oSO?cq*biDk5H05Ag=#s`Z<558hXdF]M#aVHPn.YC_`a$%.&d'I!qOusncG3Gl-bj=d+tS)cJ/?2=NjVorr!%ddV'9R,O.UX/TFmr_^oY]>tmT?d16qokqJjE!/[MT,tMbA<i.P8Ib7Uq?C+,SGcibF29&moY8g@iADP1RHhDOdm_0BBo*]42!qmC$Q2~>endstream
|
|
174
|
+
endobj
|
|
175
|
+
24 0 obj
|
|
176
|
+
<<
|
|
177
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1772
|
|
178
|
+
>>
|
|
179
|
+
stream
|
|
180
|
+
Gatm;gN)%,&:O:Sm!,B`DF[0@^U-dSChM0SM&WM[1JEBEC6Ds*:pQtC^NZ$?-sEn+1oWU78-4-&B,>U)_*>EDAi7Ab96bIDK'U7Y!&n9d/:W5OjiO,Bb_`tl#_BN`Jp5#C+EkU9o]i5<iP\GnP,&D;BumqHN55$M$Ri_NEI\4,iqOt,d.Lm%*+XY3-58^!mUf$-UlG[2).h5^k5?fp#nmRGW$1fn_$E5)E-j@OSWMGPMajV4n$uk[.KWS&m][hN:JBnJ^`>d4S\>3L)U;Y\Hc&qE;Ip'jDh&?b)lYMPk-24BF4I?AC!(@&q$/Ic,9(\m^;gj>Ncs^)fsY6BK=cP/!-.?6JS-hm4IMk1@L&*L$=@%bOS3he.DW9Zp[<RBHF\]1^V.@oJf!?-2L&o`94oT4<:c72E+dg]aKk:.Q7nn-=_C-_2<25`<ZiGeTquEXEQj1dNW)l/PBAhJj%ase57>k6L,Ys1"Oq0\&%9uf>F"t8+@crXd9(:kKL_R?P'LMAT0AVR-Vaa>IL7k@ptjpJElAp+dee2^GsQXpF?l;'i`cM'\A$;>V?,?MT,c0'YLJHG&q)Y4U(ZWl.FoF-QDql=<KWl\J3.0u68VLKK"Fk)N6!D(1T8ApGPA0GX88'f>-+Pes-/7-4BUNW/h;s&HQRHG6Y@c>ptVQ:0(]3'd[$o>OB'F3.2Po2(T;J_f5N*<Z8'-lQShT1D(LW@ZXX.F,EKfR6,'nWU/8G`er'B[C]<#.NEtZV-1Zi*i4<a_c"UO\2cuj(n%n9a/>bs6MqQNcdqaK_9XWWUL2rQ/,)+4)]1VVkaHeRQ[sTc/4XcAk)fk`/k%X;)kBfma##cF)+4igN'X#ce"U6]XHb$u4;t3OXjUFOX=Go-mco$Ui7'[O9?=L3j2`Y-'B`V8tJ.89/9;_!_&lp-N,U.nC'D`Ieeqirm.44OE]u@]:?qRgmn2Af404Md2/3DZ!(<76<9N_Ht'VcLJhNY%oG6Wfi%<k`3B9MC`[K^[_gR=O<hjMN,5t[>MNeW[/'lR+n:67Y_/PM'4)8MhSBhKe3R4KLYZ[6bX#=0'L$M^IRnh'<9CUhsqg'[d4@Eqq10D/KG%.f3!a?*Nr]02sWGb,G0pBNHDV2.X9i*BpOF%_10T3hJh.RX<>c^$f`.5krP[D6*mooN1E_5&7c[WajG59T'c<:j($b3RYWnVk%B%2!+i126g_SOSFqMq_9gXG#>F6gU$A/oFuOGh4.=0'9,T!BNmuS.8]$'XEq?>01TH`2l?p,L]J+hTN"t>V4#F;T*Tm(XR3p@mP@[-(6F*WYVMK1gG@'#',9Dj@J+;bEFC'Y4*"=D,98qZ(bk"G#ro./SjW)A.iNIB,)UhB"Y.P$j`k"e*-t$n/,k3]]R](,]aD\\XKV-4-gZZJNXu!qE[]R>1B))=09%<.<(NO?KBB=r2!A@LJ<bP\YP`5eS/j*3'93'=W]e-\S:p?_<Z=3FRV-4@H?-O-j/"6,3FE-!KH))RXUNR;1sb5b_6sFRM'mh]@4V9Kl[#DGf#TrRijNrm<J^!:22h/nB.\*Kl4lD^QWlAmJTHW"U^&oSnr^8b8T+9DZlVng0N(H,)H;58;^IWhI&:ga,"mUTok)laEO'e1Jf13F;.0r=6F`(XC!XU+0oieab4Piro`%g.J<op"LjpCHH5AKC@NF&%(a+>n'8$r2a\6%G0k%(\8c1C7k+if$+>93IF_;4%N%p`Uh"tVZpn$6&,jB+_qrN*gktt@93>Q>P1;Nt-O1.q#UfWPJ+u5=~>endstream
|
|
181
|
+
endobj
|
|
182
|
+
25 0 obj
|
|
183
|
+
<<
|
|
184
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2071
|
|
185
|
+
>>
|
|
186
|
+
stream
|
|
187
|
+
Gatm<>BALX'RnB33%m@Wm1eSBG2IJ,1n.6a6PIn954&V#N"Xn98hu'frUG5Ffu?kJ9iE/8,>7mYq9Du`^rEi^IjR1kmkYf1FMMm)[KOX[I$f>:X4c/jB9jRL'0cK?#p[(abOm6+&;*O"$="Q2Yn]]I"@4#0mN`(SF[8i+^,r[;o&Igb@^#pSS%+#Pj%$dO55<B=.gl4,G/9')26g;*GE$Bi#^d_7#eYup_-\)8T/C(J>3a`I)kek0Fb116n8TZea7;TF9f+sbE#R8H:X=bu%d2G;9h@r1Gp3:g"o(]DA/r"`Cb)YYY)5&GEqLs,*b"b;A+V_N>UshB@CogtS+["'D!-L99I@2F4N[-5;1a*5gIMfl3<&,.>hd6H$D(&^DEhE4bi&?Vk4/l!@.+1=6Fq.IEkn,j^d/@pL)S`dC?1<!2aE6(Pgs$f_2<=?3K1it;RXJbr*%k-@.HEM>9rutcuKC'rMQi6XAMgE3(+cSr5P@XkI@[SoM/j4Bh94meSc[4*=R*CL>.DK$\^O0aD"Hj:VVu^HP6/Nqj=R0Q?;gOH!uq`;'uT#FW.&i,t]fSb=MDZ@J04W.8qP4dK3om=KRd[>mO%:"gt)g+N9M?Por\SY4bbXTuq)Cb_Ss6ElkYA29:>m$F5!u^hC*L=ZK0p8O.2$=jf^g>f`or\PRCqKhY:_1*`b<f&&Zr&"rn>g%%`Qo*k50'(B[?:sh<-0=C1=#"FDs-Q-IS,Z3/@idW34,_uum6L0Xif=2&/+D?X>_]Ed^,QN*fJlG.:601lDH`pjm]Dm.2"\H\%$K1bJWWhFej8oT4)+-jt8N:u2ckkmI[*8;gOGB#B?Sl(a@9V^B-(>6@5HibVI`I]B`;%<+Ml1.+2hRWjg+Q&B,m"Sn^Q[0'NX`,fIRK8CTi+470lp%a:\arLe<sJ@D!GoTR0;06l@)',l.33_%IA6PYI[T?S*Te1g>-"\2n.PM[qiHeDpN=EhN$t[1[E5HIOT<KId-?f\(<LOP(1ep%FF`B^.Cq[@NFAG9['mtN^eVd*#/AaO\ujuH:Tg1`R]XQC=hsk;XbZnOru_c(<ga#mR-MVKo*LNB9uiKRtW(m%b[!k9bEKUTbMn!(+@,q]u$qIKfNG$2<+bWTPI"UO>[gWX6GKU(f27&S751>hVskH89=(o=S%$T+9&9/,#/"/=;sU#-K,oFksS%DWLHq#CpmiN+5+6KU;C#i0@9h0mA-0"b``)`:):l,!+L,jopC\aLPp5Z=9sl7%tcnIOVK]6r\>5B1-&2[gQW!7l>r#!Gt)Mo*%DuL10J.a<%1%ja65c>-.s^*$YlBdX(lN,5/sXc-=EVe(k9/G\GQ0^rp%d6h-E`nmr)gIGMgCn*t:AWd`MN4n$oGl$t-DoQ#BUb<<#HGDs@>Nr:1-o7<%;.MLV']a4CRd@iV?r+I--("/N$^N*DOmn5?CTdRM8jRlh1:I@40gpH,4#3g7fh9QoM1;p_r\!EcXd@ZF%(M'T'QUaa!B>h-s!c>kqc>#WJ]/p_t>l3u3?dNS+j,-6n!dO'Q6<@F0^pDRMd$D\#]EJ'9R:MLO-6'Xe\kd*GbTKp(+;_2Xf7^cmKcGW6O2K8X3I9+ponJ!3YRjq:X3Pdga&k'kmWDIr,X:A-P%7Q.+,WGnTp;%?BRd9'@P-d+/;+G_[T$?+1$WE7TCCr;o5O-]p8WkIL9B!q<S\TT)a8"UjO1?^nQE,AN[%lqMRNk<)O62$.8>bnk_:"PT@s%RkUs`8B..a"iD-#/&gSiR]cFS:AKjIr%"^A"\i^=Ruh!BKXh%f)jqQ0+N[Gc41D$^8EkSU,7JelHDYYddFX/$L7=*B*Wdn>S4h\9afD`W/<0^lQWUa=F6T4,:64#H:uk8\oN>D*m/b"N*.$:0uc&ji?D:09"%=Q"diU5KN4@)mEe[XH\Y6J][b6#5:I?ac#Lc7aH;ZjHK\8;]XZrFQ.A#=AKLTL9]<S?6pgGbSDVJSpH\Z"AS(3_j'W"=*N>C"g=3=4["eFI5n-UK(Ar/IB9DmHAD8c*jk9;C<?QTHL/RdMCt)MM2IuWKS#?="&d>f'@iJ3;X52J^$4~>endstream
|
|
188
|
+
endobj
|
|
189
|
+
26 0 obj
|
|
190
|
+
<<
|
|
191
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1934
|
|
192
|
+
>>
|
|
193
|
+
stream
|
|
194
|
+
Gatm<>Ar7S'RnB33!_Db.pQ5?,tmN0etm*3U.*P\lcUt!N'uDo,Z1D:>h8S_n"Xc$*67Ba2Jc<IjS9;3ST`)ogSqsJN9L!RNF+a-\27EOj&mGJhU'C2i7!6g:YihXa`=7%7V'&9@/CP8j["pOTbCR;(kq$@^?#RuP['OhVo=i%Rk-3"m7B^3mn<f7Dt\G7@$=)e]@mU?0="lh_KJ`)lo@;L*^:prUQ#+Bd"(%'V%3g5fV+EgZDObNf#2_/.9Lh&"E>u2MH=3DZ,(.8%\=?'Af2V[$@Tp[r.U)&U48"`E`EI'doj*oeWc8FR>Q%X$dC;<p;C>I),4?dFG";J/f6-d%h3^JVB,nlh&JQ&0X4VD"3*6`",>j&/k*0R-K]hKBBS_iT,c2@oZpSl:2!>pIDAQJ2]=sLYi\)V^B8YW#'o4XaN$'^H)sT@35%I=UQVZnY'-L7_dJ;g9[!mCFqAu^GFN%1#oe+KUtn#+JU\#RfV&DHB/aohK+&2Qn_6Br]Hl)U/S/)ub7aqY?HPmZR*[?0X6#42SHrrW.np)'-sh`eTgD>P.7l/gF2b-:\K9.Xcmr8`mXTHib]<Pi2ER[#.SWgg"cKRMi"+%bnP&'Fa@je+<925kjmegA,k<psP$4/XDBl%*-)iBG,3.6L7Jbt%Gtr9CUH<-CWXX2nbH`>Rm/\Z%q*HV_`AH@u(V4P^<n*lDI&?[*Wf1Z:P;B)g=$)['#n]t@>a$LH*QMoBqK%F@7!.([V`]>r6S^!S65KpW"G-DW'%?][i1M1CAj.2O:<,-5TQ7@_QO//OJ>oC(qpu#m1I$<%Om8qt=Nk-p1u[`CfW^`U19"/XNdi!=2MQ7m,#A!9Q!K[d:r"Z@Mo1YhP::pi1&^i6Z#=B>+,Y#el^,H:HMlmp>i\W22Z;%M6o6*^GjAX8g%tNb%s/4;2)-u\2/4,PU?;h5RXB.N=A^1h[%od:D<IW?7]n^(baSN17M@,Y&ttDIUq.f%0L76sRKTI_"S3Ka2'Ho(q*Mkh26V2BZgh.;Q=QL<N&1'34N!JQ<S%:5hAML5A3*QFpP.b1c<(m,<)h#9Z!E0'&.M>L)&S$41e#&OnV]o@YKW$qO;C=We;2NgAFj]W)HbARCOHHLQrnLGbqZlV08?=gV:#18-ZY;)p4K\0nq`61lS7t>&t6;iOu!iVk,nS(QO.#BYQp<9=r.7EY);$rfF))h""*0$mm7a0$#,9pGj_)l&(cesPuf*p;G"A/,GDlP1)&,0T(Du]3CYUai4^d#"kujX0Kr99p_nBF4e3>)b`r9._DJl4-#`!qg?Idie1p"bf7L'Bg?@+(g8.L8Y!9)5k;c3(9$nnA`D[7dG=NQt\36dS);K`:]P4M10g#gRe.NKd"qr=,YA%jhD:)h*@el1bE]Hs,H]iY,ord?-1u3coh_L=0T!LP.4R:RY\-K*NQAVJ\6b$<",S,9CM[ZfZ\_M<bZ@'5tZ99-!XNpQPAF;oEeTNu'7NHV4Bo*[K1pCb/(j%UH-.t0;rO.#_p[r3@b&d8Q*7+KthRIj%c;CfIlrqK$f+'0sHq/+-;RER83CgFeqM%nKWXe[KJCmtHrS1r;dCj^5*?1JBa>u<31JEc)9YSob@&h?4(7k/u[(Z;a<#^MrIZ"Eo?(Tm^MdR(%[1Lh9gDmP"HsL*/Xo#2aTsJL"RYqm6C=E(^I#6rHRjQ1bLR.b9Rl\2<Yl)d)Tc&#jbIYp;MC/s;0IQsm5/^GVlYgn$-'.6@6HS"&mFU;s/<MmtOq+`h96@$T`r5:b;@1fVfOQU\h,Wm3<N5BsBeIAa/d^o\-;*m]6&GJF]tW`?/c("1(?<,>9!C32&=L-e^M%iWFWH[AmlfoI`UcBt1a9.Vl\dqe*\%)f6DM^;K>Iq]Mt-Vbo+u=@X=Q)S2K9]J*O8l"(.BSRm_fnLdjQ0!V]le#dqEjm*tN\Fa8~>endstream
|
|
195
|
+
endobj
|
|
196
|
+
27 0 obj
|
|
197
|
+
<<
|
|
198
|
+
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2140
|
|
199
|
+
>>
|
|
200
|
+
stream
|
|
201
|
+
Gau0D?#SK;&q0MX(uV,R>0&Nb75DZ,BPf-K5ocq_deg[$<t]#+b:]-%?1c23bYk6J<u.62>oU5NiGrSnbh$!DjPndts0IUHVZgA=o>pN;Yp(iC6<\c4lc%P\B9#(Hj"M[tRjPWh`t)Z=8kH54C-8#2WKSTA6;\X]IN2)(pIS"]rG^n^';gU*UuXpM&Go?)9UP00'N2GFm3GPr\ir-rm[:G3B)Wjt6j\Pj<>5UVY6<`TqL#_-4(50gB=]nQ$%+Cp@Z(d:_&Ohmi[8@2Gei(EN]dK2()=N.?^R6`b:Ajc7"5dH,'@*<GiuS3C*hL)\h)R[pU']fM]Z'Ar^MJ-,^qir[S-=[r<rgaFjlH3f^0^*.bluhd,)bp^qkaAmsI`E>QT*<c"qk'iVIR\n%[X_?./tfcP=/nl)/kXO$rT-ib20T:K_bs=j=FMW"&_se2\DK\n*>FNDeo+!Rl/e9g4W<^!Jg2>1JOjUoc&'>SmrFWDmq<Bb9]Zm03CiDr!AZq=@EL!:FR))hm5DKj]%QBdFY\f<S7j@?c5:NR5(L>73h$(lF7PNRTJ@ad.m[9PpWGs*@\H4)KtK^hSuV[jI2<NN-Q,qAm.JlG8rKX&;*f%fNmm]YR(el_7]a/m"btc1;rIC&2j;V-(kQ]5"mB[D]3(gbohHPq$jUU4',LNE12l]=g4>>BY-qb+.O2U2!;7f.KKBb6%Z'KUV*Sf\*<@:aN=_"Zn-TBr+fu=]o"F14ti.3QgPjekYnGSW%<bYV@]9.f)RcIs6pl0a\RAhSo#sR?fA".q,)p-FER&fc5@!f1.a_H\LWCI4[=!;j$K_167F=2DVld9ce3R$M.LPJ!1ae$R8ln/,oB9>H)uF<g;]QD_8SqbX_3<kd**&]:1JQ*I+`F,dO+Z[)tAAAA'Q+1l_Pffm-.^NV#JJYjs1.p)JY]Xn:`@9doSl&_$cR+SX$N'@_Vh-@)s7pgLP-g.>Eh_O""0[jaN22&o*oMNkt;V=PfI-OTnIp?bkZ57X_['lG-/^9RHgg>DA,[mf&WGF\K43p%Rhr?2"rF^BGdh^,&M2]L;@Nc2)1CLh++^N6LlW6e#$%>oSG)cA)1J3J&lA4hV`d39i:1?JfXS]GVF[F0$4NYEPPkGBVWn%VEMF`15rNERD-d7^C8"0q6ZXLR^XN2XfkZ'FJu3bjFhP$3=")/=s[\Yn_-`/79Sq(4gY?&L#<`r\t@GOd.m?L44:j,31PHAB=o^2^_)#-7J0B`rZuTG,SP_)Nr=q)HSF&cf7PPidEZkCpi)>@%X[eY7@Vk07.K$i*%>:RW<rQ,MH-Ps1d[E8q)rI8[:>n)iY2'hJ/\0`(5%Ec,R941MBl7GSkU!^NY%Ss]lPH2EC+X*3VcoS`[D8cWn6OebcaCKZ0.$(S:p+HD)A7OPujG4gkN;:iru'%q4FKeW&sD[9+>n$_\5R=DSg?J`pk4#H9j6Jh^q'cQ"5E_*G4M/rqI**Rlph)2M#d9>Q2,F1h#N(u)c(r0B>e/U,FU4M4Fr$[6W$)^:o3h=Au[kF%9=d[5mjSkpi>"2I5$FB!M,3TI,a^)SQ^"q_EAg<D],r=$+^;hc"'XQinE^hQVPa5(>K_4TSJe:-(jS5Nkl%$HN>aXi"`qDrp]G#TfqVEuJUg7RC",nfK0U&lpJDb3u5;Bo-2F[t7UPpXV3'dK4q<l`-I!0c@`=Mb@HL*WX7.eh>,X9,5QmiYTnTgLu?L$sSHo4M@IurZ)P^;:2otjR`UMMU%`?5Nm<Palr5u4]Gk6#fZR#Z:WjXp3@,kPB?&L5QL.mHKUT[8$T4V&P0qSV/'XZU,-.U+E8%Jsd(%fcJ'a/ds1X8hi$,e!**D>=UnDNGq:0-e!EmAfXtm<Yc,9S^49]t^4EU$oNF@FWet.0'+g>b!d58M07%^?*pr.TL%U[ZKd_"hd*E3?G?<Ih_Z^YAB<kYnIS#S+,N)s8*T84XUGk]mhW&ITCX&I!H91F`k]*Ql2c_W:Y5YM>KI]o?#?Im5Vrl#g`c43pD;M5Mf'>!'HfiCU#JB_q$e%A&Ds8G=$JI.f8eT^&YC5LmR@BK>sCK:<Ns"HW-q7HeNiBL'9J;U>#02!:EK)XVe/W:';(H9KOuUI.XBQimdZ,FgD+4Q$L3S^2,uTp*Tn^8=]~>endstream
|
|
202
|
+
endobj
|
|
203
|
+
xref
|
|
204
|
+
0 28
|
|
205
|
+
0000000000 65535 f
|
|
206
|
+
0000000061 00000 n
|
|
207
|
+
0000000112 00000 n
|
|
208
|
+
0000000219 00000 n
|
|
209
|
+
0000000331 00000 n
|
|
210
|
+
0000000536 00000 n
|
|
211
|
+
0000000641 00000 n
|
|
212
|
+
0000000846 00000 n
|
|
213
|
+
0000001051 00000 n
|
|
214
|
+
0000001256 00000 n
|
|
215
|
+
0000001461 00000 n
|
|
216
|
+
0000001667 00000 n
|
|
217
|
+
0000001873 00000 n
|
|
218
|
+
0000002063 00000 n
|
|
219
|
+
0000002253 00000 n
|
|
220
|
+
0000002488 00000 n
|
|
221
|
+
0000002702 00000 n
|
|
222
|
+
0000002948 00000 n
|
|
223
|
+
0000003018 00000 n
|
|
224
|
+
0000003352 00000 n
|
|
225
|
+
0000003457 00000 n
|
|
226
|
+
0000005550 00000 n
|
|
227
|
+
0000007698 00000 n
|
|
228
|
+
0000009616 00000 n
|
|
229
|
+
0000011567 00000 n
|
|
230
|
+
0000013431 00000 n
|
|
231
|
+
0000015594 00000 n
|
|
232
|
+
0000017620 00000 n
|
|
233
|
+
trailer
|
|
234
|
+
<<
|
|
235
|
+
/ID
|
|
236
|
+
[<e2fbf8aaba54187166a9ba816fb1dc58><e2fbf8aaba54187166a9ba816fb1dc58>]
|
|
237
|
+
% ReportLab generated PDF document -- digest (opensource)
|
|
238
|
+
|
|
239
|
+
/Info 18 0 R
|
|
240
|
+
/Root 17 0 R
|
|
241
|
+
/Size 28
|
|
242
|
+
>>
|
|
243
|
+
startxref
|
|
244
|
+
19852
|
|
245
|
+
%%EOF
|