Author: stliu
Date: 2009-11-24 15:21:05 -0500 (Tue, 24 Nov 2009)
New Revision: 18045
Added:
annotations/branches/v3_4_0_GA_CP/src/main/
annotations/branches/v3_4_0_GA_CP/src/main/assembly/
annotations/branches/v3_4_0_GA_CP/src/main/assembly/dist.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/images/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/images/hibernate_logo_a.png
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/master.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/additionalmodules.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/entity.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/setup.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/xml-overriding.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/fopdf.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.css
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html_chunk.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/images/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/images/hibernate_logo_a.png
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/master.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/entity.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/lucene.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/setup.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/validator.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/xml-overriding.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/fopdf.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.css
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html_chunk.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.ttf
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.ttc
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/userconfig.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/images/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/images/hibernate_logo_a.png
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/master.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/entity.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/lucene.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/setup.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/validator.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/xml-overriding.xml
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/fopdf.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.css
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.xsl
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html_chunk.xsl
annotations/branches/v3_4_0_GA_CP/src/main/java/
annotations/branches/v3_4_0_GA_CP/src/main/javadoc/
annotations/branches/v3_4_0_GA_CP/src/main/javadoc/jdstyle.css
annotations/branches/v3_4_0_GA_CP/src/main/javadoc/package.html
annotations/branches/v3_4_0_GA_CP/src/main/resources/
annotations/branches/v3_4_0_GA_CP/src/main/resources/org/
annotations/branches/v3_4_0_GA_CP/src/main/resources/org/hibernate/
annotations/branches/v3_4_0_GA_CP/src/main/resources/org/hibernate/ejb/
annotations/branches/v3_4_0_GA_CP/src/main/resources/org/hibernate/ejb/orm_1_0.xsd
Log:
JBPAPP-3150 change the build tool of Hibernate Annotations(eap 5 cp branch)
Added: annotations/branches/v3_4_0_GA_CP/src/main/assembly/dist.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/assembly/dist.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/assembly/dist.xml 2009-11-24 20:21:05 UTC
(rev 18045)
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<assembly>
+ <id>dist</id>
+ <formats>
+ <!-- <format>tar.gz</format>
+ <format>tar.bz2</format> -->
+ <format>zip</format>
+ </formats>
+
+ <dependencySets>
+ <dependencySet>
+ <useProjectArtifact>false</useProjectArtifact>
+ <outputDirectory>lib</outputDirectory>
+ <scope>runtime</scope>
+ </dependencySet>
+ </dependencySets>
+
+ <fileSets>
+ <fileSet>
+ <directory>target</directory>
+ <outputDirectory>.</outputDirectory>
+ <includes>
+ <include>*.jar</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>target/site/apidocs</directory>
+ <outputDirectory>docs/api</outputDirectory>
+ </fileSet>
+ <fileSet>
+ <directory>target/docbook/publish/en</directory>
+ <outputDirectory>docs/manual/en</outputDirectory>
+ </fileSet>
+ <fileSet>
+ <directory>.</directory>
+ <outputDirectory></outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <excludes>
+ <exclude>**/target/**</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+</assembly>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/images/hibernate_logo_a.png
===================================================================
(Binary files differ)
Property changes on:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/images/hibernate_logo_a.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/master.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/master.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/master.xml 2009-11-24 20:21:05
UTC (rev 18045)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"../support/docbook-dtd/docbookx.dtd" [
+<!ENTITY setup SYSTEM "modules/setup.xml">
+<!ENTITY entity SYSTEM "modules/entity.xml">
+<!ENTITY xml-overriding SYSTEM "modules/xml-overriding.xml">
+<!ENTITY additionalmodules SYSTEM "modules/additionalmodules.xml">
+]>
+<book lang="en">
+ <bookinfo>
+ <title>Hibernate Annotations</title>
+
+ <subtitle>Reference Guide</subtitle>
+
+ <releaseinfo>3.4.0.GA</releaseinfo>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/hibernate_logo_a.png"
format="png" />
+ </imageobject>
+ </mediaobject>
+ </bookinfo>
+
+ <toc></toc>
+
+ <preface id="preface" revision="1">
+ <title>Preface</title>
+
+ <para>Hibernate, like all other object/relational mapping tools, requires
+ metadata that governs the transformation of data from one representation
+ to the other. In Hibernate 2.x mapping metadata is most of the time
+ declared in XML text files. Alternatively XDoclet can be used utilizing
+ Javadoc source code annotations together with a compile time preprocessor.
+ </para>
+
+ <para>The same kind of annotation support is now available in the standard
+ JDK, although more powerful and with better tools support. IntelliJ IDEA
+ and Eclipse for example, support auto-completion and syntax highlighting
+ of JDK 5.0 annotations which are compiled into the bytecode and read at
+ runtime using reflection. No external XML files are needed.</para>
+
+ <para>The EJB3 specification recognizes the interest and the success of
+ the transparent object/relational mapping paradigm. It standardizes the
+ basic APIs and the metadata needed for any object/relational persistence
+ mechanism. <emphasis>Hibernate EntityManager</emphasis> implements the
+ programming interfaces and lifecycle rules as defined by the EJB3
+ persistence specification and together with <emphasis>Hibernate
+ Annotations</emphasis> offers a complete (and standalone) EJB3 persistence
+ solution on top of the mature Hibernate core. You may use a combination of
+ all three together, annotations without EJB3 programming interfaces and
+ lifecycle, or even pure native Hibernate, depending on the business and
+ technical needs of your project. At all times you cann fall back to
+ Hibernate native APIs, or if required, even to native JDBC and SQL.</para>
+
+ <para>This release of <emphasis>Hibernate Annotations</emphasis> is
based
+ on the final release of the EJB 3.0 / JPA specification (aka <ulink
+
url="http://jcp.org/en/jsr/detail?id=220">JSR-220</ulink>) and
+ supports all its features (including the optional ones). Hibernate
+ specific features and extensions are also available through
+ unstandardized, Hibernate specific annotations. While the Hibernate
+ feature coverage is high, some can not yet be expressed via annotations.
+ The eventual goal is to cover all of them. See the JIRA road map section
+ for more informations.</para>
+
+ <para>If you are moving from previous Hibernate Annotations versions,
+ please have a look at <ulink
url="http://www.hibernate.org/398.html">Java
+ Persistence migration guide</ulink>.</para>
+ </preface>
+
+ &setup;
+
+ &entity;
+
+ &xml-overriding;
+
+ &additionalmodules;
+</book>
\ No newline at end of file
Added:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/additionalmodules.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/additionalmodules.xml
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/additionalmodules.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="additionalmodules">
+ <title>Additional modules</title>
+
+ <para>Hibernate Annotations mainly focus on persistence metadata. The
+ project also have a nice integration with two Hibernate modules.</para>
+
+ <section>
+ <title>Hibernate Validator</title>
+
+ <section>
+ <title>Description</title>
+
+ <para>Annotations are a very convenient and elegant way to specify
+ invariant constraints for a domain model. You can, for example, express
+ that a property should never be null, that the account balance should be
+ strictly positive, etc. These domain model constraints are declared in
+ the bean itself by annotating its properties. A validator can then read
+ them and check for constraint violations. The validation mechanism can
+ be executed in different layers in your application without having to
+ duplicate any of these rules (presentation layer, data access layer).
+ Following the DRY principle, Hibernate Validator has been designed for
+ that purpose.</para>
+
+ <para>Hibernate Validator works at two levels. First, it is able to
+ check in-memory instances of a class for constraint violations. Second,
+ it can apply the constraints to the Hibernate metamodel and incorporate
+ them into the generated database schema.</para>
+
+ <para>Each constraint annotation is associated to a validator
+ implementation responsible for checking the constraint on the entity
+ instance. A validator can also (optionally) apply the constraint to the
+ Hibernate metamodel, allowing Hibernate to generate DDL that expresses
+ the constraint. With the appropriate event listener, you can execute the
+ checking operation on inserts and updates done by Hibernate. Hibernate
+ Validator is not limited to use with Hibernate. You can easily use it
+ anywhere in your application.</para>
+
+ <para>When checking instances at runtime, Hibernate Validator returns
+ information about constraint violations in an array of
+ <classname>InvalidValue</classname> s. Among other information, the
+ <classname>InvalidValue</classname> contains an error description
+ message that can embed the parameter values bundle with the annotation
+ (eg. length limit), and message strings that may be externalized to a
+ <classname>ResourceBundle</classname> .</para>
+ </section>
+
+ <section>
+ <title>Integration with Hibernate Annotations</title>
+
+ <para>If Hibernate Validator
+ (<filename>hibernate-validator.jar</filename>) is available in the
+ classpath, Hibernate Annotations will integrate in two ways:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Constraints will be applied to the Data Definition Language.
+ In other words, the database schema will reflect the constraints
+ (provided that you use the hbm2ddl tool).</para>
+ </listitem>
+
+ <listitem>
+ <para>Before an entity change is applied to the database (insert or
+ update), the entity is validated. Validation errors, if any, will be
+ carried over through an
+ <classname>InvalidStateException</classname>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>For entities free of validation rules, the runtime performance
+ cost is null.</para>
+
+ <para>To disable constraint propagation to DDL, set up
+ <literal>hibernate.validator.apply_to_ddl</literal> to false in the
+ configuration file. Such a need is very uncommon and not
+ recommended.</para>
+
+ <para>To disable pre-entity change validation, set up
+ <literal>hibernate.validator.autoregister_listeners</literal> to false
+ in the configuration file. Such a need is very uncommon and not
+ recommended.</para>
+
+ <para>Check the Hibernate Validator reference documentation for more
+ information.</para>
+ </section>
+ </section>
+
+ <section>
+ <title>Hibernate Search</title>
+
+ <section>
+ <title>Description</title>
+
+ <para>Full text search engines like <productname>Apache
+ Lucene</productname> are a very powerful technology to bring free
+ text/efficient queries to applications. If suffers several mismatches
+ when dealing with a object domain model (keeping the index up to date,
+ mismatch between the index structure and the domain model, querying
+ mismatch...) Hibernate Search indexes your domain model thanks to a few
+ annotations, takes care of the database / index synchronization and
+ brings you back regular managed objects from free text queries.
+ Hibernate Search is using <ulink
url="http://lucene.apache.org">Apache
+ Lucene</ulink> under the cover.</para>
+ </section>
+
+ <section>
+ <title>Integration with Hibernate Annotations</title>
+
+ <para>Hibernate Search integrates with Hibernate Annotations
+ transparently provided that hibernate-search.jar is present in the
+ classpath. If you do not wish to automatically register Hibernate Search
+ event listeners, you can set
+ <literal>hibernate.search.autoregister_listeners</literal> to false.
+ Such a need is very uncommon and not recommended.</para>
+
+ <para>Check the Hibernate Search reference documentation for more
+ information.</para>
+ </section>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/entity.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/entity.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/entity.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,3814 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="entity">
+ <title>Entity Beans</title>
+
+ <sect1 id="entity-overview" revision="2">
+ <title>Intro</title>
+
+ <para>This section covers EJB 3.0 (aka Java Persistence) entity
+ annotations and Hibernate-specific extensions.</para>
+ </sect1>
+
+ <sect1 id="entity-mapping" revision="2">
+ <title>Mapping with EJB3/JPA Annotations</title>
+
+ <para>EJB3 entities are plain POJOs. Actually they represent the exact
+ same concept as the Hibernate persistent entities. Their mappings are
+ defined through JDK 5.0 annotations (an XML descriptor syntax for
+ overriding is defined in the EJB3 specification). Annotations can be split
+ in two categories, the logical mapping annotations (allowing you to
+ describe the object model, the class associations, etc.) and the physical
+ mapping annotations (describing the physical schema, tables, columns,
+ indexes, etc). We will mix annotations from both categories in the
+ following code examples.</para>
+
+ <para>EJB3 annotations are in the
<literal>javax.persistence.*</literal>
+ package. Most JDK 5 compliant IDE (like Eclipse, IntelliJ IDEA and
+ Netbeans) can autocomplete annotation interfaces and attributes for you
+ (even without a specific "EJB3" module, since EJB3 annotations are plain
+ JDK 5 annotations).</para>
+
+ <para>For more and runnable concrete examples read the JBoss EJB 3.0
+ tutorial or review the Hibernate Annotations test suite. Most of the unit
+ tests have been designed to represent a concrete example and be a
+ inspiration source.</para>
+
+ <sect2 id="entity-mapping-entity">
+ <title>Declaring an entity bean</title>
+
+ <para>Every bound persistent POJO class is an entity bean and is
+ declared using the <literal>@Entity</literal> annotation (at the class
+ level):</para>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+ Long id;
+
+ @Id
+ public Long getId() { return id; }
+
+ public void setId(Long id) { this.id = id; }
+}
+ </programlisting>
+
+ <para><literal>@Entity</literal> declares the class as an entity
bean
+ (i.e. a persistent POJO class), <literal>@Id</literal> declares the
+ identifier property of this entity bean. The other mapping declarations
+ are implicit. This configuration by exception concept is central to the
+ new EJB3 specification and a major improvement. The class Flight is
+ mapped to the Flight table, using the column id as its primary key
+ column.</para>
+
+ <para>Depending on whether you annotate fields or methods, the access
+ type used by Hibernate will be <literal>field</literal> or
+ <literal>property</literal>. The EJB3 spec requires that you declare
+ annotations on the element type that will be accessed, i.e. the getter
+ method if you use <literal>property</literal> access, the field if you
+ use <literal>field</literal> access. Mixing EJB3 annotations in both
+ fields and methods should be avoided. Hibernate will guess the access
+ type from the position of <literal>@Id</literal> or
+ <literal>(a)EmbeddedId</literal>.</para>
+
+ <sect3>
+ <title>Defining the table</title>
+
+ <para><literal>@Table</literal> is set at the class level; it
allows
+ you to define the table, catalog, and schema names for your entity
+ bean mapping. If no <literal>@Table</literal> is defined the default
+ values are used: the unqualified class name of the entity.</para>
+
+ <programlisting>
+@Entity
+@Table(name="tbl_sky")
+public class Sky implements Serializable {
+...
+ </programlisting>
+
+ <para>The <literal>@Table</literal> element also contains a
+ <literal>schema</literal> and a
<literal>catalog</literal> attributes,
+ if they need to be defined. You can also define unique constraints to
+ the table using the <literal>@UniqueConstraint</literal> annotation
in
+ conjunction with <literal>@Table</literal> (for a unique constraint
+ bound to a single column, refer to
<literal>(a)Column</literal>).</para>
+
+ <programlisting>@Table(name="tbl_sky",
+ <emphasis role="bold">uniqueConstraints =
{@UniqueConstraint(columnNames={"month", "day"})}</emphasis>
+)</programlisting>
+
+ <para>A unique constraint is applied to the tuple month, day. Note
+ that the <literal>columnNames</literal> array refers to the logical
+ column names.</para>
+
+ <remark>The logical column name is defined by the Hibernate
+ NamingStrategy implementation. The default EJB3 naming strategy use
+ the physical column name as the logical column name. Note that this
+ may be different than the property name (if the column name is
+ explicit). Unless you override the NamingStrategy, you shouldn't worry
+ about that.</remark>
+ </sect3>
+
+ <sect3 id="entity-mapping-entity-version" revision="1">
+ <title>Versioning for optimistic locking</title>
+
+ <para>You can add optimistic locking capability to an entity bean
+ using the <literal>@Version</literal> annotation:</para>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+...
+ @Version
+ @Column(name="OPTLOCK")
+ public Integer getVersion() { ... }
+} </programlisting>
+
+ <para>The version property will be mapped to the
+ <literal>OPTLOCK</literal> column, and the entity manager will use
it
+ to detect conflicting updates (preventing lost updates you might
+ otherwise see with the last-commit-wins strategy).</para>
+
+ <para>The version column may be a numeric (the recommended solution)
+ or a timestamp as per the EJB3 spec. Hibernate support any kind of
+ type provided that you define and implement the appropriate
+ <classname>UserVersionType</classname>.</para>
+
+ <para>The application must not alter the version number set up by
+ Hibernate in any way. To artificially increase the version number,
+ check in Hibernate Entity Manager's reference documentation
+ <literal>LockMode.WRITE</literal></para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-mapping-property" revision="1">
+ <title>Mapping simple properties</title>
+
+ <sect3>
+ <title>Declaring basic property mappings</title>
+
+ <para>Every non static non transient property (field or method) of an
+ entity bean is considered persistent, unless you annotate it as
+ <literal>@Transient</literal>. Not having an annotation for your
+ property is equivalent to the appropriate <literal>@Basic</literal>
+ annotation. The <literal>@Basic</literal> annotation allows you to
+ declare the fetching strategy for a property:</para>
+
+ <programlisting>public transient int counter; //transient property
+
+private String firstname; //persistent property
+
+@Transient
+String getLengthInMeter() { ... } //transient property
+
+String getName() {... } // persistent property
+
+@Basic
+int getLength() { ... } // persistent property
+
+@Basic(fetch = FetchType.LAZY)
+String getDetailedComment() { ... } // persistent property
+
+(a)Temporal(TemporalType.TIME)
+java.util.Date getDepartureTime() { ... } // persistent property
+
+(a)Enumerated(EnumType.STRING)
+Starred getNote() { ... } //enum persisted as String in database</programlisting>
+
+ <para><literal>counter</literal>, a transient field, and
+ <literal>lengthInMeter</literal>, a method annotated as
+ <literal>@Transient</literal>, and will be ignored by the entity
+ manager. <literal>name</literal>,
<literal>length</literal>, and
+ <literal>firstname</literal> properties are mapped persistent and
+ eagerly fetched (the default for simple properties). The
+ <literal>detailedComment</literal> property value will be lazily
+ fetched from the database once a lazy property of the entity is
+ accessed for the first time. Usually you don't need to lazy simple
+ properties (not to be confused with lazy association fetching).</para>
+
+ <note>
+ <para>To enable property level lazy fetching, your classes have to
+ be instrumented: bytecode is added to the original one to enable
+ such feature, please refer to the Hibernate reference documentation.
+ If your classes are not instrumented, property level lazy loading is
+ silently ignored.</para>
+ </note>
+
+ <para>The recommended alternative is to use the projection capability
+ of EJB-QL or Criteria queries.</para>
+
+ <para>EJB3 support property mapping of all basic types supported by
+ Hibernate (all basic Java types , their respective wrappers and
+ serializable classes). Hibernate Annotations support out of the box
+ Enum type mapping either into a ordinal column (saving the enum
+ ordinal) or a string based column (saving the enum string
+ representation): the persistence representation, defaulted to ordinal,
+ can be overriden through the <literal>@Enumerated</literal>
annotation
+ as shown in the <literal>note</literal> property
example.</para>
+
+ <para>In core Java APIs, the temporal precision is not defined. When
+ dealing with temporal data you might want to describe the expected
+ precision in database. Temporal data can have
<literal>DATE</literal>,
+ <literal>TIME</literal>, or <literal>TIMESTAMP</literal>
precision (ie
+ the actual date, only the time, or both). Use the
+ <literal>@Temporal</literal> annotation to fine tune
that.</para>
+
+ <para><literal>@Lob</literal> indicates that the property
should be
+ persisted in a Blob or a Clob depending on the property type:
+ <classname>java.sql.Clob</classname>,
+ <classname>Character[]</classname>,
<classname>char[]</classname> and
+ java.lang.<classname>String</classname> will be persisted in a Clob.
+ <classname>java.sql.Blob</classname>,
<classname>Byte[]</classname>,
+ <classname>byte[] </classname>and serializable type will be
persisted
+ in a Blob.</para>
+
+ <programlisting>
+@Lob
+public String getFullText() {
+ return fullText;
+}
+
+@Lob
+public byte[] getFullCode() {
+ return fullCode;
+}
+ </programlisting>
+
+ <para>If the property type implements
+ <classname>java.io.Serializable</classname> and is not a basic type,
+ and if the property is not annotated with <literal>@Lob</literal>,
+ then the Hibernate <literal>serializable</literal> type is
+ used.</para>
+ </sect3>
+
+ <sect3 id="entity-mapping-property-column" revision="1">
+ <title>Declaring column attributes</title>
+
+ <para>The column(s) used for a property mapping can be defined using
+ the <literal>@Column</literal> annotation. Use it to override
default
+ values (see the EJB3 specification for more information on the
+ defaults). You can use this annotation at the property level for
+ properties that are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>not annotated at all</para>
+ </listitem>
+
+ <listitem>
+ <para>annotated with
<literal>@Basic</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annotated with
<literal>@Version</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annotated with <literal>@Lob</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annotated with
<literal>@Temporal</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annotated with
+
<literal>(a)org.hibernate.annotations.CollectionOfElements</literal>
+ (for Hibernate only)</para>
+ </listitem>
+ </itemizedlist>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+...
+@Column(updatable = false, name = "flight_name", nullable = false, length=50)
+public String getName() { ... }
+ </programlisting>
+
+ <para>The <literal>name</literal> property is mapped to the
+ <literal>flight_name</literal> column, which is not nullable, has a
+ length of 50 and is not updatable (making the property
+ immutable).</para>
+
+ <para>This annotation can be applied to regular properties as well as
+ <literal>@Id</literal> or <literal>@Version</literal>
+ properties.</para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="2 55" id="hm1" />
+
+ <area coords="3 55" id="hm2" />
+
+ <area coords="4 55" id="hm3" />
+
+ <area coords="5 55" id="hm4" />
+
+ <area coords="6 55" id="hm5" />
+
+ <area coords="7 55" id="hm6" />
+
+ <area coords="8 55" id="hm7" />
+
+ <area coords="9 55" id="hm8" />
+
+ <area coords="10 55" id="hm9" />
+
+ <area coords="11 55" id="hm10" />
+ </areaspec>
+
+ <programlisting>@Column(
+ name="columnName";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale</programlisting>
+
+ <calloutlist>
+ <callout arearefs="hm1">
+ <para><literal>name</literal> (optional): the column
name
+ (default to the property name)</para>
+ </callout>
+
+ <callout arearefs="hm2">
+ <para><literal>unique</literal> (optional): set a unique
+ constraint on this column or not (default false)</para>
+ </callout>
+
+ <callout arearefs="hm3">
+ <para><literal>nullable</literal> (optional): set the
column as
+ nullable (default true).</para>
+ </callout>
+
+ <callout arearefs="hm4">
+ <para><literal>insertable</literal> (optional): whether
or not
+ the column will be part of the insert statement (default
+ true)</para>
+ </callout>
+
+ <callout arearefs="hm5">
+ <para><literal>updatable</literal> (optional): whether or
not
+ the column will be part of the update statement (default
+ true)</para>
+ </callout>
+
+ <callout arearefs="hm6">
+ <para><literal>columnDefinition</literal> (optional):
override
+ the sql DDL fragment for this particular column (non
+ portable)</para>
+ </callout>
+
+ <callout arearefs="hm7">
+ <para><literal>table</literal> (optional): define the
targeted
+ table (default primary table)</para>
+ </callout>
+
+ <callout arearefs="hm8">
+
<para><literal><literal>length</literal></literal>
(optional):
+ column length (default 255)</para>
+ </callout>
+
+ <callout arearefs="hm8">
+
<para><literal><literal>precision</literal></literal>
+ (optional): column decimal precision (default 0)</para>
+ </callout>
+
+ <callout arearefs="hm10">
+
<para><literal><literal>scale</literal></literal>
(optional):
+ column decimal scale if useful (default 0)</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ </sect3>
+
+ <sect3>
+ <title>Embedded objects (aka components)</title>
+
+ <para>It is possible to declare an embedded component inside an entity
+ and even override its column mapping. Component classes have to be
+ annotated at the class level with the <literal>@Embeddable</literal>
+ annotation. It is possible to override the column mapping of an
+ embedded object for a particular entity using the
+ <literal>@Embedded</literal> and
<literal>@AttributeOverride</literal>
+ annotation in the associated property:</para>
+
+ <programlisting>
+@Entity
+public class Person implements Serializable {
+
+ // Persistent component using defaults
+ Address homeAddress;
+
+ @Embedded
+ @AttributeOverrides( {
+ @AttributeOverride(name="iso2", column =
@Column(name="bornIso2") ),
+ @AttributeOverride(name="name", column =
@Column(name="bornCountryName") )
+ } )
+ Country bornIn;
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class Address implements Serializable {
+ String city;
+ Country nationality; //no overriding here
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class Country implements Serializable {
+ private String iso2;
+ @Column(name="countryName") private String name;
+
+ public String getIso2() { return iso2; }
+ public void setIso2(String iso2) { this.iso2 = iso2; }
+
+
+ public String getName() { return name; }
+ public void setName(String name) { this.name = name; }
+ ...
+}
+ </programlisting>
+
+ <para>A embeddable object inherit the access type of its owning entity
+ (note that you can override that using the Hibernate specific
+ <literal>@AccessType</literal> annotations (see <xref
+ linkend="entity-hibspec" />).</para>
+
+ <para>The <literal>Person</literal> entity bean has two
component
+ properties, <literal>homeAddress</literal> and
+ <literal>bornIn</literal>. <literal>homeAddress</literal>
property has
+ not been annotated, but Hibernate will guess that it is a persistent
+ component by looking for the <literal>@Embeddable</literal>
annotation
+ in the Address class. We also override the mapping of a column name
+ (to <literal>bornCountryName</literal>) with the
+ <literal>@Embedded</literal> and <literal>@AttributeOverride
+ </literal>annotations for each mapped attribute of
+ <literal>Country</literal>. As you can see, <literal>Country
+ </literal>is also a nested component of
<literal>Address</literal>,
+ again using auto-detection by Hibernate and EJB3 defaults. Overriding
+ columns of embedded objects of embedded objects is currently not
+ supported in the EJB3 spec, however, Hibernate Annotations supports it
+ through dotted expressions.</para>
+
+ <para><programlisting> @Embedded
+ @AttributeOverrides( {
+ @AttributeOverride(name="city", column =
@Column(name="fld_city") ),
+ @AttributeOverride(name="<emphasis
role="bold">nationality.iso2</emphasis>", column =
@Column(name="nat_Iso2") ),
+ @AttributeOverride(name="<emphasis
role="bold">nationality.name</emphasis>", column =
@Column(name="nat_CountryName") )
+ //nationality columns in homeAddress are overridden
+ } )
+ Address homeAddress;</programlisting>Hibernate Annotations supports one
+ more feature that is not explicitly supported by the EJB3
+ specification. You can annotate a embedded object with the
+ <literal>@MappedSuperclass</literal> annotation to make the
superclass
+ properties persistent (see <literal>@MappedSuperclass</literal> for
+ more informations).</para>
+
+ <para>While not supported by the EJB3 specification, Hibernate
+ Annotations allows you to use association annotations in an embeddable
+ object (ie <literal>@*ToOne</literal> nor
+ <literal>@*ToMany</literal>). To override the association columns
you
+ can use <literal>(a)AssociationOverride</literal>.</para>
+
+ <para>If you want to have the same embeddable object type twice in the
+ same entity, the column name defaulting will not work: at least one of
+ the columns will have to be explicit. Hibernate goes beyond the EJB3
+ spec and allows you to enhance the defaulting mechanism through the
+ <classname>NamingStrategy</classname>.
+ <classname>DefaultComponentSafeNamingStrategy</classname> is a small
+ improvement over the default EJB3NamingStrategy that allows embedded
+ objects to be defaulted even if used twice in the same entity.</para>
+ </sect3>
+
+ <sect3>
+ <title>Non-annotated property defaults</title>
+
+ <para>If a property is not annotated, the following rules
+ apply:</para>
+
+ <itemizedlist>
+ <listitem>
+ If the property is of a single type, it is mapped as @Basic
+ </listitem>
+
+ <listitem>
+ Otherwise, if the type of the property is annotated as @Embeddable, it is
mapped as @Embedded
+ </listitem>
+
+ <listitem>
+ Otherwise, if the type of the property is Serializable, it is mapped as
@Basic in a column holding the object in its serialized version
+ </listitem>
+
+ <listitem>
+ Otherwise, if the type of the property is java.sql.Clob or java.sql.Blob, it
is mapped as @Lob with the appropriate LobType
+ </listitem>
+ </itemizedlist>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-mapping-identifier" label=""
+ xreflabel="Mapping identifier properties">
+ <title>Mapping identifier properties</title>
+
+ <para>The <literal>@Id</literal> annotation lets you define
which
+ property is the identifier of your entity bean. This property can be set
+ by the application itself or be generated by Hibernate (preferred). You
+ can define the identifier generation strategy thanks to the
+ <literal>@GeneratedValue</literal> annotation:</para>
+
+ <itemizedlist>
+ <listitem>
+ AUTO - either identity column, sequence or table depending on the underlying
DB
+ </listitem>
+
+ <listitem>
+ TABLE - table holding the id
+ </listitem>
+
+ <listitem>
+ IDENTITY - identity column
+ </listitem>
+
+ <listitem>
+ SEQUENCE - sequence
+ </listitem>
+ </itemizedlist>
+
+ <para>Hibernate provides more id generators than the basic EJB3 ones.
+ Check <xref linkend="entity-hibspec" /> for more
informations.</para>
+
+ <para>The following example shows a sequence generator using the
+ SEQ_STORE configuration (see below)</para>
+
+ <programlisting>
+@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
+public Integer getId() { ... }
+ </programlisting>
+
+ <para>The next example uses the identity generator:</para>
+
+ <programlisting>
+@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
+public Long getId() { ... }
+ </programlisting>
+
+ <para>The <literal>AUTO</literal> generator is the preferred type
for
+ portable applications (across several DB vendors). The identifier
+ generation configuration can be shared for several
+ <literal>@Id</literal> mappings with the generator attribute. There
are
+ several configurations available through
+ <literal>@SequenceGenerator</literal> and
+ <literal>@TableGenerator</literal>. The scope of a generator can be
the
+ application or the class. Class-defined generators are not visible
+ outside the class and can override application level generators.
+ Application level generators are defined at XML level (see <xref
+ linkend="xml-overriding" />):</para>
+
+ <programlisting><table-generator name="EMP_GEN"
+ table="GENERATOR_TABLE"
+ pk-column-name="key"
+ value-column-name="hi"
+ pk-column-value="EMP"
+ allocation-size="20"/>
+
+//and the annotation equivalent
+
+(a)javax.persistence.TableGenerator(
+ name="EMP_GEN",
+ table="GENERATOR_TABLE",
+ pkColumnName = "key",
+ valueColumnName = "hi"
+ pkColumnValue="EMP",
+ allocationSize=20
+)
+
+<sequence-generator name="SEQ_GEN"
+ sequence-name="my_sequence"
+ allocation-size="20"/>
+
+//and the annotation equivalent
+
+(a)javax.persistence.SequenceGenerator(
+ name="SEQ_GEN",
+ sequenceName="my_sequence",
+ allocationSize=20
+)
+ </programlisting>
+
+ <para>If JPA XML (like <filename>META-INF/orm.xml</filename>) is
used to
+ define thegenerators, <literal>EMP_GEN</literal> and
+ <literal>SEQ_GEN</literal> are application level generators.
+ <literal>EMP_GEN</literal> defines a table based id generator using
the
+ hilo algorithm with a <literal>max_lo</literal> of 20. The hi value is
+ kept in a <literal>table</literal>
"<literal>GENERATOR_TABLE</literal>".
+ The information is kept in a row where <literal>pkColumnName</literal>
+ "key" is equals to <literal>pkColumnValue</literal>
+ "<literal>EMP</literal>" and column
<literal>valueColumnName</literal>
+ "<literal>hi</literal>" contains the the next high value
used.</para>
+
+ <para><literal>SEQ_GEN</literal> defines a sequence generator
using a
+ sequence named <literal>my_sequence</literal>. The allocation size
used
+ for this sequence based hilo algorithm is 20. Note that this version of
+ Hibernate Annotations does not handle <literal>initialValue</literal>
in
+ the sequence generator. The default allocation size is 50, so if you
+ want to use a sequence and pickup the value each time, you must set the
+ allocation size to 1.</para>
+
+ <note>
+ <para>Package level definition is no longer supported by the EJB 3.0
+ specification. However, you can use the
+ <literal>@GenericGenerator</literal> at the package level (see
<xref
+ linkend="entity-hibspec-identifier" />).</para>
+ </note>
+
+ <para>The next example shows the definition of a sequence generator in a
+ class scope:</para>
+
+ <programlisting>
+@Entity
+(a)javax.persistence.SequenceGenerator(
+ name="SEQ_STORE",
+ sequenceName="my_sequence"
+)
+public class Store implements Serializable {
+ private Long id;
+
+ @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,
generator="SEQ_STORE")
+ public Long getId() { return id; }
+}
+ </programlisting>
+
+ <para>This class will use a sequence named my_sequence and the SEQ_STORE
+ generator is not visible in other classes. Note that you can check the
+ Hibernate Annotations tests in the
+ <package>org.hibernate.test.annotations.id</package> package for more
+ examples.</para>
+
+ <para>You can define a composite primary key through several
+ syntaxes:</para>
+
+ <itemizedlist>
+ <listitem>
+ annotate the component property as @Id and make the component class
@Embeddable
+ </listitem>
+
+ <listitem>
+ annotate the component property as @EmbeddedId
+ </listitem>
+
+ <listitem>
+ annotate the class as @IdClass and annotate each property of the entity
involved in the primary key with @Id
+ </listitem>
+ </itemizedlist>
+
+ <para>While quite common to the EJB2 developer,
+ <literal>@IdClass</literal> is likely new for Hibernate users. The
+ composite primary key class corresponds to multiple fields or properties
+ of the entity class, and the names of primary key fields or properties
+ in the primary key class and those of the entity class must match and
+ their types must be the same. Let's look at an example:</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">(a)IdClass(FootballerPk.class)</emphasis>
+public class Footballer {
+ //part of the id key
+ <emphasis role="bold">@Id</emphasis> public String
getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ //part of the id key
+ <emphasis role="bold">@Id</emphasis> public String
getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getClub() {
+ return club;
+ }
+
+ public void setClub(String club) {
+ this.club = club;
+ }
+
+ //appropriate equals() and hashCode() implementation
+}
+
+@Embeddable
+public class FootballerPk implements Serializable {
+ //same name and type as in Footballer
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ //same name and type as in Footballer
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ //appropriate equals() and hashCode() implementation
+}
+</programlisting>
+
+ <para>As you may have seen, <literal>@IdClass</literal> points to
the
+ corresponding primary key class.</para>
+
+ <para>While not supported by the EJB3 specification, Hibernate allows
+ you to define associations inside a composite identifier. Simply use the
+ regular annotations for that</para>
+
+ <programlisting>@Entity
+@AssociationOverride( name="id.channel", joinColumns =
@JoinColumn(name="chan_id") )
+public class TvMagazin {
+ @EmbeddedId public TvMagazinPk id;
+ @Temporal(TemporalType.TIME) Date time;
+}
+
+@Embeddable
+public class TvMagazinPk implements Serializable {
+ @ManyToOne
+ public Channel channel;
+ public String name;
+ @ManyToOne
+ public Presenter presenter;
+}
+</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>Mapping inheritance</title>
+
+ <para>EJB3 supports the three types of inheritance:</para>
+
+ <itemizedlist>
+ <listitem>
+ Table per Class Strategy: the <union-class> element in Hibernate
+ </listitem>
+
+ <listitem>
+ Single Table per Class Hierarchy Strategy: the <subclass>
element in Hibernate
+ </listitem>
+
+ <listitem>
+ Joined Subclass Strategy: the <joined-subclass> element in
Hibernate
+ </listitem>
+ </itemizedlist>
+
+ <para>The chosen strategy is declared at the class level of the top
+ level entity in the hierarchy using the
<literal>@Inheritance</literal>
+ annotation.</para>
+
+ <note>
+ <para>Annotating interfaces is currently not supported.</para>
+ </note>
+
+ <sect3>
+ <title>Table per class</title>
+
+ <para>This strategy has many drawbacks (esp. with polymorphic queries
+ and associations) explained in the EJB3 spec, the Hibernate reference
+ documentation, Hibernate in Action, and many other places. Hibernate
+ work around most of them implementing this strategy using <literal>SQL
+ UNION</literal> queries. It is commonly used for the top level of an
+ inheritance hierarchy:</para>
+
+ <programlisting>
+@Entity
+@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
+public class Flight implements Serializable {
+ </programlisting>
+
+ <para>This strategy support one to many associations provided that
+ they are bidirectional. This strategy does not support the
+ <literal>IDENTITY</literal> generator strategy: the id has to be
+ shared across several tables. Consequently, when using this strategy,
+ you should not use <literal>AUTO </literal>nor
+ <literal>IDENTITY</literal>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Single table per class hierarchy</title>
+
+ <para>All properties of all super- and subclasses are mapped into the
+ same table, instances are distinguished by a special discriminator
+ column:</para>
+
+ <programlisting>
+@Entity
+(a)Inheritance(strategy=InheritanceType.SINGLE_TABLE)
+@DiscriminatorColumn(
+ name="planetype",
+ discriminatorType=DiscriminatorType.STRING
+)
+@DiscriminatorValue("Plane")
+public class Plane { ... }
+
+@Entity
+@DiscriminatorValue("A320")
+public class A320 extends Plane { ... }
+ </programlisting>
+
+ <para><classname>Plane</classname> is the superclass, it
defines the
+ inheritance strategy
<literal>InheritanceType.SINGLE_TABLE</literal>.
+ It also defines the discriminator column through the
+ <literal>@DiscriminatorColumn</literal> annotation, a discriminator
+ column can also define the discriminator type. Finally, the
+ <literal>@DiscriminatorValue</literal> annotation defines the value
+ used to differentiate a class in the hierarchy. All of these
+ attributes have sensible default values. The default name of the
+ discriminator column is <literal>DTYPE</literal>. The default
+ discriminator value is the entity name (as defined in
+ <literal>(a)Entity.name</literal>) for DiscriminatorType.STRING.
+ <classname>A320</classname> is a subclass; you only have to define
+ discriminator value if you don't want to use the default value. The
+ strategy and the discriminator type are implicit.</para>
+
+ <para><literal>@Inheritance</literal> and
+ <literal>@DiscriminatorColumn</literal> should only be defined at
the
+ top of the entity hierarchy.</para>
+ </sect3>
+
+ <sect3>
+ <title>Joined subclasses</title>
+
+ <para>The<literal> @PrimaryKeyJoinColumn</literal> and
+ <literal>@PrimaryKeyJoinColumns</literal> annotations define the
+ primary key(s) of the joined subclass table:</para>
+
+ <programlisting>
+@Entity
+(a)Inheritance(strategy=InheritanceType.JOINED)
+public class Boat implements Serializable { ... }
+
+@Entity
+public class Ferry extends Boat { ... }
+
+@Entity
+@PrimaryKeyJoinColumn(name="BOAT_ID")
+public class AmericaCupClass extends Boat { ... }
+ </programlisting>
+
+ <para>All of the above entities use the
<literal>JOINED</literal>
+ strategy, the <literal>Ferry</literal> table is joined with the
+ <literal>Boat</literal> table using the same primary key names. The
+ <literal>AmericaCupClass</literal> table is joined with
+ <literal>Boat</literal> using the join condition <code>Boat.id
=
+ AmericaCupClass.BOAT_ID</code>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Inherit properties from superclasses</title>
+
+ <para>This is sometimes useful to share common properties through a
+ technical or a business superclass without including it as a regular
+ mapped entity (ie no specific table for this entity). For that purpose
+ you can map them as
<literal>(a)MappedSuperclass</literal>.</para>
+
+ <programlisting>@MappedSuperclass
+public class BaseEntity {
+ @Basic
+ @Temporal(TemporalType.TIMESTAMP)
+ public Date getLastUpdate() { ... }
+ public String getLastUpdater() { ... }
+ ...
+}
+
+@Entity class Order extends BaseEntity {
+ @Id public Integer getId() { ... }
+ ...
+}</programlisting>
+
+ <para>In database, this hierarchy will be represented as an
+ <literal>Order</literal> table having the
<literal>id</literal>,
+ <literal>lastUpdate</literal> and
<literal>lastUpdater</literal>
+ columns. The embedded superclass property mappings are copied into
+ their entity subclasses. Remember that the embeddable superclass is
+ not the root of the hierarchy though.</para>
+
+ <note>
+ <para>Properties from superclasses not mapped as
+ <literal>@MappedSuperclass</literal> are ignored.</para>
+ </note>
+
+ <note>
+ <para>The access type (field or methods), is inherited from the root
+ entity, unless you use the Hibernate annotation
+ <literal>@AccessType</literal></para>
+ </note>
+
+ <note>
+ <para>The same notion can be applied to
+ <literal>@Embeddable</literal> objects to persist properties from
+ their superclasses. You also need to use
+ <literal>@MappedSuperclass</literal> to do that (this should not
be
+ considered as a standard EJB3 feature though)</para>
+ </note>
+
+ <note>
+ <para>It is allowed to mark a class as
+ <literal>@MappedSuperclass</literal> in the middle of the mapped
+ inheritance hierarchy.</para>
+ </note>
+
+ <note>
+ <para>Any class in the hierarchy non annotated with
+ <literal>@MappedSuperclass</literal> nor
<literal>@Entity</literal>
+ will be ignored.</para>
+ </note>
+
+ <para>You can override columns defined in entity superclasses at the
+ root entity level using the <literal>@AttributeOverride</literal>
+ annotation.</para>
+
+ <programlisting>@MappedSuperclass
+public class FlyingObject implements Serializable {
+
+ public int getAltitude() {
+ return altitude;
+ }
+
+ @Transient
+ public int getMetricAltitude() {
+ return metricAltitude;
+ }
+
+ @ManyToOne
+ public PropulsionType getPropulsion() {
+ return metricAltitude;
+ }
+ ...
+}
+
+@Entity
+@AttributeOverride( name="altitude", column =
@Column(name="fld_altitude") )
+@AssociationOverride( name="propulsion", joinColumns =
@JoinColumn(name="fld_propulsion_fk") )
+public class Plane extends FlyingObject {
+ ...
+}</programlisting>
+
+ <para>The <literal>altitude</literal> property will be
persisted in an
+ <literal>fld_altitude</literal> column of table
+ <literal>Plane</literal> and the propulsion association will be
+ materialized in a <literal>fld_propulsion_fk</literal> foreign key
+ column.</para>
+
+ <para>You can define <literal>@AttributeOverride</literal>(s)
and
+ <literal>@AssociationOverride</literal>(s) on
+ <literal>@Entity</literal> classes,
+ <literal>@MappedSuperclass</literal> classes and properties pointing
+ to an <literal>@Embeddable</literal> object.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-mapping-association">
+ <title>Mapping entity bean associations/relationships</title>
+
+ <sect3>
+ <title>One-to-one</title>
+
+ <para>You can associate entity beans through a one-to-one relationship
+ using <literal>@OneToOne</literal>. There are three cases for
+ one-to-one associations: either the associated entities share the same
+ primary keys values, a foreign key is held by one of the entities
+ (note that this FK column in the database should be constrained unique
+ to simulate one-to-one multiplicity), or a association table is used
+ to store the link between the 2 entities (a unique constraint has to
+ be defined on each fk to ensure the one to one multiplicity)</para>
+
+ <para>First, we map a real one-to-one association using shared primary
+ keys:</para>
+
+ <programlisting>
+@Entity
+public class Body {
+ @Id
+ public Long getId() { return id; }
+
+ @OneToOne(cascade = CascadeType.ALL)
+ @PrimaryKeyJoinColumn
+ public Heart getHeart() {
+ return heart;
+ }
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Heart {
+ @Id
+ public Long getId() { ...}
+}
+ </programlisting>
+
+ <para>The one to one is marked as true by using the
+ <literal>@PrimaryKeyJoinColumn</literal> annotation.</para>
+
+ <para>In the following example, the associated entities are linked
+ through a foreign key column:</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToOne(cascade = CascadeType.ALL)
+ <emphasis
role="bold">@JoinColumn(name="passport_fk")</emphasis>
+ public Passport getPassport() {
+ ...
+ }
+
+@Entity
+public class Passport implements Serializable {
+ @OneToOne(<emphasis role="bold">mappedBy =
"passport"</emphasis>)
+ public Customer getOwner() {
+ ...
+}
+ </programlisting>
+
+ <para>A <classname>Customer</classname> is linked to a
+ <classname>Passport</classname>, with a foreign key column named
+ <literal>passport_fk</literal> in the
<literal>Customer</literal>
+ table. The join column is declared with the
+ <literal>@JoinColumn</literal> annotation which looks like the
+ <literal>@Column</literal> annotation. It has one more parameters
+ named <literal>referencedColumnName</literal>. This parameter
declares
+ the column in the targeted entity that will be used to the join. Note
+ that when using
+
<literal><literal>referencedColumnName</literal></literal> to a
non
+ primary key column, the associated class has to be
+ <classname>Serializable</classname>. Also note that the
+
<literal><literal>referencedColumnName</literal></literal> to a
non
+ primary key column has to be mapped to a property having a single
+ column (other cases might not work).</para>
+
+ <para>The association may be bidirectional. In a bidirectional
+ relationship, one of the sides (and only one) has to be the owner: the
+ owner is responsible for the association column(s) update. To declare
+ a side as <emphasis>not</emphasis> responsible for the relationship,
+ the attribute <literal>mappedBy</literal> is used.
+ <literal>mappedBy</literal> refers to the property name of the
+ association on the owner side. In our case, this is
+ <literal>passport</literal>. As you can see, you don't have to
(must
+ not) declare the join column since it has already been declared on the
+ owners side.</para>
+
+ <para>If no <literal>@JoinColumn</literal> is declared on the
owner
+ side, the defaults apply. A join column(s) will be created in the
+ owner table and its name will be the concatenation of the name of the
+ relationship in the owner side, <keycap>_</keycap> (underscore), and
+ the name of the primary key column(s) in the owned side. In this
+ example <literal>passport_id</literal> because the property name is
+ <literal>passport</literal> and the column id of
<literal>Passport
+ </literal>is <literal>id</literal>.</para>
+
+ <para>The third possibility (using an association table) is very
+ exotic.</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToOne(cascade = CascadeType.ALL)
+ <emphasis role="bold">@JoinTable(name =
"CustomerPassports",
+ joinColumns = @JoinColumn(name="customer_fk"),
+ inverseJoinColumns = @JoinColumn(name="passport_fk")</emphasis>
+ )
+ public Passport getPassport() {
+ ...
+ }
+
+@Entity
+public class Passport implements Serializable {
+ @OneToOne(<emphasis role="bold">mappedBy =
"passport"</emphasis>)
+ public Customer getOwner() {
+ ...
+}
+ </programlisting>
+
+ <para>A <classname>Customer</classname> is linked to a
+ <classname>Passport</classname> through a association table named
+ <literal>CustomerPassports</literal> ; this association table has a
+ foreign key column named <literal>passport_fk</literal> pointing to
+ the <literal>Passport</literal> table (materialized by the
+ <literal>inverseJoinColumn</literal>, and a foreign key column named
+ <literal>customer_fk</literal> pointing to the
+ <literal>Customer</literal> table materialized by the
+ <literal>joinColumns</literal> attribute.</para>
+
+ <para>You must declare the join table name and the join columns
+ explicitly in such a mapping.</para>
+ </sect3>
+
+ <sect3>
+ <title>Many-to-one</title>
+
+ <para>Many-to-one associations are declared at the property level with
+ the annotation <literal>@ManyToOne</literal>:</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ <emphasis role="bold">@ManyToOne</emphasis>( cascade =
{CascadeType.PERSIST, CascadeType.MERGE} )
+ @JoinColumn(name="COMP_ID")
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+ </programlisting>
+
+ <para>The <literal>@JoinColumn</literal> attribute is optional,
the
+ default value(s) is like in one to one, the concatenation of the name
+ of the relationship in the owner side, <keycap>_</keycap>
+ (underscore), and the name of the primary key column in the owned
+ side. In this example <literal>company_id</literal> because the
+ property name is <literal>company</literal> and the column id of
+ Company is <literal>id</literal>.</para>
+
+ <para><literal>@ManyToOne</literal> has a parameter named
+ <literal>targetEntity</literal> which describes the target entity
+ name. You usually don't need this parameter since the default value
+ (the type of the property that stores the association) is good in
+ almost all cases. However this is useful when you want to use
+ interfaces as the return type instead of the regular entity.</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, <emphasis
+ role="bold">targetEntity=CompanyImpl.class</emphasis> )
+ @JoinColumn(name="COMP_ID")
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+
+public interface Company {
+ ...
+ </programlisting>
+
+ <para>You can alse map a many to one association through an
+ association table. This association table described by the
+ <literal>@JoinTable</literal> annotation will contains a foreign key
+ referencing back the entity table (through
+ <literal>(a)JoinTable.joinColumns</literal>) and a a foreign key
+ referencing the target entity table (through
+ <literal>(a)JoinTable.inverseJoinColumns</literal>).</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
+ <emphasis role="bold">@JoinTable(name="Flight_Company",
+ joinColumns = @JoinColumn(name="FLIGHT_ID"),
+ inverseJoinColumns = @JoinColumn(name="COMP_ID")
+ )</emphasis>
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+ </programlisting>
+ </sect3>
+
+ <sect3 id="entity-mapping-association-collections"
revision="1">
+ <title>Collections</title>
+
+ <sect4 id="entity-mapping-association-collections-overview"
+ revision="1">
+ <title>Overview</title>
+
+ <para>You can map <classname>Collection</classname>,
+ <literal>List</literal> (ie ordered lists, not indexed lists),
+ <literal>Map</literal> and <classname>Set</classname>.
The EJB3
+ specification describes how to map an ordered list (ie a list
+ ordered at load time) using
+ <literal>(a)javax.persistence.OrderBy</literal> annotation: this
+ annotation takes into parameter a list of comma separated (target
+ entity) properties to order the collection by (eg <code>firstname
+ asc, age desc</code>), if the string is empty, the collection will
+ be ordered by id. For true indexed collections, please refer to the
+ <xref linkend="entity-hibspec" />. EJB3 allows you to map Maps
using
+ as a key one of the target entity property using
+ <literal>@MapKey(name="myProperty")</literal> (myProperty
is a
+ property name in the target entity). When using
+ <literal>@MapKey</literal> (without property name), the target
+ entity primary key is used. The map key uses the same column as the
+ property pointed out: there is no additional column defined to hold
+ the map key, and it does make sense since the map key actually
+ represent a target property. Be aware that once loaded, the key is
+ no longer kept in sync with the property, in other words, if you
+ change the property value, the key will not change automatically in
+ your Java model (for true map support please refers to <xref
+ linkend="entity-hibspec" />). Many people confuse
+ <literal><map></literal> capabilities and
+ <literal>@MapKey</literal> ones. These are two different features.
+ <literal>@MapKey</literal> still has some limitations, please
check
+ the forum or the JIRA tracking system for more informations.</para>
+
+ <para>Hibernate has several notions of collections.</para>
+
+ <para></para>
+
+ <table>
+ <title>Collections semantics</title>
+
+ <tgroup cols="3">
+ <colspec colname="c1" />
+
+ <colspec colname="c2" />
+
+ <colspec colname="c3" colnum="2" />
+
+ <thead>
+ <row>
+ <entry>Semantic</entry>
+
+ <entry>java representation</entry>
+
+ <entry>annotations</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>Bag semantic</entry>
+
+ <entry>java.util.List, java.util.Collection</entry>
+
+ <entry>(a)org.hibernate.annotations.CollectionOfElements or
+ @OneToMany or @ManyToMany</entry>
+ </row>
+
+ <row>
+ <entry>Bag semantic with primary key (withtout the
+ limitations of Bag semantic)</entry>
+
+ <entry>java.util.List, java.util.Collection</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements or
+ @OneToMany or @ManyToMany) and @CollectionId</entry>
+ </row>
+
+ <row>
+ <entry>List semantic</entry>
+
+ <entry>java.util.List</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements or
+ @OneToMany or @ManyToMany) and
+ @org.hibernate.annotations.IndexColumn</entry>
+ </row>
+
+ <row>
+ <entry>Set semantic</entry>
+
+ <entry>java.util.Set</entry>
+
+ <entry>(a)org.hibernate.annotations.CollectionOfElements or
+ @OneToMany or @ManyToMany</entry>
+ </row>
+
+ <row>
+ <entry>Map semantic</entry>
+
+ <entry>java.util.Map</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements or
+ @OneToMany or @ManyToMany) and (nothing or
+ @org.hibernate.annotations.MapKey/MapKeyManyToMany for true
+ map support, OR @javax.persistence.MapKey</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <remark>So specifically, java.util.List collections without
+ @org.hibernate.annotations.IndexColumn are going to be considered as
+ bags.</remark>
+
+ <para>Collection of primitive, core type or embedded objects is not
+ supported by the EJB3 specification. Hibernate Annotations allows
+ them however (see <xref linkend="entity-hibspec"
/>).</para>
+
+ <programlisting>@Entity public class City {
+ @OneToMany(mappedBy="city")
+ <emphasis
role="bold">@OrderBy("streetName")</emphasis>
+ public List<Street> getStreets() {
+ return streets;
+ }
+...
+}
+
+@Entity public class Street {
+ <emphasis role="bold">public String getStreetName()</emphasis>
{
+ return streetName;
+ }
+
+ @ManyToOne
+ public City getCity() {
+ return city;
+ }
+ ...
+}
+
+
+@Entity
+public class Software {
+ @OneToMany(mappedBy="software")
+ <emphasis
role="bold">@MapKey(name="codeName")</emphasis>
+ public Map<String, Version> getVersions() {
+ return versions;
+ }
+...
+}
+
+@Entity
+@Table(name="tbl_version")
+public class Version {
+ <emphasis role="bold">public String getCodeName()</emphasis>
{...}
+
+ @ManyToOne
+ public Software getSoftware() { ... }
+...
+}</programlisting>
+
+ <para>So <literal>City</literal> has a collection of
+ <literal>Street</literal>s that are ordered by
+ <literal>streetName</literal> (of
<literal>Street</literal>) when
+ the collection is loaded. <literal>Software</literal> has a map of
+ <literal>Version</literal>s which key is the
+ <literal>Version</literal>
<literal>codeName</literal>.</para>
+
+ <para>Unless the collection is a generic, you will have to define
+ <literal>targetEntity</literal>. This is a annotation attribute
that
+ take the target entity class as a value.</para>
+ </sect4>
+
+ <sect4 id="entity-mapping-association-collection-onetomany"
+ revision="2">
+ <title>One-to-many</title>
+
+ <para>One-to-many associations are declared at the property level
+ with the annotation <literal>@OneToMany</literal>. One to many
+ associations may be bidirectional.</para>
+
+ <sect5>
+ <title>Bidirectional</title>
+
+ <para>Since many to one are (almost) always the owner side of a
+ bidirectional relationship in the EJB3 spec, the one to many
+ association is annotated by <literal>@OneToMany( mappedBy=...
+ )</literal></para>
+
+ <programlisting>@Entity
+public class Troop {
+ @OneToMany(mappedBy="troop")
+ public Set<Soldier> getSoldiers() {
+ ...
+}
+
+@Entity
+public class Soldier {
+ @ManyToOne
+ @JoinColumn(name="troop_fk")
+ public Troop getTroop() {
+ ...
+} </programlisting>
+
+ <para><classname>Troop</classname> has a bidirectional one
to many
+ relationship with <literal>Soldier</literal> through the
+ <literal>troop</literal> property. You don't have to (must
not)
+ define any physical mapping in the <literal>mappedBy</literal>
+ side.</para>
+
+ <para>To map a bidirectional one to many, with the one-to-many
+ side as the owning side, you have to remove the
+ <literal>mappedBy</literal> element and set the many to one
+ <literal>@JoinColumn</literal> as insertable and updatable to
+ false. This solution is obviously not optimized and will produce
+ some additional UPDATE statements.</para>
+
+ <programlisting>@Entity
+public class Troop {
+ @OneToMany
+ @JoinColumn(name="troop_fk") //we need to duplicate the physical
information
+ public Set<Soldier> getSoldiers() {
+ ...
+}
+
+@Entity
+public class Soldier {
+ @ManyToOne
+ @JoinColumn(name="troop_fk", insertable=false, updatable=false)
+ public Troop getTroop() {
+ ...
+}</programlisting>
+ </sect5>
+
+ <sect5>
+ <title>Unidirectional</title>
+
+ <para>A unidirectional one to many using a foreign key column in
+ the owned entity is not that common and not really recommended. We
+ strongly advise you to use a join table for this kind of
+ association (as explained in the next section). This kind of
+ association is described through a
+ <literal>@JoinColumn</literal></para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ public Set<Ticket> getTickets() {
+ ...
+}
+
+@Entity
+public class Ticket implements Serializable {
+ ... //no bidir
+}
+ </programlisting>
+
+ <para><literal>Customer</literal> describes a
unidirectional
+ relationship with <literal>Ticket</literal> using the join
column
+ <literal>CUST_ID</literal>.</para>
+ </sect5>
+
+ <sect5>
+ <title>Unidirectional with join table</title>
+
+ <para>A unidirectional one to many with join table is much
+ preferred. This association is described through an
+ <literal>(a)JoinTable</literal>.</para>
+
+ <programlisting>
+@Entity
+public class Trainer {
+ @OneToMany
+ @JoinTable(
+ name="TrainedMonkeys",
+ joinColumns = @JoinColumn( name="trainer_id"),
+ inverseJoinColumns = @JoinColumn( name="monkey_id")
+ )
+ public Set<Monkey> getTrainedMonkeys() {
+ ...
+}
+
+@Entity
+public class Monkey {
+ ... //no bidir
+}
+ </programlisting>
+
+ <para><literal>Trainer</literal> describes a
unidirectional
+ relationship with <classname>Monkey</classname> using the join
+ table <classname>TrainedMonkeys</classname>, with a foreign key
+ <literal>trainer_id</literal> to
<literal>Trainer</literal>
+ (<literal>joinColumns</literal>) and a foreign key
+ <literal>monkey_id</literal> to
<literal>Monkey</literal>
+ (<literal>inversejoinColumns</literal>).</para>
+ </sect5>
+
+ <sect5
id="entity-mapping-association-collection-manytomany-default"
+ revision="1">
+ <title>Defaults</title>
+
+ <para>Without describing any physical mapping, a unidirectional
+ one to many with join table is used. The table name is the
+ concatenation of the owner table name, <keycap>_</keycap>, and
the
+ other side table name. The foreign key name(s) referencing the
+ owner table is the concatenation of the owner table,
+ <keycap>_</keycap>, and the owner primary key column(s) name.
The
+ foreign key name(s) referencing the other side is the
+ concatenation of the owner property name, <keycap>_</keycap>,
and
+ the other side primary key column(s) name. A unique constraint is
+ added to the foreign key referencing the other side table to
+ reflect the one to many.</para>
+
+ <programlisting>
+@Entity
+public class Trainer {
+ @OneToMany
+ public Set<Tiger> getTrainedTigers() {
+ ...
+}
+
+@Entity
+public class Tiger {
+ ... //no bidir
+}
+ </programlisting>
+
+ <para><classname>Trainer</classname> describes a
unidirectional
+ relationship with <classname>Tiger</classname> using the join
+ table <literal>Trainer_Tiger</literal>, with a foreign key
+ <literal>trainer_id</literal> to
<literal>Trainer</literal> (table
+ name, <keycap>_</keycap>, trainer id) and a foreign key
+ <literal>trainedTigers_id</literal> to
<literal>Monkey</literal>
+ (property name, <keycap>_</keycap>, Tiger primary
column).</para>
+ </sect5>
+ </sect4>
+
+ <sect4 id="eentity-mapping-association-collection-manytomany"
+ revision="">
+ <title>Many-to-many</title>
+
+ <sect5>
+ <title>Definition</title>
+
+ <para>A many-to-many association is defined logically using the
+ <literal>@ManyToMany</literal> annotation. You also have to
+ describe the association table and the join conditions using the
+ <literal>@JoinTable</literal> annotation. If the association is
+ bidirectional, one side has to be the owner and one side has to be
+ the inverse end (ie. it will be ignored when updating the
+ relationship values in the association table):</para>
+
+ <programlisting>
+@Entity
+public class Employer implements Serializable {
+ @ManyToMany(
+ targetEntity=org.hibernate.test.metadata.manytomany.Employee.class,
+ cascade={CascadeType.PERSIST, CascadeType.MERGE}
+ )
+ @JoinTable(
+ name="EMPLOYER_EMPLOYEE",
+ joinColumns=@JoinColumn(name="EMPER_ID"),
+ inverseJoinColumns=@JoinColumn(name="EMPEE_ID")
+ )
+ public Collection getEmployees() {
+ return employees;
+ }
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Employee implements Serializable {
+ @ManyToMany(
+ cascade = {CascadeType.PERSIST, CascadeType.MERGE},
+ mappedBy = "employees",
+ targetEntity = Employer.class
+ )
+ public Collection getEmployers() {
+ return employers;
+ }
+}
+ </programlisting>
+
+ <para>We've already shown the many declarations and the detailed
+ attributes for associations. We'll go deeper in the
+ <literal>@JoinTable</literal> description, it defines a
+ <literal>name</literal>, an array of join columns (an array in
+ annotation is defined using { A, B, C }), and an array of inverse
+ join columns. The latter ones are the columns of the association
+ table which refer to the <classname>Employee</classname> primary
+ key (the "other side").</para>
+
+ <para>As seen previously, the other side don't have to (must not)
+ describe the physical mapping: a simple
+ <literal>mappedBy</literal> argument containing the owner side
+ property name bind the two.</para>
+ </sect5>
+
+ <sect5>
+ <title>Default values</title>
+
+ <para>As any other annotations, most values are guessed in a many
+ to many relationship. Without describing any physical mapping in a
+ unidirectional many to many the following rules applied. The table
+ name is the concatenation of the owner table name,
+ <keycap>_</keycap> and the other side table name. The foreign
key
+ name(s) referencing the owner table is the concatenation of the
+ owner table name, <keycap>_</keycap> and the owner primary key
+ column(s). The foreign key name(s) referencing the other side is
+ the concatenation of the owner property name,
<keycap>_</keycap>,
+ and the other side primary key column(s). These are the same rules
+ used for a unidirectional one to many relationship.</para>
+
+ <programlisting>
+@Entity
+public class Store {
+ @ManyToMany(cascade = CascadeType.PERSIST)
+ public Set<City> getImplantedIn() {
+ ...
+ }
+}
+
+@Entity
+public class City {
+ ... //no bidirectional relationship
+}
+ </programlisting>
+
+ <para>A <literal>Store_City</literal> is used as the join
table.
+ The <literal>Store_id</literal> column is a foreign key to the
+ <literal>Store</literal> table. The
+ <literal>implantedIn_id</literal> column is a foreign key to the
+ <literal>City</literal> table.</para>
+
+ <para>Without describing any physical mapping in a bidirectional
+ many to many the following rules applied. The table name is the
+ concatenation of the owner table name, <keycap>_</keycap> and
the
+ other side table name. The foreign key name(s) referencing the
+ owner table is the concatenation of the other side property name,
+ <keycap>_</keycap>, and the owner primary key column(s). The
+ foreign key name(s) referencing the other side is the
+ concatenation of the owner property name, <keycap>_</keycap>,
and
+ the other side primary key column(s). These are the same rules
+ used for a unidirectional one to many relationship.</para>
+
+ <programlisting>
+@Entity
+public class Store {
+ @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
+ public Set<Customer> getCustomers() {
+ ...
+ }
+}
+
+@Entity
+public class Customer {
+ @ManyToMany(mappedBy="customers")
+ public Set<Store> getStores() {
+ ...
+ }
+}
+ </programlisting>
+
+ <para>A <literal>Store_Customer</literal> is used as the
join
+ table. The <literal>stores_id</literal> column is a foreign key
to
+ the <literal>Store</literal> table. The
+ <literal>customers_id</literal> column is a foreign key to the
+ <literal>Customer</literal> table.</para>
+ </sect5>
+ </sect4>
+ </sect3>
+
+ <sect3 id="entity-mapping-association-cascade">
+ <title>Transitive persistence with cascading</title>
+
+ <para>You probably have noticed the <literal>cascade</literal>
+ attribute taking an array of <classname>CascadeType</classname> as a
+ value. The cascade concept in EJB3 is very is similar to the
+ transitive persistence and cascading of operations in Hibernate, but
+ with slightly different semantics and cascading types:</para>
+
+ <itemizedlist>
+ <listitem>
+ CascadeType.PERSIST: cascades the persist (create) operation to associated
entities persist() is called or if the entity is managed
+ </listitem>
+
+ <listitem>
+ CascadeType.MERGE: cascades the merge operation to associated entities if
merge() is called or if the entity is managed
+ </listitem>
+
+ <listitem>
+ CascadeType.REMOVE: cascades the remove operation to associated entities if
delete() is called
+ </listitem>
+
+ <listitem>
+ CascadeType.REFRESH: cascades the refresh operation to associated entities
if refresh() is called
+ </listitem>
+
+ <listitem>
+ CascadeType.ALL: all of the above
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>CascadeType.ALL also covers Hibernate specific operations like
+ save-update, lock etc... Check <xref
+ linkend="entity-hibspec-cascade" /> for more
information</para>
+ </note>
+
+ <para>Please refer to the chapter 6.3 of the EJB3 specification for
+ more information on cascading and create/merge semantics.</para>
+ </sect3>
+
+ <sect3 id="entity-mapping-association-fetching"
revision="1">
+ <title>Association fetching</title>
+
+ <para>You have the ability to either eagerly or lazily fetch
+ associated entities. The <literal>fetch</literal> parameter can be
set
+ to <literal>FetchType.LAZY</literal> or
+ <literal>FetchType.EAGER</literal>.
<literal>EAGER</literal> will try
+ to use an outer join select to retrieve the associated object, while
+ <literal>LAZY</literal> will only trigger a select when the
associated
+ object is accessed for the first time. <literal>@OneToMany</literal>
+ and <literal>@ManyToMany</literal> associations are defaulted to
+ <literal>LAZY</literal> and <literal>@OneToOne</literal>
and
+ <literal>@ManyToOne</literal> are defaulted to
+ <literal>EAGER</literal>. For more information about static
fetching,
+ check <xref linkend="entity-hibspec-singleassoc-fetching"
/>.</para>
+
+ <para>The recommanded approach is to use
<literal>LAZY</literal> onn
+ all static fetching definitions and override this choice dynamically
+ through JPA-QL. JPA-QL has a <literal>fetch</literal> keyword that
+ allows you to override laziness when doing a particular query. This is
+ very useful to improve performance and is decided on a use case to use
+ case basis.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Mapping composite primary and foreign keys</title>
+
+ <para>Composite primary keys use a embedded class as the primary key
+ representation, so you'd use the <literal>@Id</literal> and
+ <literal>@Embeddable</literal> annotations. Alternatively, you can use
+ the <literal>@EmbeddedId</literal> annotation. Note that the dependent
+ class has to be serializable and implements
+
<methodname>equals()</methodname>/<methodname>hashCode()</methodname>.
+ You can also use <literal>@IdClass</literal> as described in <xref
+ linkend="entity-mapping-identifier" />.</para>
+
+ <programlisting>
+@Entity
+public class RegionalArticle implements Serializable {
+
+ @Id
+ public RegionalArticlePk getPk() { ... }
+}
+
+@Embeddable
+public class RegionalArticlePk implements Serializable { ... }
+ </programlisting>
+
+ <para>or alternatively</para>
+
+ <programlisting>
+@Entity
+public class RegionalArticle implements Serializable {
+
+ @EmbeddedId
+ public RegionalArticlePk getPk() { ... }
+}
+
+public class RegionalArticlePk implements Serializable { ... }
+ </programlisting>
+
+ <para><literal>@Embeddable</literal> inherit the access type of
its
+ owning entity unless the Hibernate specific annotation
+ <literal>@AccessType</literal> is used. Composite foreign keys (if not
+ using the default sensitive values) are defined on associations using
+ the <literal>@JoinColumns</literal> element, which is basically an
array
+ of <literal>@JoinColumn</literal>. It is considered a good practice to
+ express <literal>referencedColumnNames</literal> explicitly.
Otherwise,
+ Hibernate will suppose that you use the same order of columns as in the
+ primary key declaration.</para>
+
+ <programlisting>
+@Entity
+public class Parent implements Serializable {
+ @Id
+ public ParentPk id;
+ public int age;
+
+ @OneToMany(cascade=CascadeType.ALL)
+ @JoinColumns ({
+ @JoinColumn(name="parentCivility", referencedColumnName =
"isMale"),
+ @JoinColumn(name="parentLastName", referencedColumnName =
"lastName"),
+ @JoinColumn(name="parentFirstName", referencedColumnName =
"firstName")
+ })
+ public Set<Child> children; //unidirectional
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Child implements Serializable {
+ @Id @GeneratedValue
+ public Integer id;
+
+ @ManyToOne
+ @JoinColumns ({
+ @JoinColumn(name="parentCivility", referencedColumnName =
"isMale"),
+ @JoinColumn(name="parentLastName", referencedColumnName =
"lastName"),
+ @JoinColumn(name="parentFirstName", referencedColumnName =
"firstName")
+ })
+ public Parent parent; //unidirectional
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class ParentPk implements Serializable {
+ String firstName;
+ String lastName;
+ ...
+}
+ </programlisting>
+
+ <para>Note the explicit usage of the
+ <literal>referencedColumnName</literal>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Mapping secondary tables</title>
+
+ <para>You can map a single entity bean to several tables using the
+ <literal>@SecondaryTable</literal> or
+ <literal>@SecondaryTables</literal> class level annotations. To
express
+ that a column is in a particular table, use the
<literal>table</literal>
+ parameter of <literal>@Column</literal> or
+ <literal>(a)JoinColumn</literal>.</para>
+
+ <programlisting>
+@Entity
+@Table(name="MainCat")
+<emphasis role="bold">@SecondaryTables({
+ @SecondaryTable(name="Cat1", pkJoinColumns={
+ @PrimaryKeyJoinColumn(name="cat_id",
referencedColumnName="id")
+ ),
+ @SecondaryTable(name="Cat2",
uniqueConstraints={@UniqueConstraint(columnNames={"storyPart2"})})
+})</emphasis>
+public class Cat implements Serializable {
+
+ private Integer id;
+ private String name;
+ private String storyPart1;
+ private String storyPart2;
+
+ @Id @GeneratedValue
+ public Integer getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ <emphasis
role="bold">@Column(table="Cat1")</emphasis>
+ public String getStoryPart1() {
+ return storyPart1;
+ }
+
+ <emphasis
role="bold">@Column(table="Cat2")</emphasis>
+ public String getStoryPart2() {
+ return storyPart2;
+ }
+</programlisting>
+
+ <para>In this example, <literal>name</literal> will be in
+ <literal>MainCat</literal>. <literal>storyPart1</literal>
will be in
+ <literal>Cat1</literal> and <literal>storyPart2</literal>
will be in
+ <literal>Cat2</literal>. <literal>Cat1</literal> will be
joined to
+ <literal>MainCat</literal> using the
<literal>cat_id</literal> as a
+ foreign key, and <literal>Cat2</literal> using
<literal>id</literal> (ie
+ the same column name, the <literal>MainCat</literal> id column has).
+ Plus a unique constraint on <literal>storyPart2</literal> has been
+ set.</para>
+
+ <para>Check out the JBoss EJB 3 tutorial or the Hibernate Annotations
+ unit test suite for more examples.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="entity-mapping-query">
+ <title>Mapping Queries</title>
+
+ <sect2 id="entity-mapping-query-hql" label="Mapping JPAQL/HQL
queries"
+ revision="1">
+ <title>Mapping JPAQL/HQL queries</title>
+
+ <para>You can map EJBQL/HQL queries using annotations.
+ <literal>@NamedQuery</literal> and
<literal>@NamedQueries</literal> can
+ be defined at the class level or in a JPA XML file. However their
+ definitions are global to the session factory/entity manager factory
+ scope. A named query is defined by its name and the actual query
+ string.</para>
+
+ <programlisting><entity-mappings>
+ <named-query name="plane.getAll">
+ <query>select p from Plane p</query>
+ </named-query>
+ ...
+</entity-mappings>
+...
+
+@Entity
+(a)NamedQuery(name="night.moreRecentThan", query="select n from Night n
where n.date >= :date")
+public class Night {
+ ...
+}
+
+public class MyDao {
+ doStuff() {
+ Query q = s.getNamedQuery("night.moreRecentThan");
+ q.setDate( "date", aMonthAgo );
+ List results = q.list();
+ ...
+ }
+ ...
+}
+ </programlisting>
+
+ <para>You can also provide some hints to a query through an array of
+ <literal>QueryHint</literal> through a
<literal>hints</literal>
+ attribute.</para>
+
+ <para>The availabe Hibernate hints are</para>
+
+ <para></para>
+
+ <table>
+ <title>Query hints</title>
+
+ <tgroup cols="2">
+ <thead>
+ <colspec colname="c1" />
+
+ <colspec colname="c2" colnum="2" />
+
+ <row>
+ <entry>hint</entry>
+
+ <entry colname="c2">description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>org.hibernate.cacheable</entry>
+
+ <entry>Whether the query should interact with the second level
+ cache (defualt to false)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.cacheRegion</entry>
+
+ <entry>Cache region name (default used otherwise)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.timeout</entry>
+
+ <entry>Query timeout</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.fetchSize</entry>
+
+ <entry>resultset fetch size</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.flushMode</entry>
+
+ <entry>Flush mode used for this query</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.cacheMode</entry>
+
+ <entry>Cache mode used for this query</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.readOnly</entry>
+
+ <entry>Entities loaded by this query should be in read only mode
+ or not (default to false)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.comment</entry>
+
+ <entry>Query comment added to the generated SQL</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect2>
+
+ <sect2 id="entity-mapping-query-native" revision="2">
+ <title>Mapping native queries</title>
+
+ <para>You can also map a native query (ie a plain SQL query). To achieve
+ that, you need to describe the SQL resultset structure using
+ <literal>@SqlResultSetMapping</literal> (or
+ <literal>@SqlResultSetMappings</literal> if you plan to define several
+ resulset mappings). Like <literal>@NamedQuery</literal>, a
+ <literal>@SqlResultSetMapping</literal> can be defined at class level
or
+ in a JPA XML file. However its scope is global to the
+ application.</para>
+
+ <para>As we will see, a <literal>resultSetMapping</literal>
parameter is
+ defined in <literal>@NamedNativeQuery</literal>, it represents the
name
+ of a defined <literal>@SqlResultSetMapping</literal>. The resultset
+ mapping declares the entities retrieved by this native query. Each field
+ of the entity is bound to an SQL alias (or column name). All fields of
+ the entity including the ones of subclasses and the foreign key columns
+ of related entities have to be present in the SQL query. Field
+ definitions are optional provided that they map to the same column name
+ as the one declared on the class property.</para>
+
+
<para><programlisting>@NamedNativeQuery(name="night&area",
query="select night.id nid, night.night_duration, "
+ + " night.night_date, area.id aid, night.area_id, area.name "
+ + "from Night night, Area area where night.area_id = area.id",
<emphasis
+
role="bold">resultSetMapping="joinMapping"</emphasis>)
+@SqlResultSetMapping(name="joinMapping", entities={
+ @EntityResult(entityClass=org.hibernate.test.annotations.query.Night.class, fields =
{
+ @FieldResult(name="id", column="nid"),
+ @FieldResult(name="duration", column="night_duration"),
+ @FieldResult(name="date", column="night_date"),
+ @FieldResult(name="area", column="area_id"),
+ discriminatorColumn="disc"
+ }),
+ @EntityResult(entityClass=org.hibernate.test.annotations.query.Area.class, fields =
{
+ @FieldResult(name="id", column="aid"),
+ @FieldResult(name="name", column="name")
+ })
+ }
+)</programlisting></para>
+
+ <para>In the above example, the
<literal>night&area</literal> named
+ query use the <literal>joinMapping</literal> result set mapping. This
+ mapping returns 2 entities, <literal>Night</literal> and
+ <literal>Area</literal>, each property is declared and associated to a
+ column name, actually the column name retrieved by the query. Let's now
+ see an implicit declaration of the property / column.</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">@SqlResultSetMapping(name="implicit",
entities=(a)EntityResult(entityClass=org.hibernate.test.annotations.query.SpaceShip.class))
+@NamedNativeQuery(name="implicitSample", query="select * from
SpaceShip", resultSetMapping="implicit")</emphasis>
+public class SpaceShip {
+ private String name;
+ private String model;
+ private double speed;
+
+ @Id
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Column(name="model_txt")
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+}</programlisting>
+
+ <para>In this example, we only describe the entity member of the result
+ set mapping. The property / column mappings is done using the entity
+ mapping values. In this case the <literal>model</literal> property is
+ bound to the <literal>model_txt </literal>column. If the association
to
+ a related entity involve a composite primary key, a
+ <literal>@FieldResult</literal> element should be used for each
foreign
+ key column. The <literal>@FieldResult</literal> name is composed of
the
+ property name for the relationship, followed by a dot ("."), followed by
+ the name or the field or property of the primary key.</para>
+
+ <programlisting>@Entity
+@SqlResultSetMapping(name="compositekey",
+
entities=(a)EntityResult(entityClass=org.hibernate.test.annotations.query.SpaceShip.class,
+ fields = {
+ @FieldResult(name="name", column = "name"),
+ @FieldResult(name="model", column = "model"),
+ @FieldResult(name="speed", column = "speed"),
+<emphasis role="bold">
@FieldResult(name="captain.firstname", column = "firstn"),
+ @FieldResult(name="captain.lastname", column =
"lastn"),</emphasis>
+ @FieldResult(name="dimensions.length", column =
"length"),
+ @FieldResult(name="dimensions.width", column =
"width")
+ }),
+ columns = { @ColumnResult(name = "surface"),
+ @ColumnResult(name = "volume") } )
+
+@NamedNativeQuery(name="compositekey",
+ query="select name, model, speed, lname as lastn, fname as firstn, length,
width, length * width as surface from SpaceShip",
+ resultSetMapping="compositekey")
+} )
+public class SpaceShip {
+ private String name;
+ private String model;
+ private double speed;
+ private Captain captain;
+ private Dimensions dimensions;
+
+ @Id
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @ManyToOne(fetch= FetchType.LAZY)
+ @JoinColumns( {
+ @JoinColumn(name="fname", referencedColumnName =
"firstname"),
+ @JoinColumn(name="lname", referencedColumnName =
"lastname")
+ } )
+ public Captain getCaptain() {
+ return captain;
+ }
+
+ public void setCaptain(Captain captain) {
+ this.captain = captain;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+
+ public Dimensions getDimensions() {
+ return dimensions;
+ }
+
+ public void setDimensions(Dimensions dimensions) {
+ this.dimensions = dimensions;
+ }
+}
+
+@Entity
+(a)IdClass(Identity.class)
+public class Captain implements Serializable {
+ private String firstname;
+ private String lastname;
+
+ @Id
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ @Id
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+}
+</programlisting>
+
+ <note>
+ <para>If you look at the dimension property, you'll see that Hibernate
+ supports the dotted notation for embedded objects (you can even have
+ nested embedded objects). EJB3 implementations do not have to support
+ this feature, we do :-)</para>
+ </note>
+
+ <para>If you retrieve a single entity and if you use the default
+ mapping, you can use the <literal>resultClass</literal> attribute
+ instead of <literal>resultSetMapping</literal>:</para>
+
+ <programlisting><emphasis
role="bold">@NamedNativeQuery(name="implicitSample",
query="select * from SpaceShip",
+ resultClass=SpaceShip.class)</emphasis>
+public class SpaceShip {</programlisting>
+
+ <para>In some of your native queries, you'll have to return scalar
+ values, for example when building report queries. You can map them in
+ the <literal>@SqlResultsetMapping</literal> through
+ <literal>@ColumnResult</literal>. You actually can even mix, entities
+ and scalar returns in the same native query (this is probably not that
+ common though).</para>
+
+ <programlisting><emphasis
role="bold">@SqlResultSetMapping(name="scalar",
columns=@ColumnResult(name="dimension"))
+@NamedNativeQuery(name="scalar", query="select length*width as dimension
from SpaceShip",
resultSetMapping="scalar")</emphasis></programlisting>
+
+ <para>An other query hint specific to native queries has been
+ introduced: <literal>org.hibernate.callable</literal> which can be
true
+ or false depending on whether the query is a stored procedure or
+ not.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="entity-hibspec" xreflabel="Hibernate Annotation
Extensions">
+ <title>Hibernate Annotation Extensions</title>
+
+ <para>Hibernate 3.1 offers a variety of additional annotations that you
+ can mix/match with your EJB 3 entities. They have been designed as a
+ natural extension of EJB3 annotations.</para>
+
+ <para>To empower the EJB3 capabilities, hibernate provides specific
+ annotations that match hibernate features. The
+ <classname>org.hibernate.annotations</classname> package contains all
+ these annotations extensions.</para>
+
+ <sect2 id="entity-hibspec-entity" revision="4">
+ <title>Entity</title>
+
+ <para>You can fine tune some of the actions done by Hibernate on
+ entities beyond what the EJB3 spec offers.</para>
+
+ <para><classname>(a)org.hibernate.annotations.Entity</classname>
adds
+ additional metadata that may be needed beyond what is defined in the
+ standard <literal>@Entity</literal> <itemizedlist>
+ <listitem>
+ mutable: whether this entity is mutable or not
+ </listitem>
+
+ <listitem>
+ dynamicInsert: allow dynamic SQL for inserts
+ </listitem>
+
+ <listitem>
+ dynamicUpdate: allow dynamic SQL for updates
+ </listitem>
+
+ <listitem>
+ selectBeforeUpdate: Specifies that Hibernate should never perform an SQL
UPDATE unless it is certain that an object is actually modified.
+ </listitem>
+
+ <listitem>
+ polymorphism: whether the entity polymorphism is of
PolymorphismType.IMPLICIT (default) or PolymorphismType.EXPLICIT
+ </listitem>
+
+ <listitem>
+ optimisticLock: optimistic locking strategy (OptimisticLockType.VERSION,
OptimisticLockType.NONE, OptimisticLockType.DIRTY or OptimisticLockType.ALL)
+ </listitem>
+ </itemizedlist></para>
+
+ <para><note>
+ <para>(a)javax.persistence.Entity is still mandatory,
+ @org.hibernate.annotations.Entity is not a replacement.</para>
+ </note></para>
+
+ <para>Here are some additional Hibernate annotation extensions</para>
+
+ <para><literal>(a)org.hibernate.annotations.BatchSize</literal>
allows you
+ to define the batch size when fetching instances of this entity ( eg.
+ <literal>@BatchSize(size=4)</literal> ). When loading a given entity,
+ Hibernate will then load all the uninitialized entities of the same type
+ in the persistence context up to the batch size.</para>
+
+ <para><literal>(a)org.hibernate.annotations.Proxy</literal> defines
the
+ laziness attributes of the entity. lazy (default to true) define whether
+ the class is lazy or not. proxyClassName is the interface used to
+ generate the proxy (default is the class itself).</para>
+
+ <para><literal>(a)org.hibernate.annotations.Where</literal> defines
an
+ optional SQL WHERE clause used when instances of this class is
+ retrieved.</para>
+
+ <para><literal>(a)org.hibernate.annotations.Check</literal> defines
an
+ optional check constraints defined in the DDL statetement.</para>
+
+ <para><literal>(a)OnDelete(action=OnDeleteAction.CASCADE)</literal>
on
+ joined subclasses: use a SQL cascade delete on deletion instead of the
+ regular Hibernate mechanism.</para>
+
+ <para><literal>@Table(appliesTo="tableName", indexes = {
+ @Index(name="index1", columnNames={"column1",
"column2"} ) } )</literal>
+ creates the defined indexes on the columns of table
+ <literal>tableName</literal>. This can be applied on the primary table
+ or any secondary table. The <literal>@Tables</literal> annotation
allows
+ your to apply indexes on different tables. This annotation is expected
+ where <literal>(a)javax.persistence.Table</literal> or
+ <literal>(a)javax.persistence.SecondaryTable</literal>(s)
occurs.</para>
+
+ <note>
+ <para><literal>(a)org.hibernate.annotations.Table</literal> is a
+ complement, not a replacement to
+ <literal>(a)javax.persistence.Table</literal>. Especially, if you want
+ to change the default name of a table, you must use
+ <literal>(a)javax.persistence.Table</literal>, not
+ <literal>(a)org.hibernate.annotations.Table</literal>.</para>
+ </note>
+
+ <para><literal>(a)org.hibernate.annotations.Table</literal> can
also be
+ used to define the following elements of secondary tables:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>fetch</literal>: If set to JOIN, the default,
+ Hibernate will use an inner join to retrieve a secondary table
+ defined by a class or its superclasses and an outer join for a
+ secondary table defined by a subclass. If set to select then
+ Hibernate will use a sequential select for a secondary table defined
+ on a subclass, which will be issued only if a row turns out to
+ represent an instance of the subclass. Inner joins will still be
+ used to retrieve a secondary defined by the class and its
+ superclasses.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>inverse</literal>: If true, Hibernate will not
try to
+ insert or update the properties defined by this join. Default to
+ false.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>optional</literal>: If enabled (the default),
+ Hibernate will insert a row only if the properties defined by this
+ join are non-null and will always use an outer join to retrieve the
+ properties.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>foreignKey</literal>: defines the Foreign Key
name of
+ a secondary table pointing back to the primary table.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para><literal>@Immutable</literal> marks an entity or collection
as
+ immutable. An immutable entity may not be updated by the application.
+ This allows Hibernate to make some minor performance optimizations.
+ Updates to an immutable entity will be ignored, but no exception is
+ thrown. <literal>@Immutable</literal> must be used on root entities
+ only. <literal>@Immutable</literal> placed on a collection makes the
+ collection immutable, meaning additions and deletions to and from the
+ collection are not allowed. A <literal>HibernateException</literal> is
+ thrown in this case.</para>
+
+ <para><literal>@Persister</literal> lets you define your own
custom
+ persistence strategy. You may, for example, specify your own subclass of
+ <classname>org.hibernate.persister.EntityPersister</classname> or you
+ might even provide a completely new implementation of the interface
+ <literal>org.hibernate.persister.ClassPersister</literal> that
+ implements persistence via, for example, stored procedure calls,
+ serialization to flat files or LDAP.</para>
+
+ <para><programlisting>@Entity
+@BatchSize(size=5)
+(a)org.hibernate.annotations.Entity(
+ selectBeforeUpdate = true,
+ dynamicInsert = true, dynamicUpdate = true,
+ optimisticLock = OptimisticLockType.ALL,
+ polymorphism = PolymorphismType.EXPLICIT)
+@Where(clause="1=1")
+(a)org.hibernate.annotations.Table(name="Forest", indexes = {
@Index(name="idx", columnNames = { "name", "length" } ) } )
+(a)Persister(impl=MyEntityPersister.class)
+public class Forest { ... }</programlisting><programlisting>@Entity
+@Inheritance(
+ strategy=InheritanceType.JOINED
+)
+public class Vegetable { ... }
+
+@Entity
+(a)OnDelete(action=OnDeleteAction.CASCADE)
+public class Carrot extends Vegetable { ... }</programlisting></para>
+ </sect2>
+
+ <sect2 id="entity-hibspec-identifier" label="Identifier"
revision="2">
+ <title>Identifier</title>
+
+ <para>Hibernate Annotations goes beyond the Java Persistence
+ specification when defining identifiers.</para>
+
+ <sect3>
+ <title>Generators</title>
+
+
<para><literal><literal>(a)org.hibernate.annotations.GenericGenerator</literal>
+ and <literal>(a)org.hibernate.annotations.GenericGenerators</literal>
+ allows you to define an Hibernate specific id
+ generator.</literal></para>
+
+ <para><programlisting>@Id
@GeneratedValue(generator="system-uuid")
+@GenericGenerator(name="system-uuid", strategy = "uuid")
+public String getId() {
+
+@Id @GeneratedValue(generator="hibseq")
+@GenericGenerator(name="hibseq", strategy = "seqhilo",
+ parameters = {
+ @Parameter(name="max_lo", value = "5"),
+ @Parameter(name="sequence", value="heybabyhey")
+ }
+)
+public Integer getId() {</programlisting></para>
+
+ <para><literal>strategy</literal> is the short name of an
Hibernate3
+ generator strategy or the fully qualified class name of an
+ <classname>IdentifierGenerator</classname> implementation. You can
add
+ some parameters through the <literal>parameters</literal>
+ attribute.</para>
+
+ <para>Contrary to their standard counterpart,
+ <literal>@GenericGenerator</literal> and
+ <literal>@GenericGenerators</literal> can be used in package level
+ annotations, making them application level generators (just like if
+ they were in a JPA XML file).</para>
+
+ <programlisting>@GenericGenerators(
+ {
+ @GenericGenerator(
+ name="hibseq",
+ strategy = "seqhilo",
+ parameters = {
+ @Parameter(name="max_lo", value = "5"),
+ @Parameter(name="sequence", value="heybabyhey")
+ }
+ ),
+ @GenericGenerator(...)
+ }
+)
+package org.hibernate.test.model</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>@NaturalId</title>
+
+ <para>While not used as identifier property, some (group of)
+ properties represent natural identifier of an entity. This is
+ especially true when the schema uses the recommended approach of using
+ surrogate primary key even if a natural business key exists. Hibernate
+ allows to map such natural properties and reuse them in a
+ <classname>Criteria</classname> query. The natural identifier is
+ composed of all the properties marked
+ <classname>(a)NaturalId</classname>.</para>
+
+ <programlisting>@Entity
+public class Citizen {
+ @Id
+ @GeneratedValue
+ private Integer id;
+ private String firstname;
+ private String lastname;
+
+ @NaturalId
+ @ManyToOne
+ private State state;
+
+ @NaturalId
+ private String ssn;
+ ...
+}
+
+
+
+//and later on query
+List results = s.createCriteria( Citizen.class )
+ .add( Restrictions.naturalId().set( "ssn", "1234"
).set( "state", ste ) )
+ .list();</programlisting>
+
+ <para>Note that the group of properties representing the natural
+ identifier have to be unique (Hibernate will generate a unique
+ constraint if the database schema is generated).</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-hibspec-property" revision="2">
+ <title>Property</title>
+
+ <sect3>
+ <title>Access type</title>
+
+ <para>The access type is guessed from the position of
+ <literal>@Id</literal> or <literal>@EmbeddedId</literal>
in the entity
+ hierarchy. Sub-entities, embedded objects and mapped superclass
+ inherit the access type from the root entity.</para>
+
+ <para>In Hibernate, you can override the access type to:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>use a custom access type strategy</para>
+ </listitem>
+
+ <listitem>
+ <para>fine tune the access type at the class level or at the
+ property level</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>An @AccessType annotation has been introduced to support this
+ behavior. You can define the access type on</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>an entity</para>
+ </listitem>
+
+ <listitem>
+ <para>a superclass</para>
+ </listitem>
+
+ <listitem>
+ <para>an embeddable object</para>
+ </listitem>
+
+ <listitem>
+ <para>a property</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The access type is overriden for the annotated element, if
+ overriden on a class, all the properties of the given class inherit
+ the access type. For root entities, the access type is considered to
+ be the default one for the whole hierarchy (overridable at class or
+ property level).</para>
+
+ <para>If the access type is marked as "property", the getters
are
+ scanned for annotations, if the access type is marked as "field", the
+ fields are scanned for annotations. Otherwise the elements marked with
+ @Id or @embeddedId are scanned.</para>
+
+ <para>You can override an access type for a property, but the element
+ to annotate will not be influenced: for example an entity having
+ access type <literal>field</literal>, can annotate a field with
+ <literal>@AccessType("property")</literal>, the access type
will then
+ be property for this attribute, the the annotations still have to be
+ carried on the field.</para>
+
+ <para>If a superclass or an embeddable object is not annotated, the
+ root entity access type is used (even if an access type has been
+ define on an intermediate superclass or embeddable object). The
+ russian doll principle does not apply.</para>
+
+ <programlisting>@Entity
+public class Person implements Serializable {
+ @Id @GeneratedValue //access type field
+ Integer id;
+
+ @Embedded
+ @AttributeOverrides({
+ @AttributeOverride(name = "iso2", column = @Column(name =
"bornIso2")),
+ @AttributeOverride(name = "name", column = @Column(name =
"bornCountryName"))
+ })
+ Country bornIn;
+}
+
+@Embeddable
+<emphasis role="bold">@AccessType("property")</emphasis>
//override access type for all properties in Country
+public class Country implements Serializable {
+ private String iso2;
+ private String name;
+
+ public String getIso2() {
+ return iso2;
+ }
+
+ public void setIso2(String iso2) {
+ this.iso2 = iso2;
+ }
+
+ @Column(name = "countryName")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
+</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Formula</title>
+
+ <para>Sometimes, you want the Database to do some computation for you
+ rather than in the JVM, you might also create some kind of virtual
+ column. You can use a SQL fragment (aka formula) instead of mapping a
+ property into a column. This kind of property is read only (its value
+ is calculated by your formula fragment).</para>
+
+ <programlisting>@Formula("obj_length * obj_height * obj_width")
+public long getObjectVolume()</programlisting>
+
+ <para>The SQL fragment can be as complex as you want and even include
+ subselects.</para>
+ </sect3>
+
+ <sect3>
+ <title>Type</title>
+
+ <para><literal>(a)org.hibernate.annotations.Type</literal>
overrides the
+ default hibernate type used: this is generally not necessary since the
+ type is correctly inferred by Hibernate. Please refer to the Hibernate
+ reference guide for more informations on the Hibernate types.</para>
+
+ <para><literal>(a)org.hibernate.annotations.TypeDef</literal>
and
+ <literal>(a)org.hibernate.annotations.TypeDefs</literal> allows you to
+ declare type definitions. These annotations are placed at the class or
+ package level. Note that these definitions will be global for the
+ session factory (even at the class level) and that type definition has
+ to be defined before any usage.</para>
+
+ <programlisting>@TypeDefs(
+ {
+ @TypeDef(
+ name="caster",
+ typeClass = CasterStringType.class,
+ parameters = {
+ @Parameter(name="cast", value="lower")
+ }
+ )
+ }
+)
+package org.hibernate.test.annotations.entity;
+
+...
+public class Forest {
+ @Type(type="caster")
+ public String getSmallText() {
+ ...
+}
+ </programlisting>
+
+ <para>When using composite user type, you will have to express column
+ definitions. The <literal>@Columns</literal> has been introduced for
+ that purpose.</para>
+
+
<programlisting>(a)Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")
+@Columns(columns = {
+ @Column(name="r_amount"),
+ @Column(name="r_currency")
+})
+public MonetaryAmount getAmount() {
+ return amount;
+}
+
+
+public class MonetaryAmount implements Serializable {
+ private BigDecimal amount;
+ private Currency currency;
+ ...
+}</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Index</title>
+
+ <para>You can define an index on a particular column using the
+ <literal>@Index</literal> annotation on a one column property, the
+ columnNames attribute will then be ignored</para>
+
+ <programlisting>@Column(secondaryTable="Cat1")
+@Index(name="story1index")
+public String getStoryPart1() {
+ return storyPart1;
+}</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>@Parent</title>
+
+ <para>When inside an embeddable object, you can define one of the
+ properties as a pointer back to the owner element.</para>
+
+ <programlisting>@Entity
+public class Person {
+ @Embeddable public Address address;
+ ...
+}
+
+@Embeddable
+public class Address {
+ @Parent public Person owner;
+ ...
+}
+
+
+person == person.address.owner</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Generated properties</title>
+
+ <para>Some properties are generated at insert or update time by your
+ database. Hibernate can deal with such properties and triggers a
+ subsequent select to read these properties.</para>
+
+ <programlisting>@Entity
+public class Antenna {
+ @Id public Integer id;
+ @Generated(GenerationTime.ALWAYS) @Column(insertable = false, updatable = false)
+ public String longitude;
+
+ @Generated(GenerationTime.INSERT) @Column(insertable = false)
+ public String latitude;
+}</programlisting>
+
+ <para>Annotate your property as <literal>@Generated</literal>
You have
+ to make sure your insertability or updatability does not conflict with
+ the generation strategy you have chosen. When GenerationTime.INSERT is
+ chosen, the property must not contains insertable columns, when
+ GenerationTime.ALWAYS is chosen, the property must not contains
+ insertable nor updatable columns.</para>
+
+ <para><literal>@Version</literal> properties cannot be
+ <literal>@Generated(INSERT)</literal> by design, it has to be either
+ <literal>NEVER</literal> or
<literal>ALWAYS</literal>.</para>
+ </sect3>
+
+ <sect3>
+ <title>@Target</title>
+
+ <para>Sometimes, the type guessed by reflection is not the one you
+ want Hibernate to use. This is especially true on components when an
+ interface is used. You can use <literal>@Target</literal> to by pass
+ the reflection guessing mechanism (very much like the
+ <literal>targetEntity</literal> attribute available on
+ associations.</para>
+
+ <programlisting> @Embedded
+ <emphasis role="bold">(a)Target(OwnerImpl.class)</emphasis>
+ public Owner getOwner() {
+ return owner;
+ }</programlisting>
+
+ <para></para>
+ </sect3>
+
+ <sect3>
+ <title>Optimistic lock</title>
+
+ <para>It is sometimes useful to avoid increasing the version number
+ even if a given property is dirty (particularly collections). You can
+ do that by annotating the property (or collection) with
+ <literal>(a)OptimisticLock(excluded=true)</literal>.</para>
+
+ <para>More formally, specifies that updates to this property do not
+ require acquisition of the optimistic lock.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-hibspec-inheritance" revision="3">
+ <title>Inheritance</title>
+
+ <para>SINGLE_TABLE is a very powerful strategy but sometimes, and
+ especially for legacy systems, you cannot add an additional
+ discriminator column. For that purpose Hibernate has introduced the
+ notion of discriminator formula:
+ <literal>@DiscriminatorFormula</literal> is a replacement of
+ <literal>@DiscriminatorColumn</literal> and use a SQL fragment as a
+ formula for discriminator resolution (no need to have a dedicated
+ column).</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">@DiscriminatorFormula("case when forest_type
is null then 0 else forest_type end")</emphasis>
+public class Forest { ... }</programlisting>
+
+ <para>By default, when querying the top entities, Hibernate does not put
+ a restriction clause on the discriminator column. This can be
+ inconvenient if this column contains values not mapped in your hierarchy
+ (through <literal>@DiscriminatorValue</literal>). To work around that
+ you can use <literal>@ForceDiscriminator</literal> (at the class
level,
+ next to <literal>@DiscriminatorColumn</literal>). Hibernate will then
+ list the available values when loading the entities.</para>
+
+ <para>You can define the foreign key name generated by Hibernate for
+ subclass tables in the JOINED inheritance strategy.</para>
+
+ <programlisting>@Entity
+@Inheritance(strategy = InheritanceType.JOINED)
+public abstract class File { ... }
+
+@Entity
+@ForeignKey(name = "FK_DOCU_FILE")
+public class Document extends File {</programlisting>
+
+ <para>The foreign key from the <literal>Document</literal> table
to the
+ <literal>File</literal> table will be named
+ <literal>FK_DOCU_FILE</literal>.</para>
+ </sect2>
+
+ <sect2 id="entity-hibspec-singleassoc">
+ <title>Single Association related annotations</title>
+
+ <para>By default, when Hibernate cannot resolve the association because
+ the expected associated element is not in database (wrong id on the
+ association column), an exception is raised by Hibernate. This might be
+ inconvenient for lecacy and badly maintained schemas. You can ask
+ Hibernate to ignore such elements instead of raising an exception using
+ the <literal>@NotFound</literal> annotation. This annotation can be
used
+ on a <literal>@OneToOne</literal> (with FK),
+ <literal>@ManyToOne</literal>,
<literal>@OneToMany</literal> or
+ <literal>@ManyToMany</literal> association.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @NotFound(action=NotFoundAction.IGNORE)
+ public Parent getParent() { ... }
+ ...
+}</programlisting>
+
+ <para>Sometimes you want to delegate to your database the deletion of
+ cascade when a given entity is deleted.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ public Parent getParent() { ... }
+ ...
+}</programlisting>
+
+ <para>In this case Hibernate generates a cascade delete constraint at
+ the database level.</para>
+
+ <para>Foreign key constraints, while generated by Hibernate, have a
+ fairly unreadable name. You can override the constraint name by use
+ <literal>(a)ForeignKey</literal>.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ <emphasis
role="bold">@ForeignKey(name="FK_PARENT")</emphasis>
+ public Parent getParent() { ... }
+ ...
+}
+
+alter table Child add constraint FK_PARENT foreign key (parent_id) references
Parent</programlisting>
+
+ <sect3 id="entity-hibspec-singleassoc-fetching">
+ <title>Lazy options and fetching modes</title>
+
+ <para>EJB3 comes with the <literal>fetch</literal> option to
define
+ lazy loading and fetching modes, however Hibernate has a much more
+ option set in this area. To fine tune the lazy loading and fetching
+ strategies, some additional annotations have been introduced:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>@LazyToOne</literal>: defines the lazyness
option
+ on <literal>@ManyToOne</literal> and
<literal>@OneToOne</literal>
+ associations. <literal>LazyToOneOption</literal> can be
+ <literal>PROXY</literal> (ie use a proxy based lazy loading),
+ <literal>NO_PROXY</literal> (use a bytecode enhancement based
lazy
+ loading - note that build time bytecode processing is necessary)
+ and <literal>FALSE</literal> (association not lazy)</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>@LazyCollection</literal>: defines the
lazyness
+ option on <literal>@ManyTo</literal>Many and
+ <literal>@OneToMany</literal> associations. LazyCollectionOption
+ can be <literal>TRUE</literal> (the collection is lazy and will
be
+ loaded when its state is accessed), <literal>EXTRA</literal>
(the
+ collection is lazy and all operations will try to avoid the
+ collection loading, this is especially useful for huge collections
+ when loading all the elements is not necessary) and FALSE
+ (association not lazy)</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>@Fetch</literal>: defines the fetching
strategy
+ used to load the association. <literal>FetchMode</literal> can
be
+ <literal>SELECT</literal> (a select is triggered when the
+ association needs to be loaded), <literal>SUBSELECT</literal>
+ (only available for collections, use a subselect strategy - please
+ refers to the Hibernate Reference Documentation for more
+ information) or <literal>JOIN</literal> (use a SQL JOIN to load
+ the association while loading the owner entity).
+ <literal>JOIN</literal> overrides any lazy attribute (an
+ association loaded through a <literal>JOIN</literal> strategy
+ cannot be lazy).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The Hibernate annotations overrides the EJB3 fetching
+ options.</para>
+
+ <table>
+ <title>Lazy and fetch options equivalent</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Annotations</entry>
+
+ <entry>Lazy</entry>
+
+ <entry>Fetch</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>(a)[One|Many]ToOne](fetch=FetchType.LAZY)</entry>
+
+ <entry>@LazyToOne(PROXY)</entry>
+
+ <entry>@Fetch(SELECT)</entry>
+ </row>
+
+ <row>
+ <entry>(a)[One|Many]ToOne](fetch=FetchType.EAGER)</entry>
+
+ <entry>@LazyToOne(FALSE)</entry>
+
+ <entry>@Fetch(JOIN)</entry>
+ </row>
+
+ <row>
+ <entry>(a)ManyTo[One|Many](fetch=FetchType.LAZY)</entry>
+
+ <entry>@LazyCollection(TRUE)</entry>
+
+ <entry>@Fetch(SELECT)</entry>
+ </row>
+
+ <row>
+ <entry>(a)ManyTo[One|Many](fetch=FetchType.EAGER)</entry>
+
+ <entry>@LazyCollection(FALSE)</entry>
+
+ <entry>@Fetch(JOIN)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect3>
+
+ <sect3 id="entity-hibspec-singleassoc-any">
+ <title>@Any</title>
+
+ <para>The <classname>@Any</classname> annotation defines a
polymorphic
+ association to classes from multiple tables. This type of mapping
+ always requires more than one column. The first column holds the type
+ of the associated entity. The remaining columns hold the identifier.
+ It is impossible to specify a foreign key constraint for this kind of
+ association, so this is most certainly not meant as the usual way of
+ mapping (polymorphic) associations. You should use this only in very
+ special cases (eg. audit logs, user session data, etc).</para>
+
+ <para>The @Any annotation describes the column holding the metadata
+ information. To link the value of the metadata information and an
+ actual entity type, The <classname>@AnyDef</classname> and
+ <classname>@AnyDefs</classname> annotations are used.</para>
+
+ <programlisting> @Any( metaColumn = @Column( name =
"property_type" ), fetch=FetchType.EAGER )
+ @AnyMetaDef(
+ idType = "integer",
+ metaType = "string",
+ metaValues = {
+ @MetaValue( value = "S", targetEntity = StringProperty.class ),
+ @MetaValue( value = "I", targetEntity = IntegerProperty.class )
+ } )
+ @JoinColumn( name = "property_id" )
+ public Property getMainProperty() {
+ return mainProperty;
+ }</programlisting>
+
+ <para><methodname>idType</methodname> represents the target
entities
+ identifier property type and <methodname>metaType</methodname> the
+ metadata type (usually String).</para>
+
+ <para>Note that <classname>@AnyDef</classname> can be
mutualized and
+ reused. It is recommended to place it as a package metadata in this
+ case.</para>
+
+ <programlisting>//on a package
+@AnyMetaDef( name="property"
+ idType = "integer",
+ metaType = "string",
+ metaValues = {
+ @MetaValue( value = "S", targetEntity = StringProperty.class ),
+ @MetaValue( value = "I", targetEntity = IntegerProperty.class )
+ } )
+package org.hibernate.test.annotations.any;
+
+
+//in a class
+ @Any( metaDef="property", metaColumn = @Column( name =
"property_type" ), fetch=FetchType.EAGER )
+ @JoinColumn( name = "property_id" )
+ public Property getMainProperty() {
+ return mainProperty;
+ }</programlisting>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-hibspec-collection" revision="2">
+ <title>Collection related annotations</title>
+
+ <sect3 id="entity-hibspec-collection-enhance"
revision="3">
+ <title>Enhance collection settings</title>
+
+ <para>It is possible to set <itemizedlist>
+ <listitem>
+ the batch size for collections using @BatchSize
+ </listitem>
+
+ <listitem>
+ the where clause, using @Where (applied on the target entity) or
@WhereJoinTable (applied on the association table)
+ </listitem>
+
+ <listitem>
+ the check clause, using @Check
+ </listitem>
+
+ <listitem>
+ the SQL order by clause, using @OrderBy
+ </listitem>
+
+ <listitem>
+ the delete cascade strategy through
@OnDelete(action=OnDeleteAction.CASCADE)
+ </listitem>
+
+ <listitem>
+ the collection immutability using @Immutable: if set specifies that the
elements of the collection never change (a minor performance optimization in some cases)
+ </listitem>
+
+ <listitem>
+ <para>a custom collection persister (ie the persistence strategy
+ used) using <literal>@Persister</literal>: the class must
+ implement
+
<classname>org.hibernate.persister.collectionCollectionPersister</classname></para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>You can also declare a sort comparator. Use the
+ <literal>@Sort</literal> annotation. Expressing the comparator type
+ you want between unsorted, natural or custom comparator. If you want
+ to use your own comparator implementation, you'll also have to express
+ the implementation class using the <literal>comparator</literal>
+ attribute. Note that you need to use either a
+ <classname>SortedSet</classname> or a
<classname>SortedMap</classname>
+ interface.</para>
+
+ <programlisting> @OneToMany(cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ @Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class)
+ @Where(clause="1=1")
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ public SortedSet<Ticket> getTickets() {
+ return tickets;
+ }</programlisting>
+
+ <para>Please refer to the previous descriptions of these annotations
+ for more informations.</para>
+
+ <para>Foreign key constraints, while generated by Hibernate, have a
+ fairly unreadable name. You can override the constraint name by use
+ <literal>@ForeignKey</literal>. Note that this annotation has to be
+ placed on the owning side of the relationship,
+ <literal>inverseName</literal> referencing to the other side
+ constraint.</para>
+
+ <programlisting>@Entity
+public class Woman {
+ ...
+ @ManyToMany(cascade = {CascadeType.ALL})
+ <emphasis role="bold">@ForeignKey(name = "TO_WOMAN_FK",
inverseName = "TO_MAN_FK")</emphasis>
+ public Set<Man> getMens() {
+ return mens;
+ }
+}
+
+alter table Man_Woman add constraint TO_WOMAN_FK foreign key (woman_id) references Woman
+alter table Man_Woman add constraint TO_MAN_FK foreign key (man_id) references
Man</programlisting>
+ </sect3>
+
+ <sect3 id="entity-hibspec-collection-extratype"
revision="1">
+ <title>Extra collection types</title>
+
+ <sect4>
+ <title>List</title>
+
+ <para>Beyond EJB3, Hibernate Annotations supports true
+ <classname>List</classname> and
<classname>Array</classname>. Map
+ your collection the same way as usual and add the
+ @<literal>IndexColumn</literal>. This annotation allows you to
+ describe the column that will hold the index. You can also declare
+ the index value in DB that represent the first element (aka as base
+ index). The usual value is <literal>0</literal> or
+ <literal>1</literal>.</para>
+
+ <programlisting>@OneToMany(cascade = CascadeType.ALL)
+@IndexColumn(name = "drawer_position", base=1)
+public List<Drawer> getDrawers() {
+ return drawers;
+}</programlisting>
+
+ <note>
+ <para>If you forgot to set <literal>@IndexColumn</literal>,
the
+ bag semantic is applied. If you want the bag semantic without the
+ limitations of it, consider using
+ <literal>(a)CollectionId</literal>.</para>
+ </note>
+ </sect4>
+
+ <sect4 id="entity-hibspec-collection-extratype-map"
revision="1">
+ <title>Map</title>
+
+ <para>Hibernate Annotations also supports true Map mappings, if
+ <literal>(a)javax.persistence.MapKey</literal> is not set, hibernate
+ will map the key element or embeddable object in its/their own
+ columns. To override the default columns, you can use
+ <literal>(a)org.hibernate.annotations.MapKey</literal> if your key
is
+ a basic type (defaulted to <literal>mapkey</literal>) or an
+ embeddable object, or you can use
+ <literal>(a)org.hibernate.annotations.MapKeyManyToMany</literal> if
+ your key is an entity.</para>
+
+ <para>Both
<literal>(a)org.hibernate.annotations.MapKey</literal> and
+ <literal>(a)org.hibernate.annotations.MapKeyManyToMany</literal>
+ allows you to override the target element to be used. This is
+ especially useful if your collection does not use generics (or if
+ you use interfaces).</para>
+
+ <programlisting> @CollectionOfElements(targetElement =
SizeImpl.class)
+ @MapKeyManyToMany(<emphasis role="bold">targetEntity =
LuggageImpl.class</emphasis>)
+ private Map<Luggage, Size> sizePerLuggage = new HashMap<Luggage,
Size>();</programlisting>
+
+ <para></para>
+ </sect4>
+
+ <sect4 id="entity-hibspec-collection-extratype-indexbidir"
+ revision="2">
+ <title>Bidirectional association with indexed collections</title>
+
+ <para>A bidirectional association where one end is an indexed
+ collection (ie. represented as a <literal>@IndexColumn</literal>,
+ <literal>(a)org.hibernate.annotations.MapKey</literal> or
+
<classname>(a)org.hibernate.annotations.MapKeyManyToMany</classname>)
+ requires special consideration. If a property on the associated
+ class explicitly maps the indexed value, the use of
+ <methodname>mappedBy</methodname> is permitted:</para>
+
+ <programlisting>@Entity
+public class Parent {
+ @OneToMany(mappedBy="parent")
+ @org.hibernate.annotations.IndexColumn(name="order")
+ private List<Child> children;
+ ...
+}
+
+@Entity
+public class Child {
+ ...
+ //the index column is mapped as a property in the associated entity
+ @Column(name="order")
+ private int order;
+
+ @ManyToOne
+ @JoinColumn(name="parent_id", nullable=false)
+ private Parent parent;
+ ...
+}</programlisting>
+
+ <para>But, if there is no such property on the child class, we can't
+ think of the association as truly bidirectional (there is
+ information available at one end of the association that is not
+ available at the other end: the index). In this case, we can't map
+ the collection as <literal>mappedBy</literal>. Instead, we could
use
+ the following mapping:</para>
+
+ <programlisting>@Entity
+public class Parent {
+ @OneToMany
+ @org.hibernate.annotations.IndexColumn(name="order")
+ @JoinColumn(name="parent_id", nullable=false)
+ private List<Child> children;
+ ...
+}
+
+@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @JoinColumn(name="parent_id", insertable=false, updatable=false,
nullable=false)
+ private Parent parent;
+ ...
+}</programlisting>
+
+ <para>Note that in this mapping, the collection-valued end of the
+ association is responsible for updating the foreign key.</para>
+ </sect4>
+
+ <sect4>
+ <title>Bag with primary key</title>
+
+ <para>Another interesting feature is the ability to define a
+ surrogate primary key to a bag collection. This remove pretty much
+ all of the drawbacks of bags: update and removal are efficient, more
+ than one <literal>EAGER</literal> bag per query or per entity.
This
+ primary key will be contained in a additional column of your
+ collection table but will not be visible to the Java application.
+ @CollectionId is used to mark a collection as id bag, it also allow
+ to override the primary key column(s), the primary key type and the
+ generator strategy. The strategy can be
<literal>identity</literal>,
+ or any defined generator name of your application.</para>
+
+ <programlisting>@Entity
+@TableGenerator(name="ids_generator", table="IDS")
+public class Passport {
+ ...
+
+ @ManyToMany(cascade = CascadeType.ALL)
+ @JoinTable(name="PASSPORT_VISASTAMP")
+ <emphasis role="bold">@CollectionId(
+ columns = @Column(name="COLLECTION_ID"),
+ type=@Type(type="long"),
+ generator = "ids_generator"
+ )</emphasis>
+ private Collection<Stamp> visaStamp = new ArrayList();
+ ...
+}</programlisting>
+ </sect4>
+
+ <sect4>
+ <title>Collection of element or composite elements</title>
+
+ <para>Hibernate Annotations also supports collections of core types
+ (Integer, String, Enums, ...), collections of embeddable objects and
+ even arrays of primitive types. This is known as collection of
+ elements.</para>
+
+ <para>A collection of elements has to be annotated as
+ <literal>@CollectionOfElements</literal> (as a replacement of
+ <literal>@OneToMany</literal>) To define the collection table, the
+ <literal>@JoinTable</literal> annotation is used on the
association
+ property, <literal>joinColumns</literal> defines the join columns
+ between the entity primary table and the collection table
+ (inverseJoincolumn is useless and should be left empty). For
+ collection of core types or array of primitive types, you can
+ override the element column definition using a
+ <literal>@Column</literal> on the association property. You can
also
+ override the columns of a collection of embeddable object using
+ <literal>@AttributeOverride</literal>. To reach the collection
+ element, you need to append "element" to the attribute override name
+ (eg "element" for core types, or "element.serial" for the
serial
+ property of an embeddable element). To reach the index/key of a
+ collection, append "key" instead.</para>
+
+ <programlisting>@Entity
+public class Boy {
+ private Integer id;
+ private Set<String> nickNames = new HashSet<String>();
+ private int[] favoriteNumbers;
+ private Set<Toy> favoriteToys = new HashSet<Toy>();
+ private Set<Character> characters = new
HashSet<Character>();
+
+ @Id @GeneratedValue
+ public Integer getId() {
+ return id;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ public Set<String></emphasis> getNickNames() {
+ return nickNames;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ @JoinTable(
+ table=@Table(name="BoyFavoriteNumbers"),
+ joinColumns = @JoinColumn(name="BoyId")
+ )
+ @Column(name="favoriteNumber", nullable=false)</emphasis>
+ @IndexColumn(name="nbr_index")
+ public int[] getFavoriteNumbers() {
+ return favoriteNumbers;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ @AttributeOverride( name="element.serial",
column=@Column(name="serial_nbr") )</emphasis>
+ public Set<Toy> getFavoriteToys() {
+ return favoriteToys;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ public Set<Character></emphasis> getCharacters() {
+ return characters;
+ }
+ ...
+}
+
+public enum Character {
+ GENTLE,
+ NORMAL,
+ AGGRESSIVE,
+ ATTENTIVE,
+ VIOLENT,
+ CRAFTY
+}
+
+@Embeddable
+public class Toy {
+ public String name;
+ public String serial;
+ public Boy owner;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getSerial() {
+ return serial;
+ }
+
+ public void setSerial(String serial) {
+ this.serial = serial;
+ }
+
+ <emphasis role="bold">@Parent</emphasis>
+ public Boy getOwner() {
+ return owner;
+ }
+
+ public void setOwner(Boy owner) {
+ this.owner = owner;
+ }
+
+ public boolean equals(Object o) {
+ if ( this == o ) return true;
+ if ( o == null || getClass() != o.getClass() ) return false;
+
+ final Toy toy = (Toy) o;
+
+ if ( !name.equals( toy.name ) ) return false;
+ if ( !serial.equals( toy.serial ) ) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ int result;
+ result = name.hashCode();
+ result = 29 * result + serial.hashCode();
+ return result;
+ }
+}</programlisting>
+
+ <para>On a collection of embeddable objects, the embeddable object
+ can have a property annotated with <literal>@Parent</literal>.
This
+ property will then point back to the entity containing the
+ collection.</para>
+
+ <note>
+ <para>Previous versions of Hibernate Annotations used the
+ <literal>@OneToMany</literal> to mark a collection of elements.
+ Due to semantic inconsistencies, we've introduced the annotation
+ <literal>@CollectionOfElements</literal>. Marking collections of
+ elements the old way still work but is considered deprecated and
+ is going to be unsupported in future releases</para>
+ </note>
+ </sect4>
+
+ <sect4>
+ <title>@ManyToAny</title>
+
+ <para><classname>@ManyToAny</classname> allows polymorphic
+ associations to classes from multiple tables. This type of mapping
+ always requires more than one column. The first column holds the
+ type of the associated entity. The remaining columns hold the
+ identifier. It is impossible to specify a foreign key constraint for
+ this kind of association, so this is most certainly not meant as the
+ usual way of mapping (polymorphic) associations. You should use this
+ only in very special cases (eg. audit logs, user session data,
+ etc).</para>
+
+ <programlisting> @ManyToAny(
+ metaColumn = @Column( name = "property_type" ) )
+ @AnyMetaDef(
+ idType = "integer",
+ metaType = "string",
+ metaValues = {
+ @MetaValue( value = "S", targetEntity = StringProperty.class ),
+ @MetaValue( value = "I", targetEntity = IntegerProperty.class ) }
)
+ @Cascade( { org.hibernate.annotations.CascadeType.ALL } )
+ @JoinTable( name = "obj_properties", joinColumns = @JoinColumn( name =
"obj_id" ),
+ inverseJoinColumns = @JoinColumn( name = "property_id" ) )
+ public List<Property> getGeneralProperties() {</programlisting>
+
+ <para>Like <classname>@Any</classname>,
+ <classname>@ManyToAny</classname> can use named
+ <classname>@AnyDef</classname>s, see <xref
+ linkend="entity-hibspec-singleassoc-any" /> for more
info.</para>
+ </sect4>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-hibspec-cascade" xreflabel="Cascade">
+ <title>Cascade</title>
+
+ <para>Hibernate offers more operations than the Java Persistence
+ specification. You can use the <literal>@Cascade</literal> annotation
to
+ cascade the following operations:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>PERSIST</para>
+ </listitem>
+
+ <listitem>
+ <para>MERGE</para>
+ </listitem>
+
+ <listitem>
+ <para>REMOVE</para>
+ </listitem>
+
+ <listitem>
+ <para>REFRESH</para>
+ </listitem>
+
+ <listitem>
+ <para>DELETE</para>
+ </listitem>
+
+ <listitem>
+ <para>SAVE_UPDATE</para>
+ </listitem>
+
+ <listitem>
+ <para>REPLICATE</para>
+ </listitem>
+
+ <listitem>
+ <para>DELETE_ORPHAN</para>
+ </listitem>
+
+ <listitem>
+ <para>LOCK</para>
+ </listitem>
+
+ <listitem>
+ <para>EVICT</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>This is especially useful for
<literal>SAVE_UPDATE</literal>
+ (which is the operation cascaded at flush time if you use plain
+ Hibernate Annotations - Hibernate EntityManager cascade
+ <literal>PERSIST</literal> at flush time as per the specification).
+ DELETE_ORPHAN applies only to <literal>@OneToMany</literal>
+ associations, and indicates that the
+ <methodname>delete()/remove()</methodname> operation should be applied
+ to any child object that is removed from the association. In other
+ words, if a child is dereferenced by a persistent parent and if
+ <literal>DELETE_ORPHAN</literal> is used, the "orphaned"
child is
+ deleted.</para>
+
+ <programlisting>@OneToMany( cascade = {CascadeType.PERSIST,
CascadeType.MERGE} <emphasis
+ role="bold">)
+(a)Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE,
+ org.hibernate.annotations.CascadeType.DELETE_ORPHAN})</emphasis>
+public Collection<Employer> getEmployers()</programlisting>
+
+ <para>It is recommended to use @Cascade to compliment @*To*(cascade=...)
+ as shown in the previous example.</para>
+ </sect2>
+
+ <sect2>
+ <title>Cache</title>
+
+ <para>In order to optimize your database accesses, you can activate the
+ so called second level cache of Hibernate. This cache is configurable on
+ a per entity and per collection basis.</para>
+
+ <para><literal>(a)org.hibernate.annotations.Cache</literal> defines
the
+ caching strategy and region of a given second level cache. This
+ annotation can be applied on the root entity (not the sub entities), and
+ on the collections.</para>
+
+ <programlisting>@Entity
+@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
+public class Forest { ... }</programlisting>
+
+ <programlisting> @OneToMany(cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
+ public SortedSet<Ticket> getTickets() {
+ return tickets;
+ }</programlisting>
+
+ <para></para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="2 55" id="hm1" />
+
+ <area coords="3 55" id="hm2" />
+
+ <area coords="4 55" id="hm3" />
+ </areaspec>
+
+ <programlisting>@Cache(
+ CacheConcurrencyStrategy usage();
+ String region() default "";
+ String include() default "all";
+)</programlisting>
+
+ <calloutlist>
+ <callout arearefs="hm1">
+ <para>usage: the given cache concurrency strategy (NONE,
+ READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL)</para>
+ </callout>
+
+ <callout arearefs="hm2">
+ <para>region (optional): the cache region (default to the fqcn of
+ the class or the fq role name of the collection)</para>
+ </callout>
+
+ <callout arearefs="hm3">
+ <para><literal>include</literal> (optional): all to include
all
+ properties, non-lazy to only include non lazy properties (default
+ all).</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ </sect2>
+
+ <sect2 id="entity-hibspec-filters">
+ <title>Filters</title>
+
+ <para>Hibernate has the ability to apply arbitrary filters on top of
+ your data. Those filters are applied at runtime on a given session.
+ First, you need to define them.</para>
+
+ <para><literal>(a)org.hibernate.annotations.FilterDef</literal> or
+ <literal>@FilterDefs</literal> define filter definition(s) used by
+ filter(s) using the same name. A filter definition has a name() and an
+ array of parameters(). A parameter will allow you to adjust the behavior
+ of the filter at runtime. Each parameter is defined by a
+ <literal>@ParamDef</literal> which has a name and a type. You can also
+ define a defaultCondition() parameter for a given
+ <literal>@FilterDef</literal> to set the default condition to use when
+ none are defined in each individual <literal>@Filter</literal>. A
+ <literal>@FilterDef</literal>(s) can be defined at the class or
package
+ level.</para>
+
+ <para>We now need to define the SQL filter clause applied to either the
+ entity load or the collection load. <literal>@Filter</literal> is used
+ and placed either on the entity or the collection element</para>
+
+ <para><programlisting>@Entity
+@FilterDef(name="minLength", parameters=@ParamDef( name="minLength",
type="integer" ) )
+@Filters( {
+ @Filter(name="betweenLength", condition=":minLength <= length
and :maxLength >= length"),
+ @Filter(name="minLength", condition=":minLength <=
length")
+} )
+public class Forest { ... }</programlisting></para>
+
+ <para>When the collection use an association table as a relational
+ representation, you might want to apply the filter condition to the
+ association table itself or to the target entity table. To apply the
+ constraint on the target entity, use the regular
+ <literal>@Filter</literal> annotation. However, if you wan to target
the
+ association table, use the <literal>@FilterJoinTable</literal>
+ annotation.</para>
+
+ <programlisting> @OneToMany
+ @JoinTable
+ //filter on the target entity table
+ @Filter(name="betweenLength", condition=":minLength <= length
and :maxLength >= length")
+ //filter on the association table
+ @FilterJoinTable(name="security", condition=":userlevel >=
requredLevel")
+ public Set<Forest> getForests() { ... }</programlisting>
+ </sect2>
+
+ <sect2 id="entity-hibspec-query">
+ <title>Queries</title>
+
+ <para>Since Hibernate has more features on named queries than the one
+ defined in the EJB3 specification,
+ <literal>(a)org.hibernate.annotations.NamedQuery</literal>,
+ <literal>(a)org.hibernate.annotations.NamedQueries</literal>,
+ <literal>(a)org.hibernate.annotations.NamedNativeQuery</literal> and
+ <literal>(a)org.hibernate.annotations.NamedNativeQueries</literal> have
+ been introduced. They add some attributes to the standard version and
+ can be used as a replacement:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>flushMode: define the query flush mode (Always, Auto, Commit
+ or Manual)</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheable: whether the query should be cached or not</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheRegion: cache region used if the query is cached</para>
+ </listitem>
+
+ <listitem>
+ <para>fetchSize: JDBC statement fetch size for this query</para>
+ </listitem>
+
+ <listitem>
+ <para>timeout: query time out</para>
+ </listitem>
+
+ <listitem>
+ <para>callable: for native queries only, to be set to true for
+ stored procedures</para>
+ </listitem>
+
+ <listitem>
+ <para>comment: if comments are activated, the comment seen when the
+ query is sent to the database.</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheMode: Cache interaction mode (get, ignore, normal, put or
+ refresh)</para>
+ </listitem>
+
+ <listitem>
+ <para>readOnly: whether or not the elements retrievent from the
+ query are in read only mode.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Those hints can be set in a standard
+ <literal>(a)javax.persistence.NamedQuery</literal> annotations through
the
+ detyped <literal>@QueryHint</literal>. Another key advantage is the
+ ability to set those annotations at a package level.</para>
+ </sect2>
+
+ <sect2 id="entity-hibspec-customsql" revision="1">
+ <title>Custom SQL for CRUD operations</title>
+
+ <para>Hibernate gives you the ability to override every single SQL
+ statement generated. We have seen native SQL query usage already, but
+ you can also override the SQL statement used to load or change the state
+ of entities.</para>
+
+ <programlisting>@Entity
+@Table(name="CHAOS")
+<emphasis role="bold">@SQLInsert( sql="INSERT INTO CHAOS(size, name,
nickname, id) VALUES(?,upper(?),?,?)")
+@SQLUpdate( sql="UPDATE CHAOS SET size = ?, name = upper(?), nickname = ? WHERE id =
?")
+@SQLDelete( sql="DELETE CHAOS WHERE id = ?")
+@SQLDeleteAll( sql="DELETE CHAOS")
+</emphasis><emphasis role="bold">@Loader(namedQuery =
"chaos")</emphasis>
+@NamedNativeQuery(name="chaos", query="select id, size, name, lower(
nickname ) as nickname from CHAOS where id= ?", resultClass = Chaos.class)
+public class Chaos {
+ @Id
+ private Long id;
+ private Long size;
+ private String name;
+ private String nickname;</programlisting>
+
+ <para><literal>@SQLInsert</literal>,
<literal>@SQLUpdate</literal>,
+ <literal>@SQLDelete</literal>,
<literal>@SQLDeleteAll</literal>
+ respectively override the INSERT statement, UPDATE statement, DELETE
+ statement, DELETE statement to remove all entities.</para>
+
+ <para>If you expect to call a store procedure, be sure to set the
+ <literal>callable</literal> attribute to true
+ (<literal>@SQLInsert(callable=true, ...)</literal>).</para>
+
+ <para>To check that the execution happens correctly, Hibernate allows
+ you to define one of those three strategies:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>NONE: no check is performed: the store procedure is expected
+ to fail upon issues</para>
+ </listitem>
+
+ <listitem>
+ <para>COUNT: use of rowcount to check that the update is
+ successful</para>
+ </listitem>
+
+ <listitem>
+ <para>PARAM: like COUNT but using an output parameter rather that
+ the standard mechanism</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>To define the result check style, use the
<literal>check</literal>
+ parameter (<literal>(a)SQLUpdate(check=ResultCheckStyle.COUNT,
+ ...)</literal>).</para>
+
+ <para>You can also override the SQL load statement by a native SQL query
+ or a HQL query. You just have to refer to a named query with the
+ <literal><literal>@Loader</literal></literal>
annotation.</para>
+
+ <para>You can use the exact same set of annotations to override the
+ collection related statements.</para>
+
+ <programlisting>@OneToMany
+@JoinColumn(name="chaos_fk")
+<emphasis role="bold">@SQLInsert( sql="UPDATE CASIMIR_PARTICULE SET
chaos_fk = ? where id = ?")
+@SQLDelete( sql="UPDATE CASIMIR_PARTICULE SET chaos_fk = null where id =
?")</emphasis>
+private Set<CasimirParticle> particles = new
HashSet<CasimirParticle>();</programlisting>
+
+ <para>The parameters order is important and is defined by the order
+ Hibernate handle properties. You can see the expected order by enabling
+ debug logging for the
<literal>org.hibernate.persister.entity</literal>
+ level. With this level enabled Hibernate will print out the static SQL
+ that is used to create, update, delete etc. entities. (To see the
+ expected sequence, remember to not include your custom SQL through
+ annotations as that will override the Hibernate generated static
+ sql.)</para>
+
+ <para>Overriding SQL statements for secondary tables is also possible
+ using <literal>(a)org.hibernate.annotations.Table</literal> and either
(or
+ all) attributes <literal>sqlInsert</literal>,
+ <literal>sqlUpdate</literal>,
<literal>sqlDelete</literal>:</para>
+
+ <programlisting>@Entity
+@SecondaryTables({
+ @SecondaryTable(name = "`Cat nbr1`"),
+ @SecondaryTable(name = "Cat2"})
+(a)org.hibernate.annotations.Tables( {
+ @Table(appliesTo = "Cat", comment = "My cat table" ),
+ @Table(appliesTo = "Cat2", foreignKey =
@ForeignKey(name="FK_CAT2_CAT"), fetch = FetchMode.SELECT,
+ <emphasis role="bold">sqlInsert=@SQLInsert(sql="insert into
Cat2(storyPart2, id) values(upper(?), ?)") )</emphasis>
+} )
+public class Cat implements Serializable {</programlisting>
+
+ <para>The previous example also show that you can give a comment to a
+ given table (promary or secondary): This comment will be used for DDL
+ generation.</para>
+ </sect2>
+
+ <sect2>
+ <title>Tuplizer</title>
+
+ <para><classname>org.hibernate.tuple.Tuplizer</classname>, and
its
+ sub-interfaces, are responsible for managing a particular representation
+ of a piece of data, given that representation's
+ <literal>org.hibernate.EntityMode</literal>. If a given piece of data
is
+ thought of as a data structure, then a tuplizer is the thing which knows
+ how to create such a data structure and how to extract values from and
+ inject values into such a data structure. For example, for the POJO
+ entity mode, the correpsonding tuplizer knows how create the POJO
+ through its constructor and how to access the POJO properties using the
+ defined property accessors. There are two high-level types of Tuplizers,
+ represented by the
+ <classname>org.hibernate.tuple.EntityTuplizer</classname> and
+ <classname>org.hibernate.tuple.ComponentTuplizer</classname>
interfaces.
+ EntityTuplizers are responsible for managing the above mentioned
+ contracts in regards to entities, while
+ <classname>ComponentTuplizers</classname> do the same for components.
+ Check the Hibernate reference documentation for more information.</para>
+
+ <para>To define tuplixer in annotations, simply use the
+ <literal>@Tuplizer</literal> annotation on the according
element</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">@Tuplizer(impl =
DynamicEntityTuplizer.class)</emphasis>
+public interface Cuisine {
+ @Id
+ @GeneratedValue
+ public Long getId();
+ public void setId(Long id);
+
+ public String getName();
+ public void setName(String name);
+
+ <emphasis role="bold">@Tuplizer(impl =
DynamicComponentTuplizer.class)</emphasis>
+ public Country getCountry();
+ public void setCountry(Country country);
+
+
+}</programlisting>
+ </sect2>
+ </sect1>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/setup.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/setup.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/setup.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter>
+ <title id="setup" revision="1">Setting up an annotations
project</title>
+
+ <section id="setup-requirements" revision="2">
+ <title>Requirements</title>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
url="http://www.hibernate.org/6.html">Download</ulink>
+ and unpack the Hibernate Annotations distribution from the Hibernate
+ website.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>This release requires Hibernate Core 3.3 and
+ above.</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>This release is known to work on Hibernate Core
3.3.0.SP1</para>
+ </listitem>
+
+ <listitem>
+ <para>Make sure you have JDK 5.0 installed or above. You can of course
+ continue using XDoclet and get some of the benefits of
+ annotation-based metadata with older JDK versions. Note that this
+ document only describes JDK 5.0 annotations and you have to refer to
+ the XDoclet documentation for more information.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="setup-configuration" revision="2">
+ <title>Configuration</title>
+
+ <para>First, set up your classpath (after you have created a new project
+ in your favorite IDE): <itemizedlist>
+ <listitem>
+ <para>Copy all Hibernate3 core and required 3rd party library files
+ (see lib/README.txt in Hibernate).</para>
+ </listitem>
+
+ <listitem>
+ <para>Copy <filename>hibernate-annotations.jar</filename>,
+ <filename>lib/hibernate-comons-annotations.jar</filename> and
+ <filename>lib/ejb3-persistence.jar</filename> from the Hibernate
+ Annotations distribution to your classpath as well.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>If you wish to use <ulink
+ url="http://validator.hibernate.org">Hibernate Validator</ulink>,
download
+ it from the Hibernate website and add
+ <filename>hibernate-validator.jar</filename> in your
classpath.</para>
+
+ <para>If you wish to use <ulink
+ url="http://search.hibernate.org">Hibernate Search</ulink>,
download it
+ from the Hibernate website and add
+ <filename>hibernate-search.jar</filename> and
+ <filename>lucene-core-x.y.z.jar</filename> in your
classpath.</para>
+
+ <para>We also recommend a small wrapper class to startup Hibernate in a
+ static initializer block, known as <classname>HibernateUtil</classname>.
+ You might have seen this class in various forms in other areas of the
+ Hibernate documentation. For Annotation support you have to enhance this
+ helper class as follows: <programlisting>package hello;
+
+import org.hibernate.*;
+import org.hibernate.cfg.*;
+import test.*;
+import test.animals.Dog;
+
+public class HibernateUtil {
+
+private static final SessionFactory sessionFactory;
+
+ static {
+ try {
+
+ sessionFactory = new <emphasis
role="bold">AnnotationConfiguration()</emphasis>
+ configure().buildSessionFactory();
+ } catch (Throwable ex) {
+ // Log exception!
+ throw new ExceptionInInitializerError(ex);
+ }
+ }
+
+ public static Session getSession()
+ throws HibernateException {
+ return sessionFactory.openSession();
+ }
+}
+ </programlisting></para>
+
+ <para>Interesting here is the use of
+ <classname>AnnotationConfiguration</classname>. The packages and
annotated
+ classes are declared in your regular XML configuration file (usually
+ <filename>hibernate.cfg.xml</filename>). Here is the equivalent of the
+ above declaration:</para>
+
+ <programlisting><!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+ <hibernate-configuration>
+ <session-factory>
+ <emphasis role="bold"><mapping
package="test.animals"/>
+ <mapping class="test.Flight"/>
+ <mapping class="test.Sky"/>
+ <mapping class="test.Person"/>
+ <mapping class="test.animals.Dog"/></emphasis>
+<emphasis role="bold"> <mapping
resource="test/animals/orm.xml"/></emphasis>
+ </session-factory>
+ </hibernate-configuration>
+ </programlisting>
+
+ <para>Note that you can mix the hbm.xml use and the new annotation one.
+ The resource element can be either an hbm file or an EJB3 XML deployment
+ descriptor. The distinction is transparent for your configuration
+ process.</para>
+
+ <para>Alternatively, you can define the annotated classes and packages
+ using the programmatic API</para>
+
+ <programlisting> sessionFactory = new <emphasis
role="bold">AnnotationConfiguration()
+ .addPackage("test.animals") //the fully qualified package
name
+ .addAnnotatedClass(Flight.class)
+ .addAnnotatedClass(Sky.class)
+ .addAnnotatedClass(Person.class)
+ .addAnnotatedClass(Dog.class)</emphasis>
+<emphasis role="bold">
.addResource("test/animals/orm.xml")</emphasis>
+ configure()..buildSessionFactory();</programlisting>
+
+ <para>You can also use the Hibernate EntityManager which has its own
+ configuration mechanism. Please refer to this project documentation for
+ more details.</para>
+
+ <para>There is no other difference in the way you use Hibernate APIs with
+ annotations, except for this startup routine change or in the
+ configuration file. You can use your favorite configuration method for
+ other properties ( <filename>hibernate.properties</filename>,
+ <filename>hibernate.cfg.xml</filename>, programmatic APIs, etc). You can
+ even mix annotated persistent classes and classic
+ <filename>hbm.cfg.xml</filename> declarations with the same
+ <classname>SessionFactory</classname>. You can however not declare a
class
+ several times (whether annotated or through hbm.xml). You cannot mix
+ configuration strategies (hbm vs annotations) in a mapped entity hierarchy
+ either.</para>
+
+ <para>To ease the migration process from hbm files to annotations, the
+ configuration mechanism detects the mapping duplication between
+ annotations and hbm files. HBM files are then prioritized over annotated
+ metadata on a class to class basis. You can change the priority using
+ <literal>hibernate.mapping.precedence</literal> property. The default is
+ <literal>hbm, class</literal>, changing it to <literal>class,
+ hbm</literal> will prioritize the annotated classes over hbm files when a
+ conflict occurs.</para>
+ </section>
+
+ <section>
+ <title id="setup-properties">Properties</title>
+
+ <para>Asides from the Hibernate core properties, Hibernate Annotations
+ reacts to the following one</para>
+ </section>
+
+ <section>
+ <title>Logging</title>
+
+ <para>Hibernate Annotations utilizes <ulink
+
url="http://www.slf4j.org/">Simple Logging Facade for Java</ulink>
(SLF4J)
+ in order to log various system events. SLF4J can direct your logging
+ output to several logging frameworks (NOP, Simple, log4j version 1.2, JDK
+ 1.4 logging, JCL or logback) depending on your chosen binding. In order to
+ setup logging properly you will need <filename>slf4j-api.jar</filename>
in
+ your classpath together with the jar file for your preferred binding -
+ <filename>slf4j-log4j12.jar</filename> in the case of Log4J. See the
SLF4J
+ <ulink type=""
+
url="http://www.slf4j.org/manual.html">documentation</uli... for
more
+ detail.</para>
+
+ <para>The logging categories interesting for Hibernate Annotations
+ are:</para>
+
+ <table>
+ <title>Hibernate Annotations Log Categories</title>
+
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry align="center">Category</entry>
+
+ <entry align="center">Function</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+
<entry><emphasis>org.hibernate.cfg</emphasis></entry>
+
+ <entry>Log all configuration related events (not only
+ annotations).</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>For further category configuration refer to the <ulink
+
url="http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#...
+ in the Hibernate Core documentation.</para>
+ </section>
+</chapter>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/xml-overriding.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/xml-overriding.xml
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/modules/xml-overriding.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,402 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="xml-overriding" label="Overriding metadata through
XML">
+ <title>Overriding metadata through XML</title>
+
+ <para>The primary target for metadata in EJB3 is annotations, but the EJB3
+ specification provides a way to override or replace the annotation defined
+ metadata through an XML deployment descriptor. In the current release only
+ pure EJB3 annotations overriding are supported. If you wish to use Hibernate
+ specific features in some entities, you'll have to either use annotations or
+ fallback to hbm files. You can of course mix and match annotated entities
+ and entities describes in hbm files.</para>
+
+ <para>The unit test suite shows some additional XML file samples.</para>
+
+ <section id="xml-overriding-principles">
+ <title>Principles</title>
+
+ <para>The XML deployment descriptor structure has been designed to reflect
+ the annotations one. So if you know the annotations structure, using the
+ XML schema will be straightforward for you.</para>
+
+ <para>You can define one ot more XML files describing your metadata, these
+ files will be merged by the overriding engine.</para>
+
+ <section>
+ <title>Global level metadata</title>
+
+ <para>You can define global level metadata available for all XML files.
+ You must not define these metadata more than once per deployment.</para>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <schema>myschema</schema>
+ <catalog>mycatalog</catalog>
+ <cascade-persist/>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata></programlisting>
+
+ <para><literal>xml-mapping-metadata-complete</literal> means that
all
+ entity, mapped-superclasses and embeddable metadata should be picked up
+ from XML (ie ignore annotations).</para>
+
+ <para><literal>schema / catalog</literal> will override all
default
+ definitions of schema and catalog in the metadata (both XML and
+ annotations).</para>
+
+ <para><literal>cascade-persist</literal> means that all
associations
+ have PERSIST as a cascade type. We recommend you to not use this
+ feature.</para>
+ </section>
+
+ <section id="xml-overriding-principles-entity"
revision="1">
+ <title>Entity level metadata</title>
+
+ <para>You can either define or override metadata informations on a given
+ entity.</para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="3 85" id="aa1" />
+
+ <area coords="9 85" id="aa2" />
+
+ <area coords="10 85" id="aa3" />
+
+ <area coords="11 85" id="aa4" />
+
+ <area coords="17 85" id="aa5" />
+
+ <area coords="23 85" id="aa6" />
+
+ <area coords="24 85" id="aa7" />
+
+ <area coords="25 85" id="aa8" />
+
+ <area coords="26 85" id="aa9" />
+
+ <area coords="31 85" id="aa10" />
+ </areaspec>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+
<package>org.hibernate.test.annotations.reflection</package>
+ <entity class="Administration" access="PROPERTY"
metadata-complete="true">
+ <table name="tbl_admin">
+ <unique-constraint>
+ <column-name>firstname</column-name>
+ <column-name>lastname</column-name>
+ </unique-constraint>
+ </table>
+ <secondary-table name="admin2">
+ <primary-key-join-column name="admin_id"
referenced-column-name="id"/>
+ <unique-constraint>
+ <column-name>address</column-name>
+ </unique-constraint>
+ </secondary-table>
+ <id-class class="SocialSecurityNumber"/>
+ <inheritance strategy="JOINED"/>
+ <sequence-generator name="seqhilo"
sequence-name="seqhilo"/>
+ <table-generator name="table"
table="tablehilo"/>
+ ...
+ </entity>
+
+ <entity class="PostalAdministration">
+ <primary-key-join-column name="id"/>
+ ...
+ </entity>
+</entity-mappings></programlisting>
+
+ <calloutlist>
+ <callout arearefs="aa1">
+ <para><literal>entity-mappings</literal>: entity-mappings
is the
+ root element for all XML files. You must declare the xml schema,
+ the schema file is included in the hibernate-annotations.jar file,
+ no internet access will be processed by Hibernate
+ Annotations.</para>
+ </callout>
+
+ <callout arearefs="aa2">
+ <para><literal>package</literal> (optional): default
package used
+ for all non qualified class names in the given deployment
+ descriptor file.</para>
+ </callout>
+
+ <callout arearefs="aa3">
+ <para><literal>entity</literal>: desribes an
entity.</para>
+
+ <para><literal>metadata-complete</literal> defines whether
the
+ metadata description for this element is complete or not (in other
+ words, if annotations present at the class level should be
+ considered or not).</para>
+
+ <para>An entity has to have a <literal>class</literal>
attribute
+ refering the java class the metadata applies on.</para>
+
+ <para>You can overrides entity name through the
+ <literal>name</literal> attribute, if none is defined and if an
+ <literal>(a)Entity.name</literal> is present, then it is used
+ (provided that metadata complete is not set).</para>
+
+ <para>For metadata complete (see below) element, you can define an
+ <literal>access</literal> (either
<literal>FIELD</literal> or
+ <literal>PROPERTY</literal> (default)). For non medatada
complete
+ element, if <literal>access</literal> is not defined, the @Id
+ position will lead position, if <literal>access</literal> is
+ defined, the value is used.</para>
+ </callout>
+
+ <callout arearefs="aa4">
+ <para><literal>table</literal>: you can declare table
properties
+ (name, schema, catalog), if none is defined, the java annotation
+ is used.</para>
+
+ <para>You can define one or several unique constraints as seen in
+ the example</para>
+ </callout>
+
+ <callout arearefs="aa5">
+ <para><literal>secondary-table</literal>: defines a
secondary
+ table very much like a regular table except that you can define
+ the primary key / foreign key column(s) through the
+ <literal>primary-key-join-column</literal> element. On non
+ metadata complete, annotation secondary tables are used only if
+ there is no <literal>secondary-table</literal> definition,
+ annotations are ignored otherwise.</para>
+ </callout>
+
+ <callout arearefs="aa6">
+ <para><literal>id-class</literal>: defines the id class in
a
+ similar way <literal>@IdClass</literal> does</para>
+ </callout>
+
+ <callout arearefs="aa7">
+ <para><literal>inheritance</literal>: defines the
inheritance
+ strategy (<literal>JOINED</literal>,
+ <literal>TABLE_PER_CLASS</literal>,
+ <literal>SINGLE_TABLE</literal>), Available only at the root
+ entity level</para>
+ </callout>
+
+ <callout arearefs="aa8">
+ <para><literal>sequence-generator</literal>: defines a
sequence
+ generator</para>
+ </callout>
+
+ <callout arearefs="aa9">
+ <para><literal>table-generator</literal>: defines a table
+ generator</para>
+ </callout>
+
+ <callout arearefs="aa10">
+
<para><literal><literal>primary-key-join-column</literal></literal>:
+ defines the primary key join column for sub entities when JOINED
+ inheritance strategy is used</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="11 85" id="ab1" />
+
+ <area coords="18 85" id="ab2" />
+
+ <area coords="22 85" id="ab3" />
+
+ <area coords="28 85" id="ab4" />
+
+ <area coords="34 85" id="ab5" />
+ </areaspec>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+
<package>org.hibernate.test.annotations.reflection</package>
+ <entity class="Music" access="PROPERTY"
metadata-complete="true">
+ <discriminator-value>Generic</discriminator-value>
+ <discriminator-column length="34"/>
+ ...
+ </entity>
+
+ <entity class="PostalAdministration">
+ <primary-key-join-column name="id"/>
+ <named-query name="adminById">
+ <query>select m from Administration m where m.id =
:id</query>
+ <hint name="org.hibernate.timeout"
value="200"/>
+ </named-query>
+ <named-native-query name="allAdmin"
result-set-mapping="adminrs">
+ <query>select *, count(taxpayer_id) as taxPayerNumber
+ from Administration, TaxPayer
+ where taxpayer_admin_id = admin_id group by ...</query>
+ <hint name="org.hibernate.timeout"
value="200"/>
+ </named-native-query>
+ <sql-result-set-mapping name="adminrs">
+ <entity-result entity-class="Administration">
+ <field-result name="name"
column="fld_name"/>
+ </entity-result>
+ <column-result name="taxPayerNumber"/>
+ </sql-result-set-mapping>
+ <attribute-override name="ground">
+ <column name="fld_ground" unique="true"
scale="2"/>
+ </attribute-override>
+ <association-override name="referer">
+ <join-column name="referer_id"
referenced-column-name="id"/>
+ </association-override>
+ ...
+ </entity>
+</entity-mappings></programlisting>
+
+ <calloutlist>
+ <callout arearefs="ab1">
+ <para><literal>discriminator-value /
+ discriminator-column</literal>: defines the discriminator value
+ and the column holding it when the SINGLE_TABLE inheritance
+ strategy is chosen</para>
+ </callout>
+
+ <callout arearefs="ab2">
+ <para><literal>named-query</literal>: defines named queries
and
+ possibly the hints associated to them. Those definitions are
+ additive to the one defined in annotations, if two definitions
+ have the same name, the XML one has priority.</para>
+ </callout>
+
+ <callout arearefs="ab3">
+ <para><literal>named-native-query</literal>: defines an
named
+ native query and its sql result set mapping. Alternatively, you
+ can define the <literal>result-class</literal>. Those
definitions
+ are additive to the one defined in annotations, if two definitions
+ have the same name, the XML one has priority.</para>
+ </callout>
+
+ <callout arearefs="ab4">
+ <para><literal>sql-result-set-mapping</literal>: describes
the
+ result set mapping structure. You can define both entity and
+ column mappings. Those definitions are additive to the one defined
+ in annotations, if two definitions have the same name, the XML one
+ has priority</para>
+ </callout>
+
+ <callout arearefs="ab5">
+ <para><literal>attribute-override /
+ association-override</literal>: defines a column or join column
+ overriding. This overriding is additive to the one defined in
+ annotations</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+
+ <para>Same applies for
<literal><embeddable></literal> and
+ <literal><mapped-superclass></literal>.</para>
+ </section>
+
+ <section>
+ <title>Property level metadata</title>
+
+ <para>You can of course defines XML overriding for properties. If
+ metadata complete is defined, then additional properties (ie at the Java
+ level) will be ignored. Otherwise, once you start overriding a property,
+ all annotations on the given property are ignored. All property level
+ metadata behave in <literal>entity/attributes</literal>,
+ <literal>mapped-superclass/attributes</literal> or
+ <literal>embeddable/attributes</literal>.</para>
+
+ <programlisting> <attributes>
+ <id name="id">
+ <column name="fld_id"/>
+ <generated-value generator="generator"
strategy="SEQUENCE"/>
+ <temporal>DATE</temporal>
+ <sequence-generator name="generator"
sequence-name="seq"/>
+ </id>
+ <version name="version"/>
+ <embedded name="embeddedObject">
+ <attribute-override name"subproperty">
+ <column name="my_column"/>
+ </attribute-override>
+ </embedded>
+ <basic name="status" optional="false">
+ <enumerated>STRING</enumerated>
+ </basic>
+ <basic name="serial" optional="true">
+ <column name="serialbytes"/>
+ <lob/>
+ </basic>
+ <basic name="terminusTime" fetch="LAZY">
+ <temporal>TIMESTAMP</temporal>
+ </basic>
+ </attributes></programlisting>
+
+ <para>You can override a property through <literal>id</literal>,
+ <literal>embedded-id</literal>,
<literal>version</literal>,
+ <literal>embedded</literal> and <literal>basic</literal>.
Each of these
+ elements can have subelements accordingly: <literal>lob</literal>,
+ <literal>temporal</literal>,
<literal>enumerated</literal>,
+ <literal>column</literal>.</para>
+ </section>
+
+ <section>
+ <title>Association level metadata</title>
+
+ <para>You can define XML overriding for associations. All association
+ level metadata behave in <literal>entity/attributes</literal>,
+ <literal>mapped-superclass/attributes</literal> or
+ <literal>embeddable/attributes</literal>.</para>
+
+ <programlisting> <attributes>
+ <one-to-many name="players" fetch="EAGER">
+ <map-key name="name"/>
+ <join-column name="driver"/>
+ <join-column name="number"/>
+ </one-to-many>
+ <many-to-many name="roads"
target-entity="Administration">
+ <order-by>maxSpeed</order-by>
+ <join-table name="bus_road">
+ <join-column name="driver"/>
+ <join-column name="number"/>
+ <inverse-join-column name="road_id"/>
+ <unique-constraint>
+ <column-name>driver</column-name>
+ <column-name>number</column-name>
+ </unique-constraint>
+ </join-table>
+ </many-to-many>
+ <many-to-many name="allTimeDrivers"
mapped-by="drivenBuses">
+ </attributes></programlisting>
+
+ <para>You can override an association through
+ <literal>one-to-many</literal>,
<literal>one-to-one</literal>,
+ <literal>many-to-one</literal>, and
<literal>many-to-many</literal>.
+ Each of these elements can have subelements accordingly:
+ <literal>join-table</literal> (which can have
+ <literal>join-column</literal>s and
+ <literal>inverse-join-column</literal>s),
+ <literal><literal>join-column</literal>s</literal>,
+ <literal>map-key</literal>, and
<literal>order-by</literal>.
+ <literal>mapped-by</literal> and
<literal>target-entity</literal> can be
+ defined as attributes when it makes sense. Once again the structure is
+ reflects the annotations structure. You can find all semantic
+ informations in the chapter describing annotations.</para>
+ </section>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/fopdf.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/fopdf.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/fopdf.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,519 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL FO configuration file for the Hibernate
+ Reference Documentation. It defines a custom titlepage and
+ the parameters for the A4 sized PDF printable output.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+
xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ exclude-result-prefixes="#default">
+
+ <xsl:import href="&db_xsl_path;/fo/docbook.xsl"/>
+
+ <!--###################################################
+ Custom Title Page
+ ################################################### -->
+
+ <xsl:template name="book.titlepage.recto">
+ <fo:block>
+ <fo:table table-layout="fixed" width="175mm">
+ <fo:table-column column-width="175mm"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell text-align="center">
+ <fo:block>
+ <fo:external-graphic
src="file:images/hibernate_logo_a.png"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="22pt" padding-before="10mm">
+ <xsl:value-of select="bookinfo/title"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="18pt" padding-before="10mm">
+ <xsl:value-of
select="bookinfo/subtitle"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="12pt" padding="10mm">
+ Version:
+ <xsl:value-of
select="bookinfo/releaseinfo"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Prevent blank pages in output -->
+ <xsl:template name="book.titlepage.before.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.separator">
+ </xsl:template>
+
+ <!--###################################################
+ Header
+ ################################################### -->
+
+ <!-- More space in the center header for long text -->
+ <xsl:attribute-set name="header.content.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$body.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="margin-left">-5em</xsl:attribute>
+ <xsl:attribute name="margin-right">-5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Custom Footer
+ ################################################### -->
+
+ <!-- This footer prints the Hibernate version number on the left side -->
+ <xsl:template name="footer.content">
+ <xsl:param name="pageclass" select="''"/>
+ <xsl:param name="sequence" select="''"/>
+ <xsl:param name="position" select="''"/>
+ <xsl:param name="gentext-key" select="''"/>
+
+ <xsl:variable name="Version">
+ <xsl:choose>
+ <xsl:when test="//releaseinfo">
+ <xsl:text>Hibernate </xsl:text>
+ <xsl:value-of select="//releaseinfo"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$sequence='blank'">
+ <xsl:choose>
+ <xsl:when test="$double.sided != 0 and $position =
'left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and $position =
'center'">
+ <!-- nop -->
+ </xsl:when>
+
+ <xsl:otherwise>
+ <fo:page-number/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:when test="$pageclass='titlepage'">
+ <!-- nop: other titlepage sequences have no footer -->
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'even' and
$position='left'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'odd' and
$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and
$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'odd' and
$position='left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'even' and
$position='right'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and
$position='left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--###################################################
+ Custom Toc Line
+ ################################################### -->
+
+ <!-- Improve the TOC. -->
+ <xsl:template name="toc.line">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="label">
+ <xsl:apply-templates select="."
mode="label.markup"/>
+ </xsl:variable>
+
+ <fo:block text-align-last="justify"
+ end-indent="{$toc.indent.width}pt"
+ last-line-end-indent="-{$toc.indent.width}pt">
+ <fo:inline keep-with-next.within-line="always">
+ <fo:basic-link internal-destination="{$id}">
+
+ <!-- Chapter titles should be bold. -->
+ <xsl:choose>
+ <xsl:when test="local-name(.) =
'chapter'">
+ <xsl:attribute
name="font-weight">bold</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:if test="$label != ''">
+ <xsl:copy-of select="$label"/>
+ <xsl:value-of
select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="."
mode="titleabbrev.markup"/>
+ </fo:basic-link>
+ </fo:inline>
+ <fo:inline keep-together.within-line="always">
+ <xsl:text> </xsl:text>
+ <fo:leader leader-pattern="dots"
+ leader-pattern-width="3pt"
+ leader-alignment="reference-area"
+ keep-with-next.within-line="always"/>
+ <xsl:text> </xsl:text>
+ <fo:basic-link internal-destination="{$id}">
+ <fo:page-number-citation ref-id="{$id}"/>
+ </fo:basic-link>
+ </fo:inline>
+ </fo:block>
+ </xsl:template>
+
+ <!--###################################################
+ Extensions
+ ################################################### -->
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <!-- FOP provide only PDF Bookmarks at the moment -->
+ <xsl:param name="fop.extensions">1</xsl:param>
+
+ <!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+ <!-- Dot and Whitespace as separator in TOC between Label and Title-->
+ <xsl:param name="autotoc.label.separator" select="'.
'"/>
+
+
+ <!--###################################################
+ Paper & Page Size
+ ################################################### -->
+
+ <!-- Paper type, no headers on blank pages, no double sided printing -->
+ <xsl:param name="paper.type" select="'A4'"/>
+ <xsl:param name="double.sided">0</xsl:param>
+ <xsl:param name="headers.on.blank.pages">0</xsl:param>
+ <xsl:param name="footers.on.blank.pages">0</xsl:param>
+
+ <!-- Space between paper border and content (chaotic stuff, don't touch)
-->
+ <xsl:param name="page.margin.top">5mm</xsl:param>
+ <xsl:param name="region.before.extent">10mm</xsl:param>
+ <xsl:param name="body.margin.top">10mm</xsl:param>
+
+ <xsl:param name="body.margin.bottom">15mm</xsl:param>
+ <xsl:param name="region.after.extent">10mm</xsl:param>
+ <xsl:param name="page.margin.bottom">0mm</xsl:param>
+
+ <xsl:param name="page.margin.outer">18mm</xsl:param>
+ <xsl:param name="page.margin.inner">18mm</xsl:param>
+
+ <!-- No intendation of Titles -->
+ <xsl:param name="title.margin.left">0pc</xsl:param>
+
+ <!--###################################################
+ Fonts & Styles
+ ################################################### -->
+
+ <!-- Default Font size -->
+ <xsl:param name="body.font.master">11</xsl:param>
+
+ <!-- Line height in body text -->
+ <xsl:param name="line-height">1.4</xsl:param>
+
+ <!-- Monospaced fonts are smaller than regular text -->
+ <xsl:attribute-set name="monospace.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$monospace.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="font-size">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Tables
+ ################################################### -->
+
+ <!-- The table width should be adapted to the paper size -->
+ <xsl:param name="default.table.width">17.4cm</xsl:param>
+
+ <!-- Some padding inside tables -->
+ <xsl:attribute-set name="table.cell.padding">
+ <xsl:attribute name="padding-left">4pt</xsl:attribute>
+ <xsl:attribute name="padding-right">4pt</xsl:attribute>
+ <xsl:attribute name="padding-top">4pt</xsl:attribute>
+ <xsl:attribute name="padding-bottom">4pt</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Only hairlines as frame and cell borders in tables -->
+ <xsl:param
name="table.frame.border.thickness">0.1pt</xsl:param>
+ <xsl:param
name="table.cell.border.thickness">0.1pt</xsl:param>
+
+ <!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+ <!-- Label only Sections up to level 2 -->
+ <xsl:param name="local.l10n.xml"
select="document('')"/>
+ <l:i18n
xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+ <l:l10n language="en">
+ <l:context name="title-numbered">
+ <l:template name="sect3" text="%t"/>
+ <l:template name="sect4" text="%t"/>
+ <l:template name="sect5" text="%t"/>
+ </l:context>
+ <l:context name="section-xref-numbered">
+ <l:template name="sect3" text="the section called
%t"/>
+ <l:template name="sect4" text="the section called
%t"/>
+ <l:template name="sect5" text="the section called
%t"/>
+ </l:context>
+ </l:l10n>
+ </l:i18n>
+
+ <!--###################################################
+ Titles
+ ################################################### -->
+
+ <!-- Chapter title size -->
+ <xsl:attribute-set name="chapter.titlepage.recto.style">
+ <xsl:attribute name="text-align">left</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.8"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Why is the font-size for chapters hardcoded in the XSL FO templates?
+ Let's remove it, so this sucker can use our attribute-set only... -->
+ <xsl:template match="title"
mode="chapter.titlepage.recto.auto.mode">
+ <fo:block
xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xsl:use-attribute-sets="chapter.titlepage.recto.style">
+ <xsl:call-template name="component.title">
+ <xsl:with-param name="node"
select="ancestor-or-self::chapter[1]"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Sections 1, 2 and 3 titles have a small bump factor and padding -->
+ <xsl:attribute-set name="section.title.level1.properties">
+ <xsl:attribute
name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.5"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level2.properties">
+ <xsl:attribute
name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.6em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.25"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level3.properties">
+ <xsl:attribute
name="space-before.optimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.4em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.0"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Titles of formal objects (tables, examples, ...) -->
+ <xsl:attribute-set name="formal.title.properties"
use-attribute-sets="normal.para.spacing">
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="hyphenate">false</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Programlistings
+ ################################################### -->
+
+ <!-- Verbatim text formatting (programlistings) -->
+ <xsl:attribute-set name="verbatim.properties">
+ <xsl:attribute
name="space-before.minimum">1em</xsl:attribute>
+ <xsl:attribute
name="space-before.optimum">1em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ <xsl:attribute name="border-color">#444444</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="border-width">0.1pt</xsl:attribute>
+ <xsl:attribute name="padding-top">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-left">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-right">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-left">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-right">0.5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Shade (background) programlistings -->
+ <xsl:param name="shade.verbatim">1</xsl:param>
+ <xsl:attribute-set name="shade.verbatim.style">
+ <xsl:attribute
name="background-color">#F0F0F0</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- We want to use callouts... -->
+ <xsl:param name="callout.extensions">1</xsl:param>
+
+ <!-- Place callout bullets at this column in programmlisting.-->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+ <!--
+ No, don't use crappy graphics for the callout bullets. This setting
+ enables some weird Unicode rendering for some fancy bullet points
+ in callouts. By default, this can only count to 10 and produces
+ strange results if you ever have more than 10 callouts for one
+ programlisting. We will fix that next.
+ -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!--
+ Again, fun with DocBook XSL: The callout bullets are rendered in
+ two places: In the programlisting itself and in the list below
+ the listing, with the actual callout text. The rendering in the
+ programlisting is some XSL transformer extension (e.g. a Saxon
+ extension), so we can't change that without messing with the
+ extensions. We only can turn it off by setting this limit to
+ zero, then, a simple bracket style like "(3)" and "(4)" will
+ be used in the programlisting.
+ -->
+ <xsl:param name="callout.unicode.number.limit"
select="'0'"></xsl:param>
+
+ <!--
+ The callout bullets in the actual callout list will be rendered
+ with an XSL FO template. The default template is broken: limited to 10
+ nice looking Unicode bullet points and then it doesn't print anything,
+ the fallback doesn't work. We implement our own template, which is not
+ as complicated, more ugly, but works. As always, function is more
+ important than form.
+ -->
+ <xsl:template name="callout-bug">
+ <xsl:param name="conum" select='1'/>
+ <fo:inline
+ color="black"
+ padding-top="0.1em"
+ padding-bottom="0.1em"
+ padding-start="0.2em"
+ padding-end="0.2em"
+ baseline-shift="0.1em"
+ font-family="{$monospace.font.family}"
+ font-weight="bold"
+ font-size="75%">
+ <xsl:text>(</xsl:text>
+ <xsl:value-of select="$conum"/>
+ <xsl:text>)</xsl:text>
+ </fo:inline>
+
+ </xsl:template>
+
+ <!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Correct placement of titles for figures and examples. -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+ <!-- Format Variable Lists as Blocks (prevents horizontal overflow). -->
+ <xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+ <!-- The horrible list spacing problems, this is much better. -->
+ <xsl:attribute-set name="list.block.spacing">
+ <xsl:attribute
name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Newer DocBook XSL apparently thinks that some sections are by
+ default "draft" status, and this idiotic thing is by default
+ also set to "maybe", so it spits out a lot of errors with the
+ latest FOP as the XSL/FO styles have references to some draft
+ watermarks, which you actually don't want in the first place.
+ Turn this crap off. If you have to work with the "status"
+ attribute, don't.
+ -->
+ <xsl:param name="draft.mode" select="'no'"/>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.css
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.css
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.css 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,97 @@
+A {
+ color: #003399;
+}
+
+A:active {
+ color: #003399;
+}
+
+A:visited {
+ color: #888888;
+}
+
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+ color: #000000;
+}
+
+TD, TH, SPAN {
+ color: #000000;
+}
+
+BLOCKQUOTE {
+ margin-right: 0px;
+}
+
+
+H1, H2, H3, H4, H5, H6 {
+ color: #000000;
+ font-weight:500;
+ margin-top:10px;
+ padding-top:15px;
+}
+
+TABLE {
+ border-collapse: collapse;
+ border-spacing:0;
+ border: 1px thin black;
+ empty-cells: hide;
+}
+
+TD {
+ padding: 4pt;
+}
+
+H1 { font-size: 150%; }
+H2 { font-size: 140%; }
+H3 { font-size: 110%; font-weight: bold; }
+H4 { font-size: 110%; font-weight: bold;}
+H5 { font-size: 100%; font-style: italic; }
+H6 { font-size: 100%; font-style: italic; }
+
+TT {
+font-size: 90%;
+ font-family: "Courier New", Courier, monospace;
+ color: #000000;
+}
+
+PRE {
+font-size: 100%;
+ padding: 5px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #CCCCCC;
+ background-color: #F4F4F4;
+}
+
+UL, OL, LI {
+ list-style: disc;
+}
+
+HR {
+ width: 100%;
+ height: 1px;
+ background-color: #CCCCCC;
+ border-width: 0px;
+ padding: 0px;
+ color: #CCCCCC;
+}
+
+.variablelist {
+ padding-top: 10;
+ padding-bottom:10;
+ margin:0;
+}
+
+.itemizedlist, UL {
+ padding-top: 0;
+ padding-bottom:0;
+ margin:0;
+}
+
+.term {
+ font-weight:bold;
+}
+
+
+
+
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL HTML configuration file for the Hibernate
+ Reference Documentation.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="&db_xsl_path;/html/docbook.xsl"/>
+
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param
name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html_chunk.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html_chunk.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/en/styles/html_chunk.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL HTML configuration file for the Hibernate
+ Reference Documentation.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="&db_xsl_path;/html/chunk.xsl"/>
+
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param name="chunk.section.depth">'5'</xsl:param>
+ <xsl:param name="use.id.as.filename">'1'</xsl:param>
+ <xsl:param
name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/images/hibernate_logo_a.png
===================================================================
(Binary files differ)
Property changes on:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/images/hibernate_logo_a.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/master.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/master.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/master.xml 2009-11-24 20:21:05
UTC (rev 18045)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"../support/docbook-dtd/docbookx.dtd" [
+<!ENTITY setup SYSTEM "modules/setup.xml">
+<!ENTITY entity SYSTEM "modules/entity.xml">
+<!ENTITY xml-overriding SYSTEM "modules/xml-overriding.xml">
+<!ENTITY validator SYSTEM "modules/validator.xml">
+<!ENTITY lucene SYSTEM "modules/lucene.xml">
+]>
+<book lang="fr">
+ <bookinfo>
+ <title>Hibernate Annotations</title>
+
+ <subtitle>Guide de r�f�rence</subtitle>
+
+ <releaseinfo>3.2.0.GA</releaseinfo>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/hibernate_logo_a.png"
format="png" />
+ </imageobject>
+ </mediaobject>
+ </bookinfo>
+
+ <toc></toc>
+
+ <preface id="preface" revision="1">
+ <title>Pr�face</title>
+ <para>Traducteur(s): Vincent Ricard</para>
+
+ <para>Hibernate, comme tous les autres outils de mapping objet/relationnel,
+ n�cessite des m�ta-donn�es qui r�gissent la transformation des donn�es
+ d'une repr�sentation vers l'autre (et vice versa). Dans Hibernate 2.x, les
+ m�ta-donn�es de mapping sont la plupart du temps d�clar�es dans des fichiers
+ XML. Une autre option est XDoclet, qui utilise les annotations du code source
+ Javadoc et un pr�processeur au moment de la compilation. Le m�me genre
+ d'annotation est maintenant disponible avec le JDK standard, quoique plus
+ puissant et mieux pris en charge par les outils. IntelliJ IDEA et Eclipse,
+ par exemple, prennent en charge la compl�tion automatique et la coloration
+ syntaxique des annotations du JDK 5.0. Les annotations sont compil�es en
+ bytecode et lues au moment de l'ex�cution (dans le cas d'Hibernate, au
+ d�marrage) en utilisant la r�flexion, donc pas besoin de fichiers XML
+ externes.</para>
+
+ <para>La sp�cification EJB3 reconna�t l'int�r�t et le succ�s du paradigme
+ du mapping objet/relationnel transparent. La sp�cification EJB3 standardise
+ les APIs de base et les m�ta-donn�es requises par n'importe quel m�canisme
+ de persistance objet/relationnel. <emphasis>Hibernate
EntityManager</emphasis>
+ impl�mente les interfaces de programmation et les r�gles de cycle de vie
+ telles que d�finies par la sp�cification de persistance EJB3. Avec
+ <emphasis>Hibernate Annotations</emphasis>, ce wrapper impl�mente une
+ solution de persistance EJB3 compl�te (et autonome) au-dessus du noyau
+ mature d'Hibernate. Vous pouvez utiliser soit les trois ensembles, soit les
+ annotations sans le cycle de vie et les interfaces de programmations EJB3,
+ ou m�me Hibernate tout seul, selon les besoins techniques et fonctionnels
+ de votre projet. Vous pouvez � tout moment recourir aux APIs natives
+ d'Hibernate ou m�me, si besoin est, � celles de JDBC et au SQL.</para>
+
+ <para>Cette version est bas�e sur la derni�re version de la sp�cification
+ EJB 3.0 / JPA (alias JSP-220) et prend en charge toutes les fonctionnalit�s
+ de la sp�cification (dont certaines optionnelles). La plupart des
+ fonctionnalit�s d'Hibernate et des extensions sont aussi disponibles �
+ travers des annotations sp�cifiques � Hibernate. Bien que la couverture
+ d'Hibernate en termes de fonctionnalit�s soit maintenant tr�s grande,
+ certaines sont encore manquantes. Le but ultime est de tout couvrir. Voir la
+ section JIRA "road map" pour plus d'informations.</para>
+
+ <para>Si vous utilisiez une version pr�c�dente d'Hibernate Annotations,
+ veuillez regarder <
uri>http://www.hibernate.org/371.html</uri> pour un
guide
+ de migration.</para>
+ </preface>
+
+ &setup;
+
+ &entity;
+
+ &xml-overriding;
+
+ &validator;
+
+ &lucene;
+</book>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/entity.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/entity.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/entity.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,3458 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="entity">
+ <title>Entity Beans</title>
+
+ <sect1 id="entity-overview" revision="1">
+ <title>Introduction</title>
+
+ <para>Cette section couvre les annotations entity bean EJB 3.0 (alias JPA)
+ et les extensions sp�cifiques � Hibernate.</para>
+ </sect1>
+
+ <sect1 id="entity-mapping" revision="2">
+ <title>Mapping avec les annotations EJB3/JPA</title>
+
+ <para>Les entit�s EJB3 sont des POJOs ordinaires. En fait, ils
+ repr�sentent exactement le m�me concept que les entit�s de persistance
+ Hibernate. Leur mapping est d�fini � travers les annotations du JDK 5.0
+ (une syntaxe de descripteur XML pour la surcharge est d�finie dans la
+ sp�cification EJB3). Les annotations peuvent �tre divis�es en deux
+ cat�gories, les annotations de mapping logique (vous permettant de d�crire
+ le mod�le objet, les associations de classe, etc) et les annotations de
+ mapping physique (d�crivant le sch�ma physique, les tables, les colonnes,
+ les index, etc). Nous m�langerons les annotations des deux cat�gories dans
+ les exemples de code.</para>
+
+ <para>Les annotations EJB3 sont dans le package
+ <literal>javax.persistence.*</literal>. La plupart des IDE compatibles
JDK 5
+ (comme Eclipse, IntelliJ IDEA et Netbeans) peuvent auto-compl�ter les
+ interfaces et les attributes d'annotation pour vous (m�me sans module
"EJB3"
+ sp�cifique, puisque les annotations EJB3 sont des annotations ordinaires de
+ JDK 5).</para>
+
+ <para>Pour plus d'exemples concrets, lisez le tutorial EJB 3.0 de JBoss ou
+ parcourez la suite de tests d'Hibernate Annotations. La plupart des tests
+ unitaires ont �t� con�us pour repr�senter un exemple concret et �tre une
+ source d'inspiration.</para>
+
+ <sect2>
+ <title>D�clarer un entity bean</title>
+
+ <para>Chaque classe POJO persistante li�e est un entity bean et est
+ d�clar�e en utilisant l'annotation <literal>@Entity</literal> (au
niveau
+ de la classe) :</para>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+ Long id;
+
+ @Id
+ public Long getId() { return id; }
+
+ public void setId(Long id) { this.id = id; }
+}
+</programlisting>
+
+ <para><literal>@Entity</literal> d�clare la classe comme un
entity bean
+ (ie une classe POJO persistante), <literal>@Id</literal> d�clare la
+ propri�t� identifiante de cet entity bean. Les autres d�clarations de
+ mapping sont implicites. Ce concept de d�claration par exception est
+ un composant essentiel de la nouvelle sp�cification EJB3 et une
+ am�lioration majeure. La classe Flight est mapp�e sur la table Flight, en
+ utilisant la colonne id comme colonne de la clef primaire.</para>
+
+ <para>Selon que vous annotez des champs ou des m�thodes, le type d'acc�s
+ utilis� par Hibernate sera <literal>field</literal> ou
+ <literal>property</literal>. La sp�cification EJB3 exige que vous
+ d�clariez les annotations sur le type d'�l�ment qui sera acc�d�,
+ c'est-�-dire le getter si vous utilisez l'acc�s
+ <literal>property</literal>, le champ si vous utilisez l'acc�s
+ <literal>field</literal>. M�langer des EJB3 annotations dans les champs
et
+ les m�thodes devrait �tre �vit�. Hibernate devinera le type d'acc�s de
+ l'identifiant � partir de la position d'<literal>@Id</literal>
ou
+ d'<literal>(a)EmbeddedId</literal>.</para>
+
+ <sect3>
+ <title>D�finir la table</title>
+
+ <para><literal>@Table</literal> est positionn�e au niveau de la
classe ;
+ cela vous permet de d�finir le nom de la table, du catalogue et du
+ sch�ma pour le mapping de votre entity bean. Si aucune
+ <literal>@Table</literal> n'est d�finie les valeurs par d�faut
sont
+ utilis�es : le nom de la classe de l'entit� (sans le nom de
+ package).</para>
+
+ <programlisting>
+@Entity
+@Table(name="tbl_sky")
+public class Sky implements Serializable {
+...
+ </programlisting>
+
+ <para>L'�l�ment <literal>@Table</literal> contient aussi un
attribut
+ <literal>schema</literal> et un attribut
<literal>catalog</literal>,
+ si vous avez besoin de les d�finir. Vous pouvez aussi d�finir des
+ contraintes d'unicit� sur la table en utilisant l'annotation
+ <literal>@UniqueConstraint</literal> en conjonction avec
+ <literal>@Table</literal> (pour une contrainte d'unicit�
n'impliquant
+ qu'une seule colonne, r�f�rez-vous �
<literal>(a)Column</literal>).</para>
+
+ <programlisting>@Table(name="tbl_sky",
+ <emphasis role="bold">uniqueConstraints =
{@UniqueConstraint(columnNames={"month", "day"})}</emphasis>
+)</programlisting>
+
+ <para>Une contrainte d'unicit� est appliqu�e au tuple {month, day}.
+ Notez que le tableau <literal>columnNames</literal> fait r�f�rence
aux
+ noms logiques des colonnes.</para>
+
+ <remark>Le nom logique d'une colonne est d�fini par
l'impl�mentation
+ de NamingStrategy d'Hibernate. La strat�gie de nommage EJB3 par d�faut
+ utilise le nom de colonne physique comme nom de colonne logique. Notez
+ qu'il peut �tre diff�rent du nom de la propri�t� (si le nom de colonne
+ est explicite). A moins que vous surchargiez la strat�gie de nommage,
+ vous ne devriez pas vous soucier de �a.</remark>
+ </sect3>
+
+ <sect3>
+ <title>Versionner pour un contr�le de concurrence optimiste</title>
+
+ <para>Vous pouvez ajouter un contr�le de concurrence optimiste � un
+ entity bean en utilisant l'annotation
+ <literal>@Version</literal> :</para>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+...
+ @Version
+ @Column(name="OPTLOCK")
+ public Integer getVersion() { ... }
+} </programlisting>
+
+ <para>La propri�t� de version sera mapp�e sur la colonne
+ <literal>OPTLOCK</literal>, et le gestionnaire d'entit�s
l'utilisera
+ pour d�tecter des conflits lors des mises � jour (pr�venant des pertes
+ de donn�es lors de mises � jours que vous pourriez voir avec la
+ strat�gie du last-commit-wins).</para>
+
+ <para>La colonne de version peut �tre un num�rique (solution
+ recommand�e) ou un timestamp comme pour la sp�cification EJB3. Hibernate
+ prend en charge n'importe quel type fourni que vous d�finissez et
+ impl�mentez avec la classe <classname>UserVersionType</classname>
+ appropri�e.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Mapping de simples propri�t�s</title>
+
+ <sect3>
+ <title>D�clarer des mappings de propri�t�s �l�mentaires</title>
+
+ <para>Chaque propri�t� (champ ou m�thode) non statique non transient
+ d'un entity bean est consid�r�e persistante, � moins que vous l'annotiez
+ comme <literal>@Transient</literal>. Ne pas avoir d'annotation
pour
+ votre propri�t� est �quivalent � l'annotation
<literal>@Basic</literal>.
+ L'annotation <literal>@Basic</literal> vous permet de d�clarer
la
+ strat�gie de r�cup�ration pour une propri�t� :</para>
+
+ <programlisting>public transient int counter; // propri�t� transient
+
+private String firstname; // propri�t� persistante
+
+@Transient
+String getLengthInMeter() { ... } // propri�t� transient
+
+String getName() {... } // propri�t� persistante
+
+@Basic
+int getLength() { ... } // propri�t� persistante
+
+@Basic(fetch = FetchType.LAZY)
+String getDetailedComment() { ... } // propri�t� persistante
+
+(a)Temporal(TemporalType.TIME)
+java.util.Date getDepartureTime() { ... } // propri�t� persistante
+
+(a)Enumerated(EnumType.STRING)
+Starred getNote() { ... } // enum persist�e en tant que String dans la base de
donn�es</programlisting>
+
+ <para><literal>counter</literal>, un champ transient, et
+ <literal>lengthInMeter</literal>, une m�thode annot�e comme
+ <literal>@Transient</literal>, seront ignor�s par le gestionnaire
+ d'entit�s. Les propri�t�s <literal>name</literal>,
+ <literal>length</literal>, et
<literal>firstname</literal> sont mapp�es
+ comme persistantes et � charger imm�diatement (ce sont les valeurs
+ par d�faut pour les propri�t�s simples). La valeur de la propri�t�
+ <literal>detailedComment</literal> sera charg�e � partir de la base
de
+ donn�es d�s que la propri�t� de l'entit� sera acc�d�e pour la premi�re
+ fois. En g�n�ral vous n'avez pas besoin de marquer de simples propri�t�s
+ comme "� charger � la demande" (NdT: lazy) (� ne pas confondre avec la
+ r�cup�ration d'association "lazy").</para>
+
+ <note>
+ <para>Pour activer la r�cup�ration � la demande au niveau de la
+ propri�t�, vos classes doivent �tre instrument�es : du bytecode est
+ ajout� au code original pour activer cette fonctionnalit�, veuillez
+ vous r�f�rer � la documentation de r�f�rence d'Hibernate. Si vos
+ classes ne sont pas instrument�es, le chargement � la demande au
+ niveau de la propri�t� est silencieusement ignor�.</para>
+ </note>
+
+ <para>L'alternative recommand�e est d'utiliser la capacit� de
projection
+ de JPA-QL ou des requ�tes Criteria.</para>
+
+ <para>EJB3 prend en charge le mapping de propri�t� de tous les types
+ �l�mentaires pris en charge par Hibernate (tous les types de base Java,
+ leur wrapper respectif et les classes s�rialisables). Hibernate
+ Annotations prend en charge le mapping des types Enum soit vers une
+ colonne ordinale (en stockant le num�ro ordinal de l'enum), soit vers
+ une colonne de type cha�ne de caract�res (en stockant la cha�ne de
+ caract�res repr�sentant l'enum) : la repr�sentation de la persistance,
+ par d�faut ordinale, peut �tre surcharg�e gr�ce � l'annotation
+ <literal>@Enumerated</literal> comme montr� avec la propri�t�
+ <literal>note</literal> de l'exemple.</para>
+
+ <para>Dans les APIs core de Java, la pr�cision temporelle n'est pas
+ d�finie. Lors du traitement de donn�es temporelles vous pourriez vouloir
+ d�crire la pr�cision attendue dans la base de donn�es. Les donn�es
+ temporelles peuvent avoir une pr�cision de type
<literal>DATE</literal>,
+ <literal>TIME</literal>, ou <literal>TIMESTAMP</literal>
(c'est-�-dire
+ seulement la date, seulement l'heure, ou les deux). Utilisez
+ l'annotation <literal>@Temporal</literal> pour ajuster
cela.</para>
+
+ <para><literal>@Lob</literal> indique que la propri�t� devrait
�tre
+ persist�e dans un Blob ou un Clob selon son type :
+ <classname>java.sql.Clob</classname>,
+ <classname>Character[]</classname>,
<classname>char[]</classname> et
+ java.lang.<classname>String</classname> seront persist�s dans un
Clob.
+ <classname>java.sql.Blob</classname>,
<classname>Byte[]</classname>,
+ <classname>byte[] </classname> et les types s�rialisables seront
+ persist�s dans un Blob.</para>
+
+ <programlisting>
+@Lob
+public String getFullText() {
+ return fullText;
+}
+
+@Lob
+public byte[] getFullCode() {
+ return fullCode;
+}
+ </programlisting>
+
+ <para>Si le type de la propri�t� impl�mente
+ <classname>java.io.Serializable</classname> et n'est pas un type
de
+ base, et si la propri�t� n'est pas annot�e avec
<literal>@Lob</literal>,
+ alors le type Hibernate <literal>serializable</literal> est
+ utilis�.</para>
+ </sect3>
+
+ <sect3>
+ <title>D�clarer des attributs de colonne</title>
+
+ <para>La(les) colonne(s) utilis�e(s) pour mapper une propri�t� peuvent
+ �tre d�finies en utilisant l'annotation
<literal>@Column</literal>.
+ Utilisez-la pour surcharger les valeurs par d�faut (voir la
+ sp�cification EJB3 pour plus d'informations sur les valeurs par d�faut).
+ Vous pouvez utilisez cette annotation au niveau de la propri�t� pour
+ celles qui sont :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>pas du tout annot�es</para>
+ </listitem>
+
+ <listitem>
+ <para>annot�es avec <literal>@Basic</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annot�es avec
<literal>@Version</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annot�es avec <literal>@Lob</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annot�es avec
<literal>@Temporal</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>annot�es avec
+
<literal>(a)org.hibernate.annotations.CollectionOfElements</literal>
+ (pour Hibernate uniquement)</para>
+ </listitem>
+ </itemizedlist>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+...
+@Column(updatable = false, name = "flight_name", nullable = false, length=50)
+public String getName() { ... }
+ </programlisting>
+
+ <para>La propri�t� <literal>name</literal> est mapp�e sur la
colonne
+ <literal>flight_name</literal>, laquelle ne peut pas avoir de valeur
+ nulle, a une longueur de 50 et ne peut pas �tre mise � jour (rendant
+ la propri�t� immuable).</para>
+
+ <para>Cette annotation peut �tre appliqu�e aux propri�t�s habituelles
+ ainsi qu'aux propri�t�s <literal>@Id</literal> ou
+ <literal>(a)Version</literal>.</para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="2 55" id="hm1" />
+
+ <area coords="3 55" id="hm2" />
+
+ <area coords="4 55" id="hm3" />
+
+ <area coords="5 55" id="hm4" />
+
+ <area coords="6 55" id="hm5" />
+
+ <area coords="7 55" id="hm6" />
+
+ <area coords="8 55" id="hm7" />
+
+ <area coords="9 55" id="hm8" />
+
+ <area coords="10 55" id="hm9" />
+
+ <area coords="11 55" id="hm10" />
+ </areaspec>
+
+ <programlisting>@Column(
+ name="columnName";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale</programlisting>
+
+ <calloutlist>
+ <callout arearefs="hm1">
+ <para><literal>name</literal> (optionnel) : le nom de la
colonne
+ (par d�faut le nom de la propri�t�)</para>
+ </callout>
+
+ <callout arearefs="hm2">
+ <para><literal>unique</literal> (optionnel) : indique si
la colonne
+ fait partie d'une contrainte d'unicit� ou non (par d�faut
+ false)</para>
+ </callout>
+
+ <callout arearefs="hm3">
+ <para><literal>nullable</literal> (optionnel) : indique
si la
+ colonne peut avoir une valeur nulle (par d�faut false).</para>
+ </callout>
+
+ <callout arearefs="hm4">
+ <para><literal>insertable</literal> (optionnel) : indique
si la
+ colonne fera partie de la commande insert (par d�faut true)</para>
+ </callout>
+
+ <callout arearefs="hm5">
+ <para><literal>updatable</literal> (optionnel) : indique
si la
+ colonne fera partie de la commande update (par d�faut true)</para>
+ </callout>
+
+ <callout arearefs="hm6">
+ <para><literal>columnDefinition</literal> (optionnel) :
surcharge
+ le fragment DDL sql pour cette colonne en particulier (non
+ portable)</para>
+ </callout>
+
+ <callout arearefs="hm7">
+ <para><literal>table</literal> (optionnel) : d�finit la
table
+ cible (par d�faut la table principale)</para>
+ </callout>
+
+ <callout arearefs="hm8">
+
<para><literal><literal>length</literal></literal>
(optionnel) :
+ longueur de la colonne (par d�faut 255)</para>
+ </callout>
+
+ <callout arearefs="hm8">
+
<para><literal><literal>precision</literal></literal>
+ (optionnel) : pr�cision d�cimale de la colonne (par d�faut
+ 0)</para>
+ </callout>
+
+ <callout arearefs="hm10">
+
<para><literal><literal>scale</literal></literal>
(optionnel) :
+ �chelle d�cimale de la colonne si n�cessaire (par d�faut 0)</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ </sect3>
+
+ <sect3>
+ <title>Objets embarqu�s (alias composants)</title>
+
+ <para>Il est possible de d�clarer un composant embarqu� � l'int�rieur
+ d'une entit� et m�me de surcharger le mapping de ses colonnes. Les
+ classes de composant doivent �tre annot�es au niveau de la classe avec
+ l'annotation <literal>@Embeddable</literal>. Il est possible de
+ surcharger le mapping de colonne d'un objet embarqu� pour une entit�
+ particuli�re en utilisant les annotations
+ <literal>@Embedded</literal> et
<literal>@AttributeOverride</literal>
+ sur la propri�t� associ�e :</para>
+
+ <programlisting>
+@Entity
+public class Person implements Serializable {
+
+ // Composant persistant utilisant les valeurs par d�faut
+ Address homeAddress;
+
+ @Embedded
+ @AttributeOverrides( {
+ @AttributeOverride(name="iso2", column =
@Column(name="bornIso2") ),
+ @AttributeOverride(name="name", column =
@Column(name="bornCountryName") )
+ } )
+ Country bornIn;
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class Address implements Serializable {
+ String city;
+ Country nationality; // par de surcharge ici
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class Country implements Serializable {
+ private String iso2;
+ @Column(name="countryName") private String name;
+
+ public String getIso2() { return iso2; }
+ public void setIso2(String iso2) { this.iso2 = iso2; }
+
+
+ public String getName() { return name; }
+ public void setName(String name) { this.name = name; }
+ ...
+}
+ </programlisting>
+
+ <para>Un objet embarquable h�rite du type d'acc�s de son entit�
+ d'appartenance (notez que vous pouvez surcharger cela en utilisant les
+ annotations sp�cifiques � Hibernate <literal>@AccessType</literal>,
+ voir <xref linkend="entity-hibspec" />).</para>
+
+ <para>L'entity bean <literal>Person</literal> a deux
propri�t�s
+ composant, <literal>homeAddress</literal> et
+ <literal>bornIn</literal>. La propri�t�
<literal>homeAddress</literal>
+ n'a pas �t� annot�e, mais Hibernate devinera que c'est un composant
+ persistant en cherchant l'annotation
<literal>@Embeddable</literal>
+ dans la classe Address. Nous surchargeons aussi le mapping d'un nom de
+ colonne (pour <literal>bornCountryName</literal>) avec les
annotations
+ <literal>@Embedded</literal> et
<literal>@AttributeOverride</literal>
+ pour chaque attribut mapp� de <literal>Country</literal>. Comme vous
+ pouvez le voir, <literal>Country</literal> est aussi un composant
+ imbriqu� de <literal>Address</literal>, utilisant de nouveau la
+ d�tection automatique d'Hibernate et les valeurs par d�faut EJB3.
+ Surcharger des colonnes d'objets embarqu�s d'objets (eux-m�mes)
+ embarqu�s n'est actuellement pas pris en charge par la sp�cification
+ EJB3, cependant, Hibernate Annotations le prend en charge � travers des
+ expressions s�par�es par des points.</para>
+
+ <para><programlisting> @Embedded
+ @AttributeOverrides( {
+ @AttributeOverride(name="city", column =
@Column(name="fld_city") ),
+ @AttributeOverride(name="<emphasis
role="bold">nationality.iso2</emphasis>", column =
@Column(name="nat_Iso2") ),
+ @AttributeOverride(name="<emphasis
role="bold">nationality.name</emphasis>", column =
@Column(name="nat_CountryName") )
+ // les colonnes de nationality dans homeAddress sont surcharg�es
+ } )
+ Address homeAddress;</programlisting>Hibernate Annotations prend en charge
+ une fonctionnalit� de plus qui n'est pas explicitement prise en charge
+ par la sp�cification EJB3. Vous pouvez annoter un objet embarqu� avec
+ l'annotation
+ <literal>@MappedSuperclass</literal> pour rendre les propri�t�s de
la
+ classe parente persistantes (voir
<literal>@MappedSuperclass</literal>
+ pour plus d'informations).</para>
+
+ <para>Alors que ce n'est pas pris en charge par la sp�cification EJB3,
+ Hibernate Annotations vous permet d'utiliser les annotations
+ d'association dans un objet embarquable (ie
<literal>@*ToOne</literal>
+ ou <literal>@*ToMany</literal>). Pour surcharger les colonnes de
+ l'association vous pouvez utiliser
+ <literal>(a)AssociationOverride</literal>.</para>
+
+ <para>Si vous voulez avoir le m�me type d'objet embarquable deux fois
+ dans la m�me entit�, le nom de colonne par d�faut ne fonctionnera pas :
+ au moins une des colonnes devra �tre explicit�e. Hibernate va au-del�
+ de la sp�cification EJB3 et vous permet d'am�liorer le m�canisme par
+ d�faut avec <classname>NamingStrategy</classname>.
+ <classname>DefaultComponentSafeNamingStrategy</classname> est une
petite
+ am�lioration par rapport � la strat�gie par d�faut
+ <classname>EJB3NamingStrategy</classname> qui permet aux objets
+ embarqu�s de fonctionner avec leur valeur par d�faut m�me s'ils sont
+ utilis�s deux fois dans la m�me entit�.</para>
+ </sect3>
+
+ <sect3>
+ <title>Valeurs par d�faut des propri�t�s non annot�es</title>
+
+ <para>Si une propri�t� n'est pas annot�e, les r�gles suivantes
+ s'appliquent :</para>
+
+ <itemizedlist>
+ <listitem>
+ Si la propri�t� est de type simple, elle est mapp�e comme @Basic
+ </listitem>
+
+ <listitem>
+ Sinon, si le type de la propri�t� est annot� comme @Embeddable,
+ elle est mapp�e comme @Embedded
+ </listitem>
+
+ <listitem>
+ Sinon, si le type de la propri�t� est Serializable, elle est mapp�e
+ comme @Basic vers une colonne contenant l'objet sous sa forme
+ s�rialis�e
+ </listitem>
+
+ <listitem>
+ Sinon, si le type de la propri�t� est java.sql.Clob ou
+ java.sql.Blob, elle est mapp�e comme @Lob avec le LobType
+ appropri�
+ </listitem>
+ </itemizedlist>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-mapping-identifier"
+ xreflabel="Mapper des propri�t�s identifiantes">
+ <title>Mapper des propri�t�s identifiantes</title>
+
+ <para>L'annotation <literal>@Id</literal> vous permet de
d�finir quelle
+ propri�t� identifie votre entity bean. Cette propri�t� peut �tre
+ positionn�e par l'application elle-m�me ou g�n�r�e par Hibernate
+ (pr�f�r�). Vous pouvez d�finir la strat�gie de g�n�ration de l'identifiant
+ gr�ce � l'annotation <literal>@GeneratedValue</literal>
:</para>
+
+ <itemizedlist>
+ <listitem>
+ AUTO - soit la colonne identity, soit la s�quence, soit la table
+ selon la base de donn�es sous-jacente
+ </listitem>
+
+ <listitem>
+ TABLE - table contenant l'id
+ </listitem>
+
+ <listitem>
+ IDENTITY - colonne identity
+ </listitem>
+
+ <listitem>
+ SEQUENCE - s�quence
+ </listitem>
+ </itemizedlist>
+
+ <para>Hibernate fournit plus de g�n�rateurs d'identifiant que les
simples
+ g�n�rateurs EJB3. V�rifiez <xref linkend="entity-hibspec" /> pour
plus
+ d'informations.</para>
+
+ <para>L'exemple suivant montre un g�n�rateur par s�quence utilisant la
+ configuration SEQ_STORE (voir plus bas) :</para>
+
+ <programlisting>
+@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
+public Integer getId() { ... }
+ </programlisting>
+
+ <para>L'exemple suivant utilise le g�n�rateur identity :</para>
+
+ <programlisting>
+@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
+public Long getId() { ... }
+ </programlisting>
+
+ <para>Le g�n�rateur <literal>AUTO</literal> est le type pr�f�r�
pour les
+ applications portables (vers diff�rentes base de donn�es). La
+ configuration de la g�n�ration d'identifiant peut �tre partag�e par
+ diff�rents mappings <literal>@Id</literal> avec l'attribut du
g�n�rateur.
+ Il y a diff�rentes configurations disponibles avec
+ <literal>@SequenceGenerator</literal> et
+ <literal>@TableGenerator</literal>. La port�e d'un g�n�rateur peut
�tre
+ l'application ou la classe. Les g�n�rateurs d�finis dans les classes ne
+ sont pas visibles � l'ext�rieur de la classe et peuvent surcharger les
+ g�n�rateurs de niveau applicatif. Les g�n�rateurs de niveau applicatif
+ sont d�finis au niveau XML (voir
+ <xref linkend="xml-overriding" />) :</para>
+
+ <programlisting><table-generator name="EMP_GEN"
+ table="GENERATOR_TABLE"
+ pk-column-name="key"
+ value-column-name="hi"
+ pk-column-value="EMP"
+ allocation-size="20"/>
+
+// et l'annotation �quivalente
+
+(a)javax.persistence.TableGenerator(
+ name="EMP_GEN",
+ table="GENERATOR_TABLE",
+ pkColumnName = "key",
+ valueColumnName = "hi"
+ pkColumnValue="EMP",
+ allocationSize=20
+)
+
+<sequence-generator name="SEQ_GEN"
+ sequence-name="my_sequence"
+ allocation-size="20"/>
+
+// et l'annotation �quivalente
+
+(a)javax.persistence.SequenceGenerator(
+ name="SEQ_GEN",
+ sequenceName="my_sequence",
+ allocationSize=20
+)
+ </programlisting>
+
+ <para>Si JPA XML (comme <filename>META-INF/orm.xml</filename>)
est utilis�
+ pour d�finir les g�n�rateurs, <literal>EMP_GEN</literal> et
+ <literal>SEQ_GEN</literal> sont des g�n�rateurs de niveau applicatif.
+ <literal>EMP_GEN</literal> d�finit un g�n�rateur d'identifiant bas�
sur
+ une table utilisant l'algorithme hilo avec un
<literal>max_lo</literal> de
+ 20. La valeur haute est conserv�e dans une <literal>table</literal>
+ "<literal>GENERATOR_TABLE</literal>". L'information est
gard�e dans une
+ ligne o� la colonne <literal>pkColumnName</literal> ("clef")
est �gale �
+ <literal>pkColumnValue</literal>
"<literal>EMP</literal>" et une colonne
+ <literal>valueColumnName</literal>
"<literal>hi</literal>" contient la
+ prochaine valeur haute utilis�e.</para>
+
+ <para><literal>SEQ_GEN</literal> d�finit un g�n�rateur par
s�quence
+ utilisant une s�quence nomm�e <literal>my_sequence</literal>. La
taille
+ d'allocation utilis�e pour cet algorithme hilo bas� sur une s�quence est
+ 20. Notez que cette version d'Hibernate Annotations ne g�re pas
+ <literal>initialValue</literal> dans le g�n�rateur par s�quence.
+ La taille par d�faut de l'allocation est 50, donc si vous voulez utiliser
+ une s�quence et r�cup�rer la valeur chaque fois, vous devez positionner
+ la taille de l'allocation � 1.</para>
+
+ <note>
+ <para>La d�finition au niveau package n'est plus prise en charge par
la
+ sp�cification EJB 3.0. Vous pouvez cependant utiliser
+ <literal>@GenericGenerator</literal> au niveau du package (voir
<xref
+ linkend="entity-hibspec-identifier" />).</para>
+ </note>
+
+ <para>Le prochain exemple montre la d�finition d'un g�n�rateur par
+ s�quence dans la port�e d'une classe :</para>
+
+ <programlisting>
+@Entity
+(a)javax.persistence.SequenceGenerator(
+ name="SEQ_STORE",
+ sequenceName="my_sequence"
+)
+public class Store implements Serializable {
+ private Long id;
+
+ @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,
generator="SEQ_STORE")
+ public Long getId() { return id; }
+}
+ </programlisting>
+
+ <para>Cette classe utilisera une s�quence nomm�e my_sequence et le
+ g�n�rateur SEQ_STORE n'est pas visible dans les autres classes. Notez que
+ vous pouvez regarder les tests unitaires d'Hibernate Annotations dans le
+ package org.hibernate.test.metadata.id pour plus d'exemples.</para>
+
+ <para>Vous pouvez d�finir une clef primaire compos�e � travers diff�rentes
+ syntaxes :</para>
+
+ <itemizedlist>
+ <listitem>
+ annote la propri�t� du composant comme @Id et rend la classe du
+ composant @Embeddable
+ </listitem>
+
+ <listitem>
+ annote la propri�t� du composant comme @EmbeddedId
+ </listitem>
+
+ <listitem>
+ annote la classe comme @IdClass et annote chaque propri�t� de
+ l'entit� impliqu�e dans la clef primaire avec @Id
+ </listitem>
+ </itemizedlist>
+
+ <para>Bien qu'assez commun pour le d�veloppeur EJB2,
+ <literal>@IdClass</literal> est probablement nouveau pour les
utilisateurs
+ d'Hibernate. La classe de la clef primaire compos�e correspond aux
+ multiples champs ou propri�t�s de l'entit� ; de plus, les noms des champs
+ ou propri�t�s de la clef primaire et ceux de l'entit� doivent
+ correspondre ; et enfin, leur type doit �tre le m�me. Regardons un
+ exemple :</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">(a)IdClass(FootballerPk.class)</emphasis>
+public class Footballer {
+ // partie de la clef
+ <emphasis role="bold">@Id</emphasis> public String
getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ // partie de la clef
+ <emphasis role="bold">@Id</emphasis> public String
getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getClub() {
+ return club;
+ }
+
+ public void setClub(String club) {
+ this.club = club;
+ }
+
+ // impl�mentation appropri�e de equals() et hashCode()
+}
+
+@Embeddable
+public class FootballerPk implements Serializable {
+ // m�me nom et m�me type que dans Footballer
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ // m�me nom et m�me type que dans Footballer
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ // impl�mentation appropri�e de equals() et hashCode()
+}
+</programlisting>
+
+ <para>Comme vous pouvez le voir, <literal>@IdClass</literal>
pointe vers
+ la classe de la clef primaire correspondante.</para>
+
+ <para>Bien que ce ne soit pas pris en charge par la sp�cification EJB3,
+ Hibernate vous permet de d�finir des associations � l'int�rieur d'un
+ identifiant compos�. Pour cela, utilisez simplement les annotations
+ habituelles.</para>
+
+ <programlisting>@Entity
+@AssociationOverride( name="id.channel", joinColumns =
@JoinColumn(name="chan_id") )
+public class TvMagazin {
+ @EmbeddedId public TvMagazinPk id;
+ @Temporal(TemporalType.TIME) Date time;
+}
+
+@Embeddable
+public class TvMagazinPk implements Serializable {
+ @ManyToOne
+ public Channel channel;
+ public String name;
+ @ManyToOne
+ public Presenter presenter;
+}
+</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>Mapper l'h�ritage</title>
+
+ <para>EJB3 prend en charge les trois types d'h�ritage :</para>
+
+ <itemizedlist>
+ <listitem>
+ Strat�gie d'une table par classe concr�te : l'�l�ment
+ <union-class> dans Hibernate
+ </listitem>
+
+ <listitem>
+ Strat�gie d'une seule table par hi�rarchie de classe : l'�l�ment
+ <subclass> dans Hibernate
+ </listitem>
+
+ <listitem>
+ Strat�gie d'une table par classe fille : l'�l�ment
+ <joined-subclass> dans Hibernate
+ </listitem>
+ </itemizedlist>
+
+ <para>La strat�gie choisie est d�clar�e au niveau de la classe de
l'entit�
+ la plus haute dans la hi�rarhie en utilisant l'annotation
+ <literal>(a)Inheritance</literal>.</para>
+
+ <note>
+ <para>Annoter des interfaces n'est pour le moment pas pris en
+ charge.</para>
+ </note>
+
+ <sect3>
+ <title>Une table par classe concr�te</title>
+
+ <para>Cette strat�gie a beaucoup d'inconv�nients (surtout avec les
+ requ�tes polymorphiques et les associations) expliqu�s dans la
+ sp�cification EJB3, la documentation de r�f�rence d'Hibernate, Hibernate
+ in Action, et plusieurs autres endroits. Hibernate en contourne la
+ plupart en impl�mentant cette strat�gie en utilisant des requ�tes
+ <literal>SQL UNION</literal>. Elle est habituellement utilis�e pour
le
+ niveau le plus haut d'une hi�rarchie d'h�ritage :</para>
+
+ <programlisting>
+@Entity
+@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
+public class Flight implements Serializable {
+ </programlisting>
+
+ <para>Cette strat�gie prend en charge les associations de un vers
+ plusieurs bidirectionnelles. Cette strat�gie ne prend pas en charge
+ la strat�gie de g�n�rateur <literal>IDENTITY</literal> :
l'identifiant
+ doit �tre partag� par plusieurs tables. Par cons�quent, lors de
+ l'utilisation de cette strat�gie, vous ne devriez pas utilisez
+ <literal>AUTO</literal> ni
<literal>IDENTITY</literal>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Une seule table par hi�rarchie de classe</title>
+
+ <para>Toutes les propri�t�s de toutes les classes parentes et classes
+ filles sont mapp�es dans la m�me table, les instances sont diff�renci�es
+ par une colonne sp�ciale discriminante :</para>
+
+ <programlisting>
+@Entity
+(a)Inheritance(strategy=InheritanceType.SINGLE_TABLE)
+@DiscriminatorColumn(
+ name="planetype",
+ discriminatorType=DiscriminatorType.STRING
+)
+@DiscriminatorValue("Plane")
+public class Plane { ... }
+
+@Entity
+@DiscriminatorValue("A320")
+public class A320 extends Plane { ... }
+ </programlisting>
+
+ <para><classname>Plane</classname> est la classe parente, elle
d�finit
+ la strat�gie d'h�ritage
<literal>InheritanceType.SINGLE_TABLE</literal>.
+ Elle d�finit aussi la colonne discriminante avec l'annotation
+ <literal>@DiscriminatorColumn</literal>, une colonne discriminante
peut
+ aussi d�finir le type du discriminant. Finalement, l'annotation
+ <literal>@DiscriminatorValue</literal> d�finit la valeur utilis�e
pour
+ diff�rencier une classe dans la hi�rarchie. Tous ces attributs ont des
+ valeurs par d�faut sens�es. Le nom par d�faut de la colonne
+ discriminante est <literal>DTYPE</literal>. La valeur discriminante
par
+ d�faut est le nom de l'entit� (comme d�fini dans
+ <literal>(a)Entity.name</literal>) avec le type
+ <literal>DiscriminatorType.STRING</literal>.
<classname>A320</classname>
+ est une classe fille ; vous devez seulement d�finir la valeur
+ discriminante si vous ne voulez pas utiliser la valeur par d�faut. La
+ strat�gie et le type du discriminant sont implicites.</para>
+
+ <para><literal>@Inheritance</literal> et
+ <literal>@DiscriminatorColumn</literal> devraient seulement �tre
+ d�finies sur l'entit� la plus haute de la hi�rarchie.</para>
+ </sect3>
+
+ <sect3>
+ <title>Une table par classe fille</title>
+
+ <para>Les annotations <literal> @PrimaryKeyJoinColumn</literal>
et
+ <literal>@PrimaryKeyJoinColumns</literal> d�finissent la (les)
clef(s)
+ primaire(s) de la table de la classe fille jointe :</para>
+
+ <programlisting>
+@Entity
+(a)Inheritance(strategy=InheritanceType.JOINED)
+public class Boat implements Serializable { ... }
+
+@Entity
+public class Ferry extends Boat { ... }
+
+@Entity
+@PrimaryKeyJoinColumn(name="BOAT_ID")
+public class AmericaCupClass extends Boat { ... }
+ </programlisting>
+
+ <para>Toutes les entit�s ci-dessus utilisent la strat�gie
+ <literal>JOINED</literal>, la table
<literal>Ferry</literal> est jointe
+ avec la table <literal>Boat</literal> en utilisant les m�mes noms de
+ clef primaire. La table <literal>AmericaCupClass</literal> est
jointe
+ avec <literal>Boat</literal> en utilisant la condition de jointure
+ <code>Boat.id = AmericaCupClass.BOAT_ID</code>.</para>
+ </sect3>
+
+ <sect3>
+ <title>H�ritage de propri�t�s des classes parentes</title>
+
+ <para>Il est parfois utile de partager des propri�t�s communes � travers
+ une classe technique ou m�tier sans l'inclure comme une entit�
+ habituelle (c'est-�-dire aucune table sp�cifique pour cette entit�).
+ Pour cela, vous pouvez les mapper comme
+ <literal>(a)MappedSuperclass</literal>.</para>
+
+ <programlisting>@MappedSuperclass
+public class BaseEntity {
+ @Basic
+ @Temporal(TemporalType.TIMESTAMP)
+ public Date getLastUpdate() { ... }
+ public String getLastUpdater() { ... }
+ ...
+}
+
+@Entity class Order extends BaseEntity {
+ @Id public Integer getId() { ... }
+ ...
+}</programlisting>
+
+ <para>En base de donn�es, cette hi�rarchie sera repr�sent�e comme une
+ table <literal>Order</literal> ayant les colonnes
<literal>id</literal>,
+ <literal>lastUpdate</literal> et
<literal>lastUpdater</literal>.
+ Les mappings de propri�t� de la classe parente embarqu�e sont copi�s
+ dans les classes filles de l'entit�. Souvenez-vous que la classe parente
+ embarquable n'est cependant pas la racine de la hi�rarchie.</para>
+
+ <note>
+ <para>Les propri�t�s des classes parentes non mapp�es comme
+ <literal>@MappedSuperclass</literal> sont ignor�es.</para>
+ </note>
+
+ <note>
+ <para>Le type d'acc�s (champ ou m�thode) est h�rit� de l'entit�
+ racine, � moins que vous utilisiez l'annotation Hibernate
+ <literal>(a)AccessType</literal>.</para>
+ </note>
+
+ <note>
+ <para>La m�me notion peut �tre appliqu�e aux objets
+ <literal>@Embeddable</literal> pour persister des propri�t�s de
leurs
+ classes parentes. Vous avez aussi besoin d'utiliser
+ <literal>@MappedSuperclass</literal> pour faire �a (cependant cela
ne
+ devrait pas �tre consid�r� comme une fonctionnalit� EJB3
+ standard).</para>
+ </note>
+
+ <note>
+ <para>Il est permis de marquer une classe comme
+ <literal>@MappedSuperclass</literal> dans le milieu d'une
hi�rarchie
+ d'h�ritage mapp�e.</para>
+ </note>
+
+ <note>
+ <para>Toute classe de la hi�rarchie non annot�e avec
+ <literal>@MappedSuperclass</literal> ou
<literal>@Entity</literal>
+ sera ignor�e.</para>
+ </note>
+
+ <para>Vous pouvez surcharger des colonnes d�finies dans des entit�s
+ parentes au niveau de l'entit� racine en utilisant l'annotation
+ <literal>(a)AttributeOverride</literal>.</para>
+
+ <programlisting>@MappedSuperclass
+public class FlyingObject implements Serializable {
+
+ public int getAltitude() {
+ return altitude;
+ }
+
+ @Transient
+ public int getMetricAltitude() {
+ return metricAltitude;
+ }
+
+ @ManyToOne
+ public PropulsionType getPropulsion() {
+ return metricAltitude;
+ }
+ ...
+}
+
+@Entity
+@AttributeOverride( name="altitude", column =
@Column(name="fld_altitude") )
+@AssociationOverride( name="propulsion", joinColumns =
@JoinColumn(name="fld_propulsion_fk") )
+public class Plane extends FlyingObject {
+ ...
+}</programlisting>
+
+ <para>La propri�t� <literal>altitude</literal> sera persist�e
dans la
+ colonne <literal>fld_altitude</literal> de la table
+ <literal>Plane</literal> et l'association
<literal>propulsion</literal>
+ sera mat�rialis�e dans la colonne de clef �trang�re
+ <literal>fld_propulsion_fk</literal>.</para>
+
+ <para>Vous pouvez d�finir
<literal>@AttributeOverride</literal>(s) et
+ <literal>@AssociationOverride</literal>(s) sur des classes
+ <literal>@Entity</literal>, des classes
+ <literal>@MappedSuperclass</literal> et des propri�t�s pointant vers
un
+ objet <literal>(a)Embeddable</literal>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-mapping-association">
+ <title>Mapper des associations/relations d'entity beans</title>
+
+ <sect3>
+ <title>One-to-one</title>
+
+ <para>Vous pouvez associer des entity beans avec une relation one-to-one
+ en utilisant <literal>@OneToOne</literal>. Il y a trois cas pour les
+ associations one-to-one : soit les entit�s associ�es partagent les m�mes
+ valeurs de clef primaire, soit une clef �trang�re est d�tenue par une
+ des entit�s (notez que cette colonne de clef �trang�re dans la base de
+ donn�es devrait �tre avoir une contrainte d'unicit� pour simuler la
+ cardinalit� one-to-one), soit une table d'association est utilis�e pour
+ stocker le lien entre les 2 entit�s (une contrainte d'unicit� doit �tre
+ d�finie sur chaque clef �trang�re pour assurer la cardinalit� un �
+ un).</para>
+
+ <para>Tout d'abord, nous mappons une v�ritable association one-to-one
en
+ utilisant des clefs primaires partag�es :</para>
+
+ <programlisting>
+@Entity
+public class Body {
+ @Id
+ public Long getId() { return id; }
+
+ @OneToOne(cascade = CascadeType.ALL)
+ @PrimaryKeyJoinColumn
+ public Heart getHeart() {
+ return heart;
+ }
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Heart {
+ @Id
+ public Long getId() { ...}
+}
+ </programlisting>
+
+ <para>L'association un � un est activ�e en utilisant l'annotation
+ <literal>(a)PrimaryKeyJoinColumn</literal>.</para>
+
+ <para>Dans l'exemple suivant, les entit�s associ�es sont li�es �
travers
+ une clef �trang�re :</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToOne(cascade = CascadeType.ALL)
+ <emphasis
role="bold">@JoinColumn(name="passport_fk")</emphasis>
+ public Passport getPassport() {
+ ...
+ }
+
+@Entity
+public class Passport implements Serializable {
+ @OneToOne(<emphasis role="bold">mappedBy =
"passport"</emphasis>)
+ public Customer getOwner() {
+ ...
+}
+ </programlisting>
+
+ <para>Un <classname>Customer</classname> est li� � un
+ <classname>Passport</classname>, avec une colonne de clef �trang�re
+ nomm�e <literal>passport_fk</literal> dans la table
+ <literal>Customer</literal>. La colonne de jointure est d�clar�e
avec
+ l'annotation <literal>@JoinColumn</literal> qui ressemble �
l'annotation
+ <literal>@Column</literal>. Elle a un param�tre de plus nomm�
+ <literal>referencedColumnName</literal>. Ce param�tre d�clare la
colonne
+ dans l'entit� cible qui sera utilis�e pour la jointure. Notez que lors
+ de l'utilisation de <literal>referencedColumnName</literal> vers
une
+ colonne qui ne fait pas partie de la clef primaire, la classe associ�e
+ doit �tre <classname>Serializable</classname>. Notez aussi que
+ <literal>referencedColumnName</literal> doit �tre mapp� sur une
+ propri�t� ayant une seule colonne lorsqu'elle pointe vers une colonne
+ qui ne fait pas partie de la clef primaire (d'autres cas pourraient ne
+ pas fonctionnner).</para>
+
+ <para>L'association peut �tre bidirectionnelle. Dans une relation
+ bidirectionnelle, une des extr�mit�s (et seulement une) doit �tre la
+ propri�taire : la propri�taire est responsable de la mise � jour des
+ colonnes de l'association. Pour d�clarer une extr�mit� comme
+ <emphasis>non</emphasis> responsable de la relation, l'attribut
+ <literal>mappedBy</literal> est utilis�.
+ <literal>mappedBy</literal> r�f�rence le nom de la propri�t� de
+ l'association du c�t� du propri�taire. Dans notre cas, c'est
+ <literal>passport</literal>. Comme vous pouvez le voir, vous ne
devez
+ (absolument) pas d�clarer la colonne de jointure puisqu'elle a d�j� �t�
+ d�clar�e du c�t� du propri�taire.</para>
+
+ <para>Si aucune <literal>@JoinColumn</literal> n'est
d�clar�e du c�t� du
+ propri�taire, les valeurs par d�faut s'appliquent. Une(des) colonne(s)
+ de jointure sera(ont) cr��e(s) dans la table propri�taire, et son(leur)
+ nom sera la concat�nation du nom de la relation du c�t� propri�taire,
+ <keycap>_</keycap> (underscore), et le nom de la (des) colonne(s) de
la
+ clef primaire du propri�taire. Dans cet exemple
+ <literal>passport_id</literal> parce que le nom de la propri�t� est
+ <literal>passport</literal> et la colonne identifiante de
+ <literal>Passport</literal> est
<literal>id</literal>.</para>
+
+ <para>La troisi�me possibilit� (utilisant une table d'association) est
+ tr�s exotique.</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToOne(cascade = CascadeType.ALL)
+ <emphasis role="bold">@JoinTable(name =
"CustomerPassports",
+ joinColumns = @JoinColumn(name="customer_fk"),
+ inverseJoinColumns = @JoinColumn(name="passport_fk")</emphasis>
+ )
+ public Passport getPassport() {
+ ...
+ }
+
+@Entity
+public class Passport implements Serializable {
+ @OneToOne(<emphasis role="bold">mappedBy =
"passport"</emphasis>)
+ public Customer getOwner() {
+ ...
+}
+ </programlisting>
+
+ <para>Un <classname>Customer</classname> est li� � un
+ <classname>Passport</classname> � travers une table
d'association
+ nomm�e <literal>CustomerPassports</literal> ; cette table
d'association
+ a une colonne de clef �trang�re nomm�e
<literal>passport_fk</literal>
+ pointant vers la table <literal>Passport</literal> (mat�rialis�e par
+ l'attribut <literal>inverseJoinColumn</literal>), et une colonne
de clef
+ �trang�re nomm�e <literal>customer_fk</literal> pointant vers la
table
+ <literal>Customer</literal> (mat�rialis�e par l'attribut
+ <literal>joinColumns</literal>).</para>
+
+ <para>Vous devez d�clarer le nom de la table de jointure et les colonnes
+ de jointure explicitement dans un tel mapping.</para>
+ </sect3>
+
+ <sect3>
+ <title>Many-to-one</title>
+
+ <para>Les associations Many-to-one sont d�clar�es au niveau de la
+ propri�t� avec l'annotation <literal>@ManyToOne</literal>
:</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ <emphasis role="bold">@ManyToOne</emphasis>( cascade =
{CascadeType.PERSIST, CascadeType.MERGE} )
+ @JoinColumn(name="COMP_ID")
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+ </programlisting>
+
+ <para>L'attribut <literal>@JoinColumn</literal> est
optionnel, la valeur
+ par d�faut est comme l'association un � un, la concat�nation du nom
+ de la relation du c�t� propri�taire, <keycap>_</keycap>
+ (underscore), et le nom de la colonne de la clef primaire du c�t�
+ propri�taire. Dans cet exemple, <literal>company_id</literal> parce
que
+ le nom de la propri�t� est <literal>company</literal> et la colonne
+ identifiante de Company est <literal>id</literal>.</para>
+
+ <para><literal>@ManyToOne</literal> a un param�tre nomm�
+ <literal>targetEntity</literal> qui d�crit le nom de l'entit�
cible.
+ G�n�ralement, vous ne devriez pas avoir besoin de ce param�tre puisque
+ la valeur par d�faut (le type de la propri�t� qui stocke l'association)
+ est correcte dans la plupart des cas. Il est cependant utile lorsque
+ vous souhaitez retourner une interface plut�t qu'une entit�
+ normale.</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, <emphasis
+ role="bold">targetEntity=CompanyImpl.class</emphasis> )
+ @JoinColumn(name="COMP_ID")
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+
+public interface Company {
+ ...
+ </programlisting>
+
+ <para>Vous pouvez sinon mapper une association plusieurs � un avec une
+ table d'association. Cette association d�crite par l'annotation
+ <literal>@JoinTable</literal> contiendra une clef �trang�re
r�f�ren�ant
+ la table de l'entit� (avec
+ <literal>(a)JoinTable.joinColumns</literal>) et une clef �trang�re
+ r�f�ren�ant la table de l'entit� cible (avec
+ <literal>(a)JoinTable.inverseJoinColumns</literal>).</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
+ <emphasis role="bold">@JoinTable(name="Flight_Company",
+ joinColumns = @JoinColumn(name="FLIGHT_ID"),
+ inverseJoinColumns = @JoinColumn(name="COMP_ID")
+ )</emphasis>
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+ </programlisting>
+ </sect3>
+
+ <sect3 id="entity-mapping-association-collections">
+ <title>Collections</title>
+
+ <sect4 id="entity-mapping-association-collections-overview"
+ revision="1">
+ <title>Vue d'ensemble</title>
+
+ <para>Vous pouvez mapper des
<classname>Collection</classname>s, des
+ <literal>List</literal>s (ie des listes ordonn�es, pas des listes
+ index�es), des <literal>Map</literal>s et des
+ <classname>Set</classname>s. La sp�cification EJB3 d�crit comment
+ mapper une liste ordonn�e (ie une liste ordonn�e au chargement) en
+ utilisant l'annotation
<literal>(a)javax.persistence.OrderBy</literal> :
+ pour ordonner la collection, cette annotation prend en param�tre une
+ liste de propri�t�s (de l'entit� cible) s�par�es par des virgules
+ (p. ex. <code>firstname asc, age desc</code>) ; si la cha�ne de
+ caract�res est vide, la collection sera ordonn�e par les identifiants.
+ Pour le moment <literal>@OrderBy</literal> fonctionne seulement
sur
+ des collections n'ayant pas de table d'association. Pour les
+ v�ritables collections index�es, veuillez vous r�f�rer �
+ <xref linkend="entity-hibspec" />. EJB3 vous permet de mapper
des
+ <literal>Map</literal>s en utilisant comme clef une des propri�t�s
de
+ l'entit� cible avec
<literal>@MapKey(name="myProperty")</literal>
+ (myProperty est un nom de propri�t� de l'entit� cible). Lorsque vous
+ utilisez <literal>@MapKey</literal> sans nom de propri�t�, la clef
+ primaire de l'entit� cible est utilis�e. La clef de la map utilise la
+ m�me colonne que celle point�e par la propri�t� : il n'y a pas de
+ colonne suppl�mentaire d�finie pour la clef de la map, et c'est normal
+ puisque la clef de la map repr�sente en fait un propri�t� de la cible.
+ Faites attention qu'une fois charg�e, la clef n'est plus synchronis�e
+ avec la propri�t�, en d'autres mots, si vous modifiez la valeur de la
+ propri�t�, la clef ne sera pas chang�e automatiquement dans votre
+ mod�le Java (pour une v�ritable prise en charge des maps veuillez vous
+ r�f�rer � <xref linkend="entity-hibspec" />). Beaucoup de gens
+ confondent les capacit�s de <literal><map></literal>
et celles
+ de <literal>@MapKey</literal>. Ce sont deux fonctionnalit�s
+ diff�rentes. <literal>@MapKey</literal> a encore quelques
limitations,
+ veuillez vous r�f�rer au forum ou au syst�me de suivi de bogues JIRA
+ pour plus d'informations.</para>
+
+ <para>Hibernate a plusieurs notions de collections.</para>
+
+ <para></para>
+
+ <table>
+ <title>S�mantique des collections</title>
+
+ <tgroup cols="3">
+ <colspec colname="c1" />
+
+ <colspec colname="c2" />
+
+ <colspec colname="c3" colnum="2" />
+
+ <thead>
+ <row>
+ <entry>S�mantique</entry>
+
+ <entry>Repr�sentation Java</entry>
+
+ <entry>Annotations</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>S�mantique de Bag</entry>
+
+ <entry>java.util.List, java.util.Collection</entry>
+
+ <entry>(a)org.hibernate.annotations.CollectionOfElements ou
+ @OneToMany ou @ManyToMany</entry>
+ </row>
+
+ <row>
+ <entry>S�mantique de Bag avec une clef primaire (sans les
+ limitations de la s�mantique de Bag)</entry>
+
+ <entry>java.util.List, java.util.Collection</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements ou
+ @OneToMany ou @ManyToMany) et @CollectionId</entry>
+ </row>
+
+ <row>
+ <entry>S�mantique de List</entry>
+
+ <entry>java.util.List</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements ou
+ @OneToMany ou @ManyToMany) et
+ @org.hibernate.annotations.IndexColumn</entry>
+ </row>
+
+ <row>
+ <entry>S�mantique de Set</entry>
+
+ <entry>java.util.Set</entry>
+
+ <entry>(a)org.hibernate.annotations.CollectionOfElements ou
+ @OneToMany ou @ManyToMany</entry>
+ </row>
+
+ <row>
+ <entry>S�mantique de Map</entry>
+
+ <entry>java.util.Map</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements ou
+ @OneToMany ou @ManyToMany) et (rien ou
+ @org.hibernate.annotations.MapKey/MapKeyManyToMany pour une
+ v�ritable prise en charge des maps, ou
+ @javax.persistence.MapKey</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <remark>Donc sp�cifiquement, les collections java.util.List sans
+ @org.hibernate.annotations.IndexColumn vont �tre consid�r�es commes
+ des bags.</remark>
+
+ <para>Les collections de types primitifs, de types core ou d'objets
+ embarqu�s ne sont pas prises en charge par la sp�cification EJB3.
+ Cependant Hibernate Annotations les autorise
+ (voir <xref linkend="entity-hibspec" />).</para>
+
+ <programlisting>@Entity public class City {
+ @OneToMany(mappedBy="city")
+ <emphasis
role="bold">@OrderBy("streetName")</emphasis>
+ public List<Street> getStreets() {
+ return streets;
+ }
+...
+}
+
+@Entity public class Street {
+ <emphasis role="bold">public String getStreetName()</emphasis>
{
+ return streetName;
+ }
+
+ @ManyToOne
+ public City getCity() {
+ return city;
+ }
+ ...
+}
+
+
+@Entity
+public class Software {
+ @OneToMany(mappedBy="software")
+ <emphasis
role="bold">@MapKey(name="codeName")</emphasis>
+ public Map<String, Version> getVersions() {
+ return versions;
+ }
+...
+}
+
+@Entity
+@Table(name="tbl_version")
+public class Version {
+ <emphasis role="bold">public String getCodeName()</emphasis>
{...}
+
+ @ManyToOne
+ public Software getSoftware() { ... }
+...
+}</programlisting>
+
+ <para>Donc <literal>City</literal> a une collection de
+ <literal>Street</literal>s qui sont ordonn�es par
+ <literal>streetName</literal> (de
<literal>Street</literal>) lorsque
+ la collection est charg�e. <literal>Software</literal> a une map
de
+ <literal>Version</literal>s dont la clef est
+ <literal>codeName</literal> de
<literal>Version</literal>.</para>
+
+ <para>A moins que la collection soit une "generic", vous
devrez
+ d�finir <literal>targetEntity</literal>. C'est un attribut de
+ l'annotation qui prend comme valeur la classe de l'entit�
+ cible.</para>
+ </sect4>
+
+ <sect4 id="entity-mapping-association-collection-onetomany"
+ revision="2">
+ <title>One-to-many</title>
+
+ <para>Les associations one-to-many sont d�clar�es au niveau propri�t�
+ avec l'annotation <literal>@OneToMany</literal>. Les
associations un
+ � plusieurs peuvent �tre bidirectionnelles.</para>
+
+ <sect5>
+ <title>Relation bidirectionnelle</title>
+
+ <para>Puisque les associations plusieurs � un sont (presque)
+ toujours l'extr�mit� propri�taire de la relation bidirectionnelle
+ dans la sp�cification EJB3, l'association un � plusieurs est
+ annot�e par
<literal>@OneToMany(mappedBy=...)</literal>.</para>
+
+ <programlisting>@Entity
+public class Troop {
+ @OneToMany(mappedBy="troop")
+ public Set<Soldier> getSoldiers() {
+ ...
+}
+
+@Entity
+public class Soldier {
+ @ManyToOne
+ @JoinColumn(name="troop_fk")
+ public Troop getTroop() {
+ ...
+} </programlisting>
+
+ <para><classname>Troop</classname> a une relation
bidirectionnelle
+ un � plusieurs avec <literal>Soldier</literal> � travers la
+ propri�t� <literal>troop</literal>. Vous ne devez pas d�finir
+ de mapping physique � l'extr�mit� de
+ <literal>mappedBy</literal>.</para>
+
+ <para>Pour mapper une relation bidirectionnelle un � plusieurs, avec
+ l'extr�mit� one-to-many comme extr�mit� propri�taire, vous devez
+ enlever l'�l�ment <literal>mappedBy</literal> et marquer
+ l'annotation <literal>@JoinColumn</literal> de
l'extr�mit� plusieurs
+ � un comme ne pouvant pas �tre ins�r�e et ni mise � jour. Cette
+ solution n'est certainement pas optimis�e et produira quelques
+ commandes UPDATE suppl�mentaires.</para>
+
+ <programlisting>@Entity
+public class Troop {
+ @OneToMany
+ @JoinColumn(name="troop_fk") // nous avons besoin de dupliquer
l'information physique
+ public Set<Soldier> getSoldiers() {
+ ...
+}
+
+@Entity
+public class Soldier {
+ @ManyToOne
+ @JoinColumn(name="troop_fk", insertable=false, updatable=false)
+ public Troop getTroop() {
+ ...
+}</programlisting>
+ </sect5>
+
+ <sect5>
+ <title>Relation unidirectionnelle</title>
+
+ <para>Une relation un � plusieurs unidirectionnelle utilisant une
+ colonne de clef �trang�re de l'entit� propri�taire n'est pas si
+ commune, r�ellement recommand�e. Nous vous conseillons
+ fortement d'utiliser une table de jointure pour cette sorte
+ d'association (comme expliqu� dans la prochaine section). Cette
+ sorte d'association est d�crite � travers
+ <literal>(a)JoinColumn</literal>.</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ public Set<Ticket> getTickets() {
+ ...
+}
+
+@Entity
+public class Ticket implements Serializable {
+ ... // pas de relation bidirectionnelle
+}
+ </programlisting>
+
+ <para><literal>Customer</literal> d�crit une relation
+ unidirectionnelle avec <literal>Ticket</literal> en utilisant la
+ colonne de jointure <literal>CUST_ID</literal>.</para>
+ </sect5>
+
+ <sect5>
+ <title>Relation unidirectionnel avec une table de
jointure</title>
+
+ <para>Une relation unidirectionnelle un � plusieurs avec une table
+ de jointure est largement pr�f�r�e. Cette association est d�crite
+ � travers l'annotation
<literal>(a)JoinTable</literal>.</para>
+
+ <programlisting>
+@Entity
+public class Trainer {
+ @OneToMany
+ @JoinTable(
+ name="TrainedMonkeys",
+ joinColumns = @JoinColumn( name="trainer_id"),
+ inverseJoinColumns = @JoinColumn( name="monkey_id")
+ )
+ public Set<Monkey> getTrainedMonkeys() {
+ ...
+}
+
+@Entity
+public class Monkey {
+ ... // pas de relation bidirectionnelle
+}
+ </programlisting>
+
+ <para><literal>Trainer</literal> d�crit une relation
+ unidirectionelle avec <classname>Monkey</classname> en utilisant
la
+ table de jointure <classname>TrainedMonkeys</classname>, avec
une
+ clef �trang�re <literal>trainer_id</literal> vers
+ <literal>Trainer</literal>
(<literal>joinColumns</literal>) et une
+ clef �trang�re <literal>monkey_id</literal> vers
+ <literal>Monkey</literal>
+ (<literal>inversejoinColumns</literal>).</para>
+ </sect5>
+
+ <sect5
id="entity-mapping-association-collection-manytomany-default"
+ revision="1">
+ <title>Valeurs par d�faut</title>
+
+ <para>Si aucun mapping physique n'est d�clar�, une relation
+ unidirectionnelle un vers plusieurs utilise une table de jointure.
+ Le nom de la table est la concat�nation du nom de la table
+ propri�taire, <keycap>_</keycap>, et le nom de la table de
l'autre
+ extr�mit�. Le nom des colonnes de la clef �trang�re r�f�ren�ant la
+ table propri�taire est la concat�nation de la table propri�taire,
+ <keycap>_</keycap>, et le nom des colonnes de la clef primaire.
Le
+ nom des colonnes de la clef �trang�re r�f�ren�ant l'autre extr�mit�
+ est la concat�nation du nom de la propri�t� du propri�taire,
+ <keycap>_</keycap>, et le nom des colonnes de la clef primaire
de
+ l'autre extr�mit�. Une contrainte d'unicit� est ajout�e sur la
+ clef �trang�re r�f�ren�ant la table de l'autre extr�mit� pour
+ r�fl�ter le un � plusieurs.</para>
+
+ <programlisting>
+@Entity
+public class Trainer {
+ @OneToMany
+ public Set<Tiger> getTrainedTigers() {
+ ...
+}
+
+@Entity
+public class Tiger {
+ ... // non bidirectionnelle
+}
+ </programlisting>
+
+ <para><classname>Trainer</classname> d�crit une relation
+ unidirectionnelle avec <classname>Tiger</classname> utilisant la
+ table de jointure <literal>Trainer_Tiger</literal>, avec une
clef
+ �trang�re <literal>trainer_id</literal> vers
+ <literal>Trainer</literal> (nom de la table,
<keycap>_</keycap>,
+ identifiant de trainer) et une clef �trang�re
+ <literal>trainedTigers_id</literal> vers
<literal>Monkey</literal>
+ (nom de la propri�t�, <keycap>_</keycap>, colonne de la clef
+ primaire de Tiger).</para>
+ </sect5>
+ </sect4>
+
+ <sect4 id="eentity-mapping-association-collection-manytomany"
+ revision="">
+ <title>Many-to-many</title>
+
+ <sect5>
+ <title>D�finition</title>
+
+ <para>Une association many-to-many est d�finie logiquement en
+ utilisant l'annotation <literal>@ManyToMany</literal>. Vous
devez
+ aussi d�crire la table d'association et les conditions de jointure
+ en utilisant l'annotation <literal>@JoinTable</literal>. Si
+ l'association est bidirectionnelle, une extr�mit� doit �tre la
+ propri�taire et l'autre doit �tre marqu�e comme "inverse" (ie
+ qu'elle sera ignor�e lors de la mise � jour des valeurs de la
+ relation dans la table d'association) :</para>
+
+ <programlisting>
+@Entity
+public class Employer implements Serializable {
+ @ManyToMany(
+ targetEntity=org.hibernate.test.metadata.manytomany.Employee.class,
+ cascade={CascadeType.PERSIST, CascadeType.MERGE}
+ )
+ @JoinTable(
+ name="EMPLOYER_EMPLOYEE",
+ joinColumns=@JoinColumn(name="EMPER_ID"),
+ inverseJoinColumns=@JoinColumn(name="EMPEE_ID")
+ )
+ public Collection getEmployees() {
+ return employees;
+ }
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Employee implements Serializable {
+ @ManyToMany(
+ cascade = {CascadeType.PERSIST, CascadeType.MERGE},
+ mappedBy = "employees",
+ targetEntity = Employer.class
+ )
+ public Collection getEmployers() {
+ return employers;
+ }
+}
+ </programlisting>
+
+ <para>Nous avons d�j� montr� les d�clarations des relations
+ "many" et d�taill� les attributs de ces associations. Allons
+ plus en profondeur dans la description de
+ <literal>@JoinTable</literal> ; elle d�finit un
+ <literal>name</literal>, un tableau de colonnes de jointure (un
+ tableau dans une annotation est d�fini par {A, B, C}), et un tableau
+ de colonnes de jointure inverse. Ces derni�res sont les colonnes
+ de la table d'association qui r�f�rencent la clef primaire de
+ <classname>Employee</classname> ("l'autre
extr�mit�").</para>
+
+ <para>Comme vu pr�c�demment, l'autre extr�mit� ne doit pas d�crire
+ le mapping physique : un simple argument
+ <literal>mappedBy</literal> contenant le nom de la propri�t� de
+ l'extr�mit� propri�taire suffit � relier les deux.</para>
+ </sect5>
+
+ <sect5>
+ <title>Valeurs par d�faut</title>
+
+ <para>Comme d'autres annotations, la plupart des valeurs d'une
+ relation plusieurs � plusieurs sont inf�r�es. Si aucun mapping
+ physique n'est d�crit dans une relation plusieurs � plusieurs
+ unidirectionnelle, alors les r�gles suivantes s'appliquent. Le nom
+ de la table est la concat�nation du nom de la table propri�taire,
+ <keycap>_</keycap> et le nom de la table de l'autre
extr�mit�. Le
+ nom des colonnes de la clef �trang�re r�f�ren�ant la table
+ propri�taire est la concat�nation du nom de la table propri�taire,
+ <keycap>_</keycap> et le nom des colonnes de la clef primaire
+ de cette table. Le nom des colonnes de la clef �trang�re r�f�ren�ant
+ l'autre extr�mit� est la concat�nation du nom de la propri�t� du
+ propri�taire, <keycap>_</keycap> et le nom des colonnes de la
+ clef primaire de l'autre extr�mit�. Ce sont les m�mes r�gles que
+ celles utilis�es pour une relation un � plusieurs
+ unidirectionnelle.</para>
+
+ <programlisting>
+@Entity
+public class Store {
+ @ManyToMany(cascade = CascadeType.PERSIST)
+ public Set<City> getImplantedIn() {
+ ...
+ }
+}
+
+@Entity
+public class City {
+ ... // pas de relation bidirectionnelle
+}
+ </programlisting>
+
+ <para>La table <literal>Store_City</literal> est utilis�e
comme
+ table de jointure. La colonne <literal>Store_id</literal> est
+ une clef �trang�re vers la table <literal>Store</literal>. La
+ colonne <literal>implantedIn_id</literal> est une clef �trang�re
+ vers la table <literal>City</literal>.</para>
+
+ <para>Si aucun mapping physique n'est d�crit dans une relation
+ plusieurs � plusieurs bidirectionnelle, alors les r�gles suivantes
+ s'appliquent. Le nom de la table est la concat�nation du nom de la
+ table propri�taire, <keycap>_</keycap> et le nom de la table de
+ l'autre extr�mit�. Le nom des colonnes de la clef �trang�re
+ r�f�ren�ant la table propri�taire est la concat�nation du nom de la
+ propri�t� de l'autre extr�mit�, <keycap>_</keycap> et le nom
des
+ colonnes de la clef primaire du propri�taire. Le nom des colonnes de
+ la clef �trang�re r�f�ren�ant l'autre extr�mit� est la concat�nation
+ du nom de la propri�t� du propri�taire, <keycap>_</keycap> et le
nom
+ des colonnes de la clef primaire de l'autre extr�mit�. Ce sont les
+ m�mes r�gles que celles utilis�es pour une relation un � plusieurs
+ unidirectionnelle.</para>
+
+ <programlisting>
+@Entity
+public class Store {
+ @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
+ public Set<Customer> getCustomers() {
+ ...
+ }
+}
+
+@Entity
+public class Customer {
+ @ManyToMany(mappedBy="customers")
+ public Set<Store> getStores() {
+ ...
+ }
+}
+ </programlisting>
+
+ <para>La table <literal>Store_Customer</literal> est
utilis�e comme
+ table de jointure. La colonne <literal>stores_id</literal> est
une
+ clef �trang�re vers la table <literal>Store</literal>. La
colonne
+ <literal>customers_id</literal> est une clef �trang�re vers la
table
+ <literal>Customer</literal>.</para>
+ </sect5>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>Persistance transitive avec les op�rations en cascade</title>
+
+ <para>Vous avez probablement remarqu� l'attribut
+ <literal>cascade</literal> prenant comme valeur un tableau de
+ <classname>CascadeType</classname>s. Le concept de cascade dans EJB3
est
+ similaire � la persistance transitive et les op�rations en cascade dans
+ Hibernate, mais avec une s�mantique l�g�rement diff�rente et les types
+ de cascade suivants :</para>
+
+ <itemizedlist>
+ <listitem>
+ CascadeType.PERSIST : effectue en cascade l'op�ration de
+ persistance (cr�ation) sur les entit�s associ�es si persist() est
+ appel�e ou si l'entit� est supervis�e (par le gestionnaire
+ d'entit�s)
+ </listitem>
+
+ <listitem>
+ CascadeType.MERGE : effectue en cascade l'op�ration de fusion sur
+ les entit�s associ�es si merge() est app�l�e ou si l'entit� est
+ supervis�e
+ </listitem>
+
+ <listitem>
+ CascadeType.REMOVE : effectue en cascade l'op�ration de
+ suppression sur les entit�s associ�es si delete() est appel�e
+ </listitem>
+
+ <listitem>
+ CascadeType.REFRESH : effectue en cascade l'op�ration de
+ rafra�chissement sur les entit�s associ�es si refresh() est appel�e
+ </listitem>
+
+ <listitem>
+ CascadeType.ALL : tous ceux du dessus
+ </listitem>
+ </itemizedlist>
+
+ <para>Veullez vous r�f�rer au chapitre 6.3 de la sp�cification EJB3 pour
+ plus d'informations sur les op�rations en cascade et la s�mantique des
+ op�rations de cr�ation/fusion.</para>
+ </sect3>
+
+ <sect3>
+ <title>R�cup�ration d'associations</title>
+
+ <para>Vous avez la possibilit� de r�cup�rer les entit�s associ�es soit
+ imm�diatement ("eager"), soit � la demande ("lazy"). Le
param�tre
+ <literal>fetch</literal> peut �tre positionn� �
+ <literal>FetchType.LAZY</literal> ou �
+ <literal>FetchType.EAGER</literal>.
<literal>EAGER</literal> essaiera
+ d'utiliser une jointure externe pour rappatrier l'objet associ�,
+ alors que <literal>LAZY</literal> est la valeur par d�faut et
rapportera
+ les donn�es lorsque l'objet associ� sera acc�d� pour la premi�re fois.
+ JPA-QL a aussi un mot clef <literal>fetch</literal> qui vous permet
de
+ surcharger le type de r�cup�ration pour une requ�te particuli�re. C'est
+ tr�s utile pour am�liorer les performances et d�cider au cas par
+ cas.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Mapper des clefs primaires et �trang�res compos�es</title>
+
+ <para>Les clefs primaires compos�es utilisent une classe embarqu�e comme
+ repr�sentation de la clef primaire, donc vous devriez utiliser les
+ annotations <literal>@Id</literal> et
<literal>@Embeddable</literal>.
+ Alternativement, vous pouvez utiliser l'annotation
+ <literal>@EmbeddedId</literal>. Notez que la classe d�pendante doit
�tre
+ s�rialisable et implementer
+
<methodname>equals()</methodname>/<methodname>hashCode()</methodname>.
+ Vous pouvez aussi utiliser <literal>@IdClass</literal> comme d�crit
dans
+ <xref linkend="entity-mapping-identifier" />.</para>
+
+ <programlisting>
+@Entity
+public class RegionalArticle implements Serializable {
+
+ @Id
+ public RegionalArticlePk getPk() { ... }
+}
+
+@Embeddable
+public class RegionalArticlePk implements Serializable { ... }
+ </programlisting>
+
+ <para>ou alternativement</para>
+
+ <programlisting>
+@Entity
+public class RegionalArticle implements Serializable {
+
+ @EmbeddedId
+ public RegionalArticlePk getPk() { ... }
+}
+
+public class RegionalArticlePk implements Serializable { ... }
+ </programlisting>
+
+ <para><literal>@Embeddable</literal> h�rite le type d'acc�s
de son entit�
+ d'appartenance � moins que l'annotation sp�cifique Hibernate
+ <literal>@AccessType</literal> soit utilis�e. Les clefs �trang�res
+ compos�es (si les valeurs par d�faut ne sont pas utilis�es) sont d�finies
+ sur les associations en utilisant l'�l�ment
+ <literal>@JoinColumns</literal>, lequel est simplement un tableau de
+ <literal>@JoinColumn</literal>s. Il est consid�r� comme une bonne
pratique
+ d'exprimer <literal>referencedColumnNames</literal> explicitement.
Sinon,
+ Hibernate supposera que vous utilisez le m�me ordre de colonnes que dans
+ la d�claration de la clef primaire.</para>
+
+ <programlisting>
+@Entity
+public class Parent implements Serializable {
+ @Id
+ public ParentPk id;
+ public int age;
+
+ @OneToMany(cascade=CascadeType.ALL)
+ @JoinColumns ({
+ @JoinColumn(name="parentCivility", referencedColumnName =
"isMale"),
+ @JoinColumn(name="parentLastName", referencedColumnName =
"lastName"),
+ @JoinColumn(name="parentFirstName", referencedColumnName =
"firstName")
+ })
+ public Set<Child> children; //unidirectionnelle
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Child implements Serializable {
+ @Id @GeneratedValue
+ public Integer id;
+
+ @ManyToOne
+ @JoinColumns ({
+ @JoinColumn(name="parentCivility", referencedColumnName =
"isMale"),
+ @JoinColumn(name="parentLastName", referencedColumnName =
"lastName"),
+ @JoinColumn(name="parentFirstName", referencedColumnName =
"firstName")
+ })
+ public Parent parent; // unidirectionnelle
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class ParentPk implements Serializable {
+ String firstName;
+ String lastName;
+ ...
+}
+ </programlisting>
+
+ <para>Notez l'usage explicite de
+ <literal>referencedColumnName</literal>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Mapper des tables secondaires</title>
+
+ <para>Vous pouvez mapper un simple entity bean vers plusieurs tables en
+ utilisant les annotations de niveau classe
+ <literal>@SecondaryTable</literal> ou
+ <literal>@SecondaryTables</literal>. Pour dire qu'une colonne est
dans
+ une table particuli�re, utlisez le param�tre <literal>table</literal>
de
+ <literal>@Column</literal> ou
<literal>(a)JoinColumn</literal>.</para>
+
+ <programlisting>
+@Entity
+@Table(name="MainCat")
+<emphasis role="bold">@SecondaryTables({
+ @SecondaryTable(name="Cat1", pkJoinColumns={
+ @PrimaryKeyJoinColumn(name="cat_id",
referencedColumnName="id")
+ ),
+ @SecondaryTable(name="Cat2",
uniqueConstraints={@UniqueConstraint(columnNames={"storyPart2"})})
+})</emphasis>
+public class Cat implements Serializable {
+
+ private Integer id;
+ private String name;
+ private String storyPart1;
+ private String storyPart2;
+
+ @Id @GeneratedValue
+ public Integer getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ <emphasis
role="bold">@Column(table="Cat1")</emphasis>
+ public String getStoryPart1() {
+ return storyPart1;
+ }
+
+ <emphasis
role="bold">@Column(table="Cat2")</emphasis>
+ public String getStoryPart2() {
+ return storyPart2;
+ }
+</programlisting>
+
+ <para>Dans cet exemple, <literal>name</literal> sera dans
+ <literal>MainCat</literal>. <literal>storyPart1</literal>
sera dans
+ <literal>Cat1</literal> et <literal>storyPart2</literal>
sera dans
+ <literal>Cat2</literal>. <literal>Cat1</literal> sera joint
�
+ <literal>MainCat</literal> avec <literal>cat_id</literal>
comme clef
+ �trang�re, et <literal>Cat2</literal> avec
<literal>id</literal> (ie
+ le m�me nom de colonne que la colonne identifiante de
+ <literal>MainCat</literal>). De plus, une contrainte d'unicit� sur
+ <literal>storyPart2</literal> a �t� renseign�e.</para>
+
+ <para>Regardez le tutoriel EJB3 de JBoss ou la suite de tests
+ unitaires d'Hibernate Annotations pour plus d'exemples.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="entity-mapping-query">
+ <title>Mapper des requ�tes</title>
+
+ <sect2 id="entity-mapping-query-hql"
+ revision="1">
+ <title>Mapper des requ�tes JPAQL/HQL</title>
+
+ <para>Vous pouvez mapper des requ�tes JPA-QL/HQL en utilisant les
+ annotations. <literal>@NamedQuery</literal> et
+ <literal>@NamedQueries</literal> peuvent �tre d�finies au niveau de la
+ classe ou dans un fichier JPA XML. Cependant, leurs d�finitions sont
+ globales au scope de la session factory/entity manager factory. Une
+ requ�te nomm�e est d�finie par son nom et la cha�ne de caract�res de la
+ requ�te r�elle.</para>
+
+ <programlisting><entity-mappings>
+ <named-query name="plane.getAll">
+ <query>select p from Plane p</query>
+ </named-query>
+ ...
+</entity-mappings>
+...
+
+@Entity
+(a)NamedQuery(name="night.moreRecentThan", query="select n from Night n
where n.date >= :date")
+public class Night {
+ ...
+}
+
+public class MyDao {
+ doStuff() {
+ Query q = s.getNamedQuery("night.moreRecentThan");
+ q.setDate( "date", aMonthAgo );
+ List results = q.list();
+ ...
+ }
+ ...
+}
+ </programlisting>
+
+ <para>Vous pouvez aussi fournir des indications de fonctionnement � une
+ requ�te � travers un tableau de <literal>QueryHint</literal>s avec
+ l'attribut <literal>hints</literal>.</para>
+
+ <para>Les indications de fonctionnement Hibernate disponibles
+ sont :</para>
+
+ <para></para>
+
+ <table>
+ <title>Indications de fonctionnement d'une requ�te</title>
+
+ <tgroup cols="2">
+ <thead>
+ <colspec colname="c1" />
+
+ <colspec colname="c2" colnum="2" />
+
+ <row>
+ <entry>Indication</entry>
+
+ <entry colname="c2">description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>org.hibernate.cacheable</entry>
+
+ <entry>Indique si la requ�te devrait interagir avec le cache de
+ second niveau (par d�faut � false)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.cacheRegion</entry>
+
+ <entry>Nom de la r�gion du cache (si ind�finie, la valeur par
+ d�faut est utilis�e)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.timeout</entry>
+
+ <entry>Timeout des requ�tes</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.fetchSize</entry>
+
+ <entry>Taille des result sets par fetch</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.flushMode</entry>
+
+ <entry>Mode de flush utilis� pour cette requ�te</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.cacheMode</entry>
+
+ <entry>Mode de cache utilis� pour cette requ�te</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.readOnly</entry>
+
+ <entry>Indique si les entit�s charg�es par cette requ�te devraient
+ �tre en lecture seule ou pas (par d�faut � false)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.comment</entry>
+
+ <entry>Commentaire de la requ�te, ajout� au SQL g�n�r�</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect2>
+
+ <sect2 id="entity-mapping-query-native" revision="2">
+ <title>Mapper des requ�tes natives</title>
+
+ <para>Vous pouvez aussi mapper une requ�te native (ie une requ�te SQL).
+ Pour ce faire, vous devez d�crire la structure de l'ensemble de r�sultat
+ SQL en utilisant <literal>@SqlResultSetMapping</literal> (ou
+ <literal>@SqlResultSetMappings</literal> si vous pr�voyez de d�finir
+ plusieurs mappings de r�sultats). Comme <literal>@NamedQuery</literal>,
un
+ <literal>@SqlResultSetMapping</literal> peut �tre d�fini au niveau de
la
+ classe ou dans un fichier XML JPA. Cependant sa port�e est globale �
+ l'application.</para>
+
+ <para>Comme vous le verrez, un param�tre de
+ <literal>resultSetMapping</literal> est d�fini dans
+ <literal>@NamedNativeQuery</literal>, il repr�sente le nom du
+ <literal>@SqlResultSetMapping</literal> d�fini. Le mapping de
l'ensemble
+ des r�sultats d�clare les entit�s r�cup�r�es par cette requ�te native.
+ Chaque champ de l'entit� est li� � un alias SQL (nom de colonne). Tous les
+ champs de l'entit� (dont ceux des classes filles) et les colonnes des
+ clefs �trang�res relatives aux entit�s doivent �tre pr�sents dans la
+ requ�te SQL. Les d�finitions des champs sont optionnelles, si elles ne
+ sont pas fournies, elles mappent le m�me nom de colonne que celui d�clar�
+ sur la propri�t� de la classe.</para>
+
+
<para><programlisting>@NamedNativeQuery(name="night&area",
query="select night.id nid, night.night_duration, "
+ + " night.night_date, area.id aid, night.area_id, area.name "
+ + "from Night night, Area area where night.area_id = area.id",
<emphasis
+
role="bold">resultSetMapping="joinMapping"</emphasis>)
+@SqlResultSetMapping(name="joinMapping", entities={
+ @EntityResult(entityClass=org.hibernate.test.annotations.query.Night.class, fields =
{
+ @FieldResult(name="id", column="nid"),
+ @FieldResult(name="duration", column="night_duration"),
+ @FieldResult(name="date", column="night_date"),
+ @FieldResult(name="area", column="area_id"),
+ discriminatorColumn="disc"
+ }),
+ @EntityResult(entityClass=org.hibernate.test.annotations.query.Area.class, fields =
{
+ @FieldResult(name="id", column="aid"),
+ @FieldResult(name="name", column="name")
+ })
+ }
+)</programlisting></para>
+
+ <para>Dans l'exemple ci-dessus, la requ�te nomm�e
+ <literal>night&area</literal> utilise le mapping de r�sultats
+ <literal>joinMapping</literal>. Ce mapping retourne 2 entit�s,
+ <literal>Night</literal> et <literal>Area</literal>, chaque
propri�t� est
+ d�clar�e et associ�e � un nom de colonne, en fait le nom de colonne
+ r�cup�r� par la requ�te. Voyons maintenant une d�claration implicite de
+ mapping propri�t�/colonne.</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">@SqlResultSetMapping(name="implicit",
entities=(a)EntityResult(entityClass=org.hibernate.test.annotations.query.SpaceShip.class))
+@NamedNativeQuery(name="implicitSample", query="select * from
SpaceShip", resultSetMapping="implicit")</emphasis>
+public class SpaceShip {
+ private String name;
+ private String model;
+ private double speed;
+
+ @Id
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Column(name="model_txt")
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+}</programlisting>
+
+ <para>Dans cet exemple, nous d�crivons seulement le membre de l'entit�
du
+ mapping de r�sultats. Le mapping de propri�t�/colonne est fait en
+ utilisant les valeurs de mapping de l'entit�. Dans ce cas, la propri�t�
+ <literal>model</literal> est li�e � la colonne
+ <literal>model_txt</literal>. Si l'association � une entit�
concern�e
+ implique une clef primaire compos�e, un �l�ment
+ <literal>@FieldResult</literal> devrait �tre utilis� pour chaque
colonne
+ de la clef �trang�re. Le nom de <literal>@FieldResult</literal> est
+ compos� du nom de la propri�t� pour la relation, suivi par un point
("."),
+ suivi par le nom ou le champ ou la propri�t� de la clef primaire.</para>
+
+ <programlisting>@Entity
+@SqlResultSetMapping(name="compositekey",
+
entities=(a)EntityResult(entityClass=org.hibernate.test.annotations.query.SpaceShip.class,
+ fields = {
+ @FieldResult(name="name", column = "name"),
+ @FieldResult(name="model", column = "model"),
+ @FieldResult(name="speed", column = "speed"),
+<emphasis role="bold">
@FieldResult(name="captain.firstname", column = "firstn"),
+ @FieldResult(name="captain.lastname", column =
"lastn"),</emphasis>
+ @FieldResult(name="dimensions.length", column =
"length"),
+ @FieldResult(name="dimensions.width", column =
"width")
+ }),
+ columns = { @ColumnResult(name = "surface"),
+ @ColumnResult(name = "volume") } )
+
+@NamedNativeQuery(name="compositekey",
+ query="select name, model, speed, lname as lastn, fname as firstn, length,
width, length * width as surface from SpaceShip",
+ resultSetMapping="compositekey")
+} )
+public class SpaceShip {
+ private String name;
+ private String model;
+ private double speed;
+ private Captain captain;
+ private Dimensions dimensions;
+
+ @Id
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @ManyToOne(fetch= FetchType.LAZY)
+ @JoinColumns( {
+ @JoinColumn(name="fname", referencedColumnName =
"firstname"),
+ @JoinColumn(name="lname", referencedColumnName =
"lastname")
+ } )
+ public Captain getCaptain() {
+ return captain;
+ }
+
+ public void setCaptain(Captain captain) {
+ this.captain = captain;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+
+ public Dimensions getDimensions() {
+ return dimensions;
+ }
+
+ public void setDimensions(Dimensions dimensions) {
+ this.dimensions = dimensions;
+ }
+}
+
+@Entity
+(a)IdClass(Identity.class)
+public class Captain implements Serializable {
+ private String firstname;
+ private String lastname;
+
+ @Id
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ @Id
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+}
+</programlisting>
+
+ <note>
+ <para>Si vous regardez la propri�t� dimension, vous verrez
qu'Hibernate
+ prend en charge la notation avec les points pour les objets embarqu�s
+ (vous pouvez m�me avoir des objets embarqu�s imbriqu�s). Les
+ impl�mentations EJB3 n'ont pas � prendre en charge cette fonctionnalit�,
+ mais nous le faisons :-)</para>
+ </note>
+
+ <para>Si vous r�cup�rez une simple entit� et si vous utilisez le mapping
+ par d�faut, vous pouvez utiliser l'attribut
<literal>resultClass</literal>
+ � la place de <literal>resultSetMapping</literal> :</para>
+
+ <programlisting><emphasis
role="bold">@NamedNativeQuery(name="implicitSample",
query="select * from SpaceShip",
+ resultClass=SpaceShip.class)</emphasis>
+public class SpaceShip {</programlisting>
+
+ <para>Dans certaines de vos requ�tes natives, vous devrez retourner des
+ valeurs scalaires, par exemple lors de la construction de requ�tes de
+ rapport. Vous pouvez les mapper dans
+ <literal>@SqlResultsetMapping</literal> avec
+ <literal>@ColumnResult</literal>. En fait, vous pouvez m�me m�langer
des
+ retours d'entit�s et de valeurs scalaires dans la m�me requ�te native (ce
+ n'est cependant probablement pas commun).</para>
+
+ <programlisting><emphasis
role="bold">@SqlResultSetMapping(name="scalar",
columns=@ColumnResult(name="dimension"))
+@NamedNativeQuery(name="scalar", query="select length*width as dimension
from SpaceShip",
resultSetMapping="scalar")</emphasis></programlisting>
+
+ <para>Une autre indication de fonctionnement sp�cifique aux requ�tes
+ natives a �t� pr�sent�e : <literal>org.hibernate.callable</literal>
+ laquelle peut �tre � true ou � false fausse selon que la requ�te est une
+ proc�dure stock�e ou pas.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="entity-hibspec" xreflabel="Extensions d'Hibernate
Annotation">
+ <title>Extensions d'Hibernate Annotation</title>
+
+ <para>Hibernate 3.1 offre une vari�t� d'annotations suppl�mentaires que
vous
+ pouvez m�langer/faire correspondre avec des entit�s EJB3. Elles ont �t�
+ con�ues comme une extension naturelle aux annotations EJB3.</para>
+
+ <para>Pour aller plus loin que les capacit�s d'EJB3, Hibernate fournit des
+ annotations sp�cifiques qui correspondent aux fonctionnalit�s d'Hibernate.
+ Le package <classname>org.hibernate.annotations</classname> contient
toutes
+ ces extensions d'annotations.</para>
+
+ <sect2 id="entity-hibspec-entity" revision="2">
+ <title>Entit�</title>
+
+ <para>Vous pouvez finement param�trer certaines des actions faites par
+ Hibernate sur les entit�s au-del� de ce qu'offre la sp�cification
+ EJB3.</para>
+
+ <para><classname>(a)org.hibernate.annotations.Entity</classname>
ajoute des
+ m�ta-donn�es suppl�mentaires qui peuvent �tre n�cessaires au-del� de ce
+ qui est d�fini dans l'annotation <literal>@Entity</literal>
+ standard :<itemizedlist>
+ <listitem>
+ mutable : indique si l'entit� est modifiable ou non
+ </listitem>
+
+ <listitem>
+ dynamicInsert : autorise le SQL dynamique pour les insertions
+ </listitem>
+
+ <listitem>
+ dynamicUpdate : autorise le SQL dynamique pour les mise � jour
+ </listitem>
+
+ <listitem>
+ selectBeforeUpdate : sp�cifie qu'Hibernate ne devrait jamais
+ ex�cuter un UPDATE SQL � moins qu'il ne soit certain qu'un objet
+ est r�ellement modifi�
+ </listitem>
+
+ <listitem>
+ polymorphism : indique si le polymorphisme d'entit� est de type
+ PolymorphismType.IMPLICIT (valeur par d�faut) ou
+ PolymorphismType.EXPLICIT
+ </listitem>
+
+ <listitem>
+ persister : autorise la surcharge de l'impl�mentation de
+ persistance fournie par d�faut
+ </listitem>
+
+ <listitem>
+ optimisticLock : strat�gie de verrouillage optmiste
+ (OptimisticLockType.VERSION,
+ OptimisticLockType.NONE, OptimisticLockType.DIRTY ou
+ OptimisticLockType.ALL)
+ </listitem>
+ </itemizedlist></para>
+
+ <para><note>
+ <para>(a)javax.persistence.Entity est encore obligatoire,
+ @org.hibernate.annotations.Entity ne la remplace pas.</para>
+ </note></para>
+
+ <para>Voici quelques extensions d'annotations Hibernate
+ suppl�mentaires.</para>
+
+ <para><literal>(a)org.hibernate.annotations.BatchSize</literal>
vous permet
+ de d�finir la taille du batch lors de la r�cup�ration d'instances de
+ cette entit� (p. ex. <literal>@BatchSize(size=4)</literal>). Lors du
+ chargement d'une entit� donn�e, Hibernate chargera alors toutes les
+ entit�s non initialis�es du m�me type dans le contexte de la persistance
+ jusqu'� la taille du batch.</para>
+
+ <para><literal>(a)org.hibernate.annotations.Proxy</literal> d�finit
les
+ attributs de chargement de l'entit�. lazy (valeur par d�faut) d�finit si
+ la classe est charg�e � la demande ou non. proxyClassName est l'interface
+ utilis�e pour g�n�rer le proxy (par d�faut, la classe elle-m�me).</para>
+
+ <para><literal>(a)org.hibernate.annotations.Where</literal> d�finit
une
+ clause WHERE SQL optionnelle utilis�e lorsque des instances de cette
+ classe sont r�cup�r�es.</para>
+
+ <para><literal>(a)org.hibernate.annotations.Check</literal> d�clare
une
+ contrainte de v�rification optionnelle d�finie dans l'expression
+ DDL.</para>
+
+ <para><literal>(a)OnDelete(action=OnDeleteAction.CASCADE)</literal>
sur des
+ classes filles jointes : utilise une commande SQL DELETE en cascade lors
+ de la suppression plut�t que le m�canisme habituel d'Hibernate.</para>
+
+ <para><literal>@Table(appliesTo="tableName", indexes = {
+ @Index(name="index1", columnNames={"column1",
"column2"} ) } )</literal>
+ cr�e les index d�finis sur les colonnes de la table
+ <literal>tableName</literal>. Cela peut s'appliquer sur une table
primaire
+ ou une table secondaire. L'annotation <literal>@Tables</literal>
vous
+ permet d'avoir des index sur des tables diff�rentes. Cette annotation est
+ attendue l� o� <literal>(a)javax.persistence.Table</literal> ou
+ <literal>(a)javax.persistence.SecondaryTable</literal>(s) sont
+ d�clar�es.</para>
+
+ <note>
+ <para><literal>(a)org.hibernate.annotations.Table</literal> est
un
+ compl�ment, pas un remplacement de
+ <literal>(a)javax.persistence.Table</literal>. Surtout, si vous
souhaitez
+ changer le nom par d�faut d'une table, vous devez utiliser
+ <literal>(a)javax.persistence.Table</literal>, pas
+ <literal>(a)org.hibernate.annotations.Table</literal>.</para>
+ </note>
+
+ <para><programlisting>@Entity
+@BatchSize(size=5)
+(a)org.hibernate.annotations.Entity(
+ selectBeforeUpdate = true,
+ dynamicInsert = true, dynamicUpdate = true,
+ optimisticLock = OptimisticLockType.ALL,
+ polymorphism = PolymorphismType.EXPLICIT)
+@Where(clause="1=1")
+(a)org.hibernate.annotations.Table(name="Forest", indexes = {
@Index(name="idx", columnNames = { "name", "length" } ) } )
+public class Forest { ... }</programlisting><programlisting>@Entity
+@Inheritance(
+ strategy=InheritanceType.JOINED
+)
+public class Vegetable { ... }
+
+@Entity
+(a)OnDelete(action=OnDeleteAction.CASCADE)
+public class Carrot extends Vegetable { ... }</programlisting></para>
+ </sect2>
+
+ <sect2 id="entity-hibspec-identifier" revision="1">
+ <title>Identifiant</title>
+
+
<para><literal>(a)org.hibernate.annotations.GenericGenerator</literal>
vous
+ permet de d�finir un g�n�rateur d'identifiants Hibernate
+ sp�cifique.</para>
+
+ <para><programlisting>@Id
@GeneratedValue(generator="system-uuid")
+@GenericGenerator(name="system-uuid", strategy = "uuid")
+public String getId() {
+
+@Id @GeneratedValue(generator="hibseq")
+@GenericGenerator(name="hibseq", strategy = "seqhilo",
+ parameters = {
+ @Parameter(name="max_lo", value = "5"),
+ @Parameter(name="sequence", value="heybabyhey")
+ }
+)
+public Integer getId() {</programlisting></para>
+
+ <para><literal>strategy</literal> est le nom court de la
strat�gie du
+ g�n�rateur Hibernate3 ou le nom pleinement qualifi� de la classe d'une
+ impl�mentation de <classname>IdentifierGenerator</classname>. Vous
pouvez
+ ajouter des param�tres avec l'attribut
+ <literal>parameters</literal>.</para>
+
+ <para>Contrairement � son pendant standard,
+ <literal>@GenericGenerator</literal> peut �te utilis�e dans les
+ annotations au niveau du package, en faisant ainsi un g�n�rateur de niveau
+ applicatif (comme s'il �tait dans un fichier JPA XML).</para>
+
+ <programlisting>@GenericGenerator(name="hibseq", strategy =
"seqhilo",
+ parameters = {
+ @Parameter(name="max_lo", value = "5"),
+ @Parameter(name="sequence", value="heybabyhey")
+ }
+)
+package org.hibernate.test.model</programlisting>
+ </sect2>
+
+ <sect2 id="entity-hibspec-property" revision="2">
+ <title>Propri�t�</title>
+
+ <sect3>
+ <title>Type d'acc�s</title>
+
+ <para>Le type d'acc�s est d�duit de la position de
+ <literal>@Id</literal> ou de
<literal>@EmbeddedId</literal> dans la
+ hi�rarchie de l'entit�. Les entit�s filles, les objets embarqu�s et les
+ entit�s parentes mapp�s h�ritent du type d'acc�s de l'entit�
+ racine.</para>
+
+ <para>Dans Hibernate, vous pouvez surcharger le type d'acc�s
+ pour :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>utiliser une strat�gie d'acc�s personnalis�e</para>
+ </listitem>
+
+ <listitem>
+ <para>param�trer finement le type d'acc�s au niveau de la classe
ou
+ au niveau de la propri�t�</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Une annocation @AccessType a �t� pr�sent�e pour prendre en charge
+ ce comportement. Vous pouvez d�finir le type d'acc�s sur :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>une entit�</para>
+ </listitem>
+
+ <listitem>
+ <para>une classe parente</para>
+ </listitem>
+
+ <listitem>
+ <para>un objet embarqu�</para>
+ </listitem>
+
+ <listitem>
+ <para>une propri�t�</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Le type d'acc�s est surcharg� pour l'�l�ment annot�, si
surcharg�
+ sur une classe, toutes les propri�t�s de la classe donn�e h�ritent du
+ type d'acc�s. Pour les entit�s racines, le type d'acc�s est consid�r�
+ par d�faut comme celui de la hi�rarchie enti�re (surchargeable au niveau
+ de la classe ou de la propri�t�).</para>
+
+ <para>Si le type d'acc�s est marqu� comme "propri�t�", les
getters sont
+ parcourus pour examiner les annotations, si le type d'acc�s est marqu�
+ comme "champ", ce sont les champs qui sont parcourus pour les
+ annotations. Sinon les �l�ments marqu�s avec @Id ou @embeddedId sont
+ scann�s.</para>
+
+ <para>Vous pouvez surcharger une type d'acc�s pour une propri�t�, mais
+ l'�l�ment annot� ne sera pas influenc� : par exemple, une entit� ayant
+ un type d'acc�s <literal>field</literal>, peut annoter un champ
avec
+ <literal>@AccessType("property")</literal>, le type
d'acc�s sera alors
+ "property" pour cet attribut, des annotations devront encore �tre
+ port�es sur les champs.</para>
+
+ <para>Si une classe parente ou un objet embarquable n'est pas annot�,
le
+ type d'acc�s de l'entit� racine est utilis� (m�me si un type d'acc�s
a
+ �t� d�fini sur une classe parente ou un objet embarquable
+ interm�diaire). Le principe de la poup�e russe ne s'applique
pas.</para>
+
+ <programlisting>@Entity
+public class Person implements Serializable {
+ @Id @GeneratedValue // type d'acc�s "champ"
+ Integer id;
+
+ @Embedded
+ @AttributeOverrides({
+ @AttributeOverride(name = "iso2", column = @Column(name =
"bornIso2")),
+ @AttributeOverride(name = "name", column = @Column(name =
"bornCountryName"))
+ })
+ Country bornIn;
+}
+
+@Embeddable
+<emphasis role="bold">@AccessType("property")</emphasis>
// surcharge le type d'acc�s pour toutes les propri�t�s dans Country
+public class Country implements Serializable {
+ private String iso2;
+ private String name;
+
+ public String getIso2() {
+ return iso2;
+ }
+
+ public void setIso2(String iso2) {
+ this.iso2 = iso2;
+ }
+
+ @Column(name = "countryName")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
+</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Formule</title>
+
+ <para>Parfois, vous voulez effectuer certains calculs par la base de
+ donn�es plut�t que par la JVM, ou vous pourriez aussi vouloir cr�er une
+ sorte de colonne virtuelle. Vous pouvez utilisez un fragment SQL (alias
+ une formule) plut�t que de mapper un propri�t� sur une colonne. Cette
+ sorte de propri�t� est en lecture seule (sa valeur est calcul�e par
+ votre formule).</para>
+
+ <programlisting>@Formula("obj_length * obj_height * obj_width")
+public long getObjectVolume()</programlisting>
+
+ <para>Le fragment SQL peut �tre aussi complexe que vous le souhaitez,
+ m�me avec des sous-selects inclus.</para>
+ </sect3>
+
+ <sect3>
+ <title>Type</title>
+
+ <para><literal>(a)org.hibernate.annotations.Type</literal>
surcharge le
+ type Hibernate utilis� par d�faut : ce n'est g�n�ralement pas n�cessaire
+ puisque le type est correctement inf�r� par Hibernate. Veuillez vous
+ r�f�rer au guide de r�f�rence Hibernate pour plus d'informations sur les
+ types Hibernate.</para>
+
+ <para><literal>(a)org.hibernate.annotations.TypeDef</literal> et
+ <literal>(a)org.hibernate.annotations.TypeDefs</literal> vous
permettent
+ de d�clarer des d�finitions de type. Ces annotations sont plac�es au
+ niveau de la classe ou du package. Notez que ces d�finitions seront
+ globales pour la session factory (m�me au niveau de la classe) et que la
+ d�finition du type doit �tre d�finie avant n'importe quelle
+ utilisation.</para>
+
+ <programlisting>@TypeDefs(
+ {
+ @TypeDef(
+ name="caster",
+ typeClass = CasterStringType.class,
+ parameters = {
+ @Parameter(name="cast", value="lower")
+ }
+ )
+ }
+)
+package org.hibernate.test.annotations.entity;
+
+...
+public class Forest {
+ @Type(type="caster")
+ public String getSmallText() {
+ ...
+}
+ </programlisting>
+
+ <para>Lors de l'utilisation d'un type utilisateur compos�, vous
devrez
+ exprimer les d�finitions des colonnes. L'annotation
+ <literal>@Columns</literal> a �t� mise en place dans ce
but.</para>
+
+
<programlisting>(a)Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")
+@Columns(columns = {
+ @Column(name="r_amount"),
+ @Column(name="r_currency")
+})
+public MonetaryAmount getAmount() {
+ return amount;
+}
+
+
+public class MonetaryAmount implements Serializable {
+ private BigDecimal amount;
+ private Currency currency;
+ ...
+}</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Index</title>
+
+ <para>Vous pouvez d�finir un index sur une colonne particuli�re en
+ utilisant l'annotation <literal>@Index</literal> sur une
propri�t� d'une
+ colonne, l'attribut columnNames sera ignor�.</para>
+
+ <programlisting>@Column(secondaryTable="Cat1")
+@Index(name="story1index")
+public String getStoryPart1() {
+ return storyPart1;
+}</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>@Parent</title>
+
+ <para>A l'int�rieur d'un objet embarquable, vous pouvez d�finir
+ une des propri�t�s comme un pointeur vers l'�l�ment
+ propri�taire.</para>
+
+ <programlisting>@Entity
+public class Person {
+ @Embeddable public Address address;
+ ...
+}
+
+@Embeddable
+public class Address {
+ @Parent public Person owner;
+ ...
+}
+
+
+person == person.address.owner</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Propri�t�s g�n�r�es</title>
+
+ <para>Certaines propri�t�s sont g�n�r�es au moment de l'insertion ou
de
+ la mise � jour par votre base de donn�es. Hibernate peut traiter de
+ telles propri�t�s et d�clencher un select subs�quent pour lire ces
+ propri�t�s.</para>
+
+ <programlisting>@Entity
+public class Antenna {
+ @Id public Integer id;
+ @Generated(GenerationTime.ALWAYS) @Column(insertable = false, updatable = false)
+ public String longitude;
+
+ @Generated(GenerationTime.INSERT) @Column(insertable = false)
+ public String latitude;
+}</programlisting>
+
+ <para>Quand vous annotez votre propri�t� avec
+ <literal>@Generated</literal>, vous devez vous assurer que
l'insertion
+ et la mise � jour n'entreront pas en conflit avec la strat�gie de
+ g�n�ration que vous avez choisie. Lorsque GenerationTime.INSERT est
+ choisi, la propri�t� ne doit pas contenir de colonnes ins�rables ;
+ lorsque GenerationTime.ALWAYS est choisi, la propri�t� ne doit pas
+ contenir de colonnes qui puissent �tre ins�r�es ou mises � jour.</para>
+
+ <para>Les propri�t�s <literal>@Version</literal> ne peuvent pas
(par
+ conception) �tre <literal>@Generated(INSERT)</literal>, elles
doivent
+ �tre <literal>NEVER</literal> ou
<literal>ALWAYS</literal>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-hibspec-inheritance" revision="1">
+ <title>H�ritage</title>
+
+ <para>SINGLE_TABLE est une strat�gie tr�s puissante mais parfois, et
+ surtout pour des syst�mes pr�-existants, vous ne pouvez pas ajouter une
+ colonne discriminante suppl�mentaire. Pour cela Hibernate a mis en place
+ la notion de formule discriminante :
+ <literal>@DiscriminatorFormula</literal> est une rempla�cant de
+ <literal>@DiscriminatorColumn</literal> et utilise un fragment SQL en
tant
+ que formule pour la r�solution du discriminant (pas besoin d'avoir une
+ colonne d�di�e).</para>
+
+ <programlisting>@Entity
+@DiscriminatorForumla("case when forest_type is null then 0 else forest_type
end")
+public class Forest { ... }</programlisting>
+
+ <para>Par d�faut, lors du requ�tage sur les entit�s les plus hautes,
+ Hibernate ne met pas de restriction sur la colonne discriminante. Ceci
+ peut �tre un inconv�nient si cette colonne contient des valeurs qui ne sont
+ pas mapp�es dans votre hi�rarchie (avec
+ <literal>@DiscriminatorValue</literal>). Pour contourner ca, vous
pouvez
+ utilser <literal>@ForceDiscriminator</literal> (au niveau de la
classe,
+ � c�t� de <literal>@DiscriminatorColumn</literal>). Hibernate listera
+ alors les valeurs disponibles lors du chargement des entit�s.</para>
+ </sect2>
+
+ <sect2 id="entity-hibspec-singleassoc">
+ <title>Annotations concernant les simples associations</title>
+
+ <para>Par d�faut, lorsqu'Hibernate ne peut pas r�soudre
l'association
+ parce que l'�l�ment associ� attendu n'est pas dans la base de donn�es
+ (mauvais identifiant sur la colonne de l'association), une exception est
+ lev�e par Hibernate. Cela pourrait �tre un inconv�nient pour des sch�mas
+ pr�-existants et mal maintenus. Vous pouvez demander � Hibernate d'ignorer
+ de tels �l�ments plut�t que de lever une exception en utilisant
+ l'annotation <literal>@NotFound</literal>. Cette annotation peut
�tre
+ utilis�e sur une association <literal>@OneToOne</literal> (avec une
clef
+ �trang�re), <literal>@ManyToOne</literal>,
<literal>@OneToMany</literal>
+ ou <literal>(a)ManyToMany</literal>.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @NotFound(action=NotFoundAction.IGNORE)
+ public Parent getParent() { ... }
+ ...
+}</programlisting>
+
+ <para>Parfois vous voulez d�l�guer � votre base de donn�es la suppression
+ en cascade lorsqu'une entit� donn�e est supprim�e.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ public Parent getParent() { ... }
+ ...
+}</programlisting>
+
+ <para>Dans ce cas, Hibernate g�n�re une contrainte de suppression en
+ cascade au niveau de la base de donn�es.</para>
+
+ <para>Les contraintes de clef �trang�re, bien que g�n�r�es par Hibernate,
+ ont un nom justement illisible. Vous pouvez surcharger le nom de la
+ contrainte par l'utilisation de
<literal>(a)ForeignKey</literal>.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ <emphasis
role="bold">@ForeignKey(name="FK_PARENT")</emphasis>
+ public Parent getParent() { ... }
+ ...
+}
+
+alter table Child add constraint FK_PARENT foreign key (parent_id) references
Parent</programlisting>
+
+ <sect3>
+ <title>Options de chargement et modes de r�cup�ration</title>
+
+ <para>EJB3 arrive avec l'option <literal>fetch</literal>
pour d�finir
+ le chargement � la demande et les modes de r�cup�ration, cependant
+ Hibernate a beaucoup plus d'options dans ce domaine. Pour finement
+ param�trer le chargement � la demande et les strat�gies de r�cup�ration,
+ quelques annotations suppl�mentaires ont �t� mises en place :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>@LazyToOne</literal> : d�finit l'option
de chargement
+ � la demande sur les associations <literal>@ManyToOne</literal>
et
+ <literal>@OneToOne</literal>.
<literal>LazyToOneOption</literal>
+ peut �tre <literal>PROXY</literal> (ie utiliser un chargement �
la
+ demande bas� sur un proxy), <literal>NO_PROXY</literal> (utilise
+ un chargement � la demande sur l'ajout de bytecode - notez qu'un
+ temps de construction du bytecode est n�cessaire) et
+ <literal>FALSE</literal> (association sans chargement � la
+ demande) ;</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>@LazyCollection</literal> : d�finit
l'option de
+ chargement � la demande sur les associations
+ <literal>@ManyToMany</literal> et
<literal>@OneToMany</literal>.
+ LazyCollectionOption peut �tre <literal>TRUE</literal> (la
+ collection est charg�e � la demande lorsque son �tat est acc�d�),
+ <literal>EXTRA</literal> (la collection est charg�e � la demande
et
+ toutes les op�rations essaieront d'�viter le chargement de la
+ collection, c'est surtout utile pour de grosses collections lorsque
+ le chargement de tous les �l�ments n'est pas n�cessaire) et
+ <literal>FALSE</literal> (association sans chargement � la
+ demande) ;</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>@Fetch</literal> : d�finit une strat�gie de
+ r�cup�ration utilis�e pour charger l'association.
+ <literal>FetchMode</literal> peut �tre
+ <literal>SELECT</literal> (un select est d�clench� lorsque
+ l'association a besoin d'�tre charg�e),
<literal>SUBSELECT</literal>
+ (disponible uniquement pour des collections, utilise une strat�gie
+ de sous select - veuillez vous r�f�rer � la documentation de
+ r�f�rence d'Hibernate pour plus d'informations) ou
+ <literal>JOIN</literal> (utilise un JOIN SQL pour charger
+ l'association lors du chargement de l'entit� propri�taire).
+ <literal>JOIN</literal> surcharge n'importe quel attribut de
+ chargement � la demande (une association charg�e avec la strat�gie
+ <literal>JOIN</literal> ne peut pas �tre charg�e � la
+ demande).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Les annotations Hibernate surchargent les options de r�cup�ration
+ EJB3.</para>
+
+ <table>
+ <title>Chargement � la demande et options de r�cup�ration
+ �quivalentes</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Annotations</entry>
+
+ <entry>Chargement � la demande</entry>
+
+ <entry>R�cup�ration</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>(a)[One|Many]ToOne](fetch=FetchType.LAZY)</entry>
+
+ <entry>@LazyToOne(PROXY)</entry>
+
+ <entry>@Fetch(SELECT)</entry>
+ </row>
+
+ <row>
+ <entry>(a)[One|Many]ToOne](fetch=FetchType.EAGER)</entry>
+
+ <entry>@LazyToOne(FALSE)</entry>
+
+ <entry>@Fetch(JOIN)</entry>
+ </row>
+
+ <row>
+ <entry>(a)ManyTo[One|Many](fetch=FetchType.LAZY)</entry>
+
+ <entry>@LazyCollection(TRUE)</entry>
+
+ <entry>@Fetch(SELECT)</entry>
+ </row>
+
+ <row>
+ <entry>(a)ManyTo[One|Many](fetch=FetchType.EAGER)</entry>
+
+ <entry>@LazyCollection(FALSE)</entry>
+
+ <entry>@Fetch(JOIN)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-hibspec-collection" revision="2">
+ <title>Annotations concernant les collections</title>
+
+ <sect3 id="entity-hibspec-collection-enhance"
revision="2">
+ <title>Am�liorer les configurations des collections</title>
+
+ <para>Il est possible de configurer :<itemizedlist>
+ <listitem>
+ la taille des batchs pour les collections en utilisant @BatchSize
+ </listitem>
+
+ <listitem>
+ la clause where, en utilisant @Where (appliqu�e � l'entit� cible)
+ ou @WhereJoinTable (appliqu�e � la table de l'association)
+ </listitem>
+
+ <listitem>
+ la clause de v�rification, en utilsant @Check
+ </listitem>
+
+ <listitem>
+ la clause SQL order by, en utilisant @OrderBy
+ </listitem>
+
+ <listitem>
+ la strat�gie de suppression en cascade avec
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ </listitem>
+ </itemizedlist></para>
+
+ <para>Vous pouvez aussi d�clarer un comparateur de tri, utilisez
+ l'annotation <literal>@Sort</literal>. Exprimez le type de
comparateur
+ que vous voulez entre "non tri�" (NdT : unsorted), "ordre
naturel"
+ (NdT : natural) ou un comparateur personnalis�. Si vous voulez utilisez
+ votre propre impl�mentation de comparateur, vous devrez indiquer la
+ classe d'impl�mentation en utilisant l'attribut
+ <literal>comparator</literal>. Notez que vous avez besoin
d'utiliser
+ l'interface <classname>SortedSet</classname> ou
+ <classname>SortedMap</classname>.</para>
+
+ <programlisting> @OneToMany(cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ @Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class)
+ @Where(clause="1=1")
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ public SortedSet<Ticket> getTickets() {
+ return tickets;
+ }</programlisting>
+
+ <para>Veuillez vous r�f�rer aux descriptions pr�c�dentes de ces
+ annotations pour plus d'informations.</para>
+
+ <para>Les contraintes de clef �trang�re, bien que g�n�r�es par
+ Hibernate, ont un nom illisible. Vous pouvez surcharger le nom de la
+ contrainte en utilisant <literal>@ForeignKey</literal>. Notez que
cette
+ annotation doit �tre plac�e du c�t� poss�dant la relation,
+ <literal>inverseName</literal> r�f�ren�ant la contrainte de
l'autre
+ c�t�.</para>
+
+ <programlisting>@Entity
+public class Woman {
+ ...
+ @ManyToMany(cascade = {CascadeType.ALL})
+ <emphasis role="bold">@ForeignKey(name = "TO_WOMAN_FK",
inverseName = "TO_MAN_FK")</emphasis>
+ public Set<Man> getMens() {
+ return mens;
+ }
+}
+
+alter table Man_Woman add constraint TO_WOMAN_FK foreign key (woman_id) references Woman
+alter table Man_Woman add constraint TO_MAN_FK foreign key (man_id) references
Man</programlisting>
+ </sect3>
+
+ <sect3 id="entity-hibspec-collection-extratype"
revision="1">
+ <title>Types de collection extra</title>
+
+ <sect4>
+ <title>List</title>
+
+ <para>Outre EJB3, Hibernate Annotations prend en charge les v�ritables
+ <classname>List</classname> et
<classname>Array</classname>. Mappez
+ votre collection de la m�me mani�re que d'habitude et ajoutez
+ l'annotation @<literal>IndexColumn</literal>. Cette annotation
vous
+ permet de d�crire la colonne qui contiendra l'index. Vous pouvez aussi
+ d�clarer la valeur de l'index en base de donn�es qui repr�sente le
+ premier �l�ment (alias index de base). La valeur habituelle est
+ <literal>0</literal> ou
<literal>1</literal>.</para>
+
+ <programlisting>@OneToMany(cascade = CascadeType.ALL)
+@IndexColumn(name = "drawer_position", base=1)
+public List<Drawer> getDrawers() {
+ return drawers;
+}</programlisting>
+
+ <note>
+ <para>Si vous oubliez de positionner
+ <literal>@IndexColumn</literal>, la s�mantique du bag est
appliqu�e.
+ Si vous voulez la s�mantique du bag sans ses limitations, consid�rez
+ l'utilisation de
<literal>(a)CollectionId</literal>.</para>
+ </note>
+ </sect4>
+
+ <sect4>
+ <title>Map</title>
+
+ <para>Hibernate Annotations prend aussi en charge le mapping de
+ v�ritables Maps, si <literal>(a)javax.persistence.MapKey</literal>
n'est
+ pas positionn�e, Hibernate mappera l'�l�ment clef ou l'objet
+ embarquable dans ses propres colonnes. Pour surcharger les colonnes
+ par d�faut, vous pouvez utiliser
+ <literal>(a)org.hibernate.annotations.MapKey</literal> si votre clef
est
+ un type de base (par d�faut � <literal>mapkey</literal>) ou un
objet
+ embarquable, ou vous pouvez utiliser
+ <literal>(a)org.hibernate.annotations.MapKeyManyToMany</literal> si
+ votre clef est une entit�.</para>
+ </sect4>
+
+ <sect4 id="entity-hibspec-collection-extratype-indexbidir">
+ <title>Associations bidirectionnelle avec des collections
index�es</title>
+
+ <para>Une association bidirectionnelle o� une extr�mit� est
+ repr�sent�e comme une <literal>@IndexColumn</literal> ou une
+ <literal>(a)org.hibernate.annotations.MapKey[ManyToMany]</literal>
+ requiert une consid�ration sp�ciale. S'il y a une propri�t� de la
+ classe enfante qui mappe la colonne de l'index, pas de probl�me, nous
+ pouvons continuer en utilisant <literal>mappedBy</literal> sur le
+ mapping de la collection :</para>
+
+ <programlisting>@Entity
+public class Parent {
+ @OneToMany(mappedBy="parent")
+ @org.hibernate.annotations.MapKey(columns=@Column(name="name"))
+ private Map<String, Child> children;
+ ...
+}
+
+@Entity
+public class Child {
+ ...
+ @Basic
+ private String name;
+
+ @ManyToOne
+ @JoinColumn(name="parent_id", nullable=false)
+ private Parent parent;
+ ...
+}</programlisting>
+
+ <para>Mais s'il n'y a pas de telle propri�t� sur la classe
enfante,
+ nous ne pouvons pas penser que l'association est vraiment
+ bidirectionnelle (il y a des informations disponibles � une extr�mit�
+ qui ne sont pas disponibles � l'autre). Dans ce cas, nous ne pouvons
+ pas mapper la collection avec <literal>mappedBy</literal>. A la
place,
+ nous pourrions utiliser le mapping suivant :</para>
+
+ <programlisting>@Entity
+public class Parent {
+ @OneToMany
+ @org.hibernate.annotations.MapKey(columns=@Column(name="name"))
+ @JoinColumn(name="parent_id", nullable=false)
+ private Map<String, Child> children;
+ ...
+}
+
+@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @JoinColumn(name="parent_id", insertable=false, updatable=false,
nullable=false)
+ private Parent parent;
+ ...
+}</programlisting>
+
+ <para>Notez que dans ce mapping, l'extr�mit� de l'association
dont la
+ valeur est une collection est responsable des mises � jour pour la
+ clef �trang�re.</para>
+ </sect4>
+
+ <sect4>
+ <title>Bag avec une clef primaire</title>
+
+ <para>Une autre fonctionnalit� int�ressante est la possibilit� de
+ d�finir une clef primaire subrog�e � une collection bag. Ceci enl�ve
+ pas mal d'inconv�nients des bags : mise � jour et suppression
+ sont efficaces, plus d'un bag <literal>EAGER</literal> par
requ�te ou
+ par entit�. Cette clef primaire sera contenue dans une colonne
+ suppl�mentaire de votre table de collection mais ne sea pas visible
+ par l'application Java. @CollectionId est utilis�e pour marquer une
+ collection comme "id bag", ca permet aussi de surcharger les
colonnes
+ de la clef primaire, le type de la clef primaire et la strat�gie du
+ g�n�rateur. La strat�gie peut �tre <literal>identity</literal>, ou
+ n'importe quel nom de g�n�rateur d�fini de votre application.</para>
+
+ <programlisting>@Entity
+@TableGenerator(name="ids_generator", table="IDS")
+public class Passport {
+ ...
+
+ @ManyToMany(cascade = CascadeType.ALL)
+ @JoinTable(name="PASSPORT_VISASTAMP")
+ <emphasis role="bold">@CollectionId(
+ columns = @Column(name="COLLECTION_ID"),
+ type=@Type(type="long"),
+ generator = "ids_generator"
+ )</emphasis>
+ private Collection<Stamp> visaStamp = new ArrayList();
+ ...
+}</programlisting>
+ </sect4>
+
+ <sect4>
+ <title>Collection d'�l�ments ou d'�l�ments
compos�s</title>
+
+ <para>Hibernate Annotations prend aussi en charge les collections de
+ types core (Integer, String, Enums, ...), les collections d'objets
+ embarquables et m�me les tableaux de types primitifs. Ce sont des
+ collections d'�l�ments.</para>
+
+ <para>Une collection d'�l�ments doit �tre annot�e comme
+ <literal>@CollectionOfElements</literal> (en tant que rempla�ant
de
+ <literal>@OneToMany</literal>). Pour d�finir la table de la
+ collection, l'annotation <literal>@JoinTable</literal> est
utilis�e
+ sur la propri�t� de l'association,
<literal>joinColumns</literal>
+ d�finit les colonnes de jointure entre la table de l'entit� primaire
+ et la table de la collection (inverseJoincolumn est inutile et
+ devrait �tre laiss� � vide). Pour une collection de types core ou un
+ tableau de types primitifs, vous pouvez surcharger la d�finition de la
+ colonne de l'�l�ment en utilisant <literal>@Column</literal>
sur la
+ propri�t� de l'association. Vous pouvez aussi surcharger les colonnes
+ d'une collection d'objets embarquables en utilisant
+ <literal>@AttributeOverride</literal>. Pour atteindre l'�l�ment
de la
+ collection, vous avez besoin d'ajouter "element" au nom de
l'attribut
+ surcharg� (p. ex. "element" pour les types core, ou
"element.serial"
+ pour la propri�t� serial d'un �l�ment embarqu�). Pour atteindre
+ l'index/clef d'une collection, ajoutez "key" � la
place.</para>
+
+ <programlisting>@Entity
+public class Boy {
+ private Integer id;
+ private Set<String> nickNames = new HashSet<String>();
+ private int[] favoriteNumbers;
+ private Set<Toy> favoriteToys = new HashSet<Toy>();
+ private Set<Character> characters = new
HashSet<Character>();
+
+ @Id @GeneratedValue
+ public Integer getId() {
+ return id;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ public Set<String></emphasis> getNickNames() {
+ return nickNames;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ @JoinTable(
+ table=@Table(name="BoyFavoriteNumbers"),
+ joinColumns = @JoinColumn(name="BoyId")
+ )
+ @Column(name="favoriteNumber", nullable=false)</emphasis>
+ @IndexColumn(name="nbr_index")
+ public int[] getFavoriteNumbers() {
+ return favoriteNumbers;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ @AttributeOverride( name="element.serial",
column=@Column(name="serial_nbr") )</emphasis>
+ public Set<Toy> getFavoriteToys() {
+ return favoriteToys;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ public Set<Character></emphasis> getCharacters() {
+ return characters;
+ }
+ ...
+}
+
+public enum Character {
+ GENTLE,
+ NORMAL,
+ AGGRESSIVE,
+ ATTENTIVE,
+ VIOLENT,
+ CRAFTY
+}
+
+@Embeddable
+public class Toy {
+ public String name;
+ public String serial;
+ public Boy owner;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getSerial() {
+ return serial;
+ }
+
+ public void setSerial(String serial) {
+ this.serial = serial;
+ }
+
+ <emphasis role="bold">@Parent</emphasis>
+ public Boy getOwner() {
+ return owner;
+ }
+
+ public void setOwner(Boy owner) {
+ this.owner = owner;
+ }
+
+ public boolean equals(Object o) {
+ if ( this == o ) return true;
+ if ( o == null || getClass() != o.getClass() ) return false;
+
+ final Toy toy = (Toy) o;
+
+ if ( !name.equals( toy.name ) ) return false;
+ if ( !serial.equals( toy.serial ) ) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ int result;
+ result = name.hashCode();
+ result = 29 * result + serial.hashCode();
+ return result;
+ }
+}</programlisting>
+
+ <para>Sur une collection d'objets embarquables, l'objet
embarquable
+ peut avoir une propri�t� annot�e avec <literal>@Parent</literal>.
+ Cette propri�t� pointera alors vers l'entit� contenant la
+ collection.</para>
+
+ <note>
+ <para>Les versions pr�c�dentes d'Hibernate Annotations utilisaient
+ <literal>@OneToMany</literal> pour marquer une collection
+ d'�l�ments. Suite � des incoh�rences s�mantiques, nous avons mis en
+ place l'annotation <literal>@CollectionOfElements</literal>.
Pour
+ marquer des collections d'�l�ments, l'ancienne fa�on fonctionne
+ encore mais elle est consid�r�e comme "deprecated" et ne sera plus
+ prise en charge dans les futures versions.</para>
+ </note>
+ </sect4>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Cache</title>
+
+ <para>Pour optimiser vos acc�s � la base de donn�es, vous pouvez activer
+ le cache de second niveau d'Hibernate. Ce cache est configurable par
+ entit� et par collection.</para>
+
+ <para><literal>(a)org.hibernate.annotations.Cache</literal> d�finit
la
+ strat�gie de cache et la r�gion du cache de second niveau donn�. Cette
+ annotation peut �tre appliqu�e � une entit� racine (pas les entit�s
+ filles), et sur les collections.</para>
+
+ <programlisting>@Entity
+@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
+public class Forest { ... }</programlisting>
+
+ <programlisting> @OneToMany(cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
+ public SortedSet<Ticket> getTickets() {
+ return tickets;
+ }</programlisting>
+
+ <para></para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="2 55" id="hm1" />
+
+ <area coords="3 55" id="hm2" />
+
+ <area coords="4 55" id="hm3" />
+ </areaspec>
+
+ <programlisting>@Cache(
+ CacheConcurrencyStrategy usage();
+ String region() default "";
+ String include() default "all";
+)</programlisting>
+
+ <calloutlist>
+ <callout arearefs="hm1">
+ <para>usage : la strat�gie de concurrence du cache donn� (NONE,
+ READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL) ;</para>
+ </callout>
+
+ <callout arearefs="hm2">
+ <para>region (optionnel) : la r�gion du cache (par d�faut le nom
+ complet de la classe avec le nom du package, ou le nom complet du
+ r�le de la collection) ;</para>
+ </callout>
+
+ <callout arearefs="hm3">
+ <para><literal>include</literal> (optionnel) :
"all" pour inclure
+ toutes les propri�t�s, "non-lazy" pour inclure seulement les
+ propri�t�s qui ne sont pas charg�es � la demande (valeur par
+ d�faut : all).</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ </sect2>
+
+ <sect2 id="entity-hibspec-filters">
+ <title>Filtres</title>
+
+ <para>Hibernate a la capacit� d'appliquer des filtres arbitraires � la
+ partie sup�rieure de vos donn�es. Ces filtres sont appliqu�s au moment de
+ l'ex�cution sur une session donn�e. Vous avez tout d'abord besoin de les
+ d�finir.</para>
+
+ <para><literal>(a)org.hibernate.annotations.FilterDef</literal> ou
+ <literal>@FilterDefs</literal> d�clarent des d�finitions de filtre
+ utilis�es par les filtres ayant le m�me nom. Une d�finition de filtre a
+ un name() et un tableau de parameters(). Un param�tre vous permettra
+ d'ajuster le comportement du filtre au moment de l'ex�cution. Chaque
+ param�tre est d�fini par une <literal>@ParamDef</literal> qui a un nom
et
+ un type. Vous pouvez aussi d�finir un param�tre defaultCondition() pour
+ une <literal>@ParamDef</literal> donn�e pour positionner la condition
par
+ d�faut � utiliser lorsqu'aucune n'est d�finie dans chaque
+ <literal>@Filter</literal> individuelle. Une
<literal>@FilterDef</literal>
+ peut �tre d�finie au niveau de la classe ou du package.</para>
+
+ <para>Nous avons besoin de d�finir la clause du filtre SQL appliqu� au
+ chargement de l'entit� ou au chargement de la collection.
+ <literal>@Filter</literal> est utilis�e et plac�e sur l'entit� ou
+ l'�l�ment de la collection.</para>
+
+ <para><programlisting>@Entity
+@FilterDef(name="minLength", parameters=@ParamDef( name="minLength",
type="integer" ) )
+@Filters( {
+ @Filter(name="betweenLength", condition=":minLength <= length
and :maxLength >= length"),
+ @Filter(name="minLength", condition=":minLength <=
length")
+} )
+public class Forest { ... }</programlisting></para>
+
+ <para>Lorsque la collection utilise une table d'association comme
+ repr�sentation relationnelle, vous pourriez vouloir appliquer la condition
+ du filtre � la table de l'association elle-m�me ou � la table de l'entit�
+ cible. Pour appliquer la contrainte sur l'entit� cible, utilisez
+ l'annotation habituelle <literal>@Filter</literal>. Cependant, si
vous
+ voulez ciblez la table d'association, utilisez l'annotation
+ <literal>(a)FilterJoinTable</literal>.</para>
+
+ <programlisting> @OneToMany
+ @JoinTable
+ // filtre sur la table de l'entit� cible
+ @Filter(name="betweenLength", condition=":minLength <= length
and :maxLength >= length")
+ // filtre sur la table d'association
+ @FilterJoinTable(name="security", condition=":userlevel >=
requredLevel")
+ public Set<Forest> getForests() { ... }</programlisting>
+ </sect2>
+
+ <sect2 id="entity-hibspec-query">
+ <title>Requ�te</title>
+
+ <para>Puisqu'Hibernate a plus de fonctionnalit�s sur les requ�tes
nomm�es
+ que d�finies dans la sp�cification EJB3,
+ <literal>(a)org.hibernate.annotations.NamedQuery</literal>,
+ <literal>(a)org.hibernate.annotations.NamedQueries</literal>,
+ <literal>(a)org.hibernate.annotations.NamedNativeQuery</literal> et
+ <literal>(a)org.hibernate.annotations.NamedNativeQueries</literal> ont
�t�
+ mis en place. Elles ajoutent des attributs � la version standard et
+ peuvent �tre utilis�es comme rempla�ant :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>flushMode : d�finit le mode de flush de la requ�te (Always,
+ Auto, Commit ou Manual)</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheable : indique si la requ�te devrait �tre cach�e ou
+ non</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheRegion : r�gion du cache utilis�e si la requ�te est
+ cach�e</para>
+ </listitem>
+
+ <listitem>
+ <para>fetchSize : taille de l'expression de r�cup�ration JDBC pour
+ cette requ�te</para>
+ </listitem>
+
+ <listitem>
+ <para>timeout : timeout de la requ�te</para>
+ </listitem>
+
+ <listitem>
+ <para>callable : pour les requ�tes natives seulement, mettre � true
+ pour les proc�dures stock�es</para>
+ </listitem>
+
+ <listitem>
+ <para>comment : si les commentaires sont activ�s, le commentaire vu
+ lorsque la requ�te est envoy�e vers la base de donn�es</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheMode : mode d'int�raction du cache (get, ignore, normal,
+ put ou refresh)</para>
+ </listitem>
+
+ <listitem>
+ <para>readOnly : indique si les �l�ments r�cup�r�s � partir de la
+ requ�te sont en lecture seule ou pas</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Ces indications de fonctionnement peuvent �tre positionn�es sur
+ les annotations standards
<literal>(a)javax.persistence.NamedQuery</literal>
+ avec l'annotation <literal>@QueryHint</literal>. Un autre avantage
clef
+ est la possibilit� de positionner ces annotations au niveau du
+ package.</para>
+ </sect2>
+ </sect1>
+</chapter>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/lucene.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/lucene.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/lucene.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="lucene" revision="1">
+ <title>Int�gration de Lucene avec Hibernate</title>
+
+ <para>Lucene est une biblioth�que de la fondation Apache fournissant un moteur
+ de recherche en Java hautement performant. Hibernate Annotations inclut un
+ ensemble d'annotations qui vous permettent de marquer n'importe quel objet
+ du mod�le de donn�es comme indexable et de laisser Hibernate maintenir un
+ index Lucene de toutes les instances persist�es via Hibernate.</para>
+
+ <para>Hibernate Lucene est un projet en cours et de nouvelles fonctionnalit�s
+ sont en pr�paration. Donc attendez-vous � certains changements avec les
+ versions ult�rieures.</para>
+
+ <section id="lucene-mapping">
+ <title>Mapper les entit�s sur l'index</title>
+
+ <para>Tout d'abord, nous devons d�clarer une classe persistante comme
+ �tant indexable. Ceci se fait en annotant la classe avec
+ <literal>@Indexed</literal> :</para>
+
+ <programlisting>@Entity
+@Indexed(index="indexes/essays")
+public class Essay {
+ ...
+}</programlisting>
+
+ <para>L'attribut <literal>index</literal> indique � Hibernate
quel est le
+ nom du r�pertoire Lucene (en g�n�ral un r�pertoire de votre syst�me de
+ fichiers). Si vous souhaitez d�finir un r�pertoire de d�part pour tous vos
+ index Lucene, vous pouvez utiliser la propri�t�
+ <literal>hibernate.lucene.default.indexDir</literal> dans votre fichier
de
+ configuration.</para>
+
+ <para>Les index Lucene contiennent quatre types de champs :
+ <emphasis>keyword</emphasis>, <emphasis>text</emphasis>,
+ <emphasis>unstored</emphasis> et
<emphasis>unindexed</emphasis>. Hibernate
+ Annotations fournit des annotations pour marquer une propri�t� d'une entit�
+ comme �tant d'un des trois premiers types.</para>
+
+ <programlisting>@Entity
+@Indexed(index="indexes/essays")
+public class Essay {
+ ...
+
+ @Id
+ @Keyword(id=true)
+ public Long getId() { return id; }
+
+ @Text(name="Abstract")
+ public String getSummary() { return summary; }
+
+ @Lob
+ @Unstored
+ public String getText() { return text; }
+
+}</programlisting>
+
+ <para>Ces annotations d�finissent un index avec trois champs :
+ <literal>id</literal>, <literal>Abstract</literal> et
+ <literal>text</literal>. Notez que par d�faut le nom du champ n'a
plus de
+ majuscules, en suivant la sp�cification JavaBean.</para>
+
+ <para>Note : vous <emphasis>devez</emphasis> sp�cifier
+ <literal>@Keyword(id=true)</literal> sur la propri�t� identifiante de
+ votre entit�.</para>
+
+ <para>Lucene a la notion of <emphasis>boost factor</emphasis>.
C'est un
+ moyen de donner plus de poids � un champ ou � un �l�ment index� durant la
+ proc�dure d'indexation. Vous pouvez utiliser
<literal>@Boost</literal> au
+ niveau du champ ou de la classe.</para>
+
+ <para>La classe analyste utilis�e pour indexer les �l�ments est
+ configurable par la propri�t�
+ <literal>hibernate.lucene.analyzer</literal>. Si aucune n'est
d�finie,
+
<classname>org.apache.lucene.analysis.standard.StandardAnalyzer</classname>
+ est utilis�e par d�faut.</para>
+ </section>
+
+ <section id="lucene-configuration">
+ <title>Configuration</title>
+
+ <section id="lucene-configuration-directory">
+ <title>Configuration du directory</title>
+
+ <para>Lucene a une notion de Directory o� l'index est stock�.
+ L'impl�mentation de Directory peut �tre personnalis�e mais Lucene arrive,
+ avec deux impl�mentations pr�tes � l'emploi compl�tes, une sur un syst�me
+ de fichiers et une en m�moire. Hibernate Lucene a la notion de
+ <literal>DirectoryProvider</literal> qui g�re la configuration et
+ l'initialisation du Directory Lucene.</para>
+
+ <table>
+ <title>Liste des Directory Providers int�gr�s</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry align="center">Classe</entry>
+
+ <entry align="center">Description</entry>
+
+ <entry align="center">Propri�t�s</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>org.hibernate.lucene.store.FSDirectoryProvider</entry>
+
+ <entry>Directory base sur le syst�me de fichiers. Le r�pertoire
+ utilis� sera
+
&lt;indexBase&gt;/&lt;<literal>(a)Index.name</literal>&gt;</entry>
+
+ <entry><literal>indexBase</literal> : r�pertoire de
d�part</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.lucene.store.RAMDirectoryProvider</entry>
+
+ <entry>Directory utilisant la m�moire, le directory sera
+ uniquement identifi� par l'�l�ment
+ <literal>(a)Index.name</literal></entry>
+
+ <entry>aucune</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>Si les directory providers int�gr�s ne r�pondent pas � vos besoins,
+ vous pouvez �crire votre propre directory provider en impl�mentant
+ l'interface
+
<classname>org.hibernate.store.DirectoryProvider</classname>.</para>
+
+ <para>Chaque entit� index�e est associ�e � un index Lucene (un index peut
+ �tre partag� par diff�rentes entit�s mais ce n'est pas le cas en g�n�ral).
+ Vous pouvez configurer l'index � travers des propri�t�s pr�fix�es par
+
<literal><literal>hibernate.lucene.<indexname></literal></literal>.
+ Les propri�t�s par d�faut h�rit�es par tous les index peuvent �tre
+ d�finies en utilisant le pr�fixe hibernate.lucene.default.</para>
+
+ <para>Pour d�finir le directory provider d'un index donn�, utilisez
+
<literal>hibernate.lucene.<indexname>.directory_provider</literal>.</para>
+
+ <programlisting>hibernate.lucene.default.directory_provider
org.hibernate.lucene.store.FSDirectoryProvider
+hibernate.lucene.default.indexDir=/usr/lucene/indexes
+
+hibernate.lucene.Rules.directory_provider
org.hibernate.lucene.store.RAMDirectoryProvider
+</programlisting>
+
+ <para>appliqu� �</para>
+
+ <programlisting>@Indexed(name="Status")
+public class Status { ... }
+
+@Indexed(name="Rules")
+public class Rule { ... }</programlisting>
+
+ <para>Ceci cr�era un directory syst�me de fichiers dans
+ <filename>/usr/lucene/indexes/Status</filename> o� les entit�s Status
+ seront index�es, et utilisera un directory m�moire nomm�
+ <literal>Rules</literal> o� les entit�s Rule seront
index�es.</para>
+
+ <para>Donc vous pouvez facilement d�finir des r�gles g�n�rales comme le
+ directory provider et le r�pertoire de d�part, et surcharger ces valeurs
+ par d�faut plus tard pour chaque index.</para>
+
+ <para>En �crivant votre propre DirectoryProvider, vous pouvez aussi
+ b�n�ficier de ce m�canisme de configuration.</para>
+ </section>
+
+ <section id="lucene-configuration-event">
+ <title>Activer l'indexation automatique</title>
+
+ <para>Finalement, nous activons le
<literal>LuceneEventListener</literal>
+ pour les trois �v�nements Hibernate qui ont lieu apr�s que les changements
+ sont valid�s dans la base de donn�es.</para>
+
+ <programlisting><hibernate-configuration>
+ ...
+ <event type="post-commit-update"
+ <listener
+ class="org.hibernate.lucene.event.LuceneEventListener"/>
+ </event>
+ <event type="post-commit-insert"
+ <listener
+ class="org.hibernate.lucene.event.LuceneEventListener"/>
+ </event>
+ <event type="post-commit-delete"
+ <listener
+ class="org.hibernate.lucene.event.LuceneEventListener"/>
+ </event>
+</hibernate-configuration></programlisting>
+ </section>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/setup.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/setup.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/setup.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter>
+ <title id="setup" revision="1">Configurer un projet avec des
annotations</title>
+
+ <section id="setup-requirements">
+ <title>Pr�requis</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>T�l�chargez et installez la distribution Hibernate Annotations �
+ partir du site web d'Hibernate.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Cette version requiert Hibernate 3.2.0.GA ou
+ sup�rieur. N'utilisez pas cette version d'Hibernate Annotations avec
+ une version plus ancienne d'Hibernate 3.x !</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>Cette version est connue pour fonctionner avec le noyau 3.2.0.CR5
+ et 3.2.0.GA d'Hibernate.</para>
+ </listitem>
+
+ <listitem>
+ <para>Assurez-vous que vous avez le JDK 5.0 d'install�. Vous pouvez
+ bien s�r continuer � utiliser XDoclet et avoir certains des avantages
+ des m�ta-donn�es bas�es sur les annotations avec des versions plus
+ anciennes du JDK. Notez que ce document d�crit seulement les annotations
+ du JDK 5.0 et que vous devez vous r�f�rer � la documentation de XDoclet
+ pour plus d'informations.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="setup-configuration">
+ <title>Configuration</title>
+
+ <para>Tout d'abord, param�trez votre classpath (apr�s avoir cr�er un
nouveau
+ projet dans votre IDE favori) :<itemizedlist>
+ <listitem>
+ <para>Copiez toutes les biblioth�ques du noyau Hibernate3 et toutes
+ les biblioth�ques tierces requises (voir lib/README.txt dans
+ Hibernate).</para>
+ </listitem>
+
+ <listitem>
+ <para>Copiez aussi
<filename>hibernate-annotations.jar</filename> et
+ <filename>lib/ejb3-persistence.jar</filename> de la distribution
+ Hibernate Annotations dans votre classpath.</para>
+ </listitem>
+
+ <listitem>
+ <para>Pour utiliser <xref linkend="lucene" />, ajouter le
fichier jar
+ de lucene.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>Nous recommandons aussi un petit wrapper pour d�marrer Hibernate dans
+ un bloc statique d'initialisation, connu en tant que
+ <classname>HibernateUtil</classname>. Vous pourriez avoir vu cette
classe
+ sous diverses formes dans d'autres parties de la documentation Hibernate.
+ Pour prendre en charge Annotation vous devez modifier cette classe d'aide
+ de la mani�re suivante :<programlisting>package hello;
+
+import org.hibernate.*;
+import org.hibernate.cfg.*;
+import test.*;
+import test.animals.Dog;
+
+public class HibernateUtil {
+
+private static final SessionFactory sessionFactory;
+
+ static {
+ try {
+
+ sessionFactory = new <emphasis
role="bold">AnnotationConfiguration()</emphasis>.buildSessionFactory();
+ } catch (Throwable ex) {
+ // Log exception!
+ throw new ExceptionInInitializerError(ex);
+ }
+ }
+
+ public static Session getSession()
+ throws HibernateException {
+ return sessionFactory.openSession();
+ }
+}
+ </programlisting></para>
+
+ <para>La partie int�ressante ici est l'utilisation de
+ <classname>AnnotationConfiguration</classname>. Les packages et les
classes
+ annot�es sont d�clar�s dans votre fichier de configuration XML habituel
+ (g�n�ralement <filename>hibernate.cfg.xml</filename>). Voici un
�quivalent
+ de la d�claration ci-dessus :</para>
+
+ <programlisting><!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+ <hibernate-configuration>
+ <session-factory>
+ <emphasis role="bold"><mapping
package="test.animals"/>
+ <mapping class="test.Flight"/>
+ <mapping class="test.Sky"/>
+ <mapping class="test.Person"/>
+ <mapping class="test.animals.Dog"/></emphasis>
+<emphasis role="bold"> <mapping
resource="test/animals/orm.xml"/></emphasis>
+ </session-factory>
+ </hibernate-configuration>
+ </programlisting>
+
+ <para>Notez que vous pouvez m�langer l'utilisation du fichier hbm.xml et
+ celle des annotations. L'�l�ment de ressource peut �tre un fichier hbm ou
+ un descripteur de d�ploiement XML EJB3. Cette distinction est transparente
+ pour votre proc�dure de configuration.</para>
+
+ <para>Alternativement, vous pouvez d�finir les classes annot�es et des
+ packages en utilisant l'API :</para>
+
+ <programlisting> sessionFactory = new <emphasis
role="bold">AnnotationConfiguration()
+ .addPackage("test.animals") // le nom complet du package
+ .addAnnotatedClass(Flight.class)
+ .addAnnotatedClass(Sky.class)
+ .addAnnotatedClass(Person.class)
+ .addAnnotatedClass(Dog.class)</emphasis>
+<emphasis role="bold">
.addResource("test/animals/orm.xml")</emphasis>
+ .buildSessionFactory();</programlisting>
+
+ <para>Vous pouvez aussi utiliser Hibernate EntityManager qui a son propre
+ m�canisme de configuration. Veullez vous r�f�rer � la documentation de ce
+ projet pour plus de d�tails.</para>
+
+ <para>Il n'y a pas d'autres diff�rences dans la fa�on d'utiliser
les APIs
+ d'Hibernate, except� ce changement de routine de d�marrage ou le fichier
+ de configuration. Vous pouvez utiliser votre m�thode de configuration
+ favorite pour d'autres propri�t�s
(<filename>hibernate.properties</filename>,
+ <filename>hibernate.cfg.xml</filename>, utilisation des APIs, etc). Vous
+ pouvez m�me m�langer les classes persistantes annot�es et des d�clarations
+ <filename>hbm.cfg.xml</filename> classiques avec la m�me
+ <classname>SessionFactory</classname>. Vous ne pouvez cependant pas
d�clarer
+ une classe plusieurs fois (soit avec les annotations, soit avec un fichier
+ hbm.xml). Vous ne pouvez pas non plus m�langer des strat�gies de
+ configuration (hbm vs annotations) dans une hi�rarchie d'entit�s
+ mapp�es.</para>
+
+ <para>Pour faciliter la proc�dure de migration de fichiers hbm vers les
+ annotations, le m�canisme de configuration d�tecte la duplication de mappings
+ entre les annotations et les fichiers hbm. Les classes d�crites dans les
+ fichiers hbm se voient alors affecter une priorit� plus grande que les
+ classes annot�es. Vous pouvez changer cette priorit� avec la propri�t�
+ <literal>hibernate.mapping.precedence</literal>. La valeur par d�faut est
:
+ <literal>hbm, class</literal> ; la changer en : <literal>class,
hbm</literal>
+ donne alors la priorit� aux classes annot�es lorsqu'un conflit
+ survient.</para>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/validator.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/validator.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/validator.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,569 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="validator">
+ <title>Hibernate Validator</title>
+
+ <para>Les annotations sont une mani�re tr�s commode et �l�gante pour sp�cifier
+ des contraintes invariantes sur un mod�le de donn�es. Vous pouvez, par
+ exemple, indiquer qu'une propri�t� ne devrait pas �tre nulle, que le solde
+ d'un compte devrait �tre strictement positif, etc. Ces contraintes de mod�le
+ de donn�es sont d�clar�es dans le bean lui-m�me en annotant ses propri�t�s.
+ Un validateur peut alors les lire et v�rifier les violations de contraintes.
+ Le m�canisme de validation peut �tre ex�cut� dans diff�rentes couches de
+ votre application (pr�sentation, acc�s aux donn�es) sans devoir dupliquer
+ ces r�gles. Hibernate Validator a �t� con�u dans ce but.</para>
+
+ <para>Hibernate Validator fonctionne sur deux niveaux. D'abord, il est
capable
+ de v�rifier des violations de contraintes sur les instances d'une classe en
+ m�moire. Ensuite, il peut appliquer les contraintes au m�ta-mod�le d'Hibernate
+ et les incorporer au sch�ma de base de donn�es g�n�r�.</para>
+
+ <para>Chaque annotation de contrainte est associ�e � l'impl�mentation du
+ validateur responsable de v�rifier la contrainte sur l'instance de l'entit�.
+ Un validateur peut aussi (optionnellement) appliquer la contrainte au
+ m�ta-mod�le d'Hibernate, permettant � Hibernate de g�n�rer le DDL qui
+ exprime la contrainte. Avec le listener d'�v�nements appropri�, vous pouvez
+ ex�cuter l'op�ration de v�rification lors des insertions et des mises � jour
+ effectu�es par Hibernate. Hibernate Validator n'est pas limit� � Hibernate.
+ Vous pouvez facilement l'utiliser n'importe o� dans votre
application.</para>
+
+ <para>Lors de la v�rification des instances � l'ex�cution, Hibernate
Validator
+ retourne des informations � propos des violations de contraintes dans un
+ tableau de <classname>InvalidValue</classname>s. Parmi d'autres
informations,
+ <classname>InvalidValue</classname> contient un message de description
+ d'erreur qui peut inclure les valeurs des param�tres associ�s � l'annotation
+ (p. ex. la limite de taille), et des cha�nes de caract�res qui peuvent �tre
+ externalis�es avec un <classname>ResourceBundle</classname>.</para>
+
+ <sect1 id="validator-constraints">
+ <title>Contraintes</title>
+
+ <sect2>
+ <title>Qu'est-ce qu'une contrainte ?</title>
+
+ <para>Une contrainte est repr�sent�e par une annotation. Une contrainte a
+ g�n�ralement des attributs utilis�s pour param�trer les limites des
+ contraintes. La contrainte s'applique � l'�l�ment annot�.</para>
+ </sect2>
+
+ <sect2>
+ <title>Contraintes int�gr�es</title>
+
+ <para>Hibernate Validator arrive avec des contraintes int�gr�es,
+ lesquelles couvrent la plupart des v�rifications de donn�es de base. Comme
+ nous le verrons plus tard, vous n'�tes pas limit� � celles-ci, vous pouvez
+ �crire vos propres contraintes en une minute.</para>
+
+ <table>
+ <title>Contraintes int�gr�es</title>
+
+ <tgroup cols="4">
+ <colspec align="center" />
+
+ <thead>
+ <row>
+ <entry>Annotation</entry>
+
+ <entry>S'applique �</entry>
+
+ <entry>V�rification � l'ex�cution</entry>
+
+ <entry>Impact sur les m�ta-donn�es d'Hibernate</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>@Length(min=, max=)</entry>
+
+ <entry>propri�t� (String)</entry>
+
+ <entry>v�rifie si la longueur de la cha�ne de caract�res est
+ comprise dans l'intervalle</entry>
+
+ <entry>la longueur de la colonne sera positionn�e �
max</entry>
+ </row>
+
+ <row>
+ <entry>@Max(value=)</entry>
+
+ <entry>propri�t� (nombre ou cha�ne de caract�res repr�sentant un
+ nombre)</entry>
+
+ <entry>v�rifie si la valeur est inf�rieure ou �gale �
max</entry>
+
+ <entry>ajoute une contrainte de v�rification sur la
+ colonne</entry>
+ </row>
+
+ <row>
+ <entry>@Min(value=)</entry>
+
+ <entry>propri�t� (nombre ou cha�ne de caract�res repr�sentant un
+ nombre)</entry>
+
+ <entry>v�rifie si la valeur est sup�rieure ou �gale �
max</entry>
+
+ <entry>ajoute une contrainte de v�rification sur la
+ colonne</entry>
+ </row>
+
+ <row>
+ <entry>@NotNull</entry>
+
+ <entry>propri�t�</entry>
+
+ <entry>v�rifie si la valeur n'est pas nulle</entry>
+
+ <entry>les colonnes sont marqu�es "not null"</entry>
+ </row>
+
+ <row>
+ <entry>@Past</entry>
+
+ <entry>propri�t� (Date ou Calendar)</entry>
+
+ <entry>v�rifie si la date est dans le pass�</entry>
+
+ <entry>ajoute une contrainte de v�rification sur la
+ colonne</entry>
+ </row>
+
+ <row>
+ <entry>@Future</entry>
+
+ <entry>propri�t� (Date ou Calendar)</entry>
+
+ <entry>v�rifie si la date est dans le futur</entry>
+
+ <entry>aucun</entry>
+ </row>
+
+ <row>
+ <entry>@Pattern(regex="regexp", flag=)</entry>
+
+ <entry>propri�t� (String)</entry>
+
+ <entry>v�rifie si la propri�t� correspond � l'expression
+ rationnelle donn�e (pour "flag", voir
+ <classname> java.util.regex.Pattern</classname>)</entry>
+
+ <entry>aucun</entry>
+ </row>
+
+ <row>
+ <entry>@Range(min=, max=)</entry>
+
+ <entry>propri�t� (nombre ou cha�ne de caract�res repr�sentant un
+ nombre)</entry>
+
+ <entry>v�rifie si la valeur est comprise entre min et max
+ (inclus)</entry>
+
+ <entry>ajoute une contrainte de v�rification sur la
+ colonne</entry>
+ </row>
+
+ <row>
+ <entry>@Size(min=, max=)</entry>
+
+ <entry>propri�t� (tableau, collection, map)</entry>
+
+ <entry>v�rifie si la taille de l'�l�ment est comprise entre min
et
+ max (inclus)</entry>
+
+ <entry>aucun</entry>
+ </row>
+
+ <row>
+ <entry>@AssertFalse</entry>
+
+ <entry>propri�t�</entry>
+
+ <entry>v�rifie que la m�thode est �valu�e � faux (utile pour les
+ contraintes exprim�es dans le code plut�t que dans les
+ annotations)</entry>
+
+ <entry>aucun</entry>
+ </row>
+
+ <row>
+ <entry>@AssertTrue</entry>
+
+ <entry>propri�t�</entry>
+
+ <entry>v�rifie que la m�thode est �valu�e � vrai (utile pour les
+ contraintes exprim�es dans le code plut�t que dans les
+ annotations)</entry>
+
+ <entry>aucun</entry>
+ </row>
+
+ <row>
+ <entry>@Valid</entry>
+
+ <entry>propri�t� (objet)</entry>
+
+ <entry>ex�cute la validation r�cursivement sur l'objet associ�.
+ Si l'objet est une Collection ou un tableau, les �l�ments sont
+ valid�s r�cursivement. Si l'objet est une Map, les �l�ments
+ valeur sont valid�s r�cursivement.</entry>
+
+ <entry>aucun</entry>
+ </row>
+
+ <row>
+ <entry>@Email</entry>
+
+ <entry>propri�t� (String)</entry>
+
+ <entry>v�rifie si la cha�ne de caract�res est conforme � la
+ sp�cification d'une adresse e-mail</entry>
+
+ <entry>aucun</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect2>
+
+ <sect2 id="validator-constraints-error" xreflabel="Messages
d'erreur">
+ <title>Messages d'erreur</title>
+
+ <para>Hibernate Validator arrive avec un ensemble de messages d'erreur
par
+ d�faut traduits dans environ dix langues (si la v�tre n'en fait pas
+ partie, veuillez nous envoyer un patch). Vous pouvez surcharger ces
+ messages en cr�ant un
<filename>ValidatorMessages.properties</filename>
+ (ou <filename>ValidatorMessages_loc.properties</filename>) et en
+ surchargeant les clefs dont vous avez besoin. Vous pouvez m�me ajouter
+ votre propre ensemble de messages suppl�mentaire lorsque vous �crivez
+ vos annotations de validation. Si Hibernate Validator ne peut pas trouver
+ une clef � partir de votre resourceBundle ou de votre ValidatorMessage,
+ il se repliera sur les valeurs int�gr�es par d�faut.</para>
+
+ <para>Alternativement vous pouvez fournir un
+ <classname>ResourceBundle</classname> pendant la v�rification par
+ programmation des r�gles de validation sur un bean, ou si vous voulez un
+ m�canisme d'interpolation compl�tement diff�rent, vous pouvez fournir une
+ impl�mentation de
+ <literal>org.hibernate.validator.MessageInterpolator</literal> (lisez
la
+ JavaDoc pour plus d'informations).</para>
+ </sect2>
+
+ <sect2>
+ <title>Ecrire vos propres contraintes</title>
+
+ <para>Etendre l'ensemble de contraintes int�gr�es est extr�ment facile.
+ N'importe quelle contrainte est constitu�e deux morceaux : le
+ <emphasis>descripteur</emphasis> de contrainte (l'annotation) et
le
+ <emphasis>validateur</emphasis> de contrainte (la classe
+ d'impl�mentation). Voici un simple descripteur personnalis� :</para>
+
+ <programlisting>(a)ValidatorClass(CapitalizedValidator.class)
+@Target(METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface Capitalized {
+ CapitalizeType type() default Capitalize.FIRST;
+ String message() default "has incorrect capitalization";
+}</programlisting>
+
+ <para><literal>type</literal> est un param�tre d�crivant comment
la
+ propri�t� devrait �tre mise en majuscule. Ceci est un param�tre
+ utilisateur compl�tement d�pendant du fonctionnement de
+ l'annotation.</para>
+
+ <para><literal>message</literal> est la cha�ne de caract�res par
d�faut
+ utilis�e pour d�crire la violation de contrainte et est obligatoire. Vous
+ pouvez mettre la cha�ne de caract�res dans le code ou bien l'externaliser
+ en partie ou compl�tement avec le m�canisme ResourceBundle Java. Les
+ valeurs des param�tres sont inject�es � l'int�rieur du message quand
+ la cha�ne de caract�res <literal>{parameter}</literal> est trouv�e
(dans
+ notre exemple <literal>Capitalization is not {type}</literal>
g�n�rerait
+ <literal>Capitalization is not FIRST</literal>), externaliser toute la
+ cha�ne dans <filename>ValidatorMessages.properties</filename> est
+ consid�r� comme une bonne pratique. Voir <xref
+ linkend="validator-constraints-error" />.</para>
+
+ <programlisting>(a)ValidatorClass(CapitalizedValidator.class)
+@Target(METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface Capitalized {
+ CapitalizeType type() default Capitalize.FIRST;
+ String message() default "{validator.capitalized}";
+}
+
+...
+#in ValidatorMessages.properties
+validator.capitalized=<literal>Capitalization is not
{type}</literal></programlisting>
+
+ <para>Comme vous pouvez le voir la notation {} est r�cursive.</para>
+
+ <para>Pour lier un descripteur � l'impl�mentation de son validateur,
nous
+ utilisons la m�ta-annotation <literal>@ValidatorClass</literal>. Le
+ param�tre de la classe du validateur doit nommer une classe qui impl�mente
+
<literal>Validator<ConstraintAnnotation></literal>.</para>
+
+ <para>Nous devons maintenant impl�menter le validateur (ie
+ l'impl�mentation v�rifiant la r�gle). Une impl�mentation de validation
+ peut v�rifier la valeur d'une propri�t� (en impl�mentant
+ <literal>PropertyConstraint</literal>) et/ou peut modifier les
+ m�ta-donn�es de mapping d'Hibernate pour exprimer la contrainte au niveau
+ de la base de donn�es (en impl�mentant
+ <literal>PersistentClassConstraint</literal>).</para>
+
+ <programlisting>public class CapitalizedValidator
+ implements Validator<Capitalized>, PropertyConstraint {
+ private CapitalizeType type;
+
+ // partie du contrat de Validator<Annotation>,
+ // permet d'obtenir et d'utiliser les valeurs de l'annotation
+ public void initialize(Capitalized parameters) {
+ type = parameters.type();
+ }
+
+ // partie du contrat de la contrainte de la propri�t�
+ public boolean isValid(Object value) {
+ if (value==null) return true;
+ if ( !(value instanceof String) ) return false;
+ String string = (String) value;
+ if (type == CapitalizeType.ALL) {
+ return string.equals( string.toUpperCase() );
+ }
+ else {
+ String first = string.substring(0,1);
+ return first.equals( first.toUpperCase();
+ }
+ }
+}</programlisting>
+
+ <para>La m�thode <literal>isValid()</literal> devrait retourner
false si
+ la contrainte a �t� viol�e. Pour plus d'exemples, r�f�rez-vous aux
+ impl�mentations int�gr�es du validateur.</para>
+
+ <para>Nous avons seulement vu la validation au niveau propri�t�, mais vous
+ pouvez �crire une annotation de validation au niveau d'un bean. Plut�t
+ que de recevoir l'instance de retour d'une propri�t�, le bean lui-m�me
+ sera pass� au validateur. Pour activer la v�rification de validation,
+ annotez juste le bean lui-m�me. Un petit exemple peut �tre trouv� dans la
+ suite de tests unitaires.</para>
+ </sect2>
+
+ <sect2>
+ <title>Annoter votre mod�le de donn�es</title>
+
+ <para>Maintenant que vous vous �tes familiaris�s avec les annotations, la
+ syntaxe devrait �tre connue.</para>
+
+ <programlisting>public class Address {
+ private String line1;
+ private String line2;
+ private String zip;
+ private String state;
+ private String country;
+ private long id;
+
+ // une cha�ne non nulle de 20 caract�res maximum
+ @Length(max=20)
+ @NotNull
+ public String getCountry() {
+ return country;
+ }
+
+ // une cha�ne de caract�res non nulle
+ @NotNull
+ public String getLine1() {
+ return line1;
+ }
+
+ // pas de contrainte
+ public String getLine2() {
+ return line2;
+ }
+
+ // une cha�ne non nulle de 3 caract�res maximum
+ @Length(max=3) @NotNull
+ public String getState() {
+ return state;
+ }
+
+ // une cha�ne non nulle de 5 caract�res maximum repr�sentant un nombre
+ // si la cha�ne de caract�res est plus longue, le message sera recherch�
+ // dans le resource bundle avec la clef 'long'
+ @Length(max=5, message="{long}")
+ @Pattern(regex="[0-9]+")
+ @NotNull
+ public String getZip() {
+ return zip;
+ }
+
+ // devrait toujours �tre vrai
+ @AssertTrue
+ public boolean isValid() {
+ return true;
+ }
+
+ // un nombre entre 1 et 2000
+ @Id @Min(1)
+ @Range(max=2000)
+ public long getId() {
+ return id;
+ }
+}</programlisting>
+
+ <para>Bien que l'exemple montre seulement la validation de propri�t�s
+ publiques, vous pouvez aussi annoter des champs avec n'importe quelle
+ visibilit�.</para>
+
+ <programlisting>@MyBeanConstraint(max=45)
+public class Dog {
+ @AssertTrue private boolean isMale;
+ @NotNull protected String getName() { ... };
+ ...
+}</programlisting>
+
+ <para>Vous pouvez aussi annoter des inferfaces. Hibernate Validator
+ v�rifiera toutes les classes parentes et les interfaces h�rit�es ou
+ impl�ment�es par un bean donn� pour lire les annotations appropri�es du
+ validateur.</para>
+
+ <programlisting>public interface Named {
+ @NotNull String getName();
+ ...
+}
+
+public class Dog implements Named {
+
+ @AssertTrue private boolean isMale;
+
+ public String getName() { ... };
+
+}</programlisting>
+
+ <para>La propri�t� "name" sera v�rifi�e pour la nullit� lorsque le
bean
+ Dog sera valid�.</para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Utiliser le framework Validator</title>
+
+ <para>Hibernate Validator est destin� � �tre utilis� pour impl�menter une
+ validation de donn�es � plusieurs couches, o� nous exprimons des contraintes
+ � un seul endroit (le mod�le de donn�es annot�) et les appliquons aux
+ diff�rents niveaux de l'application.</para>
+
+ <sect2>
+ <title>Validation au niveau du sch�ma de la base de donn�es</title>
+
+ <para>Par d�faut, Hibernate Annotations traduira les contraintes que vous
+ avez d�finies sur vos entit�s en m�ta-donn�es de mapping. Par exemple, si
+ une propri�t� de votre entit� est annot�e avec
+ <literal>@NotNull</literal>, ses colonnes seront d�clar�es comme
+ <literal>not null</literal> dans le sch�ma DDL g�n�r� par
+ Hibernate.</para>
+ </sect2>
+
+ <sect2>
+ <title>La validation bas�e sur les �v�nements Hibernate</title>
+
+ <para>Hibernate Validator a deux listeners d'�v�nements Hibernate
+ int�gr�s. Quand un <literal>PreInsertEvent</literal> ou un
+ <literal>PreUpdateEvent</literal> survient, les listeners v�rifieront
+ toutes les contraintes de l'instance de l'entit� et l�veront une exception
+ si une contrainte est viol�e. Fondamentalement, les objets seront v�rifi�s
+ avant les insertions et avant les mises � jour effectu�es par Hibernate.
+ C'est le plus commode et la mani�re la plus simple d'activer le processus
+ de validation. Sur une violation de contrainte, l'�v�nement l�vera une
+ exception d'ex�cution <classname>InvalidStateException</classname>
(NdT :
+ c'est une RuntimeException) laquelle contient un tableau
+ d'<literal>InvalidValue</literal>s d�crivant chaque
�chec.</para>
+
+ <programlisting><hibernate-configuration>
+ ...
+ <event type="pre-update">
+ <listener
+
class="org.hibernate.validator.event.ValidatePreUpdateEventListener"/>
+ </event>
+ <event type="pre-insert">
+ <listener
+
class="org.hibernate.validator.event.ValidatePreInsertEventListener"/>
+ </event>
+</hibernate-configuration></programlisting>
+
+ <note>
+ <para>Lors de l'utilisation d'Hibernate Entity Manager, le
framework
+ Validation est activ� par d�faut. Si les beans ne sont pas annot�s avec
+ des annotations de validation, il n'y a pas de co�t en terme de
+ performance.</para>
+ </note>
+ </sect2>
+
+ <sect2>
+ <title>La validation au niveau applicatif</title>
+
+ <para>Hibernate Validator peut �tre utilis� n'importe o� dans le code de
+ votre application.</para>
+
+ <programlisting>ClassValidator personValidator = new ClassValidator(
Person.class );
+ClassValidator addressValidator = new ClassValidator( Address.class,
ResourceBundle.getBundle("messages", Locale.ENGLISH) );
+
+InvalidValue[] validationMessages =
addressValidator.getInvalidValues(address);</programlisting>
+
+ <para>Les deux premi�res lignes pr�parent Hibernate Validator pour la
+ v�rification de classes. La premi�re s'appuie sur les messages d'erreur
+ int�gr�s � Hibernate Validator (voir
+ <xref linkend="validator-constraints-error" />), la seconde utilise
un
+ resource bundle pour ses messages. Il est consid�r� comme une bonne
+ pratique d'ex�cuter ces lignes une fois et de cacher les instances de
+ validateur.</para>
+
+ <para>La troisi�me ligne valide en fait l'instance
+ <literal>Address</literal> et retourne un tableau
+ d'<literal>InvalidValue</literal>s. Votre logique applicative sera
alors
+ capable de r�agir aux �checs.</para>
+
+ <para>Vous pouvez aussi v�rifier une propri�t� particuli�re plut�t que
+ tout le bean. Ceci pourrait �tre utile lors d'interactions avec
+ l'utilisateur propri�t� par propri�t�.</para>
+
+ <programlisting>ClassValidator addressValidator = new ClassValidator(
Address.class, ResourceBundle.getBundle("messages", Locale.ENGLISH) );
+
+// r�cup�re seulement les valeurs invalides de la propri�t� "city"
+InvalidValue[] validationMessages = addressValidator.getInvalidValues(address,
"city");
+
+// r�cup�re seulement les valeurs potentielles invalides de la propri�t�
"city"
+InvalidValue[] validationMessages =
addressValidator.getPotentialInvalidValues("city",
"Paris")</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>Informations de validation</title>
+
+ <para>Comme un transporteur d'informations de validation, Hibernate
+ fournit un tableau d'<classname>InvalidValue</classname>s. Chaque
+ <literal>InvalidValue</literal> a un groupe de m�thodes d�crivant les
+ probl�mes individuels.</para>
+
+ <para><methodname>getBeanClass()</methodname> r�cup�re le type du
bean
+ ayant �chou�.</para>
+
+ <para><methodname>getBean()</methodname> r�cup�re l'instance
du bean ayant
+ �chou� (s'il y en a, c'est-�-dire pas lors de l'utilisation de
+ <methodname>getPotentianInvalidValues()</methodname>).</para>
+
+ <para><methodname>getValue()</methodname> r�cup�re la valeur
ayant
+ �chou�e.</para>
+
+ <para><methodname>getMessage()</methodname> r�cup�re le message
d'erreur
+ internationalis�.</para>
+
+ <para><methodname>getRootBean()</methodname> r�cup�re
l'instance du bean
+ racine ayant g�n�r� le probl�me (utile en conjonction avec
+ <literal>@Valid</literal>), est nulle si getPotentianInvalidValues()
est
+ utilis�e.</para>
+
+ <para><literal>getPropertyPath()</literal> r�cup�re le chemin
(s�par� par
+ des points) de la propri�t� ayant �chou�e � partir du bean racine.</para>
+ </sect2>
+ </sect1>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/xml-overriding.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/xml-overriding.xml
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/modules/xml-overriding.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="xml-overriding">
+ <title>Surcharger des m�ta-donn�es � travers du XML</title>
+
+ <para>La cible primaire pour les m�ta-donn�es dans EJB3 sont les annotations,
+ mais la sp�cification EJB3 fournit un moyen de surcharger ou remplacer les
+ m�ta-donn�es d�finies par des annotations � travers un descripteur de
+ d�ploiement XML. Dans la version courante, seule la surcharge des annotations
+ pure EJB3 est prise en charge. Si vous souhaitez utiliser des caract�ristiques
+ sp�cifiques � Hibernate dans des entit�s, vous devrez utiliser les annotations
+ ou vous replier sur les fichiers hbm. Vous pouvez bien s�r m�langer et faire
+ correspondre des entit�s annot�es et des entit�s d�crites dans des fichiers
+ hbm.</para>
+
+ <para>La suite de test unitaires montre des exemples suppl�mentaires de
+ fichier XML.</para>
+
+ <section id="xml-overriding-principles">
+ <title>Principes</title>
+
+ <para>La structure du descripteur de d�ploiement XML a �t� con�ue pour
+ refl�ter celle des annotations. Donc si vous connaissez la structure des
+ annotations, utiliser le sch�ma XML sera facile pour vous.</para>
+
+ <para>Vous pouvez d�finir un ou plusieurs fichiers XML d�crivant vos
+ m�ta-donn�es, ces fichiers seront fusionn�s par le moteur de surcharge.</para>
+
+ <section>
+ <title>M�ta-donn�es de niveau global</title>
+
+ <para>Vous pouvez d�finir des m�ta-donn�es de niveau global disponibles
+ pour tous les fichiers XML. Vous ne devez pas d�finir ces m�ta-donn�es
+ plus d'une fois par d�ploiement.</para>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <schema>myschema</schema>
+ <catalog>mycatalog</catalog>
+ <cascade-persist/>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata></programlisting>
+
+ <para><literal>xml-mapping-metadata-complete</literal> signifie
que toutes
+ les entit�s, classes m�res mapp�es et m�ta-donn�es devraient �tre
+ r�cup�r�es � partir du XML (c'est-�-dire ignorer les
annotations).</para>
+
+ <para><literal>schema / catalog</literal> surchargera toutes les
+ d�finitions par d�faut de sch�ma et de catalogue dans les m�ta-donn�es
+ (XML et annotations).</para>
+
+ <para><literal>cascade-persist</literal> signifie que toutes les
+ associations ont PERSIST comme type de cascade. Nous vous recommandons de
+ ne pas utiliser cette fonctionnalit�.</para>
+ </section>
+
+ <section id="xml-overriding-principles-entity"
revision="1">
+ <title>M�ta-donn�es de niveau entit�</title>
+
+ <para>Vous pouvez d�finir ou surcharger des informations de m�ta-donn�es
+ sur une entit� donn�e.</para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="3 85" id="aa1" />
+
+ <area coords="9 85" id="aa2" />
+
+ <area coords="10 85" id="aa3" />
+
+ <area coords="11 85" id="aa4" />
+
+ <area coords="17 85" id="aa5" />
+
+ <area coords="23 85" id="aa6" />
+
+ <area coords="24 85" id="aa7" />
+
+ <area coords="25 85" id="aa8" />
+
+ <area coords="26 85" id="aa9" />
+
+ <area coords="31 85" id="aa10" />
+ </areaspec>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+
<package>org.hibernate.test.annotations.reflection</package>
+ <entity class="Administration" access="PROPERTY"
metadata-complete="true">
+ <table name="tbl_admin">
+ <unique-constraint>
+ <column-name>firstname</column-name>
+ <column-name>lastname</column-name>
+ </unique-constraint>
+ </table>
+ <secondary-table name="admin2">
+ <primary-key-join-column name="admin_id"
referenced-column-name="id"/>
+ <unique-constraint>
+ <column-name>address</column-name>
+ </unique-constraint>
+ </secondary-table>
+ <id-class class="SocialSecurityNumber"/>
+ <inheritance strategy="JOINED"/>
+ <sequence-generator name="seqhilo"
sequence-name="seqhilo"/>
+ <table-generator name="table"
table="tablehilo"/>
+ ...
+ </entity>
+
+ <entity class="PostalAdministration">
+ <primary-key-join-column name="id"/>
+ ...
+ </entity>
+</entity-mappings></programlisting>
+
+ <calloutlist>
+ <callout arearefs="aa1">
+ <para><literal>entity-mappings</literal> : entity-mappings
est
+ l'�l�ment racine pour tous les fichiers XML. Vous devez d�clarer le
+ sch�ma xml, le fichier du sch�ma est inclus dans le fichier
+ hibernate-annotations.jar, aucun acc�s � internet ne sera effectu�
+ par Hibernate Annotations.</para>
+ </callout>
+
+ <callout arearefs="aa2">
+ <para><literal>package</literal> (optionnel) : package par
d�faut
+ utilis� pour tous les noms de classes sans package dans le fichier
+ de descripteur de d�ploiement donn�.</para>
+ </callout>
+
+ <callout arearefs="aa3">
+ <para><literal>entity</literal> : d�crit une
entit�.</para>
+
+ <para><literal>metadata-complete</literal> d�finit si la
description
+ des m�ta-donn�es pour cet �l�ment est compl�te ou pas (en d'autres
+ mots, si les annotations pr�sentes au niveau de la classe devraient
+ �tre prises en compte ou pas).</para>
+
+ <para>Une entit� doit avoir un attribut
<literal>class</literal>
+ r�f�ren�ant une classe java � laquelle s'applique les
+ m�ta-donn�es.</para>
+
+ <para>Vous pouvez surcharger un nom d'entit� avec l'attribut
+ <literal>name</literal>, si aucun n'est d�fini et si une
annotation
+ <literal>(a)Entity.name</literal> est pr�sente, alors elle est
+ utilis�e (et �tablit que les m�ta-donn�es ne sont pas
+ compl�tes).</para>
+
+ <para>Pour un �l�ment avec des m�ta-donn�es compl�tes (voir
+ ci-dessous), vous pouvez d�finir un attribut
+ <literal>access</literal> (soit
<literal>FIELD</literal>, soit
+ <literal>PROPERTY</literal> (valeur par d�faut)). Pour un
�l�ment
+ avec des m�ta-donn�es incompl�tes, si <literal>access</literal>
+ n'est pas d�fini, la position de @Id permettra de le d�terminer, si
+ <literal>access</literal> est d�fini, sa valeur est
utilis�e.</para>
+ </callout>
+
+ <callout arearefs="aa4">
+ <para><literal>table</literal> : vous pouvez d�clarer des
propri�t�s
+ de table (nom, sch�ma, catalogue), si aucune n'est d�finie,
+ l'annotation java est utilis�e.</para>
+
+ <para>Vous pouvez d�finir une ou plusieurs contraintes d'unicit�
+ comme dans l'exemple.</para>
+ </callout>
+
+ <callout arearefs="aa5">
+ <para><literal>secondary-table</literal> : d�finit une
table
+ secondaire tr�s semblable � une table habituelle except� que vous
+ pouvez d�finir les colonnes de clef primaire / clef �trang�re avec
+ l'�l�ment <literal>primary-key-join-column</literal>. Sur
des
+ m�ta-donn�es incompl�tes, les annotations de table secondaire sont
+ utilis�es seulement s'il n'y a pas de
<literal>secondary-table</literal>
+ de d�fini, sinon les annotations sont ignor�es.</para>
+ </callout>
+
+ <callout arearefs="aa6">
+ <para><literal>id-class</literal> : d�finit la classe
identifiante
+ comme le fait <literal>(a)IdClass</literal>.</para>
+ </callout>
+
+ <callout arearefs="aa7">
+ <para><literal>inheritance</literal> : d�finit la
strat�gie
+ d'h�ritage (<literal>JOINED</literal>,
+ <literal>TABLE_PER_CLASS</literal>,
+ <literal>SINGLE_TABLE</literal>) ; disponible seulement au niveau
de
+ l'�l�ment racine.</para>
+ </callout>
+
+ <callout arearefs="aa8">
+ <para><literal>sequence-generator</literal> : d�finit un
g�n�rateur
+ de s�quence.</para>
+ </callout>
+
+ <callout arearefs="aa9">
+ <para><literal>table-generator</literal> : d�finit un
g�n�rateur de
+ table.</para>
+ </callout>
+
+ <callout arearefs="aa10">
+
<para><literal><literal>primary-key-join-column</literal></literal>
:
+ d�finit la colonne de jointure sur la clef primaire pour les
+ entit�s filles lorsque la strat�gie d'h�ritage utilis�e est
+ JOINED.</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="11 85" id="ab1" />
+
+ <area coords="18 85" id="ab2" />
+
+ <area coords="22 85" id="ab3" />
+
+ <area coords="28 85" id="ab4" />
+
+ <area coords="34 85" id="ab5" />
+ </areaspec>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+
<package>org.hibernate.test.annotations.reflection</package>
+ <entity class="Music" access="PROPERTY"
metadata-complete="true">
+ <discriminator-value>Generic</discriminator-value>
+ <discriminator-column length="34"/>
+ ...
+ </entity>
+
+ <entity class="PostalAdministration">
+ <primary-key-join-column name="id"/>
+ <named-query name="adminById">
+ <query>select m from Administration m where m.id =
:id</query>
+ <hint name="org.hibernate.timeout"
value="200"/>
+ </named-query>
+ <named-native-query name="allAdmin"
result-set-mapping="adminrs">
+ <query>select *, count(taxpayer_id) as taxPayerNumber
+ from Administration, TaxPayer
+ where taxpayer_admin_id = admin_id group by ...</query>
+ <hint name="org.hibernate.timeout"
value="200"/>
+ </named-native-query>
+ <sql-result-set-mapping name="adminrs">
+ <entity-result entity-class="Administration">
+ <field-result name="name"
column="fld_name"/>
+ </entity-result>
+ <column-result name="taxPayerNumber"/>
+ </sql-result-set-mapping>
+ <attribute-override name="ground">
+ <column name="fld_ground" unique="true"
scale="2"/>
+ </attribute-override>
+ <association-override name="referer">
+ <join-column name="referer_id"
referenced-column-name="id"/>
+ </association-override>
+ ...
+ </entity>
+</entity-mappings></programlisting>
+
+ <calloutlist>
+ <callout arearefs="ab1">
+ <para><literal>discriminator-value /
+ discriminator-column</literal> : d�finissent la colonne et la valeur
+ discriminantes lorsque la strat�gie d'h�ritage choisie est
+ SINGLE_TABLE.</para>
+ </callout>
+
+ <callout arearefs="ab2">
+ <para><literal>named-query</literal> : d�finit les requ�tes
nomm�es
+ et potentiellement les indices qui leur sont associ�s. Ces
+ d�finitions sont ajout�es � celles d�finies dans les annotations,
+ si deux d�finitions ont le m�me nom, la version XML a la
+ priorit�.</para>
+ </callout>
+
+ <callout arearefs="ab3">
+ <para><literal>named-native-query</literal> : d�finit une
requ�te
+ SQL nomm�e et le mapping de son r�sultat. Alternativement, vous
+ pouvez d�finir <literal>result-class</literal>. Ces d�finitions
+ sont ajout�es � celles definies dans les annotations, si deux
+ d�finitions ont le m�me nom, la version XML a la priorit�.</para>
+ </callout>
+
+ <callout arearefs="ab4">
+ <para><literal>sql-result-set-mapping</literal> : d�crit
la
+ structure du mapping des r�sultats. Vous pouvez d�finir des mappings
+ de colonnes et d'entit�. Ces d�finitions sont ajout�es � celles
+ d�finies dans les annotations, si deux d�finitions ont le m�me nom,
+ la version XML a la priorit�.</para>
+ </callout>
+
+ <callout arearefs="ab5">
+ <para><literal>attribute-override /
+ association-override</literal> : surcharge la d�finition d'une
+ colonne ou d'une colonne de jointure. Cette surcharge est ajout�e �
+ celle d�finie dans les annotations.</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+
+ <para>La m�me chose s'applique �
<literal><embeddable></literal> et
+ <literal><mapped-superclass></literal>.</para>
+ </section>
+
+ <section>
+ <title>M�ta-donn�es de niveau propri�t�</title>
+
+ <para>Vous pouvez bien s�r d�finir des surcharges XML pour des propri�t�s.
+ Si les m�ta-donn�es sont d�finies comme incompl�tes, alors les propri�t�s
+ suppl�mentaires (c'est-�-dire au niveau Java) seront ignor�es. Toutes les
+ m�ta-donn�es de niveau propri�t� sont d�finies par
+ <literal>entity/attributes</literal>,
+ <literal>mapped-superclass/attributes</literal> ou
+ <literal>embeddable/attributes</literal>.</para>
+
+ <programlisting> <attributes>
+ <id name="id">
+ <column name="fld_id"/>
+ <generated-value generator="generator"
strategy="SEQUENCE"/>
+ <temporal>DATE</temporal>
+ <sequence-generator name="generator"
sequence-name="seq"/>
+ </id>
+ <version name="version"/>
+ <embedded name="embeddedObject">
+ <attribute-override name"subproperty">
+ <column name="my_column"/>
+ </attribute-override>
+ </embedded>
+ <basic name="status" optional="false">
+ <enumerated>STRING</enumerated>
+ </basic>
+ <basic name="serial" optional="true">
+ <column name="serialbytes"/>
+ <lob/>
+ </basic>
+ <basic name="terminusTime" fetch="LAZY">
+ <temporal>TIMESTAMP</temporal>
+ </basic>
+ </attributes></programlisting>
+
+ <para>Vous pouvez surcharger une propri�t� avec
<literal>id</literal>,
+ <literal>embedded-id</literal>,
<literal>version</literal>,
+ <literal>embedded</literal> et <literal>basic</literal>.
Chacun de ces
+ �l�ments peuvent avoir des sous-�l�ments : <literal>lob</literal>,
+ <literal>temporal</literal>,
<literal>enumerated</literal>,
+ <literal>column</literal>.</para>
+ </section>
+
+ <section>
+ <title>M�ta-donn�es au niveau association</title>
+
+ <para>Vous pouvez d�finir des surcharges XML pour les associations. Toutes
+ les m�ta-donn�es de niveau association sont d�finies par
+ <literal>entity/attributes</literal>,
+ <literal>mapped-superclass/attributes</literal> ou
+ <literal>embeddable/attributes</literal>.</para>
+
+ <programlisting> <attributes>
+ <one-to-many name="players" fetch="EAGER">
+ <map-key name="name"/>
+ <join-column name="driver"/>
+ <join-column name="number"/>
+ </one-to-many>
+ <many-to-many name="roads"
target-entity="Administration">
+ <order-by>maxSpeed</order-by>
+ <join-table name="bus_road">
+ <join-column name="driver"/>
+ <join-column name="number"/>
+ <inverse-join-column name="road_id"/>
+ <unique-constraint>
+ <column-name>driver</column-name>
+ <column-name>number</column-name>
+ </unique-constraint>
+ </join-table>
+ </many-to-many>
+ <many-to-many name="allTimeDrivers"
mapped-by="drivenBuses">
+ </attributes></programlisting>
+
+ <para>Vous pouvez surcharger une association avec
+ <literal>one-to-many</literal>,
<literal>one-to-one</literal>,
+ <literal>many-to-one</literal>, et
<literal>many-to-many</literal>.
+ Chacun de ces �l�ments peut avoir des sous-�l�ments :
+ <literal>join-table</literal> (qui peut avoir des
+ <literal>join-column</literal>s et des
+ <literal>inverse-join-column</literal>s),
+ <literal><literal>join-column</literal>s</literal>,
+ <literal>map-key</literal>, et
<literal>order-by</literal>.
+ <literal>mapped-by</literal> et
<literal>target-entity</literal> peuvent
+ �tre d�finis en tant qu'attributs lorsque cela a du sens. Une fois de plus
+ la structure est le reflet de la structure des annotations. Vous pouvez
+ trouver toutes les informations de s�mantique dans le chapitre d�crivant
+ les annotations.</para>
+ </section>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/fopdf.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/fopdf.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/fopdf.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,519 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL FO configuration file for the Hibernate
+ Reference Documentation. It defines a custom titlepage and
+ the parameters for the A4 sized PDF printable output.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+
xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ exclude-result-prefixes="#default">
+
+ <xsl:import href="&db_xsl_path;/fo/docbook.xsl"/>
+
+ <!--###################################################
+ Custom Title Page
+ ################################################### -->
+
+ <xsl:template name="book.titlepage.recto">
+ <fo:block>
+ <fo:table table-layout="fixed" width="175mm">
+ <fo:table-column column-width="175mm"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell text-align="center">
+ <fo:block>
+ <fo:external-graphic
src="file:images/hibernate_logo_a.png"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="22pt" padding-before="10mm">
+ <xsl:value-of select="bookinfo/title"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="18pt" padding-before="10mm">
+ <xsl:value-of
select="bookinfo/subtitle"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="12pt" padding="10mm">
+ Version:
+ <xsl:value-of
select="bookinfo/releaseinfo"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Prevent blank pages in output -->
+ <xsl:template name="book.titlepage.before.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.separator">
+ </xsl:template>
+
+ <!--###################################################
+ Header
+ ################################################### -->
+
+ <!-- More space in the center header for long text -->
+ <xsl:attribute-set name="header.content.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$body.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="margin-left">-5em</xsl:attribute>
+ <xsl:attribute name="margin-right">-5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Custom Footer
+ ################################################### -->
+
+ <!-- This footer prints the Hibernate version number on the left side -->
+ <xsl:template name="footer.content">
+ <xsl:param name="pageclass" select="''"/>
+ <xsl:param name="sequence" select="''"/>
+ <xsl:param name="position" select="''"/>
+ <xsl:param name="gentext-key" select="''"/>
+
+ <xsl:variable name="Version">
+ <xsl:choose>
+ <xsl:when test="//releaseinfo">
+ <xsl:text>Hibernate </xsl:text>
+ <xsl:value-of select="//releaseinfo"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$sequence='blank'">
+ <xsl:choose>
+ <xsl:when test="$double.sided != 0 and $position =
'left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and $position =
'center'">
+ <!-- nop -->
+ </xsl:when>
+
+ <xsl:otherwise>
+ <fo:page-number/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:when test="$pageclass='titlepage'">
+ <!-- nop: other titlepage sequences have no footer -->
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'even' and
$position='left'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'odd' and
$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and
$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'odd' and
$position='left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'even' and
$position='right'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and
$position='left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--###################################################
+ Custom Toc Line
+ ################################################### -->
+
+ <!-- Improve the TOC. -->
+ <xsl:template name="toc.line">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="label">
+ <xsl:apply-templates select="."
mode="label.markup"/>
+ </xsl:variable>
+
+ <fo:block text-align-last="justify"
+ end-indent="{$toc.indent.width}pt"
+ last-line-end-indent="-{$toc.indent.width}pt">
+ <fo:inline keep-with-next.within-line="always">
+ <fo:basic-link internal-destination="{$id}">
+
+ <!-- Chapter titles should be bold. -->
+ <xsl:choose>
+ <xsl:when test="local-name(.) =
'chapter'">
+ <xsl:attribute
name="font-weight">bold</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:if test="$label != ''">
+ <xsl:copy-of select="$label"/>
+ <xsl:value-of
select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="."
mode="titleabbrev.markup"/>
+ </fo:basic-link>
+ </fo:inline>
+ <fo:inline keep-together.within-line="always">
+ <xsl:text> </xsl:text>
+ <fo:leader leader-pattern="dots"
+ leader-pattern-width="3pt"
+ leader-alignment="reference-area"
+ keep-with-next.within-line="always"/>
+ <xsl:text> </xsl:text>
+ <fo:basic-link internal-destination="{$id}">
+ <fo:page-number-citation ref-id="{$id}"/>
+ </fo:basic-link>
+ </fo:inline>
+ </fo:block>
+ </xsl:template>
+
+ <!--###################################################
+ Extensions
+ ################################################### -->
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <!-- FOP provide only PDF Bookmarks at the moment -->
+ <xsl:param name="fop.extensions">1</xsl:param>
+
+ <!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+ <!-- Dot and Whitespace as separator in TOC between Label and Title-->
+ <xsl:param name="autotoc.label.separator" select="'.
'"/>
+
+
+ <!--###################################################
+ Paper & Page Size
+ ################################################### -->
+
+ <!-- Paper type, no headers on blank pages, no double sided printing -->
+ <xsl:param name="paper.type" select="'A4'"/>
+ <xsl:param name="double.sided">0</xsl:param>
+ <xsl:param name="headers.on.blank.pages">0</xsl:param>
+ <xsl:param name="footers.on.blank.pages">0</xsl:param>
+
+ <!-- Space between paper border and content (chaotic stuff, don't touch)
-->
+ <xsl:param name="page.margin.top">5mm</xsl:param>
+ <xsl:param name="region.before.extent">10mm</xsl:param>
+ <xsl:param name="body.margin.top">10mm</xsl:param>
+
+ <xsl:param name="body.margin.bottom">15mm</xsl:param>
+ <xsl:param name="region.after.extent">10mm</xsl:param>
+ <xsl:param name="page.margin.bottom">0mm</xsl:param>
+
+ <xsl:param name="page.margin.outer">18mm</xsl:param>
+ <xsl:param name="page.margin.inner">18mm</xsl:param>
+
+ <!-- No intendation of Titles -->
+ <xsl:param name="title.margin.left">0pc</xsl:param>
+
+ <!--###################################################
+ Fonts & Styles
+ ################################################### -->
+
+ <!-- Default Font size -->
+ <xsl:param name="body.font.master">11</xsl:param>
+
+ <!-- Line height in body text -->
+ <xsl:param name="line-height">1.4</xsl:param>
+
+ <!-- Monospaced fonts are smaller than regular text -->
+ <xsl:attribute-set name="monospace.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$monospace.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="font-size">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Tables
+ ################################################### -->
+
+ <!-- The table width should be adapted to the paper size -->
+ <xsl:param name="default.table.width">17.4cm</xsl:param>
+
+ <!-- Some padding inside tables -->
+ <xsl:attribute-set name="table.cell.padding">
+ <xsl:attribute name="padding-left">4pt</xsl:attribute>
+ <xsl:attribute name="padding-right">4pt</xsl:attribute>
+ <xsl:attribute name="padding-top">4pt</xsl:attribute>
+ <xsl:attribute name="padding-bottom">4pt</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Only hairlines as frame and cell borders in tables -->
+ <xsl:param
name="table.frame.border.thickness">0.1pt</xsl:param>
+ <xsl:param
name="table.cell.border.thickness">0.1pt</xsl:param>
+
+ <!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+ <!-- Label only Sections up to level 2 -->
+ <xsl:param name="local.l10n.xml"
select="document('')"/>
+ <l:i18n
xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+ <l:l10n language="en">
+ <l:context name="title-numbered">
+ <l:template name="sect3" text="%t"/>
+ <l:template name="sect4" text="%t"/>
+ <l:template name="sect5" text="%t"/>
+ </l:context>
+ <l:context name="section-xref-numbered">
+ <l:template name="sect3" text="the section called
%t"/>
+ <l:template name="sect4" text="the section called
%t"/>
+ <l:template name="sect5" text="the section called
%t"/>
+ </l:context>
+ </l:l10n>
+ </l:i18n>
+
+ <!--###################################################
+ Titles
+ ################################################### -->
+
+ <!-- Chapter title size -->
+ <xsl:attribute-set name="chapter.titlepage.recto.style">
+ <xsl:attribute name="text-align">left</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.8"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Why is the font-size for chapters hardcoded in the XSL FO templates?
+ Let's remove it, so this sucker can use our attribute-set only... -->
+ <xsl:template match="title"
mode="chapter.titlepage.recto.auto.mode">
+ <fo:block
xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xsl:use-attribute-sets="chapter.titlepage.recto.style">
+ <xsl:call-template name="component.title">
+ <xsl:with-param name="node"
select="ancestor-or-self::chapter[1]"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Sections 1, 2 and 3 titles have a small bump factor and padding -->
+ <xsl:attribute-set name="section.title.level1.properties">
+ <xsl:attribute
name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.5"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level2.properties">
+ <xsl:attribute
name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.6em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.25"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level3.properties">
+ <xsl:attribute
name="space-before.optimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.4em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.0"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Titles of formal objects (tables, examples, ...) -->
+ <xsl:attribute-set name="formal.title.properties"
use-attribute-sets="normal.para.spacing">
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="hyphenate">false</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Programlistings
+ ################################################### -->
+
+ <!-- Verbatim text formatting (programlistings) -->
+ <xsl:attribute-set name="verbatim.properties">
+ <xsl:attribute
name="space-before.minimum">1em</xsl:attribute>
+ <xsl:attribute
name="space-before.optimum">1em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ <xsl:attribute name="border-color">#444444</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="border-width">0.1pt</xsl:attribute>
+ <xsl:attribute name="padding-top">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-left">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-right">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-left">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-right">0.5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Shade (background) programlistings -->
+ <xsl:param name="shade.verbatim">1</xsl:param>
+ <xsl:attribute-set name="shade.verbatim.style">
+ <xsl:attribute
name="background-color">#F0F0F0</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- We want to use callouts... -->
+ <xsl:param name="callout.extensions">1</xsl:param>
+
+ <!-- Place callout bullets at this column in programmlisting.-->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+ <!--
+ No, don't use crappy graphics for the callout bullets. This setting
+ enables some weird Unicode rendering for some fancy bullet points
+ in callouts. By default, this can only count to 10 and produces
+ strange results if you ever have more than 10 callouts for one
+ programlisting. We will fix that next.
+ -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!--
+ Again, fun with DocBook XSL: The callout bullets are rendered in
+ two places: In the programlisting itself and in the list below
+ the listing, with the actual callout text. The rendering in the
+ programlisting is some XSL transformer extension (e.g. a Saxon
+ extension), so we can't change that without messing with the
+ extensions. We only can turn it off by setting this limit to
+ zero, then, a simple bracket style like "(3)" and "(4)" will
+ be used in the programlisting.
+ -->
+ <xsl:param name="callout.unicode.number.limit"
select="'0'"></xsl:param>
+
+ <!--
+ The callout bullets in the actual callout list will be rendered
+ with an XSL FO template. The default template is broken: limited to 10
+ nice looking Unicode bullet points and then it doesn't print anything,
+ the fallback doesn't work. We implement our own template, which is not
+ as complicated, more ugly, but works. As always, function is more
+ important than form.
+ -->
+ <xsl:template name="callout-bug">
+ <xsl:param name="conum" select='1'/>
+ <fo:inline
+ color="black"
+ padding-top="0.1em"
+ padding-bottom="0.1em"
+ padding-start="0.2em"
+ padding-end="0.2em"
+ baseline-shift="0.1em"
+ font-family="{$monospace.font.family}"
+ font-weight="bold"
+ font-size="75%">
+ <xsl:text>(</xsl:text>
+ <xsl:value-of select="$conum"/>
+ <xsl:text>)</xsl:text>
+ </fo:inline>
+
+ </xsl:template>
+
+ <!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Correct placement of titles for figures and examples. -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+ <!-- Format Variable Lists as Blocks (prevents horizontal overflow). -->
+ <xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+ <!-- The horrible list spacing problems, this is much better. -->
+ <xsl:attribute-set name="list.block.spacing">
+ <xsl:attribute
name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Newer DocBook XSL apparently thinks that some sections are by
+ default "draft" status, and this idiotic thing is by default
+ also set to "maybe", so it spits out a lot of errors with the
+ latest FOP as the XSL/FO styles have references to some draft
+ watermarks, which you actually don't want in the first place.
+ Turn this crap off. If you have to work with the "status"
+ attribute, don't.
+ -->
+ <xsl:param name="draft.mode" select="'no'"/>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.css
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.css
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.css 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,97 @@
+A {
+ color: #003399;
+}
+
+A:active {
+ color: #003399;
+}
+
+A:visited {
+ color: #888888;
+}
+
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+ color: #000000;
+}
+
+TD, TH, SPAN {
+ color: #000000;
+}
+
+BLOCKQUOTE {
+ margin-right: 0px;
+}
+
+
+H1, H2, H3, H4, H5, H6 {
+ color: #000000;
+ font-weight:500;
+ margin-top:10px;
+ padding-top:15px;
+}
+
+TABLE {
+ border-collapse: collapse;
+ border-spacing:0;
+ border: 1px thin black;
+ empty-cells: hide;
+}
+
+TD {
+ padding: 4pt;
+}
+
+H1 { font-size: 150%; }
+H2 { font-size: 140%; }
+H3 { font-size: 110%; font-weight: bold; }
+H4 { font-size: 110%; font-weight: bold;}
+H5 { font-size: 100%; font-style: italic; }
+H6 { font-size: 100%; font-style: italic; }
+
+TT {
+font-size: 90%;
+ font-family: "Courier New", Courier, monospace;
+ color: #000000;
+}
+
+PRE {
+font-size: 100%;
+ padding: 5px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #CCCCCC;
+ background-color: #F4F4F4;
+}
+
+UL, OL, LI {
+ list-style: disc;
+}
+
+HR {
+ width: 100%;
+ height: 1px;
+ background-color: #CCCCCC;
+ border-width: 0px;
+ padding: 0px;
+ color: #CCCCCC;
+}
+
+.variablelist {
+ padding-top: 10;
+ padding-bottom:10;
+ margin:0;
+}
+
+.itemizedlist, UL {
+ padding-top: 0;
+ padding-bottom:0;
+ margin:0;
+}
+
+.term {
+ font-weight:bold;
+}
+
+
+
+
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL HTML configuration file for the Hibernate
+ Reference Documentation.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="&db_xsl_path;/html/docbook.xsl"/>
+
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param
name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html_chunk.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html_chunk.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/fr/styles/html_chunk.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL HTML configuration file for the Hibernate
+ Reference Documentation.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="&db_xsl_path;/html/chunk.xsl"/>
+
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param name="chunk.section.depth">'5'</xsl:param>
+ <xsl:param name="use.id.as.filename">'1'</xsl:param>
+ <xsl:param
name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.ttf
===================================================================
(Binary files differ)
Property changes on:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.ttf
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simhei.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<font-metrics
type="TYPE0"><font-name>SimHei</font-name><embed/><cap-height>0</cap-height><x-height>0</x-height><ascender>859</ascender><descender>-140</descender><bbox><left>0</left><bottom>-140</bottom><right>996</right><top>855</top></bbox><flags>33</flags><stemv>0</stemv><italicangle>0</italicangle><subtype>TYPE0</subtype><multibyte-extras><cid-type>CIDFontType2</cid-type><default-width>0</default-width><bfranges><bf
us="32" ue="126" gi="3"/><bf us="127"
ue="127" gi="2"/><bf us="164" ue="164"
gi="98"/><bf us="167" ue="168"
gi="99"/><bf us="176" ue="177"
gi="101"/><bf us="183" ue="183"
gi="103"/><bf us="215" ue="215"
gi="104"/><bf us="224" ue="225"
gi="105"/><bf us="232" ue="234"
gi="107"/><bf us="236" ue="237"
gi="110"/><bf us="242" ue="243"
gi="112"/><bf us="247" ue="247"
gi="114"/><bf us="249" ue="250"
gi="115"/><bf us="252" ue="252"
gi="117"/><bf us="257" ue="257"
gi="118"/><bf us="275" ue="275"
gi="119"/><bf us="283" ue="283"
gi="120"/><bf us="299" ue="299" gi="121"!
/><bf us="324" ue="324" gi="122"/><bf
us="328" ue="328" gi="123"/><bf us="333"
ue="333" gi="124"/><bf us="363" ue="363"
gi="125"/><bf us="462" ue="462"
gi="126"/><bf us="464" ue="464"
gi="127"/><bf us="466" ue="466"
gi="128"/><bf us="468" ue="468"
gi="129"/><bf us="470" ue="470"
gi="130"/><bf us="472" ue="472"
gi="131"/><bf us="474" ue="474"
gi="132"/><bf us="476" ue="476"
gi="133"/><bf us="505" ue="505"
gi="687"/><bf us="593" ue="593"
gi="134"/><bf us="609" ue="609"
gi="135"/><bf us="711" ue="711"
gi="136"/><bf us="713" ue="713"
gi="137"/><bf us="714" ue="715"
gi="799"/><bf us="729" ue="729"
gi="801"/><bf us="913" ue="929"
gi="138"/><bf us="931" ue="937"
gi="155"/><bf us="945" ue="961"
gi="162"/><bf us="963" ue="969"
gi="179"/><bf us="1025" ue="1025"
gi="186"/><bf us="1040" ue="1103"
gi="187"/><bf us="1105" ue="1105"
gi="251"/><bf us="8208" ue="8208"
gi="971"/><bf us="8211" ue="8211"
gi="802"/><bf us="8212" ue="8212"
gi="252"/><bf us="8213" ue="8213"
gi="803"/><bf us="8214!
" ue="8214" gi="253"/><bf us="8216"
ue="8217" gi="254"/><bf us!
="8220"
ue="8221" gi="256"/><bf us="8229" ue="8229"
gi="804"/><bf us="8230" ue="8230"
gi="258"/><bf us="8240" ue="8240"
gi="259"/><bf us="8242" ue="8243"
gi="260"/><bf us="8245" ue="8245"
gi="805"/><bf us="8251" ue="8251"
gi="262"/><bf us="8451" ue="8451"
gi="263"/><bf us="8453" ue="8453"
gi="806"/><bf us="8457" ue="8457"
gi="807"/><bf us="8470" ue="8470"
gi="264"/><bf us="8481" ue="8481"
gi="969"/><bf us="8544" ue="8555"
gi="265"/><bf us="8560" ue="8569"
gi="957"/><bf us="8592" ue="8595"
gi="277"/><bf us="8598" ue="8601"
gi="808"/><bf us="8712" ue="8712"
gi="281"/><bf us="8719" ue="8719"
gi="282"/><bf us="8721" ue="8721"
gi="283"/><bf us="8725" ue="8725"
gi="812"/><bf us="8730" ue="8730"
gi="284"/><bf us="8733" ue="8734"
gi="285"/><bf us="8735" ue="8735"
gi="813"/><bf us="8736" ue="8736"
gi="287"/><bf us="8739" ue="8739"
gi="814"/><bf us="8741" ue="8741"
gi="288"/><bf us="8743" ue="8747"
gi="289"/><bf us="8750" ue="8750"
gi="294"/><bf us="8756" ue="8759"
gi="295"/><bf us="8765" ue=!
"8765" gi="299"/><bf us="8776" ue="8776"
gi="300"/><bf us="8780" ue="8780"
gi="301"/><bf us="8786" ue="8786"
gi="815"/><bf us="8800" ue="8801"
gi="302"/><bf us="8804" ue="8805"
gi="304"/><bf us="8806" ue="8807"
gi="816"/><bf us="8814" ue="8815"
gi="306"/><bf us="8853" ue="8853"
gi="880"/><bf us="8857" ue="8857"
gi="308"/><bf us="8869" ue="8869"
gi="309"/><bf us="8895" ue="8895"
gi="818"/><bf us="8978" ue="8978"
gi="310"/><bf us="9312" ue="9321"
gi="311"/><bf us="9332" ue="9371"
gi="321"/><bf us="9472" ue="9547"
gi="361"/><bf us="9552" ue="9587"
gi="819"/><bf us="9601" ue="9615"
gi="855"/><bf us="9619" ue="9621"
gi="870"/><bf us="9632" ue="9633"
gi="437"/><bf us="9650" ue="9651"
gi="439"/><bf us="9660" ue="9661"
gi="873"/><bf us="9670" ue="9671"
gi="441"/><bf us="9675" ue="9675"
gi="443"/><bf us="9678" ue="9679"
gi="444"/><bf us="9698" ue="9701"
gi="875"/><bf us="9733" ue="9734"
gi="446"/><bf us="9737" ue="9737"
gi="879"/><bf us="9792" ue="9792"
gi="448"/><bf us="9794" ue="9!
794" gi="449"/><bf us="11905" ue="11905"
gi="21903"/><bf us="1!
1908" ue
="11908" gi="21907"/><bf us="11912"
ue="11912" gi="21910"/><bf us="11915"
ue="11915" gi="21911"/><bf us="11916"
ue="11916" gi="21916"/><bf us="11943"
ue="11943" gi="21930"/><bf us="11946"
ue="11946" gi="21933"/><bf us="11950"
ue="11950" gi="21936"/><bf us="11955"
ue="11955" gi="21938"/><bf us="11958"
ue="11959" gi="21939"/><bf us="11963"
ue="11963" gi="21944"/><bf us="11978"
ue="11978" gi="21954"/><bf us="12272"
ue="12283" gi="689"/><bf us="12288"
ue="12291" gi="450"/><bf us="12293"
ue="12293" gi="454"/><bf us="12294"
ue="12294" gi="977"/><bf us="12295"
ue="12295" gi="21983"/><bf us="12296"
ue="12305" gi="455"/><bf us="12306"
ue="12306" gi="881"/><bf us="12307"
ue="12311" gi="465"/><bf us="12317"
ue="12318" gi="882"/><bf us="12321"
ue="12329" gi="884"/><bf us="12353"
ue="12435" gi="470"/><bf us="12443"
ue="12444" gi="973"/><bf us="12445"
ue="12446" gi="978"/><bf us="12449"
ue="12534" gi="553"/><bf us="12540"
ue="12540" gi="972"/><bf us="12541"
ue="12542" gi="975"/><bf us="12!
549" ue="12585" gi="639"/><bf us="12832"
ue="12841" gi="676"/><bf us="12849"
ue="12849" gi="970"/><bf us="12963"
ue="12963" gi="893"/><bf us="13198"
ue="13199" gi="894"/><bf us="13212"
ue="13214" gi="896"/><bf us="13217"
ue="13217" gi="899"/><bf us="13252"
ue="13252" gi="900"/><bf us="13262"
ue="13262" gi="901"/><bf us="13265"
ue="13266" gi="902"/><bf us="13269"
ue="13269" gi="904"/><bf us="13383"
ue="13383" gi="21909"/><bf us="13427"
ue="13427" gi="21908"/><bf us="13726"
ue="13726" gi="21913"/><bf us="13838"
ue="13838" gi="21915"/><bf us="13850"
ue="13850" gi="21914"/><bf us="14616"
ue="14616" gi="21919"/><bf us="14702"
ue="14702" gi="21918"/><bf us="14799"
ue="14799" gi="21921"/><bf us="14800"
ue="14800" gi="21924"/><bf us="14815"
ue="14815" gi="21922"/><bf us="14963"
ue="14963" gi="21923"/><bf us="15182"
ue="15182" gi="21927"/><bf us="15470"
ue="15470" gi="21928"/><bf us="15584"
ue="15584" gi="21929"/><bf us="16470"
ue="16470" gi="21934"/><bf us="16735"
ue="16735" gi="21!
935"/><bf us="17207" ue="17207"
gi="21937"/><bf us="17324" ue=!
"17324"
gi="21943"/><bf us="17329" ue="17329"
gi="21942"/><bf us="17373" ue="17373"
gi="21945"/><bf us="17622" ue="17622"
gi="21946"/><bf us="17996" ue="17996"
gi="21948"/><bf us="18017" ue="18017"
gi="21947"/><bf us="18211" ue="18211"
gi="21950"/><bf us="18217" ue="18217"
gi="21951"/><bf us="18300" ue="18300"
gi="21952"/><bf us="18317" ue="18317"
gi="21953"/><bf us="18759" ue="18759"
gi="21955"/><bf us="18810" ue="18810"
gi="21956"/><bf us="18813" ue="18813"
gi="21957"/><bf us="18818" ue="18819"
gi="21958"/><bf us="18821" ue="18822"
gi="21960"/><bf us="18843" ue="18843"
gi="21963"/><bf us="18847" ue="18847"
gi="21962"/><bf us="18870" ue="18870"
gi="21965"/><bf us="18871" ue="18871"
gi="21964"/><bf us="19575" ue="19575"
gi="21972"/><bf us="19615" ue="19615"
gi="21969"/><bf us="19617" ue="19617"
gi="21971"/><bf us="19618" ue="19618"
gi="21973"/><bf us="19619" ue="19619"
gi="21968"/><bf us="19629" ue="19629"
gi="21970"/><bf us="19731" ue="19737"
gi="21974"/><bf us="19886" ue="19886" g!
i="21981"/><bf us="19968" ue="40869"
gi="980"/><bf us="59335" ue="59336"
gi="686"/><bf us="59367" ue="59379"
gi="688"/><bf us="59413" ue="59492"
gi="21903"/><bf us="63788" ue="63788"
gi="21882"/><bf us="63865" ue="63865"
gi="21883"/><bf us="63893" ue="63893"
gi="21884"/><bf us="63975" ue="63975"
gi="21885"/><bf us="63985" ue="63985"
gi="21886"/><bf us="64012" ue="64015"
gi="21887"/><bf us="64017" ue="64017"
gi="21891"/><bf us="64019" ue="64020"
gi="21892"/><bf us="64024" ue="64024"
gi="21894"/><bf us="64031" ue="64033"
gi="21895"/><bf us="64035" ue="64036"
gi="21898"/><bf us="64039" ue="64041"
gi="21900"/><bf us="65072" ue="65073"
gi="905"/><bf us="65075" ue="65092"
gi="907"/><bf us="65097" ue="65106"
gi="925"/><bf us="65108" ue="65111"
gi="935"/><bf us="65113" ue="65126"
gi="939"/><bf us="65128" ue="65131"
gi="953"/><bf us="65281" ue="65374"
gi="701"/><bf us="65504" ue="65505"
gi="795"/><bf us="65506" ue="65506"
gi="967"/><bf us="65507" ue="65507"
gi="797"/><bf us="65508" !
ue="65508" gi="968"/><bf us="65509"
ue="65509" gi="798"/><bf u!
s="65535
" ue="65535" gi="0"/></bfranges><cid-widths
start-index="0"><wx w="1000"/><wx
w="0"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="!
500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="1000"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="500"/><wx
w="500"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx
w="1000"/></cid-widths></multibyte-extras></font-metrics>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.ttc
===================================================================
(Binary files differ)
Property changes on:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.ttc
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/simsun.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<font-metrics
type="TYPE0"><font-name>SimSun</font-name><embed/><cap-height>0</cap-height><x-height>0</x-height><ascender>859</ascender><descender>-140</descender><bbox><left>0</left><bottom>-140</bottom><right>996</right><top>855</top></bbox><flags>33</flags><stemv>0</stemv><italicangle>0</italicangle><ttc-name>SimSun</ttc-name><subtype>TYPE0</subtype><multibyte-extras><cid-type>CIDFontType2</cid-type><default-width>0</default-width><bfranges><bf
us="32" ue="126" gi="3"/><bf us="127"
ue="127" gi="2"/><bf us="160" ue="163"
gi="22021"/><bf us="164" ue="164"
gi="98"/><bf us="165" ue="166"
gi="22025"/><bf us="167" ue="168"
gi="99"/><bf us="169" ue="175"
gi="22027"/><bf us="176" ue="177"
gi="101"/><bf us="178" ue="182"
gi="22034"/><bf us="183" ue="183"
gi="103"/><bf us="184" ue="214"
gi="22039"/><bf us="215" ue="215"
gi="104"/><bf us="216" ue="223"
gi="22070"/><bf us="224" ue="225"
gi="105"/><bf us="226" ue="231"
gi="22078"/><bf us="232" ue="234"
gi="107"/><bf us="235" ue="235"!
gi="22084"/><bf us="236" ue="237"
gi="110"/><bf us="238" ue="241"
gi="22085"/><bf us="242" ue="243"
gi="112"/><bf us="244" ue="246"
gi="22089"/><bf us="247" ue="247"
gi="114"/><bf us="248" ue="248"
gi="22092"/><bf us="249" ue="250"
gi="115"/><bf us="251" ue="251"
gi="22093"/><bf us="252" ue="252"
gi="117"/><bf us="253" ue="255"
gi="22094"/><bf us="257" ue="257"
gi="118"/><bf us="275" ue="275"
gi="119"/><bf us="283" ue="283"
gi="120"/><bf us="299" ue="299"
gi="121"/><bf us="324" ue="324"
gi="122"/><bf us="328" ue="328"
gi="123"/><bf us="333" ue="333"
gi="124"/><bf us="338" ue="339"
gi="22097"/><bf us="352" ue="353"
gi="22099"/><bf us="363" ue="363"
gi="125"/><bf us="376" ue="376"
gi="22101"/><bf us="402" ue="402"
gi="22102"/><bf us="462" ue="462"
gi="126"/><bf us="464" ue="464"
gi="127"/><bf us="466" ue="466"
gi="128"/><bf us="468" ue="468"
gi="129"/><bf us="470" ue="470"
gi="130"/><bf us="472" ue="472"
gi="131"/><bf us="474" ue="474"
gi="132"/><bf us="476" ue="476" gi="133!
"/><bf us="505" ue="505" gi="687"/><bf
us="593" ue="593" gi="1!
34"/><bf
us="609" ue="609" gi="135"/><bf us="710"
ue="710" gi="22103"/><bf us="711" ue="711"
gi="136"/><bf us="713" ue="713"
gi="137"/><bf us="714" ue="715"
gi="799"/><bf us="729" ue="729"
gi="801"/><bf us="732" ue="732"
gi="22104"/><bf us="913" ue="929"
gi="138"/><bf us="931" ue="937"
gi="155"/><bf us="945" ue="961"
gi="162"/><bf us="963" ue="969"
gi="179"/><bf us="1025" ue="1025"
gi="186"/><bf us="1040" ue="1103"
gi="187"/><bf us="1105" ue="1105"
gi="251"/><bf us="8208" ue="8208"
gi="971"/><bf us="8211" ue="8211"
gi="802"/><bf us="8212" ue="8212"
gi="252"/><bf us="8213" ue="8213"
gi="803"/><bf us="8214" ue="8214"
gi="253"/><bf us="8216" ue="8217"
gi="254"/><bf us="8218" ue="8218"
gi="22105"/><bf us="8220" ue="8221"
gi="256"/><bf us="8222" ue="8222"
gi="22106"/><bf us="8224" ue="8226"
gi="22107"/><bf us="8229" ue="8229"
gi="804"/><bf us="8230" ue="8230"
gi="258"/><bf us="8240" ue="8240"
gi="259"/><bf us="8242" ue="8243"
gi="260"/><bf us="8245" ue="8245"
gi="805"/><bf us="8249" ue="!
8250" gi="22110"/><bf us="8251" ue="8251"
gi="262"/><bf us="8364" ue="8364"
gi="22112"/><bf us="8451" ue="8451"
gi="263"/><bf us="8453" ue="8453"
gi="806"/><bf us="8457" ue="8457"
gi="807"/><bf us="8470" ue="8470"
gi="264"/><bf us="8481" ue="8481"
gi="969"/><bf us="8482" ue="8482"
gi="22113"/><bf us="8544" ue="8555"
gi="265"/><bf us="8560" ue="8569"
gi="957"/><bf us="8592" ue="8595"
gi="277"/><bf us="8598" ue="8601"
gi="808"/><bf us="8712" ue="8712"
gi="281"/><bf us="8719" ue="8719"
gi="282"/><bf us="8721" ue="8721"
gi="283"/><bf us="8725" ue="8725"
gi="812"/><bf us="8730" ue="8730"
gi="284"/><bf us="8733" ue="8734"
gi="285"/><bf us="8735" ue="8735"
gi="813"/><bf us="8736" ue="8736"
gi="287"/><bf us="8739" ue="8739"
gi="814"/><bf us="8741" ue="8741"
gi="288"/><bf us="8743" ue="8747"
gi="289"/><bf us="8750" ue="8750"
gi="294"/><bf us="8756" ue="8759"
gi="295"/><bf us="8765" ue="8765"
gi="299"/><bf us="8776" ue="8776"
gi="300"/><bf us="8780" ue="8780"
gi="301"/><bf us="8786" !
ue="8786" gi="815"/><bf us="8800" ue="8801"
gi="302"/><bf us="!
8804" ue
="8805" gi="304"/><bf us="8806" ue="8807"
gi="816"/><bf us="8814" ue="8815"
gi="306"/><bf us="8853" ue="8853"
gi="880"/><bf us="8857" ue="8857"
gi="308"/><bf us="8869" ue="8869"
gi="309"/><bf us="8895" ue="8895"
gi="818"/><bf us="8978" ue="8978"
gi="310"/><bf us="9312" ue="9321"
gi="311"/><bf us="9332" ue="9371"
gi="321"/><bf us="9472" ue="9547"
gi="361"/><bf us="9552" ue="9587"
gi="819"/><bf us="9601" ue="9615"
gi="855"/><bf us="9619" ue="9621"
gi="870"/><bf us="9632" ue="9633"
gi="437"/><bf us="9650" ue="9651"
gi="439"/><bf us="9660" ue="9661"
gi="873"/><bf us="9670" ue="9671"
gi="441"/><bf us="9675" ue="9675"
gi="443"/><bf us="9678" ue="9679"
gi="444"/><bf us="9698" ue="9701"
gi="875"/><bf us="9733" ue="9734"
gi="446"/><bf us="9737" ue="9737"
gi="879"/><bf us="9792" ue="9792"
gi="448"/><bf us="9794" ue="9794"
gi="449"/><bf us="11905" ue="11905"
gi="21903"/><bf us="11908" ue="11908"
gi="21907"/><bf us="11912" ue="11912"
gi="21910"/><bf us="11915" ue="11915"
gi="21911"/><bf!
us="11916" ue="11916" gi="21916"/><bf
us="11943" ue="11943" gi="21930"/><bf
us="11946" ue="11946" gi="21933"/><bf
us="11950" ue="11950" gi="21936"/><bf
us="11955" ue="11955" gi="21938"/><bf
us="11958" ue="11959" gi="21939"/><bf
us="11963" ue="11963" gi="21944"/><bf
us="11978" ue="11978" gi="21954"/><bf
us="12272" ue="12283" gi="689"/><bf
us="12288" ue="12291" gi="450"/><bf
us="12293" ue="12293" gi="454"/><bf
us="12294" ue="12294" gi="977"/><bf
us="12295" ue="12295" gi="21983"/><bf
us="12296" ue="12305" gi="455"/><bf
us="12306" ue="12306" gi="881"/><bf
us="12307" ue="12311" gi="465"/><bf
us="12317" ue="12318" gi="882"/><bf
us="12321" ue="12329" gi="884"/><bf
us="12353" ue="12435" gi="470"/><bf
us="12443" ue="12444" gi="973"/><bf
us="12445" ue="12446" gi="978"/><bf
us="12449" ue="12534" gi="553"/><bf
us="12540" ue="12540" gi="972"/><bf
us="12541" ue="12542" gi="975"/><bf
us="12549" ue="12585" gi="639"/><bf
us="12832" ue="12841" gi="676"/><bf
us="12849" ue="12849" gi="970"/><!
bf us="12963" ue="12963" gi="893"/><bf
us="13198" ue="13199" g!
i="894"/
<bf us="13212" ue="13214"
gi="896"/><bf us="13217" ue="13217"
gi="899"/><bf us="13252" ue="13252"
gi="900"/><bf us="13262" ue="13262"
gi="901"/><bf us="13265" ue="13266"
gi="902"/><bf us="13269" ue="13269"
gi="904"/><bf us="13383" ue="13383"
gi="21909"/><bf us="13427" ue="13427"
gi="21908"/><bf us="13726" ue="13726"
gi="21913"/><bf us="13838" ue="13838"
gi="21915"/><bf us="13850" ue="13850"
gi="21914"/><bf us="14616" ue="14616"
gi="21919"/><bf us="14702" ue="14702"
gi="21918"/><bf us="14799" ue="14799"
gi="21921"/><bf us="14800" ue="14800"
gi="21924"/><bf us="14815" ue="14815"
gi="21922"/><bf us="14963" ue="14963"
gi="21923"/><bf us="15182" ue="15182"
gi="21927"/><bf us="15470" ue="15470"
gi="21928"/><bf us="15584" ue="15584"
gi="21929"/><bf us="16470" ue="16470"
gi="21934"/><bf us="16735" ue="16735"
gi="21935"/><bf us="17207" ue="17207"
gi="21937"/><bf us="17324" ue="17324"
gi="21943"/><bf us="17329" ue="17329"
gi="21942"/><bf us="17373" ue="17373"
gi="21945"/><bf us="1762!
2" ue="17622"
gi="21946"/><bf us="17996" ue="17996"
gi="21948"/><bf us="18017" ue="18017"
gi="21947"/><bf us="18211" ue="18211"
gi="21950"/><bf us="18217" ue="18217"
gi="21951"/><bf us="18300" ue="18300"
gi="21952"/><bf us="18317" ue="18317"
gi="21953"/><bf us="18759" ue="18759"
gi="21955"/><bf us="18810" ue="18810"
gi="21956"/><bf us="18813" ue="18813"
gi="21957"/><bf us="18818" ue="18819"
gi="21958"/><bf us="18821" ue="18822"
gi="21960"/><bf us="18843" ue="18843"
gi="21963"/><bf us="18847" ue="18847"
gi="21962"/><bf us="18870" ue="18870"
gi="21965"/><bf us="18871" ue="18871"
gi="21964"/><bf us="19575" ue="19575"
gi="21972"/><bf us="19615" ue="19615"
gi="21969"/><bf us="19617" ue="19617"
gi="21971"/><bf us="19618" ue="19618"
gi="21973"/><bf us="19619" ue="19619"
gi="21968"/><bf us="19629" ue="19629"
gi="21970"/><bf us="19731" ue="19737"
gi="21974"/><bf us="19886" ue="19886"
gi="21981"/><bf us="19968" ue="40869"
gi="980"/><bf us="59335" ue="59336"
gi="686"/><bf us="59367" u!
e="59379" gi="688"/><bf us="59413"
ue="59492" gi="21903"/><bf !
us="6378
8" ue="63788" gi="21882"/><bf us="63865"
ue="63865" gi="21883"/><bf us="63893"
ue="63893" gi="21884"/><bf us="63975"
ue="63975" gi="21885"/><bf us="63985"
ue="63985" gi="21886"/><bf us="64012"
ue="64015" gi="21887"/><bf us="64017"
ue="64017" gi="21891"/><bf us="64019"
ue="64020" gi="21892"/><bf us="64024"
ue="64024" gi="21894"/><bf us="64031"
ue="64033" gi="21895"/><bf us="64035"
ue="64036" gi="21898"/><bf us="64039"
ue="64041" gi="21900"/><bf us="65072"
ue="65073" gi="905"/><bf us="65075"
ue="65092" gi="907"/><bf us="65097"
ue="65106" gi="925"/><bf us="65108"
ue="65111" gi="935"/><bf us="65113"
ue="65126" gi="939"/><bf us="65128"
ue="65131" gi="953"/><bf us="65281"
ue="65374" gi="701"/><bf us="65504"
ue="65505" gi="795"/><bf us="65506"
ue="65506" gi="967"/><bf us="65507"
ue="65507" gi="797"/><bf us="65508"
ue="65508" gi="968"/><bf us="65509"
ue="65509" gi="798"/><bf us="65535"
ue="65535" gi="0"/></bfranges><cid-widths
start-index="0"><wx w="1000"/><wx
w="0"/><wx w="500"/><w!
x w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><w!
x w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/!
<wx w="
500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="1000"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="500"/><wx w="500"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><w
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000!
"/><wx w
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1!
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1
000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000!
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000
"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/>!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/>
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx!
w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w=!
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w=
"1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="10!
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="10
00"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"!
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"
/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><!
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><
wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx !
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="100!
0"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="!
1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="
1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><w!
x w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="100!
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><w!
x w="100
0"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/!
<wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w!
="1000"/
<wx w="1000"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/!
<wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="500"/><wx w="500"/><wx
w="500"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/><wx w="1000"/><wx w="1000"/><wx
w="1000"/></cid-widths></multibyte-extras></font-metrics>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/userconfig.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/userconfig.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/fop/userconfig.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,114 @@
+<!--<!DOCTYPE configuration SYSTEM "config.dtd">-->
+<!--
+ this file contains templates which allow an user easy
+ configuration of Fop. Actually normally you don't need this configuration
+ file, but if you need to change configuration, you should
+ always use this file and *not* config.xml.
+ Usage: java org.apache.fop.apps.Fop -c userconfig.xml -fo fo-file -pdf pdf-file
+-->
+
+
+<configuration>
+
+<!--
+baseDir: normally the base directory is the directory where the fo file is
+ located. if you want to specify your own, uncomment this entry.
+ This value can also be a URL. Actually, the value is converted to
+ a URL.
+-->
+<!--
+ <entry>
+ <key>baseDir</key>
+ <value></value>
+ </entry>
+-->
+
+<!--
+fontBaseDir: Similar to baseDir, except that this value is used for fonts. If
+ it isn't specified, the value from baseDir is used.
+-->
+<!--
+ <entry>
+ <key>fontBaseDir</key>
+ <value></value>
+ </entry>
+-->
+
+<!--
+************************************************************************
+ HYPHENATION
+************************************************************************
+-->
+
+<!--
+ hyphenation directory
+ if you want to specify your own directory with hyphenation pattern
+ then uncomment the next entry and add the directory name
+-->
+
+<!--
+ <entry>
+ <key>hyphenation-dir</key>
+ <value>/java/xml-fop/hyph</value>
+ </entry>
+-->
+
+<!--
+************************************************************************
+ Add fonts here
+************************************************************************
+-->
+
+<fonts>
+ <!-- example -->
+ <!--
+ <font metrics-file="arial.xml" kerning="yes"
embed-file="arial.ttf">
+ <font-triplet name="Arial" style="normal"
weight="normal"/>
+ <font-triplet name="ArialMT" style="normal"
weight="normal"/>
+ </font>
+ <font metrics-file="arialb.xml" kerning="yes"
embed-file="arialb.ttf">
+ <font-triplet name="Arial" style="normal"
weight="bold"/>
+ <font-triplet name="ArialMT" style="normal"
weight="bold"/>
+ </font>
+ <font metrics-file="ariali.xml" kerning="yes"
embed-file="ariali.ttf">
+ <font-triplet name="Arial" style="italic"
weight="normal"/>
+ <font-triplet name="ArialMT" style="italic"
weight="normal"/>
+ </font>
+ <font metrics-file="arialbi.xml" kerning="yes"
embed-file="arialbi.ttf">
+ <font-triplet name="Arial" style="italic"
weight="bold"/>
+ <font-triplet name="ArialMT" style="italic"
weight="bold"/>
+ </font>
+ -->
+ <!-- Example Japanese fonts
+ <font metrics-file="msgothic.xml"
embed-file="D:\winnt\font\msgothic.ttc" kerning="yes">
+ <font-triplet name="Gothic" style="normal"
weight="normal"/>
+ <font-triplet name="Gothic" style="normal"
weight="bold"/>
+ <font-triplet name="Gothic" style="italic"
weight="normal"/>
+ <font-triplet name="Gothic" style="italic"
weight="bold"/>
+ </font>
+ <font metrics-file="msmincho.xml" embed-file="Cyberbit.ttf"
kerning="yes">
+ <font-triplet name="Mincho" style="normal"
weight="normal"/>
+ <font-triplet name="Mincho" style="normal"
weight="bold"/>
+ <font-triplet name="Mincho" style="italic"
weight="normal"/>
+ <font-triplet name="Mincho" style="italic"
weight="bold"/>
+ </font>
+ -->
+ <font metrics-file="simhei.xml" embed-file="simhei.ttf"
kerning="yes">
+ <font-triplet name="simhei" style="normal"
weight="normal"/>
+ <font-triplet name="simhei" style="normal"
weight="bold"/>
+ <font-triplet name="simhei" style="italic"
weight="normal"/>
+ <font-triplet name="simhei" style="italic"
weight="bold"/>
+ </font>
+ <font metrics-file="simsun.xml" embed-file="simsun.ttc"
kerning="yes">
+ <font-triplet name="simsun" style="normal"
weight="normal"/>
+ <font-triplet name="simsun" style="normal"
weight="bold"/>
+ <font-triplet name="simsun" style="italic"
weight="normal"/>
+ <font-triplet name="simsun" style="italic"
weight="bold"/>
+ </font>
+</fonts>
+
+
+</configuration>
+
+
+
Added:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/images/hibernate_logo_a.png
===================================================================
(Binary files differ)
Property changes on:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/images/hibernate_logo_a.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/master.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/master.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/master.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"../support/docbook-dtd/docbookx.dtd" [
+<!ENTITY setup SYSTEM "modules/setup.xml">
+<!ENTITY entity SYSTEM "modules/entity.xml">
+<!ENTITY xml-overriding SYSTEM "modules/xml-overriding.xml">
+<!ENTITY validator SYSTEM "modules/validator.xml">
+<!ENTITY lucene SYSTEM "modules/lucene.xml">
+]>
+<book lang="zh_cn">
+ <bookinfo>
+ <title>Hibernate Annotations</title>
+
+ <subtitle>参考文档</subtitle>
+
+ <releaseinfo>3.2.0 CR1</releaseinfo>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/hibernate_logo_a.png"
format="png" />
+ </imageobject>
+ </mediaobject>
+ </bookinfo>
+
+ <toc></toc>
+
+ <preface id="preface" revision="2">
+ <title>前言</title>
+
+ <para>WARNING! This is a translated version of the English Hibernate
+ reference documentation. The translated version might not be up to date!
+ However, the differences should only be very minor. Consult the English
+ reference documentation if you are missing information or encounter a
+ translation error. If you like to contribute to a particular translation,
+ contact us on the Hibernate developer mailing list.</para>
+
+ <para>Translator(s): RedSaga Translate Team 满江红翻译团队
+ &lt;caoxg(a)yahoo.com&gt;</para>
+
+ <sect1 id="preface-translate-comments-zh-cn">
+ <title>翻译说明</title>
+
+
<
para>本文档的翻译是在网络上协作进行的,也会不断根据Hibernate的升级进行更新。提供此文档的目的是为了减缓学习Hibernate的...
+
+ <table frame="topbot" id="redsaga-translate-team">
+ <title>Hibernate Annotation v3翻译团队</title>
+
+ <tgroup cols="6" colsep="1" rowsep="1">
+ <colspec colname="c1" colwidth="1*" />
+
+ <colspec colname="c2" colwidth="2*" />
+
+ <colspec colname="c3" colwidth="2*" />
+
+ <colspec colname="c4" colwidth="2*" />
+
+ <colspec colname="c5" colwidth="2*" />
+
+ <thead>
+ <row>
+ <entry align="center">序号</entry>
+
+ <entry align="center">标题</entry>
+
+ <entry align="center">中文标题</entry>
+
+ <entry align="center">翻译</entry>
+
+ <entry align="center">1审</entry>
+
+ <entry align="center"> 2审</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>--</entry>
+
+ <entry>Contents</entry>
+
+ <entry>目录</entry>
+
+ <entry>Liu Chang</entry>
+
+ <entry></entry>
+
+ <entry></entry>
+ </row>
+
+ <row>
+ <entry>#1</entry>
+
+ <entry>Setting up an annotations projec</entry>
+
+ <entry>创建一个注解项目</entry>
+
+ <entry>melthaw</entry>
+
+ <entry>Zheng Shuai</entry>
+
+ <entry>superq</entry>
+ </row>
+
+ <row>
+ <entry>#2</entry>
+
+ <entry>Entity Beans-Introduction</entry>
+
+ <entry>实体Bean-简介</entry>
+
+ <entry>melthaw</entry>
+
+ <entry>Zheng Shuai</entry>
+
+ <entry>superq</entry>
+ </row>
+
+ <row>
+ <entry>#3</entry>
+
+ <entry>Entity Beans-Mapping with EJB3 Annotations</entry>
+
+ <entry>实体Bean-用EJB3注解进行映射</entry>
+
+ <entry>melthaw</entry>
+
+ <entry>Zheng Shuai</entry>
+
+ <entry>superq, Liu Chang, Sean Chan</entry>
+ </row>
+
+ <row>
+ <entry>#4</entry>
+
+ <entry>Entity Beans-Mapping Queries</entry>
+
+ <entry>实体Bean-映射查询</entry>
+
+ <entry>melthaw</entry>
+
+ <entry>Zheng Shuai</entry>
+
+ <entry>superq, Liu Chang, Sean Chan</entry>
+ </row>
+
+ <row>
+ <entry>#5</entry>
+
+ <entry>Entity Beans-Hibernate Annotation Extensions</entry>
+
+ <entry>实体Bean-Hibernate独有的注解扩展</entry>
+
+ <entry>Sean Chan</entry>
+
+ <entry>morning</entry>
+
+ <entry>melthaw</entry>
+ </row>
+
+ <row>
+ <entry>#6</entry>
+
+ <entry>Overriding metadata through XML</entry>
+
+ <entry>通过XML覆写元数据</entry>
+
+ <entry>icess</entry>
+
+ <entry>melthaw</entry>
+
+ <entry>Sean Chan</entry>
+ </row>
+
+ <row>
+ <entry>#7</entry>
+
+ <entry>Hibernate Validator</entry>
+
+ <entry>Hibernate验证器</entry>
+
+ <entry>DigitalSonic</entry>
+
+ <entry>morning</entry>
+
+ <entry>melthaw</entry>
+ </row>
+
+ <row>
+ <entry>#8</entry>
+
+ <entry>Hibernate Lucene Integration</entry>
+
+ <entry>Hibernate与Lucene集成</entry>
+
+ <entry>mochow</entry>
+
+ <entry>morning</entry>
+
+ <entry>melthaw</entry>
+ </row>
+
+ <row>
+ <entry>#9</entry>
+
+ <entry>Appendix:Glossary</entry>
+
+ <entry>附录:术语表</entry>
+
+ <entry>mochow</entry>
+
+ <entry>Liu Chang</entry>
+
+ <entry>曹晓钢</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>关于我们</para>
+
+ <variablelist spacing="compact">
+ <varlistentry>
+ <term>满江红.开源,
http://www.redsaga.com</term>
+
+ <listitem>
+
<
para>从成立之初就致力于Java开放源代码在中国的传播与发展,与国内多个Java团体及出版社有深入交流。坚持少说多做的原则,目前有两个团...
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>致谢</term>
+
+ <listitem>
+ <para>在我们翻译Hibernate
+ Annotation参考文档的同时,还有一位热心的朋友也在进行着同样的工作,这位朋友就是icess(冰雨),由icess翻译的中文版的地址:
+
http://icess.my.china.com/hibernate/a/ref/index.htm</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+
+ <sect1 id="preface-translate-licence-zh-cn">
+ <title>版权声明</title>
+
+
<para>Hibernate英文文档属于Hibernate发行包的一部分,遵循LGPL协议。本翻译版本同样遵循LGPL协议。参与翻译的译者一致同意放弃除署名权外对本翻译版本的其它权利要求。</para>
+
+
<para>您可以自由链接、下载、传播此文档,或者放置在您的网站上,甚至作为产品的一部分发行。但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明,并不能违反LGPL协议。这里“完整”的含义是,不能进行任何删除/增添/注解。若有删除/增添/注解,必须逐段明确声明那些部分并非本文档的一部分。</para>
+ </sect1>
+ </preface>
+
+ <preface>
+ <title>前言</title>
+
+ <para>正如其他的ORM工具,Hibernate同样需要元数据来控制在不同数据表达形式之间的转化. 在Hibernate
+ 2.x里,多数情况下表示映射关系的元数据保存在XML文本文件中.
+ 还有一种方式就是Xdoclet,它可以在编译时利用Javadoc中的源码注释信息来进行预处理.
+ 现在新的JDK标准(JDK1.5以上)也支持类似的注解功能,但相比之下很多工具对此提供了更强大更好用的支持. 以IntelliJ
+ IDEA和Eclipse为例,这些IDE工具为JDK 5.0注解功能提供了自动完成和语法高亮功能. 注解被直接编译到字节码里,并
+ 在运行时(对于Hibernate来讲就是启动的时候)通过反射读取这些注解, 因此外部XML文件就不再需要了.</para>
+
+ <para>EJB3规范最终认可了透明化ORM的成功范例以及市场对于这种技术的兴趣.
+ EJB3规范标准化了ORM的基础API而且在任何ORM持久化机制中使用元数据. <emphasis>Hibernate
+ EntityManager</emphasis>实现了EJB3持久化规范中定义的编程接口和生命周期规则.
在<emphasis>Hibernate
+ Core</emphasis>的基础上再结合 <emphasis>Hibernate
+ Annotations</emphasis>就实现了一套完整(并且独立)的EJB3持久化解决方案.
+ 你可以结合三者来使用,也可以抛开EJB3编程接口和生命周期规则而独立使用注解, 甚至只单独使用<emphasis>Hibernate
+ Core</emphasis>. 这些都取决于项目的商业和技术上的实际需求. Hibernate允许你直接使用native APIs,如果有需要,
+ 甚至可以直接操作JDBC和SQL.</para>
+
+ <para>注意本文档基于Hibernate Annotations的预览版(遵从EJB 3.0/JSR-220最终草案).
+ 这个版本和新规范中定义的最终概念已经非常接近了.我们的目标是提供一套完整的ORM注解,
+ 包括EJB3的标准注解以及Hibernate3的扩展(后者是EJB3规范中没有涉及到的). 最终通过注解你可以完成任何可能的映射.详情参考<xref
+ linkend="compliance" />.</para>
+
+ <para>EJB3最终草案修改了部分注解,
+
http://www.hibernate.org/371.html提供了从上一个版本到最新版本的迁移指南.</para>
+ </preface>
+
+ &setup;
+
+ &entity;
+
+ &xml-overriding;
+
+ &validator;
+
+ &lucene;
+
+ <appendix>
+ <title id="glossary">术语表</title>
+
+
<
para>Redsaga的wiki上维护了本文翻译过程中所参照的中英文对照的术语表,地址:http://wiki.redsaga.com/c...
+ </appendix>
+</book>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/entity.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/entity.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/entity.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,2857 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="entity">
+ <title>实体Bean</title>
+
+ <sect1 id="entity-overview" revision="1">
+ <title>简介</title>
+
+ <para>本章内容覆盖了EJB3.0实体bean的注解规范以及Hibernate特有的扩展.</para>
+ </sect1>
+
+ <sect1 id="mapping" revision="1">
+ <title>用EJB3注解进行映射</title>
+
+ <para>现在EJB3实体Bean是纯粹的POJO.实际上这表达了和Hibernate持久化实体对象同样的概念.
+ 它们的映射都通过JDK5.0注解来定义(EJB3规范中的XML描述语法至今还没有最终定下来).
+ 注解分为两个部分,分别是逻辑映射注解和物理映射注解,
+ 通过逻辑映射注解可以描述对象模型,类之间的关系等等,
+ 而物理映射注解则描述了物理的schema,表,列,索引等等.
+ 下面我们在代码中将混合使用这两种类型的注解.</para>
+
+ <para>EJB3注解的API定义在<literal>javax.persistence.*</literal>包里面.
+ 大部分和JDK5兼容的IDE(象Eclipse, IntelliJ IDEA 和Netbeans等等)都提供了注解接口和属性的自动完成功能.
+ (这些不需要IDE提供特别的EJB3支持模块,因为EJB3注解是标准的JDK5注解)</para>
+
+ <para>请阅读JBoss EJB 3.0指南或者直接阅读Hibernate Annotations测试代码以获取更多的可运行实例.Hibernate
Annotations提供的大部分单元测试代码都演示了实际的例子,是一个获取灵感的好地方.</para>
+
+ <sect2>
+ <title>声明实体bean</title>
+
+
<para>每一个持久化POJO类都是一个实体bean,这可以通过在类的定义中使用<literal>@Entity</literal>注解来进行声明:</para>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+ Long id;
+
+ @Id
+ public Long getId() { return id; }
+
+ public void setId(Long id) { this.id = id; }
+}
+ </programlisting>
+
+
<para>通过<literal>@Entity</literal>注解将一个类声明为一个实体bean(即一个持久化POJO类),
+ <literal>@Id</literal>注解则声明了该实体bean的标识属性.
+ 其他的映射定义是隐式的.这种以隐式映射为主体,以显式映射为例外的配置方式在新的EJ3规范中处于非常重要的位置,
+ 和以前的版本相比有了质的飞跃.
+ 在上面这段代码中:Flight类映射到Flight表,并使用id列作为主键列.
+ </para>
+
+ <para>在对一个类进行注解时,你可以选择对它的的属性或者方法进行注解,根据你的选择,Hibernate的访问类型分别为
+ <literal>field</literal>或<literal>property</literal>.
+ EJ3规范要求在需要访问的元素上进行注解声明,例如,如果访问类型为
+ <literal>property</literal>就要在getter方法上进行注解声明,
+ 如果访问类型为 <literal>field</literal>就要在字段上进行注解声明.应该尽量避免混合使用这两种访问类型.
+ Hibernate根据<literal>@Id</literal> 或
<literal>@EmbeddedId</literal>的位置来判断访问类型.</para>
+
+ <sect3>
+ <title>定义表(Table)</title>
+
+ <para><literal>@Table</literal>是类一级的注解,
+ 通过<literal>@Table</literal>注解可以为实体bean映射指定表(table),目录(catalog)和schema的名字.
+ 如果没有定义<literal>@Table</literal>,那么系统自动使用默认值:实体的短类名(不附带包名).</para>
+
+ <programlisting>
+@Entity
+@Table(name="tbl_sky")
+public class Sky implements Serializable {
+...
+ </programlisting>
+
+
<para><literal>@Table</literal>元素包括了一个<literal>schema</literal>
+ 和一个 <literal>catalog</literal>属性,如果需要可以指定相应的值.
+ 结合使用<literal>@UniqueConstraint</literal>注解可以定义表的唯一约束(unique constraint)
+ (对于绑定到单列的唯一约束,请参考<literal>@Column</literal>注解)
+ </para>
+
+ <programlisting>@Table(name="tbl_sky",
+ <emphasis role="bold">uniqueConstraints =
{@UniqueConstraint(columnNames={"month", "day"})}</emphasis>
+ )</programlisting>
+
+ <para>上面这个例子中,在month和day这两个字段上定义唯一约束.
+ 注意<literal>columnNames</literal>数组中的值指的是逻辑列名.</para>
+
+ <remark>Hibernate在NamingStrategy的实现中定义了逻辑列名.
+ 默认的EJB3命名策略将物理字段名当作逻辑字段名来使用.
+ 注意该字段名和它对应的属性名可能不同(如果字段名是显式指定的话).
+ 除非你重写了NamingStrategy,否则不用担心这些区别..</remark>
+ </sect3>
+
+ <sect3>
+ <title>乐观锁定版本控制</title>
+
+
<para>你可以在实体bean中使用<literal>@Version</literal>注解,通过这种方式可添加对乐观锁定的支持:</para>
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+...
+ @Version
+ @Column(name="OPTLOCK")
+ public Integer getVersion() { ... }
+} </programlisting>
+
+ <para>上面这个例子中,version属性将映射到 <literal>OPTLOCK</literal>列,
+ entity manager使用该字段来检测更新冲突(防止更新丢失,请参考last-commit-wins策略).</para>
+
+ <para>根据EJB3规范,version列可以是numeric类型(推荐方式)也可以是timestamp类型.
+ Hibernate支持任何自定义类型,只要该类型实现了<classname>UserVersionType</classname>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>映射简单属性</title>
+
+ <sect3>
+ <title>声明基本的属性映射</title>
+
+ <para>Every non static non transient property (field or method) of an
+ entity bean is considered persistent, unless you annotate it as
+ <literal>@Transient</literal>. Not having an annotation for your
+ property is equivalent to the appropriate <literal>@Basic</literal>
+ annotation. The <literal>@Basic</literal> annotation allows you to
+ declare the fetching strategy for a property:</para>
+
+ <para>实体bean中所有的非static非transient的属性都可以被持久化,
+ 除非你将其注解为<literal>@Transient</literal>.所有没有定义注解的属性等价于在其上面添加了(a)xn--basic-w69ki98n.
+ 通过 <literal>@Basic</literal>注解可以声明属性的获取策略(fetch strategy):</para>
+
+ <programlisting>public transient int counter; //transient property
+
+private String firstname; //persistent property
+
+@Transient
+String getLengthInMeter() { ... } //transient property
+
+String getName() {... } // persistent property
+
+@Basic
+int getLength() { ... } // persistent property
+
+@Basic(fetch = FetchType.LAZY)
+String getDetailedComment() { ... } // persistent property
+
+(a)Temporal(TemporalType.TIME)
+java.util.Date getDepartureTime() { ... } // persistent property
+
+(a)Enumerated(EnumType.STRING)
+Starred getNote() { ... } //enum persisted as String in database</programlisting>
+
+ <para>上面这个例子中,<literal>counter</literal>是一个transient的字段,
+ <literal>lengthInMeter</literal>的getter方法被注解为<literal>@Transient</literal>,
+ entity manager将忽略这些字段和属性.
+ 而<literal>name</literal>,<literal>length</literal>,<literal>firstname</literal>
+ 这几个属性则是被定义为可持久化和可获取的.对于简单属性来说,默认的获取方式是即时获取(early fetch).
+ 当一个实体Bean的实例被创建时,Hibernate会将这些属性的值从数据库中提取出来,保存到Bean的属性里.
+ 与即时获取相对应的是延迟获取(lazy fetch).如果一个属性的获取方式是延迟获取
+ (比如上面例子中的<literal>detailedComment</literal>属性),
+ Hibernate在创建一个实体Bean的实例时,不会即时将这个属性的值从数据库中读出.
+ 只有在该实体Bean的这个属性第一次被调用时,Hibernate才会去获取对应的值.
+ 通常你不需要对简单属性设置延迟获取(lazy simple property),千万不要和延迟关联获取(lazy association fetch)混淆了
+ (译注:这里指不要把lazy simple property和lazy association fetch混淆了).
+ </para>
+
+ <note>
+ <para>为了启用属性级的延迟获取,你的类必须经过特殊处理(instrumented):
+ 字节码将被织入原始类中来实现延迟获取功能,
+ 详情参考Hibernate参考文档.如果不对类文件进行字节码特殊处理,
+ 那么属性级的延迟获取将被忽略.</para>
+ </note>
+
+ <para>推荐的替代方案是使用EJB-QL或者Criteria查询的投影(projection)功能.</para>
+
+ <para>Hibernate和EJB3都支持所有基本类型的属性映射.
+ 这些基本类型包括所有的Java基本类型,及其各自的wrapper类和serializable类.
+ Hibernate Annotations还支持将内置的枚举类型映射到一个顺序列(保存了相应的序列值)
+ 或一个字符串类型的列(保存相应的字符串).默认是保存枚举的序列值,
+ 但是你可以通过<literal>@Enumerated</literal>注解来进行调整(见上面例子中的note属性).</para>
+
+ <para>在核心的Java API中并没有定义时间精度(temporal precision).
+ 因此处理时间类型数据时,你还需要定义将其存储在数据库中所预期的精度.
+ 在数据库中,表示时间类型的数据有<literal>DATE</literal>,
<literal>TIME</literal>,
+ 和 <literal>TIMESTAMP</literal>三种精度(即单纯的日期,时间,或者两者兼备).
+ 可使用<literal>(a)xn--temporal</literal>-o550cb84gn7k1s1bd89ghowd40n.</para>
+
+ <para><literal>@Lob</literal>注解表示属性将被持久化为Blob或者Clob类型,
+ 具体取决于属性的类型,
+ <classname>java.sql.Clob</classname>,
+ <classname>Character[]</classname>,
+ <classname>char[]</classname> 和
+ <classname>java.lang.String</classname>这些类型的属性都被持久化为Clob类型,
+ 而<classname>java.sql.Blob</classname>,
+ <classname>Byte[]</classname>,
+ <classname>byte[]</classname> 和
+ serializable类型则被持久化为Blob类型.</para>
+
+ <programlisting>
+@Lob
+public String getFullText() {
+ return fullText;
+}
+
+@Lob
+public byte[] getFullCode() {
+ return fullCode;
+}
+ </programlisting>
+
+
<para>如果某个属性实现了<classname>java.io.Serializable</classname>同时也不是基本类型,
+ 并且没有在该属性上使用<literal>@Lob</literal>注解,
+ 那么Hibernate将使用自带的<literal>serializable</literal>类型.
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>声明列属性</title>
+
+ <para>使用 <literal>@Column </literal>注解可将属性映射到列.
+ 使用该注解来覆盖默认值(关于默认值请参考EJB3规范).
+ 在属性级使用该注解的方式如下:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>不进行注解</para>
+ </listitem>
+
+ <listitem>
+ <para>和 <literal>@Basic</literal>一起使用</para>
+ </listitem>
+
+ <listitem>
+ <para>和 <literal>@Version</literal>一起使用</para>
+ </listitem>
+
+ <listitem>
+ <para>和 <literal>@Lob</literal>一起使用</para>
+ </listitem>
+
+ <listitem>
+ <para>和 <literal>@Temporal</literal>一起使用</para>
+ </listitem>
+
+ <listitem>
+ <para>和
+
<literal>(a)org.hibernate.annotations.xn--collectionofelements</literal>-0j31d3z0a3617a7g9g
+ (只针对Hibernate )</para>
+ </listitem>
+ </itemizedlist>
+
+
+ <programlisting>
+@Entity
+public class Flight implements Serializable {
+...
+@Column(updatable = false, name = "flight_name", nullable = false, length=50)
+public String getName() { ... }
+ </programlisting>
+
+
<para>在上面这个例子中,<literal>name</literal>属性映射到<literal>flight_name</literal>列.
+ 该字段不允许为空,长度为50,并且是不可更新的(也就是属性值是不变的).</para>
+
+ <para>上面这些注解可以被应用到正规属性上例如<literal>@Id</literal>
或<literal>(a)xn--version</literal>-k147bf35c.</para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="2 55" id="hm1" />
+
+ <area coords="3 55" id="hm2" />
+
+ <area coords="4 55" id="hm3" />
+
+ <area coords="5 55" id="hm4" />
+
+ <area coords="6 55" id="hm5" />
+
+ <area coords="7 55" id="hm6" />
+
+ <area coords="8 55" id="hm7" />
+
+ <area coords="9 55" id="hm8" />
+
+ <area coords="10 55" id="hm9" />
+
+ <area coords="11 55" id="hm10" />
+ </areaspec>
+
+ <programlisting>@Column(
+ name="columnName";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale</programlisting>
+
+ <calloutlist>
+ <callout arearefs="hm1">
+ <para><literal>name</literal>
可选,列名(默认值是属性名)</para>
+ </callout>
+
+ <callout arearefs="hm2">
+ <para><literal>unique</literal>
可选,是否在该列上设置唯一约束(默认值false)</para>
+ </callout>
+
+ <callout arearefs="hm3">
+ <para><literal>nullable</literal>
可选,是否设置该列的值可以为空(默认值false)</para>
+ </callout>
+
+ <callout arearefs="hm4">
+ <para><literal>insertable</literal>
可选,该列是否作为生成的insert语句中的一个列(默认值true)</para>
+ </callout>
+
+ <callout arearefs="hm5">
+ <para><literal>updatable</literal>
可选,该列是否作为生成的update语句中的一个列(默认值true)</para>
+ </callout>
+
+ <callout arearefs="hm6">
+ <para><literal>columnDefinition</literal> 可选: 为这个特定列覆盖SQL
DDL片段 (这可能导致无法在不同数据库间移植)</para>
+ </callout>
+
+ <callout arearefs="hm7">
+ <para><literal>table</literal>
可选,定义对应的表(默认为主表)</para>
+ </callout>
+
+ <callout arearefs="hm8">
+
<para><literal><literal>length</literal></literal>
可选,列长度(默认值255)</para>
+ </callout>
+
+ <callout arearefs="hm8">
+
<para><literal><literal>precision</literal></literal>
+ 可选,列十进制精度(decimal precision)(默认值0)</para>
+ </callout>
+
+ <callout arearefs="hm10">
+
<para><literal><literal>scale</literal></literal>
+ 可选,如果列十进制数值范围(decimal scale)可用,在此设置(默认值0)</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ </sect3>
+
+ <sect3>
+ <title>嵌入式对象(又名组件)</title>
+
+ <para>在实体中可以定义一个嵌入式组件(embedded component),
+ 甚至覆盖该实体中原有的列映射.
+ 组件类必须在类一级定义<literal>@Embeddable</literal>注解.
+ 在特定的实体的关联属性上使用<literal>@Embedded</literal>和
+ <literal>@AttributeOverride</literal>注解可以覆盖该属性对应的嵌入式对象的列映射:</para>
+
+ <programlisting>
+@Entity
+public class Person implements Serializable {
+
+ // Persistent component using defaults
+ Address homeAddress;
+
+ @Embedded
+ @AttributeOverrides( {
+ @AttributeOverride(name="iso2", column =
@Column(name="bornIso2") ),
+ @AttributeOverride(name="name", column =
@Column(name="bornCountryName") )
+ } )
+ Country bornIn;
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class Address implements Serializable {
+ String city;
+ Country nationality; //no overriding here
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class Country implements Serializable {
+ private String iso2;
+ @Column(name="countryName") private String name;
+
+ public String getIso2() { return iso2; }
+ public void setIso2(String iso2) { this.iso2 = iso2; }
+
+
+ public String getName() { return name; }
+ public void setName(String name) { this.name = name; }
+ ...
+}
+ </programlisting>
+
+ <para>嵌入式对象继承其所属实体中定义的访问类型
+ (注意:这可以通过使用Hibernate提供的<literal>@AccessType</literal>注解来覆盖原有值)(请参考
<xref
+ linkend="entity-hibspec" />).</para>
+
+ <para>在上面的例子中,实体bean <literal>Person</literal> 有两个组件属性,
+ 分别是<literal>homeAddress</literal>和<literal>bornIn</literal>.
+ 我们可以看到<literal>homeAddress</literal> 属性并没有注解.
+ 但是Hibernate自动检测其对应的Address类中的<literal>@Embeddable</literal>注解,
+ 并将其看作一个持久化组件.对于Country中已映射的属性,
+ 则使用<literal>@Embedded</literal>和<literal>@AttributeOverride
+ </literal>注解来覆盖原来映射的列名.
+ 正如你所看到的,
<literal>Address</literal>对象中还内嵌了<literal>Country</literal>对象,
+ 这里和<literal>homeAddress</literal>一样使用了Hibernate和EJB3自动检测机制.
+ 目前EJB3规范还不支持覆盖多层嵌套(即嵌入式对象中还包括其他嵌入式对象)的列映射.
+ 不过Hibernate通过在表达式中使用"."符号表达式提供了对此特征的支持.</para>
+
+ <para><programlisting> @Embedded
+ @AttributeOverrides( {
+ @AttributeOverride(name="city", column =
@Column(name="fld_city") ),
+ @AttributeOverride(name="<emphasis
role="bold">nationality.iso2</emphasis>", column =
@Column(name="nat_Iso2") ),
+ @AttributeOverride(name="<emphasis
role="bold">nationality.name</emphasis>", column =
@Column(name="nat_CountryName") )
+ //nationality columns in homeAddress are overridden
+ } )
+ Address homeAddress;</programlisting>
+ Hibernate注解支持很多EJB3规范中没有明确定义的特性.
+ 例如,可以在嵌入式对象上添加 <literal>@MappedSuperclass</literal>注解,
+ 这样可以将其父类的属性持久(详情请查阅<literal>(a)MappedSuperclass</literal>).</para>
+
+
<para>Hibernate现在支持在嵌入式对象中使用关联注解(如<literal>@*ToOne</literal>和<literal>@*ToMany</literal>).
+ 而EJB3规范尚不支持这样的用法。你可以使用
<literal>@AssociationOverride</literal>注解来覆写关联列.</para>
+
+
+ <para>在同一个实体中使用两个同类型的嵌入对象,
+ 其默认列名是无效的:至少要对其中一个进行明确声明.
+ Hibernate在这方面走在了EJB3规范的前面,
+ Hibernate提供了<classname>NamingStrategy</classname>, 在使用Hibernate时,
+ 通过<classname>NamingStrategy</classname>你可以对默认的机制进行扩展.
+ <classname>DefaultComponentSafeNamingStrategy</classname>
+ 在默认的EJB3NamingStrategy上进行了小小的提升,
+ 允许在同一实体中使用两个同类型的嵌入对象而无须额外的声明.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>无注解之属性的默认值</title>
+
+ <para>如果某属性没有注解,该属性将遵守下面的规则:</para>
+
+ <itemizedlist>
+ <listitem>
+ 如果属性为单一类型,则映射为@Basic
+ </listitem>
+
+ <listitem>
+ 否则,如果属性对应的类型定义了@Embeddable注解,则映射为@Embedded
+ </listitem>
+
+ <listitem>
+ 否则,如果属性对应的类型实现了Serializable,
+ 则属性被映射为@Basic并在一个列中保存该对象的serialized版本
+ </listitem>
+
+ <listitem>
+ 否则,如果该属性的类型为java.sql.Clob 或 java.sql.Blob,则作为@Lob并映射到适当的LobType.
+ </listitem>
+ </itemizedlist>
+
+ </sect3>
+ </sect2>
+
+ <sect2 id="mapping-identifier" label=""
+ xreflabel="Mapping identifier properties">
+ <title>映射主键属性</title>
+
+
<para>使用<literal>@Id</literal>注解可以将实体bean中的某个属性定义为标识符(identifier).
+ 该属性的值可以通过应用自身进行设置,
+ 也可以通过Hiberante生成(推荐).
+ 使用 <literal>@GeneratedValue</literal>注解可以定义该标识符的生成策略:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ AUTO - 可以是identity column类型,或者sequence类型或者table类型,取决于不同的底层数据库.
+ </listitem>
+
+ <listitem>
+ TABLE - 使用表保存id值
+ </listitem>
+
+ <listitem>
+ IDENTITY - identity column
+ </listitem>
+
+ <listitem>
+ SEQUENCE - sequence
+ </listitem>
+ </itemizedlist>
+
+ <para>和EJB3规范相比,Hibernate提供了更多的id生成器.详情请查阅 <xref
linkend="entity-hibspec" /> .</para>
+
+
+ <para>下面的例子展示了使用SEQ_STORE配置的sequence生成器</para>
+
+ <programlisting>
+@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
+public Integer getId() { ... }
+ </programlisting>
+
+ <para>下面这个例子使用的是identity生成器</para>
+
+ <programlisting>
+@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
+public Long getId() { ... }
+ </programlisting>
+
+ <para><literal>AUTO</literal>生成器适用于可移植的应用(在多个DB间切换).
+ 多个<literal>@Id</literal>可以共享同一个identifier生成器,只要把generator属性设成相同的值就可以了.
+ 通过<literal>@SequenceGenerator</literal>
和<literal>@TableGenerator</literal>,你可以配置不同的identifier生成器.
+ 每一个identifier生成器都有自己的适用范围,可以是应用级(application level)和类一级(class level).
+ 类一级的生成器在外部是不可见的,
+ 而且类一级的生成器可以覆盖应用级的生成器.
+ 应用级的生成器则定义在包一级(package
level)(如<classname>package-info.java</classname>):</para>
+
+ <programlisting>
+(a)javax.persistence.TableGenerator(
+ name="EMP_GEN",
+ table="GENERATOR_TABLE",
+ pkColumnName = "key",
+ valueColumnName = "hi"
+ pkColumnValue="EMP",
+ allocationSize=20
+)
+(a)javax.persistence.SequenceGenerator(
+ name="SEQ_GEN",
+ sequenceName="my_sequence"
+)
+package org.hibernate.test.metadata;
+ </programlisting>
+
+ <para>
+ 如果在<classname>org.hibernate.test.metadata</classname>包下面的
+ <classname>package-info.java</classname>文件用于初始化EJB配置,
+ 那么该文件中定义的 <literal>EMP_GEN</literal>
+ 和<literal>SEQ_GEN</literal>都是应用级的生成器.
+ <literal>EMP_GEN</literal>定义了一个使用hilo算法
+ (max_lo为20)的id生成器(该生成器将id的信息存在数据库的某个表中.).
+ id的hi值保存在<literal>GENERATOR_TABLE</literal>中.
+ 在该表中 <literal>pkColumnName</literal>"key"等价于
+ <literal>pkColumnValue</literal>
"<literal>EMP</literal>",
+ 而<literal>valueColumnName</literal>
"<literal>hi</literal>"中存储的是下一个要使用的最大值.
+ </para>
+
+ <para><literal>SEQ_GEN</literal>则定义了一个sequence 生成器,
+ 其对应的sequence名为 <literal>my_sequence</literal>.
+ 注意目前Hibernate Annotations还不支持sequence 生成器中的
+ <literal>initialValue</literal>和
<literal>allocationSize</literal>参数.</para>
+
+ <para>下面这个例子展示了定义在类范围(class scope)的sequence生成器:</para>
+
+ <programlisting>
+@Entity
+(a)javax.persistence.SequenceGenerator(
+ name="SEQ_STORE",
+ sequenceName="my_sequence"
+)
+public class Store implements Serializable {
+ private Long id;
+
+ @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,
generator="SEQ_STORE")
+ public Long getId() { return id; }
+}
+ </programlisting>
+
+ <para>在这个例子中,Store类使用名为my_sequence的sequence,并且SEQ_STORE 生成器对于其他类是不可见的.
+ 注意在org.hibernate.test.metadata.id包下的测试代码有更多演示Hibernate
Annotations用法的例子..</para>
+
+ <para>下面是定义组合主键的几种语法:</para>
+
+ <itemizedlist>
+ <listitem>
+ 将组件类注解为@Embeddable,并将组件的属性注解为@Id
+ </listitem>
+
+ <listitem>
+ 将组件的属性注解为@EmbeddedId
+ </listitem>
+
+ <listitem>
+ 将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id
+ </listitem>
+ </itemizedlist>
+
+ <para>对于EJB2的开发人员来说 <literal>@IdClass</literal>是很常见的,
+ 但是对于Hibernate的用户来说就是一个崭新的用法.
+ 组合主键类对应了一个实体类中的多个字段或属性,
+ 而且主键类中用于定义主键的字段或属性和
+ 实体类中对应的字段或属性在类型上必须一致.下面我们看一个例子:</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">(a)IdClass(FootballerPk.class)</emphasis>
+public class Footballer {
+ //part of the id key
+ <emphasis role="bold">@Id</emphasis> public String
getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ //part of the id key
+ <emphasis role="bold">@Id</emphasis> public String
getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getClub() {
+ return club;
+ }
+
+ public void setClub(String club) {
+ this.club = club;
+ }
+
+ //appropriate equals() and hashCode() implementation
+}
+
+@Embeddable
+public class FootballerPk implements Serializable {
+ //same name and type as in Footballer
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ //same name and type as in Footballer
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ //appropriate equals() and hashCode() implementation
+}
+</programlisting>
+
+
+ <para>如上, <literal>(a)xn--idclass</literal>-y430be90gt76btyoem3a3d2j5npbm91l.</para>
+
+ <para>Hibernate支持在组合标识符中定义关联(就像使用普通的注解一样),而EJB3规范并不支持此类用法.
+ </para>
+
+ <programlisting>@Entity
+@AssociationOverride( name="id.channel", joinColumns =
@JoinColumn(name="chan_id") )
+public class TvMagazin {
+ @EmbeddedId public TvMagazinPk id;
+ @Temporal(TemporalType.TIME) Date time;
+}
+
+@Embeddable
+public class TvMagazinPk implements Serializable {
+ @ManyToOne
+ public Channel channel;
+ public String name;
+ @ManyToOne
+ public Presenter presenter;
+}
+</programlisting>
+
+ </sect2>
+
+ <sect2>
+ <title>映射继承关系</title>
+
+ <para>EJB3支持三种类型的继承映射:</para>
+
+ <itemizedlist>
+ <listitem>
+ 每个类一张表(Table per class)策略: 在Hibernate中对应<union-class>元素:
+ </listitem>
+
+ <listitem>
+ 每个类层次结构一张表(Single table per class
hierarchy)策略:在Hibernate中对应<subclass>元素
+ </listitem>
+
+ <listitem>
+ 连接的子类(Joined subclasses)策略:在Hibernate中对应 <joined-subclass>元素
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ 你可以用 <literal>@Inheritance</literal>注解来定义所选择的策略.
+ 这个注解需要在每个类层次结构(class hierarchy) 最顶端的实体类上使用.
+ </para>
+
+ <note>
+ <para>目前还不支持在接口上进行注解.</para>
+ </note>
+
+ <sect3>
+ <title>每个类一张表</title>
+
+ <para>
+ 这种策略有很多缺点(例如:多态查询和关联),EJB3规范, Hibernate参考手册,
+ Hibernate in Action,以及其他许多地方都对此进行了描述和解释.
+ Hibernate使用<literal>SQL UNION</literal>查询来实现这种策略.
+ 通常使用场合是在一个继承层次结构的顶端:</para>
+
+ <programlisting>
+@Entity
+@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
+public class Flight implements Serializable {
+ </programlisting>
+
+ <para>
+ 这种策略支持双向的一对多关联.
+ 这里不支持<literal>IDENTITY</literal>生成器策略,因为id必须在多个表间共享.
+ 当然,一旦使用这种策略就意味着你不能使用
+ <literal>AUTO </literal>生成器和<literal>IDENTITY</literal>生成器.
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>每个类层次结构一张表</title>
+
+ <para>整个继承层次结构中的父类和子类的所有属性都映射到同一个表中,
+ 他们的实例通过一个辨别符(discriminator)列来区分.:</para>
+
+ <programlisting>
+@Entity
+(a)Inheritance(strategy=InheritanceType.SINGLE_TABLE)
+@DiscriminatorColumn(
+ name="planetype",
+ discriminatorType=DiscriminatorType.STRING
+)
+@DiscriminatorValue("Plane")
+public class Plane { ... }
+
+@Entity
+@DiscriminatorValue("A320")
+public class A320 extends Plane { ... }
+ </programlisting>
+
+ <para>在上面这个例子中,<classname>Plane</classname>是父类,在这个类里面将继承策略定义为
+ <literal>InheritanceType.SINGLE_TABLE</literal>,并通过
+ <literal>@DiscriminatorColumn</literal>注解定义了辨别符列(还可以定义辨别符的类型).
+ 最后,对于继承层次结构中的每个类,<literal>@DiscriminatorValue</literal>注解指定了用来辨别该类的值.
+ 辨别符列的名字默认为
<literal>DTYPE</literal>,其默认值为实体名(在<literal>(a)Entity.xn--name</literal>),-4m78ahth94dwj1bn5wzn4s
+ 为DiscriminatorType.STRING.
+ <classname>A320</classname>是子类,如果不想使用默认的辨别符,只需要指定相应的值即可.
+ 其他的如继承策略,辨别标志字段的类型都是自动设定的.</para>
+
+ <para><literal>@Inheritance</literal> 和
+ <literal>@DiscriminatorColumn</literal>
注解只能用于实体层次结构的顶端.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>连接的子类</title>
+
+ <para>当每个子类映射到一个表时, <literal> @PrimaryKeyJoinColumn</literal>
+ 和<literal>@PrimaryKeyJoinColumns</literal>
+ 注解定义了每个子类表关联到父类表的主键:</para>
+
+ <programlisting>
+@Entity
+(a)Inheritance(strategy=InheritanceType.JOINED)
+public class Boat implements Serializable { ... }
+
+@Entity
+public class Ferry extends Boat { ... }
+
+@Entity
+@PrimaryKeyJoinColumn(name="BOAT_ID")
+public class AmericaCupClass extends Boat { ... }
+ </programlisting>
+
+ <para>以上所有实体都使用了<literal>JOINED</literal>策略,
+ <literal>Ferry</literal>表和<literal>Boat</literal>表使用同名的主键.
+ 而<literal>AmericaCupClass</literal>表和<literal>Boat</literal>表使用了条件
+ <code>Boat.id = AmericaCupClass.BOAT_ID</code>进行关联.
+ </para>
+ </sect3>
+
+ <sect3>
+ <title>从父类继承的属性</title>
+
+ <para>有时候通过一个(技术上或业务上)父类共享一些公共属性是很有用的,
+ 同时还不用将该父类作为映射的实体(也就是该实体没有对应的表).
+ 这个时候你需要使用<literal>@MappedSuperclass</literal>注解来进行映射.</para>
+
+ <programlisting>@MappedSuperclass
+public class BaseEntity {
+ @Basic
+ @Temporal(TemporalType.TIMESTAMP)
+ public Date getLastUpdate() { ... }
+ public String getLastUpdater() { ... }
+ ...
+}
+
+@Entity class Order extends BaseEntity {
+ @Id public Integer getId() { ... }
+ ...
+}</programlisting>
+
+ <para>在数据库中,上面这个例子中的继承的层次结构最终以<literal>Order</literal>表的形式出现,
+ 该表拥有<literal>id</literal>, <literal>lastUpdate</literal> 和
+ <literal>lastUpdater</literal>三个列.父类中的属性映射将复制到其子类实体.
+ 注意这种情况下的父类不再处在继承层次结构的顶端.</para>
+
+ <note>
+
+
<para>注意,没有注解为<literal>@MappedSuperclass</literal>的父类中的属性将被忽略.</para>
+ </note>
+
+ <note>
+
+ <para>除非显式使用Hibernate
annotation中的<literal>@AccessType</literal>注解,
+ 否则将从继承层次结构的根实体中继承访问类型(包括字段或方法)</para>
+ </note>
+
+ <note>
+
+ <para>这对于<literal>@Embeddable</literal>对象的父类中的属性持久化同样有效.
+ 只需要使用<literal>@MappedSuperclass</literal>注解即可
+ (虽然这种方式不会纳入EJB3标准)</para>
+
+ </note>
+
+ <note>
+
+
<para>可以将处在在映射继承层次结构的中间位置的类注解为<literal>(a)MappedSuperclass</literal>.</para>
+ </note>
+
+ <note>
+
+ <para>在继承层次结构中任何没有被注解为<literal>@MappedSuperclass</literal>
+ 或<literal>(a)xn--entity</literal>-r635b965ckk6jedg878bbl1e2o7b.</para>
+ </note>
+
+ <para>
+ 你可以通过 <literal>@AttributeOverride</literal>注解覆盖实体父类中的定义的列.
+ 这个注解只能在继承层次结构的顶端使用.</para>
+
+ <programlisting>@MappedSuperclass
+public class FlyingObject implements Serializable {
+
+ public int getAltitude() {
+ return altitude;
+ }
+
+ @Transient
+ public int getMetricAltitude() {
+ return metricAltitude;
+ }
+
+ @ManyToOne
+ public PropulsionType getPropulsion() {
+ return metricAltitude;
+ }
+ ...
+}
+
+@Entity
+@AttributeOverride( name="altitude", column =
@Column(name="fld_altitude") )
+@AssociationOverride( name="propulsion", joinColumns =
@JoinColumn(name="fld_propulsion_fk") )
+public class Plane extends FlyingObject {
+ ...
+}</programlisting>
+
+ <para>在上面这个例子中,<literal>altitude</literal>属性的值最终将持久化到<literal>Plane</literal>
+ 表的<literal>fld_altitude</literal>列.而名为propulsion的关联则保存在<literal>fld_propulsion_fk</literal>外间列.</para>
+
+
<para>你可以为<literal>@Entity</literal>和<literal>@MappedSuperclass</literal>注解的类
+ 以及那些对象为<literal>@Embeddable</literal>的属性定义
+ <literal>@AttributeOverride</literal>和<literal>(a)AssociationOverride</literal>.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2 id="entity-mapping-association">
+ <title>映射实体Bean的关联关系</title>
+
+ <sect3>
+ <title>一对一(One-to-one)</title>
+
+ <para>使用<literal>@OneToOne</literal>注解可以建立实体bean之间的一对一的关联.
+ 一对一关联有三种情况:
+ 一是关联的实体都共享同样的主键,
+ 二是其中一个实体通过外键关联到另一个实体的主键
+ (注意要模拟一对一关联必须在外键列上添加唯一约束).
+ 三是通过关联表来保存两个实体之间的连接关系
+ (注意要模拟一对一关联必须在每一个外键上添加唯一约束).</para>
+
+ <para>首先,我们通过共享主键来进行一对一关联映射:</para>
+
+ <programlisting>
+@Entity
+public class Body {
+ @Id
+ public Long getId() { return id; }
+
+ @OneToOne(cascade = CascadeType.ALL)
+ @PrimaryKeyJoinColumn
+ public Heart getHeart() {
+ return heart;
+ }
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Heart {
+ @Id
+ public Long getId() { ...}
+}
+ </programlisting>
+
+ <para>上面的例子通过使用注解<literal>@PrimaryKeyJoinColumn</literal>定义了一对一关联.</para>
+
+ <para>下面这个例子使用外键列进行实体的关联.</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToOne(cascade = CascadeType.ALL)
+ <emphasis
role="bold">@JoinColumn(name="passport_fk")</emphasis>
+ public Passport getPassport() {
+ ...
+ }
+
+@Entity
+public class Passport implements Serializable {
+ @OneToOne(<emphasis role="bold">mappedBy =
"passport"</emphasis>)
+ public Customer getOwner() {
+ ...
+}
+ </programlisting>
+
+ <para>上面这个例子中,<classname>Customer</classname>
通过<literal>Customer</literal>
+ 表中名为的<literal>passport_fk</literal> 外键列和
<classname>Passport</classname>关联.
+ <literal>@JoinColumn</literal>注解定义了联接列(join column).
+ 该注解和<literal>@Column</literal>注解有点类似,
+ 但是多了一个名为<literal>referencedColumnName</literal>的参数.
+ 该参数定义了所关联目标实体中的联接列.
+ 注意,当<literal><literal>referencedColumnName</literal></literal>关联到非主键列的时候,
+ 关联的目标类必须实现<classname>Serializable</classname>,
+ 还要注意的是所映射的属性对应单个列(否则映射无效).
+ </para>
+
+ <para>一对一关联可能是双向的.在双向关联中,
+ 有且仅有一端是作为主体(owner)端存在的:主体端负责维护联接列(即更新).
+ 对于不需要维护这种关系的从表则通过mappedBy属性进行声明.
+ <literal>mappedBy</literal>的值指向主体的关联属性.
+ 在上面这个例子中,<literal>mappedBy</literal>的值为
<literal>passport</literal>.
+ 最后,不必也不能再在被关联端(owned side)定义联接列了,因为已经在主体端进行了声明.</para>
+
+ <para>如果在主体没有声明<literal>@JoinColumn</literal>,系统自动进行处理:
+ 在主表(owner table)中将创建联接列,
+ 列名为:主体的关联属性名+下划线+被关联端的主键列名.
+ 在上面这个例子中是<literal>passport_id</literal>,
+ 因为<literal>Customer</literal>中关联属性名为<literal>passport</literal>,
+ <literal>Passport</literal>的主键是<literal>id</literal>.</para>
+
+ <para>The third possibility (using an association table) is very
+ exotic.</para>
+
+ <para>第三种方式也许是最另类的(通过关联表).</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToOne(cascade = CascadeType.ALL)
+ <emphasis role="bold">@JoinTable(name =
"CustomerPassports",
+ joinColumns = @JoinColumn(name="customer_fk"),
+ inverseJoinColumns = @JoinColumn(name="passport_fk")</emphasis>
+ )
+ public Passport getPassport() {
+ ...
+ }
+
+@Entity
+public class Passport implements Serializable {
+ @OneToOne(<emphasis role="bold">mappedBy =
"passport"</emphasis>)
+ public Customer getOwner() {
+ ...
+}
+ </programlisting>
+
+ <para><classname>Customer</classname>通过名为
<literal>CustomerPassports</literal>的关联表和
+ <classname>Passport</classname>关联;
该关联表拥有名为<literal>passport_fk</literal>的外键列,该
+ 外键指向<literal>Passport</literal>表,该信息定义为<literal>inverseJoinColumn</literal>的属性值,
+ 而<literal>customer_fk</literal>外键列指向<literal>Customer</literal>表,
+ 该信息定义为 <literal>joinColumns</literal>的属性值.</para>
+
+ <para>这种关联可能是双向的.在双向关联中,
+ 有且仅有一端是作为主体端存在的:主体端负责维护联接列(即更新).
+ 对于不需要维护这种关系的从表则通过mappedBy属性进行声明.
+ <literal>mappedBy</literal>的值指向主体的关联属性.
+ 在上面这个例子中,<literal>mappedBy</literal>的值为
<literal>passport</literal>.
+ 最后,不必也不能再在被关联端(owned side)定义联接列了,因为已经在主体端进行了声明.</para>
+
+ <para>你必须明确定义关联表名和关联列名.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>多对一(Many-to-one)</title>
+
+
<para>在实体属性一级使用<literal>@ManyToOne</literal>注解来定义多对一关联:</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ <emphasis role="bold">@ManyToOne</emphasis>( cascade =
{CascadeType.PERSIST, CascadeType.MERGE} )
+ @JoinColumn(name="COMP_ID")
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+ </programlisting>
+
+ <para>其中<literal>@JoinColumn</literal>是可选的,关联字段默认值和一对一
+ (one to one)关联的情况相似,
+ 列名为:主体的关联属性名+下划线+被关联端的主键列名.
+ 在这个例子中是<literal>company_id</literal>,
+ 因为关联的属性是<literal>company</literal>,
+ <literal>Company</literal>的主键是<literal>id</literal>.</para>
+
+ <para><literal>@ManyToOne</literal>注解有一个名为<literal>targetEntity</literal>的参数,
+ 该参数定义了目标实体名.通常不需要定义该参数,
+ 因为在大部分情况下默认值(表示关联关系的属性类型)就可以很好的满足要求了.
+ 不过下面这种情况下这个参数就显得有意义了:使用接口作为返回值而不是常见的实体.</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, <emphasis
+ role="bold">targetEntity=CompanyImpl.class</emphasis> )
+ @JoinColumn(name="COMP_ID")
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+
+public interface Company {
+ ...
+ </programlisting>
+
+ <para>对于多对一也可以通过关联表的方式来映射。
+ 通过<literal>@JoinTable</literal>注解可定义关联表,
+ 该关联表包含了指回实体表的外键(通过<literal>(a)JoinTable.joinColumns</literal>)
+ 以及指向目标实体表的外键(通过<literal>(a)JoinTable.inverseJoinColumns</literal>).</para>
+
+ <programlisting>
+@Entity()
+public class Flight implements Serializable {
+ @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
+ <emphasis role="bold">@JoinTable(name="Flight_Company",
+ joinColumns = @JoinColumn(name="FLIGHT_ID"),
+ inverseJoinColumns = @JoinColumn(name="COMP_ID")
+ )</emphasis>
+ public Company getCompany() {
+ return company;
+ }
+ ...
+}
+ </programlisting>
+ </sect3>
+
+ <sect3 id="entity-mapping-association-collections">
+ <title>集合类型</title>
+
+ <sect4>
+ <title>概况</title>
+
+ <para>你可以对 <classname>Collection
</classname>,<literal>List</literal>
+ (指有序列表, 而不是索引列表),
+ <literal>Map</literal>和<classname>Set</classname>这几种类型进行映射.
+ EJB3规范定义了怎么样使用<literal>(a)javax.persistence.OrderBy</literal>
+ 注解来对有序列表进行映射:
+ 该注解接受的参数格式:用逗号隔开的(目标实体)属性名及排序指令,
+ 如<code>firstname asc, age desc</code>,如果该参数为空,则默认以id对该集合进行排序.
+ 如果某个集合在数据库中对应一个关联表(association table)的话,你不能在这个集合属性上面使用@OrderBy注解.
+ 对于这种情况的处理方法,请参考<xref linkend="entity-hibspec" />.
+ EJB3 允许你利用目标实体的一个属性作为Map的key,
+ 这个属性可以用<literal>@MapKey(name="myProperty")</literal>来声明.
+ 如果使用<literal>@MapKey</literal>注解的时候不提供属性名,
+ 系统默认使用目标实体的主键.
+ map的key使用和属性相同的列:不需要为map key定义专用的列,因为map key实际上就表达了一个目标属性。
+ 注意一旦加载,key不再和属性保持同步,
+ 也就是说,如果你改变了该属性的值,在你的Java模型中的key不会自动更新
+ (请参考<xref linkend="entity-hibspec" />).
+
很多人被<literal><map></literal>和<literal>@MapKey</literal>弄糊涂了。
+ 其他它们有两点区别.<literal>@MapKey</literal>目前还有一些限制,详情请查看论坛或者
+ 我们的JIRA缺陷系统。
+
+
+ 注意一旦加载,key不再和属性保持同步,
+ 也就是说,如果你改变了该属性的值,在你的Java模型中的key不会自动更新.
+ (Hibernate 3中Map支持的方式在当前的发布版中还未得到支持).</para>
+
+ <para>Hibernate将集合分以下几类.</para>
+
+ <para></para>
+
+ <table>
+ <title>集合语义</title>
+
+ <tgroup cols="3">
+ <colspec colname="c1" />
+
+ <colspec colname="c2" />
+
+ <colspec colname="c3" colnum="2" />
+
+ <thead>
+ <row>
+ <entry>语义</entry>
+
+ <entry>Java实现类</entry>
+
+ <entry> 注解</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>Bag 语义</entry>
+
+ <entry>java.util.List, java.util.Collection</entry>
+
+ <entry>(a)org.hibernate.annotations.CollectionOfElements 或
+ @OneToMany 或 @ManyToMany</entry>
+ </row>
+
+ <row>
+ <entry>List 语义</entry>
+
+ <entry>java.util.List</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements 或
+ @OneToMany 或 @ManyToMany)
+ 以及
+ @org.hibernate.annotations.IndexColumn</entry>
+ </row>
+
+ <row>
+ <entry>Set 语义</entry>
+
+ <entry>java.util.Set</entry>
+
+ <entry>(a)org.hibernate.annotations.CollectionOfElements 或
+ @OneToMany 或 @ManyToMany</entry>
+ </row>
+
+ <row>
+ <entry>Map 语义</entry>
+
+ <entry>java.util.Map</entry>
+
+ <entry>((a)org.hibernate.annotations.CollectionOfElements 或
+ @OneToMany 或 @ManyToMany)
+ 以及
+ (空
+ 或
+ @org.hibernate.annotations.MapKey/MapKeyManyToMany(支持真正的map),
+ 或
+ @javax.persistence.MapKey</entry>
+
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <remark>
+ 从上面可以明确地看到,没有(a)org.hibernate.annotations.IndexColumn
+ 注解的java.util.List集合将被看作bag类.
+ </remark>
+
+ <para>EJB3规范不支持原始类型,核心类型,嵌入式对象的集合.但是Hibernate对此提供了支持
+ (详情参考 <xref linkend="entity-hibspec" />).</para>
+
+ <programlisting>@Entity public class City {
+ @OneToMany(mappedBy="city")
+ <emphasis
role="bold">@OrderBy("streetName")</emphasis>
+ public List<Street> getStreets() {
+ return streets;
+ }
+...
+}
+
+@Entity public class Street {
+ <emphasis role="bold">public String getStreetName()</emphasis>
{
+ return streetName;
+ }
+
+ @ManyToOne
+ public City getCity() {
+ return city;
+ }
+ ...
+}
+
+
+@Entity
+public class Software {
+ @OneToMany(mappedBy="software")
+ <emphasis
role="bold">@MapKey(name="codeName")</emphasis>
+ public Map<String, Version> getVersions() {
+ return versions;
+ }
+...
+}
+
+@Entity
+@Table(name="tbl_version")
+public class Version {
+ <emphasis role="bold">public String getCodeName()</emphasis>
{...}
+
+ @ManyToOne
+ public Software getSoftware() { ... }
+...
+}</programlisting>
+
+ <para>上面这个例子中,<literal>City</literal>
+
中包括了以<literal>streetName</literal>排序的<literal>Street</literal>的集合.
+
而<literal>Software</literal>中包括了以<literal>codeName</literal>作为
+ key和以<literal>Version</literal>作为值的Map.</para>
+
+ <para>除非集合为generic类型,否则你需要指定<literal>targetEntity</literal>.
+ 这个注解属性接受的参数为目标实体的class.</para>
+ </sect4>
+
+ <sect4 id="entity-mapping-association-collection-onetomany"
+ revision="2">
+ <title>一对多(One-to-many)</title>
+
+ <para>在属性级使用
<literal>@OneToMany</literal>注解可定义一对多关联.一对多关联可以是双向关联.</para>
+
+ <sect5>
+ <title>双向(Bidirectional)</title>
+
+ <para>在EJB3规范中多对一这端几乎总是双向关联中的主体(owner)端,
+ 而一对多这端的关联注解为<literal>@OneToMany( mappedBy=...
+ )</literal></para>
+
+ <programlisting>@Entity
+public class Troop {
+ @OneToMany(mappedBy="troop")
+ public Set<Soldier> getSoldiers() {
+ ...
+}
+
+@Entity
+public class Soldier {
+ @ManyToOne
+ @JoinColumn(name="troop_fk")
+ public Troop getTroop() {
+ ...
+} </programlisting>
+
+ <para><classname>Troop</classname>
通过<literal>troop</literal>
+ 属性和<literal>Soldier</literal>建立了一对多的双向关联.
+ 在<literal>mappedBy</literal>端不必也不能再定义任何物理映射</para>
+
+ <para>对于一对多的双向映射,如果要一对多这一端维护关联关系,
+ 你需要删除<literal>mappedBy</literal>元素并将多对一这端的
+ <literal>@JoinColumn</literal>的insertable和updatable设置为false.
+ 很明显,这种方案不会得到什么明显的优化,而且还会增加一些附加的UPDATE语句.</para>
+
+ <programlisting>@Entity
+public class Troop {
+ @OneToMany
+ @JoinColumn(name="troop_fk") //we need to duplicate the physical
information
+ public Set<Soldier> getSoldiers() {
+ ...
+}
+
+@Entity
+public class Soldier {
+ @ManyToOne
+ @JoinColumn(name="troop_fk", insertable=false, updatable=false)
+ public Troop getTroop() {
+ ...
+}</programlisting>
+ </sect5>
+
+ <sect5>
+ <title>单向(Unidirectional)</title>
+
+ <para>通过在被拥有的实体端(owned entity)增加一个外键列来实现一对多单向关联是很少见的,也是不推荐的.
+ 我们强烈建议通过一个联接表(join table)来实现这种关联(下一节会对此进行解释).
+ 可以通过<literal>@JoinColumn</literal>注解来描述这种单向关联关系.</para>
+
+ <programlisting>
+@Entity
+public class Customer implements Serializable {
+ @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ public Set<Ticket> getTickets() {
+ ...
+}
+
+@Entity
+public class Ticket implements Serializable {
+ ... //no bidir
+}
+ </programlisting>
+
+ <para><literal>Customer</literal> 通过
+ <literal>CUST_ID</literal>列和<literal>Ticket</literal>
建立了单向关联关系.</para>
+
+ </sect5>
+
+ <sect5>
+ <title>通过关联表处理单向关联</title>
+
+
<para>通过联接表处理单向一对多关联是首选方式.这种关联通过<literal>(a)xn--jointable</literal>-nv35cf79b1i9a889n27jot0cjta.</para>
+
+ <programlisting>
+@Entity
+public class Trainer {
+ @OneToMany
+ @JoinTable(
+ name="TrainedMonkeys",
+ joinColumns = @JoinColumn( name="trainer_id"),
+ inverseJoinColumns = @JoinColumn( name="monkey_id")
+ )
+ public Set<Monkey> getTrainedMonkeys() {
+ ...
+}
+
+@Entity
+public class Monkey {
+ ... //no bidir
+}
+ </programlisting>
+
+ <para>上面这个例子中,<literal>Trainer</literal>通过
+ <classname>TrainedMonkeys</classname>表和
+ <classname>Monkey</classname> 建立了单向关联.
+ 其中外键<literal>trainer_id</literal>关联到<literal>Trainer</literal>
+ (<literal>joinColumns</literal>),
+ 而外键<literal>monkey_id</literal>关联到 <literal>Monkey</literal>
+ (<literal>inversejoinColumns</literal>).</para>
+ </sect5>
+
+ <sect5>
+ <title>默认处理机制</title>
+
+ <para>通过联接表来建立单向一对多关联不需要描述任何物理映射.
+ 表名由以下三个部分组成:主表(owner table)表名+下划线+从表(the other side table)表名.
+ 指向主表的外键名:主表表名+下划线+主表主键列名
+ 指向从表的外键名:主表所对应实体的属性名+下划线+从表主键列名
+ 指向从表的外键定义为唯一约束,用来表示一对多的关联关系.</para>
+
+ <programlisting>
+@Entity
+public class Trainer {
+ @OneToMany
+ public Set<Tiger> getTrainedTigers() {
+ ...
+}
+
+@Entity
+public class Tiger {
+ ... //no bidir
+}
+ </programlisting>
+
+
<para>上面这个例子中,<classname>Trainer</classname>和<classname>Tiger</classname>
+ 通过联接表 <literal>Trainer_Tiger</literal>建立单向关联关系,
+ 其中外键<literal>trainer_id</literal>关联到<literal>Trainer</literal>
+ (主表表名, <keycap>_</keycap>(下划线), trainer id),
+ 而外键<literal>trainedTigers_id</literal>关联到<literal>Tiger</literal>
+ (属性名称, <keycap>_</keycap>(下划线), Tiger表的主键列名).</para>
+
+ </sect5>
+ </sect4>
+
+ <sect4>
+ <title>多对多(Many-to-many)</title>
+
+ <sect5>
+ <title>定义</title>
+
+ <para>你可以通过<literal>@ManyToMany</literal>注解可定义的多对多关联.
+ 同时,你也需要通过注解<literal>@JoinTable</literal>描述关联表和关联条件.
+ 如果是双向关联,其中一段必须定义为owner,另一端必须定义为inverse(在对关联表进行更新操作时这一端将被忽略):</para>
+
+ <programlisting>
+@Entity
+public class Employer implements Serializable {
+ @ManyToMany(
+ targetEntity=org.hibernate.test.metadata.manytomany.Employee.class,
+ cascade={CascadeType.PERSIST, CascadeType.MERGE}
+ )
+ @JoinTable(
+ name="EMPLOYER_EMPLOYEE",
+ joinColumns=@JoinColumn(name="EMPER_ID"),
+ inverseJoinColumns=@JoinColumn(name="EMPEE_ID")
+ )
+ public Collection getEmployees() {
+ return employees;
+ }
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Employee implements Serializable {
+ @ManyToMany(
+ cascade = {CascadeType.PERSIST, CascadeType.MERGE},
+ mappedBy = "employees",
+ targetEntity = Employer.class
+ )
+ public Collection getEmployers() {
+ return employers;
+ }
+}
+ </programlisting>
+
+ <para>至此,我们已经展示了很多跟关联有关的声明定义以及属性细节.
+ 下面我们将深入介绍<literal>@JoinTable</literal>注解,该注解定义了联接表的表名,
+ 联接列数组(注解中定义数组的格式为{ A, B, C }),
+ 以及inverse联接列数组.
+ 后者是关联表中关联到<classname>Employee</classname>主键的列(the "other
side").</para>
+
+ <para>正如前面所示,被关联端不必也不能描述物理映射:
+ 只需要一个简单的<literal>mappedBy</literal>参数,该参数包含了主体端的属性名,这样就绑定双方的关系.</para>
+ </sect5>
+
+ <sect5>
+ <title>默认值</title>
+
+ <para>和其他许多注解一样,在多对多关联中很多值是自动生成.
+ 当双向多对多关联中没有定义任何物理映射时,Hibernate根据以下规则生成相应的值.
+ 关联表名:主表表名+<keycap>_</keycap>下划线+从表表名,
+ 关联到主表的外键名:主表名+<keycap>_</keycap>下划线+主表中的主键列名.
+ 关联到从表的外键名:主表中用于关联的属性名+<keycap>_</keycap>下划线+从表的主键列名.
+ 以上规则对于双向一对多关联同样有效.</para>
+
+ <programlisting>
+@Entity
+public class Store {
+ @ManyToMany(cascade = CascadeType.PERSIST)
+ public Set<City> getImplantedIn() {
+ ...
+ }
+}
+
+@Entity
+public class City {
+ ... //no bidirectional relationship
+}
+ </programlisting>
+
+ <para>上面这个例子中,<literal>Store_Table</literal>作为联接表.
+ <literal>Store_id</literal>列是联接到<literal>Store</literal>表的外键.
+ 而<literal>implantedIn_id</literal>列则联接到<literal>City</literal>表.</para>
+
+ <para>当双向多对多关联中没有定义任何物理映射时, Hibernate根据以下规则生成相应的值
+ 关联表名: :主表表名+<keycap>_</keycap>下划线+从表表名,
+ 关联到主表的外键名:从表用于关联的属性名+<keycap>_</keycap>下划线+主表中的主键列名.
+ 关联到从表的外键名:主表用于关联的属性名+<keycap>_</keycap>下划线+从表的主键列名.
+ 以上规则对于双向一对多关联同样有效.</para>
+
+ <programlisting>
+@Entity
+public class Store {
+ @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
+ public Set<Customer> getCustomers() {
+ ...
+ }
+}
+
+@Entity
+public class Customer {
+ @ManyToMany(mappedBy="customers")
+ public Set<Store> getStores() {
+ ...
+ }
+}
+ </programlisting>
+
+ <para>在上面这个例子中,<literal>Store_Customer</literal>作为联接表.
+ <literal>stores_id</literal>列是联接到<literal>Store</literal>表的外键,
+ 而<literal>customers_id</literal>列联接到<literal>City</literal>表.</para>
+
+ </sect5>
+ </sect4>
+ </sect3>
+
+
+ <sect3>
+ <title>用cascading实现传播性持久化(Transitive persistence)</title>
+
+
<para>也许你已经注意到了<literal>cascade</literal>属性接受的值为<classname>CascadeType</classname>数组.
+ 在EJB3中的cascade的概念和Hibernate中的传播性持久化以及cascade操作非常类似,
+ 但是在语义上有细微的区别,支持的cascade类型也有点区别:</para>
+
+ <itemizedlist>
+ <listitem>
+ CascadeType.PERSIST: 如果一个实体是受管状态, 或者当persist()函数被调用时, 触发级联创建(create)操作
+ </listitem>
+
+ <listitem>
+ CascadeType.MERGE: 如果一个实体是受管状态, 或者当merge()函数被调用时, 触发级联合并(merge)操作
+ </listitem>
+
+ <listitem>
+ CascadeType.REMOVE: 当delete()函数被调用时, 触发级联删除(remove)操作
+ </listitem>
+
+ <listitem>
+ CascadeType.REFRESH: 当refresh()函数被调用时, 触发级联更新(refresh)操作
+ </listitem>
+
+ <listitem>
+ CascadeType.ALL: 以上全部
+ </listitem>
+ </itemizedlist>
+
+ <para>关于cascading, create/merge的语义请参考EJB3规范的6.3章节.</para>
+ </sect3>
+
+ <sect3>
+ <title>关联关系获取</title>
+
+ <para>通过Hibernate你可以获得直接或者延迟获取关联实体的功能.
+ <literal>fetch</literal>参数可以设置为<literal>FetchType.LAZY</literal>
+ 或者 <literal>FetchType.EAGER</literal>.
+ <literal>EAGER</literal>通过<literal>outer join
select</literal>直接获取关联的对象,
+ 而<literal>LAZY</literal>(默认值)在第一次访问关联对象的时候才会触发相应的select操作.
+ EJBQL提供了<literal>fetch</literal>关键字,该关键字可以在进行特殊查询的时候覆盖默认值.
+ 这对于提高性能来说非常有效,应该根据实际的用例来判断是否选择fetch关键字.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>映射复合主键与外键</title>
+
+ <para>组合主键使用一个可嵌入的类作为主键表示,因此你需要使用<literal>@Id</literal>
+ 和<literal>@Embeddable</literal>两个注解.
+ 还有一种方式是使用<literal>(a)xn--embeddedid</literal>-py52dh538a.xn--xsq950adkdxpbu4bv75amglopfxrp264b0vza
+
serializable以及实现<methodname>equals()</methodname>/<methodname>hashCode()</methodname>方法.
+ 你也可以如<xref linkend="mapping-identifier"
/>一章中描述的办法使用<literal>(a)xn--idclass</literal>-vz75ck856a.</para>
+
+ <programlisting>
+@Entity
+public class RegionalArticle implements Serializable {
+
+ @Id
+ public RegionalArticlePk getPk() { ... }
+}
+
+@Embeddable
+public class RegionalArticlePk implements Serializable { ... }
+ </programlisting>
+
+ <para>或者</para>
+
+ <programlisting>
+@Entity
+public class RegionalArticle implements Serializable {
+
+ @EmbeddedId
+ public RegionalArticlePk getPk() { ... }
+}
+
+public class RegionalArticlePk implements Serializable { ... }
+ </programlisting>
+
+ <para><literal>@Embeddable</literal> 注解默认继承了其所属实体的访问类型,
+ 除非显式使用了Hibernate的<literal>@AccessType</literal>注解(这个注解不是EJB3标准的一部分).
+
而<literal>@JoinColumns</literal>,即<literal>@JoinColumn</literal>数组,
+ 定义了关联的组合外键(如果不使用缺省值的话).
+ 显式指明<literal>referencedColumnNames</literal>是一个好的实践方式,
+ 否则,Hibernate认为你使用的列顺序和主键声明的顺序一致.</para>
+
+ <programlisting>
+@Entity
+public class Parent implements Serializable {
+ @Id
+ public ParentPk id;
+ public int age;
+
+ @OneToMany(cascade=CascadeType.ALL)
+ @JoinColumns ({
+ @JoinColumn(name="parentCivility", referencedColumnName =
"isMale"),
+ @JoinColumn(name="parentLastName", referencedColumnName =
"lastName"),
+ @JoinColumn(name="parentFirstName", referencedColumnName =
"firstName")
+ })
+ public Set<Child> children; //unidirectional
+ ...
+}
+ </programlisting>
+
+ <programlisting>
+@Entity
+public class Child implements Serializable {
+ @Id @GeneratedValue
+ public Integer id;
+
+ @ManyToOne
+ @JoinColumns ({
+ @JoinColumn(name="parentCivility", referencedColumnName =
"isMale"),
+ @JoinColumn(name="parentLastName", referencedColumnName =
"lastName"),
+ @JoinColumn(name="parentFirstName", referencedColumnName =
"firstName")
+ })
+ public Parent parent; //unidirectional
+}
+ </programlisting>
+
+ <programlisting>
+@Embeddable
+public class ParentPk implements Serializable {
+ String firstName;
+ String lastName;
+ ...
+}
+ </programlisting>
+
+ <para>注意上面的
<literal>referencedColumnName</literal>显式使用方式.</para>
+ </sect2>
+
+ <sect2>
+ <title>映射二级表(secondary tables)</title>
+
+ <para>使用类一级的 <literal>@SecondaryTable </literal> 或
+ <literal>@SecondaryTables </literal>注解可以实现单个实体到多个表的映射.
+ 使用 <literal>@Column </literal>或者 <literal>@JoinColumn
</literal>
+ 注解中的 <literal>table </literal>参数可指定某个列所属的特定表.</para>
+
+ <programlisting>
+@Entity
+@Table(name="MainCat")
+<emphasis role="bold">@SecondaryTables({
+ @SecondaryTable(name="Cat1", pkJoinColumns={
+ @PrimaryKeyJoinColumn(name="cat_id",
referencedColumnName="id")
+ ),
+ @SecondaryTable(name="Cat2",
uniqueConstraints={@UniqueConstraint(columnNames={"storyPart2"})})
+})</emphasis>
+public class Cat implements Serializable {
+
+ private Integer id;
+ private String name;
+ private String storyPart1;
+ private String storyPart2;
+
+ @Id @GeneratedValue
+ public Integer getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ <emphasis
role="bold">@Column(table="Cat1")</emphasis>
+ public String getStoryPart1() {
+ return storyPart1;
+ }
+
+ <emphasis
role="bold">@Column(table="Cat2")</emphasis>
+ public String getStoryPart2() {
+ return storyPart2;
+ }
+</programlisting>
+
+
<para>在上面这个例子中,<literal>name</literal>保存在<literal>MainCat</literal>表中,
+ <literal>storyPart1</literal>保存在<literal>Cat1</literal>表中,
+ <literal>storyPart2</literal>保存在<literal>Cat2</literal>表中.
+
<literal>Cat1</literal>表通过外键<literal>cat_id</literal>和<literal>MainCat</literal>表关联,
+
<literal>Cat2</literal>表通过<literal>id</literal>列和<literal>MainCat</literal>表关联
+ (和<literal>MainCat</literal>的<literal>id</literal>列同名).
+ 对<literal>storyPart2</literal>列还定义了唯一约束.</para>
+
+ <para>在JBoss EJB 3指南和Hibernate Annotations单元测试代码中还有更多的例子.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="entity-mapping-query">
+ <title>映射查询</title>
+
+ <sect2>
+ <title>映射EJBQL/HQL查询</title>
+
+ <para>使用注解还可以映射EJBQL/HQL查询.
+ <literal>@NamedQuery</literal>
和<literal>@NamedQueries</literal>是可使用在类和包上的注解.
+ 但是它们的定义在session factory/entity manager factory范围中是都可见的.
+ 命名式查询通过它的名字和实际的查询字符串来定义.</para>
+
+ <programlisting>
+javax.persistence.NamedQueries(
+ @javax.persistence.NamedQuery(name="plane.getAll", query="select p
from Plane p")
+)
+package org.hibernate.test.annotations.query;
+
+...
+
+@Entity
+(a)NamedQuery(name="night.moreRecentThan", query="select n from Night n
where n.date >= :date")
+public class Night {
+ ...
+}
+
+public class MyDao {
+ doStuff() {
+ Query q = s.getNamedQuery("night.moreRecentThan");
+ q.setDate( "date", aMonthAgo );
+ List results = q.list();
+ ...
+ }
+ ...
+}
+ </programlisting>
+
+ <para>还可以通过定义 <literal>QueryHint</literal>
数组的<literal>hints</literal>
+ 属性为查询提供一些hint信息.</para>
+
+ <para>下面是目前可以使用的一些Hibernate hint:</para>
+
+ <para></para>
+
+ <table>
+ <title>Query hints</title>
+
+ <tgroup cols="2">
+ <thead>
+ <colspec colname="c1" />
+
+ <colspec colname="c2" colnum="2" />
+
+ <row>
+ <entry>hint</entry>
+
+ <entry colname="c2">description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>org.hibernate.cacheable</entry>
+
+ <entry>查询是否与二级缓存交互(默认值为false)
+ </entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.cacheRegion</entry>
+
+ <entry>设置缓存区名称 (默认为otherwise)</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.timeout</entry>
+
+ <entry>查询超时设定</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.fetchSize</entry>
+
+ <entry>所获取的结果集(resultset)大小</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.flushMode</entry>
+
+ <entry>本次查询所用的刷新模式</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.cacheMode</entry>
+
+ <entry>本次查询所用的缓存模式</entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.readOnly</entry>
+
+ <entry>是否将本次查询所加载的实体设为只读(默认为false)
+ </entry>
+ </row>
+
+ <row>
+ <entry>org.hibernate.comment</entry>
+
+ <entry>将查询注释添加入所生成的SQL</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect2>
+
+ <sect2 id="entity-mapping-query-native" revision="2">
+ <title>映射本地化查询</title>
+
+ <para>你还可以映射本地化查询(也就是普通SQL查询).
+ 不过这需要你使用<literal>@SqlResultSetMapping</literal>注解来描述SQL的resultset的结构
+ (如果你打算定义多个结果集映射,可是使用<literal>@SqlResultSetMappings</literal>).
+
<literal>@SqlResultSetMapping</literal>和<literal>@NamedQuery</literal>,
+ <literal>@SqlResultSetMapping</literal>一样,可以定义在类和包一级.
+ 但是<literal>@SqlResultSetMapping</literal>的作用域为应用级.
+ 下面我们会看到,<literal>@NamedNativeQuery</literal> 注解中
+
<literal>resultSetMapping</literal>参数值为<literal>@SqlResultSetMapping</literal>的名字.
+ 结果集映射定义了通过本地化查询返回值和实体的映射.
+ 该实体中的每一个字段都绑定到SQL结果集中的某个列上.
+ 该实体的所有字段包括子类的所有字段以及
+ 关联实体的外键列都必须在SQL查询中有对应的定义.
+ 如果实体中的属性和SQL查询中的列名相同,这种情况下可以不进行定义字段映射.</para>
+
+
<para><programlisting>@NamedNativeQuery(name="night&area",
query="select night.id nid, night.night_duration, "
+ + " night.night_date, area.id aid, night.area_id, area.name "
+ + "from Night night, Area area where night.area_id = area.id",
<emphasis
+
role="bold">resultSetMapping="joinMapping"</emphasis>)
+@SqlResultSetMapping(name="joinMapping", entities={
+ @EntityResult(entityClass=org.hibernate.test.annotations.query.Night.class, fields =
{
+ @FieldResult(name="id", column="nid"),
+ @FieldResult(name="duration", column="night_duration"),
+ @FieldResult(name="date", column="night_date"),
+ @FieldResult(name="area", column="area_id"),
+ discriminatorColumn="disc"
+ }),
+ @EntityResult(entityClass=org.hibernate.test.annotations.query.Area.class, fields =
{
+ @FieldResult(name="id", column="aid"),
+ @FieldResult(name="name", column="name")
+ })
+ }
+)</programlisting></para>
+
+ <para>在上面这个例子中,名为<literal>night&area</literal>的查询
+ 和<literal>joinMapping</literal>结果集映射对应.
+ 该映射返回两个实体,分别为<literal>Night</literal>
+ 和<literal>Area</literal>,其中每个属性都和一个列关联,
+ 列名通过查询获取.下面我们看一个隐式声明属性和列映射关系的例子.</para>
+
+ <programlisting>@Entity
+<emphasis role="bold">@SqlResultSetMapping(name="implicit",
entities=(a)EntityResult(entityClass=org.hibernate.test.annotations.query.SpaceShip.class))
+@NamedNativeQuery(name="implicitSample", query="select * from
SpaceShip", resultSetMapping="implicit")</emphasis>
+public class SpaceShip {
+ private String name;
+ private String model;
+ private double speed;
+
+ @Id
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Column(name="model_txt")
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+}</programlisting>
+
+ <para>在这个例子中,我们只需要定义结果集映射中的实体成员.
+ 属性和列名之间的映射借助实体中包含映射信息来完成.
+
在这个例子中,<literal>model</literal>属性绑定到<literal>model_txt</literal>列.
+ 如果和相关实体的关联设计到组合主键,
+ 那么应该使用<literal>@FieldResult</literal>注解来定义每个外键列.
+ <literal>@FieldResult</literal>的名字由以下几部分组成:
+ 定义这种关系的属性名字+"."+主键名或主键列或主键属性.</para>
+
+ <programlisting>@Entity
+@SqlResultSetMapping(name="compositekey",
+
entities=(a)EntityResult(entityClass=org.hibernate.test.annotations.query.SpaceShip.class,
+ fields = {
+ @FieldResult(name="name", column = "name"),
+ @FieldResult(name="model", column = "model"),
+ @FieldResult(name="speed", column = "speed"),
+<emphasis role="bold">
@FieldResult(name="captain.firstname", column = "firstn"),
+ @FieldResult(name="captain.lastname", column =
"lastn"),</emphasis>
+ @FieldResult(name="dimensions.length", column =
"length"),
+ @FieldResult(name="dimensions.width", column =
"width")
+ }),
+ columns = { @ColumnResult(name = "surface"),
+ @ColumnResult(name = "volume") } )
+
+@NamedNativeQuery(name="compositekey",
+ query="select name, model, speed, lname as lastn, fname as firstn, length,
width, length * width as surface from SpaceShip",
+ resultSetMapping="compositekey")
+} )
+public class SpaceShip {
+ private String name;
+ private String model;
+ private double speed;
+ private Captain captain;
+ private Dimensions dimensions;
+
+ @Id
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @ManyToOne(fetch= FetchType.LAZY)
+ @JoinColumns( {
+ @JoinColumn(name="fname", referencedColumnName =
"firstname"),
+ @JoinColumn(name="lname", referencedColumnName =
"lastname")
+ } )
+ public Captain getCaptain() {
+ return captain;
+ }
+
+ public void setCaptain(Captain captain) {
+ this.captain = captain;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+
+ public Dimensions getDimensions() {
+ return dimensions;
+ }
+
+ public void setDimensions(Dimensions dimensions) {
+ this.dimensions = dimensions;
+ }
+}
+
+@Entity
+(a)IdClass(Identity.class)
+public class Captain implements Serializable {
+ private String firstname;
+ private String lastname;
+
+ @Id
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ @Id
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+}
+</programlisting>
+
+ <note>
+
+ <para>观察dimension属性你会发现Hibernate支持用"."符号来表示嵌入式对象.
+ EJB3实现不必支持这个特征,但是我们做到了:-)</para>
+ </note>
+
+ <para>如果查询返回的是单个实体,或者你打算使用系统默认的映射,
+ 这种情况下可以不使用<literal>resultSetMapping</literal>
+ 而是使用<literal>resultClass</literal>属性:</para>
+
+ <programlisting><emphasis
role="bold">@NamedNativeQuery(name="implicitSample",
query="select * from SpaceShip",
+ resultClass=SpaceShip.class)</emphasis>
+public class SpaceShip {</programlisting>
+
+ <para>某些本地查询返回的是scalar值,例如报表查询.
+ 你可以通过<literal>@ColumnResult</literal>将其映射到
+ <literal>@SqlResultsetMapping</literal>上.
+ 甚至还可以在同一个本地查询的结果中混合实体和scalar类型(不过这种情况比较少见).</para>
+
+ <programlisting><emphasis
role="bold">@SqlResultSetMapping(name="scalar",
columns=@ColumnResult(name="dimension"))
+@NamedNativeQuery(name="scalar", query="select length*width as dimension
from SpaceShip",
resultSetMapping="scalar")</emphasis></programlisting>
+
+ <para>本地查询中还有另外一个hint属性:
+ <literal>org.hibernate.callable</literal>.
+ 这个属性的布尔变量值表明这个查询是否是一个存储过程.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="entity-hibspec" xreflabel="Hibernate Annotation
Extensions">
+ <title>Hibernate独有的注解扩展</title>
+
+ <para>Hibernate 3.1 提供了多种附加的注解,这些注解可以与EJB3的实体混合/匹配使用.
+ 他们被设计成EJB3注解的自然扩展.</para>
+
+ <para>为了强化EJB3的能力,Hibernate提供了与其自身特性相吻合的特殊注解.
+
<classname>org.hibernate.annotations</classname>包已包含了所有的这些注解扩展.</para>
+
+ <sect2 id="entity-hibspec-entity" revision="2">
+ <title>实体</title>
+
+ <para>你可以在EJB3规范所能提供的能力之外,就Hibernate对实体所做的一些操作进行优化.</para>
+
+ <para><classname>(a)org.hibernate.annotations.Entity</classname>
+ 追加了可能需要的额外的元数据,
+ 而这些元数据超出了标准<literal>@Entity</literal> 中所定义的元数据.
+ <itemizedlist>
+ <listitem>
+ mutable: 此实体是否为可变的
+ </listitem>
+
+ <listitem>
+ dynamicInsert: 用动态SQL新增
+ </listitem>
+
+ <listitem>
+ dynamicUpdate: 用动态SQL更新
+ </listitem>
+
+ <listitem>
+ selectBeforeUpdate: 指明Hibernate从不运行SQL UPDATE除非能确定对象的确已被修改
+ </listitem>
+
+ <listitem>
+ polymorphism:
(指出)实体多态是PolymorphismType.IMPLICIT(默认)还是PolymorphismType.EXPLICIT
+ </listitem>
+
+ <listitem>
+ persister:允许对默认持久实现(persister implementation)的覆盖
+ </listitem>
+
+ <listitem>
+ optimisticLock: 乐观锁策略(OptimisticLockType.VERSION, OptimisticLockType.NONE,
OptimisticLockType.DIRTY或OptimisticLockType.ALL)
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ <note>
+ <para>
+ @javax.persistence.Entity仍是必选的(mandatory),
+ @org.hibernate.annotations.Entity不是取代品.
+ </para>
+ </note>
+ </para>
+
+ <para>以下是一些附加的Hibernate注解扩展:</para>
+
+ <para><literal>(a)org.hibernate.annotations.BatchSize</literal>
+ 允许你定义批量获取该实体的实例数量(如:<literal>@BatchSize(size=4)</literal>).
+ 当加载一特定的实体时,Hibernate将加载在持久上下文中未经初始化的同类型实体,直至批量数量(上限).</para>
+
+ <para><literal>(a)org.hibernate.annotations.Proxy</literal>
+ 定义了实体的延迟属性.Lazy(默认为true)定义了类是否为延迟(加载).
+ proxyClassName是用来生成代理的接口(默认为该类本身).</para>
+
+ <para><literal>(a)org.hibernate.annotations.Where</literal>
+ 定义了当获取类实例时所用的SQL WHERE子句(该SQL WHERE子句为可选).</para>
+
+ <para><literal>(a)org.hibernate.annotations.Check</literal>
+ 定义了在DDL语句中定义的合法性检查约束(该约束为可选).</para>
+
+
<para><literal>(a)OnDelete(action=OnDeleteAction.CASCADE)</literal>
+ 定义于被连接的子类(joined subclass):在删除时使用SQL级连删除,而非通常的Hibernate删除机制.</para>
+
+ <para><literal>@Table(name="tableName", indexes = {
+ @Index(name="index1", columnNames={"column1",
"column2"} ) } )</literal>
+ 在<literal>tableName</literal>表的列上创建定义好的索引.
+ 该注解可以被应用于关键表或者是其他次要的表.
+ <literal>@Tables</literal> 注解允许你在不同的表上应用索引.
+ 此注解预期在使用
+ <literal>(a)javax.persistence.xn--table</literal>-ux26b
+
<literal>(a)javax.persistence.xn--secondarytable</literal>-ki71cv95dz69ayj0hcfwetjva.</para>
+
+ <note>
+ <para>
+ <literal>(a)org.hibernate.annotations.Table</literal> 是对
+ <literal>@javax.persistence.Table</literal>的补充而不是它的替代品.
+ 特别是当你打算改变表名的默认值的时候,你必须使用<literal>(a)javax.persistence.Table</literal>,
+ 而不是<literal>(a)org.hibernate.annotations.Table</literal>.</para>
+ </note>
+
+ <para><programlisting>@Entity
+@BatchSize(size=5)
+(a)org.hibernate.annotations.Entity(
+ selectBeforeUpdate = true,
+ dynamicInsert = true, dynamicUpdate = true,
+ optimisticLock = OptimisticLockType.ALL,
+ polymorphism = PolymorphismType.EXPLICIT)
+@Where(clause="1=1")
+(a)org.hibernate.annotations.Table(name="Forest", indexes = {
@Index(name="idx", columnNames = { "name", "length" } ) } )
+public class Forest { ... }</programlisting><programlisting>@Entity
+@Inheritance(
+ strategy=InheritanceType.JOINED
+)
+public class Vegetable { ... }
+
+@Entity
+(a)OnDelete(action=OnDeleteAction.CASCADE)
+public class Carrot extends Vegetable { ... }</programlisting></para>
+ </sect2>
+
+ <sect2>
+ <title>标识符</title>
+
+
<para><literal><literal>(a)org.hibernate.annotations.GenericGenerator</literal>
+ 允许你定义一个Hibernate特定的id生成器.</literal></para>
+
+ <para><programlisting>@Id
@GeneratedValue(generator="system-uuid")
+@GenericGenerator(name="system-uuid", strategy = "uuid")
+public String getId() {
+
+@Id @GeneratedValue(generator="hibseq")
+@GenericGenerator(name="hibseq", strategy = "seqhilo",
+ parameters = {
+ @Parameter(name="max_lo", value = "5"),
+ @Parameter(name="sequence", value="heybabyhey")
+ }
+)
+public Integer getId() {</programlisting></para>
+
+ <para><literal>strategy</literal>可以是Hibernate3生成器策略的简称,
+ 或者是一个<classname>IdentifierGenerator</classname>实现的(带包路径的)全限定类名.
+ 你可以通过<literal>parameters</literal>属性增加一些参数.</para>
+</sect2>
+
+<sect2 id="entity-hibspec-property" revision="2">
+ <title>属性</title>
+
+ <sect3>
+ <title>访问类型</title>
+
+ <para>访问类型是根据<literal>@Id</literal>或<literal>@EmbeddedId</literal>
+ 在实体继承层次中所处的位置推演而得的.子实体(Sub-entities),
+ 内嵌对象和被映射的父类均继承了根实体(root entity)的访问类型.</para>
+
+ <para>在Hibernate中,你可以把访问类型覆盖成:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>使用定制的访问类型策略</para>
+ </listitem>
+
+ <listitem>
+ <para>优化类级或属性级的访问类型</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>为支持这种行为,Hibernate引入了(a)xn--accesstype-mh3wx75w.xn--:</para>-o40ug2aj5ea62tkwp00ntosb7ul4bx096a1mdu49jeqvc;
+
+ <itemizedlist>
+ <listitem>
+ <para>实体</para>
+ </listitem>
+
+ <listitem>
+ <para>父类</para>
+ </listitem>
+
+ <listitem>
+ <para>可内嵌的对象</para>
+ </listitem>
+
+ <listitem>
+ <para>属性</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>被注解元素的访问类型会被覆盖,若覆盖是在类一级上,则所有的属性继承访问类型.
+ 对于根实体,其访问类型会被认为是整个继承层次中的缺省设置(可在类或属性一级覆盖).</para>
+
+ <para>若访问类型被标以"property",则Hibernate会扫描getter方法的注解,若访问类型被标以"field",
+ 则扫描字段的注解.否则,扫描标为@Id或(a)xn--embeddedid-fx9pl096ar7ra.</para>
+
+ <para>你可以覆盖某个属性(property)的访问类型,但是受注解的元素将不受影响:
+ 例如一个具有field访问类型的实体,(我们)可以将某个字段标注为 @AccessType("property"),
+ 则该字段的访问类型随之将成为property,但是其他字段上依然需要携带注解.</para>
+
+ <para>若父类或可内嵌的对象没有被注解,则使用根实体的访问类型(即使已经在非直系父类或可内嵌对象上定义了访问类型).
+ 此时俄罗斯套娃(Russian doll)原理就不再适用.(译注:俄罗斯套娃(матрёшка或 матрешка)是俄罗斯特产木制玩具,
+ 一般由多个一样图案的空心木娃娃一个套一个组成,最多可达十多个,通常为圆柱形,底部平坦可以直立.)</para>
+
+<programlisting>@Entity
+public class Person implements Serializable {
+ @Id @GeneratedValue //access type field
+ Integer id;
+
+ @Embedded
+ @AttributeOverrides({
+ @AttributeOverride(name = "iso2", column = @Column(name =
"bornIso2")),
+ @AttributeOverride(name = "name", column = @Column(name =
"bornCountryName"))
+ })
+ Country bornIn;
+}
+
+@Embeddable
+<emphasis role="bold">@AccessType("property")</emphasis>
//override access type for all properties in Country
+public class Country implements Serializable {
+ private String iso2;
+ private String name;
+
+ public String getIso2() {
+ return iso2;
+ }
+
+ public void setIso2(String iso2) {
+ this.iso2 = iso2;
+ }
+
+ @Column(name = "countryName")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
+</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>公式</title>
+
+ <para>有时候,你想让数据库,而非JVM,来替你完成一些计算,也可能想创建某种虚拟列.
+ 你可以使用SQL片段(亦称为公式),而不是将属性映射到(物理)列. 这种属性是只读的(属性值由公求得).</para>
+
+ <programlisting>@Formula("obj_length * obj_height * obj_width")
+ public long getObjectVolume()</programlisting>
+
+
+ <para>SQL片段可以是任意复杂的,甚至可包含子查询.</para>
+ </sect3>
+
+ <sect3>
+ <title>类型</title>
+
+ <para><literal>(a)org.hibernate.annotations.Type</literal>
+ 覆盖了Hibernate所用的默认类型:这通常不是必须的,因为类型可以由Hibernate正确推得.
+ 关于Hibernate类型的详细信息,请参考Hibernate使用手册.</para>
+
+ <para><literal>(a)org.hibernate.annotations.TypeDef</literal> 和
+ <literal>@org.hibernate.annotations.TypeDefs</literal>允许你来声明类型定义.
+ 这些注解被置于类或包一级.注意,对session factory来说,
+ 这些定义将是全局的(即使定义于类一级),并且类型定义必须先于任何使用.</para>
+
+ <programlisting>@TypeDefs(
+ {
+ @TypeDef(
+ name="caster",
+ typeClass = CasterStringType.class,
+ parameters = {
+ @Parameter(name="cast", value="lower")
+ }
+ )
+ }
+)
+package org.hibernate.test.annotations.entity;
+
+...
+public class Forest {
+ @Type(type="caster")
+ public String getSmallText() {
+ ...
+}
+ </programlisting>
+
+ <para>当使用组合的用户自定义类型时,你必须自己表示列的定义.
+<literal>@Columns</literal>就是为了此目的而引入的.</para>
+<programlisting>(a)Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")
+@Columns(columns = {
+ @Column(name="r_amount"),
+ @Column(name="r_currency")
+})
+public MonetaryAmount getAmount() {
+ return amount;
+}
+
+
+public class MonetaryAmount implements Serializable {
+ private BigDecimal amount;
+ private Currency currency;
+ ...
+}</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>索引</title>
+
+ <para>通过在列属性(property)上使用<literal>@Index</literal>注解,
+ 可以在特定列上定义索引,columnNames属性(attribute)将随之被忽略.</para>
+
+ <programlisting>@Column(secondaryTable="Cat1")
+@Index(name="story1index")
+public String getStoryPart1() {
+ return storyPart1;
+}</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>@Parent</title>
+
+ <para>在嵌入式对象内部,你可以在那些指向该嵌入式对象所属元素的属性上定义该注解.</para>
+
+ <programlisting>@Entity
+public class Person {
+ @Embeddable public Address address;
+ ...
+}
+
+@Embeddable
+public class Address {
+ @Parent public Person owner;
+ ...
+}
+
+
+person == person.address.owner</programlisting>
+ </sect3>
+
+ <sect3>
+ <title>生成的属性</title>
+
+ <para>
+ 某些属性可以在对数据库做插入或更新操作的时候生成.
+ Hibernate能够处理这样的属性,并触发一个后续的查询来读取这些属性.
+ </para>
+
+ <programlisting>@Entity
+public class Antenna {
+ @Id public Integer id;
+ @Generated(GenerationTime.ALWAYS) @Column(insertable = false, updatable = false)
+ public String longitude;
+
+ @Generated(GenerationTime.INSERT) @Column(insertable = false)
+ public String latitude;
+}</programlisting>
+
+ <para>
+ 你可以将属性注解为<literal>@Generated</literal>.
+ 但是你要注意insertability和updatability不要和你选择的生成策略冲突.
+ 如果选择了GenerationTime.INSERT,该属性不能包含insertable列,
+ 如果选择了GenerationTime.ALWAYS,该属性不能包含insertable和updatable列.</para>
+
+ <para><literal>@Version</literal>属性不可以为
+ <literal>@Generated(INSERT)</literal>(设计时), 只能是
+
<literal>NEVER</literal>或<literal>ALWAYS</literal>.</para>
+ </sect3>
+
+ </sect2>
+
+ <sect2>
+ <title>继承</title>
+
+ <para>SINGLE_TABLE 是个功能强大的策略,但有时,特别对遗留系统而言,
+ 是无法加入一个额外的辨别符列.
+ 由此,Hibernate引入了辨别符公式(discriminator formula)的概念:
+ <literal>@DiscriminatorFormula</literal>是<literal>@DiscriminatorColumn</literal>的替代品,
+ 它使用SQL片段作为辨别符解决方案的公式( 不需要有一个专门的字段).</para>
+
+ <programlisting>@Entity
+@DiscriminatorForumla("case when forest_type is null then 0 else forest_type
end")
+public class Forest { ... }</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>关于单个关联关系的注解</title>
+
+
<para>默认情况下,当预期的被关联元素不在数据库中(关乎关联列的错误id),致使Hiberante无法解决关联性问题时,Hibernate就会抛出异常.
+ 这对遗留schema和历经拙劣维护的schema而言,这或有许多不便.
+ 此时,你可用 <literal>@NotFound </literal>注解让Hibernate略过这样的元素而不是抛出异常.
+ 该注解可用于 <literal>@OneToOne </literal> (有外键)、 <literal>@ManyToOne
</literal>、
+ <literal>@OneToMany </literal> 或 <literal>@ManyToMany
</literal>关联.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @NotFound(action=NotFoundAction.IGNORE)
+ public Parent getParent() { ... }
+ ...
+}</programlisting>
+
+ <para>
+ 有时候删除某实体的时候需要触发数据库的级联删除.</para>
+
+ <programlisting>@Entity
+public class Child {
+ ...
+ @ManyToOne
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ public Parent getParent() { ... }
+ ...
+}</programlisting>
+
+ <para>上面这个例子中,Hibernate将生成一个数据库级的级联删除约束.</para>
+
+ <sect3>
+ <title>延迟选项和获取模式</title>
+
+ <para>
+ EJB3为延迟加载和获取模式提供了<literal>fetch</literal>选项,而Hibernate
+ 这方面提供了更丰富的选项集.为了更好的调整延迟加载和获取策略,Hibernate引入了
+ 一些附加的注解:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>@LazyToOne</literal>: 定义了
+ <literal>@ManyToOne</literal> 和
<literal>@OneToOne</literal>
+ 关联的延迟选项. <literal>LazyToOneOption</literal> 可以是
+ <literal>PROXY</literal> (例如:基于代理的延迟加载),
+ <literal>NO_PROXY</literal> (例如:基于字节码增强的延迟加载 - 注意需要在构建期处理字节码)
+ 和 <literal>FALSE</literal> (非延迟加载的关联)</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>@LazyCollection</literal>: 定义了
+ <literal>@ManyToMany</literal>和
+ <literal>@OneToMany</literal> 关联的延迟选项. LazyCollectionOption
+ 可以是<literal>TRUE</literal> (集合具有延迟性,只有在访问的时候才加载),
+ <literal>EXTRA</literal> (集合具有延迟性,并且所有的操作都会尽量避免加载集合,
+ 对于一个巨大的集合特别有用,因为这样的集合中的元素没有必要全部加载)和 FALSE
+ (非延迟加载的关联)</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>@Fetch</literal>:
+ 定义了加载关联关系的获取策略. <literal>FetchMode</literal> 可以是
+ <literal>SELECT</literal> (在需要加载关联的时候触发select操作),
+ <literal>SUBSELECT</literal>
+ (只对集合有效,使用了子查询策略,详情参考Hibernate参考文档) or
+ <literal>JOIN</literal> (在加载主实体(owner entity)的时候使用SQL JOIN来加载关联关系).
+ <literal>JOIN</literal> 将覆写任何延迟属性
+ (通过<literal>JOIN</literal>策略加载的关联将不再具有延迟性).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The Hibernate annotations overrides the EJB3 fetching
+ options.</para>
+
+ <para>Hibernate注解覆写了EJB3提供的获取(fetch)选项.</para>
+
+ <table>
+ <title>延迟和获取选项的等效注解</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Annotations</entry>
+
+ <entry>Lazy</entry>
+
+ <entry>Fetch</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>(a)[One|Many]ToOne](fetch=FetchType.LAZY)</entry>
+
+ <entry>@LazyToOne(PROXY)</entry>
+
+ <entry>@Fetch(SELECT)</entry>
+ </row>
+
+ <row>
+ <entry>(a)[One|Many]ToOne](fetch=FetchType.EAGER)</entry>
+
+ <entry>@LazyToOne(FALSE)</entry>
+
+ <entry>@Fetch(JOIN)</entry>
+ </row>
+
+ <row>
+ <entry>(a)ManyTo[One|Many](fetch=FetchType.LAZY)</entry>
+
+ <entry>@LazyCollection(TRUE)</entry>
+
+ <entry>@Fetch(SELECT)</entry>
+ </row>
+
+ <row>
+ <entry>(a)ManyTo[One|Many](fetch=FetchType.EAGER)</entry>
+
+ <entry>@LazyCollection(FALSE)</entry>
+
+ <entry>@Fetch(JOIN)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect3>
+
+
+ </sect2>
+
+ <sect2 id="entity-hibspec-collection" revision="2">
+ <title>关于集合类型的注解</title>
+
+ <sect3>
+ <title>参数注解</title>
+
+ <para>以下是可能的设置方式<itemizedlist>
+ <listitem>
+ 用@BatchSizebatch设置集合的batch大小
+ </listitem>
+
+ <listitem>
+ 用@Where注解设置Where子句
+ </listitem>
+
+ <listitem>
+ 用注解@Check来设置check子句
+ </listitem>
+
+ <listitem>
+ 用注解@OrderBy来设置SQL的order by子句
+ </listitem>
+
+ <listitem>
+ 利用(a)OnDelete(action=OnDeleteAction.CASCADE) 注解设置级连删除策略
+ </listitem>
+ </itemizedlist></para>
+
+ <para>你也可以利用<literal>@Sort</literal>注解定义一个排序比较器(sort
comparator),
+ 表明希望的比较器类型,无序、自然顺序或自定义排序,三者择一.若你想用你自己实现的comparator,
+ 你还需要利用<literal>comparator</literal>属性(attribute)指明实现类.</para>
+
+ <programlisting> @OneToMany(cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ @Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class)
+ @Where(clause="1=1")
+ @OnDelete(action=OnDeleteAction.CASCADE)
+ public SortedSet<Ticket> getTickets() {
+ return tickets;
+ }</programlisting>
+
+ <para>关于这些注解更详细的信息,请参阅此前的描述.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>更多的集合类型</title>
+
+ <para>比EJB3更胜一筹的是,Hibernate Annotations支持真正的
+ <classname>List</classname>和<classname>Array</classname>.
+ 映射集合的方式和以前完全一样,只不过要新增<literal>@IndexColumn</literal>注解.
+ 该注解允许你指明存放索引值的字段.你还可以定义代表数据库中首个元素的索引值(亦称为索引基数).
+ 常见取值为<literal>0</literal>或<literal>1</literal>.</para>
+
+ <programlisting>@OneToMany(cascade = CascadeType.ALL)
+@IndexColumn(name = "drawer_position", base=1)
+public List<Drawer> getDrawers() {
+ return drawers;
+}</programlisting>
+
+ <note>
+ <para>假如你忘了设置<literal>@IndexColumn</literal>,
+ Hibernate会采用包(bag)语义(译注:即允许重复元素的无序集合).</para>
+ </note>
+
+ <para>Hibernate注解支持true Map映射,
+ 如果没有设置<literal>(a)javax.persistence.MapKey</literal>,
+ hibernate将key元素或嵌入式对象直接映射到他们所属的列.
+ 要覆写默认的列,可以使用以下注解:
+ <literal>@org.hibernate.annotations.MapKey</literal>适用的key为基本类型或者嵌入式对象,
+ <literal>(a)org.hibernate.annotations.xn--mapkey</literal>key-dm63b1yquv0hc19hksiem0s.
+ </para>
+
+ <para>Hibernate Annotations还支持核心类型集合(Integer, String, Enums, ......)、
+ 可内嵌对象的集合,甚至基本类型数组.这就是所谓的元素集合.</para>
+
+ <para>元素集合可用@CollectionOfElements来注解(作为@OneToMany的替代).
+ 为了定义集合表(译注:即存放集合元素的表,与下面提到的主表对应),要在关联属性上使用@JoinTable注解,
+ joinColumns定义了介乎实体主表与集合表之间的连接字段(inverseJoincolumn是无效的且其值应为空).
+ 对于核心类型的集合或基本类型数组,你可以在关联属性上用<literal>@Column</literal>来覆盖存放元素值的字段的定义.
+ 你还可以用<literal>@AttributeOverride</literal>来覆盖存放可内嵌对象的字段的定义.
+ 要访问集合元素,需要将该注解的name属性值设置为"element"("element"用于核心类型,而"element.serial"
+ 用于嵌入式对象的serial属性).要访问集合的index/key,则将该注解的name属性值设置为"key".
+ </para>
+
+ <programlisting>@Entity
+public class Boy {
+ private Integer id;
+ private Set<String> nickNames = new HashSet<String>();
+ private int[] favoriteNumbers;
+ private Set<Toy> favoriteToys = new HashSet<Toy>();
+ private Set<Character> characters = new
HashSet<Character>();
+
+ @Id @GeneratedValue
+ public Integer getId() {
+ return id;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ public Set<String></emphasis> getNickNames() {
+ return nickNames;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ @JoinTable(
+ table=@Table(name="BoyFavoriteNumbers"),
+ joinColumns = @JoinColumn(name="BoyId")
+ )
+ @Column(name="favoriteNumber", nullable=false)</emphasis>
+ @IndexColumn(name="nbr_index")
+ public int[] getFavoriteNumbers() {
+ return favoriteNumbers;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ @AttributeOverride( name="element.serial",
column=@Column(name="serial_nbr") )</emphasis>
+ public Set<Toy> getFavoriteToys() {
+ return favoriteToys;
+ }
+
+ <emphasis role="bold">@CollectionOfElements
+ public Set<Character></emphasis> getCharacters() {
+ return characters;
+ }
+ ...
+}
+
+public enum Character {
+ GENTLE,
+ NORMAL,
+ AGGRESSIVE,
+ ATTENTIVE,
+ VIOLENT,
+ CRAFTY
+}
+
+@Embeddable
+public class Toy {
+ public String name;
+ public String serial;
+ public Boy owner;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getSerial() {
+ return serial;
+ }
+
+ public void setSerial(String serial) {
+ this.serial = serial;
+ }
+
+ <emphasis role="bold">@Parent</emphasis>
+ public Boy getOwner() {
+ return owner;
+ }
+
+ public void setOwner(Boy owner) {
+ this.owner = owner;
+ }
+
+
+ public boolean equals(Object o) {
+ if ( this == o ) return true;
+ if ( o == null || getClass() != o.getClass() ) return false;
+
+ final Toy toy = (Toy) o;
+
+ if ( !name.equals( toy.name ) ) return false;
+ if ( !serial.equals( toy.serial ) ) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ int result;
+ result = name.hashCode();
+ result = 29 * result + serial.hashCode();
+ return result;
+ }
+}</programlisting>
+
+ <para>
+ 在嵌入式对象的集合中,可以使用 <literal>@Parent</literal>注解嵌入式对象的某属性.
+ 该属性指向该嵌入式对象所属的集合实体.</para>
+
+ <note>
+ <para>旧版的Hibernate
Annotations用<literal>@OneToMany</literal>来标识集合元素.
+ 由于语义矛盾,我们引入了<literal>@CollectionOfElements</literal>注解.
+ 用<literal>@OneToMany</literal>来标识集合元素的这种旧有方式目前尚有效,
+ 但是不推荐使用,而且在以后的发布版本中不再支持这种方式.</para>
+ </note>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>缓存</title>
+
+ <para>为了优化数据库访问,你可以激活所谓的Hibernate二级缓存.该缓存是可以按每个实体和集合进行配置的.</para>
+
+
<para><literal>@org.hibernate.annotations.Cache</literal>定义了缓存策略及给定的二级缓存的范围.
+ 此注解适用于根实体(非子实体),还有集合.</para>
+
+ <programlisting>@Entity
+@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
+public class Forest { ... }</programlisting>
+
+ <programlisting> @OneToMany(cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
+ @JoinColumn(name="CUST_ID")
+ @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
+ public SortedSet<Ticket> getTickets() {
+ return tickets;
+ }</programlisting>
+
+ <para></para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="2 55" id="hm1" />
+
+ <area coords="3 55" id="hm2" />
+
+ <area coords="4 55" id="hm3" />
+ </areaspec>
+
+ <programlisting>@Cache(
+ CacheConcurrencyStrategy usage();
+ String region() default "";
+ String include() default "all";
+)</programlisting>
+
+ <calloutlist>
+ <callout arearefs="hm1">
+ <para>usage: 给定缓存的并发策略(NONE,
+ READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL)</para>
+ </callout>
+
+ <callout arearefs="hm2">
+ <para>region (可选的):缓存范围(默认为类的全限定类名或是集合的全限定角色名)</para>
+ </callout>
+
+ <callout arearefs="hm3">
+ <para><literal>include</literal>
(可选的):值为all时包括了所有的属性(proterty),
+ 为non-lazy时仅含非延迟属性(默认值为all)</para>
+ </callout>
+ </calloutlist>
+
+ </programlistingco>
+ </sect2>
+
+ <sect2>
+ <title>过滤器</title>
+
+ <para>Hibernate具有数据过滤器的概念,可在运行期应用于一个给定的session.过滤器需要事先定义好.</para>
+
+ <para><literal>(a)org.hibernate.annotations.FilterDef</literal> 或
+ <literal>@FilterDefs</literal> 定义过滤器声明,为同名过滤器所用.
+
过滤器声明带有一个name()和一个parameters()数组,<literal>@ParamDef</literal>包含name和type,
+ 你还可以为给定的<literal>@filterDef</literal>定义一个defaultCondition()参数,
+ 当<literal>@Filter</literal>中没有任何定义时,可使用该参数定义缺省条件.
+ <literal>@FilterDef</literal> (s)可以在类或包一级进行定义.</para>
+
+
<para>现在我们来定义应用于实体或集合加载时的SQL过滤器子句.我们使用<literal>@Filter</literal>,并将其置于实体或集合元素上.</para>
+
+ <para><programlisting>@Entity
+@FilterDef(name="minLength", parameters=@ParamDef( name="minLength",
type="integer" ) )
+@Filters( {
+ @Filter(name="betweenLength", condition=":minLength <= length
and :maxLength >= length"),
+ @Filter(name="minLength", condition=":minLength <=
length")
+} )
+public class Forest { ... }</programlisting></para>
+ </sect2>
+
+
+ <sect2>
+ <title>查询</title>
+
+ <para>由于Hibernate引入了
+ <literal>(a)org.hibernate.annotations.NamedQuery</literal>,
+ <literal>(a)org.hibernate.annotations.NamedQueries</literal>,
+ <literal>(a)org.hibernate.annotations.NamedNativeQuery</literal> 和
+ <literal>(a)org.hibernate.annotations.NamedNativeQueries</literal>
命名式查询,
+ 因此Hibernate在命名式查询上比EBJ3规范中所定义的命名式查询提供了更多的特性.
+ 他们在标准版中添加了可作为替代品的一些属性(attributes):</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>flushMode: 定义查询的刷新模式(Always, Auto, Commit或Manual)</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheable: 查询该不该被缓存</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheRegion: 若查询已被缓存时所用缓存的范围</para>
+ </listitem>
+
+ <listitem>
+ <para>fetchSize: 针对该查询的JDBC statement单次获取记录的数目</para>
+ </listitem>
+
+ <listitem>
+ <para>timeout: 查询超时</para>
+ </listitem>
+
+ <listitem>
+ <para>callable: 仅用于本地化查询(native query),对于存储过程设为true</para>
+ </listitem>
+
+ <listitem>
+ <para>comment: 一旦激活注释功能,我们会在向数据库交送查询请求时看到注释</para>
+ </listitem>
+
+ <listitem>
+ <para>cacheMode: 缓存交护模式(get, ignore,normal,或refresh)</para>
+ </listitem>
+
+ <listitem>
+ <para>readOnly: 不管是否从查询获取元素都是在只读模式下</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>注意,EJB3已公开的最终草案中引入了<literal>@QueryHint</literal>的概念,
+ 这可能是定义hints更好的方法.</para>
+ </sect2>
+ </sect1>
+
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/lucene.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/lucene.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/lucene.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="lucene">
+ <title id="lucene">Hibernate与Lucene集成</title>
+
+ <para>Lucene是一个高性能的java搜索引擎库,可以从 Apache软件基金组织获取。
+ Hibernate Annotations包括一个注解包,它允许把任何域模型对象标记为可索引的,
+ 并且对任何经由Hibernate进行持续化的实例,Hibernate 都会为之维护一个对应的Lucene索引。</para>
+
+ <sect1 id="lucene-intro">
+ <title>使用Lucene为实体建立索引</title>
+
+ <sect2>
+ <title>注解领域模型</title>
+
+ <para>首先,必须将一个持久类声明为
+ <literal>@Indexed</literal>:</para>
+
+ <programlisting>@Entity
+@Indexed(index="indexes/essays")
+public class Essay {
+ ...
+}</programlisting>
+
+ <para>属性<literal>index</literal>是告诉Hibernate,
Lucene索引信息所在的位置(你文件系统的某个目录)。
+
如果你想为所有的Lucene索引定义一个根目录,你可以在配置文件中用属性<literal>hibernate.lucene.index_dir</literal>进行配置。
+ </para>
+
+ <para>Lucene索引包括四种字段:<emphasis>keyword</emphasis>
字段,<emphasis>text</emphasis>
+
字段,<emphasis>unstored</emphasis>字段和<emphasis>unindexed</emphasis>字段。
+ Hibernate注解提供了将实体属性标记为前三种被索引字段的注解。</para>
+
+ <programlisting>@Entity
+@Indexed(index="indexes/essays")
+public class Essay {
+ ...
+
+ @Id
+ @Keyword(id=true)
+ public Long getId() { return id; }
+
+ @Text(name="Abstract")
+ public String getSummary() { return summary; }
+
+ @Lob
+ @Unstored
+ public String getText() { return text; }
+
+}</programlisting>
+
+ <para>这些注解定义了一个带有三个字段的索引:
+ <literal>Id</literal>, <literal>Abstract</literal> 和
+ <literal>Text</literal>.</para>
+
+ <para>注意:你必须在你的实体类的标志属性上指定
+ <literal>@Keyword(id=true)</literal> .</para>
+
+
<para>用于对元素建立索引的分析器类是可以通过<literal>hibernate.lucene.analyzer</literal>属性进行配置的。
+ 如果没有定义,则把
<classname>org.apache.lucene.analysis.standard.StandardAnalyzer</classname>作为缺省。</para>
+
+ </sect2>
+
+ <sect2>
+ <title>启用自动索引</title>
+
+ <para>我们激活用于帧听三类Hibernate事件的
<literal>LuceneEventListener</literal>,
+ 这些事件会在变更被提交至数据库后产生。</para>
+
+ <programlisting><hibernate-configuration>
+ ...
+ <event type="post-commit-update"
+ <listener
+ class="org.hibernate.lucene.event.LuceneEventListener"/>
+ </event>
+ <event type="post-commit-insert"
+ <listener
+ class="org.hibernate.lucene.event.LuceneEventListener"/>
+ </event>
+ <event type="post-commit-delete"
+ <listener
+ class="org.hibernate.lucene.event.LuceneEventListener"/>
+ </event>
+</hibernate-configuration></programlisting>
+ </sect2>
+ </sect1>
+</chapter>
+
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/setup.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/setup.xml
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/setup.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter>
+ <title id="setup" revision="1">创建一个注解项目</title>
+
+ <section id="setup-requirements">
+ <title>系统需求</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>首先从Hibernate官方网站下载并解压Hibernate Annotations的发布包。</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>这个版本(预览版)要求使用Hibernate
3.2.0.CR2或更高版本。请不要和老版本的Hibernate 3.x混合起来使用。</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>这个版本在Hibernate core 3.2.0.CR2的基础上工作良好。</para>
+ </listitem>
+
+ <listitem>
+ <para>首先确定你已经安装了JDK 5.0。当然就算使用低版本的JDK,
+ Xdoclet也可以提供(基于注解的)元数据所带来的部分功能。
+ 不过请注意本文档只描述跟JDK5.0注解有关的内容,关于Xdoclet请参考相关文档。</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="setup-configuration">
+ <title>系统配置</title>
+
+ <para>首先就是设置classpath(当然是在IDE中创建了一个新项目之后)。 <itemizedlist>
+ <listitem>
+
<para>将Hibernate3核心文件以及其依赖的第三方库文件(请参考lib/README.txt文件)加入到你的classpath里面。</para>
+ </listitem>
+
+ <listitem>
+ <para>将<filename>hibernate-annotations.jar</filename>
+
和<filename>lib/ejb3-persistence.jar</filename>加入到你的classpath里面。</para>
+ </listitem>
+
+ <listitem>
+ <para>如果要使用 <xref linkend="lucene"
/>,还需要将lucene的jar文件加入你的classpath。</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>我们推荐在一个包装器(wrapper)类<classname>HibernateUtil</classname>
+ 的静态初始化代码块中启动Hibernate。或许你在Hibernate文档的其他很多地方看到过这个类,
+ 但是要在你的项目中使用注解,还需要对这个辅助(helper)类进行扩展。扩展如下:
+ <programlisting>package hello;
+
+import org.hibernate.*;
+import org.hibernate.cfg.*;
+import test.*;
+import test.animals.Dog;
+
+public class HibernateUtil {
+
+private static final SessionFactory sessionFactory;
+
+ static {
+ try {
+
+ sessionFactory = new <emphasis
role="bold">AnnotationConfiguration()</emphasis>.buildSessionFactory();
+ } catch (Throwable ex) {
+ // Log exception!
+ throw new ExceptionInInitializerError(ex);
+ }
+ }
+
+ public static Session getSession()
+ throws HibernateException {
+ return sessionFactory.openSession();
+ }
+}
+ </programlisting></para>
+
+
<para>这里比较有意思的是使用到了<classname>AnnotationConfiguration</classname>类。
+
在XML配置文件(通常是<filename>hibernate.cfg.xml</filename>)中则定义了包和经过注解的类。下面的xml和前面的声明等价:
+ </para>
+
+ <programlisting><!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+ <hibernate-configuration>
+ <session-factory>
+ <emphasis role="bold"><mapping
package="test.animals"/>
+ <mapping class="test.Flight"/>
+ <mapping class="test.Sky"/>
+ <mapping class="test.Person"/>
+ <mapping class="test.animals.Dog"/></emphasis>
+<emphasis role="bold"> <mapping
resource="test/animals/orm.xml"/></emphasis>
+ </session-factory>
+ </hibernate-configuration>
+ </programlisting>
+
+ <para>注意现在你可以混合使用hbm.xml和注解。资源元素(resource element)可以是hbm文件也可以是EJB3
XML发布描述符,此差别对于配置过程是透明的。</para>
+
+ <para>除了上面的方式,你还可以通过编程的方式定义包括注解的类和包</para>
+
+ <programlisting> sessionFactory = new <emphasis
role="bold">AnnotationConfiguration()
+ .addPackage("test.animals") //the fully qualified package
name
+ .addAnnotatedClass(Flight.class)
+ .addAnnotatedClass(Sky.class)
+ .addAnnotatedClass(Person.class)
+ .addAnnotatedClass(Dog.class)</emphasis>
+ .buildSessionFactory();</programlisting>
+
+ <para>你也可以使用Hibernate Entity Manager来完成以上功能。Hibernate Entity
Manager有自己的一套配置机制,详情请参考相关文档。</para>
+
+ <para>除了启动方式和配置文件有所改变之外,结合注解来使用Hibernate API和以前没有什么区别,
+ 在其他方面你还是可以继续保持以前的习惯和喜好(<filename>hibernate.properties</filename>,
+ <filename>hibernate.cfg.xml</filename>, programmatic APIs等等)。
+
甚至对于同一个<classname>SessionFactory</classname>,你都可以混合带注解的持久类以及传统的bm.cfg.xml声明方式。
+ 然而你不能多次声明同一个类(要么通过注解要么通过hbm.xml配置文件),
+ 而且在一个映射实体的类继承层次中,这两个配置策略不能同时使用.
+ </para>
+
+ <para>为了简化从hbm文件到注解的迁移过程,
+ 配置机制将自动检测在注解和hbm文件中重复的映射。
+ 默认情况下hbm文件中的声明比类中的注解元数据具有更高的优先级。
+ 这种优先级的设定是以类为单位的。
+ 你也可以通过<literal>hibernate.mapping.precedence</literal>修改这种优先级。
+ 默认的值是<literal>hbm, class</literal>,
+ 如果改为<literal>class,hbm</literal>,当发生冲突的时候,类中的注解将比hbm文件具有更高的优先级。
+ </para>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/validator.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/validator.xml
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/validator.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,464 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="validator">
+ <title>Hibernate验证器</title>
+
+ <para>注解是一种为领域模型(domain model)指定不变约束的简洁而幽雅的方法。例如,你能
+ 表示一个属性永远不为null,一个帐户余额一定是正值,等等。这些域模型约束通过为bean中的属性添加
+ 注解来加以声明。随后一个验证器(validator)会读取并检查这些约束。验证机制可以执行于应用程序中的
+ 不同层(表现层、数据访问层),而不必复述任何(前述)这些规则。Hibernate验证器正为这一目的而设计的。</para>
+
+ <para>Hibernate验证器工作在两个层次上。第一层,它能检查内存中一个类的实例是否违反约束。
+ 第二层,它能将约束应用于Hibernate元模型上,并将它们融入生成的数据库schema中。</para>
+
+ <para>每个约束注解(constraint annotation)和一个验证器实现关联,该验证器负责检查位于实体实例上的约束。
+ 一个验证器也能(可选地)将约束应用于Hibernate元模型上,让Hibernate生成表示这一约束的DDL。使用合适的事件监听器,你能
+ 让Hibernate在插入和更新时执行检查操作。Hibernate验证器并不局限于同Hibernate一起使用。
+ 你能在你应用程序的任何地方方便地使用它。</para>
+
+ <para>在运行时检查实例时,Hibernate验证器返回违反约束的信息,
+ 这些信息以一个<classname>InvalidValue</classname>数组的形式返回。
+ 除了众多其他信息外,<classname>InvalidValue</classname>包含了一个错误描述消
+ 息,该信息可以内嵌与注解相捆绑的参数值(例如长度限制),以及能被提取至ResourceBundle的消息字串。</para>
+
+ <sect1 id="validator-constraints">
+ <title>约束</title>
+
+ <sect2>
+ <title>什么是约束?</title>
+
+ <para>约束通过注解表示。一个约束通常有一些用来参数化约束限制的属性。约束应用于带注解的元素。</para>
+ </sect2>
+
+ <sect2>
+ <title>内建约束</title>
+
+ <para>Hibernate验证器有些内建约束,这些约束覆盖了大多数的基本数据检查。随后我们会看到,
+ 你不必受制于这些内置约束,因为一分钟内就可以写出你自己的约束。</para>
+
+ <table>
+ <title>内建约束</title>
+
+ <tgroup cols="4">
+ <colspec align="center" />
+
+ <thead>
+ <row>
+ <entry>注解</entry>
+
+ <entry>应用目标</entry>
+
+ <entry>运行时检查</entry>
+
+ <entry>Hibernate元数据影响</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>@Length(min=, max=)</entry>
+
+ <entry>属性(String)</entry>
+
+ <entry>检查字符串长度是否符合范围</entry>
+
+ <entry>列长度会被设到最大值</entry>
+ </row>
+
+ <row>
+ <entry>@Max(value=)</entry>
+
+ <entry>属性 (以numeric或者string类型来表示一个数字)</entry>
+
+ <entry>检查值是否小于或等于最大值</entry>
+
+ <entry>对列增加一个检查约束</entry>
+ </row>
+
+ <row>
+ <entry>@Min(value=)</entry>
+
+ <entry>属性(以numeric或者string类型来表示一个数字)</entry>
+
+ <entry>检查值是否大于或等于最小值</entry>
+
+ <entry>对列增加一个检查约束</entry>
+ </row>
+
+ <row>
+ <entry>@NotNull</entry>
+
+ <entry>属性</entry>
+
+ <entry>检查值是否非空(not null)</entry>
+
+ <entry>列不为空</entry>
+ </row>
+
+ <row>
+ <entry>@Past</entry>
+
+ <entry>属性(date或calendar)</entry>
+
+ <entry>检查日期是否是过去时</entry>
+
+ <entry>对列增加一个检查约束</entry>
+ </row>
+
+ <row>
+ <entry>@Future</entry>
+
+ <entry>属性 (date 或 calendar)</entry>
+
+ <entry>检查日期是否是将来时</entry>
+
+ <entry>无</entry>
+ </row>
+
+ <row>
+ <entry>@Pattern(regex="regexp", flag=)</entry>
+
+ <entry>属性 (string)</entry>
+
+ <entry>检查属性是否与给定匹配标志的正则表达式相匹配(见<classname>
+ java.util.regex.Pattern </classname>)</entry>
+
+ <entry>无</entry>
+ </row>
+
+ <row>
+ <entry>@Range(min=, max=)</entry>
+
+ <entry>属性(以numeric或者string类型来表示一个数字)</entry>
+
+ <entry>检查值是否在最小和最大值之间(包括临界值)</entry>
+
+ <entry>对列增加一个检查约束</entry>
+ </row>
+
+ <row>
+ <entry>@Size(min=, max=)</entry>
+
+ <entry>属性 (array, collection, map)</entry>
+
+ <entry>检查元素大小是否在最小和最大值之间(包括临界值)</entry>
+
+ <entry>无</entry>
+ </row>
+
+ <row>
+ <entry>@AssertFalse</entry>
+
+ <entry>属性</entry>
+
+ <entry>检查方法的演算结果是否为false(对以代码方式而不是注解表示的约束很有用)</entry>
+
+ <entry>无</entry>
+ </row>
+
+ <row>
+ <entry>@AssertTrue</entry>
+
+ <entry>属性</entry>
+
+ <entry>检查方法的演算结果是否为true(对以代码方式而不是注解表示的约束很有用)</entry>
+
+ <entry>无</entry>
+ </row>
+
+ <row>
+ <entry>@Valid</entry>
+
+ <entry>属性 (object)</entry>
+
+
<entry>对关联对象递归的进行验证。如果对象是集合或数组,就递归地验证其元素。如果对象是Map,则递归验证其值元素。</entry>
+
+ <entry>无</entry>
+ </row>
+
+ <row>
+ <entry>@Email</entry>
+
+ <entry>属性(String)</entry>
+
+ <entry>检查字符串是否符合有效的email地址规范。</entry>
+
+ <entry>无</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+ </sect2>
+
+ <sect2 id="validator-constraints-error" xreflabel="Error
messages">
+ <title id="validator-constraints-error">错误信息</title>
+
+ <para>Hibernate验证器提供了一组默认的错误提示信息,它们被翻译成多种语言(如果你的语言不在其中,请给
+
我们寄一个补丁)。你可以在<filename>org.hibernate.validator.resources.DefaultValidatorMessages.properties</filename>
+
之外创建<filename>ValidatorMessages.properties</filename>或<filename>ValidatorMessages_loc.properties</filename>
+ 文件并改变相应的键值,籍此覆盖那些(默认)信息。你甚至可以在写自己的验证器
+ 注解时添加你自己的附加消息集。</para>
+
+
<para>或者你可以以编程方式检查bean的验证规则并提供相应的<classname>ResourceBundle</classname>。</para>
+ </sect2>
+
+ <sect2>
+ <title>编写你自己的约束</title>
+
+ <para>扩展内建约束集是极其方便的。任何约束都包括两部分:约束<emphasis>描述符</emphasis>(注解)
+ 和约束<emphasis>验证器</emphasis>(实现类)。下面是一个简单的用户定义描述符:</para>
+
+ <programlisting>(a)ValidatorClass(CapitalizedValidator.class)
+@Target(METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface Capitalized {
+ CapitalizeType type() default Capitalize.FIRST;
+ String message() default "has incorrect capitalization";
+}</programlisting>
+
+ <para><literal>type</literal>参数描述属性应该如何被大写。这是一个完全依赖于注解业务(逻辑)的用户
+ 参数。</para>
+
+
<para><literal>message</literal>是用于描述约束违规的默认字符串,它是强制要求的。你可以采取硬编码的方式,
+ 或者通过Java ResourceBundle机制将message的部分/全部内容提取至外部文件。一旦发现message中{parameter}字符串,
+ 就会在{parameter}这个位置注入相应的参数值(在我们的例子里Capitalization is not {type}会生成 Capitalization is
not FIRST),
+ 可以将message对应的整个字符串提取至外部文件ValidatorMessages.properties,这也是一种良好实践。
+ 见<xref linkend="validator-constraints-error" />。</para>
+
+ <programlisting>(a)ValidatorClass(CapitalizedValidator.class)
+@Target(METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface Capitalized {
+ CapitalizeType type() default Capitalize.FIRST;
+ String message() default "{validator.capitalized}";
+}
+
+...
+#in ValidatorMessages.properties
+validator.capitalized=<literal>Capitalization is not
{type}</literal></programlisting>
+
+ <para>如你所见{}符号是递归的。</para>
+
+ <para>为了将一个描述符连接到它的验证器实现,我们使用<literal>@ValidatorClass</literal>
+
元注解。验证器类参数必须指定一个实现了<literal>Validator<ConstraintAnnotation></literal>
+ 的类。</para>
+
+ <para>我们现在要实现验证器(也就是实现规则检查)。一个验证器实现能检查一个属性的值
+ (实现<literal>PropertyConstraint</literal>),并且/或者可以修改hibernate映射元数据
+
(实现<literal>PersistentClassConstraint</literal>),籍此表示数据库级的约束。</para>
+
+ <programlisting>public class CapitalizedValidator
+ implements Validator<Capitalized>, PropertyConstraint {
+ private CapitalizeType type;
+
+ //part of the Validator<Annotation> contract,
+ //allows to get and use the annotation values
+ public void initialize(Capitalized parameters) {
+ type = parameters.type();
+ }
+
+ //part of the property constraint contract
+ public boolean isValid(Object value) {
+ if (value==null) return true;
+ if ( !(value instanceof String) ) return false;
+ String string = (String) value;
+ if (type == CapitalizeType.ALL) {
+ return string.equals( string.toUpperCase() );
+ }
+ else {
+ String first = string.substring(0,1);
+ return first.equals( first.toUpperCase();
+ }
+ }
+}</programlisting>
+
+
<para>如果违反约束,<literal>isValid()</literal>方法将返回false。更多例子请参考内建验证器实现。</para>
+
+ <para>至此我们只看到属性级的验证,你还可以写一个Bean级别的验证注解。Bean自身会被传递给验证器,
+ 而不是bean的属性实例。只要对bean自身进行注解即可激活验证检查。在单元测试套件中还可以找到一个小例子。</para>
+ </sect2>
+
+ <sect2>
+ <title>注解你的领域模型</title>
+
+ <para>既然你现在已经熟悉注解了,那么对语法也应该很清楚了。</para>
+
+ <programlisting>public class Address {
+ private String line1;
+ private String line2;
+ private String zip;
+ private String state;
+ private String country;
+ private long id;
+
+ // a not null string of 20 characters maximum
+ @Length(max=20)
+ @NotNull
+ public String getCountry() {
+ return country;
+ }
+
+ // a non null string
+ @NotNull
+ public String getLine1() {
+ return line1;
+ }
+
+ //no constraint
+ public String getLine2() {
+ return line2;
+ }
+
+ // a not null string of 3 characters maximum
+ @Length(max=3) @NotNull
+ public String getState() {
+ return state;
+ }
+
+ // a not null numeric string of 5 characters maximum
+ // if the string is longer, the message will
+ //be searched in the resource bundle at key 'long'
+ @Length(max=5, message="{long}")
+ @Pattern(regex="[0-9]+")
+ @NotNull
+ public String getZip() {
+ return zip;
+ }
+
+ // should always be true
+ @AssertTrue
+ public boolean isValid() {
+ return true;
+ }
+
+ // a numeric between 1 and 2000
+ @Id @Min(1)
+ @Range(max=2000)
+ public long getId() {
+ return id;
+ }
+}</programlisting>
+
+ <para>上面的例子只展示了公共属性验证,你还可以对任何可见度的字段(field)进行注解。</para>
+
+ <programlisting>@MyBeanConstraint(max=45)
+public class Dog {
+ @AssertTrue private boolean isMale;
+ @NotNull protected String getName() { ... };
+ ...
+}</programlisting>
+
+ <para>你可以对接口进行注解。Hibernate验证器会检查给定bean所扩展或实现的所有父类和接口,
+ 籍以读取相应的验证器注解(信息)。</para>
+
+ <programlisting>public interface Named {
+ @NotNull String getName();
+ ...
+}
+
+public class Dog implements Named {
+
+ @AssertTrue private boolean isMale;
+
+ public String getName() { ... };
+
+}</programlisting>
+
+ <para>在验证Dog bean时会检查name属性的有效性(不为null)。</para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>使用验证器框架</title>
+
+ <para>Hibernate验证器旨在实现多层数据验证,我们在一处表示约束(带注解的域模型),然后将其运用于
+ 应用程序的不同层。</para>
+
+ <sect2>
+ <title>数据库schema层次验证</title>
+
+ <para>无须额外手续,Hibernate Annotations会自动将你为实体定义的约束翻译为映射元数据。例如,如果你的实体
+ 的一个属性注解为<literal>@NotNull</literal>,在Hibernate生成的DDL schema中这列会被定义为
+ <literal>not null</literal>。</para>
+ </sect2>
+
+ <sect2>
+ <title>Hibernate基于事件的验证</title>
+
+
<para>Hibernate验证器有两个内建Hibernate事件监听器。当一个<literal>PreInsertEvent</literal>
+ 或<literal>PreUpdateEvent</literal>发生时,监听器会验证该实体实例的所有约束,如有违反会抛出一个异常。
+ 基本上,在Hibernate执行任何插入和更新前对象会被检查。这是激活验证过程的最便捷最简单的方法。当遇到约束
+
违规时,事件会引发一个运行时<classname>InvalidStateException</classname>,该异常包含一个描述每个错误的
+ <literal>InvalidValue</literal>数组。</para>
+
+ <programlisting><hibernate-configuration>
+ ...
+ <event type="pre-update">
+ <listener
+
class="org.hibernate.validator.event.ValidatePreUpdateEventListener"/>
+ </event>
+ <event type="pre-insert">
+ <listener
+
class="org.hibernate.validator.event.ValidatePreInsertEventListener"/>
+ </event>
+</hibernate-configuration></programlisting>
+
+ <para><note>
+ <para>在使用Hibernate Entity Manager时,Validation框架会被自动激活。如果bean不带验证注解,
+ 就不会有性能损失。</para>
+ </note></para>
+ </sect2>
+
+ <sect2>
+ <title>程序级验证</title>
+
+ <para>Hibernate验证器能应用于你应用程序代码中的任何地方。</para>
+
+ <programlisting>ClassValidator personValidator = new ClassValidator(
Person.class );
+ClassValidator addressValidator = new ClassValidator( Address.class,
ResourceBundle.getBundle("messages", Locale.ENGLISH) );
+
+InvalidValue[] validationMessages =
addressValidator.getInvalidValues(address);</programlisting>
+
+ <para>头两行为执行类检查而准备Hibernate验证器。第一行依赖于嵌入在Hibernate验证器内的错误
+ 消息(见<xref linkend="validator-constraints-error"
/>),第二行为这些消息准备资源包。这些代码只执行一次,
+ 并将验证器进行缓存处理,这种方式是一种良好实践。</para>
+
+
<para>第三行真正验证了<literal>Address</literal>实例并返回一个<literal>InvalidValue</literal>数组。
+ 你的应用程序逻辑随后可以对错误做出响应。</para>
+
+ <para>除了针对整个bean你还可以对某个特定属性进行检查。这对于一个属性一个属性的用户交互情形或许是有用的。</para>
+
+ <programlisting>ClassValidator addressValidator = new ClassValidator(
Address.class, ResourceBundle.getBundle("messages", Locale.ENGLISH) );
+
+//only get city property invalid values
+InvalidValue[] validationMessages = addressValidator.getInvalidValues(address,
"city");
+
+//only get potential city property invalid values
+InvalidValue[] validationMessages =
addressValidator.getPotentialInvalidValues("city",
"Paris")</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>验证信息</title>
+
+
<para>作为一个验证信息的载体,hibernate提供了一个<classname>InvalidValue</classname>数组。
+ 每个<literal>InvalidValue</literal>有一组,这些方法分别描述相应的个体问题。</para>
+
+
<para><methodname>getBeanClass()</methodname>获取失败的bean类型。</para>
+
+ <para><methodname>getBean()</methodname>获取验证失败的实例(如果有的话,当使用
+ <methodname>getPotentianInvalidValues()</methodname>时则不会取到)
</para>
+
+ <para><methodname>getValue()</methodname>获取验证失败的值</para>
+
+
<para><methodname>getMessage()</methodname>获取合适的国际化错误消息</para>
+
+
<para><methodname>getRootBean()</methodname>获取产生问题的根bean实例(在与<literal>@Valid</literal>连用
+ 时很有用),如用getPotentianInvalidValues()则返回null。</para>
+
+
<para><literal>getPropertyPath()</literal>获取“问题”属性从根bean开始的带点的路径</para>
+ </sect2>
+ </sect1>
+</chapter>
\ No newline at end of file
Added:
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/xml-overriding.xml
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/xml-overriding.xml
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/modules/xml-overriding.xml 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="xml-overriding">
+ <title>通过XML覆写元数据</title>
+
+ <para>在EJB3中元数据的主要目标是使用注释,但是EJB3规范也提供通过XML部署文件来覆写或者替换元数据注释.
+ 在当前的发布版本仅仅支持EJB3注释的覆写,如果你想使用Hibernate特有的一些实体注释,
+ 你有两种选择:一,只使用注释;二,使用原来的hbm 映射文件.你当然还是可以同时使用注释实体和hbm XML映射文件的实体.</para>
+
+ <para>在测试套件中有一些附加的XML文件的样例.</para>
+
+ <section>
+ <title>原则</title>
+
+ <para>XML部署文件结构被设计为直接映射注释结构,所以如果你知道注释的结构,那么使用XML语法是很简单的.</para>
+
+
+ <para>你可以定义一个或者多个XML文件来描述你的元数据,这些文件会被覆写引擎合并(merged).</para>
+
+ <section>
+ <title>全局级别的元数据</title>
+
+ <para>你可以使用XML文件来定义全局元数据,对每一个部署文件你不能定义多于一个的元数据.</para>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <schema>myschema</schema>
+ <catalog>mycatalog</catalog>
+ <cascade-persist/>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata></programlisting>
+
+ <para><literal>xml-mapping-metadata-complete</literal>
意味着所有的实体,mapped-superclasses和嵌套的元数据应该从XML文件中启用(忽略注释).</para>
+
+
+ <para><literal>schema / catalog</literal> 将覆写所有在元数据中默认定义的schema 和
catalog(包括XML和注释).</para>
+
+ <para><literal>cascade-persist</literal> 意味着所有注释作为一个 cascade type
都是PERSIST的. 我们推荐你不要使用该特性.</para>
+ </section>
+
+ <section>
+ <title>实体级别的元数据</title>
+
+ <para>你也可以在一个给定的实体上定义或者覆写元数据</para>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="3 85" id="aa1" />
+
+ <area coords="9 85" id="aa2" />
+
+ <area coords="10 85" id="aa3" />
+
+ <area coords="11 85" id="aa4" />
+
+ <area coords="17 85" id="aa5" />
+
+ <area coords="23 85" id="aa6" />
+
+ <area coords="24 85" id="aa7" />
+
+ <area coords="25 85" id="aa8" />
+
+ <area coords="26 85" id="aa9" />
+
+ <area coords="31 85" id="aa10" />
+ </areaspec>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+
<package>org.hibernate.test.annotations.reflection</package>
+ <entity class="Administration" access="PROPERTY"
metadata-complete="true">
+ <table name="tbl_admin">
+ <unique-constraint>
+ <column-name>firstname</column-name>
+ <column-name>lastname</column-name>
+ </unique-constraint>
+ </table>
+ <secondary-table name="admin2">
+ <primary-key-join-column name="admin_id"
referenced-column-name="id"/>
+ <unique-constraint>
+ <column-name>address</column-name>
+ </unique-constraint>
+ </secondary-table>
+ <id-class class="SocialSecurityNumber"/>
+ <inheritance strategy="JOINED"/>
+ <sequence-generator name="seqhilo"
sequence-name="seqhilo"/>
+ <table-generator name="table"
table="tablehilo"/>
+ ...
+ </entity>
+
+ <entity class="PostalAdministration">
+ <primary-key-join-column name="id"/>
+ ...
+ </entity>
+</entity-mappings></programlisting>
+
+ <calloutlist>
+ <callout arearefs="aa1">
+ <para><literal>entity-mappings</literal>:entity-mappings
是所有XML文件的根元素.你必须定义XML Schema, 该文件包含在hibernate-annotations.jar中,使用Hibernate Annotations
不需要访问网络.</para>
+ </callout>
+
+ <callout arearefs="aa2">
+ <para><literal>package</literal> (可选的):
作为默认的package用于在一个给定的部署描述文件中所有没有限定的类.</para>
+ </callout>
+
+ <callout arearefs="aa3">
+ <para><literal>entity</literal>: 描述一个实体. </para>
+
+ <para><literal>metadata-complete</literal>
定义对于该元素是否全部使用元数据(换句话来说就是,如果注释出现在类级别应该考虑或者忽略).</para>
+
+ <para>一个实体不得不有一个 class 属性来引用 元数据所应用的类. </para>
+
+ <para>通过<literal>name</literal>属性你可以覆写实体的名字,
+ 如果没有定义并且<literal>@Entity.name</literal>出现了的话,那么就使用该注释(假如metadata complete
没有被设置).</para>
+
+ <para>
+ 对于metadata complete (参考下面)元素, 你可以定义一个
<literal>access</literal>(<literal>FIELD</literal> 或者
<literal>PROPERTY</literal>(默认值)),
+ 对于非metadata complete 元素,使用注释的access type.</para>
+ </callout>
+
+ <callout arearefs="aa4">
+ <para><literal>table</literal>: 你可以声明table 属性(name,
schema, catalog), 如果没有定义, 将使用Java注释.</para>
+
+ <para>就象例子中所示的那样你可以定义一个或者多个unique constraints</para>
+ </callout>
+
+ <callout arearefs="aa5">
+ <para><literal>secondary-table</literal>:
定义一个secondary-table,除了你可以通过<literal>primary-key-join-column </literal>元素定义
primary key / foreign key 列以外是和一般的table一样的. 在非metadata complete下, annotation secondary
tables 仅仅在没有<literal>secondary-table </literal>定义的情况下使用, 否则
注释将被忽略.</para>
+ </callout>
+
+ <callout arearefs="aa6">
+ <para><literal>id-class</literal>:
和<literal>@IdClass</literal>一样定义一个id class.</para>
+ </callout>
+
+ <callout arearefs="aa7">
+ <para><literal>inheritance</literal>:
+ 定义继承策略(<literal>JOINED</literal>,
+ <literal>TABLE_PER_CLASS</literal>,
+ <literal>SINGLE_TABLE</literal>), 仅仅在根实体级别可以使用.</para>
+ </callout>
+
+ <callout arearefs="aa8">
+ <para><literal>sequence-generator</literal>:
定义一个序列产生器.</para>
+ </callout>
+
+ <callout arearefs="aa9">
+ <para><literal>table-generator</literal>: 定义一个table
generator</para>
+ </callout>
+
+ <callout arearefs="aa10">
+
<para><literal><literal>primary-key-join-column</literal></literal>:
+ 当 JOINED 继承策略使用时,为sub entities定义一个 primary key join column.</para>
+ </callout>
+ </calloutlist>
+
+
+ </programlistingco>
+
+ <programlistingco>
+ <areaspec>
+ <area coords="11 85" id="ab1" />
+
+ <area coords="18 85" id="ab2" />
+
+ <area coords="22 85" id="ab3" />
+
+ <area coords="28 85" id="ab4" />
+
+ <area coords="34 85" id="ab5" />
+ </areaspec>
+
+ <programlisting><?xml version="1.0"
encoding="UTF-8"?>
+
+<entity-mappings
+
xmlns="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+
+
<package>org.hibernate.test.annotations.reflection</package>
+ <entity class="Music" access="PROPERTY"
metadata-complete="true">
+ <discriminator-value>Generic</discriminator-value>
+ <discriminator-column length="34"/>
+ ...
+ </entity>
+
+ <entity class="PostalAdministration">
+ <primary-key-join-column name="id"/>
+ <named-query name="adminById">
+ <query>select m from Administration m where m.id =
:id</query>
+ <hint name="org.hibernate.timeout"
value="200"/>
+ </named-query>
+ <named-native-query name="allAdmin"
result-set-mapping="adminrs">
+ <query>select *, count(taxpayer_id) as taxPayerNumber
+ from Administration, TaxPayer
+ where taxpayer_admin_id = admin_id group by ...</query>
+ <hint name="org.hibernate.timeout"
value="200"/>
+ </named-native-query>
+ <sql-result-set-mapping name="adminrs">
+ <entity-result entity-class="Administration">
+ <field-result name="name"
column="fld_name"/>
+ </entity-result>
+ <column-result name="taxPayerNumber"/>
+ </sql-result-set-mapping>
+ <attribute-override name="ground">
+ <column name="fld_ground" unique="true"
scale="2"/>
+ </attribute-override>
+ <association-override name="referer">
+ <join-column name="referer_id"
referenced-column-name="id"/>
+ </association-override>
+ ...
+ </entity>
+</entity-mappings></programlisting>
+
+ <calloutlist>
+ <callout arearefs="ab1">
+ <para><literal>discriminator-value /
+ discriminator-column</literal>: 当SINGLE_TABLE继承策略使用时,定义鉴别器值 和
保存该值的列.</para>
+ </callout>
+
+ <callout arearefs="ab2">
+ <para><literal>named-query</literal>: 定义命名查询和一些相关的可能的线索.
该定义附加在注释的定义中,如果两个都定义了相同的名字,那么XML将优先考虑.</para>
+ </callout>
+
+ <callout arearefs="ab3">
+ <para><literal>named-native-query</literal>: 定义一个命名本地查询 和他的
sql result set 映射. 作为另外一种选择,你可以定义<literal>result-class</literal>.
这些定义附加在注释的定义中.如果两个定义了同样的名字,XML文件优先考虑.</para>
+ </callout>
+
+ <callout arearefs="ab4">
+ <para><literal>sql-result-set-mapping</literal>: 描述了 result
set mapping 的结构. 你可以定义 实体和列映射. 这些定义附加在注释的定义中,如果定义了同样的名字,XML文件优先考虑.</para>
+ </callout>
+
+ <callout arearefs="ab5">
+ <para><literal>attribute-override /
+ association-override</literal>: 定义一列或者join column overriding.
该overriding 附加在注释的定义中.</para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+
+ <para>一些应用于 <literal><embeddable></literal> 和
+ <literal><mapped-superclass></literal>.</para>
+ </section>
+
+ <section>
+ <title>属性级别的元数据</title>
+
+ <para>
+ 你当然可以定义XML来覆写属性. 如果metadata complete 给定义了,那么附加的属性(如: 在Java 级别的)将被忽略.
+另外,一旦你开始覆写一个属性,在该属性上的所有注释都会被忽略.所有属性级别的元数据应用于<literal>entity/attributes</literal>,
+ <literal>mapped-superclass/attributes</literal> 或
+ <literal>embeddable/attributes</literal>.</para>
+
+ <programlisting> <attributes>
+ <id name="id">
+ <column name="fld_id"/>
+ <generated-value generator="generator"
strategy="SEQUENCE"/>
+ <temporal>DATE</temporal>
+ <sequence-generator name="generator"
sequence-name="seq"/>
+ </id>
+ <version name="version"/>
+ <embedded name="embeddedObject">
+ <attribute-override name"subproperty">
+ <column name="my_column"/>
+ </attribute-override>
+ </embedded>
+ <basic name="status" optional="false">
+ <enumerated>STRING</enumerated>
+ </basic>
+ <basic name="serial" optional="true">
+ <column name="serialbytes"/>
+ <lob/>
+ </basic>
+ <basic name="terminusTime" fetch="LAZY">
+ <temporal>TIMESTAMP</temporal>
+ </basic>
+ </attributes></programlisting>
+
+ <para>
+ 通过 <literal>id</literal>,
+ <literal>embedded-id</literal>,
<literal>version</literal>,
+ <literal>embedded</literal> 和
<literal>basic</literal>你可以覆写一个属性,
+ 这些元素中的每一个元素都有相应的subelements:<literal>lob</literal>,
+ <literal>temporal</literal>,
<literal>enumerated</literal>,
+ <literal>column</literal>.</para>
+
+ </section>
+
+ <section>
+ <title>关联级别的元数据</title>
+
+ <para>你可以定义XML覆写关联注释. 所有的关联级别的元数据作用于
+ <literal>entity/attributes</literal>,
+ <literal>mapped-superclass/attributes</literal> 或
+ <literal>embeddable/attributes</literal>.</para>
+
+ <programlisting> <attributes>
+ <one-to-many name="players" fetch="EAGER">
+ <map-key name="name"/>
+ <join-column name="driver"/>
+ <join-column name="number"/>
+ </one-to-many>
+ <many-to-many name="roads"
target-entity="Administration">
+ <order-by>maxSpeed</order-by>
+ <join-table name="bus_road">
+ <join-column name="driver"/>
+ <join-column name="number"/>
+ <inverse-join-column name="road_id"/>
+ <unique-constraint>
+ <column-name>driver</column-name>
+ <column-name>number</column-name>
+ </unique-constraint>
+ </join-table>
+ </many-to-many>
+ <many-to-many name="allTimeDrivers"
mapped-by="drivenBuses">
+ </attributes></programlisting>
+
+ <para>通过<literal>one-to-many</literal>,
<literal>one-to-one</literal>,
+ <literal>many-to-one</literal>, 和
<literal>many-to-many</literal>.
+ 你可以重写一个关联关系.这些元素中的每一个都有相应的subelements. <literal>join-table</literal>
(可以有
+ <literal>join-column</literal>和
+ <literal>inverse-join-column</literal>),
+ <literal><literal>join-column</literal></literal>,
+ <literal>map-key</literal>, 和 <literal>order-by</literal>.
+ <literal>mapped-by</literal> 和
<literal>target-entity</literal>
+ 当他们有意义的时候可以定义属性. 再一次强调 该结构映射于注释的结构.在描述注释的一章中 你可以找到所有的语义信息.</para>
+
+
+ </section>
+ </section>
+</chapter>
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/fopdf.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/fopdf.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/fopdf.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,509 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL FO configuration file for the Hibernate
+ Reference Documentation. It defines a custom titlepage and
+ the parameters for the A4 sized PDF printable output.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+
xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ exclude-result-prefixes="#default">
+
+ <xsl:import href="&db_xsl_path;/fo/docbook.xsl"/>
+
+ <!--###################################################
+ Custom Title Page
+ ################################################### -->
+
+ <xsl:template name="book.titlepage.recto">
+ <fo:block>
+ <fo:table table-layout="fixed" width="175mm">
+ <fo:table-column column-width="175mm"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell text-align="center">
+ <fo:block>
+ <fo:external-graphic
src="file:images/hibernate_logo_a.png"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="22pt" padding-before="10mm">
+ <xsl:value-of
select="bookinfo/subtitle"/>
+ </fo:block>
+ <fo:block font-family="Helvetica"
font-size="12pt" padding="10mm">
+ Version:
+ <xsl:value-of
select="bookinfo/releaseinfo"/>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Prevent blank pages in output -->
+ <xsl:template name="book.titlepage.before.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.verso">
+ </xsl:template>
+ <xsl:template name="book.titlepage.separator">
+ </xsl:template>
+
+ <!--###################################################
+ Header
+ ################################################### -->
+
+ <!-- More space in the center header for long text -->
+ <xsl:attribute-set name="header.content.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$body.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="margin-left">-5em</xsl:attribute>
+ <xsl:attribute name="margin-right">-5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Custom Footer
+ ################################################### -->
+
+ <!-- This footer prints the Hibernate version number on the left side -->
+ <xsl:template name="footer.content">
+ <xsl:param name="pageclass" select="''"/>
+ <xsl:param name="sequence" select="''"/>
+ <xsl:param name="position" select="''"/>
+ <xsl:param name="gentext-key" select="''"/>
+
+ <xsl:variable name="Version">
+ <xsl:choose>
+ <xsl:when test="//releaseinfo">
+ <xsl:text>Hibernate </xsl:text>
+ <xsl:value-of select="//releaseinfo"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$sequence='blank'">
+ <xsl:choose>
+ <xsl:when test="$double.sided != 0 and $position =
'left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and $position =
'center'">
+ <!-- nop -->
+ </xsl:when>
+
+ <xsl:otherwise>
+ <fo:page-number/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:when test="$pageclass='titlepage'">
+ <!-- nop: other titlepage sequences have no footer -->
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'even' and
$position='left'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'odd' and
$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and
$position='right'">
+ <fo:page-number/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'odd' and
$position='left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided != 0 and $sequence = 'even' and
$position='right'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:when test="$double.sided = 0 and
$position='left'">
+ <xsl:value-of select="$Version"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <!-- nop -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--###################################################
+ Custom Toc Line
+ ################################################### -->
+
+ <!-- Improve the TOC. -->
+ <xsl:template name="toc.line">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="label">
+ <xsl:apply-templates select="."
mode="label.markup"/>
+ </xsl:variable>
+
+ <fo:block text-align-last="justify"
+ end-indent="{$toc.indent.width}pt"
+ last-line-end-indent="-{$toc.indent.width}pt">
+ <fo:inline keep-with-next.within-line="always">
+ <fo:basic-link internal-destination="{$id}">
+
+ <!-- Chapter titles should be bold. -->
+ <xsl:choose>
+ <xsl:when test="local-name(.) =
'chapter'">
+ <xsl:attribute
name="font-weight">bold</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:if test="$label != ''">
+ <xsl:copy-of select="$label"/>
+ <xsl:value-of
select="$autotoc.label.separator"/>
+ </xsl:if>
+ <xsl:apply-templates select="."
mode="titleabbrev.markup"/>
+ </fo:basic-link>
+ </fo:inline>
+ <fo:inline keep-together.within-line="always">
+ <xsl:text> </xsl:text>
+ <fo:leader leader-pattern="dots"
+ leader-pattern-width="3pt"
+ leader-alignment="reference-area"
+ keep-with-next.within-line="always"/>
+ <xsl:text> </xsl:text>
+ <fo:basic-link internal-destination="{$id}">
+ <fo:page-number-citation ref-id="{$id}"/>
+ </fo:basic-link>
+ </fo:inline>
+ </fo:block>
+ </xsl:template>
+
+ <!--###################################################
+ Extensions
+ ################################################### -->
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <!-- FOP provide only PDF Bookmarks at the moment -->
+ <xsl:param name="fop.extensions">1</xsl:param>
+
+ <!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+ <!-- Dot and Whitespace as separator in TOC between Label and Title-->
+ <xsl:param name="autotoc.label.separator" select="'.
'"/>
+
+
+ <!--###################################################
+ Paper & Page Size
+ ################################################### -->
+
+ <!-- Paper type, no headers on blank pages, no double sided printing -->
+ <xsl:param name="paper.type" select="'A4'"/>
+ <xsl:param name="double.sided">0</xsl:param>
+ <xsl:param name="headers.on.blank.pages">0</xsl:param>
+ <xsl:param name="footers.on.blank.pages">0</xsl:param>
+
+ <!-- Space between paper border and content (chaotic stuff, don't touch)
-->
+ <xsl:param name="page.margin.top">5mm</xsl:param>
+ <xsl:param name="region.before.extent">10mm</xsl:param>
+ <xsl:param name="body.margin.top">10mm</xsl:param>
+
+ <xsl:param name="body.margin.bottom">15mm</xsl:param>
+ <xsl:param name="region.after.extent">10mm</xsl:param>
+ <xsl:param name="page.margin.bottom">0mm</xsl:param>
+
+ <xsl:param name="page.margin.outer">18mm</xsl:param>
+ <xsl:param name="page.margin.inner">18mm</xsl:param>
+
+ <!-- No intendation of Titles -->
+ <xsl:param name="title.margin.left">0pc</xsl:param>
+
+ <!--###################################################
+ Fonts & Styles
+ ################################################### -->
+
+ <!-- Default Font size -->
+ <xsl:param name="body.font.master">11</xsl:param>
+
+ <!-- Line height in body text -->
+ <xsl:param name="line-height">1.4</xsl:param>
+
+ <!-- Monospaced fonts are smaller than regular text -->
+ <xsl:attribute-set name="monospace.properties">
+ <xsl:attribute name="font-family">
+ <xsl:value-of select="$monospace.font.family"/>
+ </xsl:attribute>
+ <xsl:attribute name="font-size">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+
+ <!--###################################################
+ Tables
+ ################################################### -->
+
+ <!-- The table width should be adapted to the paper size -->
+ <xsl:param name="default.table.width">17.4cm</xsl:param>
+
+ <!-- Some padding inside tables -->
+ <xsl:attribute-set name="table.cell.padding">
+ <xsl:attribute name="padding-left">4pt</xsl:attribute>
+ <xsl:attribute name="padding-right">4pt</xsl:attribute>
+ <xsl:attribute name="padding-top">4pt</xsl:attribute>
+ <xsl:attribute name="padding-bottom">4pt</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Only hairlines as frame and cell borders in tables -->
+ <xsl:param
name="table.frame.border.thickness">0.1pt</xsl:param>
+ <xsl:param
name="table.cell.border.thickness">0.1pt</xsl:param>
+
+ <!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+ <!--###################################################
+ Titles
+ ################################################### -->
+
+ <!-- Chapter title size -->
+ <xsl:attribute-set name="chapter.titlepage.recto.style">
+ <xsl:attribute name="text-align">left</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.8"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Why is the font-size for chapters hardcoded in the XSL FO templates?
+ Let's remove it, so this sucker can use our attribute-set only... -->
+ <xsl:template match="title"
mode="chapter.titlepage.recto.auto.mode">
+ <fo:block
xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xsl:use-attribute-sets="chapter.titlepage.recto.style">
+ <xsl:call-template name="component.title">
+ <xsl:with-param name="node"
select="ancestor-or-self::chapter[1]"/>
+ </xsl:call-template>
+ </fo:block>
+ </xsl:template>
+
+ <!-- Sections 1, 2 and 3 titles have a small bump factor and padding -->
+ <xsl:attribute-set name="section.title.level1.properties">
+ <xsl:attribute
name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.5"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level2.properties">
+ <xsl:attribute
name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.6em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.25"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+ <xsl:attribute-set name="section.title.level3.properties">
+ <xsl:attribute
name="space-before.optimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.4em</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master * 1.0"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Titles of formal objects (tables, examples, ...) -->
+ <xsl:attribute-set name="formal.title.properties"
use-attribute-sets="normal.para.spacing">
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="font-size">
+ <xsl:value-of select="$body.font.master"/>
+ <xsl:text>pt</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="hyphenate">false</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.4em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.6em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Programlistings
+ ################################################### -->
+
+ <!-- Verbatim text formatting (programlistings) -->
+ <xsl:attribute-set name="verbatim.properties">
+ <xsl:attribute
name="space-before.minimum">1em</xsl:attribute>
+ <xsl:attribute
name="space-before.optimum">1em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ <xsl:attribute name="border-color">#444444</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="border-width">0.1pt</xsl:attribute>
+ <xsl:attribute name="padding-top">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-left">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-right">0.5em</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-left">0.5em</xsl:attribute>
+ <xsl:attribute name="margin-right">0.5em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Shade (background) programlistings -->
+ <xsl:param name="shade.verbatim">1</xsl:param>
+ <xsl:attribute-set name="shade.verbatim.style">
+ <xsl:attribute
name="background-color">#F0F0F0</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- We want to use callouts... -->
+ <xsl:param name="callout.extensions">1</xsl:param>
+
+ <!-- Place callout bullets at this column in programmlisting.-->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+ <!--
+ No, don't use crappy graphics for the callout bullets. This setting
+ enables some weird Unicode rendering for some fancy bullet points
+ in callouts. By default, this can only count to 10 and produces
+ strange results if you ever have more than 10 callouts for one
+ programlisting. We will fix that next.
+ -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!--
+ Again, fun with DocBook XSL: The callout bullets are rendered in
+ two places: In the programlisting itself and in the list below
+ the listing, with the actual callout text. The rendering in the
+ programlisting is some XSL transformer extension (e.g. a Saxon
+ extension), so we can't change that without messing with the
+ extensions. We only can turn it off by setting this limit to
+ zero, then, a simple bracket style like "(3)" and "(4)" will
+ be used in the programlisting.
+ -->
+ <xsl:param name="callout.unicode.number.limit"
select="'0'"></xsl:param>
+
+ <!--
+ The callout bullets in the actual callout list will be rendered
+ with an XSL FO template. The default template is broken: limited to 10
+ nice looking Unicode bullet points and then it doesn't print anything,
+ the fallback doesn't work. We implement our own template, which is not
+ as complicated, more ugly, but works. As always, function is more
+ important than form.
+ -->
+ <xsl:template name="callout-bug">
+ <xsl:param name="conum" select='1'/>
+ <fo:inline
+ color="black"
+ padding-top="0.1em"
+ padding-bottom="0.1em"
+ padding-start="0.2em"
+ padding-end="0.2em"
+ baseline-shift="0.1em"
+ font-family="{$monospace.font.family}"
+ font-weight="bold"
+ font-size="75%">
+ <xsl:text>(</xsl:text>
+ <xsl:value-of select="$conum"/>
+ <xsl:text>)</xsl:text>
+ </fo:inline>
+
+ </xsl:template>
+
+ <!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Correct placement of titles for figures and examples. -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+ <!-- Format Variable Lists as Blocks (prevents horizontal overflow). -->
+ <xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+ <!-- The horrible list spacing problems, this is much better. -->
+ <xsl:attribute-set name="list.block.spacing">
+ <xsl:attribute
name="space-before.optimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.minimum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-before.maximum">0.8em</xsl:attribute>
+ <xsl:attribute
name="space-after.optimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.minimum">0.1em</xsl:attribute>
+ <xsl:attribute
name="space-after.maximum">0.1em</xsl:attribute>
+ </xsl:attribute-set>
+
+ <!-- Newer DocBook XSL apparently thinks that some sections are by
+ default "draft" status, and this idiotic thing is by default
+ also set to "maybe", so it spits out a lot of errors with the
+ latest FOP as the XSL/FO styles have references to some draft
+ watermarks, which you actually don't want in the first place.
+ Turn this crap off. If you have to work with the "status"
+ attribute, don't.
+ -->
+ <xsl:param name="draft.mode" select="'no'"/>
+
+ <!-- Simplified Chinese related Settings -->
+ <xsl:param name="hyphenate">false</xsl:param>
+ <xsl:param name="body.font.family">simsun</xsl:param>
+ <xsl:param name="monospace.font.family">simsun</xsl:param>
+ <xsl:param name="title.font.family">simhei</xsl:param>
+ <xsl:param name="saxon.character.representation"
select="native"/>
+ <xsl:param name="callout.unicode" select="1"/>
+ <xsl:param name="callout.unicode.start.character"
select="10102"/>
+ <xsl:param name="l10n.gentext.default.language"
select="zh-cn"/>
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.css
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.css
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.css 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,97 @@
+A {
+ color: #003399;
+}
+
+A:active {
+ color: #003399;
+}
+
+A:visited {
+ color: #888888;
+}
+
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+ color: #000000;
+}
+
+TD, TH, SPAN {
+ color: #000000;
+}
+
+BLOCKQUOTE {
+ margin-right: 0px;
+}
+
+
+H1, H2, H3, H4, H5, H6 {
+ color: #000000;
+ font-weight:500;
+ margin-top:10px;
+ padding-top:15px;
+}
+
+TABLE {
+ border-collapse: collapse;
+ border-spacing:0;
+ border: 1px thin black;
+ empty-cells: hide;
+}
+
+TD {
+ padding: 4pt;
+}
+
+H1 { font-size: 150%; }
+H2 { font-size: 140%; }
+H3 { font-size: 110%; font-weight: bold; }
+H4 { font-size: 110%; font-weight: bold;}
+H5 { font-size: 100%; font-style: italic; }
+H6 { font-size: 100%; font-style: italic; }
+
+TT {
+font-size: 90%;
+ font-family: "Courier New", Courier, monospace;
+ color: #000000;
+}
+
+PRE {
+font-size: 100%;
+ padding: 5px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #CCCCCC;
+ background-color: #F4F4F4;
+}
+
+UL, OL, LI {
+ list-style: disc;
+}
+
+HR {
+ width: 100%;
+ height: 1px;
+ background-color: #CCCCCC;
+ border-width: 0px;
+ padding: 0px;
+ color: #CCCCCC;
+}
+
+.variablelist {
+ padding-top: 10;
+ padding-bottom:10;
+ margin:0;
+}
+
+.itemizedlist, UL {
+ padding-top: 0;
+ padding-bottom:0;
+ margin:0;
+}
+
+.term {
+ font-weight:bold;
+}
+
+
+
+
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.xsl
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL HTML configuration file for the Hibernate
+ Reference Documentation.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="&db_xsl_path;/html/docbook.xsl"/>
+
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param
name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html_chunk.xsl
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html_chunk.xsl
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/docbook/zh_cn/styles/html_chunk.xsl 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<!--
+
+ This is the XSL HTML configuration file for the Hibernate
+ Reference Documentation.
+
+ It took me days to figure out this stuff and fix most of
+ the obvious bugs in the DocBook XSL distribution. Some of
+ the workarounds might not be appropriate with a newer version
+ of DocBook XSL. This file is released as part of Hibernate,
+ hence LGPL licensed.
+
+ christian(a)hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY db_xsl_path "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+
xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="&db_xsl_path;/html/chunk.xsl"/>
+
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param name="chunk.section.depth">'5'</xsl:param>
+ <xsl:param name="use.id.as.filename">'1'</xsl:param>
+ <xsl:param
name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label"
select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
+</xsl:stylesheet>
Added: annotations/branches/v3_4_0_GA_CP/src/main/javadoc/jdstyle.css
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/javadoc/jdstyle.css
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/javadoc/jdstyle.css 2009-11-24 20:21:05 UTC
(rev 18045)
@@ -0,0 +1,117 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { font-family: Arial;
+ background-color: white;
+ font-size: 10pt;
+ }
+td { font-family: Arial;
+ font-size: 10pt;
+ }
+/* Table colors */
+.TableHeadingColor { background: #F4F4F4 }
+.TableSubHeadingColor { background: #F4F4F4 }
+.TableRowColor { background: #FFFFFF }
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: normal; font-family: Arial }
+.FrameHeadingFont { font-size: normal; font-family: Arial }
+.FrameItemFont { font-size: normal; font-family: Arial }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#F4F4F4;}
+.NavBarCell1Rev { background-color:silver;}
+
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
+A {
+ color: #003399;
+}
+
+A:active {
+ color: #003399;
+}
+
+A:visited {
+ color: #888888;
+}
+
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+ color: #000000;
+}
+
+TD, TH, SPAN {
+ color: #000000;
+}
+
+BLOCKQUOTE {
+ margin-right: 0px;
+}
+
+
+/*H1, H2, H3, H4, H5, H6 {
+ color: #000000;
+ font-weight:500;
+ margin-top:10px;
+ padding-top:15px;
+}
+
+H1 { font-size: 150%; }
+H2 { font-size: 140%; }
+H3 { font-size: 110%; font-weight: bold; }
+H4 { font-size: 110%; font-weight: bold;}
+H5 { font-size: 100%; font-style: italic; }
+H6 { font-size: 100%; font-style: italic; }*/
+
+TT {
+font-size: 90%;
+ font-family: "Courier New", Courier, monospace;
+ color: #000000;
+}
+
+PRE {
+font-size: 90%;
+ padding: 5px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #CCCCCC;
+ background-color: #F4F4F4;
+}
+
+UL, OL, LI {
+ list-style: disc;
+}
+
+HR {
+ width: 100%;
+ height: 1px;
+ background-color: #CCCCCC;
+ border-width: 0px;
+ padding: 0px;
+ color: #CCCCCC;
+}
+
+.variablelist {
+ padding-top: 10;
+ padding-bottom:10;
+ margin:0;
+}
+
+.itemizedlist, UL {
+ padding-top: 0;
+ padding-bottom:0;
+ margin:0;
+}
+
+.term {
+ font-weight:bold;
+}
Added: annotations/branches/v3_4_0_GA_CP/src/main/javadoc/package.html
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/javadoc/package.html
(rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/main/javadoc/package.html 2009-11-24 20:21:05
UTC (rev 18045)
@@ -0,0 +1 @@
+<body></body>
Added: annotations/branches/v3_4_0_GA_CP/src/main/resources/org/hibernate/ejb/orm_1_0.xsd
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/resources/org/hibernate/ejb/orm_1_0.xsd
(rev 0)
+++
annotations/branches/v3_4_0_GA_CP/src/main/resources/org/hibernate/ejb/orm_1_0.xsd 2009-11-24
20:21:05 UTC (rev 18045)
@@ -0,0 +1,1516 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Java Persistence API object-relational mapping file schema -->
+<xsd:schema
targetNamespace="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ @(#)orm_1_0.xsd 1.0 Feb 14 2006
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+
+ This is the XML Schema for the persistence object-relational
+ mapping file.
+ The file may be named "META-INF/orm.xml" in the persistence
+ archive or it may be named some other name which would be
+ used to locate the file as resource on the classpath.
+
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType name="emptyType"/>
+
+ <xsd:simpleType name="versionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="entity-mappings">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The entity-mappings element is the root element of an mapping
+ file. It contains the following four types of elements:
+
+ 1. The persistence-unit-metadata element contains metadata
+ for the entire persistence unit. It is undefined if this element
+ occurs in multiple mapping files within the same persistence unit.
+
+ 2. The package, schema, catalog and access elements apply to all of
+ the entity, mapped-superclass and embeddable elements defined in
+ the same file in which they occur.
+
+ 3. The sequence-generator, table-generator, named-query,
+ named-native-query and sql-result-set-mapping elements are global
+ to the persistence unit. It is undefined to have more than one
+ sequence-generator or table-generator of the same name in the same
+ or different mapping files in a persistence unit. It is also
+ undefined to have more than one named-query or named-native-query
+ of the same name in the same or different mapping files in a
+ persistence unit.
+
+ 4. The entity, mapped-superclass and embeddable elements each define
+ the mapping information for a managed persistent class. The mapping
+ information contained in these elements may be complete or it may
+ be partial.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="persistence-unit-metadata"
+ type="orm:persistence-unit-metadata"
+ minOccurs="0"/>
+ <xsd:element name="package" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="schema" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="catalog" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="sequence-generator"
type="orm:sequence-generator"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="table-generator"
type="orm:table-generator"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="named-query"
type="orm:named-query"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="named-native-query"
type="orm:named-native-query"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="sql-result-set-mapping"
+ type="orm:sql-result-set-mapping"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="mapped-superclass"
type="orm:mapped-superclass"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="entity" type="orm:entity"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="embeddable"
type="orm:embeddable"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="orm:versionType"
+ fixed="1.0" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="persistence-unit-metadata">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Metadata that applies to the persistence unit and not just to
+ the mapping file in which it is contained.
+
+ If the xml-mapping-metadata-complete element is specified then
+ the complete set of mapping metadata for the persistence unit
+ is contained in the XML mapping files for the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="xml-mapping-metadata-complete"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="persistence-unit-defaults"
+ type="orm:persistence-unit-defaults"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="persistence-unit-defaults">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ These defaults are applied to the persistence unit as a whole
+ unless they are overridden by local annotation or XML
+ element settings.
+
+ schema - Used as the schema for all tables or secondary tables
+ that apply to the persistence unit
+ catalog - Used as the catalog for all tables or secondary tables
+ that apply to the persistence unit
+ access - Used as the access type for all managed classes in
+ the persistence unit
+ cascade-persist - Adds cascade-persist to the set of cascade options
+ in entity relationships of the persistence unit
+ entity-listeners - List of default entity listeners to be invoked
+ on each entity in the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="schema" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="catalog" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="cascade-persist"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners"
type="orm:entity-listeners"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for an entity. Is allowed to be
+ sparsely populated and used in conjunction with the annotations.
+ Alternatively, the metadata-complete attribute can be used to
+ indicate that no annotations on the entity class (and its fields
+ or properties) are to be processed. If this is the case then
+ the defaulting rules for the entity and its subelements will
+ be recursively applied.
+
+ @Target(TYPE) @Retention(RUNTIME)
+ public @interface Entity {
+ String name() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
minOccurs="0"/>
+ <xsd:element name="table" type="orm:table"
+ minOccurs="0"/>
+ <xsd:element name="secondary-table"
type="orm:secondary-table"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="id-class" type="orm:id-class"
minOccurs="0"/>
+ <xsd:element name="inheritance" type="orm:inheritance"
minOccurs="0"/>
+ <xsd:element name="discriminator-value"
type="orm:discriminator-value"
+ minOccurs="0"/>
+ <xsd:element name="discriminator-column"
+ type="orm:discriminator-column"
+ minOccurs="0"/>
+ <xsd:element name="sequence-generator"
type="orm:sequence-generator"
+ minOccurs="0"/>
+ <xsd:element name="table-generator"
type="orm:table-generator"
+ minOccurs="0"/>
+ <xsd:element name="named-query"
type="orm:named-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-native-query"
type="orm:named-native-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sql-result-set-mapping"
+ type="orm:sql-result-set-mapping"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="exclude-default-listeners"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-superclass-listeners"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners"
type="orm:entity-listeners"
+ minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist"
minOccurs="0"/>
+ <xsd:element name="post-persist"
type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove"
minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove"
minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update"
minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update"
minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load"
minOccurs="0"/>
+ <xsd:element name="attribute-override"
type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="association-override"
+ type="orm:association-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="attributes" type="orm:attributes"
minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="class" type="xsd:string"
use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete"
type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="attributes">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element contains the entity field or property mappings.
+ It may be sparsely populated to include only a subset of the
+ fields or properties. If metadata-complete for the entity is true
+ then the remainder of the attributes will be defaulted according
+ to the default rules.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="id" type="orm:id"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="embedded-id"
type="orm:embedded-id"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="basic" type="orm:basic"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="version" type="orm:version"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-one"
type="orm:many-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-many"
type="orm:one-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-one" type="orm:one-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-many"
type="orm:many-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embedded" type="orm:embedded"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="transient" type="orm:transient"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="access-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element determines how the persistence provider accesses the
+ state of an entity or embedded object.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="PROPERTY"/>
+ <xsd:enumeration value="FIELD"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity-listeners">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface EntityListeners {
+ Class[] value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="entity-listener"
type="orm:entity-listener"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity-listener">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines an entity listener to be invoked at lifecycle events
+ for the entities that list this listener.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="pre-persist" type="orm:pre-persist"
minOccurs="0"/>
+ <xsd:element name="post-persist"
type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove"
minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove"
minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update"
minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update"
minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load"
minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="pre-persist">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PrePersist {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-persist">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostPersist {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="pre-remove">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PreRemove {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-remove">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostRemove {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="pre-update">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PreUpdate {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-update">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostUpdate {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="post-load">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostLoad {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="method-name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="query-hint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface QueryHint {
+ String name();
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="value" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="named-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedQuery {
+ String name();
+ String query();
+ QueryHint[] hints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="named-native-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedNativeQuery {
+ String name();
+ String query();
+ QueryHint[] hints() default {};
+ Class resultClass() default void.class;
+ String resultSetMapping() default ""; //named
SqlResultSetMapping
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="result-class" type="xsd:string"/>
+ <xsd:attribute name="result-set-mapping"
type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="sql-result-set-mapping">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface SqlResultSetMapping {
+ String name();
+ EntityResult[] entities() default {};
+ ColumnResult[] columns() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="entity-result"
type="orm:entity-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="column-result"
type="orm:column-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface EntityResult {
+ Class entityClass();
+ FieldResult[] fields() default {};
+ String discriminatorColumn() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="field-result"
type="orm:field-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="entity-class" type="xsd:string"
use="required"/>
+ <xsd:attribute name="discriminator-column"
type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="field-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface FieldResult {
+ String name();
+ String column();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="column" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="column-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface ColumnResult {
+ String name();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Table {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="unique-constraint"
type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="secondary-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface SecondaryTable {
+ String name();
+ String catalog() default "";
+ String schema() default "";
+ PrimaryKeyJoinColumn[] pkJoinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="unique-constraint"
type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="unique-constraint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface UniqueConstraint {
+ String[] columnNames();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column-name" type="xsd:string"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Column {
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition"
type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ <xsd:attribute name="precision" type="xsd:int"/>
+ <xsd:attribute name="scale" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface JoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name"
type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition"
type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="generation-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TABLE"/>
+ <xsd:enumeration value="SEQUENCE"/>
+ <xsd:enumeration value="IDENTITY"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="attribute-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AttributeOverride {
+ String name();
+ Column column();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="association-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AssociationOverride {
+ String name();
+ JoinColumn[] joinColumns();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="join-column"
type="orm:join-column"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="id-class">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface IdClass {
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="id">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Id {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"
+ minOccurs="0"/>
+ <xsd:element name="generated-value"
type="orm:generated-value"
+ minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="table-generator"
type="orm:table-generator"
+ minOccurs="0"/>
+ <xsd:element name="sequence-generator"
type="orm:sequence-generator"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embedded-id">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface EmbeddedId {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute-override"
type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="transient">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Transient {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="version">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Version {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"
minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal"
minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="basic">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Basic {
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"
minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="lob" type="orm:lob"
minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal"
minOccurs="0"/>
+ <xsd:element name="enumerated"
type="orm:enumerated" minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="fetch-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum FetchType { LAZY, EAGER };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="LAZY"/>
+ <xsd:enumeration value="EAGER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="lob">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Lob {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="temporal">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Temporal {
+ TemporalType value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="orm:temporal-type"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="temporal-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum TemporalType {
+ DATE, // java.sql.Date
+ TIME, // java.sql.Time
+ TIMESTAMP // java.sql.Timestamp
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="DATE"/>
+ <xsd:enumeration value="TIME"/>
+ <xsd:enumeration value="TIMESTAMP"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="enumerated">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Enumerated {
+ EnumType value() default ORDINAL;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="orm:enum-type"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="enum-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum EnumType {
+ ORDINAL,
+ STRING
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ORDINAL"/>
+ <xsd:enumeration value="STRING"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="many-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ManyToOne {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="join-column"
type="orm:join-column"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="join-table"
type="orm:join-table"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="target-entity"
type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="cascade-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="cascade-all" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-persist"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-merge"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-remove"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-refresh"
type="orm:emptyType"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="one-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OneToOne {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="join-column"
type="orm:join-column"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="join-table"
type="orm:join-table"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="target-entity"
type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="one-to-many">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OneToMany {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default LAZY;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="join-table"
type="orm:join-table"
+ minOccurs="0"/>
+ <xsd:element name="join-column"
type="orm:join-column"
+ minOccurs="0"
maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="target-entity"
type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="join-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface JoinTable {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ JoinColumn[] joinColumns() default {};
+ JoinColumn[] inverseJoinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="join-column"
type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="inverse-join-column"
type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="unique-constraint"
type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="many-to-many">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ManyToMany {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default LAZY;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="target-entity"
type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="generated-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface GeneratedValue {
+ GenerationType strategy() default AUTO;
+ String generator() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="strategy"
type="orm:generation-type"/>
+ <xsd:attribute name="generator" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="map-key">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKey {
+ String name() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="order-by">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OrderBy {
+ String value() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="inheritance">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Inheritance {
+ InheritanceType strategy() default SINGLE_TABLE;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="strategy"
type="orm:inheritance-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="inheritance-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum InheritanceType
+ { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SINGLE_TABLE"/>
+ <xsd:enumeration value="JOINED"/>
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="discriminator-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface DiscriminatorValue {
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="discriminator-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum DiscriminatorType { STRING, CHAR, INTEGER };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="STRING"/>
+ <xsd:enumeration value="CHAR"/>
+ <xsd:enumeration value="INTEGER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="primary-key-join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface PrimaryKeyJoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ String columnDefinition() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name"
type="xsd:string"/>
+ <xsd:attribute name="column-definition"
type="xsd:string"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="discriminator-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface DiscriminatorColumn {
+ String name() default "DTYPE";
+ DiscriminatorType discriminatorType() default STRING;
+ String columnDefinition() default "";
+ int length() default 31;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="discriminator-type"
type="orm:discriminator-type"/>
+ <xsd:attribute name="column-definition"
type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embeddable">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for embeddable objects. Is
+ allowed to be sparsely populated and used in conjunction with
+ the annotations. Alternatively, the metadata-complete attribute
+ can be used to indicate that no annotations are to be processed
+ in the class. If this is the case then the defaulting rules will
+ be recursively applied.
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Embeddable {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
minOccurs="0"/>
+ <xsd:element name="attributes"
type="orm:embeddable-attributes"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string"
use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete"
type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embeddable-attributes">
+ <xsd:sequence>
+ <xsd:element name="basic" type="orm:basic"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="transient" type="orm:transient"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embedded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Embedded {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute-override"
type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="mapped-superclass">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for a mapped superclass. Is
+ allowed to be sparsely populated and used in conjunction with
+ the annotations. Alternatively, the metadata-complete attribute
+ can be used to indicate that no annotations are to be processed
+ If this is the case then the defaulting rules will be recursively
+ applied.
+
+ @Target(TYPE) @Retention(RUNTIME)
+ public @interface MappedSuperclass{}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
minOccurs="0"/>
+ <xsd:element name="id-class" type="orm:id-class"
minOccurs="0"/>
+ <xsd:element name="exclude-default-listeners"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-superclass-listeners"
type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners"
type="orm:entity-listeners"
+ minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist"
minOccurs="0"/>
+ <xsd:element name="post-persist"
type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove"
minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove"
minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update"
minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update"
minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load"
minOccurs="0"/>
+ <xsd:element name="attributes" type="orm:attributes"
minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string"
use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete"
type="xsd:boolean"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="sequence-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface SequenceGenerator {
+ String name();
+ String sequenceName() default "";
+ int initialValue() default 1;
+ int allocationSize() default 50;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="sequence-name"
type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="table-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface TableGenerator {
+ String name();
+ String table() default "";
+ String catalog() default "";
+ String schema() default "";
+ String pkColumnName() default "";
+ String valueColumnName() default "";
+ String pkColumnValue() default "";
+ int initialValue() default 0;
+ int allocationSize() default 50;
+ UniqueConstraint[] uniqueConstraints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="unique-constraint"
type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"
use="required"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ <xsd:attribute name="pk-column-name"
type="xsd:string"/>
+ <xsd:attribute name="value-column-name"
type="xsd:string"/>
+ <xsd:attribute name="pk-column-value"
type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </xsd:complexType>
+
+</xsd:schema>
+
+