Merge lp:~vauxoo/openerp-mexico-localization/7.0_l10n_mx_add_sheme_xsd_dev_carlos into lp:openerp-mexico-localization/7.0
- 7.0_l10n_mx_add_sheme_xsd_dev_carlos
- Merge into 7.0
Proposed by
Juan Carlos Hernandez
Status: | Merged |
---|---|
Merged at revision: | 299 |
Proposed branch: | lp:~vauxoo/openerp-mexico-localization/7.0_l10n_mx_add_sheme_xsd_dev_carlos |
Merge into: | lp:openerp-mexico-localization/7.0 |
Diff against target: | 10958 lines |
To merge this branch: | bzr merge lp:~vauxoo/openerp-mexico-localization/7.0_l10n_mx_add_sheme_xsd_dev_carlos |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenERP Mexico Maintainer | Pending | ||
Review via email: mp+186693@code.launchpad.net |
Commit message
Description of the change
se agrego sheme para parsear el xml antes de confirmar.
se corrigio la funcion signal_cancel ya que no estaba cancelando con cbb ni con cfd
se agrego archivo cfdv32.xsd
To post a comment you must log in.
- 297. By Moisés López - http://www.vauxoo.com
-
[FIX] [l10n_mx_
partner_ address] Fix NameError: global name 'openerp' is not defined - 298. By Moisés López - http://www.vauxoo.com
-
[REF][l10n_
mx_invoice_ datetime] Comment order invoice - 299. By Isaac López Zúñiga
-
[MERGE] adds xml's validation using xsd files
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'l10n_mx_facturae/SAT/cfdv2.0.xsd' |
2 | === added file 'l10n_mx_facturae/SAT/cfdv2.2.xsd' |
3 | --- l10n_mx_facturae/SAT/cfdv2.2.xsd 1970-01-01 00:00:00 +0000 |
4 | +++ l10n_mx_facturae/SAT/cfdv2.2.xsd 2013-09-25 00:33:17 +0000 |
5 | @@ -0,0 +1,919 @@ |
6 | +<?xml version="1.0" encoding="UTF-8"?> |
7 | +<xs:schema xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/cfd/2" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
8 | + <xs:element name="Comprobante"> |
9 | + <xs:annotation> |
10 | + <xs:documentation>Estándar para la expresión de comprobantes fiscales digitales.</xs:documentation> |
11 | + </xs:annotation> |
12 | + <xs:complexType> |
13 | + <xs:sequence> |
14 | + <xs:element name="Emisor"> |
15 | + <xs:annotation> |
16 | + <xs:documentation>Nodo requerido para expresar la información del contribuyente emisor del comprobante.</xs:documentation> |
17 | + </xs:annotation> |
18 | + <xs:complexType> |
19 | + <xs:sequence> |
20 | + <xs:element name="DomicilioFiscal" type="t_UbicacionFiscal" minOccurs="0"> |
21 | + <xs:annotation> |
22 | + <xs:documentation>Nodo opcional para precisar la información de ubicación del domicilio fiscal del contribuyente emisor</xs:documentation> |
23 | + </xs:annotation> |
24 | + </xs:element> |
25 | + <xs:element name="ExpedidoEn" type="t_Ubicacion" minOccurs="0"> |
26 | + <xs:annotation> |
27 | + <xs:documentation>Nodo opcional para precisar la información de ubicación del domicilio en donde es emitido el comprobante fiscal en caso de que sea distinto del domicilio fiscal del contribuyente emisor.</xs:documentation> |
28 | + </xs:annotation> |
29 | + </xs:element> |
30 | + <xs:sequence> |
31 | + <xs:element name="RegimenFiscal" maxOccurs="unbounded"> |
32 | + <xs:annotation> |
33 | + <xs:documentation>Nodo requerido para incorporar los regÃmenes en los que tributa el contribuyente emisor. Puede contener más de un régimen.</xs:documentation> |
34 | + </xs:annotation> |
35 | + <xs:complexType> |
36 | + <xs:attribute name="Regimen" use="required"> |
37 | + <xs:annotation> |
38 | + <xs:documentation>Atributo requerido para incorporar el nombre del régimen en el que tributa el contribuyente emisor.</xs:documentation> |
39 | + </xs:annotation> |
40 | + <xs:simpleType> |
41 | + <xs:restriction base="xs:string"> |
42 | + <xs:minLength value="1"/> |
43 | + <xs:whiteSpace value="collapse"/> |
44 | + </xs:restriction> |
45 | + </xs:simpleType> |
46 | + </xs:attribute> |
47 | + </xs:complexType> |
48 | + </xs:element> |
49 | + </xs:sequence> |
50 | + </xs:sequence> |
51 | + <xs:attribute name="rfc" type="t_RFC" use="required"> |
52 | + <xs:annotation> |
53 | + <xs:documentation>Atributo requerido para la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante sin guiones o espacios.</xs:documentation> |
54 | + </xs:annotation> |
55 | + </xs:attribute> |
56 | + <xs:attribute name="nombre"> |
57 | + <xs:annotation> |
58 | + <xs:documentation>Atributo opcional para el nombre, denominación o razón social del contribuyente emisor del comprobante.</xs:documentation> |
59 | + </xs:annotation> |
60 | + <xs:simpleType> |
61 | + <xs:restriction base="xs:string"> |
62 | + <xs:minLength value="1"/> |
63 | + <xs:whiteSpace value="collapse"/> |
64 | + </xs:restriction> |
65 | + </xs:simpleType> |
66 | + </xs:attribute> |
67 | + </xs:complexType> |
68 | + </xs:element> |
69 | + <xs:element name="Receptor"> |
70 | + <xs:annotation> |
71 | + <xs:documentation>Nodo requerido para precisar la información del contribuyente receptor del comprobante.</xs:documentation> |
72 | + </xs:annotation> |
73 | + <xs:complexType> |
74 | + <xs:sequence> |
75 | + <xs:element name="Domicilio" type="t_Ubicacion" minOccurs="0"> |
76 | + <xs:annotation> |
77 | + <xs:documentation>Nodo para la definición de la ubicación donde se da el domicilio del receptor del comprobante fiscal.</xs:documentation> |
78 | + </xs:annotation> |
79 | + </xs:element> |
80 | + </xs:sequence> |
81 | + <xs:attribute name="rfc" type="t_RFC" use="required"> |
82 | + <xs:annotation> |
83 | + <xs:documentation>Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.</xs:documentation> |
84 | + </xs:annotation> |
85 | + </xs:attribute> |
86 | + <xs:attribute name="nombre" use="optional"> |
87 | + <xs:annotation> |
88 | + <xs:documentation>Atributo opcional para el nombre, denominación o razón social del contribuyente receptor del comprobante.</xs:documentation> |
89 | + </xs:annotation> |
90 | + <xs:simpleType> |
91 | + <xs:restriction base="xs:string"> |
92 | + <xs:minLength value="1"/> |
93 | + <xs:whiteSpace value="collapse"/> |
94 | + </xs:restriction> |
95 | + </xs:simpleType> |
96 | + </xs:attribute> |
97 | + </xs:complexType> |
98 | + </xs:element> |
99 | + <xs:element name="Conceptos"> |
100 | + <xs:annotation> |
101 | + <xs:documentation>Nodo requerido para enlistar los conceptos cubiertos por el comprobante.</xs:documentation> |
102 | + </xs:annotation> |
103 | + <xs:complexType> |
104 | + <xs:sequence> |
105 | + <xs:element name="Concepto" maxOccurs="unbounded"> |
106 | + <xs:annotation> |
107 | + <xs:documentation>Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante.</xs:documentation> |
108 | + </xs:annotation> |
109 | + <xs:complexType> |
110 | + <xs:choice minOccurs="0"> |
111 | + <xs:element name="InformacionAduanera" type="t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> |
112 | + <xs:annotation> |
113 | + <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancÃas importadas.</xs:documentation> |
114 | + </xs:annotation> |
115 | + </xs:element> |
116 | + <xs:element name="CuentaPredial" minOccurs="0"> |
117 | + <xs:annotation> |
118 | + <xs:documentation>Nodo opcional para asentar el número de cuenta predial con el que fue registrado el inmueble, en el sistema catastral de la entidad federativa de que trate. o bien para incorporar los datos de identificación del certificado de participación inmobiliaria no amortizable.</xs:documentation> |
119 | + </xs:annotation> |
120 | + <xs:complexType> |
121 | + <xs:attribute name="numero" use="required"> |
122 | + <xs:annotation> |
123 | + <xs:documentation>Atributo requerido para precisar el número de la cuenta predial del inmueble cubierto por el presente concepto, o bien para incorporar los datos de identificación del certificado de participación inmobiliaria no amortizable, tratándose de arrendamiento.</xs:documentation> |
124 | + </xs:annotation> |
125 | + <xs:simpleType> |
126 | + <xs:restriction base="xs:string"> |
127 | + <xs:whiteSpace value="collapse"/> |
128 | + <xs:minLength value="1"/> |
129 | + </xs:restriction> |
130 | + </xs:simpleType> |
131 | + </xs:attribute> |
132 | + </xs:complexType> |
133 | + </xs:element> |
134 | + <xs:element name="ComplementoConcepto" minOccurs="0"> |
135 | + <xs:annotation> |
136 | + <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios de extensión al concepto, definidos por el SAT, de acuerdo a disposiciones particulares a un sector o actividad especifica.</xs:documentation> |
137 | + </xs:annotation> |
138 | + <xs:complexType> |
139 | + <xs:sequence> |
140 | + <xs:any minOccurs="0" maxOccurs="unbounded"/> |
141 | + </xs:sequence> |
142 | + </xs:complexType> |
143 | + </xs:element> |
144 | + <xs:element name="Parte" minOccurs="0" maxOccurs="unbounded"> |
145 | + <xs:annotation> |
146 | + <xs:documentation>Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital</xs:documentation> |
147 | + </xs:annotation> |
148 | + <xs:complexType> |
149 | + <xs:sequence> |
150 | + <xs:element name="InformacionAduanera" type="t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> |
151 | + <xs:annotation> |
152 | + <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.</xs:documentation> |
153 | + </xs:annotation> |
154 | + </xs:element> |
155 | + </xs:sequence> |
156 | + <xs:attribute name="cantidad" use="required"> |
157 | + <xs:annotation> |
158 | + <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.</xs:documentation> |
159 | + </xs:annotation> |
160 | + <xs:simpleType> |
161 | + <xs:restriction base="xs:decimal"> |
162 | + <xs:whiteSpace value="collapse"/> |
163 | + </xs:restriction> |
164 | + </xs:simpleType> |
165 | + </xs:attribute> |
166 | + <xs:attribute name="unidad" use="optional"> |
167 | + <xs:annotation> |
168 | + <xs:documentation>Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.</xs:documentation> |
169 | + </xs:annotation> |
170 | + <xs:simpleType> |
171 | + <xs:restriction base="xs:string"> |
172 | + <xs:whiteSpace value="collapse"/> |
173 | + <xs:minLength value="1"/> |
174 | + </xs:restriction> |
175 | + </xs:simpleType> |
176 | + </xs:attribute> |
177 | + <xs:attribute name="noIdentificacion" use="optional"> |
178 | + <xs:annotation> |
179 | + <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.</xs:documentation> |
180 | + </xs:annotation> |
181 | + <xs:simpleType> |
182 | + <xs:restriction base="xs:string"> |
183 | + <xs:minLength value="1"/> |
184 | + <xs:whiteSpace value="collapse"/> |
185 | + </xs:restriction> |
186 | + </xs:simpleType> |
187 | + </xs:attribute> |
188 | + <xs:attribute name="descripcion" use="required"> |
189 | + <xs:annotation> |
190 | + <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.</xs:documentation> |
191 | + </xs:annotation> |
192 | + <xs:simpleType> |
193 | + <xs:restriction base="xs:string"> |
194 | + <xs:minLength value="1"/> |
195 | + <xs:whiteSpace value="collapse"/> |
196 | + </xs:restriction> |
197 | + </xs:simpleType> |
198 | + </xs:attribute> |
199 | + <xs:attribute name="valorUnitario" type="t_Importe" use="optional"> |
200 | + <xs:annotation> |
201 | + <xs:documentation>Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.</xs:documentation> |
202 | + </xs:annotation> |
203 | + </xs:attribute> |
204 | + <xs:attribute name="importe" type="t_Importe" use="optional"> |
205 | + <xs:annotation> |
206 | + <xs:documentation>Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.</xs:documentation> |
207 | + </xs:annotation> |
208 | + </xs:attribute> |
209 | + </xs:complexType> |
210 | + </xs:element> |
211 | + </xs:choice> |
212 | + <xs:attribute name="cantidad" use="required"> |
213 | + <xs:annotation> |
214 | + <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.</xs:documentation> |
215 | + </xs:annotation> |
216 | + <xs:simpleType> |
217 | + <xs:restriction base="xs:decimal"> |
218 | + <xs:whiteSpace value="collapse"/> |
219 | + </xs:restriction> |
220 | + </xs:simpleType> |
221 | + </xs:attribute> |
222 | + <xs:attribute name="unidad" use="required"> |
223 | + <xs:annotation> |
224 | + <xs:documentation>Atributo requerido para precisar la unidad de medida aplicable para la cantidad expresada en el concepto.</xs:documentation> |
225 | + </xs:annotation> |
226 | + <xs:simpleType> |
227 | + <xs:restriction base="xs:string"> |
228 | + <xs:whiteSpace value="collapse"/> |
229 | + <xs:minLength value="1"/> |
230 | + </xs:restriction> |
231 | + </xs:simpleType> |
232 | + </xs:attribute> |
233 | + <xs:attribute name="noIdentificacion" use="optional"> |
234 | + <xs:annotation> |
235 | + <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por el presente concepto.</xs:documentation> |
236 | + </xs:annotation> |
237 | + <xs:simpleType> |
238 | + <xs:restriction base="xs:string"> |
239 | + <xs:minLength value="1"/> |
240 | + <xs:whiteSpace value="collapse"/> |
241 | + </xs:restriction> |
242 | + </xs:simpleType> |
243 | + </xs:attribute> |
244 | + <xs:attribute name="descripcion" use="required"> |
245 | + <xs:annotation> |
246 | + <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.</xs:documentation> |
247 | + </xs:annotation> |
248 | + <xs:simpleType> |
249 | + <xs:restriction base="xs:string"> |
250 | + <xs:minLength value="1"/> |
251 | + <xs:whiteSpace value="collapse"/> |
252 | + </xs:restriction> |
253 | + </xs:simpleType> |
254 | + </xs:attribute> |
255 | + <xs:attribute name="valorUnitario" type="t_Importe" use="required"> |
256 | + <xs:annotation> |
257 | + <xs:documentation>Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.</xs:documentation> |
258 | + </xs:annotation> |
259 | + </xs:attribute> |
260 | + <xs:attribute name="importe" type="t_Importe" use="required"> |
261 | + <xs:annotation> |
262 | + <xs:documentation>Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto.</xs:documentation> |
263 | + </xs:annotation> |
264 | + </xs:attribute> |
265 | + </xs:complexType> |
266 | + </xs:element> |
267 | + </xs:sequence> |
268 | + </xs:complexType> |
269 | + </xs:element> |
270 | + <xs:element name="Impuestos"> |
271 | + <xs:annotation> |
272 | + <xs:documentation>Nodo requerido para capturar los impuestos aplicables.</xs:documentation> |
273 | + </xs:annotation> |
274 | + <xs:complexType> |
275 | + <xs:sequence> |
276 | + <xs:element name="Retenciones" minOccurs="0"> |
277 | + <xs:annotation> |
278 | + <xs:documentation>Nodo opcional para capturar los impuestos retenidos aplicables</xs:documentation> |
279 | + </xs:annotation> |
280 | + <xs:complexType> |
281 | + <xs:sequence> |
282 | + <xs:element name="Retencion" maxOccurs="unbounded"> |
283 | + <xs:annotation> |
284 | + <xs:documentation>Nodo para la información detallada de una retención de impuesto especÃfico</xs:documentation> |
285 | + </xs:annotation> |
286 | + <xs:complexType> |
287 | + <xs:attribute name="impuesto" use="required"> |
288 | + <xs:annotation> |
289 | + <xs:documentation>Atributo requerido para señalar el tipo de impuesto retenido</xs:documentation> |
290 | + </xs:annotation> |
291 | + <xs:simpleType> |
292 | + <xs:restriction base="xs:string"> |
293 | + <xs:whiteSpace value="collapse"/> |
294 | + <xs:enumeration value="ISR"> |
295 | + <xs:annotation> |
296 | + <xs:documentation>Impuesto sobre la renta</xs:documentation> |
297 | + </xs:annotation> |
298 | + </xs:enumeration> |
299 | + <xs:enumeration value="IVA"> |
300 | + <xs:annotation> |
301 | + <xs:documentation>Impuesto al Valor Agregado</xs:documentation> |
302 | + </xs:annotation> |
303 | + </xs:enumeration> |
304 | + </xs:restriction> |
305 | + </xs:simpleType> |
306 | + </xs:attribute> |
307 | + <xs:attribute name="importe" type="t_Importe" use="required"> |
308 | + <xs:annotation> |
309 | + <xs:documentation>Atributo requerido para señalar el importe o monto del impuesto retenido</xs:documentation> |
310 | + </xs:annotation> |
311 | + </xs:attribute> |
312 | + </xs:complexType> |
313 | + </xs:element> |
314 | + </xs:sequence> |
315 | + </xs:complexType> |
316 | + </xs:element> |
317 | + <xs:element name="Traslados" minOccurs="0"> |
318 | + <xs:annotation> |
319 | + <xs:documentation>Nodo opcional para asentar o referir los impuestos trasladados aplicables</xs:documentation> |
320 | + </xs:annotation> |
321 | + <xs:complexType> |
322 | + <xs:sequence> |
323 | + <xs:element name="Traslado" maxOccurs="unbounded"> |
324 | + <xs:annotation> |
325 | + <xs:documentation>Nodo para la información detallada de un traslado de impuesto especÃfico</xs:documentation> |
326 | + </xs:annotation> |
327 | + <xs:complexType> |
328 | + <xs:attribute name="impuesto" use="required"> |
329 | + <xs:annotation> |
330 | + <xs:documentation>Atributo requerido para señalar el tipo de impuesto trasladado</xs:documentation> |
331 | + </xs:annotation> |
332 | + <xs:simpleType> |
333 | + <xs:restriction base="xs:string"> |
334 | + <xs:whiteSpace value="collapse"/> |
335 | + <xs:enumeration value="IVA"> |
336 | + <xs:annotation> |
337 | + <xs:documentation>Impuesto al Valor Agregado</xs:documentation> |
338 | + </xs:annotation> |
339 | + </xs:enumeration> |
340 | + <xs:enumeration value="IEPS"> |
341 | + <xs:annotation> |
342 | + <xs:documentation>Impuesto especial sobre productos y servicios</xs:documentation> |
343 | + </xs:annotation> |
344 | + </xs:enumeration> |
345 | + </xs:restriction> |
346 | + </xs:simpleType> |
347 | + </xs:attribute> |
348 | + <xs:attribute name="tasa" type="t_Importe" use="required"> |
349 | + <xs:annotation> |
350 | + <xs:documentation>Atributo requerido para señalar la tasa del impuesto que se traslada por cada concepto amparado en el comprobante</xs:documentation> |
351 | + </xs:annotation> |
352 | + </xs:attribute> |
353 | + <xs:attribute name="importe" type="t_Importe" use="required"> |
354 | + <xs:annotation> |
355 | + <xs:documentation>Atributo requerido para señalar el importe del impuesto trasladado</xs:documentation> |
356 | + </xs:annotation> |
357 | + </xs:attribute> |
358 | + </xs:complexType> |
359 | + </xs:element> |
360 | + </xs:sequence> |
361 | + </xs:complexType> |
362 | + </xs:element> |
363 | + </xs:sequence> |
364 | + <xs:attribute name="totalImpuestosRetenidos" type="t_Importe" use="optional"> |
365 | + <xs:annotation> |
366 | + <xs:documentation>Atributo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital.</xs:documentation> |
367 | + </xs:annotation> |
368 | + </xs:attribute> |
369 | + <xs:attribute name="totalImpuestosTrasladados" type="t_Importe" use="optional"> |
370 | + <xs:annotation> |
371 | + <xs:documentation>Atributo opcional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital.</xs:documentation> |
372 | + </xs:annotation> |
373 | + </xs:attribute> |
374 | + </xs:complexType> |
375 | + </xs:element> |
376 | + <xs:element name="Complemento" minOccurs="0"> |
377 | + <xs:annotation> |
378 | + <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios determinados por el SAT, de acuerdo a las disposiciones particulares a un sector o actividad especÃfica.</xs:documentation> |
379 | + </xs:annotation> |
380 | + <xs:complexType> |
381 | + <xs:sequence> |
382 | + <xs:any minOccurs="0" maxOccurs="unbounded"/> |
383 | + </xs:sequence> |
384 | + </xs:complexType> |
385 | + </xs:element> |
386 | + <xs:element name="Addenda" minOccurs="0"> |
387 | + <xs:annotation> |
388 | + <xs:documentation>Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato de origen.</xs:documentation> |
389 | + </xs:annotation> |
390 | + <xs:complexType> |
391 | + <xs:sequence> |
392 | + <xs:any minOccurs="0" maxOccurs="unbounded"/> |
393 | + </xs:sequence> |
394 | + </xs:complexType> |
395 | + </xs:element> |
396 | + </xs:sequence> |
397 | + <xs:attribute name="version" use="required" fixed="2.2"> |
398 | + <xs:annotation> |
399 | + <xs:documentation>Atributo requerido con valor prefijado a 2.2 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.</xs:documentation> |
400 | + </xs:annotation> |
401 | + <xs:simpleType> |
402 | + <xs:restriction base="xs:string"> |
403 | + <xs:whiteSpace value="collapse"/> |
404 | + </xs:restriction> |
405 | + </xs:simpleType> |
406 | + </xs:attribute> |
407 | + <xs:attribute name="serie" use="optional"> |
408 | + <xs:annotation> |
409 | + <xs:documentation>Atributo opcional para precisar la serie a la que corresponde el comprobante. Este atributo acepta una cadena de caracteres alfabéticos de 1 a 10 caracteres sin incluir caracteres acentuados.</xs:documentation> |
410 | + </xs:annotation> |
411 | + <xs:simpleType> |
412 | + <xs:restriction base="xs:string"> |
413 | + <xs:minLength value="1"/> |
414 | + <xs:maxLength value="10"/> |
415 | + <xs:whiteSpace value="collapse"/> |
416 | + </xs:restriction> |
417 | + </xs:simpleType> |
418 | + </xs:attribute> |
419 | + <xs:attribute name="folio" use="required"> |
420 | + <xs:annotation> |
421 | + <xs:documentation>Atributo requerido que acepta un valor numérico entero superior a 0 que expresa el folio del comprobante.</xs:documentation> |
422 | + </xs:annotation> |
423 | + <xs:simpleType> |
424 | + <xs:restriction base="xs:string"> |
425 | + <xs:minLength value="1"/> |
426 | + <xs:maxLength value="20"/> |
427 | + <xs:whiteSpace value="collapse"/> |
428 | + <xs:pattern value="[0-9]+"/> |
429 | + </xs:restriction> |
430 | + </xs:simpleType> |
431 | + </xs:attribute> |
432 | + <xs:attribute name="fecha" use="required"> |
433 | + <xs:annotation> |
434 | + <xs:documentation>Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> |
435 | + </xs:annotation> |
436 | + <xs:simpleType> |
437 | + <xs:restriction base="xs:dateTime"> |
438 | + <xs:whiteSpace value="collapse"/> |
439 | + </xs:restriction> |
440 | + </xs:simpleType> |
441 | + </xs:attribute> |
442 | + <xs:attribute name="sello" use="required"> |
443 | + <xs:annotation> |
444 | + <xs:documentation>Atributo requerido para contener el sello digital del comprobante fiscal, al que hacen referencia las reglas de resolución miscelánea aplicable. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation> |
445 | + </xs:annotation> |
446 | + <xs:simpleType> |
447 | + <xs:restriction base="xs:string"> |
448 | + <xs:whiteSpace value="collapse"/> |
449 | + </xs:restriction> |
450 | + </xs:simpleType> |
451 | + </xs:attribute> |
452 | + <xs:attribute name="noAprobacion" use="required"> |
453 | + <xs:annotation> |
454 | + <xs:documentation>Atributo requerido para precisar el número de aprobación emitido por el SAT, para el rango de folios al que pertenece el folio particular que ampara el comprobante fiscal digital.</xs:documentation> |
455 | + </xs:annotation> |
456 | + <xs:simpleType> |
457 | + <xs:restriction base="xs:integer"> |
458 | + <xs:whiteSpace value="collapse"/> |
459 | + </xs:restriction> |
460 | + </xs:simpleType> |
461 | + </xs:attribute> |
462 | + <xs:attribute name="anoAprobacion" use="required"> |
463 | + <xs:annotation> |
464 | + <xs:documentation>Atributo requerido para precisar el año en que se solicito el folio que se están utilizando para emitir el comprobante fiscal digital.</xs:documentation> |
465 | + </xs:annotation> |
466 | + <xs:simpleType> |
467 | + <xs:restriction base="xs:integer"> |
468 | + <xs:whiteSpace value="collapse"/> |
469 | + <xs:totalDigits value="4"/> |
470 | + </xs:restriction> |
471 | + </xs:simpleType> |
472 | + </xs:attribute> |
473 | + <xs:attribute name="formaDePago" use="required"> |
474 | + <xs:annotation> |
475 | + <xs:documentation>Atributo requerido para precisar la forma de pago que aplica para este comprobante fiscal digital. Se utiliza para expresar Pago en una sola exhibición o número de parcialidad pagada contra el total de parcialidades, Parcialidad 1 de X. </xs:documentation> |
476 | + </xs:annotation> |
477 | + <xs:simpleType> |
478 | + <xs:restriction base="xs:string"> |
479 | + <xs:whiteSpace value="collapse"/> |
480 | + </xs:restriction> |
481 | + </xs:simpleType> |
482 | + </xs:attribute> |
483 | + <xs:attribute name="noCertificado" use="required"> |
484 | + <xs:annotation> |
485 | + <xs:documentation> Atributo requerido para expresar el número de serie del certificado de sello digital que ampara al comprobante, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation> |
486 | + </xs:annotation> |
487 | + <xs:simpleType> |
488 | + <xs:restriction base="xs:string"> |
489 | + <xs:length value="20"/> |
490 | + <xs:whiteSpace value="collapse"/> |
491 | + </xs:restriction> |
492 | + </xs:simpleType> |
493 | + </xs:attribute> |
494 | + <xs:attribute name="certificado" use="optional"> |
495 | + <xs:annotation> |
496 | + <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al comprobante como texto, en formato base 64.</xs:documentation> |
497 | + </xs:annotation> |
498 | + <xs:simpleType> |
499 | + <xs:restriction base="xs:string"> |
500 | + <xs:whiteSpace value="collapse"/> |
501 | + </xs:restriction> |
502 | + </xs:simpleType> |
503 | + </xs:attribute> |
504 | + <xs:attribute name="condicionesDePago" use="optional"> |
505 | + <xs:annotation> |
506 | + <xs:documentation>Atributo opcional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital.</xs:documentation> |
507 | + </xs:annotation> |
508 | + <xs:simpleType> |
509 | + <xs:restriction base="xs:string"> |
510 | + <xs:whiteSpace value="collapse"/> |
511 | + <xs:minLength value="1"/> |
512 | + </xs:restriction> |
513 | + </xs:simpleType> |
514 | + </xs:attribute> |
515 | + <xs:attribute name="subTotal" type="t_Importe" use="required"> |
516 | + <xs:annotation> |
517 | + <xs:documentation>Atributo requerido para representar la suma de los importes antes de descuentos e impuestos.</xs:documentation> |
518 | + </xs:annotation> |
519 | + </xs:attribute> |
520 | + <xs:attribute name="descuento" type="t_Importe" use="optional"> |
521 | + <xs:annotation> |
522 | + <xs:documentation>Atributo opcional para representar el importe total de los descuentos aplicables antes de impuestos.</xs:documentation> |
523 | + </xs:annotation> |
524 | + </xs:attribute> |
525 | + <xs:attribute name="motivoDescuento" use="optional"> |
526 | + <xs:annotation> |
527 | + <xs:documentation>Atributo opcional para expresar el motivo del descuento aplicable.</xs:documentation> |
528 | + </xs:annotation> |
529 | + <xs:simpleType> |
530 | + <xs:restriction base="xs:string"> |
531 | + <xs:minLength value="1"/> |
532 | + <xs:whiteSpace value="collapse"/> |
533 | + </xs:restriction> |
534 | + </xs:simpleType> |
535 | + </xs:attribute> |
536 | + <xs:attribute name="TipoCambio" type="xs:string"> |
537 | + <xs:annotation> |
538 | + <xs:documentation>Atributo opcional para representar el tipo de cambio conforme a la moneda usada</xs:documentation> |
539 | + </xs:annotation> |
540 | + </xs:attribute> |
541 | + <xs:attribute name="Moneda"> |
542 | + <xs:annotation> |
543 | + <xs:documentation>Atributo opcional para expresar la moneda utilizada para expresar los montos </xs:documentation> |
544 | + </xs:annotation> |
545 | + <xs:simpleType> |
546 | + <xs:restriction base="xs:string"> |
547 | + <xs:whiteSpace value="collapse"/> |
548 | + </xs:restriction> |
549 | + </xs:simpleType> |
550 | + </xs:attribute> |
551 | + <xs:attribute name="total" type="t_Importe" use="required"> |
552 | + <xs:annotation> |
553 | + <xs:documentation>Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más los impuestos trasladados, menos los impuestos retenidos.</xs:documentation> |
554 | + </xs:annotation> |
555 | + </xs:attribute> |
556 | + <xs:attribute name="tipoDeComprobante" use="required"> |
557 | + <xs:annotation> |
558 | + <xs:documentation>Atributo requerido para expresar el efecto del comprobante fiscal para el contribuyente emisor.</xs:documentation> |
559 | + </xs:annotation> |
560 | + <xs:simpleType> |
561 | + <xs:restriction base="xs:string"> |
562 | + <xs:enumeration value="ingreso"/> |
563 | + <xs:enumeration value="egreso"/> |
564 | + <xs:enumeration value="traslado"/> |
565 | + </xs:restriction> |
566 | + </xs:simpleType> |
567 | + </xs:attribute> |
568 | + <xs:attribute name="metodoDePago" use="required"> |
569 | + <xs:annotation> |
570 | + <xs:documentation>Atributo requerido de texto libre para expresar el método de pago de los bienes o servicios amparados por el comprobante. Se entiende como método de pago leyendas tales como: cheque, tarjeta de crédito o debito, depósito en cuenta, etc.</xs:documentation> |
571 | + </xs:annotation> |
572 | + <xs:simpleType> |
573 | + <xs:restriction base="xs:string"> |
574 | + <xs:minLength value="1"/> |
575 | + <xs:whiteSpace value="collapse"/> |
576 | + </xs:restriction> |
577 | + </xs:simpleType> |
578 | + </xs:attribute> |
579 | + <xs:attribute name="LugarExpedicion" use="required"> |
580 | + <xs:annotation> |
581 | + <xs:documentation>Atributo requerido para incorporar el lugar de expedición del comprobante.</xs:documentation> |
582 | + </xs:annotation> |
583 | + <xs:simpleType> |
584 | + <xs:restriction base="xs:string"> |
585 | + <xs:minLength value="1"/> |
586 | + <xs:whiteSpace value="collapse"/> |
587 | + </xs:restriction> |
588 | + </xs:simpleType> |
589 | + </xs:attribute> |
590 | + <xs:attribute name="NumCtaPago"> |
591 | + <xs:annotation> |
592 | + <xs:documentation>Atributo Opcional para incorporar al menos los cuatro últimos digitos del número de cuenta con la que se realizó el pago.</xs:documentation> |
593 | + </xs:annotation> |
594 | + <xs:simpleType> |
595 | + <xs:restriction base="xs:string"> |
596 | + <xs:minLength value="4"/> |
597 | + <xs:whiteSpace value="collapse"/> |
598 | + </xs:restriction> |
599 | + </xs:simpleType> |
600 | + </xs:attribute> |
601 | + <xs:attribute name="FolioFiscalOrig"> |
602 | + <xs:annotation> |
603 | + <xs:documentation>Atributo opcional para señalar el número de folio fiscal del comprobante que se hubiese expedido por el valor total del comprobante, tratándose del pago en parcialidades.</xs:documentation> |
604 | + </xs:annotation> |
605 | + <xs:simpleType> |
606 | + <xs:restriction base="xs:string"> |
607 | + <xs:whiteSpace value="collapse"/> |
608 | + </xs:restriction> |
609 | + </xs:simpleType> |
610 | + </xs:attribute> |
611 | + <xs:attribute name="SerieFolioFiscalOrig"> |
612 | + <xs:annotation> |
613 | + <xs:documentation>Atributo opcional para señalar la serie del folio del comprobante que se hubiese expedido por el valor total del comprobante, tratándose del pago en parcialidades.</xs:documentation> |
614 | + </xs:annotation> |
615 | + <xs:simpleType> |
616 | + <xs:restriction base="xs:string"> |
617 | + <xs:whiteSpace value="collapse"/> |
618 | + </xs:restriction> |
619 | + </xs:simpleType> |
620 | + </xs:attribute> |
621 | + <xs:attribute name="FechaFolioFiscalOrig"> |
622 | + <xs:annotation> |
623 | + <xs:documentation>Atributo opcional para señalar la fecha de expedición del comprobante que se hubiese emitido por el valor total del comprobante, tratándose del pago en parcialidades. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> |
624 | + </xs:annotation> |
625 | + <xs:simpleType> |
626 | + <xs:restriction base="xs:dateTime"> |
627 | + <xs:whiteSpace value="collapse"/> |
628 | + </xs:restriction> |
629 | + </xs:simpleType> |
630 | + </xs:attribute> |
631 | + <xs:attribute name="MontoFolioFiscalOrig" type="t_Importe"> |
632 | + <xs:annotation> |
633 | + <xs:documentation>Atributo opcional para señalar el total del comprobante que se hubiese expedido por el valor total de la operación, tratándose del pago en parcialidades</xs:documentation> |
634 | + </xs:annotation> |
635 | + </xs:attribute> |
636 | + </xs:complexType> |
637 | + </xs:element> |
638 | + <xs:complexType name="t_Ubicacion"> |
639 | + <xs:annotation> |
640 | + <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> |
641 | + </xs:annotation> |
642 | + <xs:attribute name="calle" use="optional"> |
643 | + <xs:annotation> |
644 | + <xs:documentation>Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> |
645 | + </xs:annotation> |
646 | + <xs:simpleType> |
647 | + <xs:restriction base="xs:string"> |
648 | + <xs:minLength value="1"/> |
649 | + <xs:whiteSpace value="collapse"/> |
650 | + </xs:restriction> |
651 | + </xs:simpleType> |
652 | + </xs:attribute> |
653 | + <xs:attribute name="noExterior" use="optional"> |
654 | + <xs:annotation> |
655 | + <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> |
656 | + </xs:annotation> |
657 | + <xs:simpleType> |
658 | + <xs:restriction base="xs:string"> |
659 | + <xs:minLength value="1"/> |
660 | + <xs:whiteSpace value="collapse"/> |
661 | + </xs:restriction> |
662 | + </xs:simpleType> |
663 | + </xs:attribute> |
664 | + <xs:attribute name="noInterior" use="optional"> |
665 | + <xs:annotation> |
666 | + <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> |
667 | + </xs:annotation> |
668 | + <xs:simpleType> |
669 | + <xs:restriction base="xs:string"> |
670 | + <xs:minLength value="1"/> |
671 | + <xs:whiteSpace value="collapse"/> |
672 | + </xs:restriction> |
673 | + </xs:simpleType> |
674 | + </xs:attribute> |
675 | + <xs:attribute name="colonia" use="optional"> |
676 | + <xs:annotation> |
677 | + <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más especÃfico en casos de ubicaciones urbanas.</xs:documentation> |
678 | + </xs:annotation> |
679 | + <xs:simpleType> |
680 | + <xs:restriction base="xs:string"> |
681 | + <xs:minLength value="1"/> |
682 | + <xs:whiteSpace value="collapse"/> |
683 | + </xs:restriction> |
684 | + </xs:simpleType> |
685 | + </xs:attribute> |
686 | + <xs:attribute name="localidad" use="optional"> |
687 | + <xs:annotation> |
688 | + <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> |
689 | + </xs:annotation> |
690 | + <xs:simpleType> |
691 | + <xs:restriction base="xs:string"> |
692 | + <xs:minLength value="1"/> |
693 | + <xs:whiteSpace value="collapse"/> |
694 | + </xs:restriction> |
695 | + </xs:simpleType> |
696 | + </xs:attribute> |
697 | + <xs:attribute name="referencia" use="optional"> |
698 | + <xs:annotation> |
699 | + <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> |
700 | + </xs:annotation> |
701 | + <xs:simpleType> |
702 | + <xs:restriction base="xs:string"> |
703 | + <xs:minLength value="1"/> |
704 | + <xs:whiteSpace value="collapse"/> |
705 | + </xs:restriction> |
706 | + </xs:simpleType> |
707 | + </xs:attribute> |
708 | + <xs:attribute name="municipio" use="optional"> |
709 | + <xs:annotation> |
710 | + <xs:documentation>Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> |
711 | + </xs:annotation> |
712 | + <xs:simpleType> |
713 | + <xs:restriction base="xs:string"> |
714 | + <xs:minLength value="1"/> |
715 | + <xs:whiteSpace value="collapse"/> |
716 | + </xs:restriction> |
717 | + </xs:simpleType> |
718 | + </xs:attribute> |
719 | + <xs:attribute name="estado" use="optional"> |
720 | + <xs:annotation> |
721 | + <xs:documentation>Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> |
722 | + </xs:annotation> |
723 | + <xs:simpleType> |
724 | + <xs:restriction base="xs:string"> |
725 | + <xs:minLength value="1"/> |
726 | + <xs:whiteSpace value="collapse"/> |
727 | + </xs:restriction> |
728 | + </xs:simpleType> |
729 | + </xs:attribute> |
730 | + <xs:attribute name="pais" use="required"> |
731 | + <xs:annotation> |
732 | + <xs:documentation>Atributo requerido que sirve para precisar el paÃs donde se da la ubicación.</xs:documentation> |
733 | + </xs:annotation> |
734 | + <xs:simpleType> |
735 | + <xs:restriction base="xs:string"> |
736 | + <xs:minLength value="1"/> |
737 | + <xs:whiteSpace value="collapse"/> |
738 | + </xs:restriction> |
739 | + </xs:simpleType> |
740 | + </xs:attribute> |
741 | + <xs:attribute name="codigoPostal" use="optional"> |
742 | + <xs:annotation> |
743 | + <xs:documentation>Atributo opcional que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> |
744 | + </xs:annotation> |
745 | + <xs:simpleType> |
746 | + <xs:restriction base="xs:string"> |
747 | + <xs:whiteSpace value="collapse"/> |
748 | + </xs:restriction> |
749 | + </xs:simpleType> |
750 | + </xs:attribute> |
751 | + </xs:complexType> |
752 | + <xs:complexType name="t_UbicacionFiscal"> |
753 | + <xs:annotation> |
754 | + <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> |
755 | + </xs:annotation> |
756 | + <xs:attribute name="calle" use="required"> |
757 | + <xs:annotation> |
758 | + <xs:documentation>Este atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> |
759 | + </xs:annotation> |
760 | + <xs:simpleType> |
761 | + <xs:restriction base="xs:string"> |
762 | + <xs:minLength value="1"/> |
763 | + <xs:whiteSpace value="collapse"/> |
764 | + </xs:restriction> |
765 | + </xs:simpleType> |
766 | + </xs:attribute> |
767 | + <xs:attribute name="noExterior" use="optional"> |
768 | + <xs:annotation> |
769 | + <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> |
770 | + </xs:annotation> |
771 | + <xs:simpleType> |
772 | + <xs:restriction base="xs:string"> |
773 | + <xs:minLength value="1"/> |
774 | + <xs:whiteSpace value="collapse"/> |
775 | + </xs:restriction> |
776 | + </xs:simpleType> |
777 | + </xs:attribute> |
778 | + <xs:attribute name="noInterior" use="optional"> |
779 | + <xs:annotation> |
780 | + <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> |
781 | + </xs:annotation> |
782 | + <xs:simpleType> |
783 | + <xs:restriction base="xs:string"> |
784 | + <xs:minLength value="1"/> |
785 | + <xs:whiteSpace value="collapse"/> |
786 | + </xs:restriction> |
787 | + </xs:simpleType> |
788 | + </xs:attribute> |
789 | + <xs:attribute name="colonia" use="optional"> |
790 | + <xs:annotation> |
791 | + <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más especÃfico en casos de ubicaciones urbanas.</xs:documentation> |
792 | + </xs:annotation> |
793 | + <xs:simpleType> |
794 | + <xs:restriction base="xs:string"> |
795 | + <xs:minLength value="1"/> |
796 | + <xs:whiteSpace value="collapse"/> |
797 | + </xs:restriction> |
798 | + </xs:simpleType> |
799 | + </xs:attribute> |
800 | + <xs:attribute name="localidad" use="optional"> |
801 | + <xs:annotation> |
802 | + <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> |
803 | + </xs:annotation> |
804 | + <xs:simpleType> |
805 | + <xs:restriction base="xs:string"> |
806 | + <xs:minLength value="1"/> |
807 | + <xs:whiteSpace value="collapse"/> |
808 | + </xs:restriction> |
809 | + </xs:simpleType> |
810 | + </xs:attribute> |
811 | + <xs:attribute name="referencia" use="optional"> |
812 | + <xs:annotation> |
813 | + <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> |
814 | + </xs:annotation> |
815 | + <xs:simpleType> |
816 | + <xs:restriction base="xs:string"> |
817 | + <xs:whiteSpace value="collapse"/> |
818 | + <xs:minLength value="1"/> |
819 | + </xs:restriction> |
820 | + </xs:simpleType> |
821 | + </xs:attribute> |
822 | + <xs:attribute name="municipio" use="required"> |
823 | + <xs:annotation> |
824 | + <xs:documentation>Atributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> |
825 | + </xs:annotation> |
826 | + <xs:simpleType> |
827 | + <xs:restriction base="xs:string"> |
828 | + <xs:minLength value="1"/> |
829 | + <xs:whiteSpace value="collapse"/> |
830 | + </xs:restriction> |
831 | + </xs:simpleType> |
832 | + </xs:attribute> |
833 | + <xs:attribute name="estado" use="required"> |
834 | + <xs:annotation> |
835 | + <xs:documentation>Atributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> |
836 | + </xs:annotation> |
837 | + <xs:simpleType> |
838 | + <xs:restriction base="xs:string"> |
839 | + <xs:minLength value="1"/> |
840 | + <xs:whiteSpace value="collapse"/> |
841 | + </xs:restriction> |
842 | + </xs:simpleType> |
843 | + </xs:attribute> |
844 | + <xs:attribute name="pais" use="required"> |
845 | + <xs:annotation> |
846 | + <xs:documentation>Atributo requerido que sirve para precisar el paÃs donde se da la ubicación.</xs:documentation> |
847 | + </xs:annotation> |
848 | + <xs:simpleType> |
849 | + <xs:restriction base="xs:string"> |
850 | + <xs:minLength value="1"/> |
851 | + <xs:whiteSpace value="collapse"/> |
852 | + </xs:restriction> |
853 | + </xs:simpleType> |
854 | + </xs:attribute> |
855 | + <xs:attribute name="codigoPostal" use="required"> |
856 | + <xs:annotation> |
857 | + <xs:documentation>Atributo requerido que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> |
858 | + </xs:annotation> |
859 | + <xs:simpleType> |
860 | + <xs:restriction base="xs:string"> |
861 | + <xs:whiteSpace value="collapse"/> |
862 | + <xs:length value="5"/> |
863 | + </xs:restriction> |
864 | + </xs:simpleType> |
865 | + </xs:attribute> |
866 | + </xs:complexType> |
867 | + <xs:simpleType name="t_RFC"> |
868 | + <xs:annotation> |
869 | + <xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation> |
870 | + </xs:annotation> |
871 | + <xs:restriction base="xs:string"> |
872 | + <xs:minLength value="12"/> |
873 | + <xs:maxLength value="13"/> |
874 | + <xs:whiteSpace value="collapse"/> |
875 | + <xs:pattern value="[A-Z,Ñ,&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z,0-9]?[A-Z,0-9]?[0-9,A-Z]?"/> |
876 | + </xs:restriction> |
877 | + </xs:simpleType> |
878 | + <xs:simpleType name="t_Importe"> |
879 | + <xs:annotation> |
880 | + <xs:documentation>Tipo definido para expresar importes numéricos con fracción a seis decimales</xs:documentation> |
881 | + </xs:annotation> |
882 | + <xs:restriction base="xs:decimal"> |
883 | + <xs:fractionDigits value="6"/> |
884 | + <xs:whiteSpace value="collapse"/> |
885 | + </xs:restriction> |
886 | + </xs:simpleType> |
887 | + <xs:complexType name="t_InformacionAduanera"> |
888 | + <xs:annotation> |
889 | + <xs:documentation>Tipo definido para expresar información aduanera</xs:documentation> |
890 | + </xs:annotation> |
891 | + <xs:attribute name="numero" use="required"> |
892 | + <xs:annotation> |
893 | + <xs:documentation>Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien.</xs:documentation> |
894 | + </xs:annotation> |
895 | + <xs:simpleType> |
896 | + <xs:restriction base="xs:string"> |
897 | + <xs:minLength value="1"/> |
898 | + <xs:whiteSpace value="collapse"/> |
899 | + </xs:restriction> |
900 | + </xs:simpleType> |
901 | + </xs:attribute> |
902 | + <xs:attribute name="fecha" use="required"> |
903 | + <xs:annotation> |
904 | + <xs:documentation>Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien. Se expresa en el formato aaaa-mm-dd</xs:documentation> |
905 | + </xs:annotation> |
906 | + <xs:simpleType> |
907 | + <xs:restriction base="xs:date"> |
908 | + <xs:whiteSpace value="collapse"/> |
909 | + </xs:restriction> |
910 | + </xs:simpleType> |
911 | + </xs:attribute> |
912 | + <xs:attribute name="aduana"> |
913 | + <xs:annotation> |
914 | + <xs:documentation>Atributo opcional para precisar el nombre de la aduana por la que se efectuó la importación del bien.</xs:documentation> |
915 | + </xs:annotation> |
916 | + <xs:simpleType> |
917 | + <xs:restriction base="xs:string"> |
918 | + <xs:minLength value="1"/> |
919 | + <xs:whiteSpace value="collapse"/> |
920 | + </xs:restriction> |
921 | + </xs:simpleType> |
922 | + </xs:attribute> |
923 | + </xs:complexType> |
924 | +</xs:schema> |
925 | |
926 | === removed file 'l10n_mx_facturae/SAT/cfdv2.xsd' |
927 | --- l10n_mx_facturae/SAT/cfdv2.xsd 2011-05-17 04:06:22 +0000 |
928 | +++ l10n_mx_facturae/SAT/cfdv2.xsd 1970-01-01 00:00:00 +0000 |
929 | @@ -1,827 +0,0 @@ |
930 | -<?xml version="1.0" encoding="UTF-8"?> |
931 | -<!-- edited with XMLSpy v2008 (http://www.altova.com) by SAT (.) --> |
932 | -<xs:schema xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/cfd/2" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
933 | - <xs:element name="Comprobante"> |
934 | - <xs:annotation> |
935 | - <xs:documentation>Estándar para la expresión de comprobantes fiscales digitales.</xs:documentation> |
936 | - </xs:annotation> |
937 | - <xs:complexType> |
938 | - <xs:sequence> |
939 | - <xs:element name="Emisor"> |
940 | - <xs:annotation> |
941 | - <xs:documentation>Nodo requerido para expresar la información del contribuyente emisor del comprobante.</xs:documentation> |
942 | - </xs:annotation> |
943 | - <xs:complexType> |
944 | - <xs:sequence> |
945 | - <xs:element name="DomicilioFiscal" type="t_UbicacionFiscal"> |
946 | - <xs:annotation> |
947 | - <xs:documentation>Nodo requerido para precisar la información de ubicación del domicilio fiscal del contribuyente emisor</xs:documentation> |
948 | - </xs:annotation> |
949 | - </xs:element> |
950 | - <xs:element name="ExpedidoEn" type="t_Ubicacion" minOccurs="0"> |
951 | - <xs:annotation> |
952 | - <xs:documentation>Nodo opcional para precisar la información de ubicación del domicilio en donde es emitido el comprobante fiscal en caso de que sea distinto del domicilio fiscal del contribuyente emisor.</xs:documentation> |
953 | - </xs:annotation> |
954 | - </xs:element> |
955 | - </xs:sequence> |
956 | - <xs:attribute name="rfc" type="t_RFC" use="required"> |
957 | - <xs:annotation> |
958 | - <xs:documentation>Atributo requerido para la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante sin guiones o espacios.</xs:documentation> |
959 | - </xs:annotation> |
960 | - </xs:attribute> |
961 | - <xs:attribute name="nombre" use="required"> |
962 | - <xs:annotation> |
963 | - <xs:documentation>Atributo requerido para el nombre o razón social del contribuyente emisor del comprobante.</xs:documentation> |
964 | - </xs:annotation> |
965 | - <xs:simpleType> |
966 | - <xs:restriction base="xs:string"> |
967 | - <xs:minLength value="1"/> |
968 | - <xs:whiteSpace value="collapse"/> |
969 | - </xs:restriction> |
970 | - </xs:simpleType> |
971 | - </xs:attribute> |
972 | - </xs:complexType> |
973 | - </xs:element> |
974 | - <xs:element name="Receptor"> |
975 | - <xs:annotation> |
976 | - <xs:documentation>Nodo requerido para precisar la información del contribuyente receptor del comprobante.</xs:documentation> |
977 | - </xs:annotation> |
978 | - <xs:complexType> |
979 | - <xs:sequence> |
980 | - <xs:element name="Domicilio" type="t_Ubicacion"> |
981 | - <xs:annotation> |
982 | - <xs:documentation>Nodo para la definición de la ubicación donde se da el domicilio del receptor del comprobante fiscal.</xs:documentation> |
983 | - </xs:annotation> |
984 | - </xs:element> |
985 | - </xs:sequence> |
986 | - <xs:attribute name="rfc" type="t_RFC" use="required"> |
987 | - <xs:annotation> |
988 | - <xs:documentation>Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.</xs:documentation> |
989 | - </xs:annotation> |
990 | - </xs:attribute> |
991 | - <xs:attribute name="nombre" use="optional"> |
992 | - <xs:annotation> |
993 | - <xs:documentation>Atributo opcional para precisar el nombre o razón social del contribuyente receptor.</xs:documentation> |
994 | - </xs:annotation> |
995 | - <xs:simpleType> |
996 | - <xs:restriction base="xs:string"> |
997 | - <xs:minLength value="1"/> |
998 | - <xs:whiteSpace value="collapse"/> |
999 | - </xs:restriction> |
1000 | - </xs:simpleType> |
1001 | - </xs:attribute> |
1002 | - </xs:complexType> |
1003 | - </xs:element> |
1004 | - <xs:element name="Conceptos"> |
1005 | - <xs:annotation> |
1006 | - <xs:documentation>Nodo requerido para enlistar los conceptos cubiertos por el comprobante.</xs:documentation> |
1007 | - </xs:annotation> |
1008 | - <xs:complexType> |
1009 | - <xs:sequence> |
1010 | - <xs:element name="Concepto" maxOccurs="unbounded"> |
1011 | - <xs:annotation> |
1012 | - <xs:documentation>Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante.</xs:documentation> |
1013 | - </xs:annotation> |
1014 | - <xs:complexType> |
1015 | - <xs:choice minOccurs="0"> |
1016 | - <xs:element name="InformacionAduanera" type="t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> |
1017 | - <xs:annotation> |
1018 | - <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancÃas importadas.</xs:documentation> |
1019 | - </xs:annotation> |
1020 | - </xs:element> |
1021 | - <xs:element name="CuentaPredial" minOccurs="0"> |
1022 | - <xs:annotation> |
1023 | - <xs:documentation>Nodo opcional para asentar el número de cuenta predial con el que fue registrado el inmueble, en el sistema catastral de la entidad federativa de que trate.</xs:documentation> |
1024 | - </xs:annotation> |
1025 | - <xs:complexType> |
1026 | - <xs:attribute name="numero" use="required"> |
1027 | - <xs:annotation> |
1028 | - <xs:documentation>Atributo requerido para precisar el número de la cuenta predial del inmueble cubierto por el presente concepto en caso de recibos de arrendamiento.</xs:documentation> |
1029 | - </xs:annotation> |
1030 | - <xs:simpleType> |
1031 | - <xs:restriction base="xs:string"> |
1032 | - <xs:whiteSpace value="collapse"/> |
1033 | - <xs:minLength value="1"/> |
1034 | - </xs:restriction> |
1035 | - </xs:simpleType> |
1036 | - </xs:attribute> |
1037 | - </xs:complexType> |
1038 | - </xs:element> |
1039 | - <xs:element name="ComplementoConcepto" minOccurs="0"> |
1040 | - <xs:annotation> |
1041 | - <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios de extensión al concepto, definidos por el SAT, de acuerdo a disposiciones particulares a un sector o actividad especifica.</xs:documentation> |
1042 | - </xs:annotation> |
1043 | - <xs:complexType> |
1044 | - <xs:sequence> |
1045 | - <xs:any minOccurs="0" maxOccurs="unbounded"/> |
1046 | - </xs:sequence> |
1047 | - </xs:complexType> |
1048 | - </xs:element> |
1049 | - <xs:element name="Parte" minOccurs="0" maxOccurs="unbounded"> |
1050 | - <xs:annotation> |
1051 | - <xs:documentation>Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital</xs:documentation> |
1052 | - </xs:annotation> |
1053 | - <xs:complexType> |
1054 | - <xs:sequence> |
1055 | - <xs:element name="InformacionAduanera" type="t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> |
1056 | - <xs:annotation> |
1057 | - <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.</xs:documentation> |
1058 | - </xs:annotation> |
1059 | - </xs:element> |
1060 | - </xs:sequence> |
1061 | - <xs:attribute name="cantidad" use="required"> |
1062 | - <xs:annotation> |
1063 | - <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.</xs:documentation> |
1064 | - </xs:annotation> |
1065 | - <xs:simpleType> |
1066 | - <xs:restriction base="xs:decimal"> |
1067 | - <xs:whiteSpace value="collapse"/> |
1068 | - </xs:restriction> |
1069 | - </xs:simpleType> |
1070 | - </xs:attribute> |
1071 | - <xs:attribute name="unidad" use="optional"> |
1072 | - <xs:annotation> |
1073 | - <xs:documentation>Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.</xs:documentation> |
1074 | - </xs:annotation> |
1075 | - <xs:simpleType> |
1076 | - <xs:restriction base="xs:string"> |
1077 | - <xs:whiteSpace value="collapse"/> |
1078 | - <xs:minLength value="1"/> |
1079 | - </xs:restriction> |
1080 | - </xs:simpleType> |
1081 | - </xs:attribute> |
1082 | - <xs:attribute name="noIdentificacion" use="optional"> |
1083 | - <xs:annotation> |
1084 | - <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.</xs:documentation> |
1085 | - </xs:annotation> |
1086 | - <xs:simpleType> |
1087 | - <xs:restriction base="xs:string"> |
1088 | - <xs:minLength value="1"/> |
1089 | - <xs:whiteSpace value="collapse"/> |
1090 | - </xs:restriction> |
1091 | - </xs:simpleType> |
1092 | - </xs:attribute> |
1093 | - <xs:attribute name="descripcion" use="required"> |
1094 | - <xs:annotation> |
1095 | - <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.</xs:documentation> |
1096 | - </xs:annotation> |
1097 | - <xs:simpleType> |
1098 | - <xs:restriction base="xs:string"> |
1099 | - <xs:minLength value="1"/> |
1100 | - <xs:whiteSpace value="collapse"/> |
1101 | - </xs:restriction> |
1102 | - </xs:simpleType> |
1103 | - </xs:attribute> |
1104 | - <xs:attribute name="valorUnitario" type="t_Importe" use="optional"> |
1105 | - <xs:annotation> |
1106 | - <xs:documentation>Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.</xs:documentation> |
1107 | - </xs:annotation> |
1108 | - </xs:attribute> |
1109 | - <xs:attribute name="importe" type="t_Importe" use="optional"> |
1110 | - <xs:annotation> |
1111 | - <xs:documentation>Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.</xs:documentation> |
1112 | - </xs:annotation> |
1113 | - </xs:attribute> |
1114 | - </xs:complexType> |
1115 | - </xs:element> |
1116 | - </xs:choice> |
1117 | - <xs:attribute name="cantidad" use="required"> |
1118 | - <xs:annotation> |
1119 | - <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.</xs:documentation> |
1120 | - </xs:annotation> |
1121 | - <xs:simpleType> |
1122 | - <xs:restriction base="xs:decimal"> |
1123 | - <xs:whiteSpace value="collapse"/> |
1124 | - </xs:restriction> |
1125 | - </xs:simpleType> |
1126 | - </xs:attribute> |
1127 | - <xs:attribute name="unidad" use="optional"> |
1128 | - <xs:annotation> |
1129 | - <xs:documentation>Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en el concepto.</xs:documentation> |
1130 | - </xs:annotation> |
1131 | - <xs:simpleType> |
1132 | - <xs:restriction base="xs:string"> |
1133 | - <xs:whiteSpace value="collapse"/> |
1134 | - <xs:minLength value="1"/> |
1135 | - </xs:restriction> |
1136 | - </xs:simpleType> |
1137 | - </xs:attribute> |
1138 | - <xs:attribute name="noIdentificacion" use="optional"> |
1139 | - <xs:annotation> |
1140 | - <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por el presente concepto.</xs:documentation> |
1141 | - </xs:annotation> |
1142 | - <xs:simpleType> |
1143 | - <xs:restriction base="xs:string"> |
1144 | - <xs:minLength value="1"/> |
1145 | - <xs:whiteSpace value="collapse"/> |
1146 | - </xs:restriction> |
1147 | - </xs:simpleType> |
1148 | - </xs:attribute> |
1149 | - <xs:attribute name="descripcion" use="required"> |
1150 | - <xs:annotation> |
1151 | - <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.</xs:documentation> |
1152 | - </xs:annotation> |
1153 | - <xs:simpleType> |
1154 | - <xs:restriction base="xs:string"> |
1155 | - <xs:minLength value="1"/> |
1156 | - <xs:whiteSpace value="collapse"/> |
1157 | - </xs:restriction> |
1158 | - </xs:simpleType> |
1159 | - </xs:attribute> |
1160 | - <xs:attribute name="valorUnitario" type="t_Importe" use="required"> |
1161 | - <xs:annotation> |
1162 | - <xs:documentation>Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.</xs:documentation> |
1163 | - </xs:annotation> |
1164 | - </xs:attribute> |
1165 | - <xs:attribute name="importe" type="t_Importe" use="required"> |
1166 | - <xs:annotation> |
1167 | - <xs:documentation>Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto.</xs:documentation> |
1168 | - </xs:annotation> |
1169 | - </xs:attribute> |
1170 | - </xs:complexType> |
1171 | - </xs:element> |
1172 | - </xs:sequence> |
1173 | - </xs:complexType> |
1174 | - </xs:element> |
1175 | - <xs:element name="Impuestos"> |
1176 | - <xs:annotation> |
1177 | - <xs:documentation>Nodo requerido para capturar los impuestos aplicables.</xs:documentation> |
1178 | - </xs:annotation> |
1179 | - <xs:complexType> |
1180 | - <xs:sequence> |
1181 | - <xs:element name="Retenciones" minOccurs="0"> |
1182 | - <xs:annotation> |
1183 | - <xs:documentation>Nodo opcional para capturar los impuestos retenidos aplicables</xs:documentation> |
1184 | - </xs:annotation> |
1185 | - <xs:complexType> |
1186 | - <xs:sequence> |
1187 | - <xs:element name="Retencion" maxOccurs="unbounded"> |
1188 | - <xs:annotation> |
1189 | - <xs:documentation>Nodo para la información detallada de una retención de impuesto especÃfico</xs:documentation> |
1190 | - </xs:annotation> |
1191 | - <xs:complexType> |
1192 | - <xs:attribute name="impuesto" use="required"> |
1193 | - <xs:annotation> |
1194 | - <xs:documentation>Atributo requerido para señalar el tipo de impuesto retenido</xs:documentation> |
1195 | - </xs:annotation> |
1196 | - <xs:simpleType> |
1197 | - <xs:restriction base="xs:string"> |
1198 | - <xs:whiteSpace value="collapse"/> |
1199 | - <xs:enumeration value="ISR"> |
1200 | - <xs:annotation> |
1201 | - <xs:documentation>Impuesto sobre la renta</xs:documentation> |
1202 | - </xs:annotation> |
1203 | - </xs:enumeration> |
1204 | - <xs:enumeration value="IVA"> |
1205 | - <xs:annotation> |
1206 | - <xs:documentation>Impuesto al Valor Agregado</xs:documentation> |
1207 | - </xs:annotation> |
1208 | - </xs:enumeration> |
1209 | - </xs:restriction> |
1210 | - </xs:simpleType> |
1211 | - </xs:attribute> |
1212 | - <xs:attribute name="importe" type="t_Importe" use="required"> |
1213 | - <xs:annotation> |
1214 | - <xs:documentation>Atributo requerido para señalar el importe o monto del impuesto retenido</xs:documentation> |
1215 | - </xs:annotation> |
1216 | - </xs:attribute> |
1217 | - </xs:complexType> |
1218 | - </xs:element> |
1219 | - </xs:sequence> |
1220 | - </xs:complexType> |
1221 | - </xs:element> |
1222 | - <xs:element name="Traslados" minOccurs="0"> |
1223 | - <xs:annotation> |
1224 | - <xs:documentation>Nodo opcional para asentar o referir los impuestos trasladados aplicables</xs:documentation> |
1225 | - </xs:annotation> |
1226 | - <xs:complexType> |
1227 | - <xs:sequence> |
1228 | - <xs:element name="Traslado" maxOccurs="unbounded"> |
1229 | - <xs:annotation> |
1230 | - <xs:documentation>Nodo para la información detallada de un traslado de impuesto especÃfico</xs:documentation> |
1231 | - </xs:annotation> |
1232 | - <xs:complexType> |
1233 | - <xs:attribute name="impuesto" use="required"> |
1234 | - <xs:annotation> |
1235 | - <xs:documentation>Atributo requerido para señalar el tipo de impuesto trasladado</xs:documentation> |
1236 | - </xs:annotation> |
1237 | - <xs:simpleType> |
1238 | - <xs:restriction base="xs:string"> |
1239 | - <xs:whiteSpace value="collapse"/> |
1240 | - <xs:enumeration value="IVA"> |
1241 | - <xs:annotation> |
1242 | - <xs:documentation>Impuesto al Valor Agregado</xs:documentation> |
1243 | - </xs:annotation> |
1244 | - </xs:enumeration> |
1245 | - <xs:enumeration value="IEPS"> |
1246 | - <xs:annotation> |
1247 | - <xs:documentation>Impuesto especial sobre productos y servicios</xs:documentation> |
1248 | - </xs:annotation> |
1249 | - </xs:enumeration> |
1250 | - </xs:restriction> |
1251 | - </xs:simpleType> |
1252 | - </xs:attribute> |
1253 | - <xs:attribute name="tasa" type="t_Importe" use="required"> |
1254 | - <xs:annotation> |
1255 | - <xs:documentation>Atributo requerido para señalar la tasa del impuesto que se traslada por cada concepto amparado en el comprobante</xs:documentation> |
1256 | - </xs:annotation> |
1257 | - </xs:attribute> |
1258 | - <xs:attribute name="importe" type="t_Importe" use="required"> |
1259 | - <xs:annotation> |
1260 | - <xs:documentation>Atributo requerido para señalar el importe del impuesto trasladado</xs:documentation> |
1261 | - </xs:annotation> |
1262 | - </xs:attribute> |
1263 | - </xs:complexType> |
1264 | - </xs:element> |
1265 | - </xs:sequence> |
1266 | - </xs:complexType> |
1267 | - </xs:element> |
1268 | - </xs:sequence> |
1269 | - <xs:attribute name="totalImpuestosRetenidos" type="t_Importe" use="optional"> |
1270 | - <xs:annotation> |
1271 | - <xs:documentation>Atributo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital.</xs:documentation> |
1272 | - </xs:annotation> |
1273 | - </xs:attribute> |
1274 | - <xs:attribute name="totalImpuestosTrasladados" type="t_Importe" use="optional"> |
1275 | - <xs:annotation> |
1276 | - <xs:documentation>Atributo opcional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital.</xs:documentation> |
1277 | - </xs:annotation> |
1278 | - </xs:attribute> |
1279 | - </xs:complexType> |
1280 | - </xs:element> |
1281 | - <xs:element name="Complemento" minOccurs="0"> |
1282 | - <xs:annotation> |
1283 | - <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios determinados por el SAT, de acuerdo a las disposiciones particulares a un sector o actividad especifica.</xs:documentation> |
1284 | - </xs:annotation> |
1285 | - <xs:complexType> |
1286 | - <xs:sequence> |
1287 | - <xs:any minOccurs="0" maxOccurs="unbounded"/> |
1288 | - </xs:sequence> |
1289 | - </xs:complexType> |
1290 | - </xs:element> |
1291 | - <xs:element name="Addenda" minOccurs="0"> |
1292 | - <xs:annotation> |
1293 | - <xs:documentation>Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato de origen.</xs:documentation> |
1294 | - </xs:annotation> |
1295 | - <xs:complexType> |
1296 | - <xs:sequence> |
1297 | - <xs:any minOccurs="0" maxOccurs="unbounded"/> |
1298 | - </xs:sequence> |
1299 | - </xs:complexType> |
1300 | - </xs:element> |
1301 | - </xs:sequence> |
1302 | - <xs:attribute name="version" use="required" fixed="2.0"> |
1303 | - <xs:annotation> |
1304 | - <xs:documentation>Atributo requerido con valor prefijado a 2.0 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.</xs:documentation> |
1305 | - </xs:annotation> |
1306 | - <xs:simpleType> |
1307 | - <xs:restriction base="xs:string"> |
1308 | - <xs:whiteSpace value="collapse"/> |
1309 | - </xs:restriction> |
1310 | - </xs:simpleType> |
1311 | - </xs:attribute> |
1312 | - <xs:attribute name="serie" use="optional"> |
1313 | - <xs:annotation> |
1314 | - <xs:documentation>Atributo opcional para precisar la serie a la que corresponde el comprobante. Este atributo acepta una cadena de caracteres alfabéticos de 1 a 10 caracteres sin incluir caracteres acentuados.</xs:documentation> |
1315 | - </xs:annotation> |
1316 | - <xs:simpleType> |
1317 | - <xs:restriction base="xs:string"> |
1318 | - <xs:minLength value="1"/> |
1319 | - <xs:maxLength value="10"/> |
1320 | - <xs:whiteSpace value="collapse"/> |
1321 | - </xs:restriction> |
1322 | - </xs:simpleType> |
1323 | - </xs:attribute> |
1324 | - <xs:attribute name="folio" use="required"> |
1325 | - <xs:annotation> |
1326 | - <xs:documentation>Atributo requerido que acepta un valor numérico entero superior a 0 que expresa el folio del comprobante.</xs:documentation> |
1327 | - </xs:annotation> |
1328 | - <xs:simpleType> |
1329 | - <xs:restriction base="xs:string"> |
1330 | - <xs:minLength value="1"/> |
1331 | - <xs:maxLength value="20"/> |
1332 | - <xs:whiteSpace value="collapse"/> |
1333 | - <xs:pattern value="[0-9]+"/> |
1334 | - </xs:restriction> |
1335 | - </xs:simpleType> |
1336 | - </xs:attribute> |
1337 | - <xs:attribute name="fecha" use="required"> |
1338 | - <xs:annotation> |
1339 | - <xs:documentation>Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> |
1340 | - </xs:annotation> |
1341 | - <xs:simpleType> |
1342 | - <xs:restriction base="xs:dateTime"> |
1343 | - <xs:whiteSpace value="collapse"/> |
1344 | - </xs:restriction> |
1345 | - </xs:simpleType> |
1346 | - </xs:attribute> |
1347 | - <xs:attribute name="sello" use="required"> |
1348 | - <xs:annotation> |
1349 | - <xs:documentation>Atributo requerido para contener el sello digital del comprobante fiscal, al que hacen referencia las reglas de resolución miscelánea aplicable. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation> |
1350 | - </xs:annotation> |
1351 | - <xs:simpleType> |
1352 | - <xs:restriction base="xs:string"> |
1353 | - <xs:whiteSpace value="collapse"/> |
1354 | - </xs:restriction> |
1355 | - </xs:simpleType> |
1356 | - </xs:attribute> |
1357 | - <xs:attribute name="noAprobacion" use="required"> |
1358 | - <xs:annotation> |
1359 | - <xs:documentation>Atributo requerido para precisar el número de aprobación emitido por el SAT, para el rango de folios al que pertenece el folio particular que ampara el comprobante fiscal digital.</xs:documentation> |
1360 | - </xs:annotation> |
1361 | - <xs:simpleType> |
1362 | - <xs:restriction base="xs:integer"> |
1363 | - <xs:whiteSpace value="collapse"/> |
1364 | - </xs:restriction> |
1365 | - </xs:simpleType> |
1366 | - </xs:attribute> |
1367 | - <xs:attribute name="anoAprobacion" use="required"> |
1368 | - <xs:annotation> |
1369 | - <xs:documentation>Atributo requerido para precisar el año en que se solicito el folio que se están utilizando para emitir el comprobante fiscal digital.</xs:documentation> |
1370 | - </xs:annotation> |
1371 | - <xs:simpleType> |
1372 | - <xs:restriction base="xs:integer"> |
1373 | - <xs:whiteSpace value="collapse"/> |
1374 | - <xs:totalDigits value="4"/> |
1375 | - </xs:restriction> |
1376 | - </xs:simpleType> |
1377 | - </xs:attribute> |
1378 | - <xs:attribute name="formaDePago" use="required"> |
1379 | - <xs:annotation> |
1380 | - <xs:documentation>Atributo requerido para precisar la forma de pago que aplica para este comprobante fiscal digital. Se utiliza para expresar Pago en una sola exhibición o número de parcialidad pagada contra el total de parcialidades, Parcialidad 1 de X. </xs:documentation> |
1381 | - </xs:annotation> |
1382 | - <xs:simpleType> |
1383 | - <xs:restriction base="xs:string"> |
1384 | - <xs:whiteSpace value="collapse"/> |
1385 | - </xs:restriction> |
1386 | - </xs:simpleType> |
1387 | - </xs:attribute> |
1388 | - <xs:attribute name="noCertificado" use="required"> |
1389 | - <xs:annotation> |
1390 | - <xs:documentation> Atributo requerido para expresar el número de serie del certificado de sello digital que ampara al comprobante, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation> |
1391 | - </xs:annotation> |
1392 | - <xs:simpleType> |
1393 | - <xs:restriction base="xs:string"> |
1394 | - <xs:length value="20"/> |
1395 | - <xs:whiteSpace value="collapse"/> |
1396 | - </xs:restriction> |
1397 | - </xs:simpleType> |
1398 | - </xs:attribute> |
1399 | - <xs:attribute name="certificado" use="optional"> |
1400 | - <xs:annotation> |
1401 | - <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al comprobante como texto, en formato base 64.</xs:documentation> |
1402 | - </xs:annotation> |
1403 | - <xs:simpleType> |
1404 | - <xs:restriction base="xs:string"> |
1405 | - <xs:whiteSpace value="collapse"/> |
1406 | - </xs:restriction> |
1407 | - </xs:simpleType> |
1408 | - </xs:attribute> |
1409 | - <xs:attribute name="condicionesDePago" use="optional"> |
1410 | - <xs:annotation> |
1411 | - <xs:documentation>Atributo opcional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital.</xs:documentation> |
1412 | - </xs:annotation> |
1413 | - <xs:simpleType> |
1414 | - <xs:restriction base="xs:string"> |
1415 | - <xs:whiteSpace value="collapse"/> |
1416 | - <xs:minLength value="1"/> |
1417 | - </xs:restriction> |
1418 | - </xs:simpleType> |
1419 | - </xs:attribute> |
1420 | - <xs:attribute name="subTotal" type="t_Importe" use="required"> |
1421 | - <xs:annotation> |
1422 | - <xs:documentation>Atributo requerido para representar la suma de los importes antes de descuentos e impuestos.</xs:documentation> |
1423 | - </xs:annotation> |
1424 | - </xs:attribute> |
1425 | - <xs:attribute name="descuento" type="t_Importe" use="optional"> |
1426 | - <xs:annotation> |
1427 | - <xs:documentation>Atributo opcional para representar el importe total de los descuentos aplicables antes de impuestos.</xs:documentation> |
1428 | - </xs:annotation> |
1429 | - </xs:attribute> |
1430 | - <xs:attribute name="motivoDescuento" use="optional"> |
1431 | - <xs:annotation> |
1432 | - <xs:documentation>Atributo opcional para expresar el motivo del descuento aplicable.</xs:documentation> |
1433 | - </xs:annotation> |
1434 | - <xs:simpleType> |
1435 | - <xs:restriction base="xs:string"> |
1436 | - <xs:minLength value="1"/> |
1437 | - <xs:whiteSpace value="collapse"/> |
1438 | - </xs:restriction> |
1439 | - </xs:simpleType> |
1440 | - </xs:attribute> |
1441 | - <xs:attribute name="total" type="t_Importe" use="required"> |
1442 | - <xs:annotation> |
1443 | - <xs:documentation>Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más los impuestos trasladados, menos los impuestos retenidos.</xs:documentation> |
1444 | - </xs:annotation> |
1445 | - </xs:attribute> |
1446 | - <xs:attribute name="metodoDePago" use="optional"> |
1447 | - <xs:annotation> |
1448 | - <xs:documentation>Atributo opcional de texto libre para expresar el método de pago de los bienes o servicios amparados por el comprobante. Se entiende como método de pago leyendas tales como: cheque, tarjeta de crédito o debito, depósito en cuenta, etc.</xs:documentation> |
1449 | - </xs:annotation> |
1450 | - <xs:simpleType> |
1451 | - <xs:restriction base="xs:string"> |
1452 | - <xs:minLength value="1"/> |
1453 | - <xs:whiteSpace value="collapse"/> |
1454 | - </xs:restriction> |
1455 | - </xs:simpleType> |
1456 | - </xs:attribute> |
1457 | - <xs:attribute name="tipoDeComprobante" use="required"> |
1458 | - <xs:annotation> |
1459 | - <xs:documentation>Atributo requerido para expresar el efecto del comprobante fiscal para el contribuyente emisor.</xs:documentation> |
1460 | - </xs:annotation> |
1461 | - <xs:simpleType> |
1462 | - <xs:restriction base="xs:string"> |
1463 | - <xs:enumeration value="ingreso"/> |
1464 | - <xs:enumeration value="egreso"/> |
1465 | - <xs:enumeration value="traslado"/> |
1466 | - </xs:restriction> |
1467 | - </xs:simpleType> |
1468 | - </xs:attribute> |
1469 | - </xs:complexType> |
1470 | - </xs:element> |
1471 | - <xs:complexType name="t_Ubicacion"> |
1472 | - <xs:annotation> |
1473 | - <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> |
1474 | - </xs:annotation> |
1475 | - <xs:attribute name="calle" use="optional"> |
1476 | - <xs:annotation> |
1477 | - <xs:documentation>Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> |
1478 | - </xs:annotation> |
1479 | - <xs:simpleType> |
1480 | - <xs:restriction base="xs:string"> |
1481 | - <xs:minLength value="1"/> |
1482 | - <xs:whiteSpace value="collapse"/> |
1483 | - </xs:restriction> |
1484 | - </xs:simpleType> |
1485 | - </xs:attribute> |
1486 | - <xs:attribute name="noExterior" use="optional"> |
1487 | - <xs:annotation> |
1488 | - <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> |
1489 | - </xs:annotation> |
1490 | - <xs:simpleType> |
1491 | - <xs:restriction base="xs:string"> |
1492 | - <xs:minLength value="1"/> |
1493 | - <xs:whiteSpace value="collapse"/> |
1494 | - </xs:restriction> |
1495 | - </xs:simpleType> |
1496 | - </xs:attribute> |
1497 | - <xs:attribute name="noInterior" use="optional"> |
1498 | - <xs:annotation> |
1499 | - <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> |
1500 | - </xs:annotation> |
1501 | - <xs:simpleType> |
1502 | - <xs:restriction base="xs:string"> |
1503 | - <xs:minLength value="1"/> |
1504 | - <xs:whiteSpace value="collapse"/> |
1505 | - </xs:restriction> |
1506 | - </xs:simpleType> |
1507 | - </xs:attribute> |
1508 | - <xs:attribute name="colonia" use="optional"> |
1509 | - <xs:annotation> |
1510 | - <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más especÃfico en casos de ubicaciones urbanas.</xs:documentation> |
1511 | - </xs:annotation> |
1512 | - <xs:simpleType> |
1513 | - <xs:restriction base="xs:string"> |
1514 | - <xs:minLength value="1"/> |
1515 | - <xs:whiteSpace value="collapse"/> |
1516 | - </xs:restriction> |
1517 | - </xs:simpleType> |
1518 | - </xs:attribute> |
1519 | - <xs:attribute name="localidad" use="optional"> |
1520 | - <xs:annotation> |
1521 | - <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> |
1522 | - </xs:annotation> |
1523 | - <xs:simpleType> |
1524 | - <xs:restriction base="xs:string"> |
1525 | - <xs:minLength value="1"/> |
1526 | - <xs:whiteSpace value="collapse"/> |
1527 | - </xs:restriction> |
1528 | - </xs:simpleType> |
1529 | - </xs:attribute> |
1530 | - <xs:attribute name="referencia" use="optional"> |
1531 | - <xs:annotation> |
1532 | - <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> |
1533 | - </xs:annotation> |
1534 | - <xs:simpleType> |
1535 | - <xs:restriction base="xs:string"> |
1536 | - <xs:minLength value="1"/> |
1537 | - <xs:whiteSpace value="collapse"/> |
1538 | - </xs:restriction> |
1539 | - </xs:simpleType> |
1540 | - </xs:attribute> |
1541 | - <xs:attribute name="municipio" use="optional"> |
1542 | - <xs:annotation> |
1543 | - <xs:documentation>Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> |
1544 | - </xs:annotation> |
1545 | - <xs:simpleType> |
1546 | - <xs:restriction base="xs:string"> |
1547 | - <xs:minLength value="1"/> |
1548 | - <xs:whiteSpace value="collapse"/> |
1549 | - </xs:restriction> |
1550 | - </xs:simpleType> |
1551 | - </xs:attribute> |
1552 | - <xs:attribute name="estado" use="optional"> |
1553 | - <xs:annotation> |
1554 | - <xs:documentation>Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> |
1555 | - </xs:annotation> |
1556 | - <xs:simpleType> |
1557 | - <xs:restriction base="xs:string"> |
1558 | - <xs:minLength value="1"/> |
1559 | - <xs:whiteSpace value="collapse"/> |
1560 | - </xs:restriction> |
1561 | - </xs:simpleType> |
1562 | - </xs:attribute> |
1563 | - <xs:attribute name="pais" use="required"> |
1564 | - <xs:annotation> |
1565 | - <xs:documentation>Atributo requerido que sirve para precisar el paÃs donde se da la ubicación.</xs:documentation> |
1566 | - </xs:annotation> |
1567 | - <xs:simpleType> |
1568 | - <xs:restriction base="xs:string"> |
1569 | - <xs:minLength value="1"/> |
1570 | - <xs:whiteSpace value="collapse"/> |
1571 | - </xs:restriction> |
1572 | - </xs:simpleType> |
1573 | - </xs:attribute> |
1574 | - <xs:attribute name="codigoPostal" use="optional"> |
1575 | - <xs:annotation> |
1576 | - <xs:documentation>Atributo opcional que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> |
1577 | - </xs:annotation> |
1578 | - <xs:simpleType> |
1579 | - <xs:restriction base="xs:string"> |
1580 | - <xs:whiteSpace value="collapse"/> |
1581 | - </xs:restriction> |
1582 | - </xs:simpleType> |
1583 | - </xs:attribute> |
1584 | - </xs:complexType> |
1585 | - <xs:complexType name="t_UbicacionFiscal"> |
1586 | - <xs:annotation> |
1587 | - <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> |
1588 | - </xs:annotation> |
1589 | - <xs:attribute name="calle" use="required"> |
1590 | - <xs:annotation> |
1591 | - <xs:documentation>Este atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> |
1592 | - </xs:annotation> |
1593 | - <xs:simpleType> |
1594 | - <xs:restriction base="xs:string"> |
1595 | - <xs:minLength value="1"/> |
1596 | - <xs:whiteSpace value="collapse"/> |
1597 | - </xs:restriction> |
1598 | - </xs:simpleType> |
1599 | - </xs:attribute> |
1600 | - <xs:attribute name="noExterior" use="optional"> |
1601 | - <xs:annotation> |
1602 | - <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> |
1603 | - </xs:annotation> |
1604 | - <xs:simpleType> |
1605 | - <xs:restriction base="xs:string"> |
1606 | - <xs:minLength value="1"/> |
1607 | - <xs:whiteSpace value="collapse"/> |
1608 | - </xs:restriction> |
1609 | - </xs:simpleType> |
1610 | - </xs:attribute> |
1611 | - <xs:attribute name="noInterior" use="optional"> |
1612 | - <xs:annotation> |
1613 | - <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> |
1614 | - </xs:annotation> |
1615 | - <xs:simpleType> |
1616 | - <xs:restriction base="xs:string"> |
1617 | - <xs:minLength value="1"/> |
1618 | - <xs:whiteSpace value="collapse"/> |
1619 | - </xs:restriction> |
1620 | - </xs:simpleType> |
1621 | - </xs:attribute> |
1622 | - <xs:attribute name="colonia" use="optional"> |
1623 | - <xs:annotation> |
1624 | - <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más especÃfico en casos de ubicaciones urbanas.</xs:documentation> |
1625 | - </xs:annotation> |
1626 | - <xs:simpleType> |
1627 | - <xs:restriction base="xs:string"> |
1628 | - <xs:minLength value="1"/> |
1629 | - <xs:whiteSpace value="collapse"/> |
1630 | - </xs:restriction> |
1631 | - </xs:simpleType> |
1632 | - </xs:attribute> |
1633 | - <xs:attribute name="localidad" use="optional"> |
1634 | - <xs:annotation> |
1635 | - <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> |
1636 | - </xs:annotation> |
1637 | - <xs:simpleType> |
1638 | - <xs:restriction base="xs:string"> |
1639 | - <xs:minLength value="1"/> |
1640 | - <xs:whiteSpace value="collapse"/> |
1641 | - </xs:restriction> |
1642 | - </xs:simpleType> |
1643 | - </xs:attribute> |
1644 | - <xs:attribute name="referencia" use="optional"> |
1645 | - <xs:annotation> |
1646 | - <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> |
1647 | - </xs:annotation> |
1648 | - <xs:simpleType> |
1649 | - <xs:restriction base="xs:string"> |
1650 | - <xs:whiteSpace value="collapse"/> |
1651 | - <xs:minLength value="1"/> |
1652 | - </xs:restriction> |
1653 | - </xs:simpleType> |
1654 | - </xs:attribute> |
1655 | - <xs:attribute name="municipio" use="required"> |
1656 | - <xs:annotation> |
1657 | - <xs:documentation>Atributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> |
1658 | - </xs:annotation> |
1659 | - <xs:simpleType> |
1660 | - <xs:restriction base="xs:string"> |
1661 | - <xs:minLength value="1"/> |
1662 | - <xs:whiteSpace value="collapse"/> |
1663 | - </xs:restriction> |
1664 | - </xs:simpleType> |
1665 | - </xs:attribute> |
1666 | - <xs:attribute name="estado" use="required"> |
1667 | - <xs:annotation> |
1668 | - <xs:documentation>Atributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> |
1669 | - </xs:annotation> |
1670 | - <xs:simpleType> |
1671 | - <xs:restriction base="xs:string"> |
1672 | - <xs:minLength value="1"/> |
1673 | - <xs:whiteSpace value="collapse"/> |
1674 | - </xs:restriction> |
1675 | - </xs:simpleType> |
1676 | - </xs:attribute> |
1677 | - <xs:attribute name="pais" use="required"> |
1678 | - <xs:annotation> |
1679 | - <xs:documentation>Atributo requerido que sirve para precisar el paÃs donde se da la ubicación.</xs:documentation> |
1680 | - </xs:annotation> |
1681 | - <xs:simpleType> |
1682 | - <xs:restriction base="xs:string"> |
1683 | - <xs:minLength value="1"/> |
1684 | - <xs:whiteSpace value="collapse"/> |
1685 | - </xs:restriction> |
1686 | - </xs:simpleType> |
1687 | - </xs:attribute> |
1688 | - <xs:attribute name="codigoPostal" use="required"> |
1689 | - <xs:annotation> |
1690 | - <xs:documentation>Atributo requerido que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> |
1691 | - </xs:annotation> |
1692 | - <xs:simpleType> |
1693 | - <xs:restriction base="xs:string"> |
1694 | - <xs:whiteSpace value="collapse"/> |
1695 | - <xs:length value="5"/> |
1696 | - </xs:restriction> |
1697 | - </xs:simpleType> |
1698 | - </xs:attribute> |
1699 | - </xs:complexType> |
1700 | - <xs:simpleType name="t_RFC"> |
1701 | - <xs:annotation> |
1702 | - <xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation> |
1703 | - </xs:annotation> |
1704 | - <xs:restriction base="xs:string"> |
1705 | - <xs:minLength value="12"/> |
1706 | - <xs:maxLength value="13"/> |
1707 | - <xs:whiteSpace value="collapse"/> |
1708 | - </xs:restriction> |
1709 | - </xs:simpleType> |
1710 | - <xs:simpleType name="t_Importe"> |
1711 | - <xs:annotation> |
1712 | - <xs:documentation>Tipo definido para expresar importes numéricos con fracción a seis decimales</xs:documentation> |
1713 | - </xs:annotation> |
1714 | - <xs:restriction base="xs:decimal"> |
1715 | - <xs:fractionDigits value="6"/> |
1716 | - <xs:whiteSpace value="collapse"/> |
1717 | - </xs:restriction> |
1718 | - </xs:simpleType> |
1719 | - <xs:complexType name="t_InformacionAduanera"> |
1720 | - <xs:annotation> |
1721 | - <xs:documentation>Tipo definido para expresar información aduanera</xs:documentation> |
1722 | - </xs:annotation> |
1723 | - <xs:attribute name="numero" use="required"> |
1724 | - <xs:annotation> |
1725 | - <xs:documentation>Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien.</xs:documentation> |
1726 | - </xs:annotation> |
1727 | - <xs:simpleType> |
1728 | - <xs:restriction base="xs:string"> |
1729 | - <xs:minLength value="1"/> |
1730 | - <xs:whiteSpace value="collapse"/> |
1731 | - </xs:restriction> |
1732 | - </xs:simpleType> |
1733 | - </xs:attribute> |
1734 | - <xs:attribute name="fecha" use="required"> |
1735 | - <xs:annotation> |
1736 | - <xs:documentation>Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien. Se expresa en el formato aaaa-mm-dd</xs:documentation> |
1737 | - </xs:annotation> |
1738 | - <xs:simpleType> |
1739 | - <xs:restriction base="xs:date"> |
1740 | - <xs:whiteSpace value="collapse"/> |
1741 | - </xs:restriction> |
1742 | - </xs:simpleType> |
1743 | - </xs:attribute> |
1744 | - <xs:attribute name="aduana" use="required"> |
1745 | - <xs:annotation> |
1746 | - <xs:documentation>Atributo requerido para precisar la aduana por la que se efectuó la importación del bien.</xs:documentation> |
1747 | - </xs:annotation> |
1748 | - <xs:simpleType> |
1749 | - <xs:restriction base="xs:string"> |
1750 | - <xs:minLength value="1"/> |
1751 | - <xs:whiteSpace value="collapse"/> |
1752 | - </xs:restriction> |
1753 | - </xs:simpleType> |
1754 | - </xs:attribute> |
1755 | - </xs:complexType> |
1756 | -</xs:schema> |
1757 | |
1758 | === added file 'l10n_mx_facturae/SAT/cfdv3.2.xsd' |
1759 | --- l10n_mx_facturae/SAT/cfdv3.2.xsd 1970-01-01 00:00:00 +0000 |
1760 | +++ l10n_mx_facturae/SAT/cfdv3.2.xsd 2013-09-25 00:33:17 +0000 |
1761 | @@ -0,0 +1,903 @@ |
1762 | +<?xml version="1.0" encoding="UTF-8"?> |
1763 | +<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by SAT (SAT) --> |
1764 | +<xs:schema xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/cfd/3" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
1765 | + <xs:element name="Comprobante"> |
1766 | + <xs:annotation> |
1767 | + <xs:documentation>Estándar de Comprobante fiscal digital a través de Internet.</xs:documentation> |
1768 | + </xs:annotation> |
1769 | + <xs:complexType> |
1770 | + <xs:sequence> |
1771 | + <xs:element name="Emisor"> |
1772 | + <xs:annotation> |
1773 | + <xs:documentation>Nodo requerido para expresar la información del contribuyente emisor del comprobante.</xs:documentation> |
1774 | + </xs:annotation> |
1775 | + <xs:complexType> |
1776 | + <xs:sequence> |
1777 | + <xs:element name="DomicilioFiscal" type="cfdi:t_UbicacionFiscal" minOccurs="0"> |
1778 | + <xs:annotation> |
1779 | + <xs:documentation>Nodo opcional para precisar la información de ubicación del domicilio fiscal del contribuyente emisor</xs:documentation> |
1780 | + </xs:annotation> |
1781 | + </xs:element> |
1782 | + <xs:element name="ExpedidoEn" type="cfdi:t_Ubicacion" minOccurs="0"> |
1783 | + <xs:annotation> |
1784 | + <xs:documentation>Nodo opcional para precisar la información de ubicación del domicilio en donde es emitido el comprobante fiscal en caso de que sea distinto del domicilio fiscal del contribuyente emisor.</xs:documentation> |
1785 | + </xs:annotation> |
1786 | + </xs:element> |
1787 | + <xs:sequence> |
1788 | + <xs:element name="RegimenFiscal" maxOccurs="unbounded"> |
1789 | + <xs:annotation> |
1790 | + <xs:documentation>Nodo requerido para incorporar los regÃmenes en los que tributa el contribuyente emisor. Puede contener más de un régimen.</xs:documentation> |
1791 | + </xs:annotation> |
1792 | + <xs:complexType> |
1793 | + <xs:attribute name="Regimen" use="required"> |
1794 | + <xs:annotation> |
1795 | + <xs:documentation>Atributo requerido para incorporar el nombre del régimen en el que tributa el contribuyente emisor.</xs:documentation> |
1796 | + </xs:annotation> |
1797 | + <xs:simpleType> |
1798 | + <xs:restriction base="xs:string"> |
1799 | + <xs:minLength value="1"/> |
1800 | + <xs:whiteSpace value="collapse"/> |
1801 | + </xs:restriction> |
1802 | + </xs:simpleType> |
1803 | + </xs:attribute> |
1804 | + </xs:complexType> |
1805 | + </xs:element> |
1806 | + </xs:sequence> |
1807 | + </xs:sequence> |
1808 | + <xs:attribute name="rfc" type="cfdi:t_RFC" use="required"> |
1809 | + <xs:annotation> |
1810 | + <xs:documentation>Atributo requerido para la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante sin guiones o espacios.</xs:documentation> |
1811 | + </xs:annotation> |
1812 | + </xs:attribute> |
1813 | + <xs:attribute name="nombre"> |
1814 | + <xs:annotation> |
1815 | + <xs:documentation>Atributo opcional para el nombre, denominación o razón social del contribuyente emisor del comprobante.</xs:documentation> |
1816 | + </xs:annotation> |
1817 | + <xs:simpleType> |
1818 | + <xs:restriction base="xs:string"> |
1819 | + <xs:minLength value="1"/> |
1820 | + <xs:whiteSpace value="collapse"/> |
1821 | + </xs:restriction> |
1822 | + </xs:simpleType> |
1823 | + </xs:attribute> |
1824 | + </xs:complexType> |
1825 | + </xs:element> |
1826 | + <xs:element name="Receptor"> |
1827 | + <xs:annotation> |
1828 | + <xs:documentation>Nodo requerido para precisar la información del contribuyente receptor del comprobante.</xs:documentation> |
1829 | + </xs:annotation> |
1830 | + <xs:complexType> |
1831 | + <xs:sequence> |
1832 | + <xs:element name="Domicilio" type="cfdi:t_Ubicacion" minOccurs="0"> |
1833 | + <xs:annotation> |
1834 | + <xs:documentation>Nodo opcional para la definición de la ubicación donde se da el domicilio del receptor del comprobante fiscal.</xs:documentation> |
1835 | + </xs:annotation> |
1836 | + </xs:element> |
1837 | + </xs:sequence> |
1838 | + <xs:attribute name="rfc" type="cfdi:t_RFC" use="required"> |
1839 | + <xs:annotation> |
1840 | + <xs:documentation>Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.</xs:documentation> |
1841 | + </xs:annotation> |
1842 | + </xs:attribute> |
1843 | + <xs:attribute name="nombre" use="optional"> |
1844 | + <xs:annotation> |
1845 | + <xs:documentation>Atributo opcional para el nombre, denominación o razón social del contribuyente receptor del comprobante.</xs:documentation> |
1846 | + </xs:annotation> |
1847 | + <xs:simpleType> |
1848 | + <xs:restriction base="xs:string"> |
1849 | + <xs:minLength value="1"/> |
1850 | + <xs:whiteSpace value="collapse"/> |
1851 | + </xs:restriction> |
1852 | + </xs:simpleType> |
1853 | + </xs:attribute> |
1854 | + </xs:complexType> |
1855 | + </xs:element> |
1856 | + <xs:element name="Conceptos"> |
1857 | + <xs:annotation> |
1858 | + <xs:documentation>Nodo requerido para enlistar los conceptos cubiertos por el comprobante.</xs:documentation> |
1859 | + </xs:annotation> |
1860 | + <xs:complexType> |
1861 | + <xs:sequence> |
1862 | + <xs:element name="Concepto" maxOccurs="unbounded"> |
1863 | + <xs:annotation> |
1864 | + <xs:documentation>Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante.</xs:documentation> |
1865 | + </xs:annotation> |
1866 | + <xs:complexType> |
1867 | + <xs:choice minOccurs="0"> |
1868 | + <xs:element name="InformacionAduanera" type="cfdi:t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> |
1869 | + <xs:annotation> |
1870 | + <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancÃas importadas.</xs:documentation> |
1871 | + </xs:annotation> |
1872 | + </xs:element> |
1873 | + <xs:element name="CuentaPredial" minOccurs="0"> |
1874 | + <xs:annotation> |
1875 | + <xs:documentation>Nodo opcional para asentar el número de cuenta predial con el que fue registrado el inmueble, en el sistema catastral de la entidad federativa de que trate, o bien para incorporar los datos de identificación del certificado de participación inmobiliaria no amortizable.</xs:documentation> |
1876 | + </xs:annotation> |
1877 | + <xs:complexType> |
1878 | + <xs:attribute name="numero" use="required"> |
1879 | + <xs:annotation> |
1880 | + <xs:documentation>Atributo requerido para precisar el número de la cuenta predial del inmueble cubierto por el presente concepto, o bien para incorporar los datos de identificación del certificado de participación inmobiliaria no amortizable, tratándose de arrendamiento.</xs:documentation> |
1881 | + </xs:annotation> |
1882 | + <xs:simpleType> |
1883 | + <xs:restriction base="xs:string"> |
1884 | + <xs:whiteSpace value="collapse"/> |
1885 | + <xs:minLength value="1"/> |
1886 | + </xs:restriction> |
1887 | + </xs:simpleType> |
1888 | + </xs:attribute> |
1889 | + </xs:complexType> |
1890 | + </xs:element> |
1891 | + <xs:element name="ComplementoConcepto" minOccurs="0"> |
1892 | + <xs:annotation> |
1893 | + <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios de extensión al concepto, definidos por el SAT, de acuerdo a disposiciones particulares a un sector o actividad especifica.</xs:documentation> |
1894 | + </xs:annotation> |
1895 | + <xs:complexType> |
1896 | + <xs:sequence> |
1897 | + <xs:any minOccurs="0" maxOccurs="unbounded"/> |
1898 | + </xs:sequence> |
1899 | + </xs:complexType> |
1900 | + </xs:element> |
1901 | + <xs:element name="Parte" minOccurs="0" maxOccurs="unbounded"> |
1902 | + <xs:annotation> |
1903 | + <xs:documentation>Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital a través de Internet</xs:documentation> |
1904 | + </xs:annotation> |
1905 | + <xs:complexType> |
1906 | + <xs:sequence> |
1907 | + <xs:element name="InformacionAduanera" type="cfdi:t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> |
1908 | + <xs:annotation> |
1909 | + <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.</xs:documentation> |
1910 | + </xs:annotation> |
1911 | + </xs:element> |
1912 | + </xs:sequence> |
1913 | + <xs:attribute name="cantidad" use="required"> |
1914 | + <xs:annotation> |
1915 | + <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.</xs:documentation> |
1916 | + </xs:annotation> |
1917 | + <xs:simpleType> |
1918 | + <xs:restriction base="xs:decimal"> |
1919 | + <xs:whiteSpace value="collapse"/> |
1920 | + </xs:restriction> |
1921 | + </xs:simpleType> |
1922 | + </xs:attribute> |
1923 | + <xs:attribute name="unidad" use="optional"> |
1924 | + <xs:annotation> |
1925 | + <xs:documentation>Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.</xs:documentation> |
1926 | + </xs:annotation> |
1927 | + <xs:simpleType> |
1928 | + <xs:restriction base="xs:string"> |
1929 | + <xs:whiteSpace value="collapse"/> |
1930 | + <xs:minLength value="1"/> |
1931 | + </xs:restriction> |
1932 | + </xs:simpleType> |
1933 | + </xs:attribute> |
1934 | + <xs:attribute name="noIdentificacion" use="optional"> |
1935 | + <xs:annotation> |
1936 | + <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.</xs:documentation> |
1937 | + </xs:annotation> |
1938 | + <xs:simpleType> |
1939 | + <xs:restriction base="xs:string"> |
1940 | + <xs:minLength value="1"/> |
1941 | + <xs:whiteSpace value="collapse"/> |
1942 | + </xs:restriction> |
1943 | + </xs:simpleType> |
1944 | + </xs:attribute> |
1945 | + <xs:attribute name="descripcion" use="required"> |
1946 | + <xs:annotation> |
1947 | + <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.</xs:documentation> |
1948 | + </xs:annotation> |
1949 | + <xs:simpleType> |
1950 | + <xs:restriction base="xs:string"> |
1951 | + <xs:minLength value="1"/> |
1952 | + <xs:whiteSpace value="collapse"/> |
1953 | + </xs:restriction> |
1954 | + </xs:simpleType> |
1955 | + </xs:attribute> |
1956 | + <xs:attribute name="valorUnitario" type="cfdi:t_Importe" use="optional"> |
1957 | + <xs:annotation> |
1958 | + <xs:documentation>Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.</xs:documentation> |
1959 | + </xs:annotation> |
1960 | + </xs:attribute> |
1961 | + <xs:attribute name="importe" type="cfdi:t_Importe" use="optional"> |
1962 | + <xs:annotation> |
1963 | + <xs:documentation>Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.</xs:documentation> |
1964 | + </xs:annotation> |
1965 | + </xs:attribute> |
1966 | + </xs:complexType> |
1967 | + </xs:element> |
1968 | + </xs:choice> |
1969 | + <xs:attribute name="cantidad" use="required"> |
1970 | + <xs:annotation> |
1971 | + <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.</xs:documentation> |
1972 | + </xs:annotation> |
1973 | + <xs:simpleType> |
1974 | + <xs:restriction base="xs:decimal"> |
1975 | + <xs:whiteSpace value="collapse"/> |
1976 | + </xs:restriction> |
1977 | + </xs:simpleType> |
1978 | + </xs:attribute> |
1979 | + <xs:attribute name="unidad" use="required"> |
1980 | + <xs:annotation> |
1981 | + <xs:documentation>Atributo requerido para precisar la unidad de medida aplicable para la cantidad expresada en el concepto.</xs:documentation> |
1982 | + </xs:annotation> |
1983 | + <xs:simpleType> |
1984 | + <xs:restriction base="xs:string"> |
1985 | + <xs:whiteSpace value="collapse"/> |
1986 | + <xs:minLength value="1"/> |
1987 | + </xs:restriction> |
1988 | + </xs:simpleType> |
1989 | + </xs:attribute> |
1990 | + <xs:attribute name="noIdentificacion" use="optional"> |
1991 | + <xs:annotation> |
1992 | + <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por el presente concepto.</xs:documentation> |
1993 | + </xs:annotation> |
1994 | + <xs:simpleType> |
1995 | + <xs:restriction base="xs:string"> |
1996 | + <xs:minLength value="1"/> |
1997 | + <xs:whiteSpace value="collapse"/> |
1998 | + </xs:restriction> |
1999 | + </xs:simpleType> |
2000 | + </xs:attribute> |
2001 | + <xs:attribute name="descripcion" use="required"> |
2002 | + <xs:annotation> |
2003 | + <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.</xs:documentation> |
2004 | + </xs:annotation> |
2005 | + <xs:simpleType> |
2006 | + <xs:restriction base="xs:string"> |
2007 | + <xs:minLength value="1"/> |
2008 | + <xs:whiteSpace value="collapse"/> |
2009 | + </xs:restriction> |
2010 | + </xs:simpleType> |
2011 | + </xs:attribute> |
2012 | + <xs:attribute name="valorUnitario" type="cfdi:t_Importe" use="required"> |
2013 | + <xs:annotation> |
2014 | + <xs:documentation>Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.</xs:documentation> |
2015 | + </xs:annotation> |
2016 | + </xs:attribute> |
2017 | + <xs:attribute name="importe" type="cfdi:t_Importe" use="required"> |
2018 | + <xs:annotation> |
2019 | + <xs:documentation>Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto.</xs:documentation> |
2020 | + </xs:annotation> |
2021 | + </xs:attribute> |
2022 | + </xs:complexType> |
2023 | + </xs:element> |
2024 | + </xs:sequence> |
2025 | + </xs:complexType> |
2026 | + </xs:element> |
2027 | + <xs:element name="Impuestos"> |
2028 | + <xs:annotation> |
2029 | + <xs:documentation>Nodo requerido para capturar los impuestos aplicables.</xs:documentation> |
2030 | + </xs:annotation> |
2031 | + <xs:complexType> |
2032 | + <xs:sequence> |
2033 | + <xs:element name="Retenciones" minOccurs="0"> |
2034 | + <xs:annotation> |
2035 | + <xs:documentation>Nodo opcional para capturar los impuestos retenidos aplicables</xs:documentation> |
2036 | + </xs:annotation> |
2037 | + <xs:complexType> |
2038 | + <xs:sequence> |
2039 | + <xs:element name="Retencion" maxOccurs="unbounded"> |
2040 | + <xs:annotation> |
2041 | + <xs:documentation>Nodo para la información detallada de una retención de impuesto especÃfico</xs:documentation> |
2042 | + </xs:annotation> |
2043 | + <xs:complexType> |
2044 | + <xs:attribute name="impuesto" use="required"> |
2045 | + <xs:annotation> |
2046 | + <xs:documentation>Atributo requerido para señalar el tipo de impuesto retenido</xs:documentation> |
2047 | + </xs:annotation> |
2048 | + <xs:simpleType> |
2049 | + <xs:restriction base="xs:string"> |
2050 | + <xs:whiteSpace value="collapse"/> |
2051 | + <xs:enumeration value="ISR"> |
2052 | + <xs:annotation> |
2053 | + <xs:documentation>Impuesto sobre la renta</xs:documentation> |
2054 | + </xs:annotation> |
2055 | + </xs:enumeration> |
2056 | + <xs:enumeration value="IVA"> |
2057 | + <xs:annotation> |
2058 | + <xs:documentation>Impuesto al Valor Agregado</xs:documentation> |
2059 | + </xs:annotation> |
2060 | + </xs:enumeration> |
2061 | + </xs:restriction> |
2062 | + </xs:simpleType> |
2063 | + </xs:attribute> |
2064 | + <xs:attribute name="importe" type="cfdi:t_Importe" use="required"> |
2065 | + <xs:annotation> |
2066 | + <xs:documentation>Atributo requerido para señalar el importe o monto del impuesto retenido</xs:documentation> |
2067 | + </xs:annotation> |
2068 | + </xs:attribute> |
2069 | + </xs:complexType> |
2070 | + </xs:element> |
2071 | + </xs:sequence> |
2072 | + </xs:complexType> |
2073 | + </xs:element> |
2074 | + <xs:element name="Traslados" minOccurs="0"> |
2075 | + <xs:annotation> |
2076 | + <xs:documentation>Nodo opcional para asentar o referir los impuestos trasladados aplicables</xs:documentation> |
2077 | + </xs:annotation> |
2078 | + <xs:complexType> |
2079 | + <xs:sequence> |
2080 | + <xs:element name="Traslado" maxOccurs="unbounded"> |
2081 | + <xs:annotation> |
2082 | + <xs:documentation>Nodo para la información detallada de un traslado de impuesto especÃfico</xs:documentation> |
2083 | + </xs:annotation> |
2084 | + <xs:complexType> |
2085 | + <xs:attribute name="impuesto" use="required"> |
2086 | + <xs:annotation> |
2087 | + <xs:documentation>Atributo requerido para señalar el tipo de impuesto trasladado</xs:documentation> |
2088 | + </xs:annotation> |
2089 | + <xs:simpleType> |
2090 | + <xs:restriction base="xs:string"> |
2091 | + <xs:whiteSpace value="collapse"/> |
2092 | + <xs:enumeration value="IVA"> |
2093 | + <xs:annotation> |
2094 | + <xs:documentation>Impuesto al Valor Agregado</xs:documentation> |
2095 | + </xs:annotation> |
2096 | + </xs:enumeration> |
2097 | + <xs:enumeration value="IEPS"> |
2098 | + <xs:annotation> |
2099 | + <xs:documentation>Impuesto especial sobre productos y servicios</xs:documentation> |
2100 | + </xs:annotation> |
2101 | + </xs:enumeration> |
2102 | + </xs:restriction> |
2103 | + </xs:simpleType> |
2104 | + </xs:attribute> |
2105 | + <xs:attribute name="tasa" type="cfdi:t_Importe" use="required"> |
2106 | + <xs:annotation> |
2107 | + <xs:documentation>Atributo requerido para señalar la tasa del impuesto que se traslada por cada concepto amparado en el comprobante</xs:documentation> |
2108 | + </xs:annotation> |
2109 | + </xs:attribute> |
2110 | + <xs:attribute name="importe" type="cfdi:t_Importe" use="required"> |
2111 | + <xs:annotation> |
2112 | + <xs:documentation>Atributo requerido para señalar el importe del impuesto trasladado</xs:documentation> |
2113 | + </xs:annotation> |
2114 | + </xs:attribute> |
2115 | + </xs:complexType> |
2116 | + </xs:element> |
2117 | + </xs:sequence> |
2118 | + </xs:complexType> |
2119 | + </xs:element> |
2120 | + </xs:sequence> |
2121 | + <xs:attribute name="totalImpuestosRetenidos" type="cfdi:t_Importe" use="optional"> |
2122 | + <xs:annotation> |
2123 | + <xs:documentation>Atributo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital a través de Internet.</xs:documentation> |
2124 | + </xs:annotation> |
2125 | + </xs:attribute> |
2126 | + <xs:attribute name="totalImpuestosTrasladados" type="cfdi:t_Importe" use="optional"> |
2127 | + <xs:annotation> |
2128 | + <xs:documentation>Atributo opcional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital a través de Internet.</xs:documentation> |
2129 | + </xs:annotation> |
2130 | + </xs:attribute> |
2131 | + </xs:complexType> |
2132 | + </xs:element> |
2133 | + <xs:element name="Complemento" minOccurs="0"> |
2134 | + <xs:annotation> |
2135 | + <xs:documentation>Nodo opcional donde se incluirá el complemento Timbre Fiscal Digital de manera obligatoria y los nodos complementarios determinados por el SAT, de acuerdo a las disposiciones particulares a un sector o actividad especÃfica.</xs:documentation> |
2136 | + </xs:annotation> |
2137 | + <xs:complexType> |
2138 | + <xs:sequence> |
2139 | + <xs:any minOccurs="0" maxOccurs="unbounded"/> |
2140 | + </xs:sequence> |
2141 | + </xs:complexType> |
2142 | + </xs:element> |
2143 | + <xs:element name="Addenda" minOccurs="0"> |
2144 | + <xs:annotation> |
2145 | + <xs:documentation>Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato de origen.</xs:documentation> |
2146 | + </xs:annotation> |
2147 | + <xs:complexType> |
2148 | + <xs:sequence> |
2149 | + <xs:any minOccurs="0" maxOccurs="unbounded"/> |
2150 | + </xs:sequence> |
2151 | + </xs:complexType> |
2152 | + </xs:element> |
2153 | + </xs:sequence> |
2154 | + <xs:attribute name="version" use="required" fixed="3.2"> |
2155 | + <xs:annotation> |
2156 | + <xs:documentation>Atributo requerido con valor prefijado a 3.2 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.</xs:documentation> |
2157 | + </xs:annotation> |
2158 | + <xs:simpleType> |
2159 | + <xs:restriction base="xs:string"> |
2160 | + <xs:whiteSpace value="collapse"/> |
2161 | + </xs:restriction> |
2162 | + </xs:simpleType> |
2163 | + </xs:attribute> |
2164 | + <xs:attribute name="serie" use="optional"> |
2165 | + <xs:annotation> |
2166 | + <xs:documentation>Atributo opcional para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres alfabéticos de 1 a 25 caracteres sin incluir caracteres acentuados.</xs:documentation> |
2167 | + </xs:annotation> |
2168 | + <xs:simpleType> |
2169 | + <xs:restriction base="xs:string"> |
2170 | + <xs:minLength value="1"/> |
2171 | + <xs:maxLength value="25"/> |
2172 | + <xs:whiteSpace value="collapse"/> |
2173 | + </xs:restriction> |
2174 | + </xs:simpleType> |
2175 | + </xs:attribute> |
2176 | + <xs:attribute name="folio"> |
2177 | + <xs:annotation> |
2178 | + <xs:documentation>Atributo opcional para control interno del contribuyente que acepta un valor numérico entero superior a 0 que expresa el folio del comprobante.</xs:documentation> |
2179 | + </xs:annotation> |
2180 | + <xs:simpleType> |
2181 | + <xs:restriction base="xs:string"> |
2182 | + <xs:minLength value="1"/> |
2183 | + <xs:maxLength value="20"/> |
2184 | + <xs:whiteSpace value="collapse"/> |
2185 | + </xs:restriction> |
2186 | + </xs:simpleType> |
2187 | + </xs:attribute> |
2188 | + <xs:attribute name="fecha" use="required"> |
2189 | + <xs:annotation> |
2190 | + <xs:documentation>Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> |
2191 | + </xs:annotation> |
2192 | + <xs:simpleType> |
2193 | + <xs:restriction base="xs:dateTime"> |
2194 | + <xs:whiteSpace value="collapse"/> |
2195 | + </xs:restriction> |
2196 | + </xs:simpleType> |
2197 | + </xs:attribute> |
2198 | + <xs:attribute name="sello" use="required"> |
2199 | + <xs:annotation> |
2200 | + <xs:documentation>Atributo requerido para contener el sello digital del comprobante fiscal, al que hacen referencia las reglas de resolución miscelánea aplicable. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation> |
2201 | + </xs:annotation> |
2202 | + <xs:simpleType> |
2203 | + <xs:restriction base="xs:string"> |
2204 | + <xs:whiteSpace value="collapse"/> |
2205 | + </xs:restriction> |
2206 | + </xs:simpleType> |
2207 | + </xs:attribute> |
2208 | + <xs:attribute name="formaDePago" use="required"> |
2209 | + <xs:annotation> |
2210 | + <xs:documentation>Atributo requerido para precisar la forma de pago que aplica para este comprobnante fiscal digital a través de Internet. Se utiliza para expresar Pago en una sola exhibición o número de parcialidad pagada contra el total de parcialidades, Parcialidad 1 de X. </xs:documentation> |
2211 | + </xs:annotation> |
2212 | + <xs:simpleType> |
2213 | + <xs:restriction base="xs:string"> |
2214 | + <xs:whiteSpace value="collapse"/> |
2215 | + </xs:restriction> |
2216 | + </xs:simpleType> |
2217 | + </xs:attribute> |
2218 | + <xs:attribute name="noCertificado" use="required"> |
2219 | + <xs:annotation> |
2220 | + <xs:documentation> Atributo requerido para expresar el número de serie del certificado de sello digital que ampara al comprobante, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation> |
2221 | + </xs:annotation> |
2222 | + <xs:simpleType> |
2223 | + <xs:restriction base="xs:string"> |
2224 | + <xs:length value="20"/> |
2225 | + <xs:whiteSpace value="collapse"/> |
2226 | + </xs:restriction> |
2227 | + </xs:simpleType> |
2228 | + </xs:attribute> |
2229 | + <xs:attribute name="certificado" use="required"> |
2230 | + <xs:annotation> |
2231 | + <xs:documentation>Atributo requerido que sirve para expresar el certificado de sello digital que ampara al comprobante como texto, en formato base 64.</xs:documentation> |
2232 | + </xs:annotation> |
2233 | + <xs:simpleType> |
2234 | + <xs:restriction base="xs:string"> |
2235 | + <xs:whiteSpace value="collapse"/> |
2236 | + </xs:restriction> |
2237 | + </xs:simpleType> |
2238 | + </xs:attribute> |
2239 | + <xs:attribute name="condicionesDePago" use="optional"> |
2240 | + <xs:annotation> |
2241 | + <xs:documentation>Atributo opcional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital a través de Internet.</xs:documentation> |
2242 | + </xs:annotation> |
2243 | + <xs:simpleType> |
2244 | + <xs:restriction base="xs:string"> |
2245 | + <xs:whiteSpace value="collapse"/> |
2246 | + <xs:minLength value="1"/> |
2247 | + </xs:restriction> |
2248 | + </xs:simpleType> |
2249 | + </xs:attribute> |
2250 | + <xs:attribute name="subTotal" type="cfdi:t_Importe" use="required"> |
2251 | + <xs:annotation> |
2252 | + <xs:documentation>Atributo requerido para representar la suma de los importes antes de descuentos e impuestos.</xs:documentation> |
2253 | + </xs:annotation> |
2254 | + </xs:attribute> |
2255 | + <xs:attribute name="descuento" type="cfdi:t_Importe" use="optional"> |
2256 | + <xs:annotation> |
2257 | + <xs:documentation>Atributo opcional para representar el importe total de los descuentos aplicables antes de impuestos.</xs:documentation> |
2258 | + </xs:annotation> |
2259 | + </xs:attribute> |
2260 | + <xs:attribute name="motivoDescuento" use="optional"> |
2261 | + <xs:annotation> |
2262 | + <xs:documentation>Atributo opcional para expresar el motivo del descuento aplicable.</xs:documentation> |
2263 | + </xs:annotation> |
2264 | + <xs:simpleType> |
2265 | + <xs:restriction base="xs:string"> |
2266 | + <xs:minLength value="1"/> |
2267 | + <xs:whiteSpace value="collapse"/> |
2268 | + </xs:restriction> |
2269 | + </xs:simpleType> |
2270 | + </xs:attribute> |
2271 | + <xs:attribute name="TipoCambio"> |
2272 | + <xs:annotation> |
2273 | + <xs:documentation>Atributo opcional para representar el tipo de cambio conforme a la moneda usada</xs:documentation> |
2274 | + </xs:annotation> |
2275 | + <xs:simpleType> |
2276 | + <xs:restriction base="xs:string"> |
2277 | + <xs:whiteSpace value="collapse"/> |
2278 | + </xs:restriction> |
2279 | + </xs:simpleType> |
2280 | + </xs:attribute> |
2281 | + <xs:attribute name="Moneda"> |
2282 | + <xs:annotation> |
2283 | + <xs:documentation>Atributo opcional para expresar la moneda utilizada para expresar los montos </xs:documentation> |
2284 | + </xs:annotation> |
2285 | + <xs:simpleType> |
2286 | + <xs:restriction base="xs:string"> |
2287 | + <xs:whiteSpace value="collapse"/> |
2288 | + </xs:restriction> |
2289 | + </xs:simpleType> |
2290 | + </xs:attribute> |
2291 | + <xs:attribute name="total" type="cfdi:t_Importe" use="required"> |
2292 | + <xs:annotation> |
2293 | + <xs:documentation>Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más los impuestos trasladados, menos los impuestos retenidos.</xs:documentation> |
2294 | + </xs:annotation> |
2295 | + </xs:attribute> |
2296 | + <xs:attribute name="tipoDeComprobante" use="required"> |
2297 | + <xs:annotation> |
2298 | + <xs:documentation>Atributo requerido para expresar el efecto del comprobante fiscal para el contribuyente emisor.</xs:documentation> |
2299 | + </xs:annotation> |
2300 | + <xs:simpleType> |
2301 | + <xs:restriction base="xs:string"> |
2302 | + <xs:enumeration value="ingreso"/> |
2303 | + <xs:enumeration value="egreso"/> |
2304 | + <xs:enumeration value="traslado"/> |
2305 | + </xs:restriction> |
2306 | + </xs:simpleType> |
2307 | + </xs:attribute> |
2308 | + <xs:attribute name="metodoDePago" use="required"> |
2309 | + <xs:annotation> |
2310 | + <xs:documentation>Atributo requerido de texto libre para expresar el método de pago de los bienes o servicios amparados por el comprobante. Se entiende como método de pago leyendas tales como: cheque, tarjeta de crédito o debito, depósito en cuenta, etc.</xs:documentation> |
2311 | + </xs:annotation> |
2312 | + <xs:simpleType> |
2313 | + <xs:restriction base="xs:string"> |
2314 | + <xs:minLength value="1"/> |
2315 | + <xs:whiteSpace value="collapse"/> |
2316 | + </xs:restriction> |
2317 | + </xs:simpleType> |
2318 | + </xs:attribute> |
2319 | + <xs:attribute name="LugarExpedicion" use="required"> |
2320 | + <xs:annotation> |
2321 | + <xs:documentation>Atributo requerido para incorporar el lugar de expedición del comprobante.</xs:documentation> |
2322 | + </xs:annotation> |
2323 | + <xs:simpleType> |
2324 | + <xs:restriction base="xs:string"> |
2325 | + <xs:minLength value="1"/> |
2326 | + <xs:whiteSpace value="collapse"/> |
2327 | + </xs:restriction> |
2328 | + </xs:simpleType> |
2329 | + </xs:attribute> |
2330 | + <xs:attribute name="NumCtaPago"> |
2331 | + <xs:annotation> |
2332 | + <xs:documentation>Atributo Opcional para incorporar al menos los cuatro últimos digitos del número de cuenta con la que se realizó el pago.</xs:documentation> |
2333 | + </xs:annotation> |
2334 | + <xs:simpleType> |
2335 | + <xs:restriction base="xs:string"> |
2336 | + <xs:minLength value="4"/> |
2337 | + <xs:whiteSpace value="collapse"/> |
2338 | + </xs:restriction> |
2339 | + </xs:simpleType> |
2340 | + </xs:attribute> |
2341 | + <xs:attribute name="FolioFiscalOrig"> |
2342 | + <xs:annotation> |
2343 | + <xs:documentation>Atributo opcional para señalar el número de folio fiscal del comprobante que se hubiese expedido por el valor total del comprobante, tratándose del pago en parcialidades.</xs:documentation> |
2344 | + </xs:annotation> |
2345 | + <xs:simpleType> |
2346 | + <xs:restriction base="xs:string"> |
2347 | + <xs:whiteSpace value="collapse"/> |
2348 | + </xs:restriction> |
2349 | + </xs:simpleType> |
2350 | + </xs:attribute> |
2351 | + <xs:attribute name="SerieFolioFiscalOrig"> |
2352 | + <xs:annotation> |
2353 | + <xs:documentation>Atributo opcional para señalar la serie del folio del comprobante que se hubiese expedido por el valor total del comprobante, tratándose del pago en parcialidades.</xs:documentation> |
2354 | + </xs:annotation> |
2355 | + <xs:simpleType> |
2356 | + <xs:restriction base="xs:string"> |
2357 | + <xs:whiteSpace value="collapse"/> |
2358 | + </xs:restriction> |
2359 | + </xs:simpleType> |
2360 | + </xs:attribute> |
2361 | + <xs:attribute name="FechaFolioFiscalOrig"> |
2362 | + <xs:annotation> |
2363 | + <xs:documentation>Atributo opcional para señalar la fecha de expedición del comprobante que se hubiese emitido por el valor total del comprobante, tratándose del pago en parcialidades. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> |
2364 | + </xs:annotation> |
2365 | + <xs:simpleType> |
2366 | + <xs:restriction base="xs:dateTime"> |
2367 | + <xs:whiteSpace value="collapse"/> |
2368 | + </xs:restriction> |
2369 | + </xs:simpleType> |
2370 | + </xs:attribute> |
2371 | + <xs:attribute name="MontoFolioFiscalOrig" type="cfdi:t_Importe"> |
2372 | + <xs:annotation> |
2373 | + <xs:documentation>Atributo opcional para señalar el total del comprobante que se hubiese expedido por el valor total de la operación, tratándose del pago en parcialidades</xs:documentation> |
2374 | + </xs:annotation> |
2375 | + </xs:attribute> |
2376 | + </xs:complexType> |
2377 | + </xs:element> |
2378 | + <xs:complexType name="t_Ubicacion"> |
2379 | + <xs:annotation> |
2380 | + <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> |
2381 | + </xs:annotation> |
2382 | + <xs:attribute name="calle" use="optional"> |
2383 | + <xs:annotation> |
2384 | + <xs:documentation>Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> |
2385 | + </xs:annotation> |
2386 | + <xs:simpleType> |
2387 | + <xs:restriction base="xs:string"> |
2388 | + <xs:minLength value="1"/> |
2389 | + <xs:whiteSpace value="collapse"/> |
2390 | + </xs:restriction> |
2391 | + </xs:simpleType> |
2392 | + </xs:attribute> |
2393 | + <xs:attribute name="noExterior" use="optional"> |
2394 | + <xs:annotation> |
2395 | + <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> |
2396 | + </xs:annotation> |
2397 | + <xs:simpleType> |
2398 | + <xs:restriction base="xs:string"> |
2399 | + <xs:minLength value="1"/> |
2400 | + <xs:whiteSpace value="collapse"/> |
2401 | + </xs:restriction> |
2402 | + </xs:simpleType> |
2403 | + </xs:attribute> |
2404 | + <xs:attribute name="noInterior" use="optional"> |
2405 | + <xs:annotation> |
2406 | + <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> |
2407 | + </xs:annotation> |
2408 | + <xs:simpleType> |
2409 | + <xs:restriction base="xs:string"> |
2410 | + <xs:minLength value="1"/> |
2411 | + <xs:whiteSpace value="collapse"/> |
2412 | + </xs:restriction> |
2413 | + </xs:simpleType> |
2414 | + </xs:attribute> |
2415 | + <xs:attribute name="colonia" use="optional"> |
2416 | + <xs:annotation> |
2417 | + <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más especÃfico en casos de ubicaciones urbanas.</xs:documentation> |
2418 | + </xs:annotation> |
2419 | + <xs:simpleType> |
2420 | + <xs:restriction base="xs:string"> |
2421 | + <xs:minLength value="1"/> |
2422 | + <xs:whiteSpace value="collapse"/> |
2423 | + </xs:restriction> |
2424 | + </xs:simpleType> |
2425 | + </xs:attribute> |
2426 | + <xs:attribute name="localidad" use="optional"> |
2427 | + <xs:annotation> |
2428 | + <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> |
2429 | + </xs:annotation> |
2430 | + <xs:simpleType> |
2431 | + <xs:restriction base="xs:string"> |
2432 | + <xs:minLength value="1"/> |
2433 | + <xs:whiteSpace value="collapse"/> |
2434 | + </xs:restriction> |
2435 | + </xs:simpleType> |
2436 | + </xs:attribute> |
2437 | + <xs:attribute name="referencia" use="optional"> |
2438 | + <xs:annotation> |
2439 | + <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> |
2440 | + </xs:annotation> |
2441 | + <xs:simpleType> |
2442 | + <xs:restriction base="xs:string"> |
2443 | + <xs:minLength value="1"/> |
2444 | + <xs:whiteSpace value="collapse"/> |
2445 | + </xs:restriction> |
2446 | + </xs:simpleType> |
2447 | + </xs:attribute> |
2448 | + <xs:attribute name="municipio" use="optional"> |
2449 | + <xs:annotation> |
2450 | + <xs:documentation>Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> |
2451 | + </xs:annotation> |
2452 | + <xs:simpleType> |
2453 | + <xs:restriction base="xs:string"> |
2454 | + <xs:minLength value="1"/> |
2455 | + <xs:whiteSpace value="collapse"/> |
2456 | + </xs:restriction> |
2457 | + </xs:simpleType> |
2458 | + </xs:attribute> |
2459 | + <xs:attribute name="estado" use="optional"> |
2460 | + <xs:annotation> |
2461 | + <xs:documentation>Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> |
2462 | + </xs:annotation> |
2463 | + <xs:simpleType> |
2464 | + <xs:restriction base="xs:string"> |
2465 | + <xs:minLength value="1"/> |
2466 | + <xs:whiteSpace value="collapse"/> |
2467 | + </xs:restriction> |
2468 | + </xs:simpleType> |
2469 | + </xs:attribute> |
2470 | + <xs:attribute name="pais" use="required"> |
2471 | + <xs:annotation> |
2472 | + <xs:documentation>Atributo requerido que sirve para precisar el paÃs donde se da la ubicación.</xs:documentation> |
2473 | + </xs:annotation> |
2474 | + <xs:simpleType> |
2475 | + <xs:restriction base="xs:string"> |
2476 | + <xs:minLength value="1"/> |
2477 | + <xs:whiteSpace value="collapse"/> |
2478 | + </xs:restriction> |
2479 | + </xs:simpleType> |
2480 | + </xs:attribute> |
2481 | + <xs:attribute name="codigoPostal" use="optional"> |
2482 | + <xs:annotation> |
2483 | + <xs:documentation>Atributo opcional que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> |
2484 | + </xs:annotation> |
2485 | + <xs:simpleType> |
2486 | + <xs:restriction base="xs:string"> |
2487 | + <xs:whiteSpace value="collapse"/> |
2488 | + </xs:restriction> |
2489 | + </xs:simpleType> |
2490 | + </xs:attribute> |
2491 | + </xs:complexType> |
2492 | + <xs:complexType name="t_UbicacionFiscal"> |
2493 | + <xs:annotation> |
2494 | + <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> |
2495 | + </xs:annotation> |
2496 | + <xs:attribute name="calle" use="required"> |
2497 | + <xs:annotation> |
2498 | + <xs:documentation>Este atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> |
2499 | + </xs:annotation> |
2500 | + <xs:simpleType> |
2501 | + <xs:restriction base="xs:string"> |
2502 | + <xs:minLength value="1"/> |
2503 | + <xs:whiteSpace value="collapse"/> |
2504 | + </xs:restriction> |
2505 | + </xs:simpleType> |
2506 | + </xs:attribute> |
2507 | + <xs:attribute name="noExterior" use="optional"> |
2508 | + <xs:annotation> |
2509 | + <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> |
2510 | + </xs:annotation> |
2511 | + <xs:simpleType> |
2512 | + <xs:restriction base="xs:string"> |
2513 | + <xs:minLength value="1"/> |
2514 | + <xs:whiteSpace value="collapse"/> |
2515 | + </xs:restriction> |
2516 | + </xs:simpleType> |
2517 | + </xs:attribute> |
2518 | + <xs:attribute name="noInterior" use="optional"> |
2519 | + <xs:annotation> |
2520 | + <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> |
2521 | + </xs:annotation> |
2522 | + <xs:simpleType> |
2523 | + <xs:restriction base="xs:string"> |
2524 | + <xs:minLength value="1"/> |
2525 | + <xs:whiteSpace value="collapse"/> |
2526 | + </xs:restriction> |
2527 | + </xs:simpleType> |
2528 | + </xs:attribute> |
2529 | + <xs:attribute name="colonia" use="optional"> |
2530 | + <xs:annotation> |
2531 | + <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más especÃfico en casos de ubicaciones urbanas.</xs:documentation> |
2532 | + </xs:annotation> |
2533 | + <xs:simpleType> |
2534 | + <xs:restriction base="xs:string"> |
2535 | + <xs:minLength value="1"/> |
2536 | + <xs:whiteSpace value="collapse"/> |
2537 | + </xs:restriction> |
2538 | + </xs:simpleType> |
2539 | + </xs:attribute> |
2540 | + <xs:attribute name="localidad" use="optional"> |
2541 | + <xs:annotation> |
2542 | + <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> |
2543 | + </xs:annotation> |
2544 | + <xs:simpleType> |
2545 | + <xs:restriction base="xs:string"> |
2546 | + <xs:minLength value="1"/> |
2547 | + <xs:whiteSpace value="collapse"/> |
2548 | + </xs:restriction> |
2549 | + </xs:simpleType> |
2550 | + </xs:attribute> |
2551 | + <xs:attribute name="referencia" use="optional"> |
2552 | + <xs:annotation> |
2553 | + <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> |
2554 | + </xs:annotation> |
2555 | + <xs:simpleType> |
2556 | + <xs:restriction base="xs:string"> |
2557 | + <xs:whiteSpace value="collapse"/> |
2558 | + <xs:minLength value="1"/> |
2559 | + </xs:restriction> |
2560 | + </xs:simpleType> |
2561 | + </xs:attribute> |
2562 | + <xs:attribute name="municipio" use="required"> |
2563 | + <xs:annotation> |
2564 | + <xs:documentation>Atributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> |
2565 | + </xs:annotation> |
2566 | + <xs:simpleType> |
2567 | + <xs:restriction base="xs:string"> |
2568 | + <xs:minLength value="1"/> |
2569 | + <xs:whiteSpace value="collapse"/> |
2570 | + </xs:restriction> |
2571 | + </xs:simpleType> |
2572 | + </xs:attribute> |
2573 | + <xs:attribute name="estado" use="required"> |
2574 | + <xs:annotation> |
2575 | + <xs:documentation>Atributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> |
2576 | + </xs:annotation> |
2577 | + <xs:simpleType> |
2578 | + <xs:restriction base="xs:string"> |
2579 | + <xs:minLength value="1"/> |
2580 | + <xs:whiteSpace value="collapse"/> |
2581 | + </xs:restriction> |
2582 | + </xs:simpleType> |
2583 | + </xs:attribute> |
2584 | + <xs:attribute name="pais" use="required"> |
2585 | + <xs:annotation> |
2586 | + <xs:documentation>Atributo requerido que sirve para precisar el paÃs donde se da la ubicación.</xs:documentation> |
2587 | + </xs:annotation> |
2588 | + <xs:simpleType> |
2589 | + <xs:restriction base="xs:string"> |
2590 | + <xs:minLength value="1"/> |
2591 | + <xs:whiteSpace value="collapse"/> |
2592 | + </xs:restriction> |
2593 | + </xs:simpleType> |
2594 | + </xs:attribute> |
2595 | + <xs:attribute name="codigoPostal" use="required"> |
2596 | + <xs:annotation> |
2597 | + <xs:documentation>Atributo requerido que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> |
2598 | + </xs:annotation> |
2599 | + <xs:simpleType> |
2600 | + <xs:restriction base="xs:string"> |
2601 | + <xs:whiteSpace value="collapse"/> |
2602 | + <xs:length value="5"/> |
2603 | + </xs:restriction> |
2604 | + </xs:simpleType> |
2605 | + </xs:attribute> |
2606 | + </xs:complexType> |
2607 | + <xs:simpleType name="t_RFC"> |
2608 | + <xs:annotation> |
2609 | + <xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation> |
2610 | + </xs:annotation> |
2611 | + <xs:restriction base="xs:string"> |
2612 | + <xs:minLength value="12"/> |
2613 | + <xs:maxLength value="13"/> |
2614 | + <xs:whiteSpace value="collapse"/> |
2615 | + <xs:pattern value="[A-Z,Ñ,&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z,0-9]?[A-Z,0-9]?[0-9,A-Z]?"/> |
2616 | + </xs:restriction> |
2617 | + </xs:simpleType> |
2618 | + <xs:simpleType name="t_Importe"> |
2619 | + <xs:annotation> |
2620 | + <xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta seis decimales</xs:documentation> |
2621 | + </xs:annotation> |
2622 | + <xs:restriction base="xs:decimal"> |
2623 | + <xs:fractionDigits value="6"/> |
2624 | + <xs:whiteSpace value="collapse"/> |
2625 | + </xs:restriction> |
2626 | + </xs:simpleType> |
2627 | + <xs:complexType name="t_InformacionAduanera"> |
2628 | + <xs:annotation> |
2629 | + <xs:documentation>Tipo definido para expresar información aduanera</xs:documentation> |
2630 | + </xs:annotation> |
2631 | + <xs:attribute name="numero" use="required"> |
2632 | + <xs:annotation> |
2633 | + <xs:documentation>Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien.</xs:documentation> |
2634 | + </xs:annotation> |
2635 | + <xs:simpleType> |
2636 | + <xs:restriction base="xs:string"> |
2637 | + <xs:minLength value="1"/> |
2638 | + <xs:whiteSpace value="collapse"/> |
2639 | + </xs:restriction> |
2640 | + </xs:simpleType> |
2641 | + </xs:attribute> |
2642 | + <xs:attribute name="fecha" use="required"> |
2643 | + <xs:annotation> |
2644 | + <xs:documentation>Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien. Se expresa en el formato aaaa-mm-dd</xs:documentation> |
2645 | + </xs:annotation> |
2646 | + <xs:simpleType> |
2647 | + <xs:restriction base="xs:date"> |
2648 | + <xs:whiteSpace value="collapse"/> |
2649 | + </xs:restriction> |
2650 | + </xs:simpleType> |
2651 | + </xs:attribute> |
2652 | + <xs:attribute name="aduana"> |
2653 | + <xs:annotation> |
2654 | + <xs:documentation>Atributo opcional para precisar el nombre de la aduana por la que se efectuó la importación del bien.</xs:documentation> |
2655 | + </xs:annotation> |
2656 | + <xs:simpleType> |
2657 | + <xs:restriction base="xs:string"> |
2658 | + <xs:minLength value="1"/> |
2659 | + <xs:whiteSpace value="collapse"/> |
2660 | + </xs:restriction> |
2661 | + </xs:simpleType> |
2662 | + </xs:attribute> |
2663 | + </xs:complexType> |
2664 | +</xs:schema> |
2665 | |
2666 | === added directory 'l10n_mx_facturae/depends_app/xmlstarlet_win' |
2667 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/AUTHORS' |
2668 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/AUTHORS 1970-01-01 00:00:00 +0000 |
2669 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/AUTHORS 2013-09-25 00:33:17 +0000 |
2670 | @@ -0,0 +1,1 @@ |
2671 | +Mikhail Grushinskiy <mgrouch@users.sourceforge.net> |
2672 | |
2673 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/COPYING' |
2674 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/COPYING 1970-01-01 00:00:00 +0000 |
2675 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/COPYING 2013-09-25 00:33:17 +0000 |
2676 | @@ -0,0 +1,20 @@ |
2677 | +Copyright (c) 2002-2004 Mikhail Grushinskiy. All Rights Reserved. |
2678 | + |
2679 | +Permission is hereby granted, free of charge, to any person obtaining a copy |
2680 | +of this software and associated documentation files (the "Software"), to deal |
2681 | +in the Software without restriction, including without limitation the rights |
2682 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
2683 | +copies of the Software, and to permit persons to whom the Software is |
2684 | +furnished to do so, subject to the following conditions: |
2685 | + |
2686 | +The above copyright notice and this permission notice shall be included in |
2687 | +all copies or substantial portions of the Software. |
2688 | + |
2689 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
2690 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
2691 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
2692 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
2693 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
2694 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
2695 | +THE SOFTWARE. |
2696 | + |
2697 | |
2698 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/ChangeLog' |
2699 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/ChangeLog 1970-01-01 00:00:00 +0000 |
2700 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/ChangeLog 2013-09-25 00:33:17 +0000 |
2701 | @@ -0,0 +1,1 @@ |
2702 | + |
2703 | |
2704 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/Copyright' |
2705 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/Copyright 1970-01-01 00:00:00 +0000 |
2706 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/Copyright 2013-09-25 00:33:17 +0000 |
2707 | @@ -0,0 +1,20 @@ |
2708 | +Copyright (c) 2002-2004 Mikhail Grushinskiy. All Rights Reserved. |
2709 | + |
2710 | +Permission is hereby granted, free of charge, to any person obtaining a copy |
2711 | +of this software and associated documentation files (the "Software"), to deal |
2712 | +in the Software without restriction, including without limitation the rights |
2713 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
2714 | +copies of the Software, and to permit persons to whom the Software is |
2715 | +furnished to do so, subject to the following conditions: |
2716 | + |
2717 | +The above copyright notice and this permission notice shall be included in |
2718 | +all copies or substantial portions of the Software. |
2719 | + |
2720 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
2721 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
2722 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
2723 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
2724 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
2725 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
2726 | +THE SOFTWARE. |
2727 | + |
2728 | |
2729 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/INSTALL' |
2730 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/INSTALL 1970-01-01 00:00:00 +0000 |
2731 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/INSTALL 2013-09-25 00:33:17 +0000 |
2732 | @@ -0,0 +1,183 @@ |
2733 | +Basic Installation |
2734 | +================== |
2735 | + |
2736 | + These are generic installation instructions. |
2737 | + |
2738 | + The `configure' shell script attempts to guess correct values for |
2739 | +various system-dependent variables used during compilation. It uses |
2740 | +those values to create a `Makefile' in each directory of the package. |
2741 | +It may also create one or more `.h' files containing system-dependent |
2742 | +definitions. Finally, it creates a shell script `config.status' that |
2743 | +you can run in the future to recreate the current configuration, a file |
2744 | +`config.cache' that saves the results of its tests to speed up |
2745 | +reconfiguring, and a file `config.log' containing compiler output |
2746 | +(useful mainly for debugging `configure'). |
2747 | + |
2748 | + If you need to do unusual things to compile the package, please try |
2749 | +to figure out how `configure' could check whether to do them, and mail |
2750 | +diffs or instructions to the address given in the `README' so they can |
2751 | +be considered for the next release. If at some point `config.cache' |
2752 | +contains results you don't want to keep, you may remove or edit it. |
2753 | + |
2754 | + The file `configure.in' is used to create `configure' by a program |
2755 | +called `autoconf'. You only need `configure.in' if you want to change |
2756 | +it or regenerate `configure' using a newer version of `autoconf'. |
2757 | + |
2758 | +The simplest way to compile this package is: |
2759 | + |
2760 | + 1. `cd' to the directory containing the package's source code and type |
2761 | + `./configure' to configure the package for your system. If you're |
2762 | + using `csh' on an old version of System V, you might need to type |
2763 | + `sh ./configure' instead to prevent `csh' from trying to execute |
2764 | + `configure' itself. |
2765 | + |
2766 | + Running `configure' takes awhile. While running, it prints some |
2767 | + messages telling which features it is checking for. |
2768 | + |
2769 | + 2. Type `make' to compile the package. |
2770 | + |
2771 | + 3. Optionally, type `make check' to run any self-tests that come with |
2772 | + the package. |
2773 | + |
2774 | + 4. Type `make install' to install the programs and any data files and |
2775 | + documentation. |
2776 | + |
2777 | + 5. You can remove the program binaries and object files from the |
2778 | + source code directory by typing `make clean'. To also remove the |
2779 | + files that `configure' created (so you can compile the package for |
2780 | + a different kind of computer), type `make distclean'. There is |
2781 | + also a `make maintainer-clean' target, but that is intended mainly |
2782 | + for the package's developers. If you use it, you may have to get |
2783 | + all sorts of other programs in order to regenerate files that came |
2784 | + with the distribution. |
2785 | + |
2786 | +Compilers and Options |
2787 | +===================== |
2788 | + |
2789 | + Some systems require unusual options for compilation or linking that |
2790 | +the `configure' script does not know about. You can give `configure' |
2791 | +initial values for variables by setting them in the environment. Using |
2792 | +a Bourne-compatible shell, you can do that on the command line like |
2793 | +this: |
2794 | + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure |
2795 | + |
2796 | +Or on systems that have the `env' program, you can do it like this: |
2797 | + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure |
2798 | + |
2799 | +Compiling For Multiple Architectures |
2800 | +==================================== |
2801 | + |
2802 | + You can compile the package for more than one kind of computer at the |
2803 | +same time, by placing the object files for each architecture in their |
2804 | +own directory. To do this, you must use a version of `make' that |
2805 | +supports the `VPATH' variable, such as GNU `make'. `cd' to the |
2806 | +directory where you want the object files and executables to go and run |
2807 | +the `configure' script. `configure' automatically checks for the |
2808 | +source code in the directory that `configure' is in and in `..'. |
2809 | + |
2810 | + If you have to use a `make' that does not supports the `VPATH' |
2811 | +variable, you have to compile the package for one architecture at a time |
2812 | +in the source code directory. After you have installed the package for |
2813 | +one architecture, use `make distclean' before reconfiguring for another |
2814 | +architecture. |
2815 | + |
2816 | +Installation Names |
2817 | +================== |
2818 | + |
2819 | + By default, `make install' will install the package's files in |
2820 | +`/usr/local/bin', `/usr/local/man', etc. You can specify an |
2821 | +installation prefix other than `/usr/local' by giving `configure' the |
2822 | +option `--prefix=PATH'. |
2823 | + |
2824 | + You can specify separate installation prefixes for |
2825 | +architecture-specific files and architecture-independent files. If you |
2826 | +give `configure' the option `--exec-prefix=PATH', the package will use |
2827 | +PATH as the prefix for installing programs and libraries. |
2828 | +Documentation and other data files will still use the regular prefix. |
2829 | + |
2830 | + In addition, if you use an unusual directory layout you can give |
2831 | +options like `--bindir=PATH' to specify different values for particular |
2832 | +kinds of files. Run `configure --help' for a list of the directories |
2833 | +you can set and what kinds of files go in them. |
2834 | + |
2835 | + If the package supports it, you can cause programs to be installed |
2836 | +with an extra prefix or suffix on their names by giving `configure' the |
2837 | +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. |
2838 | + |
2839 | +Optional Features |
2840 | +================= |
2841 | + |
2842 | + Some packages pay attention to `--enable-FEATURE' options to |
2843 | +`configure', where FEATURE indicates an optional part of the package. |
2844 | +They may also pay attention to `--with-PACKAGE' options, where PACKAGE |
2845 | +is something like `gnu-as' or `x' (for the X Window System). The |
2846 | +`README' should mention any `--enable-' and `--with-' options that the |
2847 | +package recognizes. |
2848 | + |
2849 | + For packages that use the X Window System, `configure' can usually |
2850 | +find the X include and library files automatically, but if it doesn't, |
2851 | +you can use the `configure' options `--x-includes=DIR' and |
2852 | +`--x-libraries=DIR' to specify their locations. |
2853 | + |
2854 | +Specifying the System Type |
2855 | +========================== |
2856 | + |
2857 | + There may be some features `configure' can not figure out |
2858 | +automatically, but needs to determine by the type of host the package |
2859 | +will run on. Usually `configure' can figure that out, but if it prints |
2860 | +a message saying it can not guess the host type, give it the |
2861 | +`--host=TYPE' option. TYPE can either be a short name for the system |
2862 | +type, such as `sun4', or a canonical name with three fields: |
2863 | + CPU-COMPANY-SYSTEM |
2864 | + |
2865 | +See the file `config.sub' for the possible values of each field. If |
2866 | +`config.sub' isn't included in this package, then this package doesn't |
2867 | +need to know the host type. |
2868 | + |
2869 | + If you are building compiler tools for cross-compiling, you can also |
2870 | +use the `--target=TYPE' option to select the type of system they will |
2871 | +produce code for and the `--build=TYPE' option to select the type of |
2872 | +system on which you are compiling the package. |
2873 | + |
2874 | +Sharing Defaults |
2875 | +================ |
2876 | + |
2877 | + If you want to set default values for `configure' scripts to share, |
2878 | +you can create a site shell script called `config.site' that gives |
2879 | +default values for variables like `CC', `cache_file', and `prefix'. |
2880 | +`configure' looks for `PREFIX/share/config.site' if it exists, then |
2881 | +`PREFIX/etc/config.site' if it exists. Or, you can set the |
2882 | +`CONFIG_SITE' environment variable to the location of the site script. |
2883 | +A warning: not all `configure' scripts look for a site script. |
2884 | + |
2885 | +Operation Controls |
2886 | +================== |
2887 | + |
2888 | + `configure' recognizes the following options to control how it |
2889 | +operates. |
2890 | + |
2891 | +`--cache-file=FILE' |
2892 | + Use and save the results of the tests in FILE instead of |
2893 | + `./config.cache'. Set FILE to `/dev/null' to disable caching, for |
2894 | + debugging `configure'. |
2895 | + |
2896 | +`--help' |
2897 | + Print a summary of the options to `configure', and exit. |
2898 | + |
2899 | +`--quiet' |
2900 | +`--silent' |
2901 | +`-q' |
2902 | + Do not print messages saying which checks are being made. To |
2903 | + suppress all normal output, redirect it to `/dev/null' (any error |
2904 | + messages will still be shown). |
2905 | + |
2906 | +`--srcdir=DIR' |
2907 | + Look for the package's source code in directory DIR. Usually |
2908 | + `configure' can determine that directory automatically. |
2909 | + |
2910 | +`--version' |
2911 | + Print the version of Autoconf used to generate the `configure' |
2912 | + script, and exit. |
2913 | + |
2914 | +`configure' also accepts some other, not widely useful, options. |
2915 | + |
2916 | |
2917 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/NEWS' |
2918 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/NEWS 1970-01-01 00:00:00 +0000 |
2919 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/NEWS 2013-09-25 00:33:17 +0000 |
2920 | @@ -0,0 +1,205 @@ |
2921 | +1.5.0: Jul 7, 2013 |
2922 | + |
2923 | + - Bugs: |
2924 | + - avoid segfault on pyx non-existant file |
2925 | + - fix unescaping of entities straddling 4K byte boundary (Bug #102) |
2926 | + - Enhancements: |
2927 | + - unescape hex entities (&#xXX;) |
2928 | + - give a helpful message if doc has default namespace and |
2929 | + nothing matched |
2930 | + - add "_" and "DEFAULT" as names for document's top-level |
2931 | + default namespace |
2932 | + - Adding a global quiet option |
2933 | + - ed: Allow omitting value argument to create empty element. |
2934 | + - use default attribute values in sel subcommand |
2935 | + - Build: |
2936 | + - fix test variables to work with newer automake (1.11 -> 1.13) |
2937 | + - fix usage2c.awk for mawk |
2938 | + - scripts for building on mingw |
2939 | + |
2940 | + |
2941 | +1.4.2: Dec 28, 2012 |
2942 | + |
2943 | + - pyx: avoid segfault on documents with multiple attributes (Bug |
2944 | + #3595212) |
2945 | + |
2946 | + |
2947 | +1.4.1: Dec 8, 2012 |
2948 | + |
2949 | + - avoid segfault when attempting to edit the document node (Bug |
2950 | + #3575722) |
2951 | + |
2952 | + - Packaging: |
2953 | + - include doc/xmlstar-fodoc-style.xsl in the dist so that the |
2954 | + --enable-build-docs option works from the tarball (Bug |
2955 | + #3580667) |
2956 | + - AC_SUBST PACKAGE_TARNAME for automake so that documentation is |
2957 | + installed to the right place (Bug #3561958) |
2958 | + |
2959 | + - Test Suite: |
2960 | + - avoid test failures due to XML formatting and whitespace |
2961 | + changes (also fixes Bug #3572789) |
2962 | + - use automake's parallel test suite |
2963 | + - make bigxml tests much faster by using whitespace instead of nodes |
2964 | + - don't test str:replace() with ed: it doesn't work outside of |
2965 | + xslt in new libxslt |
2966 | + - ignore extra errors from libxml 2.9.0 bug |
2967 | + - let tests run using busybox |
2968 | + - add runAllTests.sh to run tests without make |
2969 | + |
2970 | + |
2971 | +1.4.0: Aug 26, 2012 |
2972 | + |
2973 | + - Documentation: |
2974 | + - executable name used in documentation now matches |
2975 | + --transform-program-name (Bug #3283713) |
2976 | + - added Makefile rules for generating documentation |
2977 | + (./configure --enable-build-docs) |
2978 | + |
2979 | + - ed subcommand: |
2980 | + - relative XPaths are now handled correctly (Bug #3527850) |
2981 | + - the last nodeset inserted by an edit operation can be |
2982 | + accessed as the XPath variable $prev (or $xstar:prev) |
2983 | + - add --var option to define XPath variables |
2984 | + - allow ed -u -x to insert nodesets instead of converting to |
2985 | + string |
2986 | + - remove hard limit for number of edit operations (Bug |
2987 | + #3488240) |
2988 | + |
2989 | + - pyx now handles namespaces correctly |
2990 | + |
2991 | +1.3.1: Jan 14, 2012 |
2992 | + |
2993 | + - handle multiple values for --value-of properly (Bug #2563866) |
2994 | + - substitute external entities (Bug #3467320) |
2995 | + - pyx output needs space between attribute name and value (Bug #3440797) |
2996 | + |
2997 | + |
2998 | +1.3.0: Oct 7, 2011 |
2999 | + |
3000 | + - avoid ASCII CRs in UTF-16/32 text (reported by Ming Chen) |
3001 | + - --value-of outputs concat values of all nodes (Req #2563866) |
3002 | + - encode special chars for ed -u -x |
3003 | + - allow use of exslt functions in ed -u -x |
3004 | + - add --var to select (allow --var <name>=<value> as well as --var |
3005 | + <name> <value> --break) |
3006 | + - work around libxml bug that passes bogus data to error handler |
3007 | + (Bug #3362217) |
3008 | + |
3009 | + |
3010 | +1.2.1: July 07, 2011 |
3011 | + |
3012 | + - check for NULL nodeset result (Bugs #3323189, #3323196) |
3013 | + - "-" was being confused with --elif |
3014 | + - generated XSLT should also have automatic namespaces |
3015 | + - allow -N after other option (Bug #3325166) |
3016 | + - namespace values were being registered as prefixes |
3017 | + - avoid segfault when asked to move namespace nodes |
3018 | + - missing newline in ed --help message |
3019 | + - test scripts portability |
3020 | + - no bashisms allowed in NetBSD sh |
3021 | + - make BRE portable: '+' is not allowed |
3022 | + - deal with msys path conversion properly (Bug #3178657) |
3023 | + - don't use XML_SAVE_WSNONSIG #if libxml < 2.7.8 (Bug #3310475) |
3024 | + |
3025 | + |
3026 | +1.2.0: June 1, 2011 |
3027 | + |
3028 | + - implement ed --update --expr |
3029 | + - use top-level namespace definitions from first input file, this |
3030 | + should remove the need to define namespaces on the command line |
3031 | + with -N in most cases. |
3032 | + - select exits with 0 only if result is non-empty (Req #3155702) |
3033 | + - add -Q to select, like grep's -q |
3034 | + - add column number to error messages |
3035 | + - restore input context (lost in version 1.0.3) to error messages |
3036 | + (Bug #3305659) |
3037 | + - print extra string information in error messages |
3038 | + - use entity definitions from dtd (Bug #3305659) |
3039 | + - add --net option to c14n, ed, fo, and val (Req #1071398) |
3040 | + - remove --catalog from tr --help message since it isn't actually supported |
3041 | + - add --elif and --else to sel --help message |
3042 | + |
3043 | + |
3044 | +1.1.0: Apr 3, 2011 |
3045 | + |
3046 | + - bug fix for BSD/OSX: check that O_BINARY is declared before |
3047 | + #including io.h (Bug 3211822) |
3048 | + - select improvements |
3049 | + - add --elif and --else options |
3050 | + - sorting on multiple fields |
3051 | + - correct (for English) lexical sorting instead of ASCIIbetical |
3052 | + - only outputs namespaces that are actually used |
3053 | + - only outputs xsl:param inputFile if it's used |
3054 | + - don't make separate templates if there is only 1 |
3055 | + - link to shared libxml and libxslt libraries by default |
3056 | + - add library version info to --version output |
3057 | + - add directory argument for ls; exit status indicates |
3058 | + failure/success instead of file count |
3059 | + - stop using old SAX1 interface, xmlstarlet will now link with a |
3060 | + libxml configured --without-sax1 and --without-legacy |
3061 | + |
3062 | + |
3063 | +1.0.6: Mar 13 2011: |
3064 | + |
3065 | + - Bug fixes: |
3066 | + - c14n: set stdout to binary mode on Windows to avoid carriage |
3067 | + returns (Bug 840665) |
3068 | + - fix broken --help options |
3069 | + - put actual behaviour of -P, -S options in --help output (see |
3070 | + Bug/Feature Request 2858514) |
3071 | + - remove unneeded escape of quote in ./configure --help |
3072 | + - don't distribute xmlstarlet.spec: it's generated by ./configure |
3073 | + - add src/xml.o depends on version.h to Makefile.am so compile |
3074 | + will succeed without dependency info (eg after make distclean) |
3075 | + - add test for subcommands' --help option |
3076 | + - Portability fixes: |
3077 | + - yes isn't portable, use an awk program instead |
3078 | + - neither read -r nor xargs -0 are portable, escape the command |
3079 | + lines to xargs instead |
3080 | + - don't use nonportable echo -n option |
3081 | + |
3082 | + |
3083 | +1.0.5: Feb 11 2011: |
3084 | + |
3085 | + - Bug fixes: |
3086 | + - use XSLT_PARSE_OPTIONS, else CDATA nodes can cause corruption (Bug 3158482) |
3087 | + - fix typo in help message |
3088 | + - get rid of warnings in -ansi -pedantic mode |
3089 | + - required libxml2 version is 2.6.23 |
3090 | + - usage strings use argv[0] as program name |
3091 | + - --help prints to stdout and exits with success |
3092 | + - double /'s under msys to avoid path conversion |
3093 | + - Portability fixes: |
3094 | + - don't use xargs (-d isn't portable) |
3095 | + - use -Wall only for gcc |
3096 | + -Build system: |
3097 | + - use -ansi in configure, and check for strdup declaration |
3098 | + - seperate list of sources and tests into subdirs |
3099 | + - check git version during make, not just autoconf |
3100 | + - tarball releases of configure.ac have actual version number |
3101 | + instead of querying git |
3102 | + |
3103 | + |
3104 | +1.0.4: Jan 16 2011: |
3105 | + |
3106 | + - Bug fixes: |
3107 | + - encode special XML characters in arguments (can now include quotes in xpath) |
3108 | + - non-zero exit code when input file is not found (Bug 3158488) |
3109 | + - ed with --pf/--ps options doesn't reformat output (Bug 3158490) |
3110 | + - exit() instead of segfault when trying to delete namespace nodes |
3111 | + (Bug 1120417) |
3112 | + - added --disable-static-libs ./configure option to use shared libxml2 and libxslt |
3113 | + - non-recursive make |
3114 | + - use TESTS and XFAIL_TESTS for testing, nicer output |
3115 | + |
3116 | +1.0.3: Nov 18 2010: |
3117 | + |
3118 | + - Bug fixes: |
3119 | + escape --value in update mode (Bug 3052978) |
3120 | + c14n now includes default attributes (Bug 1505579) |
3121 | + Allow special characters in sel --output literal (Bug 1912978) |
3122 | + remove warning from xml_trans.c (Bug 1521756) |
3123 | + Use xmlReader interface so line numbers are 32-bit (Bug 1219072) |
3124 | + test for error messages on lines past 2^16 (Bug 1219072) |
3125 | + don't look for embedded dtd if not asked (Bug 1167215) |
3126 | |
3127 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/README' |
3128 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/README 1970-01-01 00:00:00 +0000 |
3129 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/README 2013-09-25 00:33:17 +0000 |
3130 | @@ -0,0 +1,6 @@ |
3131 | + |
3132 | +XMLStarlet is a command line XML toolkit which can be used to transform, |
3133 | +query, validate, and edit XML documents and files using simple set of shell |
3134 | +commands in similar way it is done for plain text files using grep/sed/awk/ |
3135 | +tr/diff/patch. |
3136 | + |
3137 | |
3138 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/TODO' |
3139 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/TODO 1970-01-01 00:00:00 +0000 |
3140 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/TODO 2013-09-25 00:33:17 +0000 |
3141 | @@ -0,0 +1,4 @@ |
3142 | +1. xml ed option is highly incomplete |
3143 | +2. How about XUpdate? (see http://www.xmldb.org/) |
3144 | +3. just do grep TODO src/*.c and you'll figure it out |
3145 | +4. generate xsd/DTD (best guess) from given XML document |
3146 | |
3147 | === added directory 'l10n_mx_facturae/depends_app/xmlstarlet_win/doc' |
3148 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/doc/html.css' |
3149 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/doc/html.css 1970-01-01 00:00:00 +0000 |
3150 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/doc/html.css 2013-09-25 00:33:17 +0000 |
3151 | @@ -0,0 +1,27 @@ |
3152 | +body { |
3153 | + background: #FFFFFF; |
3154 | +} |
3155 | + |
3156 | +h1, h2, h3, h4, h5 { |
3157 | + color: #800000; |
3158 | + font-family: sans-serif; |
3159 | +} |
3160 | + |
3161 | +span.term { |
3162 | + font-weight: bold; |
3163 | +} |
3164 | + |
3165 | +div.sidebar { |
3166 | + background: #F0F0F0; |
3167 | + border: 1px solid gray; |
3168 | + padding: 5px; |
3169 | + margin: 20px; |
3170 | +} |
3171 | + |
3172 | +pre.programlisting { |
3173 | + background: #F0F0F0; |
3174 | + border: 1px solid gray; |
3175 | + padding: 2px; |
3176 | + font-size: 10pt; |
3177 | + white-space: pre; |
3178 | +} |
3179 | |
3180 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.html' |
3181 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.html 1970-01-01 00:00:00 +0000 |
3182 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.html 2013-09-25 00:33:17 +0000 |
3183 | @@ -0,0 +1,889 @@ |
3184 | +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>XmlStarlet Command Line XML Toolkit User's Guide</title><link rel="stylesheet" type="text/css" href="html.css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book" title="XmlStarlet Command Line XML Toolkit User's Guide"><div class="titlepage"><div><div><h1 class="title"><a name="idm47940123284960"></a>XmlStarlet Command Line XML Toolkit User's Guide</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Mikhail</span> <span class="surname">Grushinskiy</span></h3></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#idm47940098595872">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm47940098537504">1. About XmlStarlet</a></span></dt><dt><span class="sect1"><a href="#idm47940098528528">2. Main Features</a></span></dt><dt><span class="sect1"><a href="#idm47940098514352">3. Supported Platforms</a></span></dt><dt><span class="sect1"><a href="#idm47940098504256">4. Finding binary packages</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idm47940098489648">2. Installation</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm47940098488656">1. Installation on Linux</a></span></dt><dt><span class="sect1"><a href="#idm47940098485072">2. Installation on Solaris</a></span></dt><dt><span class="sect1"><a href="#idm47940098483264">3. Installation on MacOS X</a></span></dt><dt><span class="sect1"><a href="#idm47940098481088">4. Installation on Windows</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idm47940098478640">3. Getting Started</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm47940098477648">1. Basic Command-Line Options</a></span></dt><dt><span class="sect1"><a href="#idm47940098473984">2. Studying Structure of XML Document</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idm47940098461728">4. XmlStarlet Reference</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm47940098460832">1. Querying XML documents</a></span></dt><dt><span class="sect1"><a href="#idm47940098410320">2. Transforming XML documents</a></span></dt><dt><span class="sect1"><a href="#idm47940098401840">3. Editing XML documents</a></span></dt><dt><span class="sect1"><a href="#idm47940098383920">4. Validating XML documents</a></span></dt><dt><span class="sect1"><a href="#idm47940098376832">5. Formatting XML documents</a></span></dt><dt><span class="sect1"><a href="#idm47940098584992">6. Canonicalization of XML documents</a></span></dt><dt><span class="sect1"><a href="#idm47940098350080">7. XML and PYX format</a></span></dt><dt><span class="sect1"><a href="#idm47940098340288">8. Escape/Unescape special XML characters</a></span></dt><dt><span class="sect1"><a href="#idm47940098335296">9. List directory as XML</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idm47940098331264">5. Common problems</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm47940098330320">1. Namespaces and default namespace</a></span></dt><dt><span class="sect1"><a href="#idm47940098320880">2. Special characters</a></span></dt><dt><span class="sect1"><a href="#idm47940098315040">3. Sorting</a></span></dt><dt><span class="sect1"><a href="#idm47940098310752">4. Validation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idm47940098308416">6. Other XmlStarlet Resources</a></span></dt></dl></div><div class="chapter" title="Chapter 1. Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="idm47940098595872"></a>Chapter 1. Introduction</h2></div></div></div><div class="sect1" title="1. About XmlStarlet"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098537504"></a>1. About XmlStarlet</h2></div></div></div><p><a class="link" href="http://xmlstar.sourceforge.net/" target="_top">XMLStarlet</a> is |
3185 | + a set of command line utilities (tools) which can be used to transform, |
3186 | + query, validate, and edit XML documents and files using simple set of |
3187 | + shell commands in similar way it is done for plain text files using UNIX |
3188 | + grep, sed, awk, diff, patch, join, etc commands.</p><p>This set of command line utilities can be used by those who deal |
3189 | + with many XML documents on UNIX shell command prompt as well as for |
3190 | + automated XML processing with shell scripts.</p><p>XMLStarlet command line utility is written in C and uses libxml2 |
3191 | + and libxslt from <a class="link" href="http://xmlsoft.org/" target="_top">http://xmlsoft.org/</a>. Implementation of |
3192 | + extensive choice of options for XMLStarlet utility was only possible |
3193 | + because of rich feature set of libxml2 and libxslt (many thanks to the |
3194 | + developers of those libraries for great work).</p><p>'diff' and 'patch' options are not currently implemented. Other |
3195 | + features need some work too. Please, send an email to the project |
3196 | + administrator (see <a class="link" href="http://sourceforge.net/projects/xmlstar/" target="_top">http://sourceforge.net/projects/xmlstar/</a>) |
3197 | + if you wish to help.</p><p>XMLStarlet is linked statically to both libxml2 and libxslt, so |
3198 | + generally all you need to process XML documents is one executable file. |
3199 | + To run XmlStarlet utility you can simple type 'xml' on command line and |
3200 | + see list of options available.</p><p>XMLStarlet is open source freeware under MIT license which allows |
3201 | + free use and distribution for both commercial and non-commercial |
3202 | + projects.</p><p>We welcome any user's feedback on this project which would greatly |
3203 | + help us to improve its quality. Comments, suggestions, feature requests, |
3204 | + bug reports can be done via SourceForge project web site (see <a class="link" href="http://sourceforge.net/forum/?group_id=66612" target="_top">XMLStarlet |
3205 | + Sourceforge forums</a>, or <a class="link" href="http://lists.sourceforge.net/lists/listinfo/xmlstar-devel/" target="_top">XMLStarlet |
3206 | + mailing list</a>)</p></div><div class="sect1" title="2. Main Features"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098528528"></a>2. Main Features</h2></div></div></div><p>The toolkit's feature set includes options to:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Check or validate XML files (simple well-formedness check, |
3207 | + DTD, XSD, RelaxNG)</p></li><li class="listitem"><p>Calculate values of XPath expressions on XML files (such as |
3208 | + running sums, etc)</p></li><li class="listitem"><p>Search XML files for matches to given XPath expressions</p></li><li class="listitem"><p>Apply XSLT stylesheets to XML documents (including EXSLT |
3209 | + support, and passing parameters to stylesheets)</p></li><li class="listitem"><p>Query XML documents (ex. query for value of some elements of |
3210 | + attributes, sorting, etc)</p></li><li class="listitem"><p>Modify or edit XML documents (ex. delete some elements)</p></li><li class="listitem"><p>Format or "beautify" XML documents (as changing indentation, |
3211 | + etc)</p></li><li class="listitem"><p>Fetch XML documents using http:// or ftp:// URLs</p></li><li class="listitem"><p>Browse tree structure of XML documents (in similar way to 'ls' |
3212 | + command for directories)</p></li><li class="listitem"><p>Include one XML document into another using XInclude</p></li><li class="listitem"><p>XML c14n canonicalization</p></li><li class="listitem"><p>Escape/unescape special XML characters in input text</p></li><li class="listitem"><p>Print directory as XML document</p></li><li class="listitem"><p>Convert XML into PYX format (based on ESIS - ISO 8879), and |
3213 | + vice versa</p></li></ul></div><p></p></div><div class="sect1" title="3. Supported Platforms"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098514352"></a>3. Supported Platforms</h2></div></div></div><p>Here is a list of platforms on which XmlStarlet is known to |
3214 | + work.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Linux</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Solaris</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Windows</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>MacOS X</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>FreeBSD/NetBSD</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>HP-UX</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>AIX</p></li></ul></div><p>You might be able to compile and make it on others too.</p></div><div class="sect1" title="4. Finding binary packages"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098504256"></a>4. Finding binary packages</h2></div></div></div><p>Here is a list of sites where you can also find XmlStarlet binary |
3215 | + packages.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://www.suse.com/us/private/products/suse_linux/prof/packages_professional/xmlstarlet.html" target="_top">SuSE |
3216 | + Packages</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=%2FUtilities%2Fxmlstarlet/" target="_top">SuSE |
3217 | + Guru's RPM Site</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://www.freebsd.org/cgi/ports.cgi?query=xmlstarlet&stype=all" target="_top">FreeBSD |
3218 | + Ports</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://www.freshports.org/textproc/xmlstarlet/" target="_top">FreeBSD Fresh |
3219 | + Ports</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://fink.sourceforge.net/pdb/package.php/xmlstarlet" target="_top">Mac OS |
3220 | + Fink</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://rpms.mandrakeclub.com/linux/rpm2html/search.php?query=xmlstarlet" target="_top">Mandrake |
3221 | + RPMs</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://gentoo-portage.com/app-text/xmlstarlet" target="_top">Gentoo |
3222 | + Portage</a></p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://packages.debian.org/stable/text/xmlstarlet" target="_top">Debian</a></p></li></ul></div></div></div><div class="chapter" title="Chapter 2. Installation"><div class="titlepage"><div><div><h2 class="title"><a name="idm47940098489648"></a>Chapter 2. Installation</h2></div></div></div><div class="sect1" title="1. Installation on Linux"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098488656"></a>1. Installation on Linux</h2></div></div></div><p>Execute the following command as root</p><pre class="programlisting">rpm -i xmlstarlet-x.x.x-1.i386.rpm</pre><p>where x.x.x indicates package version.</p><p>You can use <a class="link" href="http://fr2.rpmfind.net/linux/rpm2html/search.php?query=xmlstarlet&system=&arch=" target="_top">http://rpmfind.net</a> |
3223 | + to search for RPM appropriate for your distribution.</p></div><div class="sect1" title="2. Installation on Solaris"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098485072"></a>2. Installation on Solaris</h2></div></div></div><p>Execute the following commands as root</p><pre class="programlisting">gunzip xmlstarlet-x.x.x-sol8-sparc-local.gz |
3224 | +pkgadd -d xmlstarlet-x.x.x-sol8-sparc-local all</pre></div><div class="sect1" title="3. Installation on MacOS X"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098483264"></a>3. Installation on MacOS X</h2></div></div></div><p>XmlStarlet is available on MacOS in Fink. <a class="link" href="http://fink.sourceforge.net/pdb/package.php/xmlstarlet" target="_top">See |
3225 | + fink.sourceforge.net</a></p></div><div class="sect1" title="4. Installation on Windows"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098481088"></a>4. Installation on Windows</h2></div></div></div><p>Unzip the file xmlstarlet-x.x.x-win32.zip to some directory. To |
3226 | + take advantage of UNIX shell scripting you might want to run XmlStarlet |
3227 | + from Cygwin. Consider installing <a class="link" href="http://www.cygwin.com/" target="_top">Cygwin</a> on your Windows |
3228 | + machine.</p></div></div><div class="chapter" title="Chapter 3. Getting Started"><div class="titlepage"><div><div><h2 class="title"><a name="idm47940098478640"></a>Chapter 3. Getting Started</h2></div></div></div><div class="sect1" title="1. Basic Command-Line Options"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098477648"></a>1. Basic Command-Line Options</h2></div></div></div><p>Basic command line syntax: </p><pre class="programlisting">bash-2.03$ xml |
3229 | +XMLStarlet Toolkit: Command line utilities for XML |
3230 | +Usage: xml [<options>] <command> [<cmd-options>] |
3231 | +where <command> is one of: |
3232 | + ed (or edit) - Edit/Update XML document(s) |
3233 | + sel (or select) - Select data or query XML document(s) (XPATH, etc) |
3234 | + tr (or transform) - Transform XML document(s) using XSLT |
3235 | + val (or validate) - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG) |
3236 | + fo (or format) - Format XML document(s) |
3237 | + el (or elements) - Display element structure of XML document |
3238 | + c14n (or canonic) - XML canonicalization |
3239 | + ls (or list) - List directory as XML |
3240 | + esc (or escape) - Escape special XML characters |
3241 | + unesc (or unescape) - Unescape special XML characters |
3242 | + pyx (or xmln) - Convert XML into PYX format (based on ESIS - ISO 8879) |
3243 | + p2x (or depyx) - Convert PYX into XML |
3244 | +<options> are: |
3245 | + -q or --quiet - no error output |
3246 | + --version - show version |
3247 | + --help - show help |
3248 | +Wherever file name mentioned in command help it is assumed |
3249 | +that URL can be used instead as well. |
3250 | + |
3251 | +Type: xml <command> --help <ENTER> for command help |
3252 | + |
3253 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3254 | +XML documents (for more information see http://xmlstar.sourceforge.net/)</pre></div><div class="sect1" title="2. Studying Structure of XML Document"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098473984"></a>2. Studying Structure of XML Document</h2></div></div></div><p>Before you do anything with your XML document you probably would |
3255 | + like to know its structure at first. 'el' option could be used for this |
3256 | + purpose.</p><p>Let's say you have the following XML document (table.xml)</p><pre class="programlisting"><xml> |
3257 | + <table> |
3258 | + <rec id="1"> |
3259 | + <numField>123</numField> |
3260 | + <stringField>String Value</stringField> |
3261 | + </rec> |
3262 | + <rec id="2"> |
3263 | + <numField>346</numField> |
3264 | + <stringField>Text Value</stringField> |
3265 | + </rec> |
3266 | + <rec id="3"> |
3267 | + <numField>-23</numField> |
3268 | + <stringField>stringValue</stringField> |
3269 | + </rec> |
3270 | + </table> |
3271 | +</xml></pre><pre class="programlisting">xml el table.xml</pre><p>would produce the following output.</p><pre class="programlisting">xml |
3272 | +xml/table |
3273 | +xml/table/rec |
3274 | +xml/table/rec/numField |
3275 | +xml/table/rec/stringField |
3276 | +xml/table/rec |
3277 | +xml/table/rec/numField |
3278 | +xml/table/rec/stringField |
3279 | +xml/table/rec |
3280 | +xml/table/rec/numField |
3281 | +xml/table/rec/stringField</pre><p>Every line in this output is an XPath expression which indicates a |
3282 | + 'path' to elements in XML document. You would use these XPath |
3283 | + expressions to navigate through your XML documents in other XmlStarlet |
3284 | + options.</p><p>XML documents can be pretty large but with a very simple |
3285 | + structure. (This is espesially true for data driven XML documents ex: |
3286 | + XML formatted result of select from SQL table). If you just interested |
3287 | + in structure but not order of the elements you can use -u switch |
3288 | + combined with 'el' option.</p><p>EXAMPLE:</p><pre class="programlisting">xml el -u table.xml</pre><p>Output:</p><pre class="programlisting">xml |
3289 | +xml/table |
3290 | +xml/table/rec |
3291 | +xml/table/rec/numField |
3292 | +xml/table/rec/stringField</pre><p>If you are interested not just in elements of your XML document, |
3293 | + but you want to see attributes as well you can use -a switch with 'el' |
3294 | + option. And every line of the output will still be a valid XPath |
3295 | + expression.</p><p>EXAMPLE:</p><pre class="programlisting">xml el -a table.xml</pre><p>Output:</p><pre class="programlisting">xml |
3296 | +xml/table |
3297 | +xml/table/rec |
3298 | +xml/table/rec/@id |
3299 | +xml/table/rec/numField |
3300 | +xml/table/rec/stringField |
3301 | +xml/table/rec |
3302 | +xml/table/rec/@id |
3303 | +xml/table/rec/numField |
3304 | +xml/table/rec/stringField |
3305 | +xml/table/rec |
3306 | +xml/table/rec/@id |
3307 | +xml/table/rec/numField |
3308 | +xml/table/rec/stringField</pre><p>If you are looking for attribute values as well use -v switch of |
3309 | + 'el' option. And again - every line of output is a valid XPath |
3310 | + expression.</p><p>EXAMPLE:</p><pre class="programlisting">xml el -v table.xml</pre><p>Output:</p><pre class="programlisting">xml |
3311 | +xml/table |
3312 | +xml/table/rec[@id='1'] |
3313 | +xml/table/rec/numField |
3314 | +xml/table/rec/stringField |
3315 | +xml/table/rec[@id='2'] |
3316 | +xml/table/rec/numField |
3317 | +xml/table/rec/stringField |
3318 | +xml/table/rec[@id='3'] |
3319 | +xml/table/rec/numField |
3320 | +xml/table/rec/stringField</pre></div></div><div class="chapter" title="Chapter 4. XmlStarlet Reference"><div class="titlepage"><div><div><h2 class="title"><a name="idm47940098461728"></a>Chapter 4. XmlStarlet Reference</h2></div></div></div><p></p><div class="sect1" title="1. Querying XML documents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098460832"></a>1. Querying XML documents</h2></div></div></div><p>XmlStarlet 'select' or 'sel' option can be used to query or search |
3321 | + XML documents. Here is synopsis for 'xml sel' command:</p><pre class="programlisting">XMLStarlet Toolkit: Select from XML document(s) |
3322 | +Usage: xml sel <global-options> {<template>} [ <xml-file> ... ] |
3323 | +where |
3324 | + <global-options> - global options for selecting |
3325 | + <xml-file> - input XML document file name/uri (stdin is used if missing) |
3326 | + <template> - template for querying XML document with following syntax: |
3327 | + |
3328 | +<global-options> are: |
3329 | + -C or --comp - display generated XSLT |
3330 | + -R or --root - print root element <xsl-select> |
3331 | + -T or --text - output is text (default is XML) |
3332 | + -I or --indent - indent output |
3333 | + -D or --xml-decl - do not omit xml declaration line |
3334 | + -B or --noblanks - remove insignificant spaces from XML tree |
3335 | + -N <name>=<value> - predefine namespaces (name without 'xmlns:') |
3336 | + ex: xsql=urn:oracle-xsql |
3337 | + Multiple -N options are allowed. |
3338 | + --net - allow fetch DTDs or entities over network |
3339 | + --help - display help |
3340 | + |
3341 | +Syntax for templates: -t|--template <options> |
3342 | +where <options> |
3343 | + -c or --copy-of <xpath> - print copy of XPATH expression |
3344 | + -v or --value-of <xpath> - print value of XPATH expression |
3345 | + -o or --output <string> - output string literal |
3346 | + -n or --nl - print new line |
3347 | + -f or --inp-name - print input file name (or URL) |
3348 | + -m or --match <xpath> - match XPATH expression |
3349 | + -i or --if <test-xpath> - check condition <xsl:if test="test-xpath"> |
3350 | + -e or --elem <name> - print out element <xsl:element name="name"> |
3351 | + -a or --attr <name> - add attribute <xsl:attribute name="name"> |
3352 | + -b or --break - break nesting |
3353 | + -s or --sort op xpath - sort in order (used after -m) where |
3354 | + op is X:Y:Z, |
3355 | + X is A - for order="ascending" |
3356 | + X is D - for order="descending" |
3357 | + Y is N - for data-type="numeric" |
3358 | + Y is T - for data-type="text" |
3359 | + Z is U - for case-order="upper-first" |
3360 | + Z is L - for case-order="lower-first" |
3361 | + |
3362 | +There can be multiple --match, --copy-of, --value-of, etc options |
3363 | +in a single template. The effect of applying command line templates |
3364 | +can be illustrated with the following XSLT analogue |
3365 | + |
3366 | +xml sel -t -c "xpath0" -m "xpath1" -m "xpath2" -v "xpath3" \ |
3367 | + -t -m "xpath4" -c "xpath5" |
3368 | + |
3369 | +is equivalent to applying the following XSLT |
3370 | + |
3371 | +<?xml version="1.0"?> |
3372 | +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
3373 | +<xsl:template match="/"> |
3374 | + <xsl:call-template name="t1"/> |
3375 | + <xsl:call-template name="t2"/> |
3376 | +</xsl:template> |
3377 | +<xsl:template name="t1"> |
3378 | + <xsl:copy-of select="xpath0"/> |
3379 | + <xsl:for-each select="xpath1"> |
3380 | + <xsl:for-each select="xpath2"> |
3381 | + <xsl:value-of select="xpath3"/> |
3382 | + </xsl:for-each> |
3383 | + </xsl:for-each> |
3384 | +</xsl:template> |
3385 | +<xsl:template name="t2"> |
3386 | + <xsl:for-each select="xpath4"> |
3387 | + <xsl:copy-of select="xpath5"/> |
3388 | + </xsl:for-each> |
3389 | +</xsl:template> |
3390 | +</xsl:stylesheet> |
3391 | + |
3392 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3393 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3394 | + |
3395 | +Current implementation uses libxslt from GNOME codebase as XSLT processor |
3396 | +(see http://xmlsoft.org/ for more details) |
3397 | +</pre><p>'select' option allows you basically avoid writting XSLT |
3398 | + stylesheet to perform some queries on XML documents. I.e. various |
3399 | + combinations of command line parameters will let you to generate XSLT |
3400 | + stylesheet and apply in to XML documents with a single command line. |
3401 | + Very often you do not really care what XSLT was created for you 'select' |
3402 | + command, but in those cases when you do; you can always use -C or --comp |
3403 | + switch which will let you see exactly which XSLT is applied to your |
3404 | + input.</p><p>'select' option supports many EXSLT functions in XPath |
3405 | + expressions.</p><p>Here are few examples which will help to understand how 'xml |
3406 | + select' works:</p><p>EXAMPLE:</p><p>Count elements matching XPath expression:</p><p></p><pre class="programlisting">xml sel -t -v "count(/xml/table/rec/numField)" table.xml</pre><p>Input (table.xml):</p><pre class="programlisting"><xml> |
3407 | + <table> |
3408 | + <rec id="1"> |
3409 | + <numField>123</numField> |
3410 | + <stringField>String Value</stringField> |
3411 | + </rec> |
3412 | + <rec id="2"> |
3413 | + <numField>346</numField> |
3414 | + <stringField>Text Value</stringField> |
3415 | + </rec> |
3416 | + <rec id="3"> |
3417 | + <numField>-23</numField> |
3418 | + <stringField>stringValue</stringField> |
3419 | + </rec> |
3420 | + </table> |
3421 | +</xml></pre><p>Output:</p><pre class="programlisting">3 |
3422 | +</pre><p>Let's take a close look what it did internally. For that we will |
3423 | + use '-C' option</p><pre class="programlisting">$ xml sel -C -t -v "count(/xml/table/rec/numField)" |
3424 | +<?xml version="1.0"?> |
3425 | +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
3426 | + xmlns:exslt="http://exslt.org/common" |
3427 | + xmlns:math="http://exslt.org/math" |
3428 | + xmlns:date="http://exslt.org/dates-and-times" |
3429 | + xmlns:func="http://exslt.org/functions" |
3430 | + xmlns:set="http://exslt.org/sets" |
3431 | + xmlns:str="http://exslt.org/strings" |
3432 | + xmlns:dyn="http://exslt.org/dynamic" |
3433 | + xmlns:saxon="http://icl.com/saxon" |
3434 | + xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect" |
3435 | + xmlns:xt="http://www.jclark.com/xt" |
3436 | + xmlns:libxslt="http://xmlsoft.org/XSLT/namespace" |
3437 | + xmlns:test="http://xmlsoft.org/XSLT/" |
3438 | + extension-element-prefixes= |
3439 | + "exslt math date func set str dyn saxon xalanredirect xt libxslt test" |
3440 | + exclude-result-prefixes="math str"> |
3441 | +<xsl:output omit-xml-declaration="yes" indent="no"/> |
3442 | +<xsl:param name="inputFile">-</xsl:param> |
3443 | +<xsl:template match="/"> |
3444 | + <xsl:call-template name="t1"/> |
3445 | +</xsl:template> |
3446 | +<xsl:template name="t1"> |
3447 | + <xsl:value-of select="count(/xml/table/rec/numField)"/> |
3448 | +</xsl:template> |
3449 | +</xsl:stylesheet></pre><p>Ignoring some XSLT stuff to make it brief:</p><pre class="programlisting"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
3450 | +<xsl:output omit-xml-declaration="yes" indent="no"/> |
3451 | +<xsl:param name="inputFile">-</xsl:param> |
3452 | +<xsl:template match="/"> |
3453 | + <xsl:call-template name="t1"/> |
3454 | +</xsl:template> |
3455 | +<xsl:template name="t1"> |
3456 | + <xsl:value-of select="count(/xml/table/rec/numField)"/> |
3457 | +</xsl:template> |
3458 | +</xsl:stylesheet></pre><p>Every -t option is mapped into XSLT template. Options after '-t' |
3459 | + are mapped into XSLT elements:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>-v to <xsl:value-of></p></li><li class="listitem"><p>-c to <xsl:copy-of></p></li><li class="listitem"><p>-e to <xsl:element></p></li><li class="listitem"><p>-a to <xsl:attribute></p></li><li class="listitem"><p>-s to <xsl:sort></p></li><li class="listitem"><p>-m to <xsl:for-each></p></li><li class="listitem"><p>-i to <xsl:if></p></li><li class="listitem"><p>and so on</p></li></ul></div><p>By default subsequent options (for instance: -m) will result in |
3460 | + nested corresponding XSLT elements (<xsl:for-each> for '-m'). To |
3461 | + break this nesting you would have to put '-b' or '--break' after first |
3462 | + '-m'.</p><p>Below are few more examples:</p><p>EXAMPLE</p><p>Count all nodes in XML documents. Print input name and node count |
3463 | + after it.</p><pre class="programlisting">xml sel -t -f -o " " -v "count(//node())" xml/table.xml xml/tab-obj.xml</pre><p>Output:</p><pre class="programlisting">xml/table.xml 32 |
3464 | +xml/tab-obj.xml 41</pre><p></p><p>EXAMPLE</p><p>Find XML files matching XPath expression (containing 'object' |
3465 | + element)</p><pre class="programlisting">xml sel -t -m //object -f xml/table.xml xml/tab-obj.xml</pre><p>Result output:</p><pre class="programlisting">xml/tab-obj.xml</pre><p></p><p>EXAMPLE</p><p>Calculate EXSLT (XSLT extentions) XPath value</p><pre class="programlisting">echo "<x/>" | xml sel -t -v "math:abs(-1000)"</pre><p>Result output:</p><pre class="programlisting">1000</pre><p></p><p>EXAMPLE</p><p>Adding elements and attributes using command line 'xml sel'</p><pre class="programlisting">echo "<x/>" | xml sel -t -m / -e xml -e child -a data -o value</pre><p>Result Output:</p><pre class="programlisting"><xml><child data="value"/></xml></pre><p></p><p>EXAMPLE</p><p>Query XML document and produce sorted text table</p><pre class="programlisting">xml sel -T -t -m /xml/table/rec -s D:N:- "@id" \ |
3466 | + -v "concat(@id,'|',numField,'|',stringField)" -n xml/table.xml</pre><p>Result Output:</p><pre class="programlisting">3|-23|stringValue |
3467 | +2|346|Text Value |
3468 | +1|123|String Value</pre><p>Equivalent stylesheet</p><pre class="programlisting"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
3469 | +<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> |
3470 | +<xsl:param name="inputFile">-</xsl:param> |
3471 | +<xsl:template match="/"> |
3472 | + <xsl:call-template name="t1"/> |
3473 | +</xsl:template> |
3474 | +<xsl:template name="t1"> |
3475 | + <xsl:for-each select="/xml/table/rec"> |
3476 | + <xsl:sort order="descending" data-type="number" |
3477 | + case-order="upper-first" select="@id"/> |
3478 | + <xsl:value-of select="concat(@id,'|',numField,'|',stringField)"/> |
3479 | + <xsl:value-of select="'&#10;'"/> |
3480 | + </xsl:for-each> |
3481 | +</xsl:template> |
3482 | +</xsl:stylesheet></pre><p></p><p>EXAMPLE</p><p>Predefine namespaces for XPath expressions</p><pre class="programlisting">xml sel -N xsql=urn:oracle-xsql -t -v /xsql:query xsql/jobserve.xsql</pre><p>Input (xsql/jobserve.xsql)</p><pre class="programlisting">$ cat xsql/jobserve.xsql |
3483 | +<?xml version="1.0"?> |
3484 | +<?xml-stylesheet type="text/xsl" href="jobserve.xsl"?> |
3485 | +<xsql:query connection="jobs" xmlns:xsql="urn:oracle-xsql" max-rows="5"> |
3486 | + SELECT substr(title,1,26) short_title, title, location, skills |
3487 | + FROM job |
3488 | + WHERE UPPER(title) LIKE '%ORACLE%' |
3489 | + ORDER BY first_posted DESC |
3490 | +</xsql:query></pre><p>Result output</p><pre class="programlisting"> SELECT substr(title,1,26) short_title, title, location, skills |
3491 | + FROM job |
3492 | + WHERE UPPER(title) LIKE '%ORACLE%' |
3493 | + ORDER BY first_posted DESC |
3494 | +</pre><p></p><p>EXAMPLE</p><p>Print structure of XML element using xml sel (advanced XPath |
3495 | + expressions and xml sel command usage)</p><pre class="programlisting">xml sel -T -t -m '//*' \ |
3496 | +-m 'ancestor-or-self::*' -v 'name()' -i 'not(position()=last())' -o . -b -b -n \ |
3497 | +xml/structure.xml</pre><p>Input (xml/structure.xml)</p><pre class="programlisting"><a1> |
3498 | + <a11> |
3499 | + <a111> |
3500 | + <a1111/> |
3501 | + </a111> |
3502 | + <a112> |
3503 | + <a1121/> |
3504 | + </a112> |
3505 | + </a11> |
3506 | + <a12/> |
3507 | + <a13> |
3508 | + <a131/> |
3509 | + </a13> |
3510 | +</a1></pre><p>Result Output:</p><pre class="programlisting">a1 |
3511 | +a1.a11 |
3512 | +a1.a11.a111 |
3513 | +a1.a11.a111.a1111 |
3514 | +a1.a11.a112 |
3515 | +a1.a11.a112.a1121 |
3516 | +a1.a12 |
3517 | +a1.a13 |
3518 | +a1.a13.a131</pre><p>This example is a good demonstration of nesting control. Here is |
3519 | + corresponding XSLT:</p><pre class="programlisting"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
3520 | +<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> |
3521 | +<xsl:param name="inputFile">-</xsl:param> |
3522 | +<xsl:template match="/"> |
3523 | + <xsl:call-template name="t1"/> |
3524 | +</xsl:template> |
3525 | +<xsl:template name="t1"> |
3526 | + <xsl:for-each select="//*"> |
3527 | + <xsl:for-each select="ancestor-or-self::*"> |
3528 | + <xsl:value-of select="name()"/> |
3529 | + <xsl:if test="not(position()=last())"> |
3530 | + <xsl:value-of select="'.'"/> |
3531 | + </xsl:if> |
3532 | + </xsl:for-each> |
3533 | + <xsl:value-of select="'&#10;'"/> |
3534 | + </xsl:for-each> |
3535 | +</xsl:template> |
3536 | +</xsl:stylesheet></pre><p></p><p></p><p>EXAMPLE</p><p>Print all links of xhtml document</p><pre class="programlisting">xml sel --net --html -T -t -m "//*[local-name()='a']" \ |
3537 | + -o 'NAME: ' -v "translate(. , '&#10;', ' ')" -n \ |
3538 | + -o 'LINK: ' -v @href -n -n \ |
3539 | + http://xmlstar.sourceforge.net/</pre><p>Sample output</p><pre class="programlisting">NAME: XmlStarlet SourceForge Site |
3540 | +LINK: http://sourceforge.net/projects/xmlstar/ |
3541 | + |
3542 | +NAME: XmlStarlet CVS Source |
3543 | +LINK: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xmlstar/ |
3544 | + |
3545 | +NAME: XmlStarlet on Freshmeat.Net |
3546 | +LINK: http://freshmeat.net/projects/xmlstarlet/ |
3547 | + |
3548 | +NAME: XMLStarlet Sourceforge forums |
3549 | +LINK: http://sourceforge.net/forum/?group_id=66612 |
3550 | + |
3551 | +NAME: XMLStarlet mailing list |
3552 | +LINK: http://lists.sourceforge.net/lists/listinfo/xmlstar-devel |
3553 | +</pre><p></p></div><div class="sect1" title="2. Transforming XML documents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098410320"></a>2. Transforming XML documents</h2></div></div></div><p>Here is synopsis for 'xml tr' command:</p><pre class="programlisting">XMLStarlet Toolkit: Transform XML document(s) using XSLT |
3554 | +Usage: xml tr [<options>] <xsl-file> {-p|-s <name>=<value>} [ <xml-file-or-uri> ... ] |
3555 | +where |
3556 | + <xsl-file> - main XSLT stylesheet for transformation |
3557 | + <xml-file> - input XML document file name (stdin is used if missing) |
3558 | + <name>=<value> - name and value of the parameter passed to XSLT processor |
3559 | + -p - parameter is XPATH expression ("'string'" to quote string) |
3560 | + -s - parameter is a string literal |
3561 | +<options> are: |
3562 | + --omit-decl - omit xml declaration <?xml version="1.0"?> |
3563 | + --show-ext - show list of extensions |
3564 | + --val - allow validate against DTDs or schemas |
3565 | + --net - allow fetch DTDs or entities over network |
3566 | + --xinclude - do XInclude processing on document input |
3567 | + --maxdepth val - increase the maximum depth |
3568 | + --html - input document(s) is(are) in HTML format |
3569 | + --catalogs - use SGML catalogs from $SGML_CATALOG_FILES |
3570 | + otherwise XML catalogs starting from |
3571 | + file:///etc/xml/catalog are activated by default |
3572 | + |
3573 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3574 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3575 | + |
3576 | +Current implementation uses libxslt from GNOME codebase as XSLT processor |
3577 | +(see http://xmlsoft.org/ for more details) |
3578 | +</pre><p>EXAMPLE:</p><pre class="programlisting"># Transform passing parameters to XSLT stylesheet |
3579 | +xml tr xsl/param1.xsl -p Count='count(/xml/table/rec)' -s Text="Count=" xml/table.xml |
3580 | +</pre><p>Input xsl/params1.xsl</p><pre class="programlisting"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
3581 | +<xsl:output method="text"/> |
3582 | +<xsl:param name="Text"/> |
3583 | +<xsl:param name="Count"/> |
3584 | +<xsl:template match="/"> |
3585 | + <xsl:call-template name="t1"/> |
3586 | +</xsl:template> |
3587 | +<xsl:template name="t1"> |
3588 | + <xsl:for-each select="/xml"> |
3589 | + <xsl:value-of select="$Text"/> |
3590 | + <xsl:value-of select="$Count"/> |
3591 | + <xsl:value-of select="'&#10;'"/> |
3592 | + </xsl:for-each> |
3593 | +</xsl:template> |
3594 | +</xsl:stylesheet></pre><p>Output</p><pre class="programlisting">Count=3 |
3595 | +</pre></div><div class="sect1" title="3. Editing XML documents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098401840"></a>3. Editing XML documents</h2></div></div></div><p>Here is the synopsis for 'xml ed' command:</p><pre class="programlisting">XMLStarlet Toolkit: Edit XML document(s) |
3596 | +Usage: xml ed <global-options> {<action>} [ <xml-file-or-uri> ... ] |
3597 | +where |
3598 | + <global-options> - global options for editing |
3599 | + <xml-file-or-uri> - input XML document file name/uri (stdin is used if missing) |
3600 | + |
3601 | +<global-options> are: |
3602 | + -P (or --pf) - preserve original formatting |
3603 | + -S (or --ps) - preserve non-significant spaces |
3604 | + -O (or --omit-decl) - omit XML declaration (<?xml ...?>) |
3605 | + -N <name>=<value> - predefine namespaces (name without 'xmlns:') |
3606 | + ex: xsql=urn:oracle-xsql |
3607 | + Multiple -N options are allowed. |
3608 | + -N options must be last global options. |
3609 | + --help or -h - display help |
3610 | + |
3611 | +where <action> |
3612 | + -d or --delete <xpath> |
3613 | + -i or --insert <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value> |
3614 | + -a or --append <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value> |
3615 | + -s or --subnode <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value> |
3616 | + -m or --move <xpath1> <xpath2> |
3617 | + -r or --rename <xpath1> -v <new-name> |
3618 | + -u or --update <xpath> -v (--value) <value> |
3619 | + -x (--expr) <xpath> (-x is not implemented yet) |
3620 | + |
3621 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3622 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3623 | +</pre><p>EXAMPLE:</p><pre class="programlisting"># Delete elements matching XPath expression |
3624 | +xml ed -d "/xml/table/rec[@id='2']" xml/table.xml |
3625 | +</pre><p>Input</p><pre class="programlisting"><xml> |
3626 | + <table> |
3627 | + <rec id="1"> |
3628 | + <numField>123</numField> |
3629 | + <stringField>String Value</stringField> |
3630 | + </rec> |
3631 | + <rec id="2"> |
3632 | + <numField>346</numField> |
3633 | + <stringField>Text Value</stringField> |
3634 | + </rec> |
3635 | + <rec id="3"> |
3636 | + <numField>-23</numField> |
3637 | + <stringField>stringValue</stringField> |
3638 | + </rec> |
3639 | + </table> |
3640 | +</xml> |
3641 | +</pre><p>Output</p><pre class="programlisting"><xml> |
3642 | + <table> |
3643 | + <rec id="1"> |
3644 | + <numField>123</numField> |
3645 | + <stringField>String Value</stringField> |
3646 | + </rec> |
3647 | + <rec id="3"> |
3648 | + <numField>-23</numField> |
3649 | + <stringField>stringValue</stringField> |
3650 | + </rec> |
3651 | + </table> |
3652 | +</xml> |
3653 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Move element node |
3654 | +echo '<x id="1"><a/><b/></x>' | xml ed -m "//b" "//a" |
3655 | +</pre><p>Output</p><pre class="programlisting"><x id="1"> |
3656 | + <a> |
3657 | + <b/> |
3658 | + </a> |
3659 | +</x> |
3660 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Rename attributes |
3661 | +xml ed -r "//*/@id" -v ID xml/tab-obj.xml |
3662 | +</pre><p>Output:</p><pre class="programlisting"><xml> |
3663 | + <table> |
3664 | + <rec ID="1"> |
3665 | + <numField>123</numField> |
3666 | + <stringField>String Value</stringField> |
3667 | + <object name="Obj1"> |
3668 | + <property name="size">10</property> |
3669 | + <property name="type">Data</property> |
3670 | + </object> |
3671 | + </rec> |
3672 | + <rec ID="2"> |
3673 | + <numField>346</numField> |
3674 | + <stringField>Text Value</stringField> |
3675 | + </rec> |
3676 | + <rec ID="3"> |
3677 | + <numField>-23</numField> |
3678 | + <stringField>stringValue</stringField> |
3679 | + </rec> |
3680 | + </table> |
3681 | +</xml> |
3682 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Rename elements |
3683 | +xml ed -r "/xml/table/rec" -v record xml/tab-obj.xml |
3684 | +</pre><p>Output:</p><pre class="programlisting"><xml> |
3685 | + <table> |
3686 | + <record id="1"> |
3687 | + <numField>123</numField> |
3688 | + <stringField>String Value</stringField> |
3689 | + <object name="Obj1"> |
3690 | + <property name="size">10</property> |
3691 | + <property name="type">Data</property> |
3692 | + </object> |
3693 | + </record> |
3694 | + <record id="2"> |
3695 | + <numField>346</numField> |
3696 | + <stringField>Text Value</stringField> |
3697 | + </record> |
3698 | + <record id="3"> |
3699 | + <numField>-23</numField> |
3700 | + <stringField>stringValue</stringField> |
3701 | + </record> |
3702 | + </table> |
3703 | +</xml> |
3704 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Update value of an attribute |
3705 | +xml ed -u "/xml/table/rec[@id=3]/@id" -v 5 xml/tab-obj.xml |
3706 | +</pre><p>Output:</p><pre class="programlisting"><xml> |
3707 | + <table> |
3708 | + <rec id="1"> |
3709 | + <numField>123</numField> |
3710 | + <stringField>String Value</stringField> |
3711 | + <object name="Obj1"> |
3712 | + <property name="size">10</property> |
3713 | + <property name="type">Data</property> |
3714 | + </object> |
3715 | + </rec> |
3716 | + <rec id="2"> |
3717 | + <numField>346</numField> |
3718 | + <stringField>Text Value</stringField> |
3719 | + </rec> |
3720 | + <rec id="5"> |
3721 | + <numField>-23</numField> |
3722 | + <stringField>stringValue</stringField> |
3723 | + </rec> |
3724 | + </table> |
3725 | +</xml> |
3726 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Update value of an element |
3727 | +xml ed -u "/xml/table/rec[@id=1]/numField" -v 0 xml/tab-obj.xml |
3728 | +</pre><p>Output:</p><pre class="programlisting"><xml> |
3729 | + <table> |
3730 | + <rec id="1"> |
3731 | + <numField>0</numField> |
3732 | + <stringField>String Value</stringField> |
3733 | + <object name="Obj1"> |
3734 | + <property name="size">10</property> |
3735 | + <property name="type">Data</property> |
3736 | + </object> |
3737 | + </rec> |
3738 | + <rec id="2"> |
3739 | + <numField>346</numField> |
3740 | + <stringField>Text Value</stringField> |
3741 | + </rec> |
3742 | + <rec id="3"> |
3743 | + <numField>-23</numField> |
3744 | + <stringField>stringValue</stringField> |
3745 | + </rec> |
3746 | + </table> |
3747 | +</xml> |
3748 | +</pre></div><div class="sect1" title="4. Validating XML documents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098383920"></a>4. Validating XML documents</h2></div></div></div><p>Here is synopsis for 'xml val' command:</p><pre class="programlisting">XMLStarlet Toolkit: Validate XML document(s) |
3749 | +Usage: xml val <options> [ <xml-file-or-uri> ... ] |
3750 | +where <options> |
3751 | + -w or --well-formed - validate well-formedness only (default) |
3752 | + -d or --dtd <dtd-file> - validate against DTD |
3753 | + -s or --xsd <xsd-file> - validate against XSD schema |
3754 | + -r or --relaxng <rng-file> - validate against Relax-NG schema |
3755 | + -e or --err - print verbose error messages on stderr |
3756 | + -b or --list-bad - list only files which do not validate |
3757 | + -g or --list-good - list only files which validate |
3758 | + -q or --quiet - do not list files (return result code only) |
3759 | + |
3760 | +NOTE: XML Schemas are not fully supported yet due to its incomplete |
3761 | + support in libxml (see http://xmlsoft.org) |
3762 | + |
3763 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3764 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3765 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Validate XML document against DTD |
3766 | +xml val --dtd dtd/table.dtd xml/tab-obj.xml >/dev/null 2>&1; echo $? |
3767 | +</pre><p>Output:</p><pre class="programlisting">1 |
3768 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Validate against XSD schema |
3769 | +xml val -b -s xsd/table.xsd xml/table.xml xml/tab-obj.xml 2>/dev/null; echo $? |
3770 | +</pre><p>Output:</p><pre class="programlisting">xml/tab-obj.xml |
3771 | +1 |
3772 | +</pre></div><div class="sect1" title="5. Formatting XML documents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098376832"></a>5. Formatting XML documents</h2></div></div></div><p>Here is synopsis for 'xml fo' command:</p><pre class="programlisting">XMLStarlet Toolkit: Format XML document |
3773 | +Usage: xml fo [<options>] <xml-file> |
3774 | +where <options> are |
3775 | + -n or --noindent - do not indent |
3776 | + -t or --indent-tab - indent output with tabulation |
3777 | + -s or --indent-spaces <num> - indent output with <num> spaces |
3778 | + -o or --omit-decl - omit xml declaration <?xml version="1.0"?> |
3779 | + -R or --recover - try to recover what is parsable |
3780 | + -D or --dropdtd - remove the DOCTYPE of the input docs |
3781 | + -C or --nocdata - replace cdata section with text nodes |
3782 | + -N or --nsclean - remove redundant namespace declarations |
3783 | + -e or --encode <encoding> - output in the given encoding (utf-8, unicode...) |
3784 | + -H or --html - input is HTML |
3785 | + -h or --help - print help |
3786 | + |
3787 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3788 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3789 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Format XML document disabling indent |
3790 | +cat xml/tab-obj.xml | xml fo --noindent |
3791 | +</pre><p>Output:</p><pre class="programlisting"><xml> |
3792 | +<table> |
3793 | +<rec id="1"> |
3794 | +<numField>123</numField> |
3795 | +<stringField>String Value</stringField> |
3796 | +<object name="Obj1"> |
3797 | +<property name="size">10</property> |
3798 | +<property name="type">Data</property> |
3799 | +</object> |
3800 | +</rec> |
3801 | +<rec id="2"> |
3802 | +<numField>346</numField> |
3803 | +<stringField>Text Value</stringField> |
3804 | +</rec> |
3805 | +<rec id="3"> |
3806 | +<numField>-23</numField> |
3807 | +<stringField>stringValue</stringField> |
3808 | +</rec> |
3809 | +</table> |
3810 | +</xml> |
3811 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Recover malformed XML document |
3812 | +xml fo -R xml/malformed.xml 2>/dev/null |
3813 | +</pre><p>Input:</p><pre class="programlisting"><test_output> |
3814 | + <test_name>foo</testname> |
3815 | + <subtest>...</subtest> |
3816 | +</test_output> |
3817 | +</pre><p>Output:</p><pre class="programlisting"><test_output> |
3818 | + <test_name>foo</test_name> |
3819 | + <subtest>...</subtest> |
3820 | +</test_output> |
3821 | +</pre></div><div class="sect1" title="6. Canonicalization of XML documents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098584992"></a>6. Canonicalization of XML documents</h2></div></div></div><p>Here is synopsis for 'xml c14n' command:</p><pre class="programlisting">XMLStarlet Toolkit: XML canonicalization |
3822 | +Usage: xml c14n <mode> <xml-file> [<xpath-file>] [<inclusive-ns-list>] |
3823 | +where |
3824 | + <xml-file> - input XML document file name (stdin is used if '-') |
3825 | + <xpath-file> - XML file containing XPath expression for |
3826 | + c14n XML canonicalization |
3827 | + Example: |
3828 | + <?xml version="1.0"?> |
3829 | + <XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example"> |
3830 | + (//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1] |
3831 | + </XPath> |
3832 | + |
3833 | + <inclusive-ns-list> - the list of inclusive namespace prefixes |
3834 | + (only for exclusive canonicalization) |
3835 | + Example: 'n1 n2' |
3836 | + |
3837 | + <mode> is one of following: |
3838 | + --with-comments XML file canonicalization w comments (default) |
3839 | + --without-comments XML file canonicalization w/o comments |
3840 | + --exc-with-comments Exclusive XML file canonicalization w comments |
3841 | + --exc-without-comments Exclusive XML file canonicalization w/o comments |
3842 | + |
3843 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3844 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3845 | +</pre><p>EXAMPLE</p><pre class="programlisting"># XML canonicalization |
3846 | +xml c14n --with-comments ../examples/xml/structure.xml ; echo $? |
3847 | +</pre><p>Input ../examples/xml/structure.xml</p><pre class="programlisting"><a1> |
3848 | + <a11> |
3849 | + <a111> |
3850 | + <a1111/> |
3851 | + </a111> |
3852 | + <a112> |
3853 | + <a1121/> |
3854 | + </a112> |
3855 | + </a11> |
3856 | + <a12/> |
3857 | + <a13> |
3858 | + <a131/> |
3859 | + </a13> |
3860 | +</a1></pre><p>Output</p><pre class="programlisting"><a1> |
3861 | + <a11> |
3862 | + <a111> |
3863 | + <a1111></a1111> |
3864 | + </a111> |
3865 | + <a112> |
3866 | + <a1121></a1121> |
3867 | + </a112> |
3868 | + </a11> |
3869 | + <a12></a12> |
3870 | + <a13> |
3871 | + <a131></a131> |
3872 | + </a13> |
3873 | +</a1> |
3874 | +0 |
3875 | +</pre><p>EXAMPLE</p><pre class="programlisting"># XML exclusive canonicalization |
3876 | +xml c14n --exc-with-comments ../examples/xml/c14n.xml ../examples/xml/c14n.xpath |
3877 | +</pre><p>Input</p><pre class="programlisting">../examples/xml/c14n.xml |
3878 | + |
3879 | +<n0:pdu xmlns:n0='http://a.example.com'> |
3880 | +<n1:elem1 xmlns:n1='http://b.example'> |
3881 | +content |
3882 | +</n1:elem1> |
3883 | +</n0:pdu> |
3884 | + |
3885 | +../examples/xml/c14n.xpath |
3886 | + |
3887 | +<XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example"> |
3888 | +(//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1] |
3889 | +</XPath> |
3890 | + |
3891 | +</pre><p>Output</p><pre class="programlisting"><n1:elem1 xmlns:n1="http://b.example"> |
3892 | +content |
3893 | +</n1:elem1> |
3894 | +</pre></div><div class="sect1" title="7. XML and PYX format"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098350080"></a>7. XML and PYX format</h2></div></div></div><p>Here is synopsis for 'xml pyx' command:</p><pre class="programlisting">XMLStarlet Toolkit: Convert XML into PYX format (based on ESIS - ISO 8879) |
3895 | +Usage: xml pyx {<xml-file>} |
3896 | +where |
3897 | + <xml-file> - input XML document file name (stdin is used if missing) |
3898 | + |
3899 | +The PYX format is a line-oriented representation of |
3900 | +XML documents that is derived from the SGML ESIS format. |
3901 | +(see ESIS - ISO 8879 Element Structure Information Set spec, |
3902 | +ISO/IEC JTC1/SC18/WG8 N931 (ESIS)) |
3903 | + |
3904 | +A non-validating, ESIS generating tool originally developed for |
3905 | +pyxie project (see http://pyxie.sourceforge.net/) |
3906 | +ESIS Generation by Sean Mc Grath http://www.digitome.com/sean.html |
3907 | + |
3908 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3909 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3910 | +</pre><p>EXAMPLE</p><pre class="programlisting">xml pyx input.xml |
3911 | +</pre><p>Input (input.xml)</p><pre class="programlisting"><books> |
3912 | +<book type='hardback'> |
3913 | +<title>Atlas Shrugged</title> |
3914 | +<author>Ayn Rand</author> |
3915 | +<isbn id='1'>0525934189</isbn> |
3916 | +</book> |
3917 | +</books></pre><p>Output</p><pre class="programlisting">(books |
3918 | +-\n |
3919 | +(book |
3920 | +Atype hardback |
3921 | +-\n |
3922 | +(title |
3923 | +-Atlas Shrugged |
3924 | +)title |
3925 | +-\n |
3926 | +(author |
3927 | +-Ayn Rand |
3928 | +)author |
3929 | +-\n |
3930 | +(isbn |
3931 | +Aid 1 |
3932 | +-0525934189 |
3933 | +)isbn |
3934 | +-\n |
3935 | +)book |
3936 | +-\n |
3937 | +)books</pre><p>PYX is a line oriented format for XML files which can be helpful |
3938 | + (and very efficient) when used in combination with regular line oriented |
3939 | + UNIX command such as sed, grep, awk.</p><p>'depyx' option is used for conversion back from PYX into |
3940 | + XML.</p><p>EXAMPLE (Delete all attributes). This should work really fast for |
3941 | + very large XML documents.</p><pre class="programlisting">xml pyx input.xml | grep -v "^A" | xml depyx</pre><p>Output</p><pre class="programlisting"><books> |
3942 | +<book> |
3943 | +<title>Atlas Shrugged</title> |
3944 | +<author>Ayn Rand</author> |
3945 | +<isbn>0525934189</isbn> |
3946 | +</book> |
3947 | +</books></pre><p>Here is an article which describes how PYX format can be used to |
3948 | + grep XML. <a class="link" href="http://www-106.ibm.com/developerworks/xml/library/x-matters17.html" target="_top">http://www-106.ibm.com/developerworks/xml/library/x-matters17.html</a></p></div><div class="sect1" title="8. Escape/Unescape special XML characters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098340288"></a>8. Escape/Unescape special XML characters</h2></div></div></div><p>Here is synopsis for 'xml esc' command:</p><pre class="programlisting">xml esc --help |
3949 | +XMLStarlet Toolkit: Escape special XML characters |
3950 | +Usage: xml esc [<options>] [<string>] |
3951 | +where <options> are |
3952 | + --help - print usage |
3953 | + (TODO: more to be added in future) |
3954 | +if <string> is missing stdin is used instead. |
3955 | + |
3956 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3957 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3958 | +</pre><p>EXAMPLE</p><pre class="programlisting"># Escape special XML characters |
3959 | +cat xml/structure.xml | xml esc |
3960 | +</pre><p>Input</p><pre class="programlisting"><a1> |
3961 | + <a11> |
3962 | + <a111> |
3963 | + <a1111/> |
3964 | + </a111> |
3965 | + <a112> |
3966 | + <a1121/> |
3967 | + </a112> |
3968 | + </a11> |
3969 | + <a12/> |
3970 | + <a13> |
3971 | + <a131/> |
3972 | + </a13> |
3973 | +</a1></pre><p>Output</p><pre class="programlisting">&lt;a1&gt; |
3974 | + &lt;a11&gt; |
3975 | + &lt;a111&gt; |
3976 | + &lt;a1111/&gt; |
3977 | + &lt;/a111&gt; |
3978 | + &lt;a112&gt; |
3979 | + &lt;a1121/&gt; |
3980 | + &lt;/a112&gt; |
3981 | + &lt;/a11&gt; |
3982 | + &lt;a12/&gt; |
3983 | + &lt;a13&gt; |
3984 | + &lt;a131/&gt; |
3985 | + &lt;/a13&gt; |
3986 | +&lt;/a1&gt; |
3987 | +</pre></div><div class="sect1" title="9. List directory as XML"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098335296"></a>9. List directory as XML</h2></div></div></div><p>Here is synopsis for 'xml ls' command:</p><pre class="programlisting">XMLStarlet Toolkit: List directory as XML |
3988 | +Usage: xml ls |
3989 | +Lists current directory in XML format. |
3990 | + |
3991 | +XMLStarlet is a command line toolkit to query/edit/check/transform |
3992 | +XML documents (for more information see http://xmlstar.sourceforge.net/) |
3993 | +</pre><p>EXAMPLE</p><pre class="programlisting">xml ls |
3994 | +</pre><p>Output</p><pre class="programlisting"><xml> |
3995 | +<d p="rwxrwxrwx" a="20050107T050740Z" m="20050107T050740Z" s="0" n="old-resume"/> |
3996 | +<f p="rw-rw-rw-" a="20050107T045941Z" m="20050107T045941Z" s="12" n="resume.2old"/> |
3997 | +<f p="rw-rw-rw-" a="20050107T045924Z" m="20050107T045924Z" s="81" n="resume.xml"/> |
3998 | +</xml> |
3999 | +</pre></div></div><div class="chapter" title="Chapter 5. Common problems"><div class="titlepage"><div><div><h2 class="title"><a name="idm47940098331264"></a>Chapter 5. Common problems</h2></div></div></div><div class="sect1" title="1. Namespaces and default namespace"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098330320"></a>1. Namespaces and default namespace</h2></div></div></div><p>One of the commonly asked questions about XmlStarlet 'select' or |
4000 | + 'edit' options is: "Why nothing matched for my XPath expression which |
4001 | + seems right to me?". Common cause of these problems is not properly |
4002 | + defining a namespace for XPath. This chapter will show several examples |
4003 | + to illustrate these issues you might encounter.</p><p>For example the following XHTML document has a default namespace |
4004 | + declaration</p><pre class="programlisting"><html xmlns="http://www.w3.org/1999/xhtml"> |
4005 | +<head> |
4006 | +<title>Query Page</title> |
4007 | +<meta http-equiv="Content-Style-Type" content="text/css" /> |
4008 | +<meta http-equiv="Content-Script-Type" content="text/javascript" /> |
4009 | +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> |
4010 | +<meta name="robots" content="noindex,nofollow" /> |
4011 | +</head> |
4012 | +<body> |
4013 | +... |
4014 | +</body> |
4015 | +</html> |
4016 | +</pre><p>And the following (initially looking correct) query to print all |
4017 | + links</p><pre class="programlisting">xml sel -t -m "//a" -c . -n </pre><p>would return nothing. The issue with this query is that it is not |
4018 | + addressing element <a> in the right namespace. XPath requires all |
4019 | + namespaces used in XPath expression be defined. So for declared |
4020 | + namespace <html xmlns="http://www.w3.org/1999/xhtml"> in input |
4021 | + XML, you have to do same for XPath (or XSLT). There is another important |
4022 | + detail: namespace equivalency is determined not by namespace prefix, but |
4023 | + by URI. See query below, which would return expected result</p><pre class="programlisting">xml sel -N x="http://www.w3.org/1999/xhtml" -t -m "//x:a" -c . -n</pre><p>Example of deleting namespace declarations.</p><p>Delete namespace declarations and all elements from non default |
4024 | + namespace from the following XML document:</p><p>Input (file ns2.xml)</p><pre class="programlisting"><doc xmlns="http://www.a.com/xyz" xmlns:ns="http://www.c.com/xyz"> |
4025 | + <A>test</A> |
4026 | + <B> |
4027 | + <ns:C>xyz</ns:C> |
4028 | + </B> |
4029 | +</doc> |
4030 | +</pre><p>Command:</p><pre class="programlisting">xml ed -N N="http://www.c.com/xyz" -d '//N:*' ns2.xml | \ |
4031 | + sed -e 's/ xmlns.*=".*"//g'</pre><p>Output</p><pre class="programlisting"><doc> |
4032 | + <A>test</A> |
4033 | + <B/> |
4034 | +</doc> |
4035 | +</pre></div><div class="sect1" title="2. Special characters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098320880"></a>2. Special characters</h2></div></div></div><p>Sometimes issues appear with handling of special characters, where |
4036 | + 'special' means in XML sence as well as in 'shell' terms. Examples below |
4037 | + should clear at least some of the confusions.</p><p>You should not forget about the fact that your command lines are |
4038 | + executed by shell and shell does substitutions of its special characters |
4039 | + too. So for example, one may ask:</p><p>"Why does the following query return nothing?" |
4040 | + </p><pre class="programlisting">echo '<X name="foo">EEE</X>' | xml sel -t -m /X[@name='foo'] -v .</pre><p>The answer lies in the way shell substitues 'foo', which simply |
4041 | + becomes foo before the command is run. So the correct way to write that |
4042 | + would be</p><pre class="programlisting">echo '<X name="foo">EEE</X>' | xml sel -t -m "/X[@name='foo']" -v .</pre><p>Another example involves XML special characters. Question: How to |
4043 | + search for &apos; in text nodes?</p><p>The following should help</p><pre class="programlisting">xml sel -t -m "//line[contains(text(),&quot;'&quot;)]" -c . |
4044 | +</pre></div><div class="sect1" title="3. Sorting"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098315040"></a>3. Sorting</h2></div></div></div><p>Let's take a look at XSLT produced by the following 'xml sel' |
4045 | + command:</p><pre class="programlisting"># Query XML document and produce sorted text table |
4046 | +xml sel -T -t -m /xml/table/rec -s D:N:- "@id" \ |
4047 | + -v "concat(@id,'|',numField,'|',stringField)" -n xml/table.xml |
4048 | +</pre><pre class="programlisting"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
4049 | +<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> |
4050 | +<xsl:param name="inputFile">-</xsl:param> |
4051 | +<xsl:template match="/"> |
4052 | + <xsl:call-template name="t1"/> |
4053 | +</xsl:template> |
4054 | +<xsl:template name="t1"> |
4055 | + <xsl:for-each select="/xml/table/rec"> |
4056 | + <xsl:sort order="descending" data-type="number" |
4057 | + case-order="upper-first" select="@id"/> |
4058 | + <xsl:value-of select="concat(@id,'|',numField,'|',stringField)"/> |
4059 | + <xsl:value-of select="'&#10;'"/> |
4060 | + </xsl:for-each> |
4061 | +</xsl:template> |
4062 | +</xsl:stylesheet> |
4063 | +</pre><p>-s option of 'xml sel' command controls 'order', 'data-type', and |
4064 | + 'case-order' attributes of <xsl:sort/> element .</p></div><div class="sect1" title="4. Validation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm47940098310752"></a>4. Validation</h2></div></div></div><p>Many questions are asked about XSD (XML schema) validation. Well, |
4065 | + XmlStarlet relies on libxml2 which has incomplete support for XML |
4066 | + schemas. Untill it is done in libxml2 it will not be in |
4067 | + XmlStarlet.</p><p></p><p></p></div></div><div class="chapter" title="Chapter 6. Other XmlStarlet Resources"><div class="titlepage"><div><div><h2 class="title"><a name="idm47940098308416"></a>Chapter 6. Other XmlStarlet Resources</h2></div></div></div><p>Here are few articles on the Internet.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://www.freesoftwaremagazine.com/free_issues/issue_06/xml_starlet/" target="_top">XMLStarlet: |
4068 | + a Unix toolkit for XML</a></p></li><li class="listitem"><p><a class="link" href="http://www-128.ibm.com/developerworks/xml/library/x-starlet.html" target="_top">Start |
4069 | + working with XMLStarlet</a></p></li><li class="listitem"><p><a class="link" href="http://blogicblog.blogspot.com/2004/09/xmlstarlet-gentle-introduction-into.html" target="_top">XMLStarlet: |
4070 | + A gentle introduction into XSLT </a></p></li><li class="listitem"><p><a class="link" href="http://blogs.applibase.net/pramod/index.php/archives/command-line-xml-with-xmlstarlet%20" target="_top">Command |
4071 | + line XML with XMLStarlet </a></p></li><li class="listitem"><p><a class="link" href="http://www.pinkjuice.com/howto/vimxml/moresetup.xml#xmlstarlet" target="_top">Using |
4072 | + vi as XML editor</a></p></li></ul></div></div></div></body></html> |
4073 | |
4074 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.pdf' |
4075 | Binary files l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.pdf 1970-01-01 00:00:00 +0000 and l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.pdf 2013-09-25 00:33:17 +0000 differ |
4076 | === added file 'l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.ps' |
4077 | --- l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.ps 1970-01-01 00:00:00 +0000 |
4078 | +++ l10n_mx_facturae/depends_app/xmlstarlet_win/doc/xmlstarlet-ug.ps 2013-09-25 00:33:17 +0000 |
4079 | @@ -0,0 +1,5031 @@ |
4080 | +%!PS-Adobe-3.0 |
4081 | +%%BoundingBox: 0 0 612 792 |
4082 | +%%Creator: GPL Ghostscript 905 (ps2write) |
4083 | +%%LanguageLevel: 2 |
4084 | +%%CreationDate: D:20130309134726-05'00' |
4085 | +%%Pages: 31 |
4086 | +%%EndComments |
4087 | +%%BeginProlog |
4088 | +currentfile /ASCII85Decode filter /LZWDecode filter cvx exec |
4089 | +J.'GP1)YJ2:a-L/6rF=&5]f",9VMV4PfsINPg$$lJV;<[.@O%03.smQ('PQ#V^%=ggiP:i9P6m1 |
4090 | +&e,,#6QsIUEP1^W4j%>VfmLeP21i['0XteJ5'-rMBI73qYi]MqRS:_)[:!GtMG0%^!tgdCBfAL( |
4091 | +FIC*'*+_5Lbn>92]]a#cSAZ&>A@c2Y\jd2S!P$:g'tTf,7oM*o%:D37/I$S.]\mgscphMRIG413 |
4092 | +(Z=Q;")5F8)`Qr"=NfCOoQ)ibUD`CCLE1_#S2=*J!5rCj3Lri1"+f$rI5+n6R8\*imVK6JF'6bb |
4093 | +K6LhRl->%^S_n48hjF.$II@,f_rC4^-LP1_'P3RLc;\MOTYp+S)1DfDO=9f_O"?+02SP(nbd7C: |
4094 | +,PLpub<")6Npp03rriEO8hG\t/)iPl&$ta\\RQ9Wgl-k@=tkndE8\D75lag+XU?*o2[gpEb1/4_ |
4095 | +BZAX`K9TgZ#@RV(1FmBR-6\B/B\N?BO_@Vr7L=<GnOZVd5W0)A6u^^ICXf(>"T\V8$O%^;5Vik% |
4096 | +X'glQ&<tJ?WpTttQ@o@Eg;o3tUt"B_1Z71&/.QIn1Sq12j>*a1@^:p3EN%"o$GpU)'[TYQ@QTSU |
4097 | +nut<Y5Z5rcNg(['3%k@Njom:E._tDY%t$;S7b!,<%>?#Tir:g;o0>'j".6sSKF-Xc[#\]9nh?)( |
4098 | +b<?`oQ1][Td'K/fhp0>\N%g59D&*:Me&:ml/dmpA&6p`Qi7t=\`/p7D08%F*.t]<`1C`Sqqum6* |
4099 | +.&89uifotYZKZeY4C2)8?UnK4`+=N/GJKdp#f8![+pfH4NXuJ*Ga]t831^&l@9=Q2N(T7;fdk5j |
4100 | +-51q_)&sA#L#[RM0o^>`HCq,iX=brZJd@)WLJoepSnHaW;jH<eF=!=:H)jE7jYFDP1Tp!N3s[kW |
4101 | +DFK;=K<5)!N`iK$S;"QTeeWs#m/Jk"%?dLjD+JpB3(ERm2n>Z0*oX:*$]*2UAuY"YS;#osg,n13 |
4102 | +/AH&NLq_jibAl$W_pN5YY,J2/V";SV>dCW*9R7@6!'j@)`#%q8b!)^^R;Np&NjT&!QOJq%fVlK$ |
4103 | +>Y[%\ULON#p>)Z^_lsM"*47!.#jO;XJsc"'/m#dH47DEKK6,B<_P4$T#b0YioA.<Kb(m'WHoEg3 |
4104 | +OD5_0?TT\1"l\or4R1gbbfR8upWiGZIt3Vc![)2.iQsT:J7*;HQo'5!g`-EXJe3MN6jTJ''YCj: |
4105 | +AO;%HJ)T>c"+l-[6"i"Y"d)V#!jkZ&HlISi%<+8dHKt[-0g5WjWgVK")kHS)!C5'G5XOrXN]WY+ |
4106 | +"[VMqL\aUDH#3rY80J.;/eK-tbB^9R3^"=C;W:eY$)'Tq709G&So`6f"C`Z5_O)!Glqr%jL+:1s |
4107 | +?53O77Z!6g1r]7A'dBk[%H5\sL/L'&bLBjD;;O#>J;gEOpgoOAW[Z"c?4b<Mn<#IY4%S#X7L7B] |
4108 | +;ac;$a&rWnU9YD<kD20^o=!>GH05;1Zl#_CJoZd#'Q8QM]E7bf*.nNBQAs:4#8$S>60V:%meQ>e |
4109 | +d\=DdQmcW@)+4]Y:9jt($3emP(Bmai7?3;6Ls2Fb&X#'sADtrpEU#^m8Go?E!&'H)C-Vh&jC`"S |
4110 | +09T8.G6]=DfmuCAS<<M:K"sZ5UdXiIe&HG6.4,<95ne3:+>tO!,')\:F.:X_O:i\YdFMbGLJB^K |
4111 | +^KK/6kCetje-PbDH(YKm,kIS'j:G.q&l4Vi+JL[kO3WV:S"4VZ;oNWa!qh4Bb'NeE-]OTH14j2] |
4112 | +.[tbKp$=%$NA4\NgHDea,_n(R*#kUc%rJ6Z";"I5%3)?QTV*l:pgDUM6as'b<&(A6A/X>&Hp99W |
4113 | +]?l.4/lb:m2tFaH2(Ifpj_<n\.Jt'8$M_Eg&YlJ9]EMD9`,:SY`a!L!A01MO&REXt%KVa%fK/r\ |
4114 | +$^q6(V$=oQRgh7@m=gh'nqPg2O"qDBigZ&S[YHq*hUDFEZk'SB=RbouWgS":VHc'[?ka+PjL25^ |
4115 | +l<:#Fg_mqRoTs7Jk?6!$VHKW9QLa2&RG-@3CO<!8<RU$a>2BMcn31_*co>6QiYfq'J>KO=_;4G2 |
4116 | +)=A]GL%ZSPJ?"B8.JZ40<[aZ.i6IVj&QJrLW"<.JfL*`:'.W:&"CS-5@LJb@^u<$2W2X!0_nGSP |
4117 | +Qd*@_BQ,#+jr^u?pCRV;MB.>g**fK=mA1/W\gi<$;mib&"=14r!YLAABQ+mm:hgETXh9&n@&9fR |
4118 | +.YeDj6ndWFb(T9&)OHP-$:l3/#EYAk6blB1Fk,H'%*b&X^0/WjT.ZVbM3STp<m(Wl24'ILDr*3^ |
4119 | +:^ILdk=iFWo)<(AG(dXJKuiZBIK_%nb:M)nQ\41G6scRR8J7h89>[)C-=j37PsW&n69MbWKZd'0 |
4120 | +diFq$*dK=[]Hi6n5T37n<%\4#0:=<dP4c)Fe[iDnlVr;7e'>]]H71giNJ)YaM12g4be!*_g)N!> |
4121 | +C"O?cphCO5WHBcSe@:IT=(uV]p9(.E'9nSK`b6%gHnn'D*i`u=A#sgEd1715RdJk=\2S<<%@Y@# |
4122 | +CJBGg\#/BF=mbttKTMK%OAib(-kJKr_jiZ#GbM'd,;3.*_f\81bMeIE115tYNtF*p)RRtK,iTcM |
4123 | +H%FWo^CB/US=FQL'i@Q$p`E&06A#3Kh;PR_Kef1-Lmu3BLX";dU,j;C-uL\C3<JgsYL*\:7[0U* |
4124 | ++t&JiQI/%e/,VN7]FJG,$E4m*>/3$!?2Mrl-E$0c2$=!MKFuN?`!er90XF)0F(N9E?D[)eR8Bmp |
4125 | +_O#6qUqTafo>SQQC"^='Pfe\U"0h\E'^QZ$:NHRrb=\^;j`+6Yn:Dd2_k'4'\BhALmhl(VVi]%k |
4126 | +fJZ,,-f6R@aOlt6h.5_%r&Ycrg=hK?m?OThF]=+Tdt`NCJ;/KK_)"7p/%WKTfs>gm@RVA#`p5ar |
4127 | +2;`@I%HLUMQVai4K."kOIoG$G+)-@U[O3i+LM*6N%Xc#&AI6L=]`T7;JURn,%&)=A#$n;aC6C?N |
4128 | +T`9P^%%sC%i.SrK9[YTfs.G)QTX"lC'RR\no5DpmaDu_0@LM+)#(XEJ."$^+^B81LQ*<<)W(`!R |
4129 | +;E.#nlN##cU0`I&MZ0b6g7gLQJnD@9E6CrS%SXOZ%)f@8$mm+`2IbC^`S:XdG0[2C1i-d>.Y81M |
4130 | +Sn@04,@[IJY:9s^EjuB/37)h5bZ#ddq[%4g#OM[#5gp"#N6/6.6]dPYY^"EOm]>opQ8"sV@Y2U7 |
4131 | +R_aq&[Dq&ZY`B6mrsY"N#Kk>007sb=`srZJck(`SDUptkBYt2'&!&cfkCF"WG_m"N4qPN:nAGG0 |
4132 | +Ns>+3Zc;o^!eQ2c$P0/C&.#M#@#ekBOB:Eg$mI).,R3^OO@@*67O)fTl%!qh(riH4jU56PW_@4O |
4133 | +5Qq.dDs?'f&U9(h%L!2A.]7II!6goT5Y8aW)GF0h8i3FmhMA'jR*,gqll<=N7h\6H2Y#69;9Eq; |
4134 | +TaT6*.O[j@Nl2EI3[LH?-o"1$OEN$,N5=TYD=FiOWh-OND%8,`4p4-WdJjGf8Im4SPmh7.&gRW8 |
4135 | +-qkiU%DY^i@hBYHb*`SN5=-h[?r.%M;?bK+*!>t'Ol16!q%Vt*,)*u[aB^#&Td*GfYe]EHdQj9( |
4136 | +RRA>N;!M71b$kMSAL2A#UG?/NCHWeSHR?Vm-O%I:9]dmHGpb@q-j&WY;Mn5%RR@dO#'-*'nsi"/ |
4137 | +@^<tl*/]!@1),QS8j.lj"n!r@A8D`kO<Xb(>:C6iXu\c9-6icp%>2#7;/E3Xe.(Nl?.0K4+S#u7 |
4138 | +`:L;>NUluW?s3h33]V7'0XD5t@)FcV2_q5\8&O:B5hRrP+sR)p<+*q#-d][^0/<%p0-FF)./5h' |
4139 | +a"jt`,BFD"XK4Gf?mLq:On0GI^u[Ncjpa,%1:(aLo//B]E%7Sn2hJRro0YP]aZ))D,h!hlV;"!d |
4140 | +[6'SA0h]rD!/=V6g^#AJb@'Kmn-W.QpD(tn('\hC,nW:]g6#=liJ3A*8i](s>Wr_V.kqtS_Oe*W |
4141 | +FKV@R`bAXC_gj^5K"p?eDDGnEb\VVWE@NS=Db?ISX$""pUi-mC"lNVkmUW8jIgY96$S6=t@,T&3 |
4142 | +"GpNDM6UMs!/NjsY^Zd^Iq`G1A[`7F0Ha>:DNhOJ&MkIZFY36OHm&9kX!g/)@g2qsJ0h9l@g>;: |
4143 | +#g/3\8sHF#,NO<<1:I?I/mudR[&G\g)%'r1,&;/Fb?B8S4%^r@Tq[5<_Sg[U@1@;D7];hi.BOjI |
4144 | +>fgR@?rVIh`u\H'$Reo1?IYT><:*.rlsCFq54dD9PMJI"^cdn^a)^/lW%pgn[`Do`!2]-^<;f;E |
4145 | +:_.)AEG!]K.>A?Y_bg"G[M8(%+T#*30,%g[$:XAZ.E'5HX:5NJr="H'Oe4-O=RQC`%5.?TVYqa& |
4146 | +Ij=%U-'DOc;21ir[k3-W1U6s%A3a:P(hEhH!C44dBK6V/pJc/Qj9G3[2*W06j]#lgQ>(*jl_c4S |
4147 | +hb-WZ?W8SqX>*H7^c.1_L-e(le4<Wjq]-8$XWs-:[,.(BT3K/k>S\@j2AX-;)G8R'2teT8jKM&Z |
4148 | +HXY-6$O=9e$DU'#?V.O9LuR^J5b*mEn9kK.&#\=m8P0>EnER9!=Hq]26H*:YoPI.U\ZkL9+NAl8 |
4149 | +!m1.nDO,N(Y*?$]+>^HdCN:jECj0YPG?uV*b4SNli2&o-ChG0/;s]iOK#^D^@od-T8)Q[MFd#m! |
4150 | +o,/:Q1l7mC$G$\sP0pH#4r'PilGkE_W!4!=/M^a=2*GNf0QrC7%9C3"<@.kc(s:oE#GnkH2Lm,t |
4151 | +KU:30"kP(15eg"dHYSYA$-!is;.!<Gp&u6p4dR+00l^q2c9[cD([P1i,s*\n3HGLB6tpm^G)-GM |
4152 | +PXGsgSBf>dX9'kN>tJ's6koH52^6]qj[YWkD+1lh[Vu],F_TH:mqQl![UEc<nIit`HOTmZdUPl" |
4153 | +\U$SGa30@/2c3AZ`b8q[IEY2u'EndHPCC<u?"O3rG1N;4K"#:8G,F;,QS!DrjUqgda_Q<Mp[mjs |
4154 | +It+dBJ*1!RfHC^+'(Re'1j@#<7tH.L21Ltj/7V/7Uel6E7*5(VKU=5tEnWM"\NL/rAs`cTj8F1V |
4155 | +kQUYg4r*[,M=Dciq'3;H0N`W2<skiA&SlS)T2YP>bpZoa*2na`W&BI^JEL6J/S`n0CfLC@'f.Pq |
4156 | +W./s?<'i0BYR7.LEu8_+*)``TOLB$TGdVND8f2,@Jh`3/:'`*BYA@:$d6if2]JHRgMaJD*euiGk |
4157 | +gDG14Z4SmPo%\UHoM<"F7QBl^-)B!8:0UBWC_ub8@#!<s,nF*hKldWTa\"*n^j$WOL@r-?phC7` |
4158 | +?$t,YM?;ZPF]!Tq;14GIP@-\Af&'K7I8MIRo5V'#2XkD<VDq-W5:E2c/NO=gR1m`POE`("m".c^ |
4159 | +gimu]Xoi='Qh`*K^OE[>LI0pB;)CoLd1s2TK3:QoOeF7,6YmUQ<EXU271]p1%Ri;;P3fmlH$c/+ |
4160 | +L^pPZR[C^-3WG`tCS5t\6\gXIQkE?$2Y.=u`bXI>%nc12[pfYI5dlM.Guh4S3!KpiS"oqOMoIN- |
4161 | +[?k>GTNVW%3JA9s'M<,cI(E4*0mY/>fRJ&<&fPS7g2K^G_?ZG:Djl=a^pjj)dAO#DZ*E,F\itie |
4162 | +SRIcMKfWq4K9'8,$Y1W"$_gP="TXrW1RXZ,dY6cZH)$g=-M3?Ok#r:<7Id'3nY(89I08/s#8qr" |
4163 | +@[Yo<TX<5JYO6Y2%b4s=#lsGui.<)%OpNO:XREZJ!.kFUCU"fm#s0H$qTq!jQjZ0^"oC1bq_>A> |
4164 | +O9iYSSPJC=gHu%-H3oH#Pdt)-,:Wt,L'YmB#[igU!0#,@@+$0P$A&Gj]6==[AhXfE!tha^!.q6V |
4165 | +Bs4;j5$Hj1>EWlVft!,:6+ZT;9*g7Ad\%N/FG5Kl`T9K:C2VW^PG"hW@-P7ks%$mQFLX!:2X;s< |
4166 | +r=f=ks&l!>T]AlF]Vle,Bf3D)H&eQ&Li8LrL"%/tebH@*-,+/CW`ZI;j5ms7V6A50]p>^])remA |
4167 | +4+la@^7,Y@47U'igUm@[NTu-9AG[Km:b*-96ao&dHaR:p"+;"?D>ZDSFu6V>B5m%/'3([C<11;\ |
4168 | +SPi"cMhIIH]&fd"l(PW;=*W=KV9tVh^8nl2\pPm9\bE]0'-@3]GiD]W>a:M;adoqD>du]7=[o^l |
4169 | +AX0A%Sf)%(Gb(.q:R:-5b#MHb_i:?moaNp6G.@U=2W:#?$Z3G1;n5S)06668`70gqW'(UomrmK' |
4170 | +9X.^!aumd2J=`eenifD41iIuF\W*]%_KL^ZT/i1<R@UV:e%f."YoKeJr3*]3F'TRK)-.p3G[?g. |
4171 | +PunW]%:E#tW;(+(<:=F0gr=(;."GUUNHeoAeD3_dVRAJ7S.4,7*&s61-'"D3P*uW.aB\.ASF`n/ |
4172 | +oQHb30"il?3T&(!ioN1'OD:eX1fV7kLe.p6hl'odi16NoO:DHJSNJQIi"a'n`3b0:F[\3E7lI,t |
4173 | +;H$cjM7oP*>jNjse:(rGiV)A(;Blm_ha7,Pi&j.t$m-O2!?SmNP15b;rS?.nM@@/2hCIn\%k#QT |
4174 | +pBn?j[#Kp:Oh8Uim@tsA1VE8%)18>:cc7RYkEKQ$]trnMo?"A0I_"pk5+%_gL]u<Y%Fm3[F5uD0 |
4175 | +_8"_9[ANSf'@g"[Xq"CjahA_;J<15uh@4S+EVECu5aZ+4@P7%/in@jL<f'Ns*N#[A^9jl-TZ_[k |
4176 | +-8]n&n5LK>*6_oB%:iu1n'^[nI3%,<S5l0Q7`[?S$N'-s'cSCN:njYRj,R'Po&AO-n6PGhN$IuO |
4177 | +^[bPAn3C\tg\]aFF%VJD\H[afr]IB>:^k3I>SfD`V\8VdH3=5WWFj8ATX^CjgIk(RK'-AB!4W1T |
4178 | +>B6^(;?[a<!4tK/WVNaJq>Te5EJ)<hXBu@aDI5jZo[R\I>u4N?oAK/0"Zi7iWU2n#6_M:L6@)/& |
4179 | +MfrVj"[)c,#D%.;hJP@dN@)Ol;"AQ\L^`EETY+TB3?4%A+T[hsAMJdtVSd\li!P%O:6Dm!N6i\, |
4180 | +*DVb"&Z"2m&/bnRBebogF#k;"VA!VkpG/13V\>bLidj.b`<l`70hB#H,*7\XH75MU3>@Nb_YT6e |
4181 | +W`:C1.J>6R8qT)`$d%NU<-[YD1R_ss,KrJ"+<K/GVO?!>FZ_D\N+V[_(dKbd)iV.&BnYP_'G4ng |
4182 | +;jkkXG))Io-US/k$QG]T9P1O6KKsW96h&es2Rd!8RN3Tm$3l=MBnD7s0hAZ\2&qZJ0N`t/??gQJ |
4183 | +6=Jmd5a4l0-]tnb1T?6D$6i!"o77-/fsj$DN5ic7bgGK,iZVGl+f*,"e*:Vq=hNlkCcRL8@ltr! |
4184 | +M2:j\%\nW53$a%T@bW6.i`)3p+s>_i%IJ1L1STs&!<FKA4;O*@UG=SYNItUR&O.a4p_Sg$PRo5O |
4185 | +.#=r]N2*t?YcMT6XK3p;:f/&>Od'N7`mMRe0asg<^>p_/G_df)@ecQ:#bhT\a289UN]@LmJC+-" |
4186 | +D;`PQM'HufhSeDh69,K"_YB@UBTjd8c4YFs-B,-q_BBB[MB\;'j*8G17:D]-S5(Vcc4Ei&4<m>' |
4187 | +ZM<38NK">'7"qjc0ba`mS$to(T`mP:6:l#\0i\3Per)_1W*U8H!kd5I0(cFt23#LumPds>!61b[ |
4188 | +PVQL,,RPs>jerG=i?K]PZfs8HFfQrr%X$<I?W[dqKEYJB4cV_)XED\*al=f&3aEP#hdng6D4WN: |
4189 | +,94rGU*>uQ4X'M&_.+ath)bU9oi4M5;s<4D:fLOfcimjc*@!Q%\:l(3@W'o;+l;62o6m_qii9&[ |
4190 | +.bod8fBIC::gZb<kVn.q96Aq<R$&j=TVGujDM8s_AB$mpK)IgM=8jG&kgW^")$C@=i&nPOJESeb |
4191 | +6PN;c`:KfjM/$OLX&ID*4B$IWK;G)og(oii"9])HNK57Uh0M"/pu^Ho2/*e`&R8^Db/.FC=tmpm |
4192 | +_]>MK;,E;VrG\N(2E9[[>$JsbS2Mspnp4pW16*qiCB["ng5Df5P5=l+Vo['<*X@s"ft-:9BRCn; |
4193 | +>:nr_4lbjE1N3kQ>WGgjSjP>/6VL6"MJ.W;ga1'm'fp)5Uea+jOMs#9%Xf+[OtU<+;B'ThO2$Mq |
4194 | +#tlD8_;?)Fn,s"tBqtW6+5/E`<T7N&%,/a@_0;24dJU/defMo*6TLrFl`pTCaH?:&$;XZcW92;A |
4195 | +6"?H4`jhTsa9nEi6>A%5!9Acr*(CSlI0:(sUT$"tr7&<G!Do2[^4qZd(b86C@Ft`?\&S334>S>H |
4196 | +FN:2m'adpGQo>QJM@b=&!PhYgBe[('_cPXA6+cH;Yhe\'kK$M&CI:CI!DitW:B$+"+B5R)pR(07 |
4197 | +UCq%#Ki&I;5K<L!i64eC&1&DR7"Q!%W<OQfBp=_s3hBei&Vj(-*^s39pg79]1U.*U_RPLD8/c6" |
4198 | +;BufE=J$,"[$XTC<Md(S\/cdBOc,2'0*aJP6BfTB?*F>'Zp[t,UkGpn$Q_?p8FDQP&hsk)E?kd0 |
4199 | +2GI(hKLL[_V(oc?8e,NU#_@XaL=-EhV7Jg#Ep1^ZiaEq+7*6Y$11s;]gj$o`4bH/"*&Mn&:8G3* |
4200 | +"nO')#D,jl$$e7=$(No.eG/Q.`7GE4:ca^6joVHZ8IfQWIo$B>4_JcESdEJq,W(C<;7s\KZP93u |
4201 | +@L,8[k[g0g5%q`gEA^ADr0o73N0&+S7qVta,>?*t\9GtSBG(RroP!G"_Ao)?Zf?sbe/+Fi%8"Ef |
4202 | +(^sit<%XEs[g;9USk(Vo\&0P(5t*/rC6Z/hC08\-3f@X)i&:^X;Aqo9E$80>4qh>p7#h;b,4ghm |
4203 | +^U[Q*i)Fs$A>5(3UInsl)9G<UoU2>O024g-hj"M\3&9FR?3>;t/Q@H.U`)f,_$)3jJW@WMM\T9, |
4204 | +F#0k17[ZjB[pY<^b?h?[J>2YD*=-EX0=.e%fIAgT%>0dgO4q@CdZbJ6EFT9[TeI?&B.9<Q$<QB# |
4205 | +:a^E_iBs0P"TXJqVaDk*$7h_oTV*-S?q(MiBIU9e`5a^B"Du5aG'[%h7,@tkG_;:B<:YTiR"_:A |
4206 | +-^2dZ&M<[_\LheBkq-Uc(@]Aff(>2$m[eX&p&M/cCOfFfHZkh>ht,*DmVU8u+j#F&>Gt/X<3%9; |
4207 | +*#&Rl@>-=j/SLD,T]0bG@dug5Q4&S[0"UsXjtS3k<[]u>Z:r:G-$#>+0^o9gd_<i.UOjipR8Blm |
4208 | +IB#Wg0<959:un@)OMYI<&Ss&W\%krU2%,gq.#QN`fV(tu?#ZLqYa8hgH'Sj:"U@.P:OmR0aEVo' |
4209 | +7($>&%(S;_!-]QnJL+,!b+CFGY!nR_PZ_3C7WI7DR[-&M(;gfI).l7+9`3.<@+/Q*c@_LJertdH |
4210 | +KUIC<EQOEaV7q>`VtCCl;j!=Z&PI7b/bM,.[adLZm6+a8J0<@$cIa-@a03Q\16md$-*-s5WSo%Q |
4211 | +,)B5,Tq&/41:rhsOWRjLl+TH(q&[a0(^4M:m?s'q9[,G(Vj4hgIdA\TYnN7fa_#E0REI]%%\53) |
4212 | +4g#ZEjtCooha7rl(<CL\6.,eK8Rs&IV+F6D5PC:h=0cs365-7*[%CjXU-)V%M,LgfK3Djp5gt:6 |
4213 | +'2G$oq3)\o<QfZ(RKe+=:Psm%;hK:gXc2DM`k8?0ac,25.gm5iG^Al%/*/5tMZWC.7$Bp771&R- |
4214 | +nVR-MDPi)4r8HmSg1b+T^54H<NGWKk9u_?Z'"B2bJnBU^7?c`IU`)/&,'&4-MqL?JrM6)"CGsMn |
4215 | +>r(\9;^lPe*L3qJ26^7/FqL7XX]s(\bdj?dGAPm9@hscA<WtC9[Q74,#]6LD\=te['p[e84JYOP |
4216 | +13X;`9<'3j,g?%Jpp>5H6C:^Z8RNm1Y]pM'D(kSr&n3!HJD,X+06+S3e&CcanHgtdp&N$p-t7&a |
4217 | +IR[e_E@d;'D7X0T<aT9B-@,QQ_lm#O43ScmqYgKg$3<\G,fU5]H:o>b]q;\<52;?M4hM1$GMiW) |
4218 | +qqXKchEIZC);s/"GhJ"uc+Qq4K,>C+i&<mtrOqFU[f^V,@_&>ae%eVdMfX)(d@cEn4Fr.X/O8_Q |
4219 | +8FR-$nddIr$"/Vl#WN*/RZ?V'.Pdp(],@UC`K'af.nDE\aIt.n0,"@@!uWj.aYT,P21o9d#iI`W |
4220 | +BfhOeZ9'lg*\8U(A1&%84@1IG\gY$S3T:W5-)ZDHPCtLi===8todS@OT&@>8E&s@O31e:e3O",s |
4221 | +Yu?MUJ"<As!<G8K_:H2sk`n2ZVBK>$,$Qm6PsY*g_[IlUF>=::eAFC*_caU5F6GKcMEJMp]gL)S |
4222 | +18TM!W/X\,ZR[nl8B$4TQUM2"U%l_<TZ\Zqd2ubdM+H'IGl*Is0S;/=%2bU$gU4g^Tb[uONVMFf |
4223 | +Wj[p=:So6hO,,eb9NOB5WPhBe`*=f\F=b@`1IFM0*'3g0!='Gke&5386tA$l\C:Uc/il+/`uJj2 |
4224 | +HnrX)D3b:oLnl/W#r.VpEC0kP_t3E:0bM7-^o@+;WY2$U0dW+&)D,1V+;>2C)b7sdPU[XVK:!H, |
4225 | +O;PK[Z@Qu4)X'$[ps:GY2ZhVM1<:8`5`p\'M`aom5bhO3)LJC(9W-m&`5!V9%%0K"KIsMJ4Kp0R |
4226 | +Y_kuY)hO_C-i2LU$9LC%LT1c=a=N4k(ko(sN$k]d$*9.Xo5)MWOh;s'"+6=>6Z&ae`Q;S>X6b?I |
4227 | +i55jT(C;3>4Btht."a\h)N8aqW4]KiKXJ-#[Y[B0a>fUp0Zes_]VFs8!N6n;KXj`0R`e'pLp5`l |
4228 | +-n0to!f8[CWu/t]/;Yb=Lb&fSLq#.,db6+[#7u"%SLdnr.$hmKN/Dj*PDm_JE%;M]J'A\Q$f':% |
4229 | +]"inp36ePS'j?NQ/DNZrntd97VB?]"GkD.fV9L"*JHXkr!fP>\fRX1h:.%,GI*)d!bK^^s%SYsl |
4230 | +gu$&S1't>PRTe1br9p"Xh@JP+M&;E$m,et?n4sbN""=IC)%qumm\mB,-^Zrt\>$3:/-0E(&lCLs |
4231 | +@)3.AJ=)#bSSIJA(c)Vhq33o%Z&6=mfU)c>)1e%PU:@n$iU;Vjq\'ZL/Zer&Zk]e&e^"[/0#\(B |
4232 | +H4!Lnld*qS!H\d1&2=GeU:%hF`3B2.]YKg/i5Jr`[;5+_K(6&V&5j[&\^:OE;=d'/++lPi)D&0c |
4233 | +fb[MY[Y^F?K+/d&!\[4F.%asG!*(Qa2&di=^-eS<';.?$EA)rYC]^gf["1n$&\EU.V1Z!1M?ILC |
4234 | +$F)`&Od]EO;9?5p!ot&<*!kL\4o+d#1(=q?0[bYBROPHuEDtA-58@"V0^57Z-o+^\14nm,JH\28 |
4235 | +jZ88<a\e0!MeFRATHb&u]$%cC%WoAq,<s77(Y*9#2;Hc?:b#B$mfQ+?<RZ>WCAu_R8Q9u0X:7uU |
4236 | +2.A#>p=9*oO;NsK)*q+K#+kTJ_g:@o<FhlpU/khX*@0atCsoNCClP_K=!52T]kLLQN=9rF01u9u |
4237 | +?kc$p0nV.oSCjQfLan!I,(cL?V%==B)>UW1HASb;b&Z/p<9h&.qMk#<1,RtkFLG2BK3'ia^*#?f |
4238 | +?o3K][hG,cZ2u`"3W=tXl]#ah%+TF%1u6Y(P1MPp*rR<;#o)']*eU`AS8'Y'[<<BE9/Wse1f[N. |
4239 | +o\"lMLeo+-d)jkm;&J"qmXs^>9O)2^PfLdYpW*qUf6WHX'pa\nF"g.N`4^-m&37&0UE(qR!<oA6 |
4240 | +,n,<&cHep%N,e:?>qjiUPTOUq<r%t7BTh,.kZZ?&<U'L`l[C$]oNQ8P;@UE;%98]G_HXmWR"\=6 |
4241 | +ePHPTqiNlQK'J9;4UNdVP<)5q!b;Ie%&1%Q#?sm`gC[<u<OLX^cPTUNf9&'I0b]+'f9A.@_hoSb |
4242 | +j;KVFn]QbL".^9[IF9>DL>4(D+1%rs9qdV2cb[<B!cU2QCmp/n1bN(`=])3DSZgj_mG321hXQD- |
4243 | +Qk3>ePH^&$bP4&&fV6d$hqaL%?UYTa2<nMQS<FEWM/COj`8TQi_qofA&Ud#uTJt^e0W(-='1&GL |
4244 | +-3@.k-d[/%`E_9J%G![&%:FuJ@%Fm3#R+U)L6-P,!*0LCrXE8sVqbS]:Nco13Iofje)>#:iK4Dm |
4245 | +>/9)F1Z:=-iPllE9Td&@JPT:5@3n;"krE+R(#JX&'93mC`YdMa"qZe@PpN^JFrk%W*TA\&@J(=n |
4246 | +3fDj9WT%(%:*'DbjoO9QX,XnM?pPf?^$FS,.T'2h?8^0WFi%9MmTKM>=a_FKJ_&^9oNe[Z!C2bl |
4247 | +"nu<iZX`m<?<tFQES[I/!@%*b#]LU.N_,4ah@+QI?oA-@H+j]-/Ys>=ADRFE/^+e]'G4A9+6Fj' |
4248 | +<N+W>92&ot9SQ>9.&C2\.u;8(OObB`em+0:*#Cd(K/E=7*ZSXJ-jbe5f;\!8IU@_0+Tog@.Q1_t |
4249 | +.@c#KA"#LA$0?7[%V&I%A,umQe:)Aq[.S"<d"n!#OOe+-RV?DJc!WE=ga6[r#fgS.3TlL4h6(?% |
4250 | +9B9^Ej&6:]!*4EqSpY1u@ci,e!="1/ICQKRH='^&/foNX9hFOiK%<c=@VmFR?AStHKk?U9Bb"k@ |
4251 | +As$`OLM,:lir4$\5`'(oHmY/4>TD(Nk)rkZ:gN3gA_(0e3BZQ>B5'qHLkqeiSSk4n0/'K'C"USk |
4252 | +As9@"5p,Ni;N;8@Y)K.Fa(bg-B`=&j5)G+KTE&#fC=Q$nAmL]$?L'MIB6LH2ZU.uY)lk,>Af>Aq |
4253 | +Xn$2)V(<`MB!=D[-1>,JV:O<ug%rMMeF)K._hq8;*Bhg+/d`20-UMDolq!=V=J'E#l"7YGRSM"; |
4254 | +G$S\h9Gp8QX:D@KTVCOajm7kL@[loS[`5'FoL%OjbQUS0koFV+^$U!o$guheG-^@]C[$ks?M<?K |
4255 | +/o^%5:TZh?bjKH<=?Pb!0!V#'!=%DU#&q"_lAZh$,ED-R%b5E@0]reYmf"[(-7BcrEs^FhDR#ts |
4256 | +Fo:+<nn%N#Bo[1peo9r^dTpDAJ6)SC?M]rdl\k/8(B"tb)$CoHJo(BWlH]4jI@@B([]hj?CC[af |
4257 | +7\=G+P]1$Qk[+RdQO(17WUR_oE7S]AG)5GT6>-5FC-(FIfEH/3&8l[OdRg[N[RNFR1='SL\chrs |
4258 | +JJV"ic"G*I7>:r&/QgZ=ONZC!/7(GKp-$_eVn&A8A+Q,'(`;%&$mDH6m@>rY`?<8@BF1o`+#!ji |
4259 | +)CQS;3/P*u<ok`\GfU!#0]6pN"!oYYJD4[/)=r81N-@;2%hFdt4EK%Eh.JqD*fB?F5'.NN(l(H/ |
4260 | +<RsRJa%s$1F0h;,<H(d+!+^En>@0&p$rumF0Cn3rf_Q\,#tJeH\Ot!m:gZ)I,t%9D*-7.QA4!&3 |
4261 | +X0Q_FFA:NK4sek=i1-`i7\fXnFLM[<+?";;8b;ck&9hS_7mltVP[.^LoM8T=T13ug0(_A!=qpl, |
4262 | +V`UBX1lL7'g)!GXL&gr9-JomBoKGHLQZZ&/o(B[:o#7JK1+]+G5j.Il!C<^NmR*+Bd:!+,n)0%@ |
4263 | +FmL_e1e`Ha@qU!r:O%_P.I3'VCSs6nXs\>-+G.,G'1lQ(SPVT="=GXi*LIcHTI#4)#<U4BAR7ng |
4264 | +S\oQsgii)2Bl$KGQnp)V=A)^@<N,cE]Y:SOpg&3rjK1f1\]6b$pn-sJqAr9]?_ag5+?fDAj\=oa |
4265 | +R2#Kl>_8golP5]9V6ArL4a1IS<otMQ^S#dq4QR=W;;Nq2_6Dkl4*Z3<qIcQ!FqO3^mZh?aqV!TI |
4266 | +[3af;XPu+S:`GVhbu*Nq^L^))Z@5XISk=<E>$^;]giF6V@i0NtSY:p=Hep@&&&dfTa*\@KSSF)\ |
4267 | +,2,iS\!Vrh'd6Kf<=/C`<"V\:f4DMhj_<HC!S\-%>^!,^8.\tfYBEesEkUlH;PSD5J@u'E:P0P] |
4268 | +&'#>BaCN)\nrcm7s5c81RI<qJIXe(kJ"pEol53UgE'NIXs6Y35&cI86qPX!kel<#0RF8=97+0`h |
4269 | +V8^&_$]<j</RSBT]Sm*r`*a]C)GFd0!Jnm21n0%_nhIf4F=.o"VGR?35n,Re:D!ks;Cr_AR:-]V |
4270 | +1d3,t.NV=sJY:-kAX(7[ACCk3jCp^lj%q]Tr'2qgasBpu&I@6<N5j,if_hi88Yq4gZ?`)kaE9I: |
4271 | +NeJ],bhdJ&)!$ipeSnh`2]0g/;fS<mCH!3Xk2Y5Z?;MgXX9KO+aBhXs*=OXVA\-i@X,&"?;]J"8 |
4272 | +Dhd:(#M[A9hJa#FNi'^%./IX6),5lB/3`hual;j2K,LCr2'JCs-R,)H.WZ.pUQOM`me_LLMrt;N |
4273 | +.8["Og[8]u*Tf:%A(ecFAn[e-I8Ad@N'*,?Q7^$1S@/.m<tgff"V_G9q_?=Xas'SS+Kdk_Y]MnV |
4274 | +X".B-at=h>E\OK[\B*7,Y,_35V294HJZ-I)a>j[-RL4\Pb'N^1MF.)o,)ARaNkC&Vb$(./0\FG\ |
4275 | +LTM4\d0rS,(aGin8DH50blGmA.R6o&XfJ.CE?,HBjF!&uM">)dY,f.:]ZH.s1cR<i$FgWUaPb:( |
4276 | +TT[B.VS2?uochFdA9t46P6s0%NI_)f3f]>T9%10mlt303MZDHiNl*?BMPBQ[BV%a)#^[RPl]B+J |
4277 | +2i5oHe>OMjC:q/nK3ot*mKet9MPGc0o/^^OhE!GDgpJB7%=$>^ZtW)./rig0:_e[96Z1Q+m,Y3. |
4278 | +=4Ct*4@Y2^?J;[e>^eiW6$uS:Nf*Eh19Vp<DDd+U!lVAq_#RCf\)Y8#&.PD9F:^@Zpd&LY(4]X( |
4279 | +\1]Ai;%F1+?PusarJWIjE)P^=83m7?FcFKa!ghUr_RjE[aYX":6">&5"^6PDX_]P(.PYh?b([`Q |
4280 | +gp]=!FX?g!"M%gIGia1_m#C=scQa\P_D'2%!la'?<VX*WMmDiZZ^+p<i86KMC<F%GYh;6sR9k;l |
4281 | +65'.+gQ"W,o7E_>.-"!\!I3NVhbig<WbTb$Z8[eDgu-H"qJNANi+TjFX=lRY>qN&F[Bkg/G$'DO |
4282 | +[2K<XS]V6s=&N#=Hj^%::elpthRfR"]*t1K0!bRVRN<Y0N@ZWhX=b"d\F>NKUt@S,r6Vs6NL%FD |
4283 | +KF;bXf5h3>0na8o)B(X[D_C$/oWi=[bQ1WQ@Fn7&7='qI"!m*Z2%::3,IBWC@orKN:E]b]F+iZ; |
4284 | +cJ.2q`f/l+&i)`k%Wa3HS>ETOGlIH0@8BoNAHrO@13PCe[SkU*N?OG7LGqJ^h%9p7J1-C/pTe@o |
4285 | +Qnel=fRaZFk-pB0*suH+_R/to'a'V]@84lI!sh<K_2Ie?+OQ1=!1Fg%Od1FC!NijK#]uE$e1RmD |
4286 | +(b=N[$;-+g%S5gG(arq@+eb!:`TA/D=<S1'F%ph<R&7R+;An:n9b),N902Z&l\`<@M@`WY4KoM/ |
4287 | +iT"*MC!D.2o/p\%Mcp;B\f6fgg4=l"H%HEO&151XS!q\2Npp'TLM)AXSVq2QDMB?i30;f4>*)MA |
4288 | +OmAeJhXH]0L60cM[E2LKSR78[!E*W28cq'HhFqKQB,UUYA=!uURg;"#YW9S`rp&D]7!*Cu90i7r |
4289 | +6,6Bb3"Mi6[+Ns!fR\<mO`!:Nf_-9EA<TJ9"mDgT8D9_1J<]NXh*7j_1R3WTHgf(D/3o`)66TJb |
4290 | +,tOOFU6q(\H%;(+MJ]AMVNltdgE<3D50m?)4m1%#+D.9-)\[*0jd9]^;uDg`_AX;*,VYnQ%<3cT |
4291 | +9H3*[KQY,RKeWSl74,%%+EV(HdBF>'$^9>@Od_A/W[J_%?uIn3Ft0G`hJsF=o0;2-0W4UqqbNSt |
4292 | +5ca*3KsQAdNtK>;iNP(9[P2V?#^`L_%\fOn#?!$KnVlU>@D-<g;p4i20L6-TTlB4("&Y.'$>^lK |
4293 | +&j9CMAQ:99S1`@0aC)#28LuJp\#'^?Rq?,JGk6JLQ5VZ8X)N+ca1O=ZnCLU!'jWL.9"NYWcI=7g |
4294 | +S$BBHWRkbR<NFYtRBL^l=_`e'lMY-8Fcs(#Fc0FU`GA]N9$YYm4rjai$!u]B+U:im;BcI'ZKQiO |
4295 | +,",.CD:iBT.r[HfnkNA>GWd6:Z.VKE_?t0R\Q@*nKb2*@qHhr_Y#bW9U/m_@f;r^Cl+R]T;hI'I |
4296 | +Uu`$01#YM6gjCDNZ'MO&"&":qb%hVq,&9J=fN[eF=]g#MFQ/imH?^/RnV1CNb-*@#9j#:JAOBIl |
4297 | +elq!=C]O]d[T3,`1iV_!V^Q@rM"L2!B*u'u(hKq[*&lN?*#d&@,/f5*'8B1Y)d-HM2%L&ec9c5m |
4298 | +-M-cKVPO[5b5ee"WYg=[clN;->`^#Z4TkcW*ig(#oRKad#Jg3cjKnlM6`'cWCa%]IFL$hY"6+-V |
4299 | +U@Lq9UlH)RA<"X>1l#O\e_;Te03ODGhj*D3El=?cakg^"*5kQ<Qt&\GQ>AdPpI@dH=cX6Q6*9qf |
4300 | +B<_N@d5$-XBX/]-'DOjBiCoFM+G(V$``/RAE=UM,8VF;/Vo#m?$kYPPC93]W.RsUc#5d$k)E&P; |
4301 | +m3FHoZ_nVCZGd7\+(+AD`NhC$2.smT!Q^e[-)[5JQ-`hGY[\Uj92a$+X_(MJa?7r*^`[I@\0cmb |
4302 | +c(1=^gK1NI^F05uGIB8T:[/(FW'n'm2I53.2h_n[/!4k@L0%I1:oKNparJ;:3t<#8-Srd*DtlK4 |
4303 | +bIf5Z=F`XR;USkr]Mj_j2;<BgNt<`#:PnU<e&C'"^t;8G@M]f@Z.`,MgCXqn?sT.b2%LWnf7T+c |
4304 | +NYT\3QS^hEf\RE@6,K.ha:+T@?Q9br*>:6W9dtF#k]YS/Oh*PHrHsI_8NDqS2V3@0L*OKiGlm?) |
4305 | +&<5:^<^#%U@*C)1mg#ND^JZ#HAQ)9D%\X9L7o'8dZV?e)IUEqOkp\1hF7>7VCs-lCV4amMK+3hM |
4306 | +_:+RrjtCb+;kTYEZC#,m**lq>dGJ[Fl.l5*lL(pK-YE0($s@=""ou4H&Zma+FDd01nuk@UD`W$d |
4307 | +cP\A6a+tJpe*=$,XXtU/2u>7m<'HYJ-_B5I-(eQdrSP:8YEMI'O,r"ja**pBVJUTI?-@SaI5Muo |
4308 | +0)0J:&V<YK`+"[.@&a[OdLIQIs.DXWij'j;(<jdeO%>^C&*/Yf>$&\/g^cYYKpk[`5k$E&Aqh:P |
4309 | +9ro[3MN,m],3cO_V3\h_hO@.he;]X]NL!^VUgZ[.IHL=696`A9KXd+c2WqT0"LA;M_!`t/1QWZ] |
4310 | +U\o#HBI#&X"HQ1YBX\$sMRr%SD*gAeMomVJ/qZtU64_*<YdX/m\lmsGs0-2Fn$<Bg]*jV:@?A\d |
4311 | +U-`"WA:t-O@V)YA:>j@:DIY=@o?G-T`_^5A_POA$aR4cc%Of`op7Ms8e4la,NCq^f;[KTc"mo"( |
4312 | +;(*W*<oAt>&`?oV!mhHsU6)CD!CIcfaYK),:^k<BOm^etWPUmX>RdDG8.eC8^t<Vh0OCZ/A`O^E |
4313 | +JATjA7\[c%(N.tDX[<odL]u$)UN#Wl%)3Q'(b4J/"s@`?0M!pkE43[ZfRV0h&<Mm,PRN:S0rW&' |
4314 | +iiWc2XtMN1)WELV^d\P76m,n,h=7Zi;<\Z@0cFV[)PC[H;6lT%gk$-p7WH'tOhsdaqO'j>N:F!$ |
4315 | +&^_J+ruFu<+@uq];;WM8=q5Pe+\as?Z-+<\h]b^2+lL@DJDaHsW'?!S>,i'm_g7Y9Y'2,5cTp+n |
4316 | +Cp[qjfR_*dCSngn`_pQ6@[EtS%UbA)@(m+YoU/.)..WWPOgtGpZ6iHT"nGIu1/nHC^(,\3FXYKa |
4317 | +@lT/TXXb$k$g^Rj,b$>-5_9Vq&MfIu"iN4\cR,=H-K&5Zi0M*T:+I`5;J7%JTG9+8p7eD':%ASe |
4318 | +@QcFt>8KsAFN%RLnoQq.OY#QH/.`Lg1>8'mo.Dg-jDi<C;T]Er[k"bum`;O>;Wu_1lq$^p$fK;: |
4319 | ++G2H/CG\qt%-sPr!72,:>:kA?#,#R`F*SXeC('3b#k.V-F,3DoPrDEn";/0eniJ!B?R7Kt$fb_J |
4320 | +i86?\A0iM0LZ%Bu,!.iKZT?R>V4^(J'14gd[li-I432q(k,on9j:<`g`*s<%d<#C[kV"]_%H,G= |
4321 | +aoEZ$P!HlV$1n6`8B!TQZ@,Zd4<cL;$'d3npEWW]1_QE='4e_L9d1*gMLtDKlq/t\[lm[32UcY) |
4322 | +;g<Y1R0<b!=)A@!0#S9pN?8Eo.C&D.'9bS#Y;r9)2KK$N"*m1RSMQFq/lN9JOfpXks$/#O/OHd2 |
4323 | +'4WWP^IaXn.J/THP?0+'4\6c4"nUV6'B;UEs!kCe"mX&jPO.Zcm5#BnN:GLme3Z"A7nnS5?g&X_ |
4324 | +a8QEF$4O9P8ZVGSi_ijarBUYp$kfa6F5&ftbrZT/=HnS2`$?iU>r\%,s/8L11i+C9E"(6=7+?KJ |
4325 | +Pj/9L.7\M3#`#'hbm]fTH;\g@2WA"215-Mt&rND@2$[tue58/IA;nU@Qu(Y]2.9QuVRe%A+DUoR |
4326 | +K/Z7k4]jL]=E9.d!#,Wljs7a[2)Rd=_b^d2kV1Ia:DCB$TOJ+ic7.eQ>-h,sj#^IEapsU#-KD*Q |
4327 | +8An"B(LAi>0*;Um8cg`t\sZ+Z??N_77s-\BhC-qS?D,@CkPc^2FQA_5?`='6ecR8;N]OTmH$0g@ |
4328 | +FI?KYX^U<G@PkE!<Sf.CHV<RM7me"X(%GX,X:CC:*WS\q'Prei)b1M4R&MP>'-LD99k<n89GUGj |
4329 | +KbWZa2@]`*C8*EtV!LC&O&bdm*OJ[7<5c3npiuA59NH]aPIVd1r\M@EAHR3U5g0E*RLL%JU&nn8 |
4330 | +,f<[B*XsgeT4@l[Pf-,CniE)k,\S<&K-<o^PA[e]A\sFF;oNC,"&)7a":"%.G(FTV0IXqE<_4rW |
4331 | +oYkFLCa?@6Dq>:X=!Kh,,;9eX,8OlE2\Skd3f\io2bn(#[Z4`+6oqAaF>kja&)0L9KI\t%2i+A4 |
4332 | +TO7t%`aU&qFeT%`EgS76FY%^0F2q6<=+P3ZZ$+45>pk\=`/cZTRdh2U,<(H$F&QgmPBmqN25c+* |
4333 | +GFNdmPC"GHH)J,RjQ/-l`,3<UCX_<[_GP's`G@"GD&(Wi2V2@qh,#>uBGTc<<p_#_)0'1iDmo+D |
4334 | +\(tii'5/1>64s!>F<ViIJglD?ECcdTjI7=E!IskCK*%McdN*,5(Lm/0IM@57p(p,?'i&X<J3lt* |
4335 | +"0+M%3kR^TDB_+HX/P!EDBfOZ%EkEfUE*n_Em0o)9NZ_!"iH$Z_ha<jM/9?*i:Da_1I)eGG;KLe |
4336 | +oDg+Zr>k<.,q&_N/)Q'S>931:]d6O2JnJMU[l:XC3$e-f[Xj;+*!Xl?3"ADFQA'GsN-A>6,kg>5 |
4337 | +(J(FB@?9%'65\c6.r,^baA,dXI:hY#p,%,=`EcL-R56uLedm[`fn4C?FS:QPJh]8G!H`C2Nu#-G |
4338 | +f`-#<&Wi+b;KrS/2V'3R4d%e4+k@Z$GfU*8EgXB"6FcEBi5m_iR7.ie<cs_apMF_jNE>imAa'&8 |
4339 | +e\@GO90;o)08n[on[U-te!f20J\sN$=@6+]*[=h&<lhN^$6XTX%5LBPS)afb(+(ja-9uk%$qG0# |
4340 | +EonKHfS'V$QSr*9kmO%r7@;?1$H0&M0q*\kSm&)dW48QfP0.pFD.T#=1e,_9P4f"j5_``A00!RR |
4341 | +3,:(<FQB+V-&re!md6aY\k><@>`&tG%`1WLL-WOL+TlO0jO'd7:PW&UV._!o^s/_(4.MIE;R1El |
4342 | +;LE8tOXN)CP8Z^F%(i<ZNq$5Qm5M'89Wm?V$>%XZCPl@E5g(H/>[i:+#[k_QV2MGa*%\rR10W6\ |
4343 | +HIclcg.l,.U.6$%+H*Bfa0("8#l<M`j\)ak`$+',Xr@hS>5>CQ?40rqZ+C[QZELD2a00h68%R0T |
4344 | +qUr,]bHC^#ZTADof#Oonca(.uW>a6mq_b`'or]6:Z5X+D64]cE.A=W[U(R;K^qSk\@jsce/gjgn |
4345 | +%d\&@KQU#Ap*dLs7&M7%B6qEfF>[_i;c%=VE`J1`((t`4P[u%JCS!Eh[n@=BV&-WP3)^cO\&bPY |
4346 | +dFoktU<up:]]dRp-r<S_gih;hBt=)%',o=KXGRsmSnXB6%D$dQru=Bn^BH@'89U%1`WR7k,M07. |
4347 | +dKW[hVjM)H^lfI,S/&em28+4H1d!Tn*#pD`_(f0+95mF']Dn2n%\aL,#jBIJS"0opBR6oo]*-6K |
4348 | +S$f<OL^`sJ%l0@Y+S7N=pbSD`;.k6dpQ06*Sl]/6H$jMW>]%)^*]$3,-":mROeG7JK-#PND$"Yb |
4349 | +@#m_\E\p<!;^b$<>e5*trb\Q;aVJ#7*#Jln+hq3R\3Np6U(PQ-&-bp\.FN*`mT66r?Pt!E$XgR4 |
4350 | +I.MaZhBoo,[oQ1J)Sp`QZd#mhc0DGgK<*DL^lLIc9@g`&GPdeN?u>2de/++:,i/`=;3S[4X;n5i |
4351 | +e5=_jGZ]h]7rp2,h%aZ,K?'L1a;fkP[L7N8Rl?c"fQW=H`D/p/@FiAXf,D!+cK3RK?oOX>rPqTk |
4352 | +ki0Zurfc,L=5A#QL==gj>W<q2]DHloPZ6Am_)ETacTP]P2EEq4:"e9E%D0J4^!qkWJIrpZV:aI: |
4353 | +3ksHr1apo'^o9Nd8Nkusl.0s+g3q]9Fa;WTgNgJqn^NS[4]s%9fke-ggq5^Z4mTa$doVWAr(ACu |
4354 | +&ih2Xbd8`(K6!mpZ+7VS_9>nemi4>Vcl<6TD?ee$@Oorg"\Wj7EuU>f?i9NS]OG>4lpR\e"9:[j |
4355 | +?D7Q&mPaP=/ilR?LrsM0b/l6j^#2]4+AQ;ZXA&h'cuM4pYU@$,5Y#-"QTj*(3l^UA30r>IT^U*f |
4356 | +0#cc(0[mRlbe0_rSBM+UkQZFap0A1WRplksAds*&XVcM0`JI8%Ml[rg?bM]7I#;3Wh7Yr/HG$,7 |
4357 | +iigZg+[lMe"9R]2,<EL+Zg!#7cPjT(8RO<fc)=nR1nP>BR_d<[H1HA(a,2#^iaqP9nY>$@#hWfY |
4358 | +h".>3pSAeapV/6!Pe!,_U%/1["e'c)4[#iQCT*AZl\M735S`t,?:S0i`,PCE!d"1N,$_]0+<S(k |
4359 | +@*hpREQ64`Fh^1%5bL$q:_$0n2*q:]3J[k>Tm=KXF:]COVScdiHp0;'9[I:3PeprlNWDY[]Ohpt |
4360 | +3Zc+,dg=+H-mY:BB2^OPdUP,%:!fXYK]lhU)GS'NTqKON3LqDWd;Ymf0/B&X7e;^lb'5\/_+2sJ |
4361 | +<;L'q)$CO2W4kJ7(lb;qUP1&4)lQ_p@KF8rZue<s.e'HpN6u<t7]l>%R"Cl/XW+=+kdBd?@ufE@ |
4362 | +-X.Uos'lY$"rU8=ig_.5AMV]_((.NVMIH%M0pS!hB<Y_4_eb%9+*"jID0LqMMd:e?i+k@n2QefV |
4363 | +dqUa@*)>YLRb)AYL24'SD8=qBn-:NL'1H7WRa!2]TtI'#1n>(&o61h1<%8S-k;l_[_ZM]_:4TCY |
4364 | +jBq3G*50l%]AS5uUHh((%^2oqK0B>ZN%#.o+Gq<LU,kgZ4)X9?SdaQX;E,.Xib[,D+m[?1%kW$& |
4365 | +\.9gWauQEZlDgn99/6dO%OiS53'`+@i2WT8QtFSG$>LOa"U[Ml3fHBZdP_N.,,R;n@00gp7;fI" |
4366 | +NeT";#cO^H&D/q#@p"DN%*Dh.`$g_kFWAMuE6b)q9h]4U`mM^.2D&hcXGXgrm(j]n6%Tk-Ukpj' |
4367 | +PpMVD@[X*nl>W:AM=Q1j.#>[n.C1_7]^S$Z,Kup^.U&;@/WkXhX,Nf`h!;2H)tG\Ao-.NtL6Sc& |
4368 | +2nLIop@g^:TY`ETU*.mBN+8TP4L&j))$`J>PUToI[Io)Z=GiZ03CLaratn`+I/!jL+f`,@TiTgk |
4369 | +Sk`$2=OT<iP:@CR2h_Gp:oPp>P_u5Tei+&u\p>h96`P_f%jQ[X4"4[/au<9L;OG\;<B\jd[B4[[ |
4370 | +-OungIpg6Z_[Nk\XF#%*MJ0fd]F%"7hOqUUejAV1fcZ0@gGq*[@q%'D#EV>6N^gG\q,UTH\ZU8K |
4371 | +>q$tN(C%_FN$fh038LQp#I)uF%tkje3@:DBr*ukoK:I@^=7qg$1Utn6F+0p/]au?Hk\@Z:bm=L% |
4372 | +T2mpo8"D,SR)V3Min.foU1;1nG.1CX'uDJAmUO2bdK^f1nf/u%0#9SSRAX3c?pHHeEARS1`+*m^ |
4373 | +'C,8-'HZT(Wsh1dpc<?t7hA>cp:]pQ28X/hl3>:gW+\GTX,njs0oi8CBK?Qg.\OY">%O2$g)\G9 |
4374 | +NnAM,Z-feAp*SY.%K3$o$u%PC4m?:F4/`<)+K=r@1!S&5g];ob*56)___<>VZ9V&S%#9IXaK^YT |
4375 | +gg)S4c7J/4&Dg8#;8aW3WUbAcOQ3B)-`u0Z,QN4QTHH\]U&6.6-Gpu/WbX$-f.IjH<)=/u;eLLQ |
4376 | +SiBE^TZYZ7NpZcq#!22*F$3f@24tc[Cs38\6O[d>NAF'ko94G%L[)Qa[+H4L)O*of-tTSKKcLoG |
4377 | +FA7ZiJVfK,M&2oi:F(d2auG//WLR^.Ei#VR\)`'2_iS:paSZT/8-GJ$g&s[dIEE,,)B0A8A4J*Y |
4378 | +r;m3O*"f!)5nZ&m-\SkMSi[TTC=s_"eF*AM&8t+"_:]EQlAXe$oDqj):QXZ,Jg@FIP40qN4\uj` |
4379 | +?<K.2b8?C0o]@/20P(FOI;Tb0I)440,\^#T,XUO5MBKN6Ff=ueUUM#2'iM+DTpV`B_B-3%Zt>4N |
4380 | +4LY@sKd!$90:??]V1c^!S.HZ;/*H%(+3/IgTtD=sTRoVXOsV0H@W*X_&2H@^!^UH%:(6NLE._Of |
4381 | +%Djt5U(S%^95#I>="J'>U#;P9q1;=Q(il"F[2U3%@5T>fqNV?2EQBuq+oqbROD.[W.qf#5#^hr, |
4382 | +Pi3Yge8I2b[+85cQ>%^mI]@,l6`8'2TM:9N*RZ4=HB*4a"Rs?)8`FMA`9!#YP+OP[F=MuY!^9Oq |
4383 | +(6BOBE(&")Xp.sO3S>k:;io93)XnJESJ$0Bl"U)XH00Tam.[*5jT*B4,n$:qJ3`M'1Ou@PXq9'! |
4384 | +:s7c2"?'9eaAHAjNe-ed,a28lCO9LtQ+npWg<q7YYmdeZqU@q9736!M0$d"c50'cg+"`s/JW]f( |
4385 | +(W*51pd[N'W[pu#Pih(u;RcbUiC3RZL7b7lYB9$Tf<s]@=#:1Fo>i.?b@^nq9D<i(g,rG0EqH#0 |
4386 | +Ziq6mji2C"DI39LHj1)<&7S\WB;NL5,^%*/;dF2^3p8]ibr8DYJnKW7/PA@EOuQ(ZM6;auKouqt |
4387 | +98B,'(ZPF*LHMQal9YmI&h97>*!JRBhFK=@!D?H8&%k5`;lUQpF82gjimKHYk.WK<0#FL11jOc< |
4388 | +Zj+1Ooq^B)RM\C/;@V]S2d_6qI99K9I5+F/T)=M/nk1LTJY+;c8l7$9S7I`'et/Y\X-,5==Xc@I |
4389 | +pLTfWbUteP<2SD*ja<D9-q7r_ZGJl0%#"E&0LH9PS13*`VM7ucqN"UqG0h.=+Ja'2YB6=]UZ4k' |
4390 | +/S.#Bdpk,W>r.E-P=Z*!s$2>k#@iqA)5D!f(P^kb)c*=SdVZX]KH`Zf%rI1IHF,GlL*!<EU>SLc |
4391 | +G7W+A6qJo:BPCY.6"it%Sm1oT.^_0PA'(RQ6`,CeFur$foUE&VlE+bP`&>FSbI08SM@OjqmbWrB |
4392 | +\MlFCN&NnV`i0u8clOX/G?Y$^OBgO4nh`&B@_c(/,XSku?]_Q7Or''%]l[TTZ[n#:i0mq[B\&8t |
4393 | +l!fjS=SG9NIf1Nrs,If\2c'(?W(b__Cn&@Q:667V4rZ"nf^40qOs@EUfD>(+\u!#0(?O%m_JroG |
4394 | +=.`K>n)1jqj&HoMdKiSI[q1&@jk#=g?8@(qcjKALGT-bAA0cnbRM460l+lJ`*d*;UWPL4)"_-I6 |
4395 | +7kh,m8N03L<9tpt:tg1^MZ;Pr`&`PC_FI^R0/!pY2?oi()6Pfb8I?N9Z)OnICF'Td8U??]jP69% |
4396 | +[3e^tHC([_K;TDF6*HZAHmF8]XOCb1Ee0T;<mN`e,rG[$g]2'IHpU,b5@1Ii-jmc3@4bku#*tDV |
4397 | +#aJpaN*(9Q6N-2Y9n#O>&h>0#$"&uF"O##g%ldA_ns7h?LXClQ9&E7<I)g,X3g3R(Tu11AXD&?g |
4398 | +r=m`*4J2'4W\<a>s1"l=nQW[.VS*T-Jtmq4.a^I@(nAaFWY$g9nT1?rWMb:MJT:WRO]+=s%Q]t5 |
4399 | +OXN0r"$70"=JD:^/ZE'l/#Ts$"[M%!5l10t!Yr!K:Q>5qK3;miUNa15AO2tE[4+b#P;k@43O<f/ |
4400 | +.p;6T\R[4d%#@!CZNA&^UOn@r$^^]YNR3h73;U7T/tj1P_RKb+CBbdkV*H:6S+JEeZ1ooe;_`qZ |
4401 | +2F.%&+q^3+eZ+!U6Td+h99cg2bsQk8XW)2XEHdA?)4,n+6BF,Q6kQPp,(ceJQ-92s`&L$`>egn$ |
4402 | +MV3Ib)1;gJ."`rb2k#I;KL$$F(lCrY!i%XjO<B/u2jW)@_!!TV?o3`XUq-!h6,LYdJPuo3nYEu] |
4403 | +_uY+LQk2Y:6b6MjJODqj>Xnjibo`)36$*,_W=Ods!OFMG`8PZ(l$4(u;6C=*`/=8R1!R%5)8^/D |
4404 | +1$!0RUH,YCDR75f`&g(M1c72h=Y`Wo3X^$_+?W*A?q'-P6k!GB$a%5j77:Pn7RUf"aI5D6)1ccn |
4405 | +JS:.$:mQpI&-KF!&MPG^5_OcW0p(la#Z*UEnJ-isnVRmL!uR]-!3Ru[Ko[r(\r)2m*)DokF"^_Z |
4406 | +X/'](kcVE^<_";Q7l5<C`,u0(PdYZ)a)%ESI!<Kp4=V%j2]JC.W\Bg)>`Yk'5J_l;(_@N6@j)dV |
4407 | +L`(Ym!'60[1EINh/o6gg'%"&^5S<%J+DcACYRgin*\VcfV:u86$B?uR=#M=E&J5Wr*&S$HBY\%# |
4408 | +]6kF'MJ\M!'F9Y`\hNLR)?'^d.j*dL0d6Q2$nS@*8@[qKV^d6",B++e.Em&aJd=@f=HZ@YX-)Je |
4409 | +3/Y;1$`uT"5J<<.'n"D&K[PK4-T"+L\$M+!0G^0'"WV#B,b-k?1&WF13<QY1WtXR-ar!hi1<m\I |
4410 | +9k<+NCY9=-_l9UZ3EYSrr#$5rG*"C5Ji!(c0noc*GregqU8]?_&J`VA0;,-5PSnPd/BgcOe'%Nc |
4411 | +O[,VG0K"FIZ5itV'Qb0bZsGI!40TBRYULj'l=j"q#!O%44o#tXQnpn,f!sFrPIoSrHPfL6g&lTD |
4412 | +]t3HhUu]g'LWrE0UO#MUm,k).=.2JY;1c)Il/JtSPt-d$:MS"lSFOpao8ba)*e:Ci&XXRne0\m% |
4413 | +ci!j4_+-^i!j@F;:CSDlK_&!,2[CsC:LeQG[.7,5oMX-;Raic+>au7',gY*tcfgm_'f-cQ.(`0$ |
4414 | +,Y\EA;O8@I_nJL?1eWTP",JWbq6\raN;LKn"Q%WQW]1Y@-W1FMI5"H^0g`Nr4`(U))qtJ!1t+cj |
4415 | +[6ol`X,Bs1END5+J5Fi^Lki@J4IrlH3nlUpI7M]p/C^1LbhB?CYq.2!51RTt<N9(Y`6Zi4SKn": |
4416 | +RRL7'Pugt>0[^sr_P'n&A)GQe()_/q;7_>+b%sr1@F=IQe;\%()ViOg,YR[Wch06D'fdKP5#20^ |
4417 | +eVT#(OJ[XI08%)cc.K@S,:f"DB"292Jg9\Mj[CkSP(Q:g$4952YQY*^RSIt5#p;B^7'TeVSsMDP |
4418 | +;IM:'"`r$8ZCNReVJ%RaF0Yo3V%-/!!)[ad4C+)l]c1oR^N5a:X*iS_kY8_=!ckkNPP1?^:"aco |
4419 | +:'B_n]g^N6+Tl[:di6ch&AQmC900l5$NdUp[@'`7don`>fd2b!7B4md0@t%aQ^+Q"3tfd8_:W0? |
4420 | +fS-"s/W*U[pWs1udljV\7AnenrEAfn!C`%V743mkUqfjC"2o^Z,9i;4SIk$>K.)^MMuc0<(kH@Y |
4421 | +M.nH&SRi,k*D;m3\h/&\26DLM-s(sIK+L)/O_tHg'O8W%'+N5ln0&S._Uh(lgoqUN*R03gc@\-G |
4422 | +9`9`PIF?r2cX!Bt=NtsDD9Q(,0\;C'%lf_Qde$iGn5k>&fTjs=D)a$@3P1K91bF;?Uu&W/3M7YC |
4423 | +e'!-Cp]XtacQt9@h7,2q2:%B4e#@:'$;Gl!E01O%>cg)+Odo8g;l`6))4Vn9UOX04\<C":&#?lS |
4424 | +TlNc))'@RcktNu^0nofK/Ek?tRbsX34_Pa<SZkG&el5@^U\u&46C2$3iRJZY9k2!bSOBlF5.dOR |
4425 | +NH.=V4RCY-'dd@[T=VYl`Y[2$M1XP]\Fk<`g;5^6^#<]r?o17)%/JWEqqD0d@N!&p:*\8S$]*&C |
4426 | +WXpf;jOYXpQXD%rZd=D7c7P1d2<%L5&2kA!rXuV.'Gn239kGa1/RDl(cV>fG^"UD72E@_cr$1VK |
4427 | +Ze62(K^R_$0&I?d:#uR!+O=C@aB^+`?-V&_`UuB2"k3D,&l&(PIJ8Tr&EE0c:pr^OSO-eKJf[0= |
4428 | +@cGicb*'h0<*T#:g]4#&'mNt4jU)I8'VIAcBTn'/NB7$DX.@?EHMA9[n=ORYjB^nG/B1t3*NNEe |
4429 | +MPMaO,15OD0YscsXtE!^DIj`_10DHee!V'!`Tl)+N3J"(M_s$\fS?N`n',E^W>h0VQ3QFA!`VhR |
4430 | +:)-SbYb^EtNojf^@g*FG4!!L-<Eg1Z01L>tm;Q[n.9BM!-]Wf]/q)Vb([,rg)(BAfj&Ueb6`@g( |
4431 | +:tm_%PN2b#Ooe3;,[.nB"Ms=C8_+59/Nq\$pl'frN"Tg_WL/h]>AgO[qlH"I^X5N-ZgL'o?5R2T |
4432 | +[d^@E);621f;g&G!L!F0+lTLdVN#_5bkRubLbF=@)?T]r$`ruPqZBQ_`eZO>K-ltp*fU.s=d(P; |
4433 | +Je7I)RW]0[&8Psi!e@-52N4qp2DB,t8s+t]LpsHKB^1n]Uc+^"%\18.b%]nZ^YYTqhOrYYU-1LR |
4434 | +dD]d_r=P1SYRO>i3I,qRG./AEc`h+GC>e8Si_A]A5EJ,HlVTIRR/cKD[tp`QRGcJY)qjNeQODZ^ |
4435 | +RdObnk^pK3h._V3&S1R<3iQmAhAGn^BMNH9I0<-p5e\WXB*(SrrBb314CI0t-n-9jD$GV*QPp_: |
4436 | +PJP+Bj"A_IakIXH7&!^5^mtS!iW0#qDkje/T%NA0;K%]9Og(YL:>u^<So=>YmNfW=;nC85aYO>6 |
4437 | +BHjEQ8V,`N\5u=hU\_C_,#iH\HQe-%DH!!`iuPCY<Y:qgeFGh).S;[\m,HPjiou==(BSA4(2)CN |
4438 | +Z.br1VY0EX(nuQIDJoi=`RaR.iUPKTE$$6=^k&>@*jo\Mbpkf@9.8p7$?B"'K7>5O*p-\G!TrPe |
4439 | +!*$00>1d,&o3q,BlQJ'[>R3"i&F[WNDiu.4?N"l#O,Y$=m]D+$H&Qg1kDMOok7,)b0V,nCM0$fT |
4440 | +F+4\e/h]2DrrYpI^n0+mG.7fT6&klpMLS3=R1StgqH+Ku5ad`*j"?c4Q1$(ilo$QTmYPP?*^9W_ |
4441 | +o.1"_80if>-Ni!</OIthkeh<:n)Td[3/`WL,6bJ?-YLJ!n?Ig_m\M4AIuF^UBKXrW+(91"ZL/uB |
4442 | +S+e=o0+/o3/G?pqht-8TZbii2#+of_nmJ=J*e\RYe^BlU'n0UnK_8Y0CCmCf'+4$WQk4B>CstUE |
4443 | +FVd6c2*(b_-\IS2_MN`YSoHI<(,_%[P2QpkMcV=rY%eWT9$!Zi++Yg)7RjE71!-&3-S"jJ241:; |
4444 | +o<q6JeN44AH<6)OV0^P_!&X<Y0\DBCq-Dup.i[OZj5qB'H(sT?:5/FRG'W32GGruCh_ZX[Y:uY[ |
4445 | +<ITbB/S;6C6kQGj$6au9@$475S<kn+paZc!J2+pK&*@uMqU_SG*)Q`dVt`cd'Gn"j%OsGQ8WZAo |
4446 | +p-[q@jcbRY*9s2sd9545[SeH<*U]:<PTQk5pT+?r_DphH,tG;;Ag!p=>h-4)[7@cYHN@S]P>6.d |
4447 | +e`rWVa1Z5ACD+EHqrpBCrP%A%_iD)MPAV]F5I``2EHe%H-28?g=:bM`E8Hl&k[hs6*^tX9)F;tS |
4448 | +nt/sCV7o8lfb,mp-28C,^YI7%h=k+Kq3@Y!m<\c3$@&ZXKAMX/0C7;7U&uL0%SjaeUQ4c'Pl:W+ |
4449 | +UM.FB2ia$B>CTC9q4I2+#jQnaMV2\?h%e!g8:VRG!g>(k`b6%l%4<rNSEUA=S.13OBp@Cp1787M |
4450 | +P:=j`.2RodV^%>:j<0&B9OOX[Yhj:X9+4:RFD/a,1BN9kA#ZuXF>TK3`C"o;8n/_I!Cs@k5_qlY |
4451 | +(W_8-&QFfb'Mg++$5F24DkmdFJc_'fgh20K?tTS+dN2p[S-AUj4:9IH*fjleRE`V0:H;.p;A33C |
4452 | +hKQQKjX*#r`'A2qedA`d)5\VlMT+U""#T_$5rT&VLQdAs?m*6mKEF44kkfb@hek1^RF(#+0Ula/ |
4453 | +)'O\)-p1+Q=6lEGclfrV,'J%$TL"#<%&F1I@DZFrX_6t,=uh!"0ZRYaPg5DeaD!_Z1Y'ViEl$TL |
4454 | +BRF"T0pL=31<cVZBuK>Cp++9HQB8)gJu#Crb/=5*5Uuh"0asg<f!_=3!6-sqX2AE*Xs!f/dL;gr |
4455 | +cC`#A/#K1'Jfro.N%(N`Nk%]bcK;\d;pIHRE8]Xc4>*9@lRkc`f*4CU)oCNlD?/*G6Z.OP1<7fF |
4456 | +e?-fLqSM/:;H0%[!E!7c26/JNKK4\f]U%_LK6)JqN^Gekb`7l4fS^ooJg?3taMKco,KU!TOsJJm |
4457 | +<gKTHM#*u6ML)"rWiER*-Oo9a_TkhL$q<9/@gM3Wc0,_U2E'S$aYe_Z@_dq_Xh$^)/^i\Cq`bD6 |
4458 | +?NSVo6EUJc18D</,mgY"[mJH[.b?Q\l=XHNl,[0k]#1:)>n,7.]JZTRQ%UnAK*]FO+K.7cD+otS |
4459 | +/iZR8+uI=aEC;iGNh^*8D`S\Gh,.GOH_!n?:Daed?OhM9G2CX)6%7ZM"mLSF%?4cnO/^K^1q+qL |
4460 | +YQ\8K%P)NG(Fh6X#2uXnF[pYA"+oBR2?e!Tj/qo?JQTn5Dre`j>T!`jp_4ML)"pCNaS,<@Q=$%[ |
4461 | +rK,qT7M2>)R>'t!YF&W1qr*CYMDbor8DsDM2Vp$fA^13iO_DS(6(R)iXpGTFj'_*9VA^MrU7feT |
4462 | +3KHZ,G0#YZ>HW=;j`q%6)=<RCpOVQFrS=5fGY[Da]c4BhPA`R$K>-LCp5OObdKTdrC%[HmW$Rmu |
4463 | +WN/5b#kt-K_9UrUmQ>YcHLgl4)Ae5TE9r_5>+VdqN4h/IeSH7DPFc`G(MDQGK.)H&_n"=u*-$V? |
4464 | +=-<")[S/]A,Ea.ep0AJXr!7a`M0F)+SrM^k3">E2p:\5JN;4LW_r(CK(TZPDC!`691-Ek9`Ctep |
4465 | +G&Q`g"b?<.+<14d+mo:7#A+[fLilI$m>A8_0!JK*C4VA_qC5P#!*tsZ,cY_h25i(X+Mkg3%&+6B |
4466 | +W'IaX67WI1]^nHi\Ed7q0RU"Y)P_LgMO@<T789j$#I%eLNB8<oBXm:c=BKFb-t-"HRJ&^TE(4:: |
4467 | +@YdWE4iCH`&m,901bgl-`:1qa@[S-gi4LM,AFC)e'D5ZBh=S;qN)$!]<t(4ubD'-WdU,+YBlA)0 |
4468 | +KJ;:#U\%dq+Q>(-j=^tnoS\j4"Z\>Oa;puN(lM2_f#`(;(SX:GN)94'_8r9e,>;*cam(F[O;-*< |
4469 | +oWX/"L*]7.U:l3GVi"1sa.X;9$^A/C7;8t`Jd"IY$4q#4lQi#(0[NFE>_XQ@a=2lE_ALVBIRL,g |
4470 | +2?tIT2Wa0s>%"!P##OH:"-hF\Ct/EF;A-SDR1DUlI*g-eHq29b,:'(Tq5dSVIhkjZAQ-PoLJfgW |
4471 | +As"F/ZWo92;H=j];=gFC4T<@C##GDu"q7j]2pFB"2A+,]2!*Or`?HuUO-2[f#;$g`iuHthdr#@8 |
4472 | +L1a3f'/_,DfH`8=F,%_Q&6'B!Rp`lf)j37<-OR/P95]\cW]<SKbmd<%oUNEFiB`RY"\EDcZm,#' |
4473 | +m0o]),=t.t<M['>%YZ,PZ*H0_aJ<J]4Y]OXdV":pUISut;5\K(NmmiVF=J;",-ug@.#KTT-nPZQ |
4474 | +o\PYZ,a24GCR_@>R][mHeQ9U+T*Y%5hpt6j=-:i_#j14a(de^@%S;R-JSgWT`o9OA_E0'dLb=E9 |
4475 | +llI*cILET5G2%aJ$c4&:%HQ:k"ON]MX#W2J`#_6uP,P76bs5hUm`HiudoW=pT*dk(+]fRg7r8N+ |
4476 | +MFFm7>%8%O<"Y*5<J>c$qo!?(89hYR*R*&lXDI8@D7#tK_VTW;Oqu<K,>N:@L5TJVK71,8_;GJQ |
4477 | +;]JA4TF/KE*9CRia_bn/%:E:'2IS+b6#]:#_`0\e;;=4WB<l<E,aeLsl[*tr$5^4=)WW'S-4oTa |
4478 | +6Fm2Z+G:kl]rn#QX*<FD?%A<NY4\GS!M#SYTZ4!+\JJ0,'Y<.::lHu(T>Js$#7%J:$pfHBbQa[m |
4479 | +jqN*.>l(_L=dU-Q>W<!FDCJfbXP9jUN:1cX,GM]fiTG`G(;ncZc7I"%4V`p)_q6ijd/&72h%k;n |
4480 | +3Ah2N1A>*:j,\9WNmgZ-e*54FR/r>35I&6eK-sXS913c6/'1/e/PRhKmU1>@i#3Hpl`1q>:l"cQ |
4481 | +)2-qWKVrDJb=[[F!W]AA&mZH2LfV]Np-jM9`XE5lM\k_B#2=;baU/t=mG3boKsm!SA(t&cCgFA5 |
4482 | +p>Rs*Rsu#XbsWGTij)U@*Cc<N%(&a5FXQ<f1D3O<#VnAK"9@p4!g<5?aWc".n83(ZU@KBn0d]io |
4483 | +F;+i8IDN1rc+3#t*bV&VPXD13\qJX9j<U,U1+&X*(upV3'MhlB:<hmfl],\>?ceJjdpBh_ai<?p |
4484 | +SkRiSRVWJ4O?7o`kM8F#KY[O;MCW-!,oNsR)TGbq*N./Y(U5f7`Rfue6PV1T/p6`W44AKs>+0[[ |
4485 | +jXmXh$NX-8-7PGk6$j9FEZ3$FEiC)+P8)$s1_1i\mF?=>e2#g4?,q:%2Y-QInfKhQO(Xr&]K#X^ |
4486 | +?etV*P4:efP;,C>=].\N`U/QgiblW!g^`l!/2=rNhcProD^a3iHAUlYH!`ol<M>0<c;<Me7"#Q- |
4487 | +TEOI-Ol(:>!gmC[W98H)`"K4:.!57CQfOc<*e\dT>iY)3Tb:q)fK4AT"o[[!=mTF@.Nd^o<dL%+ |
4488 | +,\VIAALp<:GV^f?n_J\/bW3\6`%VuSA,m=tMqD^drZLYu!,#Ifi"WDu8mB=mh_3Q'X/]:)+q@CV |
4489 | +-6egA!9j<QjSS4-AWL@cVa1FigB184"3)2ODdIK]9^C&%ou6S-Jia,#UBV6t<l2*;0;eTLeg@T+ |
4490 | +T>UAsKp;<!b5-%$2oK`6,RjLfDOca.G4:IWn#euB;H8B"3WelXY#M3PC*r5a]?9iFWda=&dS:/K |
4491 | +6_g=Eb(N.n`q*!K8'\EF%]&ENW9_VFW%c*_&>Jp!VXu@>^<]^\-Cj3KYkY3!S&<m]+D23;b6[O_ |
4492 | +kN"*T6_J%k84Z1B6)u(!0%sp<lK%B$&;j!c$;;^[;K'nBV8JC3@f3RmP5Hc>%F<Tqd"r)@m&Dc[ |
4493 | +nW:Ck7V^-58nsD^4D5<179h_^DVh4/hWa#0:%Wkn2$8kpli;.f&?o8jPZD?0hN+98d)>Z5CA2\C |
4494 | +,/Q2EUaRhU3t!?>p9(#'EO`"\]aodZ"q_^gOk?-8*>e.a)fMV\0s(b$E*!Y$qJ`<5n?3h4.Q3<8 |
4495 | +*GY/=J=NR[+?@XA0`rJTMaJS)V]i.C]aIg@URZCePZG&K)c62HWRW0P6O2UkAW^%=UMqnY$H`MB |
4496 | +$/i`26<#,n8D`>[%h`QXDf/Q(YY:,mOKq8B.tA)j+??00%.W><b(AjBC9Gm\.3OHUjECJV@'23C |
4497 | +l7/=iZ0)05Kde_L2q"N/;CVeY>o0?mWp>iQ"M#b^YmI]8-ma3[0Wc=JG9"t[l,Ao:T[slCkbR.l |
4498 | +7jEjDP5I.T`4q4+,7FRL,96fAa!YTL+@&j*:qRqq(0fo*%0]0Kil2JqOB]N?/B$hFF"er8-6l** |
4499 | +,%ke!^gmVc#+m1AT9"R^&43`[#U!#90'*[!;+RZB)R#<L1(tq(`nm:05r/a`"9;deW_5"OG+T8+ |
4500 | +:b*\/n:K)N6nQ?Y5]UZ`Z>rNoFsj>B%>0$Q,AL10rh<>gU9W6-8l78DiW2=056Crr,(C\DUHM&? |
4501 | +Zjr-Tm'/8n)IHB@5*AqlEa%EG0.%<B-gk"`;K"X:m[Xu:ZkJcZ_Ep[hMV/'W.MA&TkmFT!pCq@> |
4502 | +6P1UR"(s\NE5nZ01"(D8EemUM/L_APm'<??D<!;q=sE%/5a6!nKm>6M'F`p^$o<r-i^V(-k'!Pd |
4503 | +@K>$di23Qp"s^L&%Z$oF0=E(_c6^9E;s"/\VP-SSkt7W+9'eSuMr)+)5Xg_&Ra[ZfB.lj+XAeb; |
4504 | +2XKWl,G@Y,j$%>C514hk'$A+FI_O0.l*#iDO/2*[#<n=*#;;&%d&//5SL)-+#*6PeWrf6Fk"7=# |
4505 | +#'C2_NLN,[X[VDk;j:hq<7*A<o`_=m/QDa%OI8r\#3^'C;3-D:8FT'"cj=+&%j]4#-L!]cj?bDd |
4506 | +"lP%@!/FYZQ4@;q,\[Z2,(r`LA<<I^-ka!lTSU)eGT]^/#_8UPN+A\ofF=XtdX[9(@+&mY7p2LH |
4507 | +"lPINT[F8,cn4N4#p>[[Q"UT,`"$L=dX[L^$;NY2^`sS_$K,4tj30uLR7_?a=-DR1dT2bbQX0:H |
4508 | +$H51=WQ[ktG<lY(=5]-CJF,Ncb-Q-(p<1!V<]I^,]$c+`$)"R1G!qf8:LuDQ?SK&;2$+%+OM%6< |
4509 | +$>aYf2:<!Dpa5[&#UXQqp2=RjF(_n^U7dk]<WQnWY@uIT#f,(?Fo%0LX')*k$%h:eTU>\nd:q0* |
4510 | +#^*uiCiB`3W!L2VB9oT%i._SsJSfSC5ILtup(Ebd)-NVn;)5R4K$`nCf*g-&+XtqB;-aX33Dup. |
4511 | +!CXI_1Ch1Z<:g_B'CtTg2N8=!F(2P'acc[8Fuls[p'Y]T$_[B#i6,VEZ"01^bYD+lf0=@.pN1R= |
4512 | +AY>B3m5]?6<(E9@?OFXp-:(aej&k7$=X1"'"=cDZ"t!m?f`97NV=;:'<4ZO@dZFs?_qB3-6ZnR_ |
4513 | +a"2CUf0+<$W%A"$,W>*k[fE,'mSHudRCBE_XF5D];fs4pH`[0n(@ccqodbR5I.lT/&]%mE7;fT- |
4514 | +lVQ^mDpN@N%):9cEO%Fo=!Lm6ap^Q#%,d=U@Z2neNuq5W)`T#M,EE`eoInK,^qa7][d#SV'-'Gl |
4515 | +*7-1pA2dOI9LWL[,8`4TGBY/B8VV8;Y)7(NofXa'AN"'tC9gDT-J#OZT7F#G0iJa)Dq(p?/jj_. |
4516 | +>.5nf2],A,=**k>J78l*(98+S$\gP&d_P>[DrGWc":Trs3A!AKC;X<leQnBIQ_;V)6V[jZqB3<$ |
4517 | +?$4l%^q3+(T7PW<Jl0Q:mZee*o7b%/L&g"DUEPQJ/K4:`)#4RbTZVGg'p<_&;/rPA35%5C6&6`p |
4518 | +Lgu:*C611"Gi^YTEKh#G(EJ/G]iN['.dEL1e3YcQNEg3nXtGcnefYEf,S#*-lX^4eXGLl`^7@nZ |
4519 | +AJ-AW<[2't'nFr!JJ7lkP.`ITW+jqIE@0]GnT)R,hitWK_CB8_3+8!GB"/,B$m;H6_?B81'o[D) |
4520 | +BL(K4U2-(&aTK)+O-L0:i)+_:&!D2NJ!do%2.;T'S")ad$0ht_\JQc]%853dHA$GMiXVCk\Y7O/ |
4521 | +<DiXcH4?PJl(M64a`SF]",PC.nN:<#%B7KL<Q[%Abt8l&2tTd%Gsk'R4X+%GO1E;`=7)2OkED<) |
4522 | +Wrn35P7NDr[tbTeLJcSk011RoWjCBV.rji:=aporT6tC+M[Op?nc=Z185Rh9(icU.n=-&<-)6nl |
4523 | +Vcj7f1tPC-g;CF&cX>Y(D<6o61.>@KU_tsYe:C@o7u(%9RH#/acb-8<LPs^J%<=+ZG_?TLZp+]' |
4524 | +%q@2h6s3j8&$dD+olT&\ab7sN0dHP^S<//_3o4"=Q*4_>Y=EN6@\H%3#@kR.1S\_X4(>A;[d`9P |
4525 | +E'n6E8\MP'jgH?f[V:X"KO>8.g2Q=W[l[m('VW#.TWZJlX;$]$>BdVWU.-g/Pl`%lWmS?rVmj:( |
4526 | +qO<ta0G;#7_7QA\\'Q?U`\QBq*+"e.V,Ld4S!1J=A\:*>1L&laC[IdQ7&QM4Rl`E$4&r+4=h]7/ |
4527 | +]DI/nq/6:(->7c3[>WeTgX3hh\YWqCT,]/n)oIP;agXOQ\"!u?V8bI^;880d#h0P;H:Pk7Wjhn& |
4528 | +,3[_k>LU>c\VFRE-G3,?;";HY6+m>D5ubk<,p3Z4O:&oX;8o(l>^dmpK!uPQ8V9bn&V%0+Lk[&? |
4529 | +$Bqko]N?BlP<2@Y15%%ai0r!)Ti8V46m/WXaS)Ml"cWp/#"<+IoJWhrpR&VI7KSh!VEI_EbJX4V |
4530 | +bFDlKS=@TIMQ=p$!EeOhUSXH_Qt+qe/C!5&cUu&7<s%_Fg83&F3S_*]W7WhF?A,i\P0A#+%,rHa |
4531 | +aaF>O*6X<KP1+5SPl)FPqeQblYeaj/NDR:0^urke0%ctM[p\aX@h)j2_G&V+%3:*3o$jo!jI+fe |
4532 | +V!:1iiZA,\(XKa@]DYUR@YN1(PEY7p%%Q@jgjREl"54sFbc^.\`[:fj/MdCg9`WOI>q0n^Q!hM2 |
4533 | +=9^m(<;D3JYLD.1/He3S63JFlg"l]CA)/KLT\9k<DO="TiI2[SrPQt9l-#WfS)!>b`$Nrajl->' |
4534 | +i]q*InDVEXs32P6j'9df^)>u+=5nY38j0M>*=9g7>!p!:Q!Jad]Tpi+S(2oUQ_S$'>-YZ]>%m=- |
4535 | +em%[qM&aDnYqt4"<=hRlPKog`Xih>r#YBCSIBDSC]-eT40N*tUG(%o&);`Wd1'$e"#05h>KnXnK |
4536 | +lEdi'Y"@qc8`HO5lG2ZMj!lVZ`%K6KN[/rR,A[hWn4QTcj?f9B!X&q^`a-C+:)j1?Ig>JI-8n89 |
4537 | +'81f#`I[Cte`5N?jX.pPh\7l=)EAl^`IoddIgkEd/4\Sf)*\BZhbH*0;JP)j]4?*0^I:ZaO7A?\ |
4538 | +nbY3:+(+SgAb\K(pW$CWIrGN-kd/(Foj930XG/%HRDch;b+fL9('HXjNgX*XgLum9Qn.TTVsYV/ |
4539 | +67RSI.YelsO)W7,r7_3Y8-7$&*^)^Q`'",e>\!6>*b7W5+9s-*]^02j)o5%n8XRY:3LO;&@sQ/4 |
4540 | +Cc2?KiprM1hKLFe:Bs38\B#eS),,"5&Z/)A1)Wd5Jf1:ZCEjeCa$<MgaE9HMb(l13PX&l6$coUd |
4541 | +3DAXF3`-@+;qNMP@6#7F"X>J?hK:gqk^nqaJls`h$3UR^WQaQK1`0Vp$3^^Y8>T66`_g]P11`Hc |
4542 | +U2jb^U([p"=_6%f_+kD<MAqRp_j'RC0.7D<`?P*hMF&eTcXMiAdi;f;A:t.3.@`XP3#nc\diEUP |
4543 | ++<JCs1Xgl)l#[`lU5,<,%SUjR$uD(u!.aQKRMa:Y"*)'0VD;,j!Wf,5%C*YgU7qpm]Yc$T)pSG^ |
4544 | +H.-AAM4HBs)tYJTlhG2.=Zs\]+-k$U/DE53Zn34he$$kK>1YYAX(FE$Xh,!*V.j[NR"adnC8?lI |
4545 | +>+2@eD:7S+.)VeH%PJ09Uo>i$ZEUG]MXnR6XD9:NZn4p[gpebp''g"EX31.MYNuTkPd_&`.`Fab |
4546 | +Gh+,aUG<=X`!Pp?-]O:HE&+@E+P,e;j)_$].VbudXK-+$^9GV;;U2YOCMM_9b0ks>/Zt6J?GA/r |
4547 | +P6A`o&=X7>,8#1W2B\_N*\i\-8oVot0DdTO1X-'JY#+.1&iW[0Cr4^[OBZ1\-dAk]#=9%gAQ(_o |
4548 | +bIJ7>i^i2ZN'gLM1Jbn,Vc>WbJF\YTK6WpO%1-FfN6nrIM-L'S*I1\G"01)H]erMc?IdRFG2]U, |
4549 | +!5d\IN[k7q3KA,pnKk?*l!7KCCe+^g:#gY>g[63,j#I^MnT%4-'<73FGC\=$NPda>1cXFojuSGe |
4550 | +!*\Ff(L<S=fJXb-&6T8eK6PJ48m\$I/aJ:ng0k//<Y&^-TUcUnRPRZ:M86&KM@9L*A_FJ!6'Z(Y |
4551 | +6OJPkaG$LIU2QneT88>S_E*[7D="7`RPeN7;4.oa"^61=l$-E@Ghb!4W&;Dl,9r]'3XjM<(n;([ |
4552 | +((YV()0XJ(k#nA7Rn26(pkV.\#4oRtO7%"'jZl^0ETgS[nM]dBG5V?f%)jLn;Rj\%\L.q\92N(+ |
4553 | +J9i9eE-g7EVDJ^H$hCiWe2I_E$5f>pf"AYUNS.uPe8k-jnK`)cU.[ei"-C[<b4<]L.LdF)k)Kn' |
4554 | ++Qgg75!P7mq4S%)0OM<mX5Zn&ie\:-m`qqZ6m6fD0TBQlRGdDre&ql4$3uZpqKliaKCG$l6g`'' |
4555 | +mBLmO2=0?(ZJd!GADOsibk`D[_@<]UQ`&Hn$c3MD3WTLIL1='VhJ)IgbmAp)2@:?@0Hb`d`A/Xa |
4556 | +:_:e8b[7#p%0?d/r7!OI08\p;5m%=RbV<p"L9ZS&(R5EdWQfnX7B!u1N4967pd.MChO'N[B[QZ) |
4557 | ++qE-o]I4hU$M2(].a0a_K%c%m_)Nn)Ki^?Hd#:TONC:kgVm/+4_3QRk9a`7Y^LAsQ:4uP5`RZjp |
4558 | +EXK+A_BB5:>`?@.#XO`locV)TQ3L1R)FG_RB?`gk"??sYj@`4&1,(a[ih@:-$IgcX&1'o7B(s_1 |
4559 | +Ss08?2$WVS,uFqB$'Lu98uXjtLbiEfiQ=Xpej1jMW'ls"DFMaAkSXI1b*YTp.0Q&s/dXon9Yj[e |
4560 | +#*@OY(_^:)+dA/1`.Kl)Wd@:@k%957SeNN1MNr6*Jf!HRChGclST8abcJf0NVhmF(o;!_Z=cSnB |
4561 | +`7CCkBJRiLT/Xs+I0J*rEPlpbr_f^S-StmJclc1O-Ht4PF<hDm!hKduTQHmlnqbFfWXsbDeWW\8 |
4562 | +Pt+CGjcnN"=_Ffj#/J)t$8GC%NiI0KV,\]gE(:+3_*]W+E3dk!8.<`lVD9AG&n\_6,.)m3e-?nT |
4563 | +.CD.59FSZMjZ>K>W'^nkZ.ZG:`Y>F.Qusm%RZM&%"4(ZpGU*^e&UG]ulV0[AUgh$g\rf\PFG#rt |
4564 | +-)J!$9iPkpBr\Nk]Rp"S<ajg'3CS?`=%Wrg#d!1rQ'S*UM`Y;qP;%2:R#I\:ibBLa-n"_3^/fSG |
4565 | +'WN^6W:l7?=@S?[Wd@cMA7her$Q'g4Ys>`m2"@/<G](i5Et1^r".uK,C(J:`SB_/Kg;L'-.($Oa |
4566 | +G3["$3U!Oq?&_8Bp?]<<em$S>G%e$E!%B`/$3EM1;rFM"[<'^'DTmAtYp)Cm=TrMkRqAduimD.8 |
4567 | +<pN@&n3G%W"CQFmlNgtC%F$F^2V=%\?fL!jlbFFA([SS*ef]d-Q3&Gd$IPM(^/dkR>>03nieoU0 |
4568 | +^P(2<0mN",Anpia@(\6!PnpgnJg%pB;[;&Lfn=<Bb:".%^LVP,@#;l9_027)4<gDIU'(%e:MUD- |
4569 | +PXcq%qZSH^CpB?//TP8;gGp.G]L:1WaW*SZ,(s,la-YDDEr'!h;$H)M1C8DuP*@G?a=7:mm>?Ep |
4570 | +1*ck6VGulq!eEh%Yi($Q"3hL8=qH&!/q)%Nguq0t\0qTtqa@h$3c0H6Nc06!4(r7_I=VB1%>Cqs |
4571 | +,`G(&0Wo+>3YX*0Bs,8Qcl`W<SE[r?`/_$)=p,I,K5?X:)+Z@rB+ni.)dCh^8gF:UA[VJL\,,jl |
4572 | +??0\\64[YpQ^Aif@OS:X8SdhWYX:UlfXi/^"qX)-G*jC'HY#9+"i7ZdelotS.rju[4hm02XPoTS |
4573 | +!9d-bHM*T2f#duH\#IXbV5Q&0'1lHQNG)7CThu;<3kUTSs2QD:*g=FaJZM%,af`EX#WHXJT"'"a |
4574 | +ha-?58]%+jSi]"[bo!3T)MCiM5@^Yu64(#bEi8nKq1G&Mk1kH\9mS`akjM'B^pkid+P5)9a&"]D |
4575 | +<$Cj><@W;/pZhAdN_S4BGu>/clr9U_PPIYtAu,Uq*?2-T(u/Go(Nm-6g_YVTOqdfA/=O9H\'aWU |
4576 | +iW>a*]!l&s"MYc-HI#+N&Ps9hIjs&(_UOG1r]LIiYns/:<%$X!L#adG`sSe878>QKPB$ioA&(nJ |
4577 | +Iam[9F0FU9FD4H?biG(#DO_<eF7mA-+Y+(8;%*^`pAqW4I6VtJB.%2E:6X,%[=RUCVlP^#7P#A> |
4578 | +ZsW%cW_mc-'i!?*(mHRdD2Yn?r[>LTj+A(SQAYa%,!6KGR_Q]n5P$M@CY-'ESIl,Q^5Aj-&j1en |
4579 | +XGV6MQAS_YBJ@,o#aPT%5gnr&>M^i\8@WpG[#h)?6"ma;&4$RQ"+0R&>>pJ;#T^/TRR3MHb&8D* |
4580 | +YGd?o^8qR-lk-FOcp9E,_+B5:9HQMF(c>GA1_]J5POtU-3^7(-\e+$CLs&";pE@?81qOYjH8;;T |
4581 | +EO@>G^K_Sm&gG+o.\AI+(X_]2R8&QYW.GR("+3$Q;WEfnr36Pd0q!_4@h=o&I$dKZTlMgh)Fk<0 |
4582 | +A&5*uQLl/XJd*u@/<%e#_YPk%1]5-VSK]ee-kWn=5mP#CXZM%E6;Y+r&/;nfmCT]`0!g9Q.Gkb? |
4583 | +-]/h6Lmb[PW9gedp6>DUJU.t8aJG$P>Xa5m#f%j@ggC_=K:WK[^A/.h(cKB!TI;cZ6X\O_dUgF# |
4584 | +U-jN0"/KBHpb[WUj8j:/'+"9A$u\USN$UIVV.rj:f_7!ahh*$fO'6*9:_6-U=HL$M8#f%SH<5r6 |
4585 | +I#fP$Lql*mnkZ'-8>MZ+a4+Rj/;,>O?D[IZ8/umf=>PSs4ee.:""\B3`.S4Pi5i9WJTs0j0_NOI |
4586 | +0eR""8:.?h=>kfQ29BBa*V_A1da947pB-T[WQQcJ6IU`ISHtaWMZYFWN-.Xh0uubO80itCQnb/- |
4587 | +TS'&6^>t?:\0K*(OiaRKJs<@Y82J@kbEM:q&A-.XKUGGKMibFl]MKEd]SDK"NQMs?MUKY5.]Ec" |
4588 | +SBA@\Ur)6:*1!/j.=rBa7Zc$?XCd\/-%fkIX0@3YI)(nI2?A,)LcibuI(,"&K$:U-Lql(SfJ1=S |
4589 | +S<#[-+;n08EDoQ\a33BWK?-3HJQC#$3DA'ac!fP:.hbWFa%WgEPp#Finjgp.m#)a:+`Tk']\j-U |
4590 | +b6j'V:&N.i6pq-%LP(,T27_Us7(85!l-?BRLqkqfl:=[FB?]S!8#Z2Cd%X;]ND>H"[X4O:7+MGo |
4591 | +(P=CuZV9ol0GP8J2p\;s8o`a?&3\+Y@8GnkaUkSod=fh.pe"(39a'hc/FaZu3RAcBcme&&7/+dp |
4592 | +Uk0-m:^m_hLbd<4$ApDCLmXo5bglk2%aS\l:?;LR"VEOb!t/ZR:e8Au>f@8c6UX0ra+XI*==__B |
4593 | +&CKS]93@,o:oTt`NK5Mt_j[*J>`fJgP-"TuLk-,[XJ31+[`eT>Rk110Eh*U?\<b&qY"=;&1?KLf |
4594 | +l@TX&6a-_^&]MZ``^AtOdujM-;;d[E!WZ4<`mRJN<B\T8?q-@L_PG,@0T6&E,g?J>"/%H2E%qk1 |
4595 | +VO@ZEe9+:fX%U]F,_@.%[4/&++K#;I.?d=@9p@)&i.t<^ZTb/']Jplbq5XOH'Edr*#gn?X2#;hR |
4596 | +U^`]X[@I)il:RW$,=%1oK.<ic]E]Cn&<C*e_/defS.<[:,K`P$e6LQ+&1UNH*QA):"+an`)CdBQ |
4597 | +i!?9BM%"/%9KS6!7Z+9*Y"[CJ/Sro''2;ja(!UVB*H.[J08k(4'Ni+B.>p%1B\/n(7Z\kGm<k\p |
4598 | +)HS=J2N9%M4b6*t*3B3$=>bae"aqW7L.efWQ7+)4I9tQcH:ZND.*KY")NPFXO9;.)"%\3\%;FI^ |
4599 | +TEDlc=2g,#;EP#jM1[+)=G%6S<I+br^"G5>4Q$b[(aKBS1kX43=!a,`RSb@21YI=)aXAVK]&s0a |
4600 | +S.S<YNm->(XJCHE:,UDKLr_%I@9d"jP*.\K7ZDcGop`%/hl<>-=ClR*9hO#JCQ,3QVTl`6'cKPP |
4601 | +DF9\lMb82L4aKrg(gDEAXF5h*F!&7Zn'5LP<'@8a<5T""O',R.%:->se]h3-c\U56fO0ir=rbdp |
4602 | +'?6+`!EIP'%@,atdb.pTgpDif&3Ypke':+_"1_YkTV*78*/MZLh6GjhU/TkOfnftbR/f&F3&V*T |
4603 | +1]i?p/c_CY[H#SpN<h;%aETIF>34AsL!Lb]OLR%HN2A&FRL+4#1'I7,/OY15+bSUrK/f/=0WV)C |
4604 | +0IZ/)",K"*(pI=\K,^mq%Ho-AFbs'a#m+u>hlZd<D>b\*rYN!BPhcdOO<WUj4l&:!+$_SgfUUje |
4605 | +$B#('K#RQq=I(+.Co[Q$Ui>1L@a\>,'4!d::CoAABoiGB(`cUB!e<G6@RoAE#c?gUhOrNZ($UY] |
4606 | +!e\c#Me(B?DBE<fW8\R'i0GR`KY>N$hG!u3(Y,ra<Dt=4>oISa7$u4#Ra-L5+G+=]`L=!M=gf.Z |
4607 | +Ji8'4ND:/iE6@3_>(`*':$D5$g]2ohS6h%8+j?*+OOeu/I>_oi!)OX9!#s3>3uZdt$i+]r&[@KW |
4608 | +6]s^A$g'n=3%fh)/sgh%2#rK@&-ZPLSE$T"a/2!,FB^o:;N*:GJT9W*YdOr5!*KIPKA1E0-(+dR |
4609 | +$RC1,gk[bK##`T7(Jg^c']*.5+J%S0en%iS<c\Y$\=+HESXCg><c(B[?p3(P97pV9O+mV`Y&=TE |
4610 | +5)IsWB3U:`l11gp.6s!D#p!>MBY4WoWrj\qApiaMi#J#$mnK2=djtc3nELA6@[I]1B?FcfQ@<Fh |
4611 | +@h-lPJZ8a5-@r5-nORa-8J*!,BVstDLhH.4J^-f;R,hqtDWi;QkV8[A4!3S23SAJkU$2sn"!<?' |
4612 | +0T&2eQAE,(ECM!W\q5BuSkb^UY+k,V3K=$0OSI_sn:HYp0nW$#K;^]9UIN[DR;&D"C(T:eYVGC] |
4613 | +$L-7&9aWh==GdA4N!VtR9b+4k&3LWWV!4JIXCedHW&3diL]MiFCMp1f`jhh+2!WqoR/X9"-G,)L |
4614 | +2s\g,S$p(IHUd,Z_JF+_M0Os]Y,7,U3p^68lCP$BL:Dl=\_1q\-;ZLU1aiZY!t2'3.'?h#9U$b& |
4615 | +:4[XE0X.=tTSdFUDZP=:$E0+:\`ZOB'Q&/796jPIJ2;gD&s'PhW"u@Ho,hciUM<mI(J+us3$P7h |
4616 | +XX73`AZk>*L.*u#QO.'-mdTLZ^?Y/Nn3P"]McTEr:@N0sp^k18Das3AQMU%RSVUfsUjg>IJ?$bC |
4617 | +V=4-Uc]Bi=XQ_1NAjuCmMd]A5+kbp-6lQ(2'*QHo>9F3NFROM4[AB]prrV]Pn,kX2d&P<cpm;B= |
4618 | +hJjs%EB`H$;*>2m*p]VJcChC(5/mX6b3C&hVag$*I_Fi\mM!r*a1UbP6A2>KJJ+"JBLjm-^DHEA |
4619 | +,RA<&nnMLscPSD8p5+82&@aji*i4J70Me6gSQ*hJ;,)\aN,^->l'[-CD^KO5LM1$Cc^6Q8R#A6A |
4620 | +%.-P4ba_iNBJOF>?LBHqo6!RQLkkQ,D^iFhCYf,Ki3eTO_sI*+C]L8QVSDGL_sGI'!\Z9[0#drf |
4621 | +ba!rWD#fM3mceI`=DV@mob](L0#.b5&;#AN!j>IQY?5Rl^MINgEC5o\^Ke-a*JhM2K,DC!pb<g" |
4622 | +W:fGGoG!K6T!<"V(P>!YK/foHZCD\j`e-9'3hfJp4ZDT0SPjcP(RP@[qaMCQ>AbNKk`mLW&=@&W |
4623 | +G@lF$!Y5PG<TmbT-AuVi#f%RC3#_l8(]f.*!KV^307\9Y(]tToGWs@H8/MA`1C6hCFt[A#J/Ene |
4624 | +)0e602&Cpu0H5WtL@j?7pkORu2j.nLNjD7np^`Gg09cMKA@@SoH#J67L_tBk_tf[Opj\cXcNEq9 |
4625 | +Sd@YENJAAh\!qUgn+mi3-Lg:0;"n8iT7\OHGorH#DS:9jN.VZYH=rZPj.-8]2N*WqK,:))^RB0" |
4626 | +Xa6WYGP?$Ga/"9B0nUj_CMA?E8/VH+Wr&sFlj&^V+1(YH4F-[Oq?OJ$T#^1&?M]24qc]Nek=Y&q |
4627 | +XSS;<qR=:f!&aWdGPlD"I"tCP#F2O.RsBM!r(abK=3:UU[qYStJZpk[cddo&d.mATK,;FW#Vl0- |
4628 | +$F0nmGV?5aJt)\1JGINBp\-@gs4d,Mh"icrH:QqFTJCjY0R1(:IM`pg[[;24\p^3uq%)Q_G_Z-7 |
4629 | +b'j;:%]AS*&%I6FnpVC/"!@4%8?IcQQ?d\9s!Q$<f<TcQiHmc)ra4K;!K98u)[OFc6Qj_i0-H]X |
4630 | +a($R>k[cLdN^d-(%LOm-7j2CV@DL5uNBr;/Oc4`V,<?dg`q,^b?o&c3UZU#3N9)[[$q:=*]XhKi |
4631 | +S=*ob@kc&($oaU9``$.9%j*f!N:S3DN,)Cn:/8&Sl'T@n2]9h/;dm?-,oE%_p-UjcE,7F0`o^I[ |
4632 | +1?;lT?&$k7$..+:1/X^+C<4[bK#/CDGMG3Imtui@9L]\X[*!8CQqc$QW6U\qX:5A1Z4W&DE\X%; |
4633 | +cr#nO`&H0`%Hg=)O#D*g>I<D\(>.ka[+b$Cg7JAf@m&:ZL6r_t%PcAno,4XlHU'CEOGpf.Pb5O# |
4634 | +2k0(q+c,/JCkimQQEBAfD88'VNc\"G*g>E<`%gSY+r^s3;h4nOcK\Rm1?4OD*&ljr9$.EL$a.a\ |
4635 | +XS\g?N2Tu.0rs\f%%f_&RWf/_UG-L=XC6KIQU&n'be/aO<(a+uE8u$q0OnQ_kpn?]=WGJ$Ucbk@ |
4636 | +lYph`,*EpQ'<^m/B%=;o"(EuV1(9s>NMA:74=X7=L>aUZ>f,7)/_nAV8Sb!:-A63"XUZUqX0WH^ |
4637 | +_5M#ec9j"s0b%h6k6nh\F4f]OD3SrS%1ZU3*P)Q@9dikT.-B=pbUDR:cgtuW7_/.H%,"!i;CKR` |
4638 | +eAVY_<!YJ&&^k/],0(-LXZ]#!&01D+ZS8_n%#0k/(JTm1D$&$`2#SOON)SFQM)l%&juOl">o>t+ |
4639 | +mZV39%0K8?0[``IcAfLmKX38RZZK%Y6]\6Rql$^FAI/h;Ub:!uW`Y$u#2um:+uHMHLb1/-?3;)n |
4640 | +O$La96C$?kmGUDfWteCGK@;sei[,+kVpuhC291^AI"gSnP?a9n\@+lX92a]j4?`*f$FY[@r\0n% |
4641 | +/`Y6?ipIN+2eO"ch%ba+(1-d`+sj9i;?;dX1:dR4i5&E%R*1LA%g*:Z,Hm]#2E(_!/uUlUc2dDt |
4642 | +cu+P>,4l4P!81KjeQEAk%#YZc"!3N5m=IJVN:"M0iE5K6d).AiK1O9ANN'q6Wn]$WaeOi!9p'6: |
4643 | +fXocp4j-4O,DI&sfV.-fMN`QagV\5W5Z.T<3QHc>d%9E+C?GRg_6s@I_/O7XMiUL@BK]iSlEu`b |
4644 | +;rmmB;ms)7)D0f).9gi9aG;uVG!DfjL''1H,.+DlMQ]Rlg9Z]b40A-1r5c/u&7V)@]A_p-=Gn=s |
4645 | +T4\%p"uK-A>rrGE%"gLSC5l^LCF71"5X[`FR;#bl:W7@[_!q,]!GsCW6'X^T>iuuT,A'MQqS<lW |
4646 | +d3.D]$tmis_3cM#!t4pWa"3kbpeq7PP@dp*Lc<31g)/*41M(?mg6Z@G"sK^H0npGW+@k_!<kI(B |
4647 | +6rZ'2aBV4F84?$D$!G(,HPN$uZ[FQF0f,1ncQ,A:G#=4QZrE'U@?>)J&N*CS(V:BREERr,dIb9\ |
4648 | +r3$s*Th#2")^j9Z"]'43E<2bI#4c`(MGQ3lj>gh71+Ic\F'F!bUt^WcbcDeC9R3f"mY8g>o0J=> |
4649 | +28ha='=en#La2O>"R1QA->*!`H6n0%JeUjU>oadc8e&(cV8(&;]8t.2##Bb.9EhX/>Qcf[lBohr |
4650 | +M*.R9$p?/;oGTq\b4XncfF0J_2a_;DTu.k".A]2J^A'tC%,!cK0Z5/j"Thk0R4!@qaMF&!>.[Q9 |
4651 | +3.qLADQ%S:pLKq;%V/E@W\B>sBKVi2MEi%Qd#+qRHIsZBF?-<h:./_5TgFuPfUdW1q3TGdHjsJC |
4652 | +P'HtD(h<UkAqgj9M=sUjlfJ\AL%5F>iD%qNAuB5N,Y#9=&_u'YA.R$JPI=-n$-V.N`:Va4i6_Cg |
4653 | +'32&315$^)fFa)lo*E\m!uh>Qmm8jA;U#+VQI6N\K.M@XW+6gsk+!:BK2OfTPl_)%D**VW7L^^( |
4654 | +Nf\3tDsQu=O\58u&5)OJcbjoT20_(0R8m\s*/u_))Np^HNbMAk7gME)3/:EdL]No#Za/BY.tCq< |
4655 | +geg%IAl@2>Zm`j.HQ$^R0%Le:4'`b`E$fQ7e\?mpFVP``Wec<`fr+2WcU1mF'nIh_Mk:9JCH56N |
4656 | +)FY<oHWh8_cF%YGEDSa2l0C>m]KmS%gYc`RD1No?Mpf`M"Rp?H3f=H@UbW-A>r\biTsjZs7BI<& |
4657 | +H<t8F^5=I&[2P5aDs7Ltp>WcWJ9,N/8N<QU`6d6D-X]661Ue"]3u6Ss@iZI8.5l=_[q&EWED7a6 |
4658 | ++Wcg"e,P(lfJ3[apD?GdW)%3F$OI$&.tiQ(L062f$u^)$j</E5!M2`Tq'R>hI%9Xl6WsZoh^5am |
4659 | +C)BQF8.$,ad1LClBj6$X6B<Ef/8Q7`EX6*K;audZYf(Is6'r(<">euY.mT5!89]87q<-uk)O^X] |
4660 | +caPJIkZia^))8FbTcsY-ql=s<+@qCWXt6AfAY<foB[^,4&l`^*V/[d"`5'P=Y<4H[E:,n!lpeS@ |
4661 | +k,FGV/jTuDPftGLGZW$K.EMT8>I]dVY(I$fF[;K>LTJ=*o,/p1+XGL@@$9>%=>Iu!,UF,Q\3e&' |
4662 | +<Ps@/;1tE8q#_V]geXXeR1eu!Xqg(r+XZ6S9TQY>A-[_E^Na$P]T8''o\WHBE8e^r[j$L<3^e*@ |
4663 | +KUjaNTQ\rGD6n6!rP?;om1a8-@ik*!*uDCY:(4cpg[2,8VdhIF#(2Ff_GlQupVH9\QuFf&0U%&+ |
4664 | +=a:<)5VRqsku))$eD$K4Ec1[Ba&@8-h=:ai6_g!b:53OI4*!k()'un>4\Y,N_cMUe3"0tr+M>ds |
4665 | +,iT4l),:->51VT9D'QBecJ-#=+hrRB^>;eYeELRlKekVMUmZiEZsltGR3lf0gM'DYmI\Ks:YroZ |
4666 | +G*W1lf*iXp!0^852[QFO'8^W$X^Au63R(sf!X,,R*B`co`AhjcOM.r\VU)8NDuU5P^K%s_&7W`^ |
4667 | +.nILY["/9[1ig]C,q-@\99Zoloid[%BQ$mB;-6IJY4O$nqa7[u4f-82/1#t_Q^GLc1Yf`R5,Q]R |
4668 | +)Uape$o#UGnIjTurs)d(\[lHJq>m2Vp[>khd"@'/.JcD_6u6eun\qHEJ9"V-dZPoJ%?LYc`=<,! |
4669 | +&d`F7/YoQNjuh$:63^r_!Tlqa+NF?ekdF-mgJBTR-TYoM[KYTTXfLB@V""6`XR1fFaT.VPD8%YW |
4670 | +A?KcYC29"0$tr$OEro#nc!n!U#;W6^8;5u65_,0r"lT4]TK`k9#7o2g^qt)g`&^.q0X%]W/3!j\ |
4671 | +$DaSG$%kiI+IMh5`13P;$'<"h05V..,%?."%A;D`9AXK(_#b1Q%1Nm';!e?Z)@U)@$'0+Y:GD`d |
4672 | +`rjMlN2sJ%OMJL?/BImZjH1,\E?><s3rNRO&e7f!Y.R<bBak'j%cH.H6amJ3e9HYL$'9];$p%k5 |
4673 | +R0\o\%%q3$@$q=8N=9H)r(4.)&TDn&NtnZe;';;aWL=-sUs(>[-A1FeU2i`!!iJ@$)/3If`sBd! |
4674 | +U-mseC6>1_M^epeGo@8=2m$6ei0t@a_DgDB"j^T,KEqmhC=Md0Up5a=@,uAoaIU_1%]76C+Ik9b |
4675 | +7L@Ga6nVRJd+i>f-je6C#)%OMn0jb-o-!Q!JFE+REZTp&]+to\"nE/8,`'+.cj#XR*!D9+KEqn3 |
4676 | +b9TI;$-6p?^s*HVEg`Sj4f]olJd>!,SJ9'TGHu&dAO>\11DT=WBE2`nZ.r(5P97Zl'P2\=$;2Je |
4677 | +-qD(o.:A[EML-g-o*Y%n+^gluXH3bO]KH702tFQ4jAlTVg]dc"16Tf9!r-raM@@q]6"2I?c7VrO |
4678 | +b"CTa/g;_5DT=;gW*Di`.ki+r'*:+(@LSEi>X3?\Og[.p'/2$1.fpA=ng\4Se09]X$1S.OEA\$= |
4679 | +g'j/51IbR3#[Rq&__`M*km7PQZQo_G1>hMU1.tV)djP_?&N#.'1G51s@%N5g#R7UhoZ14!Y_=s< |
4680 | +#;S)T05T5F;i9S7HT;a"'#U#4+J/"QT\/FS3fHum1;`6qfIk%).kcXp!,=/0Sdb\RQ&R^b-,>U; |
4681 | +Pi&fN4H\hTYKo@Okq^H>5,Bnn"+'<to/(MO3cj;N1YCq@#n&QIe`M7X#mbhJi7KW%%BXgd;h$;D |
4682 | +\>3$>l67JtP5HH>4#_.>0Cu'Z'.kaJZG[FU0,$#q7h\$AECFe/'jtlI5g"(#WgtkT@_eU)ic`oD |
4683 | +k&R:.#4fl)irfjDde+;C7YYgN0WkWn\A%L/Cil1."A5P0#UI3*6r)%GZARAaZ?&oSQ'>i1.F.@_ |
4684 | +Gq>3$.MP.Y';h=T1a]N7(Q*/d'0f4s?NtMQ[53#%.XNf59.Q)=+Fq]qDRB$.#=3DU4K=5ndCUnY |
4685 | +M)`pP:r=3LU@JWmYsNtI$5?#rJ>"][]2FeYBF<`B@%erXVTBQE4AApHF\'74o"SbO_goTf@%^_8 |
4686 | +]2ilq@Yqj!F=cp[@L<]4;_VOSj$QddLa`kf;[!5,Uoqo/Rh]=L=2ji9!Yu,#/1Fu%;lEJqQ&RBg |
4687 | +Y?F8Y$<8W9i2$&0pbW^&"nfrSU3d'/dfKMa9&QNV;SG>;jWY&N%/&F$E'[f^((*ulMIMg)2?(7J |
4688 | +4]F<!,h54MFpL'@3DDioaOU4m22"`t/db?mk>$8;,H+H^Uca@C>QV"Zp,bVoVNQOA.94D9m6su# |
4689 | +7LE/+"Mgj;<Q78s8ujLX4]VGmU)rSd-k:&++t533NXf'`((,1814Z5-`[E4oI`SjPBh54;XGVH, |
4690 | +?YV2hC2C7i<hdL?Z8MmS9(o#=p:R]+6;]Y97TRTti+6`uQWb0S1aEBB0V`LjpLr-DSbD!%<icSD |
4691 | +I;,?_C$9&@6`G"tSi?BKD`4-/6N:r_4)hYFE8Z^`<oI"Ypr_2:0/f&$2]lhsq/NjTEE9e[pD[pm |
4692 | +6YrE18/F.#2b]UsC72OgD>.0qQJ0k*3HXG2Bi$I+f32-tF*9JBb<Tga(NXJ\ABT/ag".Zj5`Kk% |
4693 | +A-U%*BhR'%C>qF$UN+nVE*&HC(QEbs7s\]EDXp#=pJZ@(=*PNCCc@c+m#%#Cq']=ZF#TM,2pZU? |
4694 | +TEs.BGh:AMpSUEfq(*?XBfGL-GNbFPD0HfbH+2Ep@&Gs9(4qf:L%j>QJD(J<&8X1A6(k+W'ZFh, |
4695 | +1P,\^#1okb/WY&Ik$1/eGG)qb!:Kud.7pt-KihI>(;kkXgu>JFJT\;RP9DIMcOfY-@+77%p8ru5 |
4696 | +PAjP9Ji=2Q\;CLA_d[W9>k_QQWD]tkB7r1%:3J&";A4s&@4mArCau=eD6%sd(2<)]#<*,%(rmA$ |
4697 | +08g5g-STMBp<IXc>mfN-Bcth7'Z"9o9k`*dBcu:ZN:>.q^**.&B[rqn,6SG<)1pnd56,!sPq51N |
4698 | +W7[rYP-"Xf=Kdli2j1[E6m-;)i2Kp-/X27f()<a2[J(7WH^$i4$CI2LH"0'LO*hfk<230PAP,k% |
4699 | +i;S!1RjA[SK/\jL'7'C]46d<nJAm\J(8V(,#MENe!+Mq<,sYBQ<+)[j8pd$Mctk_"ZD%YiF;EO) |
4700 | +ZP4!?Ma['V!3'ON3k78WAf3)K=J11)9I]3aMJ5_N6Cq"*p09k&SjtUIJF3m<k"#KN,3]_pV85?@ |
4701 | +Z^FOf5%(=4)0,odH_OGH#4FjD!:DEH%$c)7U=opD#oY7#X&?h*$F7p>3`@V?+A'Gg+^h?<L+/GU |
4702 | +]JBk'6o*/e26oYf]n_JcGIi2\R8Q4pKSZL/Vn.K7j!Y8@HX1./Q!0Ub8>A7A%r/\Eij0h+3j=MQ |
4703 | +4/q>[%"s24NA(if;E+HlDGp[Ig<a\q32bJ>n8h'.Jh*u6.ns41V%3d.]!mLtg>a<VY#<TJF1\9s |
4704 | +h5t`rku3lT\ZV`%Og0!A1=GQe1^1(c5))-@*gBL2)_jTfbrrEOX)nM'gAFos(I@GD67n*->+uHF |
4705 | +:=t05XkM*5aX2GE:`u39%<#'8i2a$F>Ga$l3Eo+o'cq$&K=CK[eC'5)>%:8:m'(eFT*a^c\l$$_ |
4706 | +>R!23XS]%47d>`Djps0,%Jm#Cfcd>a[-sk9^*u^N]=#/#9M`9nSmksoHb6oREP,,LV))3\]=#AB |
4707 | +_(DBo1qV\<-@JI#;?n.5.]KR6&A+elYTcgG['ca,$j6tf%oABh$p5_;>Ug0H&HQ%$ZL_q1Rs._5 |
4708 | +^4kK``0;(',R=b-/3[ID>:4_(gF=i8((/`8Q=+(>pfX.D!QS??c?sJ@*+,:[bZD`c$ItulqaM!e |
4709 | +DG_O[;T+(mo.32E((0`@an&7T\hjTKYJ%.a5b,MqY"E@AhoiV]TA6P;&>RD!@EMTG8-#nm`3'I_ |
4710 | +ZC.AjbOY!s4RpX1d/kRo$Q,MWb$PYZ?4.KnRKZ.g(1GLRUe9RO;T:6q3`MN\-`+-'2E`O%n@1F8 |
4711 | +ZWe_Ge(T7=02_u3Zb<4b`<$k*e!m*6Ok!Ql_#7W+VLZ'>ZY1r)GJ.hFF-@>UOk!E.4<7)9""4O= |
4712 | +&<MUre>#+GU@J[LSX9hheQL3I22BYh@FA/PdTi3lh+A0gb&J!&7:<IVTYtgV0JH'V,*9<34iDKc |
4713 | +s%'\APF^>hJEbngb`bUY$\YZj7"'=<?40cUXo/MhIK.7A:h%5J!W[,+^(I74V`"Y\aW;%#n[RG( |
4714 | +rQ@Th_>X<E]hipG[=TGZ+auT*BO8L26cT=[$X%_LH%/?MrSL#0X0,i0IT)ZoAd:L(;15<:nR^c- |
4715 | +(:[$u&,ppr*c^:EI/n_Qf9q/05!tmIU;,WoAcu-B<MetW'WM6+Kqm]XCsFhL&j:hX#K,[pPjj'N |
4716 | +bNj*)%bOsUrl#4pl4$*7B)N:?SBO<McD_r?%]'-m:XAE[EPm7l1HtD2USX"T7U^_VqJWkdX%L:F |
4717 | +?:'2//OIjHK$Msh^,er+nAni)0G8@3TC"hY)a>A7=ul25oBtJl;^2Dl7/QJh`.%kM0LB$]`J:!C |
4718 | +KHXn'p&<r>h`<I+5P"VMoq*c&:jqX8E"30hOBN"fUSpUlqdea7n\:TBZRkR[Ds-K=0Rk(P>:QX; |
4719 | +[$$YM$spBP?&U_8`%ms\+rlsY?EjPFhBtK62DLiohCn5jJ,StQqOcEt>:RnTD`$GRB/pf(`_c`S |
4720 | +Ca0db9I"LQ]Y\/8S;_)ZBpdOa4;n[ko3$abDh>ga0XD&I*ta@K@e#Yud*c_c6(njg@>[tu3_^bB |
4721 | +!J-&@3BGI07T3a.mUJ/BUk1=Ob[V-=:5lQ[ACd>+(so0m1OUmF=fp3;Am(PS_dOOEBJrH<*:@Z& |
4722 | +R4KR-)4J'H3ZH>o>6SDH1pOtp-RjnVdUTM@#%Is2OMksd5pqoUQ"qFO0Ug5K;j"HPCGZrG0\d\? |
4723 | +do[TK#.X7rPiQC9RSJ#<JX5"u12HSF1RX:3LW&2rK0=CqA[FA6:05UE`6!7[)%Gb$/]*u(e+Iuu |
4724 | +5&%X#A\mJ@`_j+?)-#deN1PZ)^LCX@9kjc8F?n%*n+_.T"#/.[Vp)YiVR#0=>5phgJ8cL4:af^* |
4725 | +[kIO)(oPN7(CHumS1:X+MSfS5_f2i$$jKPX!=gmS_tl(*6%EJ__[r&0!<uB=&JiBKG\4q$&54MR |
4726 | +#*?aK+2oD)0W@Pt"C<$7!Q7b[L-`I+PXr"m4J&cE%&"BROSE:T9$5@31!>FETaX)j&8)qTj"/EP |
4727 | +a--=r,t!V!(<au(S<"3#'@`L8`7%th5/iY'B.PLJTOf"_@@Y"^L/Glo)?pknM)qQ]FSd?3PAMNl |
4728 | +bY2R;.aoPkBd$9Xh*jM*1C["r:_\l3;,EL9eQ>[+3+Y%u<.u#(:6BVa`O0c;CDatZI?.1O8pua\ |
4729 | +9/Skn<8(<AF;i]<FYR=U<cpK?<n;C\;[0Y[.oP#BrD*\o!OXLj<Uk$FAD1%[9H.-DAUAf.+W/EB |
4730 | +% |
4731 | +!6;F)d9`M")H"e[C&r<[roB=`%fVUEFH3hnT0G,2CEXPQl:>kh@e',3!T,Z'kCjadi!$n6,!5Og_*_- |
4732 | +K4257>T;X\A^cuT$tWL=#5G5:H"GXQn!mm]ST,GN)&3i'hjSFYL=fAMEL"tYJ8prV(mL=+B!k)] |
4733 | +VWUWb\"?Y=hM)qW0]6qleiMYK)J2h+<lKf]]Q>.YPt$$FLH<_3(C*"bBqk)Y&8@qYRl6\KD*"!Y |
4734 | +[VFS,cb@[*c8lm1OeatUL:H#i$Lc/KbmNQUcVUP33H%JfoK0@ceoX"2@@mb:#>,hH@BU!`_0lh- |
4735 | +hK,3*8IG)PT1QK3]XLO9Z$4Mk]!5\Y4m$#FVbt8Z\,aS$oXm+MkGqEtV:#3DemIiXg!%^DAH)UA |
4736 | +Y$&L=D[PhknB&HM>hT]Hks37qo.CFkZ&N;`(!$T@C<OH2<!L.ki'>@'Y*XLUJZ:k]5ni[LTZc@G |
4737 | +&4Ne=p1je;`#iEL7FAsF+Ttb\+(DHCKYdF8"B'mp?#W6#5h.@5_1WDDnF3Oq(a@l^'/3aQ-6Y_f |
4738 | +@ca<u3D[`q*^#fV%&#a>"u&:[6Fa9)e7:Lr&Ks_8!sJusPHTj_V("l#&J5&.6&Q;ns$k'\%%s+h |
4739 | +M@h;+,,hOH,MZIRE:PMKkEd<d'Ma^.Q%qdVpBjNGA;p$j2G"0``h\8'0JYs7Z:PmC+n.AoEM8gJ |
4740 | +LdDO/gnTL:+u1mP,nZsnMN7&N9#O3,-WJb^@'GYo6+%LH'c\B5o%F_bWGMuHCqbV*b$./Doe3#[ |
4741 | +1mQ=o:P25JgL,YiN/i'b8*8P=!Mk9YKsFlQ=i2ti6Z%OTg2+YB;^YX'7!#VqONU3jIA'7FN!J&P |
4742 | +K6bOdTnk[m8(n=QR,ECdat95?Ag.>&>d>L,E1o!0bfIbc#t#E3=V0XL7<_0,6R4Glnpt]sE5O5/ |
4743 | +.guWY(,.GMF:CSW>_U.M)MUdDK]$Z%VEpAN5o(V;ik.=M1r(&.d)c[[#W>t1cB'bOI8&`9'P`lX |
4744 | +;mAda9]La>Ae`Nl0h,qPkqb>t1$OQod)dAsUD9YIJVmDuaMfW#dA:\@R0Hi0J18,AY&s'4=#tf^ |
4745 | +/"JA129qsr3`$]/>l_$M4<.CPb>d5MF/nFZ\^e.X<WT0.V/MlmL1%t@XNK8'JBC#1(8#4d`/J4b |
4746 | +J2'IE^r`S>B!/@8P?*4Y/t"RK%+/AHYNn1r+S.pQ"SS)0C)L)?'d037TJ9%g),EU7UB`ZL0h2Qg |
4747 | +91'DkTp6lX>8S:-Wbn;c%6CHA]>BKjOCF--3in&qY1'E7A!]nNk=Xm-FJJG4]2O9bhDl/"C8bXS |
4748 | +PVN1S:rMnUU5Vqt^t'e?%qLNs0Es.hH7-+iKH5C2K.&jo@)NQ"0[pKJ'nZacpQiKAN["`F(oT/[ |
4749 | +L^gTld$3/p>T#:d<Xl\^1SLa$O>:3X6,GT;VL6aZ1J<>@JYO>rSG=(d&n>M@7jFgWOQ0526P3^? |
4750 | +.&"7!(kU8BLk]"@iP;XOnB;ioBi#s`UbnNle:r#><B)/+`#,:78+TbAa'j`EQ%Dd:6V]p(#)L]? |
4751 | +bhO%&8]qU3,gU-DM4Z,4?Ob]L0cW2GWC'3o5Pdc+Be:`"6SVSS)IH>T!5k\T*g=m<GcIeB/fRG; |
4752 | +C"0_8<3Pkm^%Ai=%Rf[))]YefQ@<0N`?:op0[:WCc<JY+oGiTCa;T4-GM%3=2eKs-U\$Ijg,g*5 |
4753 | +A'L08Ll17<iR#j1]Zu0I^>[jn6o8XTbT6:WF:Ab*1GWE;Hd@Q?ae6Qj-UKR+WQZC?]#lrWSbcrN |
4754 | +3O0(pTJD6H@NF=ukhlK+1MNCiWV#Vc#7L-Pm]bCdW@h*mS6K.6ppNe>fO<gQI$&D#0?$Kf(Xqc, |
4755 | +PAr38a,[]$i)*JoEdgs3_nQo8gqR"`(!4Jj?Obojb`$Roc,-tuA`;3VTPr+$El0&h,TO"XbD<:K |
4756 | +]!kf&*<WG6L+g;:=DJCYHBRhJBW6>5S*_I3Z$+;L`41V8m/=sl#2mt03Y&*8gdr9)rmBH-EP(>h |
4757 | +"1j4sF2((sH42n`U\,*<Y<#L"jVd8Bo^7jkQ4Gb])oi3B*d1"?Liq4G'h0iqg$!Hb:'Pp(LjIn. |
4758 | +?Gg`#2PpJ1P*>NZMSl:bL%F)EnA]$aR=b0a^t8lJjBXLIBDFbFk*I`=*<%>*[L-D#r1N0C2OJPG |
4759 | +H-,M<J$^3o5!(O$CA&:2NL4c.A^')QY)s."895A`rWgpJ)k=9KO-%`r)g/UQgR\68"#u7Q;*;Uh |
4760 | +"1gIJK35fGkW1XO"i)gN\7>h0K8B]*>R>p8]h>qfR6!+Q$O@S(^jAJUpbY6tq?c[i_&NZq0YIlK |
4761 | +1Vm$#$qq2>;Hf-G#!e"HP@PIpA/W3_+"[$fK:>8dq#\<n=1u,QK.C%3#t,Cs2Zp#'"/BioULbg2 |
4762 | +q?*ZVMaLEq.kNV0!N70"_PAh@bUeWje\a3r_Y>gngH@e=0UfeAK6T21i%fpekHZcq]R)e)_t/kG |
4763 | +1S>SL]Qi)<^_)f@A]-C[6:9,1$WfFJq'hO0Lk@EK39J/0\NXu(XV#o4J2fe\c%3ch`%X.\BSa/s |
4764 | +gk\QQ-WEaX5W=>21;>e,4]?,b#j0*r>*";'_gonKEJqf[=[hhhK?RL^6sD?j7M3FeLh&XZJ;-H_ |
4765 | +W&Vk_`c02BN(Q=]*#68H61anAZkU!%Fpp/Y%`gDVae2-P1QA]X7gq*_;r=\;GCquL7l_YGf]Igr |
4766 | +OLKlh&8Z,Pd*4]*l3"[eOao3L?o^a`0YH0^]c+IQ!2N-s1dVlk`Fssm]S/n@L''\%K7kN]'SqCO |
4767 | +a9,t%4VWgS/<NLLJk.TZ85+PmN/'tk%`m.^N/WY2;N8dpaN4"DN#\;.A:I0uM$cL,8X)XEM9X.A |
4768 | +U<1=#W$J4\-p*D*S]Ln1afC+)e<WM\\q:u7a4.0m,RDQFX:)Cob4p\n,`9bb:FU[R9*C;K=N_Nq |
4769 | +[mfLD#gr*#aX#!0UQL0^8'%JkN06cVRRblCN/UGdoO%]U0uiRs^seRi<,k6%n4=<"b*0Q`;"I6m |
4770 | +VT?<a9\aVZ,fDrqaciNhaK2HFYWS!sL)8q"7hj$;jMd,&f0Q&j9Y@ArH#cKWE=@d88Hd_eeD<m[ |
4771 | +UdoB[8Z\N+FJ$V'NrpYnMd2B>@q,V2`C$Hb",)sg]]m:4lHV6J`>%3%ED0+imt3=-O(>!/S?E8f |
4772 | +O%p\/bLGuT]Ze]HUd4"Q`?`\6JDZFgM$Tc4%C4069`5AjQ&)d34rB*i_5P]dM*'pgM4!$FjTU_G |
4773 | +QjJlP^(]g/6[;K2r/U8'K7o-kZ?F<#%aau3%.M!Lm1>Ysn22UP1.4)\,SiR3r4`Lq2aEG2MfOFU |
4774 | +_9laQ;7e-`=>i*RGKDjpQiSJL37n\94hc37;Fn\-R#cl0gGoY80kjljI3lKD+0fqgM;9Q^>=;@= |
4775 | +.gh7h;H5-l2%2Z!Go(;pdetK>lt&%OH;c[L")/"GI"k2b,nGRq!OQrF#X#iR]tj"N`]RGD\JA$C |
4776 | +9d&g1:jX-P5a6nt1qpSI5Z>p)X2':k=4&]^;*__3GVFcNA&B6<NQk>8F8RgMrD^EZK.+)_D,\?1 |
4777 | +4c/BdeWWG-*'(LTP_5onZI=%.=?-Ih;DR1\"!JqGZTU-D+Z'bYS7Q"b^c"(q@m^W7$W&RE\2r3# |
4778 | +Bu<aa&8c77gM'ZX3S)!1Ma5Cn?#H/e>Q`-,N;PB;KLCf23XC6u[(<sX9m\_I.Qlb64Rs!6eUG)e |
4779 | +i<(Mp$Fl\<+GZo/@RDBrJU36j0KHMpc-Q2h=G*t_Qo%d=%'8);!M,,XeQ9G4D_U"&_gjeQdr#UH |
4780 | +LFBc"<QNVA.Z;]$,uMl%)%D9^N%;[TYfK)o.(p_UX!WCLRT[Ed:kau>r<q,WNi@/T5I:+7>C<_4 |
4781 | +!f:/Z`G0=L(blMqEE:"3d/\m.rN-R2HO6gY&3uu$?nr1YQ\-ln"%4JqOTM28M_tVi`W@aH4#dX) |
4782 | +3B4R*fMF?4>IllS:l6YX4.Rl`X"R^.;72%k\V,'.c+jUU(g71WN,")OrJ`[]`8#ad=FItBE;\L& |
4783 | +c8ldsJ^'fm"h'%sg&l[r[F;C51B:Z+^cf3A>W]n]naI2gU=o_$N+r8qqaf=d8_9%BSt43W>++0( |
4784 | +EC,QP?:9NI&<Mj4fYc2eg*Pf>1P@`68)D0k]\S-Fh<!Mqb:1uVZq2%g"3K15Iu4Df2dM.G:u,5R |
4785 | +FP.55!L;KM?#eP'r)l0p1i6FR^%nsn:_2k`fpru6&b]=O1u7J<N\,qkMjLh"0sdDt7.dD8>A:GB |
4786 | +>ZPW((1%/sPV0lfoU+11[+l<jjpFQZQWa"qK3Q8XV%f/Yb#j*/8RjJ3\<p:k_a3+Z6rK9%[MM2h |
4787 | +*!:@)"$Ro,q#[O7[Z$.M@Mh&_b=dIM'OgDEYQ]_i'sA$??Er8n_2(-E3Wou--G_QH5jg6,Q7kNd |
4788 | +#f3kY;j1BJN\"X_/I8CU@oO=>PSPIg3Fa[&@n&Pr7,$[;*+O^GicAN1PR-9E(ZJFciN>PVKZME@ |
4789 | +7DNM)fJXNTLbZ@S7PK,Fj>7N@Xs@JB,RoJS.)%kI?;TX9,3"n\@IZoA?;sj]o0#K-jQ_oiQ.:g\ |
4790 | +/H[kj7;>X4%Pg+8&`QV@iuT"'4!!(@WSqr[53>:Bk"\?[bMm,G`<b*eY#f%:ioV"hAR6T[Nbr>c |
4791 | +C;>"2@ZDJ\N_8C"k@/*`@'i?:?396CKo.R[8%>N,Lc<..,q+J&f\JF;lR.MrMoG;%g"<A:&QOYt |
4792 | +"5L$%fW^E!KcFCkU"H_>_[-CAL#%BA>!GDA95TI#/[g;M]KBbZBagc)#%6[X%0I=V"#Np6/sXa7 |
4793 | +e^7-YXj3,,7'Tor?W&YDl,2MrNB"Q\T4nM"^sG,5r),,LT8GH7A0*\:qGV->iL'l*kmWI6DNYb& |
4794 | +02bd'l)'VY[00-'S`g/O"#?;0S8i9W]%V%r^+O6e92@u.Me]nEC4!am<juRDn5r/SA-<2'cD>"j |
4795 | +''n?DcaLADQCmLq8a@Z*ku8($#,CL@J%3e+lm=hhXT.Sr0C$QD74uXIjDf!"b%:"[Cr@'$r<2KB |
4796 | +'C1C9'!%q<knesu_DUJ%$\59EMp#f<=,Za(]n.?j2Vp=$fJV-MD8<qLrnWA_iO-b5DE+5o7c<]: |
4797 | +2c$KTK7-UQcKDlpH8oCl\3Ap\roc[$mXla:mUkJAW2/kifE%Rt%VuBY2J"VI0TmP59b?jrM5OHS |
4798 | +[(bHTe*>3,re1a43*1(^RcT5*Y(gVYORP^D_-f$:X^6h.&.H2HK,4h%f&f`Y:@4YV1Q]:+#hVNK |
4799 | +UIJLanF^Jt/7[[<ieVrDU%nW&o,Yc7Gc?rmnS""bX\t-XFRd"gM<PA)PRghl(mS>:?dh2Yi"trB |
4800 | +%U]*OE[MgWQ=:Au6kp+@2OfU_SPeq%@^]/>n\6TbIk:$7VmCRt92@6o-!+)seIhO3ElU$-4^.FN |
4801 | +,t%?^B@_:J59dj01."na5k+`q+>NEp*K0(LD=FIV00bBX0oTgMF8d4?37uaIQEEFfg3lscNr8Ec |
4802 | +79>TYP?"cFgGrCRg[Ya3oa=KMLpG(3.b;S=`WC(C(KSlGQL,RDF^U*f9i)Bh`X](6'+\DQj5T&O |
4803 | +?ZBqjEg%j&s'<$^;%9hqnS`!t55"P<+PQ>>!tSMnd)jdbMm`Rn@FJ#22ZL/U(CldMD+f.FLF$-s |
4804 | +f%X"^"3quIT54.L,4FVWE@5c#827S\)-;K./euTN<VQ(>1',^.hkr??;)!!,r7OG"eY@&-088<L |
4805 | +7TJ&mFLs;3NQWNe[eJ.<^[Tp;OPj?t3K.7GGZ^up$Q\iTPAu5/GnApp),tVaKaF.(_[)[<5EFEW |
4806 | +QeU\jK,8S(T\4K)S9a:\&Gk_g38KT[hg-lg\)1K$<P\-sIgU3)q)eT^pc8-M2gTD0f.V[Aj'9F6 |
4807 | +BgP2mqX9U?B-rLc6$QM`K<K\0:l5P%HUa2TP*_U6GIV=pG=KejOb^RO0=QR''`4N:qm*#EDnu,! |
4808 | +\pC$J-E"f[(VT`Z^K1)_kL4S(re$'m\oK3ZH\NaBd&/Cl.fAe`r6%H1kK<Q1bCb&QI1%"dE/k4u |
4809 | +"*1TXqi2D=T=]&T-%38EHnbC/JKbAd`I&qE2o!9/YJkq5rA9#_qg[LP5N"f)hL&:`5=`G:M^FRA |
4810 | +7s0"jp&A)&"Y%gf2GI.^Y)a@kG@(;.<crL]6L3/sJ)5O61;q(M"(bm'GfHQjoRE?S2h6Dt%&RO. |
4811 | +TYbM$(la7`)6?(X)[OGN;]rji0/8nj7Q;"8dfh`M9]h-^*YSp9_r<C,+N?&PNL`e@BG'6',8^iJ |
4812 | +@qg=(a"j)$:Bi$mYhjRYRnQb#JBVP7T$1ef>"pUm3#U"Qn087^DDJ+!lXlN#*:.5q_X#`lJAfG_ |
4813 | +Z,97i;fU4r9XdHc#0S0m(3D=%Y4g%\](^V5),>r3I0OPA0oYF2>-tAI2T]:rLGQ#\'b#jt``[]5 |
4814 | +F#TXN*R,2f/UoE_N#QF%6Qs\5Fft%Fj"ZsTBeMB6c,T@C_ATq@R>f$X.CX0(`9haFRD/1.H81oT |
4815 | +VV@f?_JZ4[7i6-g)o6?fQt>u_(BiQOY+BFh!tUUJDYJ-1`]cYKPSh))_sTO\:HDPQ50kqF2PB)> |
4816 | +DDM]pW+u"<bZh_=%-+A;K-:^1aJLEU98*a8nB08l6jTjE2Sk8[E\YOP@)=W-lT2&C#%<E^2oUCX |
4817 | +B,\!'&kO%EOj#0R8#Tqm]#!@3,8eJF&B(k'JZrQ"8J.'FmL@OT_MUqf8DOOs,C7r%L;PP/*ks<X |
4818 | +NsCWl]V*3Ej,iCYN04$SV+1QEIk8&bXR7i4$XdL".MN"%#/TeeYoZ2ii8Gg&dV-e5:]mBU3BcuX |
4819 | +Bg&c%^gg&"1$phn:D>9&S;]fL<oX["Rp6iS%a6Ue%]c8dYD,?=O'<*HI5`l7"$6Yk1dR461;.J( |
4820 | +).Y%.b]d\O+p`oL`PI.O!Et+`KHc8=b@+d]iXi#(LDFY@["r/sSJMJh9t>D+Jf(>#d5N8t+p_V: |
4821 | +i;6`fi+7.4OWC'C#'Yd!H=)6"iBQ3e@#8hk_77a4@,bRPGZ"1uMC.0\c7lV]U2ZlDfD%6p-]458 |
4822 | ++dELg.&J0E'm8\PLn^PrG[,NKE\(ES?(N8Hf$.ut#hM/b[q&uVO/5ilD=a,$)/IS9A6HLl->:!' |
4823 | +",MfN%C)bk2X%!9-OXdZXUTlLPAK7U@&>=+4'j/BlIq-'\I+c0YCKr2R&ceBHN%;$M`6*OD;lbB |
4824 | +ckn@HNZoul4%NeL4!T:HOJI$RcnOcJcSm!WK:BVY.cW4%1@uf@29mJ2\jA2EUF08F%RUm4L9X8^ |
4825 | +#jUt!5B5L9*U3ilTa://K$FD*$fUhi?]9S3US>iG\K`M9qg';7/^F+lL8XJ6T))"g%,P'Re;VVh |
4826 | +fCF5p0^7m!p4N>2H/jS%0`''.SokLp1LeD,s-T"MXVpDH%:Ph0T@8$[aa(l\-l@dC5]Y\G^j6Eb |
4827 | +BK)P;_PmX*M_RMV1adrA%TaR<%>!U/U%OQcgls9!.TR@pAN'b0)=hk86-Y'.k^QrR/LBh$,84-n |
4828 | +W>s[(%&KNK_nb>CSZ526bsWKuo^[1Nl/+TX</[a8kS_H$BdnSn0Wh_QSl1_N/V[^j"qp&=K+)6H |
4829 | +EHX8FAAgdVl8+DqA>2RZaI%eZhCVUg0rWI;gg`A"O7D3daB)7W6Q(2G+e1<C0[P&3&m1<;<&?pD |
4830 | +PTAi'RLC@28g\R(:1TTaPbF1m+#%56UmQ96;<@*X`-iS$b$,@LXOYL-jpTY[X"[D$2b+O)[\ZN1 |
4831 | +It<>c9NQcjA#+`LE]I.4kn$/);;hq<ANZ%skpGJs%h(quBUGd8-UTGWS5YSY9nEa69MD*2KMl\# |
4832 | +B^[dQg\44cd3Qf_WXU;d4Xe/'4O#nd5Ytm4R%^cmT)&gY<mW[f8so(oq5@%4XJ-0GjtXisg)Qjj |
4833 | +St7<_0Ui?q(`i8;SQ!gsa$^1M6\4\Q;_B&Q&D1=l)FRS5cl>Iu'G8P'9Q_K3D8jsfL'SI2I'fa> |
4834 | +TG^iul9t,ge><!G2mE7sRYe$-QDD2-'^Qh0&M#J?UK%<?='kQ-WjQ+<"#eb3aP!U'cW*(A8dA+K |
4835 | +_M>4hFN+Q3QtV&,A;\BS3EOqM=6p9]WTiQ)b[jfb6+&lcM\n.t,g[DR0ab4DJK+au&42[*A[7BM |
4836 | +AJ;)e5g/-T5%)Bo&?AWpUk3tbZa-L)!9Is4MP2JlcHh6\i(-W&W[A,pV\#lZ)Zp[X[<?(=>^LF] |
4837 | +Xj*E=kgB>K&BtGSfJ..V)@!ur`k6pM<\]\4[b9lUIj=nNZ+u;8VQ!rs#iY_`[2*.W!e=!\Yt$/8 |
4838 | +[2iRp)#juZ0pWDs$q;)RI:DPUM0H)'9)K>Njcm-27BmqB4<Z>RjqCa6Ig]&00"->Mi1%"*L!aVQ |
4839 | +%N<E!`C(V'i4s@BAC+j0`=i<>bR\0fP]"<Wb8_((1G$`a[DJ#T"QST%)eIg<_M]oIL@X_,<RpsT |
4840 | +[?=o%9V$WFOV,:1MD!!NdXqX2GCiW\rQj]Y%@OJB,<:B2917""e$<<(q5-\D3c@CrA6-',,lY=S |
4841 | +`?^'bX/&%J/<bU")m\hIP]Tp`"):O7grn9dot!Nq=d33hD<i\qO%7ISMXejb:<o;S_jVd?)2]kd |
4842 | +7feN2:ri@.eEM2_'kk0'aR691g0tPcbi'@)A70I'\Vp5"[KDjrQUB8h:r`>aj#r0W[Oj(u(pb7L |
4843 | +:h<5(2F)bZBUg=7Z%_a<)40)c2hpojWlU_XO?r!oBlerI&]Hnk]<?D?6\ZTH_+b,r=RR<pVF6BU |
4844 | +B&BKlg7!XnCCP@1hIZsaL6k`d6Ohr_4>?mu@X_]*Y3P#:4"P<5S\I/@ppNerXRRo1B&Wt^jMiR) |
4845 | +d,!WBGEflP3\"TQV6scb:7%B;11QXKjrG3E$k?L3&_8tP)FL`C/nhaNDQ].-pj!KT>p#l88,P^: |
4846 | +$HWK,82Y$`D,(FI^9Ku,94O^1%7/4n[i&[)?>4tX:7MN=0VU1m^rL]h%'WI(mN<LZX;cslD^?`d |
4847 | +nO7@"M]^m^gOR0jf'qO$_c\;UBrf-m:3fs-eg]D'020Ui20u)TOB8]/[$IN+R0-,>9`^PtH;h;b |
4848 | +drG:\!5l^#!n(pQTQqYN4<+,WJa8N.@"-0^)gV#(Um.[PIBRG7+c&:M;`;8U0KW509V.F5%E!AH |
4849 | +=X>T$4:EYs="'meNtr8.a&1s0.GhEmF0@Y[aA:A09#noGWF;"*Qu`^.2Eq$-kl2dTKHh=[5g\;h |
4850 | +LaO<anA+7]/X.PjFG`b^0FP`FcZ\f8EqFu4+@p)QK8_G0)F)$U"t:*c650j42Zo_iSI/CX0LGtN |
4851 | +mOk8"j/tjN:E9W*SdfIg-QpKf80fg>^4OH<q#nk97+0=(ljY?/-Qm/_`I\R-P4U'[P<eF(adeaa |
4852 | +,)`FDo8bNfUooS?oIg3gRt1,Rl5J!AA.101]L.?*#U#K7oI&sB6ib+4^rf,\GRQ'.%E`Gm%_sZH |
4853 | +BMD%/K2D9elonLt]S*Np&#sdWVW,puZq0]Oipe"2JhIV,jF(MhHZ:OTMGWhNEX*0p\qG;_X0A[! |
4854 | +"A9'ZM/<%(;';m]2D@g.N,6!-kob\ZL;GKnnSTOJ0l%Ni.Oa;65_..TD5sl&I1iei%#TZS%)P92 |
4855 | +I_nZm$uoH$YgtLY@V3_):D!:jBR\)s!uV.K95(WDOI$]Tcjq8J"mE0`W3i.(E&J-;,B,+Y?tccA |
4856 | +O=/6>-q%>NZ0j)/*$KjtirZBsW=L)FIO\f[m?.ZJ7^F-k%Pc2/%[%OL8Kf,_m3)K!jU@pn@gsU/ |
4857 | +ndc9=o4:*MX4g/8Bd2RWHGJ1tEYfWkONu5f-O"lnlKYZiK+,P(&eSU*Y2($l6Q^<Q+tNg;&gI4K |
4858 | +R2XM0r(7195fFnI7*+_Y(K,PfWY6070Zd!H#*IgPd1Xb7pCabg4TNW2;P)W:KYqdq'!];HN9!uX |
4859 | +QQ?.S'MGPBY):"lGm]RJVioR1bFpAIYRNAL'SEF$;&XP0>R#5iFGro;o+H,L37s-1%&VU.B0*a= |
4860 | +k(9]U&uS;Va>U22!`%oP%E2dI-YP>%D?hpXFHUgPjO5nT4#0Y*!fQ.j;c>R5km+.8=0?$gJk7j/ |
4861 | +i:S]$=.jUXVb%crEgG0#28VnN/]0(J]/?j,FFjoPXN[-+D)%s67'2VS7t:eBYTT]q0ER%=.2:_r |
4862 | +rc>6,/INs:"',hOE&sh\*X>7.mufkN6TIsYp($jm"lhfXDM0ZbL]D?J'Ce6G74V<^,a3]In:*#G |
4863 | +U3!Ep%j\1-oH#91(dX@+[?KZmY_;Zu9En;/47=FDKHi3-4VI&G)l3u@'/[hHdZ299/$THhnS%mJ |
4864 | +[OWsT'!uJBVpKig4uklH-@jZ,8X-"`T\N3i82PE^d-?49N@'2/7S^f)ENgQR\GIS:"qo!"6I.PE |
4865 | +jYgL_5V52nZje(,D_cFF2WZAI-nJ:2`\*K/*MQTBPf1l*i8U_@>@NICPj[MRN`VF.(67bM&ZdcD |
4866 | +W$.)>+;+i%Mcg\#"uoMu;3;tZ;IIfSBi2h>lQcs9eM.R7d80!J7l;;O7,E?SO&/d.%h9TC</W>m |
4867 | +jNt\X)Z\S%%rtG;Ys]0Hn-<55CTfF1bncE6;R$S00e0H91mI>'=;<Vjir[Y$f_(Kb(le#;K'";# |
4868 | +K^:D?=J3qm!,3AT0ebJ2]-8V,;%["$r=3t.,Tt]2;#IruMY8R]oMI(Ii6KrY%_ts\gsh`ljGd!V |
4869 | +>mJ=X<]0#;E:bQt#))Wf?f9^pjQqQN!u2Rd@>+n1K8F$]cj$g(@PLkkXCVCM5YMc(9W0F%nLID1 |
4870 | +bgg\VAAgt2"E;a#BKC*q.C"/1%eiqtOpoaQA`IaR08*2t0+t^%6a'IRi,9>4DWqJ4%nkt?E]SD% |
4871 | +G:n#d:K=L^o"6VN(f46a\7<Jj[O"C#bboIH'!:\>nmrJ3BF\pQ8Th(>MKVI4`<5TA:rt:!&<f3* |
4872 | +oTI/:S+2@`!-7UqhesY))3KUiLu=5"Bl;kVCS8`sa':8(pMAd7J*9=:%K?G@+Alll0*d%Y<lFc4 |
4873 | +G37&FP.*R^<-T\<I!N*;KIjieQEle;QY\qQ6#_XC&Lu=!M@<A?0%%WYOi]ZYC>R6BjFG-'EA25T |
4874 | +j*%Yh-'BZR(Qg"Xdemqh^QG`1P^"h(Y/r7"d'@^M(Me>i_g:QlV)P\B2n9]jW<Ft='fWMe&j(L# |
4875 | +8=KYeHthbkUD28pZ>*6]QZ`$o_BC/#2_L=[+d"9o+R^-m$Sh%AZ0aQ%G6C1;=)XEc(75DYd>'^+ |
4876 | +[i.!Z%g"aRKNu@@BnJ_fkZ(n.N+!@/5s1$r5'8N2pbiS_XTdcj_&-=.3+"LCH?C?KL-gTJ[VGM+ |
4877 | +fIaU-Ksrc2DgN_%nDV7b/u\tTJt!CTP(`J_feCpgMq\iRUkM?8:sG2D6LcM7SUL!iMkgG3W2Np. |
4878 | +bf<clfX<IXps1s`U6aH_"o-D`,3X]S5-YL)N_^9[.0uR.f8SmS..\4CYlB]Mp7YUnUD:D#Q,,)+ |
4879 | +F%]Wg1Q[(kGhFLHTd]RNDBpAF3;SVXc'*/!/ZfEd(sL>X8<K<$HQ^C.))dQ]Xd'5%OmD7qBbZY3 |
4880 | +&jd2tN_LX=bp5d^,E7s!1?1h.K(M&p`,Z^INnKFK,F%t>r_N?SFY*MGaQt%5@?OS#3Z4qO'5f`b |
4881 | +Ei5=.7JXG&e/(i;+cV(A;e5Dsb?(2`DQ]Yh1#c6\q25c:n1c'+9+;A(),:WtQ&L\2:H?dqH2a>u |
4882 | +f8OG4TW(DEQfSC'H_=gYTDBM"3Y8!#Jt#1BT<!U=EcT-&+:WkV%^F(`R5CN364MX.,+;,tAL9Mm |
4883 | +=ek(+V)htD8a^]!h!oPA8GW.[aT&,@F<a=D%&c_*"R\YX`bR!hP0cn:9OXn%4s?65p65fQ$S6-; |
4884 | +B;ab8OX7D)M!Q\f&JN:8WfeBi<tC`0OfWUcCD0&lB4`[PDKU9EJ`a2])T=Xe$L0'IA/`'2Z(St& |
4885 | +_kr%3NRX'-HKhXC!]1h&1A\8[j=r`(lT;]p4Z2FW;qNXe6n-H1YB/q6F7$5WHLJ#GXAf,m1G7q' |
4886 | +YH1bm=1[:s'\>X]q5j35PXVqfgD<UA1J(d[BN.1n)](nOfKqWARE"qIKZm+Vn-:sVZfL(apt.UQ |
4887 | +VL\8nNIr-2qg;CSeWX48\tX.<=u0%j0tU3uTGs\/lUaJ^MHEY@hclmTHP3+*Y1QE`X;K!k)6k6< |
4888 | +h2Y_(2FPNd7o"5,?`hRc]jTs)9-M#\2hKK'gTgRh*"PU3S3E1T^f..%\Pf1Ah7Wk!Z*4V@l&W/4 |
4889 | +dBZ^&4hE?3Hj-iu4[.Pm]c32aPrZ[737mMK9\R4>DO\FG7mJ_P#(0<IHW)F^@D2K[6)JM?'0ioj |
4890 | +CcQkH[`]8_HsO3KkI2DfS9sQX)nJsna2asq^g+(NZjt(Q[..*d#/#-mi^h\4L->Bj:r(,mI!^T5 |
4891 | +b]d^s2_Sm6!sK3+4>Sk'4VKRSkeY8UMXI#1;,LE'JhE!%#uSA<N:X'E(Ve>+^Rr&T.D51tq-B<B |
4892 | +(*Of@:[#S&fkZl[o@!i&N#WEG>liG[*>_umU`qYCE2rL:-.1=.GSgV2,^S!h-D4)BL;b!+g[:"' |
4893 | +Hca58b'b6s"2*&3+K`Y"%/ChrEG*s(<)muGd(#r+!6R2"cFjgu0,8ujo4=(r\(d&CLs`;$4g%Zc |
4894 | +I?O')/\SVA6OAC\c]ZVZgHuC4QJ!TVfTMRXR,D^X#q=FSNXT4g/H`LLb,hJundMs7=+G)CDCIVb |
4895 | +Z)&R`9*n7bQde,O_pH+9aT1<r+PYlra=oG)WU?L$)G/rllla^&mbT&F\)qOA9'j8jV*'mdKAfgc |
4896 | +JQX0d7W"b2d6H!]&U/S4#-WC:f[.Udqp18.YH0\G^6%+ehSPkFk:#fHA[S62Re5k5QLV<FM#^2Z |
4897 | +?Gj`#L*!ih&[g*10:)b4,]]jJ<u0.:%Gn:&bMJ>DV:Ks!i.BbRKXYDion."A$[e[<g6g<nm18C( |
4898 | +N@OI@n@k#ph0JB1cjrd\mX4NdI9,L>2s&>+FI,;b(e#EX\+4%>#pLhUN4p^O%@TVSd(`4"H5;[t |
4899 | +-6YTPc_":83EOS1]C+TmcN9'h#fB(",lgZa'lWrMn00"=6ZJq3dle*5@dM;mS%j*8Ic+e-r;$/\ |
4900 | +N<uh0-XP9uhjeiA\bSBUqk&nXp,5`sZQl*/pqOH=QRUPrd.s<7rEmV?#Gho9kPS/Grg'`Ds.m`+ |
4901 | +p`Kdi$&mq`2[BU4@2Qr*1)PUsk&Y>UhK(YAbcln#R*7B+`!kf"6)<RM1RLnV(sn4R0H,or#4kuN |
4902 | +k[Bn%ATH66_BTjW).;rr(s$B!)+Yt71PsW!5Fd\jEX=1Vdm,rd`^:o&INp.#7VG-iJCn:.0\=N< |
4903 | +;dm?,@lB^N@f`)Hc!Rqb/2Gs3G0XYRS*fqhe^V`P17b7B&]iI7KXIB1AkRs$`b!"Tc-]Y-<`^7Z |
4904 | +?Hi*&.FJZS^ts/*,:q3aEk'o1e_OBW>%OOt9pL9kfP@M<:\OLgOg)uL3UVi\/b[QQR*A)VVJ'Tq |
4905 | +>&W=>9fS.V]!"H%NUaV4s'(?"h$r\=*M6BIfA(7uhO4B@k5mPZBLZJanj%8J%3pM:Ka&"?*f,hd |
4906 | +U'`cZ&/lDBU*H[-P,.?ZKU.@p"0hZ]W0lf.%+#PTYm`6a+>guTki=RZj$Z5=$rJG!%1Zl=gbZif |
4907 | +!jK3?.0O9%`pm#2&?AEVHC:Y0]+TfF:s)BgNiH!EVaARoE0(ScMOOerJXFJ!"lhsV)bSQZ_\*Dg |
4908 | +5f4Kd!uUVE53#2R\>Z_2dbH[3F&nH_;i9QR$ue&O[)UA+d^Y&W'^@BVcglV(%T@3#2G^@ZBJDV* |
4909 | +9+8a8iLL]$%8(AL6S'r<4?C$JXO0n\@gtJT9f#K;8jHghA270F#gb@sXi3Xk:/B&6UWf\Sgbb%D |
4910 | +9m^#F#hrES=",=ePY"GU`\UZu5ha*.,@u:+KQ#5SSkV+*T\IV0=CrEZ28kNE>%u&c1"u4Nh'C5i |
4911 | +@*C]l,9Z5)^EYFPG"f@1\J\B^;WDato-i<U9\*JHLK>=6E40!%A49\K.7@`p`9njU$R%GIRPI?b |
4912 | +38I-d(AM8U.(-kO3">(.4us*EBZ)rl$G^+*%!dkFK1I_7E&hQ6j1H4fCY[Aih%JYdJ^#XBb_r@- |
4913 | +r!"'u<Z\1nlH,lCKW[Am]<LW?^gn>LRcSOhlLi5/1MrU>hlr(B5ftf/j1aceC\rY/P`A9_n%A+! |
4914 | +0)Dg=]Dg2_h!Sec^2MIQmAsZ22^QE5RdeN\N$o8$j7.6+)pe.$Spe%MqQEY_%UkH=eb%Z&?5\Kg |
4915 | +T.@,<h%qrfCL&T9cZZu<#K$5kcTButr/UHloUTW=iXU@ObN*shB]_(G0?8X(C;/<0(l%p#^T[P[ |
4916 | +GhAa<^<a:\V8$YsoF7D,^%V>p1>2NB>2RO[5;s^#?eI%?:\jh"=9ee*HU]V1`#0<*ckqC^1Ep7p |
4917 | +2j9>4$l>]O-fq#/(;a*>!Kn`<##qTEFf>Y1W+.*(N8bS&BGhqG/5cMu2MP^t*[#,O6/eK:)cUM7 |
4918 | +aAa@8!K]7(:r['Aj<5\H@O![R54?Qq%>Up!QNfmuSrspK5DatD#;`U/f'$TQAR[8\;OZgE$\hdJ |
4919 | +Cu'_T!b"YT`G6uT9?!"7*5e7jH-U7(a)t_]PI[N"$2HhW'k3";BJq*`,!NsoY81-d]N_)74=@*B |
4920 | +`^;OAJe)!iP*md?"/'iIneGQ$\Ig4?<1,P9Q;g<8nE:^8,Rrja<@ucH+2\LeQ7Q'?(%BWkhaso1 |
4921 | +1?=G$M'S']3o#g2k#4rm_O2@c`L1bK?cpsm+r6%M>(j7%bpTU$MP@eIdLp%[@)AII$JV#mI/OlG |
4922 | +"#*(k<@"\0/V>`h%H/F@?H^.m!s$G&-g<'e$gE*nj.[##@sJMle=)WPb`o$<p]f.M)[;%2)+t:J |
4923 | +PG--S;&$B9eT>+d^t'Ao(&]B3,puA#@$qll\?"k5CQ&;0eqTBiADer@.]>ad_UF;ZcEXDu.4tkB |
4924 | +8pZptnNa$CcD$K=*Duth&VcCYIT/(!:/0OPWAQT.6%EWb8KC_='eD:DlEZ,$eQbF68ID9![b!l@ |
4925 | +".QY!\Q;B1jsWRs#8JBs#8Yt%aWP:-+N<+s9*J\DFb-HV.*5SL)dsj\40g$Kr4$KAA.o-!%PS#G |
4926 | +=Z[:*+@V]C$]R`UP1!k"?oas\JEIMSTYLT(dZgXdTIcP'97a]L,Y.rc"r10pLhn?GW(qhD$1t:? |
4927 | +P@7$5`8o^Rn89X0rJm[m**+MC)d?co]-,$3h7Jo\6YX0F$%hNHX33sc'pH7rMTal"_WWQDn@[A1 |
4928 | +dC>#Uf'_Lb9a[cTg^mj\DT0eN7G,BlKEb(eiA*%J#T-sRej\0S2,[lH_V11+K1jB$]Yqm`TTJ%@ |
4929 | +""8E3"glb:P-]1b2"iBVdB9$Nirmq#))`:N'aLHBKcjg\"ouXaSRtlYd1LH0NefY=Uhp[#**fq/ |
4930 | +68oP.]31hZX]>#ES(!fa(n,,[<9`PcTJLd&:lO/=lVnhc+O[O9Wop*tiE*%KR@-W[AB\+DI+PF! |
4931 | +^fgeI%]U/^=QN0n.LH1[<`r;muned2NlO?5_V(9>?oE,RYr!`6QXV,=5g79O#XK4)k5FNHeU |
4932 | +k%u]4aoS<FTg1f=iU3iNp80\aDT^[UO_OF]WjJk&K)"mFOUM4lde_&oF?1p[()a@jF"G=i]m9mJ |
4933 | +#"d=5LBe!(BL+ETLiquUJ_O>G(&3!Y>*/ut+N-#O[,Xt-F>6IYVAd?sEbjc[^h%5tAqO;k^B5$` |
4934 | +1aVe9i;J17K7<dLEMaB:WjE6oIfePk9V9j;?WsN!!=ZULP3GBpX0'4'b#PAXn@gEj;i=O;r-"h\ |
4935 | +:gUms%i6L2,cbn`&R)$g']QraN'ri[p6UVGk+%;SQi[H:co3H:]\L8Ve*IrLb5dZppQfhT%DQrG |
4936 | +';klCP>qq\e%)q>0CBCdBWbiBZDT/1SNP'aDQ^R?QWiP5=OuPYjk<p>am?]X38u_DL<ernT&@[0 |
4937 | +pJ+fGQ^Pfq#A^jgT#oo9]W,O9F1tYT=kbrTN.m#H\H>"dh0`?N%)'dqq'=sg9)k5[I1r4c1g/l7 |
4938 | +OZ`9lRPp=/O?n[6EhcXMQ[/pC/JNtKWW;4*q6!o1@$<?=<BYI,5C_\,%nc0q6\tFfXmd!\O7ce: |
4939 | +bl"9s34DM*qR&Y3qh;G34Ro]L^'KRWD`ki80/k1-CWlS#U_r@)S]g>!!dfsdhYlI!#="FIO-hZ& |
4940 | +/)mSU)@m5K\S.V@39#h%bI/AiN[QiO4,uQFO$E7&&,@A4l#e>2g`Fgo%3,g=oERXlm2*s`]drlT |
4941 | +&f(oq8\h*b^bcb51S)!C(lRp%4Lk^43B3*c2kqV@\f;Eii%dT3T>!%f&M+q))DF4Z(HTJQ5p;eY |
4942 | +BKJ;7-GDQ)_FQbJqp.U@pn])lK-S])"/<>A$OA8R^5M);#i%]Qlb&GQ]PH[ll%(s\p;+*q]S#uC |
4943 | +<$f?d*5[(X_T:k,A1g&F0*<IX49808:p%57H4DE4\!)NaC*8<O@j5Ej]-Krp$[S&,B!i"sU,s!^ |
4944 | +?noMb5)ZaY\$7rm@&h/uQG>$kWgQ18ij;$.1U[Eg#s,C]R]S=:>;S0>.`<PBN*_XR>o=PM\P-5H |
4945 | +b[;pM7Cc'?[fEY:$nIS<:mOD$2QL4&3@C1c;FY=VX(lMgM3kXPRAK^2Lg_qp")&#DBeTYH2eb7j |
4946 | +4AHQZj@<'A(8D+cKQot]fJ!A?a4XD2fTDP#I7I/]OIUid9S&HR`%sqC%qsZ,8e.T"X[5?^W5(DM |
4947 | +<-^oIOg@S?$Xg@[5W:TX6BjL-7oYP%]TA7X2b1DGaCsq^!&dC_IMEHK8NW/h;?jIKPcLL&QP3a_ |
4948 | +ZK\FBNIro(]e!X$i#=p82@MB-_RMK+W'$_DW4>HM#U"aCga#M(E^aM6^bC<A4,UP[,D15'"%gjt |
4949 | +:cs`AVDWV"N+66d30Qm,DA?ZBbD;$-JBfa1@@9raQI7(>n?"Xj2^J3/K?2jYS!93mVT]+s)^$(d |
4950 | +5jf]GP07gGb`LO;kVaQH;%*H+(K7$OSBV-J+jC*s9bbaT(s]Wj*6gf9RRi,O:p!GSbfm"H9n8q( |
4951 | +;fk^#3C*2gWd(VWo\(W"2@=fcbZHqEd1)6WP;d<5^?QaA,eeo8qN3k9/WA?)>U2W%NOQNn\/<Z- |
4952 | +W=^7oB;.M9!LZ?a"S3f3T:uV-)O0n$XS,&(*Xp4<&_hD'1TE%Jh6n<p'>TKa&[/VFX,80q3Ct@: |
4953 | +UkP(EUUC8*O1]EfOdA<j#D6QZ-i:0G#l@H)32e%c1Vi4<*=!hBSB#0'N)2;p;$7G0MGY%O[Ao`S |
4954 | +\SsD.A<((q#W2mgH"stg?r=;gd(6^h2&_T>V[Eh:2Ap$tBtY^L9/]=%TTTX?dL8kaP_6'@':Q/6 |
4955 | +"I.#2PfY.aN)25eI4`R2Q:Z&79=pG;*1?u/:e0c(;[Zt8d#jk1J^3L?`N,6PO^j$37CV&bMtK.G |
4956 | +W:U@KSOSDS(`?.DC>5d\XT>s7'a66\E#c4;:fB(LJ]Xb<,e;B?Rh[5@eC8>+<.@lg(P>^92TcCM |
4957 | +_dCqEEQZNN"#.E@<9PK^0@c4$TsG=SeKY*_#M"ofN\J>,W=t5]*`X[;O!s$C!<nFL)OI*S;uoQZ |
4958 | +BH!'\B9;+cR*`uT,$,r!8liJ#5OE;!iaillG,3J?J^%h.g[/&l<eCi`U_7aW'l##eDPoNi\=HN^ |
4959 | +'baLD9@bLK'Ze24`Cq+[J(37ga7Xoq9i0$4&H`D^<$H&+<5pN2)Qle4`-Qp$F[@r:lk]Y^e3sFr |
4960 | +/RHhW:D"3OQ5oE&'Zc)\R@1oTK3B&?#m#o4"'KJhe<'umRpqAO-4?B1;ls`ACQo-n7Nt]"d^_u7 |
4961 | +7A&)7&QH`>Rei;3.%/IWGbea:g6t.I&j;3<9A5N3g<)Gug.fm^T8;TTV.!c,c*F!7kCJ&\f,A7& |
4962 | +ZO>M>Ff!'a(2Q?B.$BYAYmK*<$(RI([80tSL!X+[`T=QEK&]_TQB\eLWL]hfQnaHURF2+NOX6XB |
4963 | +'bD2^)m*eAK7Jl=&Y*#&ckB5<Mg=rU;LT#h=C!2[^kaoOC7^&oUkrOMfrLTJHTnsVWO/MUP-)l4 |
4964 | +bDP-0SqDaST,BChrS9?-4qY"Y?7k2g\M&f,Jrs$l.$Warq)&Hs4G*ur/ZlXPe&2Q]4dY+`?Ms[\ |
4965 | +:pc*o+4ds,h\e:Jh9-+<1Ko,@&tg4N#W[_npC6&oh]pbhSZ8BCT@$c/<eFutSTJ$1X;6c#Mcgu^ |
4966 | +R5@b:K<r_Vg&-XcbaI$_"@YbTg\k'DX)6\!!81kF?b(90`TbogEn<Jg(>9HofWG<^=kcrc3]MZr |
4967 | +)C5u7(qRu$,(*4E&;Ed8"dP%e<+5c5c'BEW10e4R=fQpIlFNtN[pk1>(7MnoW9E*(-(H#$fUs0" |
4968 | +T`rfFq4Q9a>u3Hs.&o#!*o9V>'IA33CWP7M1u*p")1A%-"@UbL\mqRh;ftl@on?4B;</<ohrkpe |
4969 | +NX;MM:fd)9j>(IO-+bM7@"Sq,Q%cg1F:MfTH&MIuR:mIj/kb6TJH;n;V2`@4p/>+'Z,fh8_i<QH |
4970 | +IQ&_D$-#l@7G_1IR5@A3>H:akj^qZu7H<0H3bAk+.f-ORJUs"MR27(IMhj.'^,fkA*1&!c:-N8C |
4971 | +kaH+.Yi^qGW51;Wa^aJADV3NSP'Tu<+T\t[W@=<-AN8u^Yr%TODJ*1FA"Ytn5qZ-UQ:Cj#X0)M. |
4972 | +Ek11oTA0?rik5jY^+EUP)2TShPr[2?!N7Bb`*%VBQI+$>[YZE(53T=1hSCZm2LaJ1SMsSO[0Dc' |
4973 | +Xj=^6=Q(l`BdR.u6DFo8P_k[cg%Lcs<b(,Wh-]q6kogrNY++.YBB-7`!NSA9>1:o'eRB(Fe`E)g |
4974 | +SDo^,hcX>F[OAMN5,jl>0\l>]9AH9(+>nddHYV,nC?:[4.^pq0\6Ep7CF60PNW6.fENTL]frF/t |
4975 | +7Od'*]U+)#arUq&=dg5"I;#KH+ILF,Q90Z;]IIn(#sr*h4k$'f=-l`&it1M^1ef_:\Nha4=UqV$ |
4976 | +q))rFHkSB'&Z2<(VD-\3d;:$ZitF$IP:or`75Gt'kQWatL:p1Xgt^J7asq>_AEn#N0j[C4ln%c< |
4977 | +Mc\S14h_Z#PW?1'H83@??'lLIg1(AS:l#nS^rQ04mcHhQ<paddRp_X'"3<0j5'8Ih)A%5b%E#"g |
4978 | +^./8`k+/I^P=f19/#?H68eu,kmb[h%<r=88r?_k[aH$(Rk4e>U=V2i+n!1F\:B3FH1N4E@%"A@5 |
4979 | +RQ5>D0CW<HVAB[g/b"hL:%4bL"#,9_+Z"&g#]Uf[/T2/>5t0Z!!q?>$Dk?\DXoXC=nH0Cdh%::i |
4980 | +l9*u^A^WH4D^'0M?M^Q7YZfaFP4&^90.*IRr*&83E^7LrB-m(crj@9oE1'g4Km"!L,jqqaEu%?F |
4981 | +E5Is9nQ)dF(,e`bng*_hct$K?F-KPkRe>ZQ)fS5m"!BB8)Y%@_\Rpm/keK+J%lddS&Z?!kF<,5i |
4982 | +]mCquqLb$;:4O7o<pd0F#(b(c/P-`fhWEc+.2a"KDVc.#hW5n8O@R;3mVWs6$EDXn*9%;Kl?S*d |
4983 | +AfMI?QV7\io":io3X35e@%p+2p)(L:03]Wl+*LO1b2l]I\riDcNfGB+1g;,SNpAl<,Qh6`p;"3> |
4984 | +O%53]qhpd&pE[0XI).j]l$#DNNj/0cpuHVNj(eHiNgFgI180S-m-f^:$5s0A(NO_Mq2SkSnV;[V |
4985 | +Dfj4/R.k:S:o[Rj@,b+JQu5erMcqkC`G+aTRBZI<e]O8%a_6ge"-f07iq5b##3ODa#00L'C+dJ? |
4986 | +57Y)G1DBe!m_+.8i:*F0maHZVl<e,^+!@7HliG5_masEgqiVVP8<c(hO>-S.;*omWU8*L>HB_0' |
4987 | +<0hiD`G0n'_=+B"d?OL2S_]Jr%OECK.kk+4l$'AqJYqSqL9m''F7.g)K0VK%T(T;sD!mL<i7>sY |
4988 | +dKfZR1Z6X(O`k;RDnih1_oSA)N%E<*=LJ&WP$'?ooQg(krd(^[*db4=TPhsMYWM,V*K=s5V/7d\ |
4989 | +pX,,%dkF-4mhj+1?Qko^qN'3XMd$Q$Z8ZMflYQk1".=&tE<`[kmH;iO@IN3mMd$VU:i9.eP[E80 |
4990 | +k34:<]ngSDHH2n#Gf9^'k5NE$H-A^+n$%,^R7S3t<4I\NhsYn+QN%+]Q*0M,`oI4En?1;/(gqoE |
4991 | +4f3i;f_0qj#Q]V&$5]1*-8UdsggW%.%HhdM[)=((NJ(dBR*9%CK0g_Y(n=VZ1DgQGOEa@.*-X<1 |
4992 | +b`PH#^gpq18`RhTBt3#@3'kcp!?%9KAJraQVb-fB@mkma9I<+UfY]rk%Rroj3LoAL0V"(L6VUCo |
4993 | +@B<D.7jD`tenD;/L'AR/SBt]9g<Bh#&]i+=WXVWWC3@heBJp`%a%O,.pO0g3NA]`VK\]Rh8I"lj |
4994 | +0r2j23ZSVVEt#5[LVt$HZ"#KGE]''CZ^L1`XQ4(ORPVE94U4u;bi\6g$NB%`AJuDn]Bns5_K@gX |
4995 | +%&YZuhb?AcNbGf[8X.i$_fW@KOhm)_g=^=$g0XR4EQ7?g]c8c"j2PlsF1NCLI#GdKf%fh+>/'48 |
4996 | +/OS%E1sb[/!'AIE1tK"N9%H&=:)!9m#;C3n#f(,cL`=1J5i1ocOJE.%.BL])&>AK\CB_SK__BP. |
4997 | +0\Bdm6LMciqRQ*bV\c58_e0QMcm#Rs824>n+h'b[2]rPaUPSn@dF7Ora0HgqerM$_=uFG'TPTh. |
4998 | +:eN(V,0;%&0e;i?-Fo+g0^^cVN'jPn`9dnpMZuJOBGi)UE999V6^ZjoX0]l:N/!GbS2d089(]hL |
4999 | +_5\?9N^K7d4jU)eju9?Y)]g`<["B/dTN("\6`::3E9j5cGi1NWUG1S*L*;6fM,9Eloi6`V,C*)q |
5000 | +<>?&_#(n/=JrF3>(c#08;^rZD/Rf&B%IET(0oVlHkb'A5Uma3q_kJ!5gWh*M15r.e]J237V"na7 |
The diff has been truncated for viewing.